pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/news/inn update from 2.5.1 -> 2.5.2



details:   https://anonhg.NetBSD.org/pkgsrc/rev/d1452c77367b
branches:  trunk
changeset: 574310:d1452c77367b
user:      spz <spz%pkgsrc.org@localhost>
date:      Tue Apr 13 21:18:00 2010 +0000

description:
update from 2.5.1 -> 2.5.2

Vendor update message (excerpt):

Many thanks to Julien ÉLIE for preparing this release.

Special notes:

The way checkpoints are handled by innreport for innd and innfeed has totally changed to provide more accurate daily statistics. The first Usenet report after an upgrade to INN 2.5.2 will probably 
contain incorrect statistics for incoming and outgoing articles because the beginning of the log files that will be used was generated by a previous version of INN.

A new version of innreport.conf is shipped with INN 2.5.2 but, in order to preserve any local changes, will not be automatically installed with make update. The changes are minor and not mandatory 
for the upgrade.

Changes from 2.5.1 to 2.5.2

    * Julien Elie has implemented in innd the new version of the NNTP protocol described in RFC 3977, RFC 4643 and RFC 4644, and innd now recognizes the CAPABILITIES command. Despite these standards, 
three commands (IHAVE, CHECK and TAKETHIS) will continue, for interoperability reasons, to return a reject code (respectively 435, 438, and 439) when the command contains a syntax error instead of 
501. The mandatory username argument for authenticated peers is not enforced in INN 2.5.2 but will be be enforced by INN 2.6.0 when it is released.

Major improvements are:

    * innd now has a decent parser for NNTP commands. The parser is more correct (commands like "IHAVEZ<>", without a space between the command and its argument, are no longer valid) and allows 
leading and trailing whitespaces in commands. innd also now checks the length of the NNTP command sent by the client. If the command contains more than 512 bytes (or 497 bytes for an argument), an 
error is returned and the command is discarded. After ten unrecognized commands, innd closes the connection with the appropriate code (400 instead of 500).
    * The output of the HELP command specifies the arguments expected by NNTP commands, similar to nnrpd's HELP command.
    * LIST ACTIVE, LIST ACTIVE.TIMES and LIST NEWSGROUPS now allow an optional wildmat argument to restrict the results of those commands to specific newsgroups.
    * When using HEAD or STAT with an article number or a range, 412 (no group selected) is now returned instead of 501 (syntax error).
    * Jeffrey M. Vinocur has implemented support in both innd and nnrpd for whitespace in usernames/passwords provided with AUTHINFO USER/PASS. They were previously treated as invalid arguments or 
incorrectly parsed. innd and nnrpd now treat everything after the first whitespace character following AUTHINFO USER/PASS, up to, but not including, the final CRLF, as the username/password, in 
conformity with RFC 4643.
    * The syntax of message-IDs is now based on RFC 5536 (USEFOR) instead of RFC 1036. The major change is that quoted-pairs have been removed from the syntax.
    * The Perl and Python filters for innd now check the message-ID of articles arriving through TAKETHIS. Only CHECK and IHAVE commands previously used them.
    * Case-insensitive matches are now used for distributions, path identities, IMAP commands, header names, and control commands. (Newsgroups are still matched case-sensitively.) Message-IDs are 
case-sensitively matched, except for history hashes.
    * The new Archive:, Archive-At:, Comments:, and Summary: header fields defined in RFC 5064 and RFC 5536 can be used in innd filters. nnrpd now checks at injection time that an article does not 
contain an Injection-Info: header, that an Injection-Date: header (if provided) is valid, and that the Path: header does not contain ".POSTED". Note that INN does not yet generate these two injection 
fields or include the new Path: header field ".POSTED" keyword. These new features will be in the next major release of INN.
    * LIST SUBSCRIPTIONS now accepts an optional wildmat argument to restrict the results of this command to specific newsgroups.
    * nnrpd now supports a new LIST variant named COUNTS. LIST COUNTS is a combination of LIST ACTIVE and GROUP. It returns the same result as LIST ACTIVE except that the number of articles in a 
newsgroup is inserted before its status.
    * A new flag has been added to newsfeeds entries: "Aj", when present, says to feed articles accepted and filed in "junk" (due to *wanttrash*) to peers based on their newsfeeds feed patterns 
applied to the Newsgroups: header as though the article were accepted and all those groups were locally carried. This is useful if you want to run INN with a minimal active file and propagate all 
posts. Thanks to Andrew Gierth for the patch.
    * A new parameter has been added to inn.conf: *logtrash* defines whether a line for articles posted to groups not locally carried by the news server should be added in the news log file to report 
unwanted newsgroups. The default is true but it can be useful to set it to false (especially when *wanttrash* is also used).
    * The procbatchdir keyword has been added to news.daily to specify the backlog directory of innfeed. This is useful when several instances of innfeed are running or when its configuration file is 
not the default one.
    * sm now supports a new flag, -c, which shows a decoded form of the storage API token. This was previously done by the contrib showtoken script developed by Olaf Titz and Marco d'Itri.
    * The O flag in newsfeeds now relies on the contents of the Injection-Info: header field if it is present to determine the origin of an article. It falls back on X-Trace: if there is no 
Injection-Info: header field.
    * A new "unsigned long" type bas been added to the configuration parser. It will properly warn the news administrator when a variable supposed to be positive contains a negative integer. It will 
prevent INN from crashing due to misconfiguration at several places where it did not expect negative values.
    * innxbatch and innxmit now recognize the new 403 code introduced by RFC 3977 for a problem preventing the requested action from being taken.
    * HDR and OVER commands now return the correct 423 code (instead of 420) when the current article number is used but the article no longer exists.
    * actsync, inews, innxbatch, innxmit, nntpget and rnews can now authenticate to news servers which only expect a username, without password, conforming to RFC 4643.
    * The keyword generation code now generates a Keywords: header only if the original article does not already have one. The generated Keywords: header no longer begins with a comma. If keyword 
generation is set to true in inn.conf but the Keywords: header is not stored in the overview, the news administrator is warned and keyword generation deactivated, since it exists only to populate the 
overview data.
    * Two segfaults in keyword generation were fixed. The first occurred when an article already had a Keywords: header longer than the *keylimit* parameter. The second was caused by a possible 
invalid pointer beyond the newly allocated Keywords: header.
    * Fixed innd handling of empty lines. innd was not properly discarding an empty command and was closing the connection when it received only whitespace in a command.
    * Fixed a bug in how innd responded to reader commands when readers were not allowed. A superfluous blank line was sent in its response.
    * Fixed a bug in innd's response to TAKETHIS when authentication is required. Previously, 480 code was returned immediately without accepting the multi-line data block first, which broke 
synchronization in the NNTP protocol.
    * Fixed a bug in recognizing the article terminator when empty articles were fed to innd via IHAVE or TAKETHIS, leading to treating subsequent NNTP commands as part of the article.
    * When innd could not provide information for LIST ACTIVE.TIMES and LIST NEWSGROUPS, it was returning an invalid error message without a response code. The proper 503 answer code is now returned.
    * When an unauthenticated user tried to post an article, nnrpd replied 440 (posting not allowed) instead of the correct 480 (authentication required) response if the user might be able to post 
after authentication. Thanks to Daniel Weber for the bug report.
    * Fixed a bug in both innd and nnrpd answers to LIST commands where the output was not checked for valid dot stuffing.
    * Fixed a bug leading to junked non-control articles being sent to control-only feeds, and also fixed handling of poisoned control groups. Thanks to Andrew Gierth for the patch.
    * Fixed a bug in innreport leading to incorrect summing of innd stats when *hostname* was set to an IPv6 address instead of a fully-qualified domain name. Thanks to Petr Novopashenniy for the bug 
report.
    * Changed how innreport uses innd and innfeed checkpoint messages. Previously, connections held open for multiple days led to skewed and incorrect statistics on how many articles had been 
received or sent. The count is now more accurate and, for each connection of a feed, only depends on *incominglogfrequency* in inn.conf and *stats-period* in innfeed.conf.
    * Fixed a bug in nnrpd Perl filter: a header field whose name begins with the name of a standardized header field was not properly handled.
    * Fixed a bug in how innd was parsing Message-ID: and Supersedes: headers which contained trailing whitespace. The article was corrupted by an unexpected "\r" in the middle of the header. nnrpd 
now checks the syntax of the Message-ID: header field, if present.
    * Fixed various bugs in how leading whitespace was treated in headers. The HDR, XHDR and XPAT commands were not properly showing leading whitespace in header values. Lone "\n" and "\r" characters 
are now changed into spaces and "\r\n" is just removed. archive, makehistory, and tdx-util now keep leading whitespace in headers when generating overview data, and archive now changes "\n" (when not 
preceded by "\r") into a space when generating overview data.
    * Fixed a bug in the generation of overview data which may corrupt previously generated overview data when a pseudo Xref: header field is injected in an extra overview field.
    * Fixed a bug in the parsing of the *ovgrouppat* wildmat in inn.conf that prevented overview data from being generated when poisoned groups were specified but a latter sub-pattern matched the 
group. A uwildmat expression is now correctly handled, and a potential segfault has been fixed. Thanks to Dieter Stussy for the bug report.
    * Fixed a bug when HDR, XHDR and XPAT were used when *virtualhost* was set to true in readers.conf. The Xref: header of articles posted to only one newsgroup appeared empty.
    * Fixed a bug in tdx-util in parsing empty overview fields when called with -A or -F.
    * Fixed a bug in cvtbatch, which was returning only the size of the headers of an article when the "b" parameter was used with the -w flag. It now correctly returns the size of the whole article, 
which is what "b" was documented to do. cvtbatch also has a new "t" parameter, which can be used with the -w flag to retrieve the arrival time of an article.
    * Fixed a bug in how mailpost handles cross-posting feature. It was not properly detaching from sendmail. Thanks to Harald Dunkel for the patch.
    * Fixed a bug in the newsfeeds C flag: the count of followup groups was one less than the real number. When the value of the Followup-To: header field is "poster", it is no longer considered to 
be a followup. Thanks to Dieter Stussy for the patch.
    * When using tradindexed, the overview data for a cancelled article is now immediately removed from the overview. Thanks to Lars Magne Ingebrigtsen for the patch.
    * batcher has not supported the retrieval of an article with its file name for a long time. The -S flag has therefore been removed.
    * inews no longer rejects articles that contain more than 50 header fields. Thanks to Torsten Jerzembeck for the bug report.
    * news.daily no longer sends superfluous mails when the nomail keyword is given. Mail is only sent when there is real output. Previously, there would always be headings and empty lines left over 
from the structuring of the full report, which are now ommitted. Also, the output of programs executed with postexec is now included in the regular mail. Thanks to Florian Schlichting for the patch.
    * innconfval no longer maps NULL string or list values to an empty string or list and instead maps them to undefined values. This fixes an issue reported by Kamil Jonca: nnrpd was inserting an 
empty Organization: header when the *organization* parameter in inn.conf was unset.
    * Other minor bug fixes and documentation improvements.

diffstat:

 news/inn/Makefile         |  71 ++++++++++++++++++++++------------------------
 news/inn/distinfo         |  10 +++---
 news/inn/options.mk       |   4 +-
 news/inn/patches/patch-ab |  24 +---------------
 4 files changed, 42 insertions(+), 67 deletions(-)

diffs (189 lines):

diff -r 45955b873dd6 -r d1452c77367b news/inn/Makefile
--- a/news/inn/Makefile Tue Apr 13 21:07:08 2010 +0000
+++ b/news/inn/Makefile Tue Apr 13 21:18:00 2010 +0000
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.102 2010/01/17 12:02:37 wiz Exp $
+# $NetBSD: Makefile,v 1.103 2010/04/13 21:18:00 spz Exp $
 
-DISTNAME=              inn-2.5.1
-PKGREVISION=           2
+DISTNAME=              inn-2.5.2
 CATEGORIES=            news
 MASTER_SITES=          ftp://ftp.isc.org/isc/inn/ \
                        ftp://ftp.fu-berlin.de/unix/news/inn/
@@ -18,7 +17,7 @@
 BUILD_DEFS+=           INN_DATA_DIR
 BUILD_DEFS+=           VARBASE
 
-FILES_SUBST+=          INN_DATA_DIR=${INN_DATA_DIR:Q}
+FILES_SUBST+=          INN_DATA_DIR=${INN_DATA_DIR}
 
 BUILD_DEFS+=           INN_PATHBIN
 FILES_SUBST+=          INN_PATHBIN=${PREFIX}/${INN_PATHBIN:Q}
@@ -46,14 +45,14 @@
                        --with-run-dir=${INN_DATA_DIR}/run              \
                        --includedir=${PREFIX}/include                  \
                        --with-spool-dir=${INN_SPOOL:Q}                 \
-                       --with-news-user=${INN_USER:Q}                  \
-                       --with-news-group=${INN_GROUP:Q}
-CONFIGURE_ENV+=                _PATH_AWK=${TOOLS_AWK:Q}
-CONFIGURE_ENV+=                _PATH_EGREP=${TOOLS_EGREP:Q}
-CONFIGURE_ENV+=                _PATH_SED=${TOOLS_SED:Q}
-CONFIGURE_ENV+=                _PATH_SH=${TOOLS_SH:Q}
-CONFIGURE_ENV+=                _PATH_SORT=${TOOLS_SORT:Q}
-CONFIGURE_ENV+=                GZIP=${TOOLS_GZIP_CMD:Q}
+                       --with-news-user=${INN_USER}                    \
+                       --with-news-group=${INN_GROUP}
+CONFIGURE_ENV+=                _PATH_AWK=${TOOLS_AWK}
+CONFIGURE_ENV+=                _PATH_EGREP=${TOOLS_EGREP}
+CONFIGURE_ENV+=                _PATH_SED=${TOOLS_SED}
+CONFIGURE_ENV+=                _PATH_SH=${TOOLS_SH}
+CONFIGURE_ENV+=                _PATH_SORT=${TOOLS_SORT}
+CONFIGURE_ENV+=                GZIP=${TOOLS_GZIP_CMD}
 USE_TOOLS+=            awk egrep gzip perl:run sed sh sort yacc
 
 LDFLAGS.SunOS+= -lsocket -lnsl
@@ -122,17 +121,17 @@
                        ${INN_USER} ${INN_GROUP} 0664
 .endfor
 
-CONF_FILES_PERMS+=      ${EXAMPLEDIR}/active.minimal ${INN_DATA_DIR}/db/active ${INN_USER} ${INN_GROUP} 0664
-CONF_FILES_PERMS+=      ${EXAMPLEDIR}/newsgroups.minimal ${INN_DATA_DIR}/db/newsgroups ${INN_USER} ${INN_GROUP} 0664
+CONF_FILES_PERMS+=     ${EXAMPLEDIR}/active.minimal ${INN_DATA_DIR}/db/active ${INN_USER} ${INN_GROUP} 0664
+CONF_FILES_PERMS+=     ${EXAMPLEDIR}/newsgroups.minimal ${INN_DATA_DIR}/db/newsgroups ${INN_USER} ${INN_GROUP} 0664
 
 DBFILES=               active.times history
 
 HTTPFILES=             innreport.css
 
-CONF_FILES_PERMS+=      ${EXAMPLEDIR}/innreport.css ${INN_DATA_DIR}/http/innreport.css ${INN_USER} ${INN_GROUP} 0664
+CONF_FILES_PERMS+=     ${EXAMPLEDIR}/innreport.css ${INN_DATA_DIR}/http/innreport.css ${INN_USER} ${INN_GROUP} 0664
 
 .for file in ${DBFILES}
-CONF_FILES_PERMS+=      ${EXAMPLEDIR}/${file} ${INN_DATA_DIR}/db/${file} \
+CONF_FILES_PERMS+=     ${EXAMPLEDIR}/${file} ${INN_DATA_DIR}/db/${file} \
                        ${INN_USER} ${INN_GROUP} 0664
 .endfor
 
@@ -155,31 +154,29 @@
 .include "options.mk"
 
 pre-install:
-       for FILE in ${CFILES} active.minimal newsgroups.minimal; do     \
-               ${INSTALL_DATA} ${WRKSRC}/site/$$FILE                   \
-                                       ${DESTDIR}${EXAMPLEDIR};        \
-       done
-       for FILE in ${DBFILES} ${HTTPFILES}; do                         \
-               ${TOUCH} ${WRKSRC}/site/$$FILE ;                        \
-               ${INSTALL_DATA} ${WRKSRC}/site/$$FILE                   \
-                                       ${DESTDIR}${EXAMPLEDIR};        \
-       done
+.for file in ${CFILES} active.minimal newsgroups.minimal
+       ${INSTALL_DATA} ${WRKSRC}/site/${file} ${DESTDIR}${EXAMPLEDIR}
+.endfor
+.for file in ${DBFILES} ${HTTPFILES}
+       ${TOUCH} ${WRKSRC}/site/${file}
+       ${INSTALL_DATA} ${WRKSRC}/site/${file} ${DESTDIR}${EXAMPLEDIR}
+.endfor
 
 post-install:
-       for FILE in cnfsstat ctlinnd makehistory innbind; do            \
-               ${RM} -f ${DESTDIR}${PREFIX}/sbin/$$FILE ;              \
-               ${LN} -s ${DESTDIR}${PREFIX}/${INN_PATHBIN}/$$FILE      \
-                               ${DESTDIR}${PREFIX}/sbin ;              \
-       done
-       ${RM} -f ${DESTDIR}${PREFIX}/sbin/inews ;
-       ${LN} -s ${DESTDIR}${PREFIX}/${INN_PATHBIN}/inews               \
+.for file in cnfsstat ctlinnd makehistory innbind
+       ${RM} -f ${DESTDIR}${PREFIX}/sbin/${file}
+       ${LN} -s ${DESTDIR}${PREFIX}/${INN_PATHBIN}/${file}     \
+                               ${DESTDIR}${PREFIX}/sbin
+.endfor
+       ${RM} -f ${DESTDIR}${PREFIX}/sbin/inews
+       ${LN} -s ${DESTDIR}${PREFIX}/${INN_PATHBIN}/inews       \
                        ${DESTDIR}${PREFIX}/bin
-       ${RM} -f ${DESTDIR}${PREFIX}/sbin/rnews ;
-       ${LN} -s ${DESTDIR}${PREFIX}/${INN_PATHBIN}/rnews               \
+       ${RM} -f ${DESTDIR}${PREFIX}/sbin/rnews
+       ${LN} -s ${DESTDIR}${PREFIX}/${INN_PATHBIN}/rnews       \
                        ${DESTDIR}${PREFIX}/bin
-       for FILE in libinn.a libstorage.a libinnhist.a ; do             \
-               ${CHMOD} 644 ${DESTDIR}${PREFIX}/lib/$$FILE ;           \
-       done
+.for file in libinn.a libstorage.a libinnhist.a
+       ${CHMOD} 644 ${DESTDIR}${PREFIX}/lib/${file}
+.endfor
 
 .include "../../security/openssl/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
diff -r 45955b873dd6 -r d1452c77367b news/inn/distinfo
--- a/news/inn/distinfo Tue Apr 13 21:07:08 2010 +0000
+++ b/news/inn/distinfo Tue Apr 13 21:18:00 2010 +0000
@@ -1,10 +1,10 @@
-$NetBSD: distinfo,v 1.25 2010/01/16 09:46:16 spz Exp $
+$NetBSD: distinfo,v 1.26 2010/04/13 21:18:00 spz Exp $
 
-SHA1 (inn-2.5.1.tar.gz) = e49a58a3484bbb7fd230b37ca17cc34eb10c10f1
-RMD160 (inn-2.5.1.tar.gz) = 8cb24ac4fcea299b02b2b0b043a4f5506b902c47
-Size (inn-2.5.1.tar.gz) = 2305406 bytes
+SHA1 (inn-2.5.2.tar.gz) = e7a9512acb5fa09ecdf116a4bde39c9f5efe65db
+RMD160 (inn-2.5.2.tar.gz) = 2fce7fade8bd8df3fe7f813b6feb37ff2b2bf07c
+Size (inn-2.5.2.tar.gz) = 2331916 bytes
 SHA1 (patch-aa) = 8ed86de4d20ab8510c7521528a9979c1d3e6d9e8
-SHA1 (patch-ab) = c48e442cc710f0655904c10031c2402e9dea7560
+SHA1 (patch-ab) = 5f98336273de9763c38df3bb122f141cbd16527a
 SHA1 (patch-ac) = 2b801b9b8c5eae1feacaa3532e78b4c46210f755
 SHA1 (patch-ad) = d36131ad21a1d8ea0edb463dfff6f1800dc8291d
 SHA1 (patch-ag) = ec28feef2392567cbc607e7b27fe85f1acd349a7
diff -r 45955b873dd6 -r d1452c77367b news/inn/options.mk
--- a/news/inn/options.mk       Tue Apr 13 21:07:08 2010 +0000
+++ b/news/inn/options.mk       Tue Apr 13 21:18:00 2010 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: options.mk,v 1.5 2009/12/16 22:10:25 spz Exp $
+# $NetBSD: options.mk,v 1.6 2010/04/13 21:18:00 spz Exp $
 
 PKG_OPTIONS_VAR=       PKG_OPTIONS.inn
 PKG_SUPPORTED_OPTIONS= inet6 perl python uucp
@@ -38,7 +38,7 @@
 ### Python support for INN
 ###
 .if !empty(PKG_OPTIONS:Mpython)
-CONFIGURE_ARGS+=       --with-python
+CONFIGURE_ARGS+=       --with-python
 CONFIGURE_ENV+=                _PATH_PYTHON=${PYTHONBIN:Q}
 
 .include "../../lang/python/application.mk"
diff -r 45955b873dd6 -r d1452c77367b news/inn/patches/patch-ab
--- a/news/inn/patches/patch-ab Tue Apr 13 21:07:08 2010 +0000
+++ b/news/inn/patches/patch-ab Tue Apr 13 21:18:00 2010 +0000
@@ -1,29 +1,7 @@
-$NetBSD: patch-ab,v 1.9 2009/12/16 22:10:25 spz Exp $
+$NetBSD: patch-ab,v 1.10 2010/04/13 21:18:00 spz Exp $
 
 --- scripts/news.daily.in.orig 2009-05-21 22:08:33.000000000 +0200
 +++ scripts/news.daily.in
-@@ -232,17 +232,17 @@ then
-     cd "${PATHSPOOL}/${INNFEEDSPOOL}"
- 
-     # Find the PIDs of innfeed.
--    LOCKS=`cat *.lock 2>/dev/null | ${SORT} -u`
-+    INNFEEDLOCKS=`cat *.lock 2>/dev/null | ${SORT} -u`
- 
-     # Process files like "innfeed-dropped.A001703" where
--    # 1703 is not in $LOCKS.
-+    # 1703 is not in $INNFEEDLOCKS.
-     for file in `find . -name "innfeed-dropped*" -print`
-     do
-         PID=`echo "$file" | ${SED} 's/^.*[A-Z]0*//'`
-         FOUND=false
--        for LOCK in $LOCKS
-+        for INNFEEDLOCK in $INNFEEDLOCKS
-         do
--            if [ "$PID" = "$LOCK" ]
-+            if [ "$PID" = "$INNFEEDLOCK" ]
-             then
-                 FOUND=true
-             fi
 @@ -256,6 +256,10 @@ fi
  
  cd ${PATHETC}



Home | Main Index | Thread Index | Old Index