- Previous versions of INN had an optimization for handling XHDR
Newsgroups that used the Xref header from overview. While this does
make the command much faster, it doesn't produce accurate results and
breaks the NNTP protocol, so this optimization has been removed.
- Fixed a bug in innd that allowed it to accept articles with duplicated
headers if the header occurred an odd number of times. Modified the
programs for rebuilding overview to use the last Xref header if there
are multiple ones to avoid problems with spools that contain such
invalid articles.
- Fixed yet another problem with verifying that a user has permissions
to approve posts to a moderated group. Thanks, Jens Schlegel.
- Increase the send and receive buffer on the Unix domain socket used by
ctlinnd. This should allow longer replies (particularly for innstat)
on platforms with very low default Unix domain socket buffer sizes.
- rnews's handling of articles with nul characters, NNTP errors, header
problems, and deferrals has been significantly improved.
- Thomas Parmelan added support to send-uucp for specifying the funnel
or exploder site to flush for feeds managed through one and fixed a
problem with picking up old stranded work files.
- INN is now licensed under a less restrictive license (about as
minimally restrictive as possible shy of public domain), and the
clause similar to the old BSD advertising clause has been dropped.
- make install and make update now always install the newly built
binaries, rather than only installing them if the modification times
are newer. This is the behavior that people expect. make install now
also automatically builds a new (empty) history database if one
doesn't already exist.
- The embedded Tcl filter code has been disabled (and will be removed
entirely in the next major release of INN). It hasn't worked for some
time and causes innd crashes if compiled in (even if not used). If
someone wants to step forward and maintain it, I recommend starting
from scratch and emulating the Perl and Python filters.
- ctlinnd should now successfully handle messages from INN up to the
maximum allowable packet size in the protocol, fixing problems sites
with many active peers were having with innstat output.
- Overview generation has been fixed in both makehistory and innd to
follow the rules in the latest NNTP draft rather than just replacing
special characters with spaces. This means that the unfolding of
folded header lines will not introduce additional, incorrect
whitespace in the overview data.
- nnrpd now uniformly responds with a 480 or 502 status code to attempts
to read a newsgroup to which the user does not have access, depending
on whether the user has authenticated. Previously, it returned a 411
status code, claiming the group didn't exist, which confuses the
reactive authentication capability of news readers.
- If a user is not authorized to approve articles (using the A access
control in readers.conf), articles that include Approved headers will
be rejected even if posted to unmoderated groups. Some other site may
consider that group to be moderated.
- The configuration parser used for readers.conf and others now
correctly handles "#" inside quoted strings and is more robust against
unmatched double quotes.
- Messages mailed to moderators had two spaces after the colons in the
headers, rather than one. This bug has been fixed.
- A bug that could cause heap corruption and random crashes in innd if
INN were compiled with Python support has been fixed.
- Some problems with innd's tracking of article size and enforcement of
the configured maximum article size have been fixed.
- pgpverify will now correctly verify signatures generated by GnuPG and
better supports GnuPG as the PGP implementation.
- INN's code should now be more 64-bit clean in its handling of size_t,
pointer differences, and casting of pointers, correcting problems that
showed up on 64-bit platforms like AMD64.
- Improved the error reporting in the history database code, in inews,
in controlchan, and in expire.
- Many other more minor bug fixes, optimization improvements, and
documentation fixes.
- Clients using POST are no longer permitted to provide an Injector-Info
header.
- Fixed a bug causing posts with Followup-To set to a moderated group to
be rejected if the posting user didn't have permission to approve
postings.
- Fixed bugs in inncheck with setuid rnews or setgid inews, in
innconfval with inn.conf parameters containing shell metacharacters
but no spaces, and in parsedate.y with some versions of yacc. Fixed a
variety of size-related printf format warnings (e.g., %d vs. %ld)
thanks to the work of Winfried Szukalski.
While INN 2.3.5 is not the latest officially released version it is the
latest one for which an IPv6 patch is available.
- LIST ACTIVE no longer returns data when given a single group argument
if the client is not authorized to read that group.
- XHDR and XPAT weren't correctly parsing article headers, resulting in
searches for the header "newsgroup" matching the header "newsgroups".
- Made CNFS more robust against crashes by actually syncing the cycbuff
headers to disk as was originally intended. Fixed a memory leak in
the tradspool code.
- Two bugs in pgpverify when using GnuPG were fixed: it now correctly
checks for gpgv (rather than pgp) when told to use GnuPG and expects
the keyring to be pubring.gpg (not pubring.pgp).
- Substantial updates to the sample provided control.ctl file.
- Compilation fixes with Perl 5.8.0, BerkeleyDB 4.x, current versions of
Linux (including with large file support), and Tru64. inndf fixes for
ReiserFS.
- Various bugs in the header handling in nnrpd have been fixed,
including hangs when using virtual domains and improper processing of
folded headers under certain circumstances.
- Other minor bug fixes and documentation improvements.
While INN 2.3.4 is not the latest officially released version it is the
latest one for which an IPv6 patch is available.
- pgpverify now supports using GnuPG to check signatures (rather than
PGP) without the pgpgpg wrapper. GnuPG can check both old-style RSA
signatures and new OpenPGP signatures and is recommended over PGP 2.6.
If you have GnuPG installed, pgpverify will use it rather than PGP,
which means that you may have to create a new key ring for GnuPG to
use to verify signatures if you were previously using PGP.
- An item that was noted in NEWS below but was inadvertently left out of
nnrpd has actually been added this time: users can no longer post
articles containing Approved: headers to moderated groups by default;
they must be specifically given that permission with the access:
parameter in readers.conf. See the man page for more details.
- Two bugs in repacking overview index files and a reliability bug with
writing overview data were all fixed in the tradindexed overview
method, hopefully making it somewhat more reliable, particularly for
makehistory.
- If rc.news.local exists in the INN binary directory, it will be run
with the start or stop argument whenever rc.news is run. This is
available as a hook for local startup and shutdown code.
- The default history table hash sizes were increased because a
too-small value can cause serious performance problems (whereas a
too-large hash just wastes a bit of disk space).
- The sample control.ctl file has been extensively updated.
- Wildmat exclusions (@ and !) should now work properly in storage.conf
newsgroup patterns.
- The implementation of the -w flag for expireover was fixed;
previously, the value given to -w to change expireover's notion of the
current time was scaled by too much.
- Various other more minor bug fixes, standards compliance fixes, and
documentation improvements.
- innxmit can again handle regular filenames as input as well as storage
API tokens (allowing it to be used to import an old traditional
spool).
- Several problems with tagged-hash history files have been fixed thanks
to the debugging efforts of Andrew Gierth and Sang-yong Suh.
- A very long-standing (since INN 1.0!) NNTP protocol bug in nnrpd was
fixed. The response to an ARTICLE command retrieving a message by
message ID should have the message ID as the third word of the
response, not the fourth. Fixing this is reported to *possibly* cause
problems with some Netscape browsers, but other news servers correctly
follow the protocol.
- Some serious performance problems with expiration of tradspool should
now be at least somewhat alleviated. tradspool and timehash now know
how to output file names for removal rather than tokens, and fastrm's
ability to remove regular files has been restored. This should bring
expiration times for tradspool back to within a factor of two of
pre-storage-API expiration times.
- An item that was actually changed in 2.3.0 but wasn't noted in NEWS
when it should have been: Users can no longer post articles
containing Approved: headers to moderated groups by default; they must
be specifically given that permission with the access: parameter in
readers.conf. See the man page for more details.
- Added a sample subscriptions file and documentation for it and
innmail.
The changes required for this update were contributed by Bernd Ernesti
in PR pkg/13299.