Fluidsynth was redefining a properly-defined macro to null based on an
apparently flawed assumption. Add a condition to check if the macro is
defined before redefining.
This modified patch may fix more than just DragonFly.
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.
I'm not sure what happened here. pload was building fine on DragonFly
with the proposed patches, but right now patch-ae only looks half updated.
Update the rest of patch-ae to finish the work of my prior commit.
Only affects DragonFly, which it's never built on.
- The patch was added to define the non-posix MAXNAMLEN macro if it was
not already defined.
- The Makefile had to patched and then inline-replaced to fix the
invocation of the install program. Without this, non-root builds fail.
Tcl-expat does not need to create lib/tcl. This is done already by the
lang/tcl package. Attempting the pre-install target fails when built
by a non-root user so just remove this redundant target.
* CVE-2012-3488: PostgreSQL insecure use of libxslt
* CVE-2012-3489: PostgreSQL insecure use of libxml2
* Updates and corrections to time zone data
* Multiple documentation updates and corrections
* Add limit on max_wal_senders
* Fix dependencies generated during ALTER TABLE ADD CONSTRAINT USING INDEX.
* Correct behavior of unicode conversions for PL/Python
* Fix WITH attached to a nested set operation (UNION/INTERSECT/EXCEPT).
* Fix syslogger so that log_truncate_on_rotation works in the first rotation.
* Only allow autovacuum to be auto-canceled by a directly blocked process.
* Improve fsync request queue operation
* Prevent corner-case core dump in rfree().
* Fix Walsender so that it responds correctly to timeouts and deadlocks
* Several PL/Perl fixes for encoding-related issues
* Make selectivity operators use the correct collation
* Prevent unsuitable slaves from being selected for synchronous replication
* Make REASSIGN OWNED work on extensions as well
* Fix race condition with ENUM comparisons
* Make NOTIFY cope with out-of-disk-space
* Fix memory leak in ARRAY subselect queries
* Reduce data loss at replication failover
* Fix behavior of subtransactions with Hot Standby
* Prevent access to external files/URLs via XML entity references
* Prevent access to external files/URLs via contrib/xml2's xslt_process()
* Prevent too-early recycling of btree index pages
* Fix crash-safety bug with newly-created-or-reset sequences
* Fix txid_current() to report the correct epoch when not in hot standby
* Fix bug in startup of Hot Standby when a master transaction has many
subtransactions
* Ensure the backup_label file is fsync'd after pg_start_backup()
* Fix timeout handling in walsender processes
* Back-patch 9.1 improvement to compress the fsync request queue
* Fix LISTEN/NOTIFY to cope better with I/O problems, such as out of disk space
* Only allow autovacuum to be auto-canceled by a directly blocked process
* Improve logging of autovacuum cancels
* Fix WITH attached to a nested set operation (UNION/INTERSECT/EXCEPT)
* Ensure that a whole-row reference to a subquery doesn't include any extra
GROUP BY or ORDER BY columns
* Disallow copying whole-row references in CHECK constraints and index
definitions during CREATE TABLE
* Prevent access to external files/URLs via XML entity references
* Prevent access to external files/URLs via contrib/xml2's xslt_process()
* Prevent too-early recycling of btree index pages
* Fix crash-safety bug with newly-created-or-reset sequences
* Fix race condition in enum-type value comparisons
* Fix txid_current() to report the correct epoch when not in hot standby
* Prevent selection of unsuitable replication connections as the synchronous
standby
* Fix bug in startup of Hot Standby when a master transaction has many
subtransactions
* Ensure the backup_label file is fsync'd after pg_start_backup()
* Fix timeout handling in walsender processes
* Wake walsenders after each background flush by walwriter
* Fix LISTEN/NOTIFY to cope better with I/O problems, such as out of disk space
* Only allow autovacuum to be auto-canceled by a directly blocked process
* Improve logging of autovacuum cancels
* Fix WITH attached to a nested set operation (UNION/INTERSECT/EXCEPT)
code, as this used the NetBSD<5-style variable effective ifreq length.
The patched code works in old and new compilation environments. Patch
optimized by gimpy@.
Upstream change:
2.33 Wed Aug 1 21:03:52 CEST 2012
- internal encode/decode XS wrappers did not expect stack
moves caused by callbacks (analyzed and testcase by Jesse Luehrs).
- add bencode as to/from option in bin/json_xs.
- add -e option to json_xs, and none and string in/out formats.