+++ /dev/null
-Changes in 2.4.5
-
- * Fixed the "alarm signal" around "SSL_read" in nnrpd: it allows a
- proper disconnection of news clients which were previously hanging
- when posting an article through a SSL connection. Moreover, the
- *clienttimeout* parameter now works on SSL connections. Thanks to
- Matija Nalis for the patch.
-
- * SO_KEEPALIVE is now implemented for SSL TCP connections on systems
- which support it, allowing system detection and closing the dead TCP
- SSL connections automatically after system-specified time. Thanks to
- Matija Nalis for the patch.
-
- * Fixed a segmentation fault when an article of a size greater than
- remaining stack is retrieved via SSL. Thanks to Chris Caputo for this
- patch.
-
- * Fixed a few segfaults and bugs which affected both Python innd and
- nnrpd hooks. They no longer check the existence of methods not used
- by the hooked script. An issue with Python exception handling was
- also fixed, as well as a segfault fixed by Russ Allbery which happened
- whenever one closes and then reopens Python in the same process.
- Julien Elie also fixed a bug when reloading Python filters (they were
- not always correctly reloaded) and a segfault when generating access
- groups with embedded Python filters for nnrpd. Many thanks to David
- Hlacik for its bug reports.
-
- * The nnrpd.py stub file in order to test Python nnrpd hooks, as
- mentioned in their documentation, is now installed; only INN.py was
- previously installed in *pathfilter*. Also fixed a bug in INN.py and
- add missing methods to it.
-
- * Fixed a long-standing bug in innreport which prevented it from
- correctly reporting nnrpd and innfeed log messages.
-
- * Fixed a hang in Perl hooks on (at least) HP/PA since Perl 5.10.
-
- * Fixed a compilation problem on some platforms because of AF_INET6
- which was not inside a HAVE_INET6 block in innfeed.
-
- * Fixed a bug in innfeed which contained thrice the same IPs for each
- peer; it unnecessarily slowed the peer IP rotation for innfeed.
- Thanks, D. Stussy, for having seen that. Miquel van Smoorenburg
- provided the patch.
-
- * A new *heavily* improved version of pullnews is shipped with this INN
- release. This new version is provided by Geraint Edwards. He added
- no more than 16 flags, fixed some bugs and integrated the backupfeed
- contrib script by Kai Henningsen, adding again 6 other flags. A
- long-standing but very minor bug in the -g option was especially fixed
- and items from the to-do list implemented. Many thanks again to
- Geraint Edwards.
-
- * New headers are accessible through Perl and Python innd filtering
- hooks. You will find the exact list in the INN Python Filtering and
- Authentication Hooks documentation (doc/hook-python) and in Python
- samples. Thanks to Matija Nalis for this addition of new useful
- headers.
-
- * New samples for Python nnrpd hooks are shipped with INN:
- nnrpd_access.py for access control and nnrpd_dynamic.py for dynamic
- access control. The nnrpd_auth.py script is now only used for
- authorization control. See the readers.conf man page for more
- information (especially the *python_auth*, *python_access* and
- *python_dynamic* parameters). The documention about INN Python
- Filtering and Authentication Hooks has also been improved by Julien
- Elie.
-
-Changes in 2.4.4
-
- * Fixed incomplete checking of packet sizes in the ctlinnd interface in
- the no-Unix-domain-sockets case. This is a potential buffer overflow
- in dead code since basically all systems INN builds on support Unix
- domain sockets these days. Also track the buffer size more correctly
- in the client side of this interface for the Unix domain socket case.
-
- * Group blocks in incoming.conf are now correctly parsed and no longer
- cause segfaults when loading this file.
-
- * Fixed a problem with innfeed continuously segfaulting on amd64
- hardware (and possibly on lots of 64-bit platforms). Many thanks to
- Ollivier Robert for his patch and also to Kai Gallasch for having
- reported the problem and provided the FreeBSD server to debug it.
-
- * scanlogs now rotates innfeed's log file, which prevents innfeed from
- silently dying when its log file reaches 2 GB.
-
- * Perl 5.10 support has been added to INN thanks to Jakub Bogusz.
-
- * Some news clients hang when posting an article through a SSL
- connection: it seems that nnrpd's SSL routines make it wrongly wait
- for data completion. In order to fix the problem, the select() wait
- is now just bypassed. However, the IDLE timer stat is currently not
- collected for such connections. Thanks to Kachun Lee for this
- workaround.
-
- * Fixed a bug in the display of the used compressor ("cunbatch" was used
- if arguments were passed to gzip or bzip2).
-
- * Fixed a bug in mailpost and pullnews which prevented useful error
- messages to be seen. Also add the -x flag to pullnews in order to
- insert Xref: headers in articles which lack one.
-
- * If compiling with Berkeley DB, use its ndbm compatibility layer for
- ckpasswd in preference to searching for a traditional dbm library.
- INN also supports Berkeley DB 4.4, 4.5 and 4.6 thanks to Marco d'Itri.
-
- * ovdb_init now properly closes stdin/out/err when it becomes a daemon.
- The issue was reported by Viktor Pilpenok and fixed by Marco d'Itri.
-
- * Added support for Diablo quickhash and hashfeed algorithms. It allows
- to distribute the messages among several peers (new Q flag for
- newsfeeds). Thanks to Miquel van Smoorenburg for this implementation
- in INN.
-
- * innd now listen on separate sockets for IPv4 and IPv6 connections if
- the IPV6_V6ONLY socket option is available. There might also be
- operating systems that still have separate IPv4 and IPv6 TCP
- implementations, and advanced features like TCP SACK might not be
- available on v6 sockets. Thanks to Miquel van Smoorenburg for this
- patch.
-
- * The two configuration options *bindaddress* and *bindaddress6* can now
- be set on a per-peer basis for innfeed. Setting *bindaddress6* to
- "none" tells innfeed to never attempt an IPv6 connection to that host.
- Thanks to Miquel van Smoorenburg for this patch.
-
- * Added a *nnrpdflags* parameter to inn.conf (modeled on the concept of
- *innflags*) to permit passing of command line arguments to instances
- of nnrpd spawned from innd.
-
- * A new inn.conf parameter called *pathcluster* has been added: it
- allows to append a common name to the Path: header on all incoming
- articles. *pathhost* and *pathalias* (if set) are still appended to
- the path as usual, but *pathcluster* is always appended as the last
- element (e.g. on the leftmost side of the Path: header). Thanks to
- Miquel van Smoorenburg for this feature.
-
- * simpleftp has been rewritten to use "Net::FTP". Indeed, ftp.pl is no
- longer shipped with Perl 5 and the script did not work.
-
- * perl-nocem will now check for a timeout and re-open the socket if
- required. Additionally, perl-nocem will switch to cancel_ctlinnd in
- case cancel_nntp fails after sending the Message-ID. Thanks to
- Christoph Biedl for the patch. A more detailed documentation has also
- been written for perl-nocem(8).
-
- * The RADIUS configuration is now wrapped in a "server {}" block in
- radius.conf.
-
- * Checkgroups when there is nothing to change no longer result in
- sending a blank mail to administrators. Besides, no mail is sent by
- controlchan for the creation of a newsgroup when the action is "no
- change".
-
- * Checkgroups are now properly propagated even though the news server
- does not carry the groups they are posted to.
-
- * controlchan and docheckgroups now handle wire format messages so that
- articles from the spool can be directly fed to them.
-
- * Newgroup control messages for existing groups now change their
- description. If a mail is sent to administrators, it reminds them to
- update their newsgroups file. It also warns when there are missing or
- obsolete descriptions. Furthermore, the newsgroups file is now
- written prettier (from one to three tabulations between the name of
- the group and its short description) and to.* groups cannot be
- created.
-
- * The sample control.ctl file has been extensively updated.
-
- * Fixed empty LISTGROUP replies which were not terminated. Thanks to
- David Canzi for the patch.
-
- * In response to a LIST [file] command, if the file does not exist, we
- assume it is not maintained and return 503 instead of 215 and an empty
- file. Moreover, capability to LIST ACTIVE.TIMES for a wildmat pattern
- as its third argument has been added in order to select wanted
- newsgroups.
-
- * inews now tries to authenticate if it does not receive a 200 return
- code after MODE READER. Indeed, it might be able to post even with a
- 201 return code and also with another codes like 440 or 480.
-
- * If creating a new history file, set the ownership and mode
- appropriately. inncheck also expects fewer things to be private to
- the news user. Most of the configuration files will never contain
- private information like passwords.
-
- * Other minor bug fixes and documentation improvements.
-
-Changes in 2.4.3
-
- * 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.
-
- * Many other more minor bug fixes, optimization improvements, and
- documentation fixes.
-
-Changes in 2.4.2
-
- * 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 bugs have also been fixed.
-
-Changes in 2.4.1
-
- * SECURITY: Handle the special filing of control messages into per-type
- newsgroups more robustly. This closes a potentially exploitable
- buffer overflow. Thanks to Dan Riley for his excellent bug report.
-
- * Fixed article handling in innd so that articles without a Path: header
- (arising from peers sending malformatted articles or injecting
- malformatted articles through rnews) would not cause innd to crash.
- (This was not exploitable.)
-
- * Fixed a serious bug in XPAT handling, thanks to Tommy van Leeuwen.
-
- * "configure" now looks for sendmail only in /usr/sbin and /usr/lib, not
- on the user's path. This should reduce the need for --with-sendmail
- if your preferred sendmail is in a standard location.
-
- * The robustness of the tradindexed overview method has been further
- increased, handling more edge cases arising from corrupted databases
- and oddly-named newsgroups.
-
- * innd now never decreases the high water mark of a newsgroup when
- renumbering, which should help ameliorate overview and active file
- synchronization problems.
-
- * Do not close and reopen the history file on ctlinnd reload when the
- server is paused or throttled. This was breaking ctlinnd reload all
- during a server pause.
-
- * Various minor portability and compilation issues fixed. Substantial
- numbers of compiler warnings have been cleaned up, thanks largely to
- work by Ilya Kovalenko.
-
- * Multiple other more minor bugs have been fixed.
-
- * Documentation and man pages have been clarified and updated.
-
-Upgrading from 2.3 to 2.4
-
- The inn.conf parser has changed between INN 2.3 and 2.4. Due to that
- change, options in inn.conf that contain whitespace or a few other
- special characters must be quoted with double quotes, and empty
- parameters (parameters with no value) are not allowed. INN 2.4 comes
- with a script, innupgrade, run automatically during "make update", that
- will attempt to fix any problems that it finds with your inn.conf file,
- saving the original as inn.conf.OLD.
-
- This change is the beginning of standardization of parsing and syntax
- across all of INN's configuration files.
-
- The history subsystem now has a standard API that allows other backends
- to be used. Because of this, you now need to specify the history method
- in inn.conf. Adding:
-
- hismethod: hisv6
-
- will tell INN to use the same history backend as was used in previous
- versions. innupgrade should take care of this for you.
-
- ovdb is known to have some locking and timing issues related to how
- nnrpd shuts down (or fails to shut down) the overview databases. If you
- have stability problems with ovdb, try setting *readserver* to "true" in
- ovdb.conf. This will funnel all ovdb reads through a single process
- with a cleaner interface to the underlying Berkeley DB database.
-
- If you use Perl authentication for nnrpd (if *nnrpdperlauth* in inn.conf
- is "true"), there have been major changes. See "Changes to Perl
- Authentication Support for nnrpd" in doc/hook-perl for details.
-
- Similarly, if you use Python authentication for nnrpd (if
- *nnrpdpythonauth* in inn.conf is "true"), there have been major changes.
- See "Changes to Python Authentication and Access Control Support for
- nnrpd" in doc/hook-python for details.
-
- If you use send-uucp, it has been completely rewritten and now takes a
- configuration file to specify its behavior. See its man page for more
- information. If you use sendbatch, it is no longer included in INN
- since the new send-uucp can handle all of the same functionality.
-
- The wildmat API has been renamed (to uwildmat and friends; see
- uwildmat(3) for the interfaces) to distinguish it from Rich $alz's
- original version, since it now supports UTF-8. This may require changes
- in other software packages that link against INN's libraries.
-
- If you are upgrading from a version prior to INN 2.3, see "Upgrading
- from 2.2 to 2.3".
-
-Changes in 2.4.0
-
- * IPv6 support has been added, disabled by default. If you have IPv6
- connectivity, build with --enable-ipv6 to try it. There are no known
- bugs, but please report any problems you find (or even successes, if
- you use an unusual platform). There are a few changes of interest;
- further information is available in doc/IPv6-info.
-
- * The tradindexed overview method has been completely rewritten and
- should be considerably more robust in the face of system crashes. A
- new utility, tdx-util, is provided to examine the contents of the
- overview database, repair inconsistencies, and rebuild the overview
- for particular groups from a tradspool news spool. See tdx-util(8)
- for more details.
-
- * The Perl and Python authentication hooks for readers have been
- extensively overhauled and integrated better with readers.conf. See
- the Changes sections in doc/hook-perl and doc/hook-python for more
- details.
-
- * nnrpd now optionally supports article injection via IHAVE, see
- readers.conf(5). Any articles injected this way must have Date, From,
- Message-ID, Newsgroups, Path, and Subject headers. X-Trace and
- X-Complaints-To headers will be added if the appropriate options are
- set in readers.conf, but other headers will not be modified/inserted
- (e.g. NNTP-Posting-Host, NNTP-Posting-Date, Organization, Lines, Cc,
- Bcc, and To headers).
-
- * nnrpd now handles arbitrarily long lines in POST and IHAVE;
- administrators who want to limit the length of lines in locally posted
- articles will need to add this to their local filters instead.
-
- * nnrpd no longer handles the poorly-specified RFC 977 optional fourth
- argument to the NEWGROUPS command specifying the "distributions" that
- the command was supposed to apply to.
-
- Clients that use that argument will break. There are not believed to
- be any such clients, and it's easy enough to just filter the returned
- list of newsgroups (which is generally fairly short) to achieve the
- same results.
-
- * nnrpd no longer accepts UTC as a synonym for GMT for NEWGROUPS or
- NEWNEWS. This usage was never portable, and was rejected by the NNTP
- working group. It is being removed now in the hope that it will be
- caught before anyone starts to rely on it.
-
- * innfeed supports a new peer parameter, *backlog-feed-first*, that if
- set to "true" feeds any backlog to a peer before new articles, see
- innfeed.conf(5). When used in combination with *max-connections* set
- to 1, this can be used to enforce in-order delivery of messages to a
- peer that is doing Xref slaving, avoiding cases where a
- higher-numbered message is received before a lower-numbered message in
- the same group.
-
- * Several other, more minor protocol issues have been fixed:
- connections rejected due to the connection rate limiting in innd
- receive 400 replies instead of 504 or 505, and ARTICLE without an
- argument will always either retrieve the current article or return a
- 423 error, never advance the current article number to the next valid
- article.
-
- See doc/compliance-nntp for all of the known issues with INN's
- compliance with the current NNTP draft.
-
- * All accesses to the history file for all parts of INN now go through a
- generic API like the storage and overview subsystems do. This will
- eventually allow new history implementations to be dropped in without
- affecting the rest of INN, and will significantly improve the
- encapsulation of the history subsystem. See the libinnhist(3) man
- page for the details of the interface.
-
- * INN now uses a new parser for the inn.conf file. This means that
- parameters containing whitespace or other special characters must now
- be quoted; see inn.conf(5). It fixes the long-standing bug that
- certain values must be included in inn.conf even if using the defaults
- for the use of shell or Perl scripts, and it will serve as the basis
- for standardizing and cleaning up the configuration file parsing in
- other parts of INN. innupgrade is run during "make update" and should
- convert an existing inn.conf file for you.
-
- * send-uucp has been replaced by a completely rewritten version from
- Marco d'Itri, Edvard Tuinder, and Miquel van Smoorenburg, which uses a
- configuration file that specifies batch sizes, compression methods,
- and hours during which batches should be generated. The old sendbatch
- script has been retired, since send-uucp can now handle everything
- that it did.
-
- * Two "configure" options have changed names: --with-tmp-path is now
- --with-tmp-dir, and --with-largefiles is now --enable-largefiles, to
- improve consistency and better match the "autoconf" option guidelines.
-
- * Variables can now be used in the newsfeeds file to make it easier to
- specify many similar feeds or feed patterns. See the newsfeeds(5) man
- page for details.
-
- * Local connections to INN support a new special mode, MODE CANCEL, that
- allows efficient batch cancellation of messages. This is intended to
- be the preferred interface for external spam and abuse filters like
- NoCeM. See "CANCEL FEEDS" in innd(8) for details.
-
- * Two new options, *nfsreader* and *nfswriter*, have been added to
- inn.conf to aid in building NFS based shared reader/writer platforms.
- On the writer server configure *nfswriter* to "true" and on all of the
- readers configure *nfsreader* to "true"; these options add calls to
- force data out to the NFS server and force it to be read directly from
- the NFS server at the appropriate moments. Note that it has only been
- tested on Solaris 8, using CNFS as the storage mechanism and
- tradindexed as the overview method.
-
- * A new option, *tradindexedmmap*, has been added to inn.conf. If set
- to "true" (the default), then the tradindexed overview method will use
- mmap() to access its overview data (in 2.3 you couldn't control this;
- it always used mmap).
-
- * Thanks to code contributed by CMU, innfeed can now feed an IMAP server
- as well as other NNTP servers. See the man page for innfeed(8) for
- more information.
-
- * An authenticator, auth_smb, that checks a username and password
- against a remote Samba server is now included. See auth_smb(8) for
- details.
-
- * The wildmat functions in INN now support UTF-8, in a way that should
- allow them to still work with most simple 8-bit character sets in
- widespread use. As part of this change, some additional wildmat
- interfaces are now available and the names have changed (to uwildmat,
- where "u" is for Unicode). See uwildmat(3) for the details.
-
- * The interface between external authenticators and nnrpd is now
- properly documented, in doc/external-auth. A library implementing
- this interface in C is provided, which should make it easier to write
- additional authenticators resolvers. See libauth(3) for details, and
- any of the existing programs in authprogs/ for examples.
-
- * Most (if not all) of the temporary file creation in INN now uses
- functions that create temporary files properly and safely.
-
-Changes in 2.3.5
-
- * 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.
-
-Changes in 2.3.4
-
- * 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, Berkeley DB 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.
-
-Changes in 2.3.3
-
- * 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.
-
- * 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.
-
-Changes in 2.3.2
-
- * 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.
-
- * Added a sample subscriptions file and documentation for it and
- innmail.
-
-Changes in 2.3.1
-
- * inews no longer downloads the active file, no longer tries to send
- postings to moderated groups to the moderator directly, and in general
- duplicates less of the functionality of nnrpd, instead letting nnrpd
- handle it. This fixes the problem of inews not working properly for
- users other than news without being setgid.
-
- * Added a man page for ckpasswd.
-
- * A serious bug in the embedded Perl authentication hooks was fixed,
- thanks to Jan Rychter.
-
- * The annoying compilation problem with embedded Perl filtering on Linux
- systems without libgdbm installed should be fixed.
-
- * INN now complains loudly at "configure" time if the configured path
- for temporary files is world-writeable, since this configuration can
- be a security hole.
-
- * Many other varied bug fixes and documentation fixes of all sorts.
-
-Upgrading from 2.2 to 2.3
-
- There may be additional things to watch out for not listed here; if you
- run across any, please let <inn-bugs@isc.org> know about them.
-
- Simply doing a "make update" is not sufficient to upgrade; the history
- and overview information will also have to be regenerated, since the
- formats of both files have changed between 2.2 and 2.3. Regardless of
- whether you were using the storage API or traditional spool under 2.2,
- you'll need to rebuild your overview and history files. You will also
- need to add a storage.conf file, if you weren't using the storage API
- under INN 2.2. A good default storage.conf file for 2.2 users would be:
-
- method tradspool {
- newsgroups: *
- class: 0
- }
-
- Create this storage.conf file before rebuilding history or overview.
-
- If you want to allow readers, or if you want to expire based on
- newsgroup name, you need to tell INN to generate overview data and pick
- an overview method by setting *ovmethod* in inn.conf. See INSTALL and
- inn.conf(5) for more details.
-
- The code that generates the dbz index files has been split into a
- separate program, makedbz. makehistory still generates the base history
- file and the overview information, but some of its options have been
- changed. To rebuild the history and overview files, use something like:
-
- makehistory -b -f history.n -O -T /usr/local/news/tmp -l 600000
-
- (change the /usr/local/news/tmp path to some directory that has plenty
- of temporary space, and leave off -O if you're running a transit-only
- server and don't intend to expire based on group name, and therefore
- don't need overview.) Or if your overview is buffindexed, use:
-
- makehistory -b -f history.n -O -F
-
- Both will generate a new history file as history.n and rebuild overview
- at the same time. If you want to preseve a record of expired
- Message-IDs in the history file, run:
-
- awk 'NF==2 { print; }' < history >> history.n
-
- to append them to the new history file you created above. Look over the
- new history file and make sure it looks right, then generate the new
- index files and move them into place:
-
- makedbz -s `wc -l < history.n` -f history.n
- mv history.n history
- mv history.n.dir history.dir
- mv history.n.hash history.hash
- mv history.n.index history.index
-
- (Rather than .hash and .index files, you may have a .pag file if you're
- using tagged hash.)
-
- For reader machines, nnrp.access has been replaced by readers.conf.
- There currently isn't a program to convert between the old format and
- the new format (if you'd like to contribute one, it would be welcomed
- gratefully). The new file is unfortunately considerably more complex as
- a result of its new capabilities; please carefully read the example
- readers.conf provided and the man page when setting up your initial
- configuration. The provided commented-out examples cover the most
- common installation (IP-based authentication for all machines on the
- local network).
-
- INN makes extensive use of mmap(2) for the new overview mechanisms, so
- at the present time NFS-mounting the spool and overview on multiple
- reader machines from one central server probably isn't feasible in this
- version. mmap tends to interact poorly with NFS (at the least, NFS
- clients won't see updates to the mapped files in situations where they
- should). (The preferred way to fix this would, rather than backing out
- the use of mmap or making it optional, to add support for Diablo-style
- header feeds and pull-on-demand of articles from a master server.)
-
- The flags for overchan have changed, plus you probably don't want to run
- overchan at all any more. Letting innd write overview data itself
- results in somewhat slower performance, but is more reliable and has a
- better failure mode under high loads. Writing overview data directly is
- the default, so in a normal upgrade from 2.2 to 2.3 you'll want to
- comment out or remove your overchan entry in newsfeeds and set
- *useoverchan* to "false" in inn.conf.
-
- crosspost is no longer installed, and no longer works (even with
- traditional spool). If you have an entry for crosspost in newsfeeds,
- remove it.
-
- If you're importing a traditional spool from a pre-storage API INN
- server, it's strongly recommended that you use NNTP to feed the articles
- to your new server rather than trying to build overview and history
- directly from the old spool. It's more reliable and ensures that
- everything gets put into the right place. The easiest way to do this is
- to generate, on your old server, a list of all of your existing article
- files and then feed that list to innxmit. Further details can be found
- in the FAQ at <http://www.eyrie.org/~eagle/faqs/inn.html>.
-
- If you are using a version of Cleanfeed that still has a line in it
- like:
-
- $lines = $hdr{'__BODY__'} =~ tr/\n/\n/;
-
- you will need to change this line to:
-
- $lines = $hdr{'__LINES__'};
-
- to work with INN 2.3 or later. This is due to an internal optimization
- of the interface to embedded filters that's new in INN 2.3.
-
-Changes in 2.3.0
-
- * New readers.conf file (replaces nnrp.access) which allows more
- flexible specification of access restrictions. Included in the sample
- implementations is a RADIUS-based authenticator.
-
- * Unified overview has been replaced with an overview API, and there are
- now three separate overview implementations to choose from. One
- (tradindexed) is very like traditional overview but uses an additional
- index file. The second (buffindexed) uses large buffers rather than
- separate files for each group and can handle a higher incoming article
- rate while still being fast for readers. The third (ovdb) uses
- Berkeley DB to store overview information (so you need to have
- Berkeley DB installed to use it). The *ovmethod* key in inn.conf
- chooses the overview method to use.
-
- Note that ovdb has not been as widely tested as the other overview
- mechanisms and should be considered experimental.
-
- * All article storage and retrieval is now done via the storage API.
- Traditional spool is now available as a storage type under the storage
- API. (Note that the current traditional spool implementation causes
- nightly expire to be extremely slow for a large number of articles, so
- it's not recommended that you use the tradspool storage method for the
- majority of a large spool.)
-
- * The timecaf storage method has been added, similar to timehash but
- storing multiple articles in a single file. See INSTALL for details
- on it.
-
- * INN now supports embedded Python filters as well as Perl and Tcl
- filters, and supports Python authentication hooks.
-
- * There is preliminary support for news reading over SSL, using OpenSSL.
-
- * To simplify anti-abuse filtering, and to be more compliant with news
- standards and proposed standards, INN now treats as control messages
- only articles containing a Control: header. A Subject: line beginning
- with "cmsg " is no longer sufficient for a message to be considered a
- control message, and the Also-Control: header is no longer supported.
-
- * The INN build system no longer uses subst. (This will be transparent
- to most users; it's an improvement and modernization of how INN is
- configured.)
-
- * The build and installation system has been substantially overhauled.
- "make update" now updates scripts as well as binaries and
- documentation, there is better support for parallel builds ("make
- -j"), there is less "make" recursion, and far more of the
- system-dependent configuration is handled directly by "autoconf".
- libtool build support (including shared library support) should be
- better than previous releases.
-
-Changes in 2.2.3
-
- * inews is not installed setgid news and rnews is not installed setuid
- root by default any more. If you need the old permissions, you have
- to give a flag to configure. See INSTALL for more details.
-
- * Fixed a security hole when *verifycancels* was enabled in inn.conf
- (not the default).
-
- * Message-IDs are now limited to 250 octets to prevent interoperability
- problems with other servers.
-
- * Embedded Perl filters now work with Perl 5.6.0.
-
- * Lots of bug fixes and changes for security paranoia.
-
-Changes in 2.2.2
-
- * Various minor bug fixes and a Y2K bug fix. The Y2K bug is in version
- version 2.2.1 only and will show up after Jan 1st, 2000 when a news
- reader issues a NEWNEWS command for a date prior to the year 2000.
-
-Changes in 2.2.1
-
- * Various bug fixes, mostly notably fixes for potential buffer overflow
- security vulnerabilities.
-
-Changes in 2.2.0
-
- * New storage.conf file (replaces storage.ctl).
-
- * New (optional) way of handling non-cancel control messages
- (controlchan) that serializes them and prevents server overload from
- control message storms.
-
- * Support for actsyncd to fetch active file with ftp; configured by
- default to use <ftp://ftp.isc.org/pub/usenet/CONFIG/active.Z> if you
- run actsyncd. Be sure to read the manual page for actsync to
- configure an actsync.ign file for your site, and test simpleftp if you
- do not "configure" with wget or ncftp. Also see
- <ftp://ftp.isc.org/pub/usenet/CONFIG/README>.
-
- * Some options to "configure" are now moved to inn.conf
- (*merge-to-groups* and *pgp-verify*, without the hyphen).
-
- * inndf, a portable version of df(1), is supplied.
-
- * New cnfsstat program to show stats of CNFS buffers.
-
- * news2mail and mailpost programs for gatewaying news to mail and mail
- to news are supplied.
-
- * pullnews program for doing a sucking feed is provided (not meant for
- large feeds).
-
- * The innshellvars.csh.in script is obsolete (and lives in the obsolete
- directory, for now).
-