head 1.5; access; symbols pkgsrc-2026Q1:1.5.0.4 pkgsrc-2026Q1-base:1.5 pkgsrc-2025Q4:1.5.0.2 pkgsrc-2025Q4-base:1.5 pkgsrc-2025Q3:1.4.0.20 pkgsrc-2025Q3-base:1.4 pkgsrc-2025Q2:1.4.0.18 pkgsrc-2025Q2-base:1.4 pkgsrc-2025Q1:1.4.0.16 pkgsrc-2025Q1-base:1.4 pkgsrc-2024Q4:1.4.0.14 pkgsrc-2024Q4-base:1.4 pkgsrc-2024Q3:1.4.0.12 pkgsrc-2024Q3-base:1.4 pkgsrc-2024Q2:1.4.0.10 pkgsrc-2024Q2-base:1.4 pkgsrc-2024Q1:1.4.0.8 pkgsrc-2024Q1-base:1.4 pkgsrc-2023Q4:1.4.0.6 pkgsrc-2023Q4-base:1.4 pkgsrc-2023Q3:1.4.0.4 pkgsrc-2023Q3-base:1.4 pkgsrc-2023Q2:1.4.0.2 pkgsrc-2023Q2-base:1.4 pkgsrc-2023Q1:1.3.0.70 pkgsrc-2023Q1-base:1.3 pkgsrc-2022Q4:1.3.0.68 pkgsrc-2022Q4-base:1.3 pkgsrc-2022Q3:1.3.0.66 pkgsrc-2022Q3-base:1.3 pkgsrc-2022Q2:1.3.0.64 pkgsrc-2022Q2-base:1.3 pkgsrc-2022Q1:1.3.0.62 pkgsrc-2022Q1-base:1.3 pkgsrc-2021Q4:1.3.0.60 pkgsrc-2021Q4-base:1.3 pkgsrc-2021Q3:1.3.0.58 pkgsrc-2021Q3-base:1.3 pkgsrc-2021Q2:1.3.0.56 pkgsrc-2021Q2-base:1.3 pkgsrc-2021Q1:1.3.0.54 pkgsrc-2021Q1-base:1.3 pkgsrc-2020Q4:1.3.0.52 pkgsrc-2020Q4-base:1.3 pkgsrc-2020Q3:1.3.0.50 pkgsrc-2020Q3-base:1.3 pkgsrc-2020Q2:1.3.0.46 pkgsrc-2020Q2-base:1.3 pkgsrc-2020Q1:1.3.0.26 pkgsrc-2020Q1-base:1.3 pkgsrc-2019Q4:1.3.0.48 pkgsrc-2019Q4-base:1.3 pkgsrc-2019Q3:1.3.0.44 pkgsrc-2019Q3-base:1.3 pkgsrc-2019Q2:1.3.0.42 pkgsrc-2019Q2-base:1.3 pkgsrc-2019Q1:1.3.0.40 pkgsrc-2019Q1-base:1.3 pkgsrc-2018Q4:1.3.0.38 pkgsrc-2018Q4-base:1.3 pkgsrc-2018Q3:1.3.0.36 pkgsrc-2018Q3-base:1.3 pkgsrc-2018Q2:1.3.0.34 pkgsrc-2018Q2-base:1.3 pkgsrc-2018Q1:1.3.0.32 pkgsrc-2018Q1-base:1.3 pkgsrc-2017Q4:1.3.0.30 pkgsrc-2017Q4-base:1.3 pkgsrc-2017Q3:1.3.0.28 pkgsrc-2017Q3-base:1.3 pkgsrc-2017Q2:1.3.0.24 pkgsrc-2017Q2-base:1.3 pkgsrc-2017Q1:1.3.0.22 pkgsrc-2017Q1-base:1.3 pkgsrc-2016Q4:1.3.0.20 pkgsrc-2016Q4-base:1.3 pkgsrc-2016Q3:1.3.0.18 pkgsrc-2016Q3-base:1.3 pkgsrc-2016Q2:1.3.0.16 pkgsrc-2016Q2-base:1.3 pkgsrc-2016Q1:1.3.0.14 pkgsrc-2016Q1-base:1.3 pkgsrc-2015Q4:1.3.0.12 pkgsrc-2015Q4-base:1.3 pkgsrc-2015Q3:1.3.0.10 pkgsrc-2015Q3-base:1.3 pkgsrc-2015Q2:1.3.0.8 pkgsrc-2015Q2-base:1.3 pkgsrc-2015Q1:1.3.0.6 pkgsrc-2015Q1-base:1.3 pkgsrc-2014Q4:1.3.0.4 pkgsrc-2014Q4-base:1.3 pkgsrc-2014Q3:1.3.0.2 pkgsrc-2014Q3-base:1.3 pkgsrc-2014Q2:1.2.0.16 pkgsrc-2014Q2-base:1.2 pkgsrc-2014Q1:1.2.0.14 pkgsrc-2014Q1-base:1.2 pkgsrc-2013Q4:1.2.0.12 pkgsrc-2013Q4-base:1.2 pkgsrc-2013Q3:1.2.0.10 pkgsrc-2013Q3-base:1.2 pkgsrc-2013Q2:1.2.0.8 pkgsrc-2013Q2-base:1.2 pkgsrc-2013Q1:1.2.0.6 pkgsrc-2013Q1-base:1.2 pkgsrc-2012Q4:1.2.0.4 pkgsrc-2012Q4-base:1.2 pkgsrc-2012Q3:1.2.0.2 pkgsrc-2012Q3-base:1.2 pkgsrc-2012Q2:1.1.0.24 pkgsrc-2012Q2-base:1.1 pkgsrc-2012Q1:1.1.0.22 pkgsrc-2012Q1-base:1.1 pkgsrc-2011Q4:1.1.0.20 pkgsrc-2011Q4-base:1.1 pkgsrc-2011Q3:1.1.0.18 pkgsrc-2011Q3-base:1.1 pkgsrc-2011Q2:1.1.0.16 pkgsrc-2011Q2-base:1.1 pkgsrc-2011Q1:1.1.0.14 pkgsrc-2011Q1-base:1.1 pkgsrc-2010Q4:1.1.0.12 pkgsrc-2010Q4-base:1.1 pkgsrc-2010Q3:1.1.0.10 pkgsrc-2010Q3-base:1.1 pkgsrc-2010Q2:1.1.0.8 pkgsrc-2010Q2-base:1.1 pkgsrc-2010Q1:1.1.0.6 pkgsrc-2010Q1-base:1.1 pkgsrc-2009Q4:1.1.0.4 pkgsrc-2009Q4-base:1.1 pkgsrc-2009Q3:1.1.0.2 pkgsrc-2009Q3-base:1.1; locks; strict; comment @# @; 1.5 date 2025.10.02.16.23.51; author hauke; state Exp; branches; next 1.4; commitid mnht9MkSoIDmS0dG; 1.4 date 2023.04.30.14.58.58; author spz; state Exp; branches; next 1.3; commitid EHEX0AY7pT0AU8nE; 1.3 date 2014.08.03.17.33.34; author spz; state Exp; branches; next 1.2; commitid ZeipQVABT84TlWKx; 1.2 date 2012.08.23.19.00.42; author spz; state Exp; branches; next 1.1; 1.1 date 2009.09.25.11.06.00; author spz; state Exp; branches; next ; desc @@ 1.5 log @news/inn: Update to v2.7.3 Remove obsolete MESSAGE file. From upstream's changelog: INN 2.7.3 Latest 2025-05-09 New Features actsyncd now supports fetching a remote active file from a web site, using the HTTP or HTTPS protocols. Two new keywords, path and protocol, permit parameterizing that in the actsync.cfg configuration file. See the actsync(8) manual page and the updated actsync.cfg sample file for more details. If you are currently using actsyncd to synchronize your active file with the one of an FTP server, please check that FTP access is still working and the remote active file is up to date. You are otherwise encouraged to update your actsync.cfg configuration file to use an HTTPS access. Just adding protocol=https may be enough. The rationale behind that is the fact that FTP servers are considered less secure nowadays; FTP access to ftp.isc.org is doomed to be shut down one day in favour of HTTPS. The updated actsyncd and simpleftp programs shipped with INN go along with the upcoming change. simpleftp, only used by actsyncd, now supports fetching files from web servers, using the HTTP(S) protocol. It now also correctly parses a port number following a hostname (separated by a colon), and establishes FTP sessions in passive mode as this mode works better behind firewalls and NAT configurations. Added bzip2 support to actsyncd to uncompress downloaded active files. Bug Fixes The check for a fully qualified domain name for the local host at startup still produces a warning in the logs but is no longer fatal. The installation of INN was otherwise failing under some circumstances like when creating a Docker image. Additionally, the INN_HOSTNAME environment variable, if set and fully qualified, is now taken by INN as the hostname. Fixed syntax warnings in the default filter_innd.py Python hook so that innd no longer logs errors with Python 3.12 and greater. Thanks to Roberto Corrado for the patch. Several improvements have been made to readership statistics reported by innreport: IPv6 addresses are now correctly recognized and reported as unresolved instead of unknown, statistics by domain are at a better granularity, totals are correctly computed, and only the top 100 entries are displayed by default instead of a possibly very long exhaustive list. Fixed the computation of idle time in the nnrpd timers gathered by innreport, and the display of non-printable characters in the section about unrecognized NNRP commands. The wording and the case of the section titles are also more homogenized. Fixed the handling of empty Message-IDs in perl-nocem. Instead of dying, it now just discards these invalid entries. Spelling fixes in documentation. Thanks to Christian Clauss for the run of codespell. Other Changes An up-to-date moderators file is provided with this release. It basically removes the records of defunct hierarchies. You may want to manually update your configuration with the new file. Improved Perl code readability and quality by enforcing the most interesting and useful Perl::Critic policies. A new make code-check command has been added to run the checks against the source code. Move the manual pages of delayer, shlock and sm to section 8 (system administration commands) instead of section 1 (user commands). Update from GNU Libtool 2.4.7 to 2.5.4. INN 2.7.2 2024-06-22 New Features Added two new options in storage.conf, contributed by Christoph Biedl: a filtered option to store articles which have been rejected by a Perl or Python filter for innd into a separate storage class, when dontrejectfiltered is set to true in inn.conf; a path option to store articles by the contents of the Path header field, notably to isolate the storage of spammy sites from other sites. The delayer program, which previously was in the contrib directory, is now installed by default. It notably permits generating a delayed feed, for instance to give cancel control articles and NoCeM messages time to arrive, and therefore actually cancel articles before they are locally stored. Thanks to Christoph Biedl for the documentation, testing, and addition of several useful flags to delayer. Added the INN::ovsqlite_client Perl module to access an ovsqlite overview database through ovsqlite-server from a Perl script. This module provides search, add, remove and expire functions for information stored in an ovsqlite database (newsgroups and overview data associated to articles in these newsgroups). Many thanks to Bo Lindbergh for it, as well as for two samples in the contrib directory (ovsqlite-dump and ovsqlite-undump) showing how to use the module. Added several new options to better parameterize perl-nocem. The location of its configuration file, the keyring to use, and the full gpg and gpgv commands to run can now be modified by flags passed to the program. Unprocessed NoCeM notices will also show up in daily Usenet reports generated by innreport. Log verbosity can be controlled, cancelled articles can be backed up into files, and perl-nocem can write logs to a separate perl-nocem.log file. Local rules to fine-tune within a NoCeM notice which articles get cancelled can also be applied. See its manual page for more information about the use of these options. innreport now supports high-precision timestamps like 2023-07-29T04:15:01.889064+02:00 that syslog can be parameterized to use; daily Usenet reports otherwise indicated all these logs as unknown entries because a format like Jul 29 04:15:01 was expected. innreport now alphabetically sorts lines which have the same rank instead of displaying them in random order. scanspool now detects empty files in a tradspool news spool and directories with an all-digit component (which may conflict with a possible file with the same name), correctly parses continuation lines in header fields, and can automatically remove articles reported to have a problem (when run with the new -r flag). Added a new ovflushcount parameter in inn.conf, defaulting to 50, to parameterize the number of articles received between flushing their overview data to disk, when using the buffindexed overview storage method. (In previous releases, that number was ten times the value of icdsynccount, but a dedicated parameter is better.) INN 2.7.2 2024-06-22 New Features Added two new options in storage.conf, contributed by Christoph Biedl: a filtered option to store articles which have been rejected by a Perl or Python filter for innd into a separate storage class, when dontrejectfiltered is set to true in inn.conf; a path option to store articles by the contents of the Path header field, notably to isolate the storage of spammy sites from other sites. The delayer program, which previously was in the contrib directory, is now installed by default. It notably permits generating a delayed feed, for instance to give cancel control articles and NoCeM messages time to arrive, and therefore actually cancel articles before they are locally stored. Thanks to Christoph Biedl for the documentation, testing, and addition of several useful flags to delayer. Added the INN::ovsqlite_client Perl module to access an ovsqlite overview database through ovsqlite-server from a Perl script. This module provides search, add, remove and expire functions for information stored in an ovsqlite database (newsgroups and overview data associated to articles in these newsgroups). Many thanks to Bo Lindbergh for it, as well as for two samples in the contrib directory (ovsqlite-dump and ovsqlite-undump) showing how to use the module. Added several new options to better parameterize perl-nocem. The location of its configuration file, the keyring to use, and the full gpg and gpgv commands to run can now be modified by flags passed to the program. Unprocessed NoCeM notices will also show up in daily Usenet reports generated by innreport. Log verbosity can be controlled, cancelled articles can be backed up into files, and perl-nocem can write logs to a separate perl-nocem.log file. Local rules to fine-tune within a NoCeM notice which articles get cancelled can also be applied. See its manual page for more information about the use of these options. innreport now supports high-precision timestamps like 2023-07-29T04:15:01.889064+02:00 that syslog can be parameterized to use; daily Usenet reports otherwise indicated all these logs as unknown entries because a format like Jul 29 04:15:01 was expected. innreport now alphabetically sorts lines which have the same rank instead of displaying them in random order. scanspool now detects empty files in a tradspool news spool and directories with an all-digit component (which may conflict with a possible file with the same name), correctly parses continuation lines in header fields, and can automatically remove articles reported to have a problem (when run with the new -r flag). Added a new ovflushcount parameter in inn.conf, defaulting to 50, to parameterize the number of articles received between flushing their overview data to disk, when using the buffindexed overview storage method. (In previous releases, that number was ten times the value of icdsynccount, but a dedicated parameter is better.) Bug Fixes perl-nocem now correctly parses the identifiers of NoCeM issuers with special characters like + in the configuration file. Fixed a hang when posting articles if COMPRESS DEFLATE is active but TLS is not. Thanks to Enrik Berkhan for the patch for nnrpd. innd no longer dies when ctlinnd trace is run on an invalid channel. INN now properly handles header field names starting with a leading dot: innd accurately computes the :bytes metadata item of articles with such header field names, and nnrpd correctly preserves the leading initial dot at injection time and rightly parses such header field names in HDR, XHDR and XPAT commands. nnrpd now rejects articles with invalid dot-stuffing (that is to say when a dot at the beginning of a line is not doubled) as it is a violation of the NNTP protocol. (innd still goes on accepting and propagating such articles as they have already been injected and propagated.) Fixed the computation of the Bytes header field by pullnews (in header-only mode with the -B flag). Fixed the generation of rnews batches by pullnews (when using the -r flag) which had not the expected native LF line termination. Fixed inndf on 32-bit architectures with large file support (previously, inndf could not count more than 2^32 bytes or inodes on these architectures). Fixed an issue preventing articles from expiring when using the ovsqlite method, in a very rare case. When an article had more than 100,000 bytes of overview data (for instance with a Subject header field of that length), overview expiration was no longer done for newsgroups carrying this article. Such articles, which most certainly are spams anyway, are no longer added to the ovsqlite database. Thanks for Jesse Rehmer for the bug report. Fixed a database lock issue when running ovsqlite-util on a running server with the transtimelimit parameter in ovsqlite.conf set to a higher value than the default busy timeout of 30 seconds of ovsqlite-util. Thanks to Jesse Rehmer for the bug report and Bo Lindbergh for the fix. Fixed a foreign key issue preventing ovsqlite-util from fixing problems found when running with the -F flag. innd no longer malfunctions nor throttles when the maximum number of file descriptors supported by the system is reached. If needing to use more file descriptors than the default system limit, a new LARGE_FD_SETSIZE option can be set at build time. See the documentation for rlimitnofile in inn.conf for more information. Thanks to Jesse Rehmer for the bug report. Other Change Up-to-date control.ctl and nocem.ctl files are provided with this release. You may want to manually update your configuration with the new information recorded about hierarchies and NoCeM issuers, and make sure the relevant PGP keys are installed on your system. @ text @$NetBSD: patch-ak,v 1.4 2023/04/30 14:58:58 spz Exp $ fix bin path --- perl/INN/Config.pm.in.orig 2025-05-09 13:53:41.000000000 +0000 +++ perl/INN/Config.pm.in @@@@ -29,7 +29,7 @@@@ our $exec_prefix = "@@exec_prefix@@"; ## Then, process the variables provided by innconfval. my @@INNCONFVAR = (); -my @@values = qx(${exec_prefix}/bin/innconfval -p); +my @@values = qx(@@bindir@@/innconfval -p); foreach my $line (@@values) { eval 'our ' . $line; if ($line =~ /^(.*?) = /m) { @ 1.4 log @update inn to 2.7.1 adding canlock option kudos micha@@ upstream changelog: Changes in 2.7.1 (2023-04-16) * Added a new *groupexactcount* parameter in readers.conf to force nnrpd to report the exact number of still existing articles in newsgroups instead of an estimated count. When the estimated number of articles is strictly below *groupexactcount* (set to 5 by default), nnrpd now recounts them and reports the actual value (articles that have been cancelled or overwritten in self-expiring CNFS buffers may otherwise still be counted in the estimate). News clients will then be directly aware of empty newsgroups; they would otherwise have tried to retrieve possible articles, to finally not show anything to the user. * Programs sending mails now include, when appropriate, an Auto-Submitted header field in the message headers (either set to "auto-generated" or "auto-replied", following the recommendation in RFC 3834). Thanks to Harald Dunkel for this suggestion which will for instance help to avoid unnecessary vacation replies. * Added a new -a option to innmail to specify additional header fields to add in the headers of messages. This is notably used to internally support the addition of the Auto-Submitted header field in outgoing mails. * Added new ovsqlite-util program to perform some basic consistency checks and dump operations on an overview database using the ovsqlite method. More checks and features will be added in future releases. You'll need the "DBI" Perl module with the "DBD::SQLite" driver installed on your system to use this program. * Added TLS support in pullnews for connections to upstream servers configured in pullnews.marks, and to the downstream server in the existing -s flag. A port can now also be specified for connections to upstream servers (it was already possible for the downstream server only). * Added a new -L option to pullnews to specify the largest wanted article size in bytes. Articles whose size exceeds that value will no longer be downloaded by pullnews. * pullnews now detects a socket timeout while downloading articles from a remote peer. The download gracefully stops, and another attempt can be automatically made according to the setting given with the -t flag. Thanks to Jesse Rehmer for the bug report. * Fixed the generation and the handling of storage tokens on wrapped CNFS buffers, thanks to bug reports from Kamil Jonca: * Duplicate entries were returned by makehistory on fully wrapped cyclic buffers (the first article of the cyclic buffer appeared twice in the output). * The first article of a fully wrapped cyclic buffer was removed too soon from history (expire wrongly thought its storage token was no longer existing after a wrap). * The first article of the previous cycle number of a cyclic buffer containing articles from two different cycle numbers was wrongly considered by makehistory to belong to the current cycle number. * innd no longer dies when a newsfeeds entry has an unexpected trailing whitespace. * The size of duplicated articles was counted twice in totals, average article sizes and graphs by innreport, when parsing innd checkpoints. Thanks to Hauke Lampe for the patch to count it only once. * Customizing the domain part of Message-IDs generated by nnrpd and the server name indicated in Injection-Info header fields is now easier: the *domain* parameter in the access blocks of readers.conf can be directly used (without needing to set *virtualhost* as it was previously the case). * If the *domain* parameter is set in inn.conf or in a readers.conf access block, and has invalid characters, or if the fully qualified domain name (FQDN) of the news server has invalid characters when *domain* is unset, a fatal error is now reported at startup. It is a basic configuration error which otherwise leads to the generation of invalid article Message-IDs. * Improved the speed of article searches with HDR, LAST, NEXT, and XPAT commands when there is a (huge) gap in article numbers. On newsgroups with several millions of consecutive missing articles (which is a rare situation), these commands could take several seconds to run. * Incoming articles in newsgroups that have exceeded the maximum number of articles they can contain (2^31-1) are now correctly rejected. INN was otherwise happily accepting them but either numbers returned in NNTP responses were not right, or some news clients choked when receiving unexpected large article numbers. (The current version of the NNTP protocol only allows article numbers up to 2^31-1.) * Fixed the renumbering of reported low water marks for empty newsgroups in active after overview expiration, when using the ovsqlite method. They were set to 1 for empty newsgroups whereas they were not supposed to decrease. (These reported low water marks regained their expected values during the next overview expiration, provided that the newsgroup was no longer empty.) * The reported high water mark of empty newsgroups is now correctly set to one less than the reported low water mark in overview data. (Previously, the reported low water mark was set to one more than the reported high water mark.) * Fixed the output of the "ctlinnd feedinfo ''" command that was returning information only for the first site, and the output of the "ctlinnd name channel" command that was returning partial information for the requested channel. * The build of external programs which include inn/storage.h was failing because of the unexpected inclusion of config.h in one of the included headers. Also, a few Autoconf results were not correctly made available to external programs. This is now fixed. * Fixed the build on systems whose default shell does not completely meet the Posix standard. A few build scripts were run with the default shell instead of the one found by Autoconf and afterwards used for INN. * Use standard daemon(3) C function, when available, to daemonize innd, nnrpd, ovdb_server and ovsqlite-server instead of an INN-specific function. Upgrading from 2.6 to 2.7 The following changes require your full attention because a manual intervention may be needed: * The *require_ssl* parameter in readers.conf has been renamed to *require_encryption* as it applies to any kind of encryption layers, including TLS and SASL security layers. Since innupgrade only takes care of the change in the file named readers.conf, you will have to manually rename that parameter in configuration files for nnrpd with an alternate name. * The innreport.conf file in *pathetc* has been split into a general configuration file (innreport.conf itself) and a display configuration file (innreport-display.conf in *pathlib*). If you made local changes in sections other than the *default* section in innreport.conf, and wish to keep them, then you need renaming the new innreport-display.conf file to another name in *pathlib*, setting this local file name in the new *display_conf_file* option in innreport.conf, and re-applying your local changes to that local display configuration file. As a matter of fact, the default display configuration file would otherwise be overwritten each time INN is updated. Bug fixes or enhancements are made from time to time to the display configuration of innreport, and previously couldn't be automatically be merged in innreport.conf on update. This new separate configuration file to parameterize the display will now permit an automatic update (if of course you use the default display configuration file). * A new inn-secrets.conf configuration file has been added in *pathetc*. The intent is that, from now on, new secrets used by INN are added to that file, and that all secrets currently stored in several other configuration files eventually move to that file. Make sure it is properly created during the upgrade, and not world-readable. It currently only stores the secrets used for the new Cancel-Lock functionality. * The -C flag given to innd to disable the execution of cancels has been deprecated and is no longer taken into account (an error message will be present in your logs if innd is started with it). Instead, a new parameter has been added in inn.conf to tune the types of cancels innd should process. If *docancels* is set to "require-auth", which is the default if INN has Cancel-Lock support, only articles originally protected by the Cancel-Lock authentication mechanism can be withdrawn by a valid authenticated cancel article or a valid authenticated supersede request. Withdrawals of articles not originally protected by Cancel-Lock will not be executed. See inn.conf(5) for more details about the different values of the new *docancels* parameter, and make sure to parameterize it according to your needs. * The *refusecybercancels* and *verifycancels* parameters have been removed from inn.conf. The first was performing an inefficient and inexact check (that should be done, if wanted, in the special "ME" entry in newsfeeds, or even better, ask your peers not to feed you articles with "cyberspam" in the Path header field body); the second check performed on the newsgroups present in cancel articles was not useful in innd (this check is relevant to posting agents). The related lines in inn.conf will be commented by innupgrade during the upgrade. * The XBATCH command is no longer enabled by default in innd. You'll have to explicitly enable that capability by setting the new *xbatch* parameter to true in incoming.conf for the peers sending you such compressed batches. * The *nolist* and *noresendid* parameters in incoming.conf have been respectively renamed to *list* and *resendid* (and the meaning of their related boolean values is now the opposite). Besides, the unused *comment* and *email* parameters in incoming.conf have been removed. innupgrade will take care of the changes (inverting the boolean values, and commenting the lines with removed parameters). * filechan is no longer shipped with INN; it was just a simple version of buffchan. All calls to "filechan" will be changed to "buffchan -u" (for its unbuffered mode) in newsfeeds by innupgrade. If you have local scripts running filechan, you will have to manually take care of the change. * send-nntp is no longer shipped with INN. If you have local scripts running it, you will have to manually adjust them to use nntpsend which basically does the same thing, better. Or, even greater, use innfeed if that is possible. * Wrappers around old Perl and Python authentication and access hooks, pre-dating INN 2.4.0 and identifiable by the *nnrpperlauth* and *nnrppythonauth* parameters in inn.conf, are no longer shipped as samples in INN releases. If not already done, you should either replace old hooks with new modern hooks or use the possibilities that readers.conf and regular authenticator and resolver programs offer. * The libauth.h header file and the libstorage library have been renamed to libinnauth.h and libinnstorage to homogenize their name with existing libinnhist library. External programs building or linking against them need a manual change. If you are upgrading from a version prior to INN 2.6, see also "Upgrading from 2.5 to 2.6". Changes in 2.7.0 (2022-07-10) * Upgrading to a major release is a good time to ensure that your configuration files, that are usually kept untouched during normal updates, are up-to-date: notably control.ctl (with your local changes in a separate control.ctl.local file), new better default values in inn.conf and innfeed.conf, improvements in innreport.conf (along with innreport-display.conf) and innreport.css, fixes in innwatch.ctl, updated moderators and nocem.ctl files. You may also want to check that the PGP keys used to verify the signature of control articles and NoCeM notices are still up-to-date and working. The keys of a few hierarchies and NoCeM issuers have recently changed. * Bo Lindbergh has implemented a new overview storage method based on SQLite, known for its long-term stability and compatibility. Robust and faster at reading ranges of overview data, but somewhat slower at writing, this new SQLite-based method is a perfect choice to store overview data. To select it as your overview method, set the *ovmethod* parameter in inn.conf to "ovsqlite". Details about ovsqlite, the ovsqlite.conf configuration file and how to switch to that new modern overview storage method can be found in the ovsqlite(5) and makehistory(8) man pages. * Julien Elie has implemented Cancel-Lock support in innd and nnrpd, based on RFC 8315 and libcanlock. A new inn-secrets.conf configuration file has been added in *pathetc* wherein you can set the secrets to use for Cancel-Lock. See the inn-secrets.conf(5) man page for more details. A new -F flag is recognized by innconfval to indicate the type of file to parse (by default, "inn.conf"); just run "innconfval -F inn-secrets.conf" to get the values of that new configuration file. Another new flag, -f, permits specifying another file name to parse than the standard one. The *addcanlockuser* parameter has been added in readers.conf to deactivate the generation of user-specific hashes when several different posters have the same identity in an access group. This parameter also permits setting whether the hash, when generated, is based on the username or the (static) IP of the connection. * Added a new tool, gencancel, to help the news administrator generate authenticated cancel control messages, with the expected admin Cancel-Key hashes. See the gencancel(1) man page for more details. * A new *docancels* parameter has been added in inn.conf to define which types of cancels innd should process. The -C flag given to innd is deprecated in favour of that new parameter (you'll see in your logs the message "innd -C flag has been deprecated and has no effect; use docancels in inn.conf" in case you're passing that flag to innd). * Andreas Kempe has implemented blacklistd support in nnrpd. This daemon, available notably in FreeBSD and NetBSD, can be used to prevent brute force attacks by blocking attackers after a number of failed login attempts. When nnrpd is run with the new -B flag, and INN has been configured with the new --with-blacklist option, it will report login attempts to the blacklistd daemon for potential blocking. * Building INN with TLS support using LibreSSL is now supported (only OpenSSL was previously officially supported and tested). * Fixed the parsing of *hosts* and *localaddress* parameters in readers.conf; exclusion patterns (beginning with "!") have not been working since INN 2.5.0. * Improved the robustness of innxmit when receiving 500 or 501 response codes from peers, indicating they do not understand the NNTP command or (wrongly) think there is a syntax error. Richard Kettlewell added a proper handling of these responses, making innxmit dropping the refused article instead of keeping sending it over and over (and thus receiving each time the same error in response codes). * innreport now collects statistics from innxbatch and generates a section for them in its reports. * The innreport.conf file in *pathetc*, previously containing almost 2500 lines, has been split into a general configuration file (innreport.conf itself, still in *pathetc*, with about 60 lines) and a display configuration file (innreport-display.conf, a new separate file in *pathlib*). The name of this display configuration file can be parameterized in the new *display_conf_file* option in innreport.conf. * The -m flag given to mailpost now sets a List-ID header field instead of a Mailing-List header field. * rc.news, used to start and stop INN daemons, now checks whether it is run as the news user. It will exit if not the case, to ensure not to tamper with the ownership of files INN manipulates. * filechan has been removed; it was just a simple version of buffchan, which should now be used. * send-nntp has been removed; it was just a simple version of nntpsend, which should now be used (or, even better, innfeed). * The *refusecybercancels* and *verifycancels* parameters have been removed from inn.conf. Besides, inews no longer checks if the From or Sender header fields of a cancel or supersede request match the ones of the original article being withdrawn. All of these were either inefficient or inexact checks. * The *xbatch* parameter has been added in incoming.conf to enable the XBATCH command in innd for specific remote peers. The default is to disable the capability. * The *nolist* and *noresendid* parameters in incoming.conf have been respectively renamed to *list* and *resendid* (and the meaning of their related boolean values is now the opposite). Besides, the unused *comment* and *email* parameters in incoming.conf have been removed. * inews no longer adds a Sender header field nor overwrites an existing one in articles it processes if the new -P flag is used. The Path header field, if unset, no longer systematically contains the path identity of the local news server (you may want to add it manually with the -x flag, if needed). Finally, inews also no longer adds the obsolescent Lines header field. * A new -E flag can now be given to inews to silently discard empty articles, instead of bailing out with an error. Another new -m flag permits setting the Message-ID instead of letting inews generate one. And a third new flag, -Y, forces inews to authenticate to the remote news server even if not asked to. * signcontrol has been removed as it embeds per-site configuration which is overwritten each time INN is updated to a newer version, and it is unlikely you ever need it. Nonetheless, if you need to issue PGP-signed control messages, you can still download it from . * Support in controlchan for obsolete *sendsys*, *senduuname* and *version* control messages has been removed. These control messages, long been deprecated, should no longer be sent nor honoured nowadays. Besides, the "doifarg" keyword in control.ctl is no longer recognized (it was only used for these three kinds of control messages). * The *require_ssl* parameter in readers.conf has been renamed to *require_encryption*, which is a better name as it applies to any kind of encryption layers, including TLS and SASL security layers. * Fixed the use of a deprecated API in Kerberos V5. INN now requires version 1.6.1 or higher of MIT Kerberos v5 to build. * The libauth.h header file and the libstorage library have been renamed to libinnauth.h and libinnstorage to homogenize their name with existing libinnhist library. * All of the applicable bug fixes from the INN 2.6 STABLE series are also included in INN 2.7. @ text @d1 1 a1 1 $NetBSD: patch-ak,v 1.3 2014/08/03 17:33:34 spz Exp $ d5 3 a7 3 --- perl/INN/Config.pm.in.orig 2022-07-10 15:00:35.000000000 +0200 +++ perl/INN/Config.pm.in 2022-09-25 13:17:12.053797734 +0200 @@@@ -15,7 +15,7 @@@@ d11 2 a12 2 -my @@values = `${exec_prefix}/bin/innconfval -p`; +my @@values = `@@bindir@@/innconfval -p`; @ 1.3 log @update INN to version 2.5.4. Excerpt from the upstream release announcement: Changes in 2.5.4 * An up-to-date control.ctl file is provided with this release. You should manually update your control.ctl file with the new information recorded about Usenet hierarchies. * A test has been improved in innwatch.ctl so that innwatch no longer throttles innd when no overview directory exists. You should manually update your innwatch.ctl file to get this improvement. * Fixed a long-standing limitation on how controlchan and pgpverify were checking the signer of control messages. They now properly handle the case of several UIDs being defined on a single PGP key, as well as the presence of spaces into UIDs. In previous versions of INN, a few valid control messages got ignored because of that limitation (fido.ger.* and grisbi.* were for instance impacted). * As the name of the radius.conf configuration file shipped with INN for the nnrpd authenticator against a RADIUS server conflicts with the libradius package, this file is renamed to inn-radius.conf (innupgrade takes care of the rename during the update). * The attributes hash is now accessible to nnrpd Perl posting filter. As a result, filter_nnrpd.pl can make use of it. Only authentication and access Perl hooks could previously use the attributes hash. Thanks to Steve Crook for this addition. * INN now properly builds fine with flex 2.5.36 (this version introduced a change of type for a variable used by INN). * When using funnel feeds, innfeed log files were open forever, which resulted in empty log files, once rotated by scanlogs. innfeed now reopens its log files upon receiving a HUP signal; this signal is in particular sent by scanlogs during log rotation. Thanks to Florian Schlichting for the patch. * Exploder and process channels are now reopened when "ctlinnd flushlogs" is used. Otherwise, they could hold open an already deleted errlog file. The issue affected in particular controlchan or ninpaths, running as such channels. * Fixed a buffer overflow when using imapfeed with more than a million commands during the same IMAP session. Thanks to David Binderman for the bug report. * Fixed a segfault occurring in innd on systems where time_t is a 64-bit integer. Thanks to S.P. Zeidler for the patch. * Fixed a segfault occurring in nnrpd when a res block was used in readers.conf without the program: key. * Fixed an issue where users were denied posting because of an overlapping buffer copy in a check nnrpd was doing. Thanks to Florian Schlichting for the patch. * Fixed a regression that occurred in INN 2.5.3 regarding the path used by default by pullnews for its configuration file. Instead of looking in the running user's home directory, it was looking in the *pathnews* directory set in inn.conf. Thanks to Tony Evans for the bug report. * When neither wget nor ncftpget nor ncftp was found at configure time, the path to the simpleftp substitution program shipped with INN was not properly set in innshellvars, innshellvars.pl, and the "INN::Config" Perl module. Thanks to Christian Garbs for the bug report. * ckpasswd no longer tries to use the ndbm compatibility layer provided by Berkeley DB if Berkeley DB has been built without ndbm support. Also add support for gdbm libraries in ckpasswd. * Fixed a Perl warning in inncheck; using "defined(@@array)" has been deprecated since Perl 5.16. * Fixed the occurrence of an unexpected "cant select" error generated by innd. Thanks to Paul Tomblin for having caught that long-standing issue. * When building INN with Berkeley DB support, no longer add -L/usr/lib to the linker include flags; unconditionally adding it may break the build on systems using lib32 and lib64 directories. * On a fresh INN install, motd.innd and motd.nnrpd are no longer installed by default. Instead, samples for these files are provided in *pathetc*, named differently so that their default contents are not displayed to news clients before they get customised. * Other minor bug fixes and documentation improvements (like the addition in the readers.conf man page of the log: and program: parameters in res blocks, and the include directive). @ text @d1 1 a1 1 $NetBSD: patch-ak,v 1.2 2012/08/23 19:00:42 spz Exp $ d3 5 a7 3 --- perl/INN/Config.pm.in.orig 2014-05-17 08:24:49.000000000 +0000 +++ perl/INN/Config.pm.in @@@@ -20,7 +20,7 @@@@ our $exec_prefix = "@@exec_prefix@@"; d14 2 a15 2 eval 'our '.$line; if ($line =~ /^(.*?) = /m) { @ 1.2 log @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 (thanks) 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 motd.news 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 "127.0.0.1" 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 behaviour. * It is now possible to run a script at the end of the execution of innshellvars scripts. If a file named innshellvars.local, innshellvars.pl.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 storage.conf. * 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. @ text @d1 1 a1 1 $NetBSD$ d3 1 a3 1 --- perl/INN/Config.pm.in.orig 2012-06-15 18:25:36.000000000 +0000 @ 1.1 log @fix packaging bugs noted by Geoff Wing (gcw@@pobox.com) (thanks) @ text @d3 1 a3 1 --- perl/INN/Config.pm.in.orig 2009-05-21 22:08:33.000000000 +0200 d11 1 a11 1 foreach $line (@@values) { @