2018-03-18  iulius

	* FAQ: Bump the revision number of the forthcoming INN 2.6.2 stable
	  release

2018-03-17  iulius

	* install-sh: avoid (low risk) race in "/tmp"
	  
	  Patch from upstream.
	  
	  Ensure that nobody can cross privilege boundaries by pre-creating
	  symlink on '$tmpdir' destination directory.
	  
	  Just testing 'mkdir -p' by creating "/tmp/ins$RANDOM-$$/d" is not
	  safe because "/tmp" directory is usually world-writeable and
	  "/tmp/ins$RANDOM-$$" content could be pretty easily guessed by
	  attacker (at least for shells where $RANDOM is not supported).
	  So, as the first step, create the "/tmp/ins$RANDOM-$$" without
	  -p. This step would fail early if somebody wanted catch us.
	  
	  Systems that implement (and have enabled) fs.protected_symlinks
	  kernel feature are not affected even without this commit.

2018-03-16  iulius

	* Fix previous commit

2018-03-15  iulius

	* Update to latest C TAP Harness upstream version

2018-03-10  iulius

	* Stop using com_err directly
	  
	  com_err is an obsolete way of reporting Kerberos errors. Add some
	  additional Kerberos portability code from rra-c-util to allow
	  using krb5_get_error_message, which is the modern approach, and
	  remove the additional probing for com_err.h.
	  
	  Also, if --with-krb5 (or the equivalent for other probes) is
	  given and a krb5-config was found at the install root, skip the
	  PATH search for krb5-config to avoid confusing output. This
	  results in redoing the probe and using cached output when testing
	  multiple krb5-config features, but that seems better than the
	  confusing output.
	  
	  Patch from Russ Allbery.

	* libinn documentation: fix sample code
	  
	  HeaderFind() no longer exists, and a few other functions have
	  additionnal arguments.

	* Add check for unique Cancel-Key and Cancel-Lock header fields
	  (RFC 8315) in nnrpd

	* Add access to Jabber-ID header field (RFC 7259) within Perl and
	  Python hooks for innd.
	  
	  Also update POD documentation and the Python sample.

2018-03-08  iulius

	* innreport: fix the output of the NoCeM section
	  
	  Previously, errors during NoCeM processing did not appear in
	  daily Usenet reports.

	* scanspool: do not warn for consistency of Newsgroups header
	  fields in control pseudogroups

	* Add a few useful monitoring commands to run before making a
	  release
	  
	  Also, typo fix in checklist.

	* inncheck: do not warn when "control" is used in newsgroup pattern
	  
	  Lines that were triggering a warning (in sample control.ctl
	  file): newgroup:*:control|general|junk|test|to:drop
	  rmgroup:*:control|general|junk|test|to:drop

2018-02-16  iulius

	* Update license information from rra-c-util upstream version
	  
	  Also fix two gcc warnings in addr-ipv6-t.c and snprintf-t.c.

	* Add support for GnuPG's gpg binary to pgpverify and perl-nocem
	  
	  gpg still validates signatures made with weak digest algorithms
	  like MD5 whereas gpgv no longer do.
	  
	  Thanks to Thomas Hochstein for the patch (for pgpverify), which
	  permits to validate control articles for hierarchies that are
	  still using old PGP keys.
	  
	  Also add autoconf magic to detect new $INN::Config::gpg variable
	  (and also for shell and Tcl scripts), and add make use of it in
	  perl-nocem.
	  
	  Detect gpg1 in preference to gpg and gpg2.

2018-02-04  iulius

	* ovdb: improve documentation, and change the default value for
	  readserver to true
	  
	  Using ovdb_server helper server helps improve the stability of
	  the ovdb overview method, so sets the default value for
	  readserver in ovdb.conf to true.
	  
	  Also greatly improve the documentation for ovdb: better POD
	  formatting, describe what are the 3 possible versions of ovdb,
	  clarify what is an upgrade, document the ncache parameter (it was
	  absent from documentation), remove old wording for nocompact,
	  remove duplicate explanation of ovdb_init tasks in ovdb(5),
	  mention that rc.news takes care of stopping ovdb_monitor, add the
	  -M option to ovdb_stat synopsis, improve ovdb.conf sample file
	  (better wording, and consistent with the man page).

	* ovdb_stat: fix HTML output and Usage information

2018-02-03  eagle

	* Handle hostnames not in DNS in GetFQDN
	  
	  If the local hostname isn't in DNS at all, GetFQDN currently
	  returns NULL. If a domain was provided but the hostname isn't in
	  DNS, append the domain to the hostname anyway and return the
	  results. This is possibly still a local configuration error, but
	  it seems like friendlier behavior, and also lets the test suite
	  run on hosts with an unresolvable local hostname.

2018-01-29  iulius

	* Better wording for NEWS

2018-01-28  iulius

	* Bump version information for our libraries released with INN
	  2.6.2
	  
	  A few interfaces have changed in libinn.

	* Document cancels and cycbuff reallocation in storage methods

	* Update to latest C TAP Harness and rra-c-util upstream versions
	  
	  Also update accordingly the rest of the INN source code.

2018-01-23  iulius

	* Update to latest control.ctl upstream file
	  
	  Remove the gov.* hierarchy.

	* Update to latest install-sh upstream version
	  
	  Do not append / to destination directory if it already ends in /.
	  This supports a destination directory of // on hosts where / and
	  // are distinct directories, as POSIX allows.

	* Update to latest config.guess and config.sub upstream files

2018-01-07  iulius

	* Adjust buffindexed header page size to platform
	  
	  Previously, if the platform page size was larger than 16KB,
	  buffindexed would just refuse to work on that platform. Instead,
	  increase the header page size to match the platform page size on
	  those platforms, but still require that the header page size be a
	  multiple of the platform page size.
	  
	  Use sysconf(_SC_PAGESIZE) to get the page size instead of
	  getpagesize(), since it's the POSIX-standard way of doing this.
	  
	  Backport patch against CURRENT from Russ Allbery.

2017-12-10  iulius

	* Add support for TLS 1.3

2017-11-28  iulius

	* innstat: monitor disk usage of more directories, and add the unit
	  
	  In daily Usenet reports, add disk usage for archive, http and tmp
	  directories. Also mention the unit of the size of batch and log
	  files.

2017-11-25  iulius

	* Improve documentation for ovdb_server

2017-11-05  eagle

	* Update URL for GUP

2017-11-04  iulius

	* Enforce new GCC 6 warning options; fix possible NULL-pointer
	  dereferences
	  
	  Add the following warning options: -Wnull-dereference
	  -Wshift-overflow=2 -Wduplicated-cond
	  
	  Do not explicitly mention -Wendif-labels because it is enabled by
	  default. Also use -O3 instead of -O2.
	  
	  Fix in timehash and buffindexed code possible NULL-pointer
	  dereferences.

2017-10-16  eagle

	* actsync: fix misleading indentation
	  
	  Only do the flush when debugging is on. Backported from r10052 on
	  CURRENT by iulius.

	* Suppress sign-compare warnings for innfeed lexer
	  
	  Some versions of flex (such as 2.6.1-1.3 in Debian stretch)
	  declare a variable as int that should be size_t. We can't really
	  do much about that, and it's fixed in current flex, so just
	  suppress the warning using a gcc pragma.

2017-09-18  iulius

	* Clarify the use of FQDN in documentation
	  
	  There are two things here. First, the FQDNs that exist in the DNS
	  for a given host: some may be A and AAAA records, other may be
	  CNAME records, and the host may know them or not.
	  
	  Second, the FQDN that the host system will report (hostname
	  --fqdn), which is a single one, always the same as long as the
	  configuration will not change. With GNU/Linux, it seems to be
	  determined this way:
	  
	  * if the system hostname contains a dot, return it; * if the
	  system hostname does not contain a dot, resolve it to an FQDN
	  using getaddrinfo() (which will resolve it to an IP address and
	  then back to a name using a reverse resolution, usually using
	  /etc/hosts, but possibly using the DNS).
	  
	  The problem is mostly the over-usage of the term
	  ?\226?\128?\156FQDN?\226?\128?\157, which can sometimes be
	  incorrectly understood as meaning ?\226?\128?\156a host's
	  canonical name?\226?\128?\157. This is emphasized by the fact
	  that some news services, if not most of them, are referred to
	  with a service name such as news.example.com, which is fully
	  qualified, but which is just an alias to the server canonical
	  name such as gruyere.example.com, which will probably be the
	  result of a reverse lookup of its IP address as well.
	  
	  Most of the time, when resolving a host name to an IP address),
	  the fact that it is fully qualified or not is irrelevant, as long
	  as it does resolve. In such cases, it is enough to just mention
	  ?\226?\128?\156a host name?\226?\128?\157.
	  
	  For checking a client IP address against a host name, the fact
	  that it is FQ or not is again irrelevant, but what is relevant is
	  whether this check is done by direct lookup of the configured
	  host name, or by reverse lookup of its IP address.
	  
	  For reporting connections with a host name rather than an IP
	  address, it is not relevant either, this is just a reverse
	  lookup, and it will almost always return an FQDN indeed, but that
	  depends on the system configuration.
	  
	  Thanks to Tanguy Ortolo for his suggestion of improvement.

	* Avoid a zero-size vector allocation
	  
	  Update to latest rra-c-util upstream version.

	* Clarify the wording about the propagation of control articles

	* Document when Injection-Date: header field is not added by nnrpd
	  (case of multiple injection)
	  
	  Thanks to Thomas Hochstein for prompting to document that
	  behaviour.

2017-07-22  iulius

	* mailpost: update the list of known header fields

	* fix writing of message-ID in lowercase

	* mailpost: add new "-z" parameter to remove header fields
	  
	  Adds a "-z" parameter to remove any undesired headers from the
	  gated message.
	  
	  Also, edits the incoming SMTP message's "Received:" header to
	  remove any "for <mailbox>" clause which contains the name of the
	  news server (or its domain). It determines the name by examining
	  "pathhost", "fromhost" and "domain" (from file "inn.conf"). The
	  reason for this is to protect the gateway mailbox from spammers
	  who may seek to abuse the gateway. This will also remove any
	  "*-To:" headers that cite the news server host or domain name
	  (e.g. "Errors-To:" which are set to report back which user
	  bounced by using a mailbox pattern in the envelope). As the
	  gateway mailbox name is now hidden, spammers will have to
	  discover it via other means. It's not meant as an anti-spam
	  measure by itself, but spammers can't spam that which they can't
	  find. Since the administrator knows the message was gated, he
	  knows it was delivered to the gateway mailbox, so information
	  deleted from the trace header isn't "lost"; just merely hidden.
	  "For" clauses from other "Received:" headers not specifying the
	  mail server's host/domain are left intact.
	  
	  Thanks to Dieter Stussy for the patch.

2017-07-11  iulius

	* mailpost: remove empty header lines within header body

	* inews: fix the check of header field length
	  
	  The limitation of 998 bytes is for the length of a single line of
	  a header field, not for the whole header field.
	  
	  Also, use MED_BUFFER instead of HEADER_STRLEN in places where a
	  mere buffer was expected, not related to header length.

	* Update HACKING and NEWS

2017-07-01  iulius

	* mailpost: remove empty header fields
	  
	  Also, fix a sprintf warning when using "mailpost -n" ($Sendmail
	  does not contain %s in that case).
	  
	  Thanks to Kamil Jonca for the bug report.

2017-06-05  iulius

	* Fix new implicit-fallthrough warning in GCC 7
	  
	  Indicate that some functions never return, or that fallthrough in
	  switch statements is expected.

	* Fix new format-truncation warning in GCC 7
	  
	  A few strings in innfeed status and in Sender/Injection-Info
	  header fields may have been truncated when generated. The case is
	  rare, though (240 bytes for instance in the username and
	  hostname).

	* FAQ: Improve instructions when re-feeding the articles of a news
	  server
	  
	  Mention to check the newsfeeds file of the new server for the
	  absence of controlchan; and that innxmit may have to be
	  re-executed during the operation.

	* innreport: Update the dictionary of ctlinnd commands
	  
	  This way, all ctlinnd commands will correctly appear in clear in
	  daily Usenet reports.

	* Add support for a new syntaxchecks parameter in inn.conf
	  
	  This parameter permits to control the level of checks performed
	  by innd and nnrpd. Up to now, only one check can be
	  enabled/disabled: when "laxmid" is mentioned in the values of
	  this new parameter, INN accepts Message-IDs that contain ".." in
	  the left part, as well as Message-IDs with two "@" (such
	  Message-IDs would otherwise be considered as syntactically
	  invalid).

	* Update documentation to latest TLS best current practices
	  
	  - Using implicit TLS (port 563) is recommended per RFC 8143.
	  
	  - The TLS_RSA_WITH_RC4_128_MD5 and
	  TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA cipher suites are no longer
	  mandatory.

2017-05-23  iulius

	* FAQ: Update link to the news.newusers.questions homepage

2017-04-29  eagle

	* Update URL for svn2cl

2017-01-12  iulius

	* Mention new RFC 8054 (COMPRESS extension) as implemented in nnrpd

2016-12-17  iulius

	* Bump version for the next 2.6.2 release

