diff -Nurp inn-2.5.3/CONTRIBUTORS inn-2.5.4/CONTRIBUTORS --- inn-2.5.3/CONTRIBUTORS 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/CONTRIBUTORS 2014-05-17 01:24:49.000000000 -0700 @@ -275,4 +275,5 @@ S.P. Zeidler, Nix, Florian Schlichting, Lars Magne Ingebrigtsen, Sam Varshavchik, Matthew Vernon, Ian Jackson, Edmund H. Ramm, Raphael Barrois, Bo Lindbergh, Matthias Meyser, Dennis Preiser, Paolo Amoroso, Dennis Davis, River Tarnell, Jochen Schmitt, -Tim Fardell +Tim Fardell, Remco Rijnders, David Binderman, Tony Evans, Christian Garbs, +Colin Watson diff -Nurp inn-2.5.3/ChangeLog inn-2.5.4/ChangeLog --- inn-2.5.3/ChangeLog 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/ChangeLog 2014-05-17 01:24:49.000000000 -0700 @@ -1,1732 +1,585 @@ -2012-06-15 iulius +2014-05-17 iulius - * typos + * Typos -2012-06-14 iulius + * Bump version number in FAQ for new INN 2.5.4 release - * prepare the 2.5.3 release - - * Typo fixed in NEWS. - - * Add the 2012 year to LICENSE. - - * Add a contributor of a recent bug fix in CONTRIBUTORS. (Sorry - for having forgotten to commit the file!) - - * Bump the version of the latest release in FAQ. - - * inncheck: skip warning when expected .OLD backup files are found - - Improve commit 9419 by allowing only expected .OLD backup files - (and not all files whose name ends with ".OLD"). + * Mention the expected rights for ncmring.gpg in perl-nocem man + page - * update to latest config.guess and config.sub files + * Update config.guess and config.sub to upstream versions from + 2014-05-17 -2012-06-12 iulius +2014-05-14 iulius - * auth_init() should be optional in perl_auth + * Document already existing res blocks functionality in + readers.conf - The documentation (doc/hook-perl) for nnrpd auth hook says: + * Document res blocks, their log: and program: keywords, and the + include directive in readers.conf man page. - If a Perl function auth_init() is defined by that file, it is - called immediately after the file is loaded. + * Recognize res blocks and their keywords in inncheck. - And later: + * Do not consider as errors in daily reports the lines logged in + news.notice by the log: keyword in readers.conf. - Provided the file loads without errors, auth_init() (if present) - runs without fatal errors, and a Perl function authenticate() is - defined, authenticate() will then be called + * Also teach other known lines to innreport (especially the use + of "ctlinnd xexec" and normal rejection of nnrpd connections + during news.daily operations). - This suggests that auth_init() is optional, but it actually - isn't. When it's not defined, the auth hook will fail: - - 200 isis.rt.uk.eu.org InterNetNews NNRP server INN 2.5.2 ready - (posting ok) authinfo user test 381 Enter password authinfo pass - test 400 Internal error (3). Goodbye! - - It seems more sensible to not require an auth_init() function, as - most hooks probably won't need it. - - Thanks to River Tarnell for the bug report. + * Typo in readers.conf man page (access instead of auth). - * inncheck: skip warning when .OLD backup files are found - - * ctlinnd: check the syntax of the newsfeeds file on reload - - Add a check of the syntax of the newsfeeds file when trying to - reload "all", "active" and "newsfeeds". Otherwise, innd may crash - on reload. - - Thanks to Tim Fardell for the bug report. - - * innreport: ignore invalid dates in daily HTML reports - - Lines containing invalid dates are now skipped by innreport. The - behaviour of innreport was changed by the previous commit because - the use of Time::Local::timelocal() validates the date and fails - when the date is invalid. We now properly skip it. - - Thanks to Petr Novopashenniy for the bug report. - -2012-06-11 iulius - - * fix the generation of HTML pages by innreport during leap years - - An illegal division by zero occurred during the generation of - HTML pages by innreport. - - The problem comes from the parsing of innreport.db. If you have - in this file a change of year for which the hours are the same - between Dec 31th and Jan 1st, then this error is generated. - - For instance: - - news-notice.2010.12.31-04.15.02.html|Dec 31 04:15:02 -- Jan 1 - 04:15:02|28079|2791|7.9 MB|34320|1500|4.6 MB - - There is an issue in how innreport translates these dates. The - ConvDate() function assumes the dates are relative to the - *current* year. So it thinks it has been between Dec 31th 2012 - and Jan 1st 2012 (whereas it was Dec 31th 2010 and Jan 1st 2011). - As 2012 is a leap year, and Dec 31th is after Feb 28th, the - translated date contains an unexpected "+1 day". - - Thus, the main page of innreport HTML generation has not been - updated since the beginning of the year. Note that no HTML report - is lost. They are properly generated. - - Now, innreport makes use of Time::Local to convert dates to - seconds since epoch, thus modifying the behaviour of ConvDate() - which was converting dates to seconds since January, 1st. - - I bet innreport now runs slower, but I think it is better to - achieve robustness (the code using Time::Local seems easier to - read and maintain). - -2012-05-29 iulius - - * add a sample systemd-like init script - - Include in the contrib directory a systemd-like init script for - INN. - - Thanks to Jochen Schmitt (co-maintainer of the inn package of the - Fedora project) for the proposal. - -2012-05-28 iulius - - * add a releaselocks() function to INN::Utils::Shlock - - Improve how to release existing locks. lock() now keeps a trace - of acquired locks; releaselocks() releases all these locks. - Previously, unlock() had to be called on all locks. - -2012-05-03 iulius - - * improve documentation for innflags + * Prevent innwatch from throttling innd when no overview directory + exists Thanks to John F. Morse for the report. -2012-03-04 iulius - - * fixed a trailing extra junk byte in innd answers - - When an error occurs when innd writes on a channel, a trailing - extra junk byte is added to the reply. - - If the write() function fails, "i" is negative and we substract - "i" to cp->Out->left anyway. So if for instance i=-1, we end up - in having cp->Out->left increased by one. Which would add an - extra character after a complete response.(So it appears in fact - before a new response.) - - Issue introduced in changeset [7418]. - - Thanks to River Tarnell for the bug report. - -2012-01-14 iulius - - * fix gcc warning with new Cyrus SASL version - - Cyrus SASL 2.1.25 modified the prototype of SASL callback - functions to fix the "function declaration isn't a prototype" - warning. - - : @@ -33,9 +33,10 @@ * SASL_FAIL -- unable to - find a callback of the requested type * SASL_INTERACT -- caller - must use interaction to get data */ +typedef int - (*sasl_callback_ft)(void); typedef int - sasl_getcallback_t(sasl_conn_t *conn, unsigned long callbackid, - - int (**pproc)(), + sasl_callback_ft * pproc, void **pcontext); - - When using callbacks, we now cast the argument: - (sasl_callback_ft) &getsimple to silent "initialization from - incompatible pointer type" warnings, and define sasl_callback_ft - for older Cyrus SASL versions. - - * fix a segfault when a message does not contain a Newsgroups: - header field + * Mention in news.daily documentation that lowmark requires + expireover - A bug was introduced by [9121] (also in STABLE, but not in a - release). The Newsgroups: header field was strdup'ed before - having checked the validity of all the header fields. It could - therefore be unset, leading to a segfault. - - The check is now done. If the Newsgroups: header field is - missing, this error will still be reported afterwards. And in - case it is set, the presence of a moderated newsgroup is properly - checked, and nnrpd acts accordingly (it does not add or update - Injection-Date:, Injection-Info: and Path: header fields in this - case). - -2012-01-01 iulius - - * fix invalid 431 response when server is paused - - When innd is paused, its 431 response code does not comply with - RFC 4644. The Message-ID is missing. It is now properly present - as first argument to the response code. - - Thanks to River Tarnell for the bug report. - -2011-12-26 iulius - - * build INN before running the test suit - - * test suite: allow the biff service to be named comsat - - On some systems, the comsat alias for biff is first, so a lookup - of UDP port 512 returns it instead. Thanks to Jeffrey Vinocur for - the report. - -2011-12-26 eagle - - * Remove the Linux PAM link from the ckpasswd man page - - Remove link to the Linux PAM System Administrator's Guide from - the ckpasswd man page, since unfortunately it appears to not be - available on-line any more (except from various hosts that just - re-export the Debian /usr/share/doc tree, but those aren't likely - to be stable). + Thanks to John F. Morse for the report. -2011-12-25 iulius +2014-04-13 iulius - * update sendinpaths to use the current top1000 addresses - - As the top1000.org domain name has been discontinued for the TOP - 1000 Usenet stats, update our documentation and sendinpaths to - use top1000.anthologeek.net. + * Update control.ctl to upstream version from 2014-04-06 -2011-09-19 eagle +2014-03-16 iulius - * Stop using INADDR_LOOPBACK + * Fix typo (two "d" in "address") - It looks like the byte order of INADDR_LOOPBACK is indeterminate - and may require htonl on some systems and not on others. Avoid - the issue by not using it and instead just using - htonl(0x7f000001UL). + Also remove the top1000.org domain that no longer exists. -2011-09-13 iulius +2014-03-15 iulius - * skip leading whitespace in Xref: header fields when running as a - slave - - Fix a regression that occurred in INN 2.5.0 when leading - whitespace 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. + * Fix AC_LANG_PROGRAM warnings from Autoconf 2.68 - Thanks to Matija Nalis for having caught this bug. - - * fix the end of the header in archive (it was 1 byte too long) - -2011-09-04 iulius - - * add documentation for procbatch + Autoconf 2.68 complains with several: AC_LANG_CONFTEST: no + AC_LANG_SOURCE call detected in body - New documentation written by Florian Schlichting, with the help - of a memo by Russ Allbery. + Libtool 2.4 (used by INN 2.6) fixed the issue but as INN 2.5 + still uses Libtool 2.2.6b, just backport commit + 2680f79c22e6bb1f8b9c7b5428da728b7e028b0c from git Libtool. - Add a link to this new documentation in innfeed and news.daily - documentation. Use "$INN::Config::pathtmp" instead of - "INN::Config::$spooltmp" in procbatch. (The two variables are the - same; the first one is more wide-spread.) - - Add a warning if -s is used without -c, and if -t is used without - -m. - -2011-08-31 iulius + * m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Fix underquoted + AC_LANG_PROGRAM call. * m4/libtool.m4 (_LT_LINKER_SHLIBS) [irix, + GCC]: Use the right source for the given language. - * silent a log message about FD_SETSIZE + * Handle several UIDs on PGP keys when verifying control messages - As rlimitnofile is set to "-1" by default, innd should handle - silently a decrease of available file descriptors to FD_SETSIZE - minus 1. + 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). -2011-08-22 iulius +2014-03-13 iulius - * Update changelog + * Update copyright years - * Cast the argument to toupper() - - Following the previous commit dealing with tolower(), cast the - argument to an unsigned char. + * Update control.ctl to upstream version from 2014-03-13 -2011-08-21 eagle + * Update install-sh to upstream version from 2014-03-13 - * Cast the argument to tolower() - - Like the other ctype.h functions, tolower takes an int, which on - systems with signed chars can result in unexpected type promotion - and broken behavior. Follow best practice of always casting the - argument to an unsigned char. - - Remove some dead code in the innfeed config parser. + * Update config.guess and config.sub to upstream versions from + 2014-03-13 -2011-08-21 iulius +2014-02-17 iulius - * update copyright years - -2011-08-21 eagle - - * Fix warning suppression in getnameinfo replacement - - When lengths that may be 0 are cast to unsigned before - subtracting one, we may get underflow. Move the subtraction to an - addition on the other side of the comparison. Use const void * as - the cast for calling gethostbyaddr, since it's more general than - char *. - -2011-08-20 iulius - - * strictly check the syntax of a token - - * Check that the last argument to "ctlinnd addhist" is either '' - or a valid token; - - * Use @000000000000000000000000000000000000@ when the token is - empty ('') for "ctlinnd addhist", or badly formatted for any - other function calling TextToToken(); - - * Fix the result of the hexadecimal conversion when a lowercase - character is used. Transform it to an uppercase character. - - * Reject invalid tokens containing '@' or lowercase characters. - (They were previously wrongly accepted.) - - Previously: - - % ctlinnd addhist '' 1312575175 1312575175 1312575175 '' - Ok % grephistory -e '' - @95A9ADC6403A29596359BECC38B651C17020@ - - % ctlinnd addhist '' 1312575175 1312575175 1312575175 - '@aaaaaaaaaaaaaaaaaaaaa@' Ok % grephistory -e '' - @CACACACACACACACACACAA9BA95191402003F@ - - % ctlinnd addhist '' 1312575175 1312575175 1312575175 - '@a' Ok % grephistory -e '' - @CAA95191C66E8A89FC1B8B495EFE9EE9301E@ - - Memory was not properly initialized. - - Now, the first command uses - @000000000000000000000000000000000000@ and the others are - rejected, as invalid. - -2011-08-19 iulius - - * backport changes from rra-c-util 3.7 - - * tests/Makefile: add support for "make tests" in the tests - directory. - - * tests/Makefile: add support for $SOURCE and $BUILD in runtests. - - * lib/messages.c: add a flush at the end of message_log_stdout. - - * lib/mkstemp.c: add a check for (errno != EISDIR). - - * lib/network.c: typo. + * improve documentation about using storeonxref with tradspool - * lib/snprintf.c: remove the HAVE_LONG_DOUBLE check. All modern - compilers have "long double". - - * fix the libtest support files to make the new libtest format work + Mention in the inn.conf man page that storeonxref needs being set + to true in case the tradspool article storage method is used. - In case the test suite is updated in the 2.5 branch, make sure - the new C TAP format work. - -2011-08-16 iulius + Though a few parts of tradspool handle both values for + storeonxref, the implementation when storeonxref is false is not + complete. For instance, CrackXref() is still called on the + Newsgroups: header once, which obviously fails. - * docheckgroups: no longer use awk - - On a few systems, docheckgroups fails because of the use of an - old version of awk. A few awk implementations have a limit in the - size of the input they can process; it then cause issues with - large newsgroups files. + * do not install motd files by default, but only samples - Use Perl instead of awk for the time being. It solves these - issues. Successfully tested on a system where docheckgroups was - previously failing. Thanks to John F. Morse for the bug report. - - The next step will be a total rewrite of docheckgroups. It will - be much more maintainable as a Perl script. + 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. - * cnfsstat: reload configuration files when modified + * readers.conf: make mandatory the program: key in res blocks - cnfsstat now reloads storage.conf and cycbuff.conf if they have - been modified since the last iteration of the script (started - with the "-l" flag). Otherwise, the new configuration is not - taken into account by a "ctlinnd xexec" command; only rc.news - starts cnfsstat. + Fixed a segfault occurring in nnrpd when a res block was used in + readers.conf without the program: key. - Also change the "Cannot open CycBuff Conffile" message because it - is not always true. The message can be logged when an error - occurs during the parsing of the file. Sometimes, even when the - parsing was incorrect, the file was accepted. This behaviour is - also fixed, and the file is refused at cnfsstat startup. - - * fix an error in rc.news documentation about ovmethod and - docnfsstat - -2011-08-10 iulius + This key is now explicitly made mandatory. - * improve the sample init script + * nnrpd: fixed an overlapping copy - Based on the Debian package. (Current maintainer: Marco d'Itri.) - - * inncheck: allow to skip the check for certain files + Fixed an issue where users were denied posting because of an + overlapping buffer copy in a check nnrpd was doing. - Setting an empty value to a file to check permits to skip the - actual check. It is useful for people who are not running all the - programs shipped with INN (for instance innfeed, in which case - innfeed.conf is unnecessary). + The error seen was "address not in Internet syntax" while using a + From: address of the form . Debugging revealed that + nnrpd copies a buffer into itself to look at the part behind the + "@", and for very specific inputs on an old version of nnrpd that + still uses strcpy, the result did not contain the dot separating + the top-level domain any more. Thanks to Florian Schlichting for the patch. - * inncheck: mention that the run-away quote warning may be a false - positive - - Note: In cases where an option value spans more than two lines, - i.e. there is at least one line that doesn't even contain a - single double-quote, there will also be an error messages about - an invalid option name as well as one about a missing colon... - - Thanks to Jeffrey M. Vinocur and Florian Schlichting for this - suggestion. +2014-02-08 iulius - * pullnews: no longer modify invalid empty header fields - - pullnews MUST NOT modify header lines by default. Remove the part - of the code that was removing empty header lines. - - According to RFC 5537: - - 3.6. Duties of a Relaying Agent + * add a valid shell when su'ing to the news user - Relaying agents MUST NOT alter, delete, or rearrange any part of - an article except for the Path and Xref header fields. They MUST - NOT modify the body of articles in any way. If an article is not - acceptable as is, the article MUST be rejected rather than - modified. + Pass "-s /bin/sh" to "su news" to cope with the change of the + news user's shell in base-passwd 3.5.30. - Also, fix the first lines of the script to no longer say that - pullnews can be used without INN. (We use shlock.) + Thanks to Colin Watson for the patch. -2011-08-09 iulius +2013-12-27 iulius - * declare the use of INN::Config in pullnews - - Backport part of commit 9100 to commit 9304. Commit 9100 was - designed for INN 2.6.0 only but later commit 9304 added a shared - part of commit 9100 for INN 2.5.3 (still not released). Backport - that shared part. - - Many thanks to Florian Schlichting for the bug report. - -2011-08-06 iulius + * Mention that --with-sasl requires Cyrus SASL (and not SASL). - * update to latest control.ctl file +2013-12-19 iulius - * confusion in the name of the "die" function + * fix typo - * fix compilation of tagged-hash history format when warnings are - on - - Variables names have changed since the last time a build in debug - mode was done. + * rewording so as to make the documentation of noresendid clearer - * update our support files to the latest autoconf version (HEAD) + * mention innduct as a possible replacement for innfeed, innxmit + and nntpsend - * update our support files to the latest automake version (HEAD) +2013-12-14 iulius - * check for wrong leading characters in passwd (for instance a - commented line with //) + * ckpasswd: check for both gdbm/ndbm.h and gdbm-ndbm.h headers - Thanks to Florian Schlichting for the patch. - - * remove inncheck warning about an empty newsfeeds ME entry + libgdbm-dev in Debian provides /usr/include/gdbm-ndbm.h whereas + gdbm-devel in Red Hat provides /usr/include/gdbm/ndbm.h; INN then + has to make sure to search for the right header file when DBM + support is found. Define HAVE_GDBM_SLASH_NDBM_H and + HAVE_GDBM_HYPHEN_NDBM_H instead of HAVE_GDBM_NDBM_H to properly + disambiguate the two headers that are mapped to the same + preprocessor name by Autoconf. - INN works without problems when the newsfeeds ME entry is empty. - inncheck no longer warns about an empty ME entry. - - Thanks to Florian Schlichting for the patch. + Thanks to Jesse Rehmer for the bug report. - * fix unsigned/signed conversions +2013-12-12 iulius - * fix Makefile inclusion variable for Berkeley DB + * innd: fix a segfault when running news.daily - Use the right DB_CPPFLAGS variable instead of BERKELEY_DB_CFLAGS. - - * fix gcc 4.6.1 warnings about unused variables - - * add missing types (used in innfeed/config_l.c) - - * fix an autoconf issue with missing brackets - - * fix issues with calls to getgroups() - - Properly check that the getgroups() functions exists and works - before trying to use it. - - Also use GETGROUPS_T set by configure to be whichever of gid_t or - int is the base type of the array argument to getgroups(). - - * use new AC_CHECK_TYPE autoconf syntax - - Autoconf versions prior to 2.13 provide a now deprecated version - of the AC_CHECK_TYPE macro. It was doing more than a CHECK, and - was also defining missing types with #define instead of typedef. + On systems where time_t is a 64-bit integer, innd segfaults on + "ctlinnd name" commands (for instance when news.daily uses these + commands on connected peers). - Swith to the preferred syntax with AC_CHECK_TYPES and typedef. + Thanks to S.P. Zeidler for the patch. - * include if available - - Do not include only when is available. It - is required by the XSI extensions to POSIX and may be the only - place that strncasecmp, for instance, is prototyped on some - platforms like FreeBSD. +2013-12-09 iulius - * better documentation of the available variables in INN::Config - - Document how to obtain the existing INN::Config variables; - provide a Perl script that gives the list. - - Add support for the "undef" value in "innconfval -p" (Perl - output) so that the list could be exhaustive. - - Add a way to retrieve the real short version ("x.y.z") instead of - a long string ("INN x.y.z (prerelease 20110622)"). - $INN::Config::VERSION now contains the short version. - - * sendinpaths: complete rewrite in Perl - - Switch to a new sendinpaths program written in Perl. Based on - Mohan Kokal's work. + * innreport: update the pattern for "strange strings" - New -c, -d and -h flags for a copy of the e-mail to the - newsmaster, a debug mode, and a usage information. + The "Including strange strings" innreport section is now back in + daily Usenet reports. Fix regression introduced with commit + [8389]. -2011-08-04 iulius +2013-12-06 eagle - * add an INN::Utils::Shlock module to wrap shlock in Perl scripts + * Update the URL for BerkeleyDB - Calling shlock (a program shipped with INN) is more portable than - using flock(2) and its corresponding Perl function because this - function does not work as expected on all existing systems (for - instance on Solaris). - - This patch: - - * contains POD documentation for INN::Utils::Shlock; - - * adds support for INN::Utils::Shlock instead of flock(2) in - pullnews and mailpost. - - * uses INN::Utils::Shlock instead of a subfunction calling - shlock(1) in controlchan, thdexpire and send-uucp. - - Thanks to Dennis Davis for the bug report. + Oracle has gratuitously reorganized their web pages yet again. - * add POD documentation for scanspool - - Many thanks to Florian Schlichting for the creation of the POD - documentation. +2013-11-26 iulius -2011-07-21 eagle - - * Fix broken PGP link in install documentation + * update links to ISC and Trac - Remove the paragraph about installing the commercial version of - PGP, since www.pgp.com now redirects to the Symantec product - page, which makes no mention of the PGP that would be of interest - to an INN installer. + * Russ' web site now lists the contributed links that were on the + old ISC web site (the new ISC web site is only a download page of + the last release). * Accessing Trac now requires a TLS + connection. -2011-07-20 iulius +2013-11-17 iulius - * improve scripts to send Path: statistics - - Add two flags to sendinpaths: -k and -r permit to control the - interval of days for processing dump files. It will allow a - proper generation of daily statistics. - - Also fixed an issue with statistics that could be missing for a - couple of days when monthly sent. + * fix the path to simpleftp in innshellvars and INN::Config - Improve our documentation. + When neither wget nor ncftpget nor ncftp was found at configure + time, the path to the simpleftp substitution program shipped with + INN was not proprely set in innshellvars, innshellvars.pl, and + the INN::Config Perl module. Thanks to Christian Garbs for the + bug report. -2011-07-17 iulius +2013-11-10 iulius - * Update our changelog for INN 2.5.3. - - * fix a compilation warning + * getnameinfo.c: sync with rra-c-util - Make sure FD_SETSIZE is strictly positive. Cast for an unsigned - comparison. Fix a potential bug of affecting -1 to i in case - FD_SETSIZE was 0. + Check the return status of snprintf instead of assuming that it + will always succeed. - * Update our test suite to use the official C TAP Harness release - (version 1.7). Well, for the time being, use the legacy syntax - for the test suite. A variable named LIBTEST_NEW_FORMAT can be - set at the beginning of a test so as to use the new syntax. - - Use cat, grep -v and echo instead of sed. The sed syntax is too - different depending on the platform. - - Homogeneize the CleanupAndExit() function of fakeinnd with the - real one. +2013-11-06 iulius - * tradindexed remap of index files when writes out of order - - The overview IDX files aren't being re-read after an article is - written to them -- the failing tests (in xref.t, in the test - suite) are the places where a stored overview line is read back - to check that it was stored correctly, except for the first time - each group is read (tests 2-5, 11-18) and when the high water - mark is advanced (7-10), which work correctly. + * socket.h: add socket_set_errno - There isn't any mechanism in the source code for the files to be - refreshed except in the case that the high water mark has been - advanced. On systems which don't have MMAP_MISSES_WRITES, perhaps - the underlying write shows up automatically (?) + Fix a build error because of the introduction of socket_set_errno + in commit [9557]. - Thanks to Wim Lewis for the bug report. + Backport commit [9345] to the 2.5 branch. - * add a default timeout on outgoing sockets (NNTPconnect) - - For a long time, there have been occasional problems with actsync - syncing from certain servers: instead of erroring out and exiting - (with "cannot connect to server: Connection timed out" or - alternatively "cannot connect to server: Success"), actsync would - hang until manually killed, sometimes for days. - - gdb shows actsync is hanging in a call to fgets in NNTPconnect() - (from actsync.c:get_active()). innxmit and innxbatch can use - alarm() to set a timeout but other users of NNTPconnect, such as - nntpget, rnews, clientlib.c and nnrpd/post.c apparently don't. - - Implement SO_RCVTIMEO with the default timeout of 300 seconds - (set in include/inn/options.h). - - The raised error will be: "actsync: cannot connect to server: - Resource temporarily unavailable" - - Thanks to Florian Schlichting for the patch. +2013-11-06 eagle - * inncheck: properly find the boundaries of substituted variables - in newsfeeds - - Thanks to Alexander Bartolich for the bug report, and also the - patch. + * Fix another outdated link to BerkeleyDB in the ovdb documentation - * check of global values vs per-peer values in innfeed.conf - - * As no keys are actually required in innfeed.conf, update - inncheck accordingly. - - * Update inncheck, the man page and the innfeed.conf sample file - to correctly mention that deliver-* keys for imapfeed must be - specified at global scope. - - * initial-sleep is a global value; close-period is a per-peer - value. Update inncheck accordingly. - - * check all the default values in innfeed.conf (documentation, - sample, source code) - - * Change the default dynamic method from 0 to 3. It already was - the recommended value in the documentation, and the default value - in the sample innfeed.conf file. - - * Change the default use-mmap setting from true to false. It - already was the recommended value in the documentation. The value - of this parameter is only used when innfeed is given file names - to send instead of storage API tokens, which is a fairly rare use - case. - - * No longer generate an error message (logged in news.err) when a - parameter is not defined in innfeed.conf. It has a default value, - so no need to warn the user. (Also updated in innreport.) - - * Add a "noreturn" hint to the compiler for the dump_core() - function. - - * Homogeneize tape.c with host.c for the default values of - backlog-limit, backlog-factor and backlog-limit-highwater. - - * Log a few more parameters in innfeed.status: "Stats period", - "Stats reset", "Debug shrinking", "Fast exit", "stdio-fdmax", - "reconnection time", "max reconnection time", "DNS retry period", - "DNS expire period", "port num", "force IPv4", "backlog - highwater", "highwater queue". - - * Documentation fixes: - "pid-file" is relative to "pathrun", and - not "backlog-directory"; - "log-file" is relative to "pathlog", - and not "backlog-directory"; - "initial-sleep" is a global value, - and not per-peer; - "close-period" is a per-peer value, and not a - global value; - "max-reconnect-time" is mispelled once in the - documentation; - specify that *no* keys are mandatory. They are - all optional, and have a default value (all of them are now - mentioned in the documentation). - - * Documentation additions: - If a file named "innfeed.debug" - exists in the "pathlog" directory, then "debug-level" is - automatically set to 1. This is a cheap way of avoiding continual - reloading of the "newsfeeds" file when debugging. Note that debug - messages still go to "log-file"; - "backlog-directory" is - relative to "pathspool"; - "status-file" can be set to an - absolute path. - - * inncheck: eliminate perl4-style subroutine calls with &function - - Patch from Florian Schlichting. - - * improve checks on passwd.nntp - - Improve the error message when the parsed lined is in wrong - format: "Argument list too long" (E2BIG) instead of "Numerical - argument out of domain" (EDOM). - - Also catch a new kind of error in passwd.nntp: any line prior to - a matching , which is not empty or starts with a hash, - but contains a third colon somewhere that is not followed by - "authinfo". - - Thanks to Florian Schlichting for the patch. + * Fix broken link for obtaining Perl in Perl hook documentation - * inncheck: use Getopt::Long - - Improve the way inncheck parses the command line arguments. The - last matching argument is taken into account (consequently, - "--noperm --perm --noperm" is valid, as well as "-q -v"). - - As -perm is not just the opposite of -noperm, $perms is handled - differently. So 1 is -perm, 0 is -noperm, and -1 is neither. - - Use --fix, --perms, etc. in our documentation. Keep -fix, -perms, - etc. for backward compatibility. - - Thanks to Florian Schlichting for this patch. +2013-11-05 iulius - * inncheck: improvements in checks - - * inncheck was looking for require-ssl instead of require_ssl; - and it wasn't accepting IPv6 addresses in CIDR notation at all. - - * Allow uppercase characters in IPv6 addresses. RFC 5952 section - 4 / 4.3 says that all characters in an IPv6 address MUST be - textually represented in lowercase and advises that humans should - do so, too. At the same time, all implementations must be able to - accept both lowercase and uppercase. + * inet_ntop.c: sync with rra-c-util - * Suppress (useless and misleading) error messages after an error - is detected, until the parser is back in sync. The drawback is - that it will hide two consecutive errors until the first one gets - fixed. + - Use socket_set_errno instead of assigning to errno. - * Allow not to specify the maximum size in storage.conf. "size: - 16384," was treated as an error though it was totally valid and - meant "no upper limit". - - * Recognize inclusions in readers.conf and innfeed.conf. inncheck - will ignore the include statement. The drawback is that every - file must be self-contained on its own: a file must be a - "complete" set of blocks and options. In order to check the - included file, inncheck has to be run again on it (with for - instance the option "readers.conf=/path/to/included/file"). - - Patch from Florian Schlichting. + - Check the return status of snprintf in the inet_ntop + replacement function instead of assuming that it will always + succeed. - * inncheck: generate a proper exit value and allow quiet (-q) - operation - - Add support for a quiet mode (with the -q flag). This flag cannot - be used along with the exiting -v flag (verbose mode). - - Also add a non-zero exit value when errors are found. - - Thanks to Florian Schlichting for this patch. +2013-11-03 iulius - * innfeed.conf: fix documentation wrt. floating-point and optional - values - - Move bindaddress and bindaddress6 to the (newly created) optional - section. - - dynamic-backlog-low and dynamic-backlog-high expect - floating-point values, and not integer values. - - All of the special keys for imapfeed are not required. - - Thanks to Florian Schlichting for the main part of this patch. + * update changelog for previous commit [9538] - * inncheck: actually check incoming.conf/readers.conf, as well as - innfeed.conf and storage.conf (generic config-syntax parser) - - IDEA: Be more restrictive than current parsers and config-syntax - / lib/confparse.c combined, so that anything that passes inncheck - will be OK both now and in the future. - - A few notes: - cuddled braces: config-syntax says there doesn't - need to be white-space inside, but incoming.conf parser in - innd/rc.c requires it (at least after "{") => DO REQUIRE - WHITESPACE, as it will work everywhere - double quotes: - config-syntax says strings can be continued on multiple lines by - means of a backslash; incoming.conf parser in innd/rc.c does not - know about backslashes, but will continue over newlines until - matching " is found or 32K exceeded => DO REQUIRE strings to stay - on one line - comments: config-syntax says "comments at the end - of lines aren't permitted", but this seems to be standard - practice... Weird things can happen if a "#" is encountered - inside a string - multiple variables: config-syntax says multiple - variable settings can be on one line when separated by semicolon; - incoming.conf parser knows nothing about this - double - assignments: in practice, the latter takes precedence, says - config-syntax, though I wouldn't bet on it for current - incoming.conf... + * asprintf.c: synchronize with rra-c-util - Many thanks to Florian Schlichting for this pretty useful patch. + In the vasprintf replacement, preserve errno if snprintf fails + when formatting the string into the newly-allocated buffer. - * let innd -S check incoming.conf - - The fully-useful check will have to wait for the new config - parser being used... - - Thanks to Florian Schlichting for this new -S flag. +2013-10-05 eagle - * inncheck: make perlcritic happy (a little bit at a time...) - - One of these is a bug: an error message was not shown (for - passwd.nntp). - - Thanks to Florian Schlichting for this patch. + * Perl and BerkeleyDB URL updates - * inncheck: run under 'use strict'. - - Also don't use hashes with package names (e.g., - %control'messages) as it's an ancient form and prevents syntax - checking. - - Thanks to Florian Schlichting for the improvement. +2013-09-22 eagle - * inncheck: delete long-unsused cruft. - - innlog.pl was the precursor to innreport... - - Thanks to Florian Schlichting for the clean up. + * Fix link to the NoCeM registry in the perl-nocem documentation - * clean up innd code - - Add the "noreturn" attribute to two functions. - - Fix a typo, add a comment, add an explicit comparison to NULL. +2013-09-20 iulius - * implement an upper limit to the number of file descriptors - - select() only handles (FD_SETSIZE-1) file descriptors at most. - Otherwise, macros like FD_SET have an unexpected behaviour. + * fix include directories at configure time for Berkeley DB support - Force this upper limit right now (usually 1023). In future - versions of INN, hopefully libevent will deal with a larger - number of file descriptors. - - Thanks to Steve Crook for the bug report. + Do not add /usr/include and /usr/lib to compiler and linker + include directories. - * better check of the rights on the private key for TLS connections - - Use stat() instead of lstat(). The permissions of the symlink are - irrelevant; we only care about the permissions of the underlying - file. - - Use getegid() instead of getgid(). - - The news group is fairly trusted already by INN. Ensure that if - the mode is 440 or 640, the group owner is the news group (to - prevent the failure case of having news:users as the owner and - group). - - In the error message, a wrong path to the key was put (cert_file - instead of key_file). + * fix ovdb documentation about --with-berkeleydb - Thanks to Florian Schlichting for having reported the issue, and - to Russ Allbery for his help on the fix. + Since commit [7819], likely locations like /usr/include/db44 or + /usr/local/BerkeleyDB.4.4 are no longer checked. - * add 'use strict' mode to signcontrol - - Clean up these Perl scripts. - - Use LOCK_EX instead of the value 2. - - Thanks to Florian Schlichting for this patch. +2013-08-25 iulius - * STARTTLS / AUTHINFO SASL plaintext command injection - - 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. - - The issue has been present since INN 2.3.0 (when STARTTLS was - implemented). - - Confirmed when sending "STARTTLS\r\nDATE\r\n" with openssl: + * improve the detection of ndbm compatibility layer - 17:04 news@trigo ~/work/openssl/openssl-1.0.0d% apps/openssl - s_client -quiet -starttls smtp -connect news.trigofacile.com:119 - didn't found starttls in server response, try anyway... depth=0 C - = FR, ST = news.trigofacile.com, O = news.trigofacile.com, CN = - news.trigofacile.com verify error:num=18:self signed certificate - verify return:1 depth=0 C = FR, ST = news.trigofacile.com, O = - news.trigofacile.com, CN = news.trigofacile.com verify return:1 - 500 What? 111 20110403150413 QUIT 205 Bye! + When INN is configured with Berkeley DB support, ckpasswd tries + to use the ndbm compatibility layer provided by Berkeley DB even + though Berkeley DB was not built with ndbm support. This patch + fixes that, by detecting at configure time that Berkeley DB + really has its ndbm compatibility layer. - The 500 artefact is because of the EHLO sent by openssl before - STARTTLS. We see here that the DATE command is answered. - - With this patch, here is a new attempt with openssl: - - 17:06 news@trigo ~/work/openssl/openssl-1.0.0d% apps/openssl - s_client -quiet -starttls smtp -connect news.trigofacile.com:119 - didn't found starttls in server response, try anyway... depth=0 C - = FR, ST = news.trigofacile.com, O = news.trigofacile.com, CN = - news.trigofacile.com verify error:num=18:self signed certificate - verify return:1 depth=0 C = FR, ST = news.trigofacile.com, O = - news.trigofacile.com, CN = news.trigofacile.com verify return:1 - 500 What? DATE 111 20110403150638 QUIT 205 Bye! - - The answer to DATE is not given after "500 What?". We had to - explicitly ask for it. The issue is therefore solved. + Also add support for gdbm libraries in ckpasswd. - * add 'use strict' mode to cnfsheadconf, cnfsstat, innmail and - procbatch + * do not use yyget_leng() function as it is not defined by old flex + versions - Clean up these Perl scripts. - - Thanks to Florian Schlichting for this patch. + Better keep using yyleng, still cast to size_t. - * add 'use strict' mode to mod-active - - Clean up the Perl script (especially a rewrite of the eval() - call). - - Restart INN automatically before (and if) dying, when the old - active file is still present. - - Thanks to Florian Schlichting for this patch. +2013-08-01 iulius - * add support for wire-formatted articles in scanspool + * ckpasswd: use Berkeley DB ndbm compatibility layer first - Remove \r from the Newsgroups: header field when parsing it. - Otherwise, scanspool can not properly parse articles stored in - wire-format, and wrongly report that the article does not belong - in its newsgroup. + On a few systems like Fedora 18 ppc64, the GNU dbm library + shipped as ndbm.h is not usable. - Also initialize two variables, and make sure a hash value exists, - to silent three warnings during the execution of scanspool. + ckpasswd.c: In function 'password_dbm': ckpasswd.c:165:5: + warning: passing argument 1 of 'dbm_open' discards 'const' + qualifier from pointer target type [enabled by default] database + = dbm_open(file, O_RDONLY, 0600); ^ In file included from + ckpasswd.c:30:0: /usr/include/ndbm.h:55:14: note: expected 'char + *' but argument is of type 'const char *' extern DBM *dbm_open + (char *file, int flags, int mode); ^ ckpasswd.o: In function + `password_dbm': + /home/iulius/autobuild/inn/authprogs/ckpasswd.c:165: undefined + reference to `dbm_open' + /home/iulius/autobuild/inn/authprogs/ckpasswd.c:170: undefined + reference to `dbm_fetch' + /home/iulius/autobuild/inn/authprogs/ckpasswd.c:177: undefined + reference to `dbm_close' + /home/iulius/autobuild/inn/authprogs/ckpasswd.c:172: undefined + reference to `dbm_close' collect2: error: ld returned 1 exit + status - * add 'use strict' mode to scanspool - - Clean up the Perl script. - - Thanks to Florian Schlichting for this patch. +2013-07-31 iulius - * fix compilation issues and useless prototypes - - * Remove the useless timerCallback() function. - - * Add a missing argument in a call to prepareWrite(). - - * "len" should be a socklen_t and not an int. + * fix three casts to unsigned char when using toupper() - * "program" was not declared as a char*. - - * Better names for variables. - - * Remove useless prototypes, and make a few functions as static. - - * Typos in comments. - - Thanks for Florian Schlichting for the main part of the patch. + GCC complains because of char-subscripts warnings. - * fix a bug in the frequency innfeed logs its status - - innfeed was printing lots of useless lines to news.notice. + * fix build with flex 2.5.36+ - TMRnow() doesn't return the current time, as innfeed was assuming - in the code, but the readily usable number of milliseconds since - the last call to TMRsummary() or TMRinit(). - - Thanks to Florian Schlichting for the patch. + Cast yyget_leng() to size_t because it used to be an int in flex + versions anterior to 2.5.35 (not included). - * Build INN with the new "-Wunused-but-set-variable" GCC 4.6.0 - warning. - - Remove unused variables. - - At the same time, do a bit of cleaning! (Useless whitespaces, - useful (for reading) whitespaces, one-line if conditions, - "conn_ret" type instead of "int".) - - Also add checks to WriteToWire_lmtpstr() results, so as to really - return the result (and properly disconnect the session on error), - instead of returning RET_OK as though everything were OK. - - Same thing for WriteToWire_imapstr() at a few places. - - No need to be in any auth step when we are about to close the - IMAP session after a failure of WriteToWire_imapstr(). +2013-07-22 eagle - * Build INN with the new "-Wunused-but-set-variable" GCC 4.6.0 - warning. - - Remove unused variable "amt", and at the same time two useless - TRUST_FPRINTF and NO_TRUST_STRLEN branches. + * Update the URL for NoCeM - * Build INN with the new "-Wunused-but-set-variable" and - "-Wunused-but-set-parameter" GCC 4.6.0 warnings. - - Remove unused variables. - - Also fix a potential issue with the incorrect handling of structs - when passed by value instead of by reference. Maybe a - compiler-specific behaviour. + * Fix another old URL for downloading Perl - * Build INN with the new "-Wunused-but-set-variable" GCC 4.6.0 - warning. - - Remove unused "c" variable. - - Well, better rewrite the function at the same time. Thanks to - Russ Allbery for the new array parsing code. + * Update URL to download Perl in the Perl hook documentation - * Build INN with the new "-Wunused-but-set-variable" and - "-Wunused-but-set-parameter" GCC 4.6.0 warnings. - - Remove unused variables. - - In innd/python.c, also use "wasspace" as a boolean. - - In tests/overview/api-t.c, keep the "expires" variable because it - is set afterwards in the code to the right expected value. Though - unused after being set, it is worth keeping it for the day when - the overview API uses the value. +2013-07-08 iulius - * Build INN with the new "-Wunused-but-set-variable" GCC 4.6.0 - warning. It was complaining about an unused "sv" variable. - - This commit fixes the following issues: * innd and nnrpd - segfaults because of a corrupted Perl stack. A copy of the Perl - stack pointer is saved at several places in the code but not - always restored the way it should be. For instance, PerlFilter() - calls could reallocate the Perl stack and subsequently cause - failures when the stack is used afterwards. Make sure that the - Perl stack could not be modified twice in the row without being - properly updated at global scope. - - * use ENTER-SAVETMPS-PUSHMARK-PUTBACK and - SPAGAIN-PUTBACK-FREETMPS-LEAVE macros whenever they are required. - Note that call_argv() does not need PUSHMARK-PUTBACK. + * pullnews: fixed a Perl warning - * fixed two memory leaks because of a xasprintf() which was not - free'd. + Latest Perl versions catch this use of uninitialized variable. - * documentation of the filter_end() Perl routine that is called, - if defined, prior to the deactivation of Perl filters. Both used - by innd and nnrpd when Perl filtering is turned off (either with - "ctlinnd perl n" or when a Perl function dies at run time). + Thanks to Tony Evans for the bug report. -2011-07-12 iulius - - * controlchan: impose a date cutoff, block the replay of old - control articles - - controlchan now uses convdate to parse dates. Otherwise, with the - new Injection-Date: header field, old control articles could be - maliciously reinjected into Usenet, and replayed. - - The Injection-Date: header of old control articles is not always - signed... - - controlchan now imposes a date cutoff. - - According to RFC 5537, a relaying agent processes an article as - follows: + * pullnews: looks for the config file in the running user's home + directory - 2. It MUST examine the Injection-Date header field or, if absent, - the Date header field, and reject the article if that date is - more than 24 hours into the future. It MAY reject articles with - dates in the future with a smaller margin than 24 hours. + After commits [9304] and [9330], INN 2.5.3 broke the legacy + behaviour of pullnews looking for its configuration file in the + running user's home directory. Adding INN::Config changed the + $HOME environment variable to the news user's home directory (in + fact the pathnews parameter set in inn.conf). Besides, pullnews + was no longer useable outside INN. - That is to say that the Date: header field can be set to anything - when an Injection-Date header field exists. + Fixed these issues by: - making INN::Config and + INN::Utils::Shlock optional. If these Perl modules are not + present, pullnews falls back to its legacy handle of locks (that + is unfortunately broken in Solaris); - setting the home directory + to the one of the running user. - Add a "-c" flag to controlchan to disable the cutoff check. On a - date parsing failure, controlchan rejects the message (which will - be actually process only with the "-c" flag disactivating the - cutoff check). - - Also add a "-h" flag to print basic usage information. - - Convert controlchan man page into POD: * mention - control.ctl.local; * document the "-c" and "-h" flags; * document - the need for the Perl modules Encode and MIME::Parser; * add an - example of how to manually invoke controlchan. - -2011-06-11 iulius + Thanks to Tony Evans for the bug report. - * Use "localhost" instead of "stdin" in injection fields when an - article is posted from the local system. - - Suggestion from Dieter Stussy and Paolo Amoroso. +2013-07-01 iulius - * Fix the build on MacOS because of common variables. We just - declare them as non-common by adding initialisations. - - Root cause seems to be that ranlib behaves different on MacOS X. - By default, ranlib (actual libtool, ranlib is a symbolic link to - libtool) doesn't put common symbols in the index. From ranlib(1): - - -c Include common symbols as definitions with respect to the - table of contents. This is seldom the intended behavior for - linking from a library, as it forces the linking of a library - member just because it uses an uninitialized global that is - undefined at that point in the linking. This option is included - only because this was the original behavior of ranlib. This - option is not the default. + * clarify distribution restrictions in the ME entry of the + newsfeeds sample file - Thanks to Dennis Preiser and vi Bo Lindbergh for the patch. + Note in the newsfeeds sample file that restrictions on accepted + distributions will have no effect if the article has no + distribution at all. - Also remove the three now unnecessary mentions to shmem.o, - expire.o and ov.o in ovmethod.mk. + Follow up commit [9500]. -2011-04-16 iulius +2013-07-01 eagle - * Document the format of ninpaths dump files. + * Clarify distribution restrictions on articles with none - Add a symbolic link for inpaths(8) to ninpaths(8). - - Mention that INN 1.7 supports the WP newsfeeds flag. - - * The simpleftp script does not switch to binary mode before - transferring files. - - If it is used by actsyncd to get active.gz from ftp.isc.org, the - transferred archive is corrupted. - - Thanks to Matthias Meyser for the bug report. + Note in the newsfeeds man page that restrictions on accepted + distributions will have no deffect if the article has no + distribution at all. - * OVrealnow is declared twice in storage/overinterface.h. - - Thanks to Dennis Preiser for the report. +2013-06-25 iulius - * On some OS (like FreeBSD), renice emits a status report to - STDERR. + * fix a few resource leaks - When using sendinpaths, which uses renice, in a cronjob, an email - is sent every time with that report. STDERR is now redirected to - /dev/null. + A few files were remaining open. - Thanks to Matthias Meyser for having reported the issue. + Thanks to David Binderman for having reported the issue. - * Convert the innfeed.conf man page to POD. - - * Add backlog-highwater, news-spool and input-file in the - innfeed.conf sample file. + * imapfeed: fix buffer overflow - * Add fast-exit, debug-shrinking and initial-sleep in both the - documentation and the sample file. + Fixed a buffer overflow when using imapfeed with more than a + million commands during the same IMAP session. - * To match what innfeed does by default : - change - host-queue-highwater from 200 to 10 in the sample file - change - max-connections from 5 to 2 in the sample file - change - dynamic-backlog-low from 25.0 to 20.0 in the sample file - - * innfeed/host.c was expecting "backlog-limit-high" whereas - innfeed/tape.c was properly using "backlog-limit-highwater" - (which is the one mentioned in the innfeed.conf configuration - file and the documentation). It then appears that innfeed was not - taking the value into account and always using the default value - of 0. - - * Fix the documentation for the path to innfeed.status. It is - either pathlog or pathhttp, and not the backlog directory. - - * Fix the paragraph about imapfeed: "deliver" is not a parameter. - - * Remove the notion of version 0.9.3 and 1.0 for innfeed. - - * Remove the mention that "in previous versions of innfeed, a - value of 1 had a special meaning for . This is - no longer the case, 1 means a maximum of 1 connection." - - * Remove the mention that "in innfeed 0.9.3 and earlier, - was in the range [0.0, 9.0]". - - * Remove the sample innfeed.conf file from the documentation (no - need to duplicate it). - - * Typos. - -2011-02-12 iulius + Thanks to David Binderman for having reported the issue. - * Add a missing semi-colon. - - * Convert inncheck man page to POD. + * fix segfault during dereferencing - Update the help usage. + Remove a useless unlink(). - Fix a few typos, and add the control.ctl.local file. + Thanks to David Binderman for having reported the issue. -2011-02-12 eagle +2013-06-24 iulius - * Initialize socket structures and use SUN_LEN properly + * fix a Perl warning in inncheck - From Bo Lindbergh: innd failed to bind to an unprivileged socket. - I found the problem in lib/network.c (a sockaddr_in with - uninitialised spare bits in it). Then I grepped around and found - more instances of the same problem. I also found a sockaddr_un - problem (SUN_LEN not used). - -2011-02-06 eagle - - * Add imapfeed to NAME section of innfeed man page - -2011-02-01 eagle - - * Ensure flag is declared in innbind for IPV6_V6ONLY + defined(@array) has been deprecated since Perl 5.16. - If SO_REUSEADDR were not defined but IPV6_V6ONLY were defined, - innbind would fail to compile because a flag variable would not - be declared. This is an unlikely set of supported options for a - network stack, but let's be fully correct. Thanks, Florian - Schlichting. + Thanks to Remco Rijnders for the report. -2011-01-24 iulius +2013-06-12 iulius - * Mention that SASL is also used by nnrpd. Typo, and improve the - changelog for INN 2.5.3. + * document htpasswd and perl commands to generate the auth + newsusers database - * Add parenthesis for Python print() calls. It otherwise does not - work with Python 3. - - * Convert innfeed man page to POD. - - Improve the help usage (notably, adding a mention of the -o - flag). - - Move innfeed(1) to innfeed(8). - - Add a symbolic link for imapfeed(8) to innfeed(8). - - Fixes during the process: - - * Document the new logging (notably, "accsize", "rejsize" and the - "%d/%.1f" syntax for "deferred" were missing). - - * Document the -s flag in the man page. Thanks to Florian - Schlichting for having found it was missing and provided a - wording for the documentation. - - * Typos. +2013-06-08 iulius -2011-01-23 iulius + * mention in INSTALL that CNFS buffers are compatible between LFS + and non-LFS vers ions - * The -F flag was not working when the -P flag was not also set - with pullnews. The two flags can now be used separately. +2013-06-06 iulius - * The "-k n" flag was not working the way it should in pullnews. - The configuration file was not saved after every n articles - (right behaviour) but after every n articles in one newsgroup. - - Thanks to Edmund H. Ramm for the bug report. + * properly undef two hashes used in Perl hooks - * pullnews was not properly counting the number of bytes - downloaded. It was not resetting the count between newsgroups; - consequently, the bytes count was only right for the first - newsgroup. + * add the attributes hash to nnrpd Perl posting filter - Thanks to Edmund H. Ramm for the bug report. - - * Add the htmlstatus parameter 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. The behaviour was therefore impossible to modify without - compiling again INN. + The attributes hash was only created for Perl authentication and + access functions. It is now accessible to Perl posting filter. - Thanks to Florian Schlichting for the patch. + Also update the sample filter_nnrpd.pl file. - Also fix the syntax of the generated HTML file. The refresh time - should not end with a semi-colon. Add the English language, and - validate HTML 5. + Thanks to Steve Crook for the patch. - * Missing commit, related to revision 9136. I forgot to commit the - new documentation: - - * Add authentication to the downstream server. - - * Improve documentation (especially the example for the "-m" flag - that should be quoted for the shell). +2013-06-03 iulius - * Improve the logging of Perl and Python access hooks. The origin - wasn't previously mentioned: + * innfeed, scanlogs: reopen log files on sighup - "syntax error in (null)(2), Expected value." + The recent patch [9464] to flush exploder and process channels in + innd, and to send 'ctlinnd flushlogs' again after log rotation + solved the problem of controlchan or ninpaths holding open an + already deleted errlog file. However this does not yet solve the + original issue with innfeed.log when innfeed is run as a + standalone daemon via a funnel-file. - Now, nnrpd will log: + This patch implements the changes suggested by Julien Elie in + January 2013, to add an openLogFile() call to the sighup handler. + The sigusr1 handler is not available, as it is already used to + increase / decrease the debugging level along with sigusr2. Also, + reopening the log after re-reading the configuration might be a + good idea anyway, as the log file location may have been changed. - "syntax error in perl_access-block(2), Expected value." - -2011-01-20 iulius - - * Improve the wording of the action taken after a newgroup/rmgroup - control article. Always use a verb. + Additionally, call sighup on the innfeed pid in scanlogs, and + document the changes briefly in innfeed(8) / innfeed.conf(5). Thanks to Florian Schlichting for the patch. -2010-12-25 eagle - - * Document the post saving done by readertrack = true - - If readertrack is set to true, in addition to logging client - activity, every post made is also saved in a directory under the - log directory in a file named by message ID. Document this in - inn.conf. - -2010-11-01 iulius - - * 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. - - Define Py_ssize_t as an int for Python versions < 2.5.0. - - Also include Python.h before any standard headers are included, - because "Python may define some pre-processor definitions which - affect the standard headers on some systems". +2013-05-24 iulius -2010-10-30 iulius - - * * Advertise the COUNTS, DISTRIBUTIONS, MODERATORS, MOTD and - SUBSCRIPTIONS keywords in the LIST capability for nnrpd. - Compliance to RFC 6048. - - * Implement the message of the day in innd, and advertise it in - its LIST capability. - - * The motd.news file (previously used only by nnrpd) is renamed - to motd.nnrpd during the run of innupgrade. + * rename radius.conf to inn-radius.conf - * A new motd.innd file is created for innd. + The name of the radius.conf configuration file shipped with INN + conflicts with the libradius package. innupgrade will take care + of the renaming. - * In the 501 error code for an unexpected third argument to a - LIST command, mention it is not necessarily a wildmat. - - * Better wording for the 503 error code in response to LIST. - - * Documentation update. - - * Symbolic links are created for motd.innd.5 and motd.nnrpd.5 - (pointing to the legacy motd.news.5 man page). + Reported by Jochen Schmitt. -2010-10-29 iulius +2013-05-21 eagle - * Before passing the submission template to snprintf(), check that - it is a valid one with "%" followed by only another "%" or a "s" - (but once only). - - * When "cnfsstat -a" is used, a Perl warning occurs if the CNFS - buffer has not been initialized yet or received an article. The - time of the oldest article is unset. We now properly take it into - account. + * Force the actsync exit code documentation to not be a numbered + list - Thanks to Florian Schlichting for the bug report. + POD has changed how it disambiguates numbered lists from + description lists and issues a new warning. Force the exit codes + to be a description list since they don't start with 1. - * Check MAXARTLINELENGTH in nnrpd, not innd. - - This patch means reverting the previous "CRwithoutLF" patch - [9096] and also ripping out all length checking and both unsigned - long length as well as data->LastCRLF. - - Thanks to Florian Schlichting for the patch. - - * Update our documentation to mention the fact that RFC 6048 now - exists and is implemented in INN. - -2010-10-24 iulius +2013-05-20 iulius - * * Add authentication to the downstream server. * Improve - documentation (especially the example for the "-m" flag that - should be quoted for the shell). * Do not connect to an upstream - server when no newsgroups should be fetched. * Do not stop - processing newsgroups when an error occur (for instance when a - newsgroup mentioned in the configuration file has been removed - from the upstream server). + * fixed the occurrence of an unexpected "cant select" error + generated by innd errno was not preserved; the status hook was + stuck between the select and the check of its return status, so + we're getting a spurious EPERM from STATUSsummary, probably from + some random glibc internal syscall involved in fopen() that isn't + actually important. - Thanks to Edmund H. Ramm for the bug reports. - -2010-10-03 iulius - - * Mention in the logs of innfeed that a warning may be fine when a - new CNFS buffer has just been set up. + It only happens twice since it can only happen when select is + interrupted by a signal (triggering EINTR, which then gets + overwritten with EPERM), which is probably due to child processes + completing, which is probably only happening during specific + events on your server during expire. - Thanks to Michael Grimm for having reported the issue. - - * Ignore in innreport when innfeed rolls its funnel file. - Otherwise, it shows up as "unknown entry" in the report. + The solution is to rewrite this code to the order that it should + have been written in the first place. - Thanks to Florian Schlichting for the patch. - -2010-09-26 iulius - - * Realign our inn.conf sample (because "extraoverviewadvertised" id - a bit too long for the current alignment). + Thanks to Paul Tomblin for having caught that long-standing + issue. - * Do not forget to free a pointer. +2013-04-14 iulius - * 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 because these fields show a previous injection (which - did not occur). - - Note that if strippath is true, we will still remove the Path: - header. No harm done with that removal. - - Excerpt from RFC 5537: + * compilation with gcc 4.8.0 - 3.5. Duties of an Injecting Agent - - 7. If the Newsgroups header contains one or more moderated groups - and the proto-article does not contain an Approved header field, - the injecting agent MUST either forward it to a moderator as - specified in Section 3.5.1 or, if that is not possible, reject - it. This forwarding MUST be done after adding the Message-ID and - Date headers if required, and before adding the Injection- Info - and Injection-Date headers. - - 8. Otherwise, a Path header field with a MUST be - added if not already present. - - 9. The injecting agent MUST then update the Path header field as - described in Section 3.2.1. - - * Go on checking the syntax of the Date: header field, even though - it is not used by innd when an Injection-Date: header field - exists. - -2010-09-25 iulius - - * No impact because the NeedHeadername member is not used in this - case. Yet, better put it right. - - * innd, as a relaying agent, now examines the Injection-Date: - header, when present. It contains the posting date (used for - history). makehistory now also uses it, when present. Otherwise, - the Date: header is used. - - nnrpd, as an injecting agent, checks whether the Date: header - field is not too far in the past. It is a recommendation of RFC - 5537 since not all news servers support the Injection-Date: - header. (The article would then suffer from poorer propagation.) - -2010-09-24 iulius - - * Update the manifest and Subversion properties after commit 9112. - - * inncheck was not substituting variables in the newsfeeds - configuration file. It therefore wrongly reported errors. - - For instance: $limitHI=131072 - example/example.com:*:Ajp,Tm,<$limitHI:innfeed! - - Now fixed. This example is properly parsed by inncheck. - - Thanks to Michael Grimm for the bug report. - - * Add the possibility to run local innshellvars scripts. - - innshellvars.local, innshellvars.pl.local and - innshellvars.tcl.local are now executed at the end of the run of - the corresponding innshellvars script. A typical use is to add or - override variables. For instance HOME or GNUPGHOME. These local - scripts have to be executable; otherwise, they are not taken into - account. - - Thanks to Matthew Vernon for the suggestion. + Explicitly give the known size of a pointer used in a snprintf() + call in the OfferArticle() function. New + -Wsizeof-pointer-memaccess warning introduced in gcc 4.8.0. -2010-09-14 eagle +2013-03-22 iulius - * Yet another update to the Berkeley DB URL - -2010-09-10 iulius - - * INN thinks that OpenBSD (4.6) doesn't support Unix-domain - sockets. The problem is that doesn't include - cleanly unless you include , and the AF_UNIX test in - m4/socket.m4 doesn't include . - - It is also added to the test program for AI_ADDRCONFIG, even - though (a) including stdio.h happens to pull in the necessary - headers and (b) OpenBSD doesn't have AI_ADDRCONFIG anyway. + * update documentation for the new behaviour of "ctlinnd flushlogs" - Note: m4/sendfd.m4 can be left without the patch. This will - always fail on OpenBSD anyway, so it shouldn't matter. This will - only successfully compile and run on a STREAMS-based system, so - only SysV. It is the same for include/portable/getnameinfo.h and - include/portable/getaddrinfo.h: none of those currently cause - problems because these headers are only included by files which - have already included sys/types.h, and OpenBSD doesn't support - STREAMS at all. - - Thanks to Wim Lewis for the patch. + Also fix a POD error introduced by the previous commit. Thanks to + Florian Schlichting for having caught it. -2010-08-11 iulius +2013-03-18 iulius - * Fix the Tcl innshellvars script (which has not worked since INN - 2.3). - - A variable was unset, and the evaluation of innconfval was not - working. + * Rotate innfeed logs - Also add a catch block in case the Tcl interpreter does not - recognize the umask command. + Exploder and process channels are now properly reopened when + "ctlinnd flushlogs" is used, which is in particular the command + invoked by scanlogs to rotate log files. It solves the issue that + caused the patch to be reverted by commit [9450]. -2010-08-05 iulius + * Superfluous character in innfeed.log output - * Use a constant (ARTNUMPRINTSIZE) for the length of a water mark. - It will be of help if we ever switch from 32-bit to 64-bit - article numbers. +2013-01-16 iulius - * Mention that Perl and Python filters for innd return the *first* - occurrence of header fields in the %hdr variable. Whereas it is - the *last* occurrence for the Perl filter for nnrpd. - - * 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. - - * This patch causes both CRwithoutLF (\r) and LFwithoutCR (\n) to - be considered the same as CRLF (\r\n) for purposes of checking - allowable header line length. - - It appears that some people like to grace their articles with - Face: or X-Face: headers of typically 4-6k binary data. While - usually put into nice continuation lines of around 80 characters, - a few clients fail to create proper line breaks for this header, - inserting only a single \r or \n instead. The nnrpd in INN 2.3 - doesn't reject or correct these mistakes for non-system headers, - and offending articles are still "in the wild". - - innd currently counts, logs and ignores such imperfect line - breaks. Alas, when checking for the maximum allowable 'physical' - line length, single \r or \n are not recognized, thus making the - whole 'virtual' (continued) header appear as a single line, - easily exceeding MAXARTLINELENGTH and thus causing the article to - be rejected. - - Thanks to Florian Schlichting for the patch. - - * Confusion between CR and LF when innd parses a body and counts - missing LFs. + * test suite: remove a useless wrapped test for setenv - Thanks to Florian Schlichting for having noticed it. + Remove a test that makes the test suite fail on a few systems. + The code it is testing is obvious whereas getting the amount of + memory and the data size limits right is extremely difficult in + all cases. Besides, this test does not serve much purpose and is + not present in rra-c-util 4.7. - * 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. - - Use new MAXARTLINELENGTH and MED_BUFFER constants instead of - MAXHEADERSIZE in the code. - - Update the test suite. + * Typos. - Meanwhile, fix two bugs in the generation of the Xref: header - field: - - * When resizing the buffer, extra place for a CRLF that may be - added by a continuation line is not taken into account. - Consequently, when p[0] = '\r' and p[1] = '\n' are used, a - segfault may occur. - - * When comparing to MAXARTLINELENGTH, the final CRLF is not taken - into account ("+2" is missing in the count), so the generated - Xref: header field might end up with 1002 bytes! + Thanks to Florian Schlichting for the report. -2010-08-01 iulius +2012-12-30 eagle - * Assignment to $[ is deprecated in Perl 5.12.1. Anyway, the - default is 0; so we can remove our assignments. + * Fix the innfeed configfile parser generation rule - Thanks to Dieter Stussy for having noticed. - -2010-07-11 iulius - - * Remove the mention of an unnecessary (and weird) include file. - (See commit 8901.) - -2010-06-28 iulius - - * Mention in the documentation that e-mail addresses can be used as - arguments to sendinpaths. + Using $? in the rule, now that the extra dependency has been + added, caused the wrong arguments to be passed to bison. Pass the + correct arguments explicitly. - Thanks to Ian Jackson for the bug report. + This still seems to run bison twice for reasons that I can't + figure out, but that should be harmless. -2010-06-05 iulius - - * Fix the use of uninitialized values: storage classes and ARGV. - oldart was not declared as a local variable and its value was - then wrongly reused. - - * Allow to *not* compress logs. --with-log-compress=cat will do - that at configure time. - - Idea from Florian Schlichting. +2012-12-29 eagle -2010-05-31 iulius - - * Use pre-formatted text for a better HTML and *nroff output. - - * Fix a character badly encoded. - -2010-05-30 iulius - - * Convert libstorage to POD. - - Fixes during the process: + * Add additional dependency to de-parallelize innfeed yacc rule - * ARTHANDLE contains two different ways of representing article - data: an iovec array, and a char*/length pair. One is used by - SMstore and the other by SMretrieve, but this is not documented. - Patch from Ian Jackson to fix that. + With a highly parallel make, yacc could be invoked on the innfeed + configuration parser twice, once to build the *.c file and once + to build the *.h file, leading to one of the mv commands failing. + Follow the recommendation in the Automake manual and add an + additional dependency from the *.h file to the *.c file, forcing + the rule to be run once. - * OVadd has a time_t expires parameter. - - * OVexpiregroup has a struct history *h parameter. - - * OVgetartinfo does not have char **data and int *len parameters. - - * SMexplaintoken(const TOKEN token) was not documented. - - * Dot-stuffing was not clearly documented. - - * Structs and enums were not all mentioned. - - * EXPENSIVESTAT was not documented. - - * OVCACHEKEEP and OVCACHEFREE were not documented. - - * Put variables in italics (POD documentation). - -2010-05-20 iulius - - * Emitting an error if nntpsend is unable to get the lock is better - than silently failing. - - Thanks to Matthew Vernon for his suggestion. + Reported by Remco Rijnders. - * Fix the documentation of the -n flag for nntpsend. +2012-12-23 eagle - * No upper case to innwatch, innxmit and innreport. - - * Convert nntpsend and nntpsend.ctl documentation to POD. Better - nntpsend.ctl sample configuration file. + * Do not attempt to rotate innfeed logs - Fixes: * The -a flag is given only when there is no size limit. * - The -d and -D flags were incorrectly described (reported by - Matthew Vernon). * The -S flag does not exist for nntpsend. * - When the -n flag is used, nntpsend does not sleep before spawning - each innxmit child. * In nntpsend.ctl documentation, trunc(1) - does not exist; it is shrinkfile(1). - - * Remove trailing spaces. - -2010-05-08 iulius - - * The order of CNFS buffers in a metacycbuff is now properly read - and written by cnfsheadconf. There previoulsy was a confusion - between hexadecimal and decimal values. + innfeed with funnel feeds will hold its log files open forever, + so those log files cannot be safely rotated with scanlogs. + There's no way to signal innfeed to close the log file and open a + new one. Remove the code in scanlogs that attempts to deal with + them. - Thanks to John F. Morse for the bug report. + Patch from Florian Schlichting . - * When HDR/XHDR/XPAT was 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. - - The cached index and the cached data files were not immediately - remapped to reflect the change. When doing an overview search - with (X)OVER, both the index and data files are remapped, if need - be. The same for (X)HDR or XPAT *when* using the overview. Here, - as "(from articles)" is replied by the server, the search is done - in the article itself and does not call an OVopensearch(). The - code uses OVgetartinfo() which calls tdx_article_entry() which - remaps the index file but *not* the data file. Therefore, the - high water mark in the cached data file is still mapped to high-1 - after (X)HDR but tdx_article_entry() updates data->high to be the - new high water mark... Then (X)OVER is used. It believes the - cached data information is right. But obviously does not find the - last article and the cached data file then is marked as - to-be-remapped. Which is done when doing the subsequent overview - search with (X)OVER. - - See also [8451]. +2012-12-07 eagle - * cnfsheadconf now properly recognizes continuation lines in - cycbuff.conf, that is to say lines ending with a backslash (\). + * Remove reference to reap from prunehistory man page - Thanks to John F. Morse for the bug report. - -2010-04-12 eagle - - * Update the URL to Berkeley DB + The FTP site from which this program was available seems to have + disappeared, and it was already marked as obsolete. - * Update URL for svn2cl - - * Remove the README reference to inflow - - The URL appears to be dead. +2012-09-04 iulius - * Fix URL for the SCO UNIX tutorial to avoid a redirect + * Mention CVE-2012-3523 in the NEWS file (though posterior to the + 2.5.3 release) -2010-04-07 iulius +2012-07-07 eagle - * Bump revision numbers for the STABLE version. + * Update URL for NewsPortal to one that works -2010-03-24 eagle +2012-06-30 iulius - * Rewording and editing of changes for 2.5.2 + * bump revision numbers to 2.5.4 (the following STABLE release) diff -Nurp inn-2.5.3/HACKING inn-2.5.4/HACKING --- inn-2.5.3/HACKING 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/HACKING 2014-05-17 01:24:49.000000000 -0700 @@ -16,7 +16,7 @@ Hacking INN or view it with Trac source browser at: - + You will need autoconf 2.61 or later to use the development tree. After checking out the tree, run "./autogen" to generate the necessary @@ -617,7 +617,7 @@ Making a Release 2. Make sure that samples/control.ctl and samples/nocem.ctl are in sync with the master version at and - . + . 3. Update doc/pod/news.pod and regenerate NEWS. Be more detailed for a minor release than for a major release. For a major release, also @@ -733,5 +733,5 @@ References technical details as needed, useful when working on IPv6 support in INN. - $Id: hacking.pod 9280 2011-07-17 19:36:24Z iulius $ + $Id: hacking.pod 9574 2013-11-26 19:08:41Z iulius $ diff -Nurp inn-2.5.3/INSTALL inn-2.5.4/INSTALL --- inn-2.5.3/INSTALL 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/INSTALL 2014-05-17 01:24:49.000000000 -0700 @@ -88,9 +88,9 @@ Before You Begin INN is tested primarily with newer versions of Perl, so it's generally recommended that you install the latest stable distribution of Perl before compiling INN. For instructions on obtaining and installing - Perl, see . Note - that you may need to use the same compiler and options (particularly - large file support) for Perl and INN. + Perl, see . Note that you may need to + use the same compiler and options (particularly large file support) + for Perl and INN. If you're using a version of Perl prior to 5.6.0, you may need to make sure that the Perl versions of your system header files have been @@ -136,7 +136,7 @@ Before You Begin --with-berkeleydb Berkeley DB 4.4 or higher, 4.7+ recommended --with-zlib zlib 1.x or higher --with-openssl OpenSSL 0.9.6 or higher - --with-sasl SASL 2.x or higher + --with-sasl Cyrus SASL 2.x or higher --with-kerberos MIT Kerberos v5 1.2.x or higher If any of these libraries (other than Perl or Python) are built shared @@ -280,9 +280,10 @@ Installing INN your history database is so large that it exceeds 2 GB or you want to use CNFS buffers larger than 2 GB. - The history, tradindexed and buffindexed overview, CNFS, and timecaf + The history, tradindexed and buffindexed overview, and timecaf databases written by an INN built with this option are incompatible - with those written by an INN without this option. + with those written by an INN without this option. (CNFS buffers are + compatible.) --enable-tagged-hash Use tagged hash table for the history database. The tagged hash @@ -1414,7 +1415,7 @@ Setting Up the Cron Jobs or, if your system does not have per-user crontabs, put the following line into your system crontab instead: - 0 3 * * * su -c '/news.daily expireover lowmark' news + 0 3 * * * su news -s /bin/sh -c '/news.daily expireover lowmark' If you're using any non-CNFS storage methods, add "delayrm" to the above option list for news.daily. @@ -1494,7 +1495,7 @@ Starting and Stopping the System news user and not as root. To start INN on system boot, you therefore want to put something like: - su news -c /rc.news + su news -s /bin/sh -c /rc.news in the system boot scripts. If innd is stopped or killed, you can restart it by running rc.news by hand as the news user. @@ -1502,7 +1503,7 @@ Starting and Stopping the System The rc.news script may also be used to shut down INN, with the "stop" option: - su news -c '/rc.news stop' + su news -s /bin/sh -c '/rc.news stop' In the contrib directory of this source tree, two sample init scripts are provided: one for people using System V-style init.d directories, @@ -1512,7 +1513,7 @@ Starting and Stopping the System nnrpd to listen to these connections to NNTPS port 563 and put something like that in your init scripts: - su news -c '/nnrpd -D -c /readers-ssl.conf -p 563 -S' + su news -s /bin/sh -c '/nnrpd -D -c /readers-ssl.conf -p 563 -S' where readers-ssl.conf is the file which indicates whether a given connection is allowed to read and post news (you can also use the @@ -1527,7 +1528,7 @@ Starting and Stopping the System or if you do not have a start-stop-daemon utility: - su news -c 'killall nnrpd' + su news -s /bin/sh -c 'killall nnrpd' Processing Newsgroup Control Messages @@ -1594,5 +1595,5 @@ Processing Newsgroup Control Messages you may have to remove all the user IDs except the one that matches the control.ctl entry using "gpg --edit-key" and the "delkey" command. - $Id: install.pod 9411 2012-05-29 17:59:04Z iulius $ + $Id: install.pod 9599 2014-02-08 13:56:54Z iulius $ diff -Nurp inn-2.5.3/LICENSE inn-2.5.4/LICENSE --- inn-2.5.3/LICENSE 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/LICENSE 2014-05-17 01:24:49.000000000 -0700 @@ -2,8 +2,8 @@ INN as a whole and all code contained in different licenses and/or copyrights is covered by the following copyright and license: - Copyright (c) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 - by Internet Systems Consortium, Inc. ("ISC") + Copyright (c) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, + 2013, 2014 by Internet Systems Consortium, Inc. ("ISC") Copyright (c) 1991, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 by The Internet Software Consortium and Rich Salz diff -Nurp inn-2.5.3/MANIFEST inn-2.5.4/MANIFEST --- inn-2.5.3/MANIFEST 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/MANIFEST 2014-05-17 01:24:49.000000000 -0700 @@ -153,6 +153,7 @@ doc/man/history.5 Ma doc/man/ident.8 Manpage for ident resolver doc/man/incoming.conf.5 Manpage for incoming.conf config file doc/man/inews.1 Manpage for inews frontend +doc/man/inn-radius.conf.5 Manpage for inn-radius.conf config file doc/man/inn.conf.5 Manpage for inn.conf config file doc/man/innbind.8 Manpage for innbind doc/man/inncheck.8 Manpage for inncheck utility @@ -206,7 +207,6 @@ doc/man/prunehistory.8 Ma doc/man/pullnews.1 Manpage for pullnews doc/man/qio.3 Manpage for fast I/O file routines doc/man/radius.8 Manpage for radius authenticator -doc/man/radius.conf.5 Manpage for radius.conf config file doc/man/rc.news.8 Manpage for rc.news doc/man/readers.conf.5 Manpage for readers.conf config file doc/man/rnews.1 Manpage for rnews frontend @@ -265,6 +265,7 @@ doc/pod/hook-python.pod Ma doc/pod/ident.pod Master file for ident.8 doc/pod/incoming.conf.pod Master file for incoming.conf.5 doc/pod/inews.pod Master file for inews.1 +doc/pod/inn-radius.conf.pod Master file for inn-radius.conf.5 doc/pod/inn.conf.pod Master file for inn.conf.5 doc/pod/innbind.pod Master file for innbind.8 doc/pod/inncheck.pod Master file for inncheck.8 @@ -307,7 +308,6 @@ doc/pod/procbatch.pod Ma doc/pod/prunehistory.pod Master file for prunehistory.8 doc/pod/pullnews.pod Master file for pullnews.1 doc/pod/qio.pod Master file for qio.3 -doc/pod/radius.conf.pod Master file for radius.conf.5 doc/pod/radius.pod Master file for radius.8 doc/pod/rc.news.pod Master file for rc.news.8 doc/pod/readers.conf.pod Master file for readers.conf.5 @@ -629,6 +629,7 @@ samples/filter_innd.pl Sa samples/filter_innd.py Sample Python filter for innd samples/filter_nnrpd.pl Sample Perl filter for nnrpd samples/incoming.conf Permissions for incoming feeds +samples/inn-radius.conf Sample config for RADIUS authentication samples/inn.conf.in General INN configuration samples/innfeed.conf Outgoing feed configuration samples/innreport.conf.in Log summary configuration @@ -660,7 +661,6 @@ samples/nntpsend.ctl Ou samples/nocem.ctl Config file for perl-nocem samples/ovdb.conf Berkeley DB overview configuration samples/passwd.nntp Passwords for remote connections -samples/radius.conf Sample config for RADIUS authentication samples/readers.conf Reader connection configuration samples/send-uucp.cf send-uucp configuration file samples/startup_innd.pl Perl startup code for innd @@ -882,7 +882,6 @@ tests/lib/pread-t.c Te tests/lib/pwrite-t.c Tests for lib/pwrite.c tests/lib/qio-t.c Tests for lib/qio.c tests/lib/setenv-t.c Tests for lib/setenv.c -tests/lib/setenv.t Wrapper for setenv tests tests/lib/snprintf-t.c Tests for lib/snprintf.c tests/lib/strlcat-t.c Tests for lib/strlcat.c tests/lib/strlcpy-t.c Tests for lib/strlcpy.c diff -Nurp inn-2.5.3/Makefile.global.in inn-2.5.4/Makefile.global.in --- inn-2.5.3/Makefile.global.in 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/Makefile.global.in 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -## $Id: Makefile.global.in 9041 2010-04-07 09:29:36Z iulius $ +## $Id: Makefile.global.in 9433 2012-06-30 22:39:51Z iulius $ ## ## This file is meant to be the central Makefile that configure works with ## and that all other Makefiles include. No Makefile other than this one @@ -18,7 +18,7 @@ ## keep their length reasonable; otherwise, your news server will not ## be complying with the NNTP protocol. -VERSION = 2.5.3 +VERSION = 2.5.4 VERSION_EXTRA = ## If you want to install INN relative to a root directory other than /, diff -Nurp inn-2.5.3/NEWS inn-2.5.4/NEWS --- inn-2.5.3/NEWS 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/NEWS 2014-05-17 01:24:49.000000000 -0700 @@ -1,3 +1,93 @@ +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). + Changes in 2.5.3 Please note that the HTML_STATUS compile-time option has been replaced @@ -39,11 +129,12 @@ Changes in 2.5.3 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. + a TLS layer. The vulnerability detailed in CVE-2011-0411 (and + CVE-2012-3523, specifically for INN) 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 @@ -1799,5 +1890,5 @@ Changes in 2.2.0 * The innshellvars.csh.in script is obsolete (and lives in the obsolete directory, for now). - $Id: news.pod 9429 2012-06-15 18:21:26Z iulius $ + $Id: news.pod 9644 2014-05-17 08:17:16Z iulius $ diff -Nurp inn-2.5.3/README inn-2.5.4/README --- inn-2.5.3/README 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/README 2014-05-17 01:24:49.000000000 -0700 @@ -237,8 +237,19 @@ Related Packages file all the time. It's useful when feeding peers take limited and very specific feeds that change periodically. + innduct + URL: + (maintained by Ian Jackson) + + A possible replacement for innfeed, innxmit and nntpsend that + quickly and reliably streams Usenet article to a remote site. + innduct is designed to be robust and not to lose any articles (when + offered to peers) in case it unexpectedly dies, contrary to innfeed. + It also permits a realtime feed, contrary to innxmit or nntpsend. + NewsPortal - URL: + URL: A PHP-based web news reader that works as a front-end to a regular news server such as INN and lets people read and post without @@ -287,5 +298,5 @@ Supporting the INN Effort Katsuhiro Kondou - $Id: readme.pod 9138 2010-10-29 18:09:50Z iulius $ + $Id: readme.pod 9590 2013-12-19 17:48:22Z iulius $ diff -Nurp inn-2.5.3/TODO inn-2.5.4/TODO --- inn-2.5.3/TODO 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/TODO 2014-05-17 01:24:49.000000000 -0700 @@ -6,7 +6,7 @@ let know if below. This list is currently being migrated to INN's issue tracking system -. +. The list is divided into changes already tentatively scheduled for a particular release, higher priority changes that will hopefully be done in @@ -23,7 +23,7 @@ suite, which is currently very minimal. to allow more portions of INN to be automatically tested will make all changes easier and will be *greatly* appreciated. -Last modified $Id: TODO 8921 2010-01-22 23:33:08Z iulius $. +Last modified $Id: TODO 9574 2013-11-26 19:08:41Z iulius $. Scheduled for INN 2.5 diff -Nurp inn-2.5.3/authprogs/ckpasswd.c inn-2.5.4/authprogs/ckpasswd.c --- inn-2.5.3/authprogs/ckpasswd.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/authprogs/ckpasswd.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: ckpasswd.c 7585 2006-11-21 09:37:51Z eagle $ +/* $Id: ckpasswd.c 9587 2013-12-14 20:10:48Z iulius $ ** ** The default username/password authenticator. ** @@ -21,20 +21,28 @@ #if HAVE_CRYPT_H # include #endif + #include #include #include -#if defined(HAVE_DBM) || defined(HAVE_BDB_DBM) -# if HAVE_NDBM_H -# include -# elif HAVE_BDB_DBM + +/* +** If compiling with Berkeley DB, use its ndbm compatibility layer +** in preference to other libraries. +*/ +#if defined(HAVE_DBM) || defined(HAVE_BDB_NDBM) +# if HAVE_BDB_NDBM # define DB_DBM_HSEARCH 1 # include -# elif HAVE_GDBM_NDBM_H -# include +# elif HAVE_NDBM_H +# include # elif HAVE_DB1_NDBM_H # include +# elif HAVE_GDBM_SLASH_NDBM_H +# include +# elif HAVE_GDBM_HYPHEN_NDBM_H +# include # endif # define OPT_DBM "d:" #else @@ -148,7 +156,7 @@ auth_pam(const char *username, char *pas ** password, if found, is returned as a newly allocated string; otherwise, ** NULL is returned. */ -#if !(defined(HAVE_DBM) || defined(HAVE_BDB_DBM)) +#if !(defined(HAVE_DBM) || defined(HAVE_BDB_NDBM)) static char * password_dbm(char *user UNUSED, const char *file UNUSED) { @@ -177,7 +185,7 @@ password_dbm(char *name, const char *fil dbm_close(database); return password; } -#endif /* HAVE_DBM || HAVE_BDB_DBM */ +#endif /* HAVE_DBM || HAVE_BDB_NDBM */ /* diff -Nurp inn-2.5.3/backends/ninpaths.c inn-2.5.4/backends/ninpaths.c --- inn-2.5.3/backends/ninpaths.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/backends/ninpaths.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: ninpaths.c 9024 2010-03-21 16:49:30Z iulius $ +/* $Id: ninpaths.c 9584 2013-12-12 20:24:20Z iulius $ ** ** New inpaths reporting program. ** @@ -147,7 +147,7 @@ writedump(FILE *f) } fprintf(f, "!!NINP " VERSION " %lu %lu %ld %ld %ld\n", (unsigned long) starttime, (unsigned long) time(NULL), sites, - total, (long)(atimes/total)+starttime); + total, (long) ((atimes/total) + starttime)); n=j=0; /* write the S-records (hosts), numbering them in the process */ for (i=0; i. # # -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software -# Foundation, Inc. +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation @@ -92,6 +90,7 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. +as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -136,6 +135,31 @@ export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh @@ -169,7 +193,8 @@ if ( set x; as_fn_ret_success y && test else exitcode=1; echo positional parameters were not saved. fi -test x\$exitcode = x0 || exit 1" +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && @@ -214,14 +239,25 @@ IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : - # We cannot yet assume a decent shell, so we have to provide a - # neutralization value for shells without unset; and this also - # works around shells that cannot unset nonexistent variables. - BASH_ENV=/dev/null - ENV=/dev/null - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 fi if test x$as_have_required = xno; then : @@ -324,6 +360,14 @@ $as_echo X"$as_dir" | } # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take @@ -445,6 +489,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). @@ -479,16 +527,16 @@ if (echo >conf$$.file) 2>/dev/null; then # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -500,28 +548,8 @@ else as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x +as_test_x='test -x' +as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -702,8 +730,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='INN' PACKAGE_TARNAME='inn' -PACKAGE_VERSION='2.5.3' -PACKAGE_STRING='INN 2.5.3' +PACKAGE_VERSION='2.5.4' +PACKAGE_STRING='INN 2.5.4' PACKAGE_BUGREPORT='inn-workers@lists.isc.org' PACKAGE_URL='' @@ -1378,7 +1406,7 @@ Try \`$0 --help' for more information" $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac @@ -1429,8 +1457,6 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1516,7 +1542,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures INN 2.5.3 to adapt to many kinds of systems. +\`configure' configures INN 2.5.4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1581,7 +1607,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of INN 2.5.3:";; + short | recursive ) echo "Configuration of INN 2.5.4:";; esac cat <<\_ACEOF @@ -1650,8 +1676,9 @@ Some influential environment variables: SENDMAIL Location of sendmail binary to use PERL Location of Perl interpreter PYTHON Location of Python interpreter - YACC The `Yet Another C Compiler' implementation to use. Defaults to - the first program found out of: `bison -y', `byacc', `yacc'. + YACC The `Yet Another Compiler Compiler' implementation to use. + Defaults to the first program found out of: `bison -y', `byacc', + `yacc'. YFLAGS The list of arguments that will be passed by default to $YACC. This script will default YFLAGS to the empty string to avoid a default value of `-d' given by some make applications. @@ -1735,10 +1762,10 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -INN configure 2.5.3 -generated by GNU Autoconf 2.67 +INN configure 2.5.4 +generated by GNU Autoconf 2.69 -Copyright (C) 2010 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1782,7 +1809,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile @@ -1819,7 +1846,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp @@ -1832,10 +1859,10 @@ fi ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval "test \"\${$3+set}\"" = set; then : + if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval "test \"\${$3+set}\"" = set; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 @@ -1902,7 +1929,7 @@ $as_echo "$as_me: WARNING: $2: proceedin esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval "test \"\${$3+set}\"" = set; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" @@ -1911,7 +1938,7 @@ eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel @@ -1952,7 +1979,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run @@ -1966,7 +1993,7 @@ ac_fn_c_check_header_compile () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval "test \"\${$3+set}\"" = set; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -1984,7 +2011,7 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile @@ -2015,7 +2042,7 @@ $as_echo "$ac_try_echo"; } >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext + test -x conftest$ac_exeext }; then : ac_retval=0 else @@ -2029,7 +2056,7 @@ fi # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link @@ -2042,7 +2069,7 @@ ac_fn_c_check_func () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval "test \"\${$3+set}\"" = set; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2097,7 +2124,7 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func @@ -2110,7 +2137,7 @@ ac_fn_c_check_type () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval "test \"\${$3+set}\"" = set; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=no" @@ -2151,7 +2178,7 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type @@ -2166,7 +2193,7 @@ ac_fn_c_check_decl () as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 $as_echo_n "checking whether $as_decl_name is declared... " >&6; } -if eval "test \"\${$3+set}\"" = set; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2197,7 +2224,7 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_decl @@ -2210,7 +2237,7 @@ ac_fn_c_check_member () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 $as_echo_n "checking for $2.$3... " >&6; } -if eval "test \"\${$4+set}\"" = set; then : +if eval \${$4+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2254,7 +2281,7 @@ fi eval ac_res=\$$4 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_member @@ -2267,7 +2294,7 @@ ac_fn_c_find_intX_t () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for int$2_t" >&5 $as_echo_n "checking for int$2_t... " >&6; } -if eval "test \"\${$3+set}\"" = set; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=no" @@ -2283,7 +2310,8 @@ int main () { static int test_array [1 - 2 * !(0 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1))]; -test_array [0] = 0 +test_array [0] = 0; +return test_array [0]; ; return 0; @@ -2299,7 +2327,8 @@ main () { static int test_array [1 - 2 * !(($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1) < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 2))]; -test_array [0] = 0 +test_array [0] = 0; +return test_array [0]; ; return 0; @@ -2328,7 +2357,7 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_find_intX_t @@ -2341,7 +2370,7 @@ ac_fn_c_find_uintX_t () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5 $as_echo_n "checking for uint$2_t... " >&6; } -if eval "test \"\${$3+set}\"" = set; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=no" @@ -2356,7 +2385,8 @@ int main () { static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)]; -test_array [0] = 0 +test_array [0] = 0; +return test_array [0]; ; return 0; @@ -2381,15 +2411,15 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_find_uintX_t cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by INN $as_me 2.5.3, which was -generated by GNU Autoconf 2.67. Invocation command line was +It was created by INN $as_me 2.5.4, which was +generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2647,7 +2677,7 @@ $as_echo "$as_me: loading site script $a || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5 ; } +See \`config.log' for more details" "$LINENO" 5; } fi done @@ -2804,6 +2834,10 @@ ac_configure="$SHELL $ac_aux_dir/configu + + + + # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, @@ -4433,7 +4467,7 @@ if test -n "$ac_tool_prefix"; then set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -4445,7 +4479,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4473,7 +4507,7 @@ if test -z "$ac_cv_prog_CC"; then set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -4485,7 +4519,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4526,7 +4560,7 @@ if test -z "$CC"; then set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -4538,7 +4572,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4566,7 +4600,7 @@ if test -z "$CC"; then set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -4579,7 +4613,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue @@ -4625,7 +4659,7 @@ if test -z "$CC"; then set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -4637,7 +4671,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4669,7 +4703,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -4681,7 +4715,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4724,7 +4758,7 @@ fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5 ; } +See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -4839,7 +4873,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5 ; } +See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -4882,7 +4916,7 @@ else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5 ; } +See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 @@ -4941,7 +4975,7 @@ $as_echo "$ac_try_echo"; } >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5 ; } +See \`config.log' for more details" "$LINENO" 5; } fi fi fi @@ -4952,7 +4986,7 @@ rm -f conftest.$ac_ext conftest$ac_cv_ex ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then : +if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -4993,7 +5027,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5 ; } +See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi @@ -5003,7 +5037,7 @@ OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then : +if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -5040,7 +5074,7 @@ ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then : +if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag @@ -5118,7 +5152,7 @@ else fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then : +if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no @@ -5127,8 +5161,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ /* end confdefs.h. */ #include #include -#include -#include +struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); @@ -5226,7 +5259,7 @@ if test -n "$CPP" && test -d "$CPP"; the CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then : + if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded @@ -5342,7 +5375,7 @@ else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5 ; } +See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c @@ -5354,7 +5387,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then : +if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then @@ -5368,7 +5401,7 @@ do for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in @@ -5417,7 +5450,7 @@ $as_echo "$ac_cv_path_GREP" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then : +if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 @@ -5434,7 +5467,7 @@ do for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in @@ -5484,7 +5517,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then : +if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -5613,7 +5646,7 @@ done ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" -if test "x$ac_cv_header_minix_config_h" = x""yes; then : +if test "x$ac_cv_header_minix_config_h" = xyes; then : MINIX=yes else MINIX= @@ -5635,14 +5668,14 @@ $as_echo "#define _MINIX 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } -if test "${ac_cv_safe_to_define___extensions__+set}" = set; then : +if ${ac_cv_safe_to_define___extensions__+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -# define __EXTENSIONS__ 1 - $ac_includes_default +# define __EXTENSIONS__ 1 + $ac_includes_default int main () { @@ -5674,7 +5707,7 @@ $as_echo "$ac_cv_safe_to_define___extens { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 $as_echo_n "checking for library containing strerror... " >&6; } -if test "${ac_cv_search_strerror+set}" = set; then : +if ${ac_cv_search_strerror+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -5708,11 +5741,11 @@ for ac_lib in '' cposix; do fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_strerror+set}" = set; then : + if ${ac_cv_search_strerror+:} false; then : break fi done -if test "${ac_cv_search_strerror+set}" = set; then : +if ${ac_cv_search_strerror+:} false; then : else ac_cv_search_strerror=no @@ -5732,7 +5765,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $CC supports -c -o file.$ac_objext... " >&6; } -if test "${inn_cv_compiler_c_o+set}" = set; then : +if ${inn_cv_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else rm -f -r conftest 2>/dev/null @@ -5781,7 +5814,7 @@ $SHELL "$ac_aux_dir/config.sub" sun4 >/d { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } -if test "${ac_cv_build+set}" = set; then : +if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias @@ -5797,7 +5830,7 @@ fi $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' @@ -5815,7 +5848,7 @@ case $build_os in *\ *) build_os=`echo " { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } -if test "${ac_cv_host+set}" = set; then : +if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then @@ -5830,7 +5863,7 @@ fi $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' @@ -5848,7 +5881,7 @@ case $host_os in *\ *) host_os=`echo "$h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } -if test "${ac_cv_path_SED+set}" = set; then : +if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ @@ -5868,7 +5901,7 @@ do for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue + as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in @@ -5965,7 +5998,7 @@ ltmain="$ac_aux_dir/ltmain.sh" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } -if test "${ac_cv_path_FGREP+set}" = set; then : +if ${ac_cv_path_FGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 @@ -5982,7 +6015,7 @@ do for ac_prog in fgrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue + as_fn_executable_p "$ac_path_FGREP" || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in @@ -6096,7 +6129,7 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi -if test "${lt_cv_path_LD+set}" = set; then : +if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then @@ -6136,7 +6169,7 @@ fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then : +if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. @@ -6163,7 +6196,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if test "${lt_cv_path_NM+set}" = set; then : +if ${lt_cv_path_NM+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NM"; then @@ -6223,7 +6256,7 @@ else set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_DUMPBIN+set}" = set; then : +if ${ac_cv_prog_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then @@ -6235,7 +6268,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6267,7 +6300,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then : +if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DUMPBIN"; then @@ -6279,7 +6312,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6330,18 +6363,18 @@ test -z "$NM" && NM=nm { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 $as_echo_n "checking the name lister ($NM) interface... " >&6; } -if test "${lt_cv_nm_interface+set}" = set; then : +if ${lt_cv_nm_interface+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:6338: $ac_compile\"" >&5) + (eval echo "\"\$as_me:6371: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:6341: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:6374: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:6344: output\"" >&5) + (eval echo "\"\$as_me:6377: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -6365,7 +6398,7 @@ fi # find the maximum length of command line arguments { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } -if test "${lt_cv_sys_max_cmd_len+set}" = set; then : +if ${lt_cv_sys_max_cmd_len+:} false; then : $as_echo_n "(cached) " >&6 else i=0 @@ -6557,7 +6590,7 @@ esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } -if test "${lt_cv_ld_reload_flag+set}" = set; then : +if ${lt_cv_ld_reload_flag+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' @@ -6593,7 +6626,7 @@ if test -n "$ac_tool_prefix"; then set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OBJDUMP+set}" = set; then : +if ${ac_cv_prog_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then @@ -6605,7 +6638,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6633,7 +6666,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then set dummy objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then : +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then @@ -6645,7 +6678,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OBJDUMP="objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6692,7 +6725,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } -if test "${lt_cv_deplibs_check_method+set}" = set; then : +if ${lt_cv_deplibs_check_method+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' @@ -6908,7 +6941,7 @@ if test -n "$ac_tool_prefix"; then set dummy ${ac_tool_prefix}ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AR+set}" = set; then : +if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then @@ -6920,7 +6953,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AR="${ac_tool_prefix}ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6948,7 +6981,7 @@ if test -z "$ac_cv_prog_AR"; then set dummy ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then : +if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then @@ -6960,7 +6993,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7013,7 +7046,7 @@ if test -n "$ac_tool_prefix"; then set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then : +if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then @@ -7025,7 +7058,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7053,7 +7086,7 @@ if test -z "$ac_cv_prog_STRIP"; then set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then @@ -7065,7 +7098,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7112,7 +7145,7 @@ if test -n "$ac_tool_prefix"; then set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then : +if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then @@ -7124,7 +7157,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7152,7 +7185,7 @@ if test -z "$ac_cv_prog_RANLIB"; then set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then @@ -7164,7 +7197,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7269,7 +7302,7 @@ compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then : +if ${lt_cv_sys_global_symbol_pipe+:} false; then : $as_echo_n "(cached) " >&6 else @@ -7546,7 +7579,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 7549 "configure"' > conftest.$ac_ext + echo '#line 7582 "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -7640,7 +7673,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux* CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if test "${lt_cv_cc_needs_belf+set}" = set; then : +if ${lt_cv_cc_needs_belf+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=c @@ -7716,7 +7749,7 @@ need_locks="$enable_libtool_lock" set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_DSYMUTIL+set}" = set; then : +if ${ac_cv_prog_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then @@ -7728,7 +7761,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7756,7 +7789,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then : +if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then @@ -7768,7 +7801,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7808,7 +7841,7 @@ fi set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_NMEDIT+set}" = set; then : +if ${ac_cv_prog_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then @@ -7820,7 +7853,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7848,7 +7881,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then set dummy nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then : +if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then @@ -7860,7 +7893,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_NMEDIT="nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7900,7 +7933,7 @@ fi set dummy ${ac_tool_prefix}lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_LIPO+set}" = set; then : +if ${ac_cv_prog_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$LIPO"; then @@ -7912,7 +7945,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7940,7 +7973,7 @@ if test -z "$ac_cv_prog_LIPO"; then set dummy lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then : +if ${ac_cv_prog_ac_ct_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LIPO"; then @@ -7952,7 +7985,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_LIPO="lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7992,7 +8025,7 @@ fi set dummy ${ac_tool_prefix}otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OTOOL+set}" = set; then : +if ${ac_cv_prog_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL"; then @@ -8004,7 +8037,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -8032,7 +8065,7 @@ if test -z "$ac_cv_prog_OTOOL"; then set dummy otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then : +if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL"; then @@ -8044,7 +8077,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL="otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -8084,7 +8117,7 @@ fi set dummy ${ac_tool_prefix}otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OTOOL64+set}" = set; then : +if ${ac_cv_prog_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL64"; then @@ -8096,7 +8129,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -8124,7 +8157,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then set dummy otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then : +if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL64"; then @@ -8136,7 +8169,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL64="otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -8199,7 +8232,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } -if test "${lt_cv_apple_cc_single_mod+set}" = set; then : +if ${lt_cv_apple_cc_single_mod+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no @@ -8228,7 +8261,7 @@ fi $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if test "${lt_cv_ld_exported_symbols_list+set}" = set; then : +if ${lt_cv_ld_exported_symbols_list+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no @@ -8297,7 +8330,7 @@ for ac_header in dlfcn.h do : ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " -if test "x$ac_cv_header_dlfcn_h" = x""yes; then : +if test "x$ac_cv_header_dlfcn_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DLFCN_H 1 _ACEOF @@ -8481,7 +8514,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } -if test "${lt_cv_objdir+set}" = set; then : +if ${lt_cv_objdir+:} false; then : $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null @@ -8589,7 +8622,7 @@ file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then : +if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in @@ -8655,7 +8688,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 $as_echo_n "checking for file... " >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then : +if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in @@ -8792,7 +8825,7 @@ if test "$GCC" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then : +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no @@ -8808,11 +8841,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8811: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8844: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:8815: \$? = $ac_status" >&5 + echo "$as_me:8848: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -9131,7 +9164,7 @@ $as_echo "$lt_prog_compiler_pic" >&6; } if test -n "$lt_prog_compiler_pic"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if test "${lt_cv_prog_compiler_pic_works+set}" = set; then : +if ${lt_cv_prog_compiler_pic_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no @@ -9147,11 +9180,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9150: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9183: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:9154: \$? = $ac_status" >&5 + echo "$as_me:9187: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -9190,7 +9223,7 @@ fi wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if test "${lt_cv_prog_compiler_static_works+set}" = set; then : +if ${lt_cv_prog_compiler_static_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no @@ -9233,7 +9266,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then : +if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no @@ -9252,11 +9285,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9255: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9288: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:9259: \$? = $ac_status" >&5 + echo "$as_me:9292: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -9288,7 +9321,7 @@ $as_echo "$lt_cv_prog_compiler_c_o" >&6; { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then : +if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no @@ -9307,11 +9340,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9310: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9343: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:9314: \$? = $ac_status" >&5 + echo "$as_me:9347: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -10089,10 +10122,11 @@ if test -z "$aix_libpath"; then aix_libp LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -int foo(void) {} +int foo (void) { return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' fi rm -f core conftest.err conftest.$ac_objext \ @@ -11416,7 +11450,7 @@ else # if libdl is installed we need to link against it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then : +if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -11450,7 +11484,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else @@ -11464,12 +11498,12 @@ fi *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = x""yes; then : +if test "x$ac_cv_func_shl_load" = xyes; then : lt_cv_dlopen="shl_load" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } -if test "${ac_cv_lib_dld_shl_load+set}" = set; then : +if ${ac_cv_lib_dld_shl_load+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -11503,16 +11537,16 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = x""yes; then : +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = x""yes; then : +if test "x$ac_cv_func_dlopen" = xyes; then : lt_cv_dlopen="dlopen" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then : +if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -11546,12 +11580,12 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } -if test "${ac_cv_lib_svld_dlopen+set}" = set; then : +if ${ac_cv_lib_svld_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -11585,12 +11619,12 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = x""yes; then : +if test "x$ac_cv_lib_svld_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } -if test "${ac_cv_lib_dld_dld_link+set}" = set; then : +if ${ac_cv_lib_dld_dld_link+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -11624,7 +11658,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = x""yes; then : +if test "x$ac_cv_lib_dld_dld_link" = xyes; then : lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi @@ -11665,7 +11699,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } -if test "${lt_cv_dlopen_self+set}" = set; then : +if ${lt_cv_dlopen_self+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -11674,7 +11708,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11677 "configure" +#line 11711 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11761,7 +11795,7 @@ $as_echo "$lt_cv_dlopen_self" >&6; } wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if test "${lt_cv_dlopen_self_static+set}" = set; then : +if ${lt_cv_dlopen_self_static+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -11770,7 +11804,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11773 "configure" +#line 11807 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12250,7 +12284,7 @@ bzip2) LOG_COMPRESSEXT=".bz2" ;; cat) LOG_COMPRESSEXT="" ;; compress) LOG_COMPRESSEXT=".Z" ;; gzip) LOG_COMPRESSEXT=".gz" ;; -*) as_fn_error $? "unknown log compression type $LOG_COMPRESS" "$LINENO" 5 ;; +*) as_fn_error $? "unknown log compression type $LOG_COMPRESS" "$LINENO" 5 ;; esac @@ -12336,7 +12370,7 @@ $as_echo "#define DO_PERL 1" >>confdefs. ;; no) DO_PERL=DONT ;; - *) as_fn_error $? "invalid argument to --with-perl" "$LINENO" 5 ;; + *) as_fn_error $? "invalid argument to --with-perl" "$LINENO" 5 ;; esac else DO_PERL=DONT @@ -12348,7 +12382,7 @@ if test x"${PERL}" = x ; then set dummy perl; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PERL+set}" = set; then : +if ${ac_cv_path_PERL+:} false; then : $as_echo_n "(cached) " >&6 else case $PERL in @@ -12362,7 +12396,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -12390,7 +12424,7 @@ if test x"${PERL}" = x ; then fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Perl version" >&5 $as_echo_n "checking for Perl version... " >&6; } -if test "${inn_cv_perl_version+set}" = set; then : +if ${inn_cv_perl_version+:} false; then : $as_echo_n "(cached) " >&6 else if $PERL -e 'require 5.004_03;' > /dev/null 2>&1 ; then @@ -12476,7 +12510,7 @@ $as_echo "$inn_perl_core_path" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Wno-extra" >&5 $as_echo_n "checking if $CC supports -Wno-extra... " >&6; } -if test "${inn_cv_compiler_c__Wno_extra+set}" = set; then : +if ${inn_cv_compiler_c__Wno_extra+:} false; then : $as_echo_n "(cached) " >&6 else save_CFLAGS=$CFLAGS @@ -12527,7 +12561,7 @@ $as_echo "#define DO_PYTHON 1" >>confdef ;; no) DO_PYTHON=DONT ;; - *) as_fn_error $? "invalid argument to --with-python" "$LINENO" 5 ;; + *) as_fn_error $? "invalid argument to --with-python" "$LINENO" 5 ;; esac else DO_PYTHON=DONT @@ -12540,7 +12574,7 @@ if test x"$DO_PYTHON" = xDO ; then set dummy python; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PYTHON+set}" = set; then : +if ${ac_cv_path_PYTHON+:} false; then : $as_echo_n "(cached) " >&6 else case $PYTHON in @@ -12554,7 +12588,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -12610,7 +12644,7 @@ HOSTNAME=`hostname 2> /dev/null || uname if test $ac_cv_c_compiler_gnu = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5 $as_echo_n "checking whether $CC needs -traditional... " >&6; } -if test "${ac_cv_prog_gcc_traditional+set}" = set; then : +if ${ac_cv_prog_gcc_traditional+:} false; then : $as_echo_n "(cached) " >&6 else ac_pattern="Autoconf.*'x'" @@ -12655,7 +12689,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_LEX+set}" = set; then : +if ${ac_cv_prog_LEX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$LEX"; then @@ -12667,7 +12701,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_LEX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -12699,7 +12733,8 @@ a { ECHO; } b { REJECT; } c { yymore (); } d { yyless (1); } -e { yyless (input () != 0); } +e { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument. */ + yyless ((input () != 0)); } f { unput (yytext[0]); } . { BEGIN INITIAL; } %% @@ -12725,7 +12760,7 @@ $as_echo "$ac_try_echo"; } >&5 test $ac_status = 0; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking lex output file root" >&5 $as_echo_n "checking lex output file root... " >&6; } -if test "${ac_cv_prog_lex_root+set}" = set; then : +if ${ac_cv_prog_lex_root+:} false; then : $as_echo_n "(cached) " >&6 else @@ -12744,7 +12779,7 @@ LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root if test -z "${LEXLIB+set}"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking lex library" >&5 $as_echo_n "checking lex library... " >&6; } -if test "${ac_cv_lib_lex+set}" = set; then : +if ${ac_cv_lib_lex+:} false; then : $as_echo_n "(cached) " >&6 else @@ -12774,7 +12809,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether yytext is a pointer" >&5 $as_echo_n "checking whether yytext is a pointer... " >&6; } -if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then : +if ${ac_cv_prog_lex_yytext_pointer+:} false; then : $as_echo_n "(cached) " >&6 else # POSIX says lex can declare yytext either as a pointer or an array; the @@ -12785,7 +12820,8 @@ ac_save_LIBS=$LIBS LIBS="$LEXLIB $ac_save_LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#define YYTEXT_POINTER 1 + + #define YYTEXT_POINTER 1 `cat $LEX_OUTPUT_ROOT.c` _ACEOF if ac_fn_c_try_link "$LINENO"; then : @@ -12821,7 +12857,7 @@ fi $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then : +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF @@ -12851,7 +12887,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then - if test "${ac_cv_path_mkdir+set}" = set; then : + if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -12861,7 +12897,7 @@ do test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ @@ -12895,7 +12931,7 @@ if test -n "$ac_tool_prefix"; then set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then : +if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then @@ -12907,7 +12943,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -12935,7 +12971,7 @@ if test -z "$ac_cv_prog_RANLIB"; then set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then @@ -12947,7 +12983,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -12988,7 +13024,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_YACC+set}" = set; then : +if ${ac_cv_prog_YACC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$YACC"; then @@ -13000,7 +13036,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_YACC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -13072,7 +13108,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then : +if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then @@ -13084,7 +13120,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -13110,7 +13146,7 @@ done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then : +if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 @@ -13127,7 +13163,7 @@ do for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in @@ -13177,7 +13213,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } -if test "${ac_cv_path_SED+set}" = set; then : +if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ @@ -13197,7 +13233,7 @@ do for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue + as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in @@ -13249,7 +13285,7 @@ if test x"${AWK}" = x ; then set dummy awk; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_AWK+set}" = set; then : +if ${ac_cv_path_AWK+:} false; then : $as_echo_n "(cached) " >&6 else case $AWK in @@ -13263,7 +13299,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_AWK="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -13294,7 +13330,7 @@ if test x"${EGREP}" = x ; then set dummy egrep; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then : +if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else case $EGREP in @@ -13308,7 +13344,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_EGREP="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -13339,7 +13375,7 @@ if test x"${SED}" = x ; then set dummy sed; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_SED+set}" = set; then : +if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else case $SED in @@ -13353,7 +13389,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_SED="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -13384,7 +13420,7 @@ if test x"${SORT}" = x ; then set dummy sort; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_SORT+set}" = set; then : +if ${ac_cv_path_SORT+:} false; then : $as_echo_n "(cached) " >&6 else case $SORT in @@ -13398,7 +13434,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_SORT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -13430,7 +13466,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_SSLBIN+set}" = set; then : +if ${ac_cv_path_SSLBIN+:} false; then : $as_echo_n "(cached) " >&6 else case $SSLBIN in @@ -13444,7 +13480,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_SSLBIN="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -13476,7 +13512,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_UUSTAT+set}" = set; then : +if ${ac_cv_path_UUSTAT+:} false; then : $as_echo_n "(cached) " >&6 else case $UUSTAT in @@ -13490,7 +13526,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_UUSTAT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -13521,7 +13557,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_UUX+set}" = set; then : +if ${ac_cv_path_UUX+:} false; then : $as_echo_n "(cached) " >&6 else case $UUX in @@ -13535,7 +13571,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_UUX="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -13569,7 +13605,7 @@ test -n "$UUX" || UUX="uux" set dummy bzip2; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_BZIP2+set}" = set; then : +if ${ac_cv_path_BZIP2+:} false; then : $as_echo_n "(cached) " >&6 else case $BZIP2 in @@ -13583,7 +13619,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_BZIP2="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -13610,7 +13646,7 @@ fi set dummy cat; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_CAT+set}" = set; then : +if ${ac_cv_path_CAT+:} false; then : $as_echo_n "(cached) " >&6 else case $CAT in @@ -13624,7 +13660,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_CAT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -13651,7 +13687,7 @@ fi set dummy compress; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_COMPRESS+set}" = set; then : +if ${ac_cv_path_COMPRESS+:} false; then : $as_echo_n "(cached) " >&6 else case $COMPRESS in @@ -13665,7 +13701,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_COMPRESS="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -13692,7 +13728,7 @@ fi set dummy gzip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GZIP+set}" = set; then : +if ${ac_cv_path_GZIP+:} false; then : $as_echo_n "(cached) " >&6 else case $GZIP in @@ -13706,7 +13742,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GZIP="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -13760,7 +13796,7 @@ gzip) set dummy $LOG_COMPRESS; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_LOG_COMPRESS+set}" = set; then : +if ${ac_cv_path_LOG_COMPRESS+:} false; then : $as_echo_n "(cached) " >&6 else case $LOG_COMPRESS in @@ -13774,7 +13810,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_LOG_COMPRESS="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -13818,7 +13854,7 @@ else set dummy sendmail; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_SENDMAIL+set}" = set; then : +if ${ac_cv_path_SENDMAIL+:} false; then : $as_echo_n "(cached) " >&6 else case $SENDMAIL in @@ -13833,7 +13869,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_SENDMAIL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -13869,7 +13905,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GPGV+set}" = set; then : +if ${ac_cv_path_GPGV+:} false; then : $as_echo_n "(cached) " >&6 else case $GPGV in @@ -13883,7 +13919,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GPGV="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -13914,7 +13950,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PGP+set}" = set; then : +if ${ac_cv_path_PGP+:} false; then : $as_echo_n "(cached) " >&6 else case $PGP in @@ -13928,7 +13964,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PGP="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -13964,7 +14000,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PATH_GETFTP+set}" = set; then : +if ${ac_cv_path_PATH_GETFTP+:} false; then : $as_echo_n "(cached) " >&6 else case $PATH_GETFTP in @@ -13978,7 +14014,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PATH_GETFTP="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -14008,7 +14044,7 @@ test -n "$PATH_GETFTP" || PATH_GETFTP="$ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing setproctitle" >&5 $as_echo_n "checking for library containing setproctitle... " >&6; } -if test "${ac_cv_search_setproctitle+set}" = set; then : +if ${ac_cv_search_setproctitle+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -14042,11 +14078,11 @@ for ac_lib in '' util; do fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_setproctitle+set}" = set; then : + if ${ac_cv_search_setproctitle+:} false; then : break fi done -if test "${ac_cv_search_setproctitle+set}" = set; then : +if ${ac_cv_search_setproctitle+:} false; then : else ac_cv_search_setproctitle=no @@ -14072,7 +14108,7 @@ esac for ac_func in pstat do : ac_fn_c_check_func "$LINENO" "pstat" "ac_cv_func_pstat" -if test "x$ac_cv_func_pstat" = x""yes; then : +if test "x$ac_cv_func_pstat" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_PSTAT 1 _ACEOF @@ -14085,7 +14121,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 $as_echo_n "checking for library containing gethostbyname... " >&6; } -if test "${ac_cv_search_gethostbyname+set}" = set; then : +if ${ac_cv_search_gethostbyname+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -14119,11 +14155,11 @@ for ac_lib in '' nsl; do fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_gethostbyname+set}" = set; then : + if ${ac_cv_search_gethostbyname+:} false; then : break fi done -if test "${ac_cv_search_gethostbyname+set}" = set; then : +if ${ac_cv_search_gethostbyname+:} false; then : else ac_cv_search_gethostbyname=no @@ -14141,7 +14177,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5 $as_echo_n "checking for library containing socket... " >&6; } -if test "${ac_cv_search_socket+set}" = set; then : +if ${ac_cv_search_socket+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -14175,11 +14211,11 @@ for ac_lib in '' socket; do fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_socket+set}" = set; then : + if ${ac_cv_search_socket+:} false; then : break fi done -if test "${ac_cv_search_socket+set}" = set; then : +if ${ac_cv_search_socket+:} false; then : else ac_cv_search_socket=no @@ -14196,7 +14232,7 @@ if test "$ac_res" != no; then : else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lnsl" >&5 $as_echo_n "checking for socket in -lnsl... " >&6; } -if test "${ac_cv_lib_nsl_socket+set}" = set; then : +if ${ac_cv_lib_nsl_socket+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -14230,7 +14266,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_socket" >&5 $as_echo "$ac_cv_lib_nsl_socket" >&6; } -if test "x$ac_cv_lib_nsl_socket" = x""yes; then : +if test "x$ac_cv_lib_nsl_socket" = xyes; then : LIBS="$LIBS -lsocket -lnsl" fi @@ -14239,7 +14275,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_aton" >&5 $as_echo_n "checking for library containing inet_aton... " >&6; } -if test "${ac_cv_search_inet_aton+set}" = set; then : +if ${ac_cv_search_inet_aton+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -14273,11 +14309,11 @@ for ac_lib in '' resolv; do fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_inet_aton+set}" = set; then : + if ${ac_cv_search_inet_aton+:} false; then : break fi done -if test "${ac_cv_search_inet_aton+set}" = set; then : +if ${ac_cv_search_inet_aton+:} false; then : else ac_cv_search_inet_aton=no @@ -14298,7 +14334,7 @@ inn_save_LIBS=$LIBS LIBS=${CRYPT_LIBS} { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing crypt" >&5 $as_echo_n "checking for library containing crypt... " >&6; } -if test "${ac_cv_search_crypt+set}" = set; then : +if ${ac_cv_search_crypt+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -14332,11 +14368,11 @@ for ac_lib in '' crypt; do fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_crypt+set}" = set; then : + if ${ac_cv_search_crypt+:} false; then : break fi done -if test "${ac_cv_search_crypt+set}" = set; then : +if ${ac_cv_search_crypt+:} false; then : else ac_cv_search_crypt=no @@ -14359,7 +14395,7 @@ inn_save_LIBS=$LIBS LIBS=${SHADOW_LIBS} { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getspnam" >&5 $as_echo_n "checking for library containing getspnam... " >&6; } -if test "${ac_cv_search_getspnam+set}" = set; then : +if ${ac_cv_search_getspnam+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -14393,11 +14429,11 @@ for ac_lib in '' shadow; do fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_getspnam+set}" = set; then : + if ${ac_cv_search_getspnam+:} false; then : break fi done -if test "${ac_cv_search_getspnam+set}" = set; then : +if ${ac_cv_search_getspnam+:} false; then : else ac_cv_search_getspnam=no @@ -14421,14 +14457,14 @@ inn_check_pam=1 for ac_header in pam/pam_appl.h do : ac_fn_c_check_header_mongrel "$LINENO" "pam/pam_appl.h" "ac_cv_header_pam_pam_appl_h" "$ac_includes_default" -if test "x$ac_cv_header_pam_pam_appl_h" = x""yes; then : +if test "x$ac_cv_header_pam_pam_appl_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_PAM_PAM_APPL_H 1 _ACEOF else ac_fn_c_check_header_mongrel "$LINENO" "security/pam_appl.h" "ac_cv_header_security_pam_appl_h" "$ac_includes_default" -if test "x$ac_cv_header_security_pam_appl_h" = x""yes; then : +if test "x$ac_cv_header_security_pam_appl_h" = xyes; then : else inn_check_pam=0 @@ -14444,7 +14480,7 @@ if test x"$inn_check_pam" = x1; then LIBS=${PAM_LIBS} { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing pam_start" >&5 $as_echo_n "checking for library containing pam_start... " >&6; } -if test "${ac_cv_search_pam_start+set}" = set; then : +if ${ac_cv_search_pam_start+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -14478,11 +14514,11 @@ for ac_lib in '' pam; do fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_pam_start+set}" = set; then : + if ${ac_cv_search_pam_start+:} false; then : break fi done -if test "${ac_cv_search_pam_start+set}" = set; then : +if ${ac_cv_search_pam_start+:} false; then : else ac_cv_search_pam_start=no @@ -14510,7 +14546,7 @@ if test x"$inn_enable_keywords" = x1 ; t LIBS=${REGEX_LIBS} { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing regexec" >&5 $as_echo_n "checking for library containing regexec... " >&6; } -if test "${ac_cv_search_regexec+set}" = set; then : +if ${ac_cv_search_regexec+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -14544,11 +14580,11 @@ for ac_lib in '' regex; do fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_regexec+set}" = set; then : + if ${ac_cv_search_regexec+:} false; then : break fi done -if test "${ac_cv_search_regexec+set}" = set; then : +if ${ac_cv_search_regexec+:} false; then : else ac_cv_search_regexec=no @@ -14604,8 +14640,10 @@ $as_echo_n "checking for Berkeley DB loc if test x"$DB_DIR" = xyes ; then as_fn_error $? "cannot find Berkeley DB" "$LINENO" 5 else - DB_CPPFLAGS="-I$DB_DIR/include" - DB_LDFLAGS="-L$DB_DIR/lib" + if test x"$DB_DIR" != x/usr ; then + DB_CPPFLAGS="-I$DB_DIR/include" + DB_LDFLAGS="-L$DB_DIR/lib" + fi DB_LIBS="-ldb" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DB_DIR" >&5 $as_echo "$DB_DIR" >&6; } @@ -14664,7 +14702,7 @@ $as_echo "$ZLIB_DIR" >&6; } LDFLAGS="$ZLIB_LDFLAGS $LDFLAGS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compress in -lz" >&5 $as_echo_n "checking for compress in -lz... " >&6; } -if test "${ac_cv_lib_z_compress+set}" = set; then : +if ${ac_cv_lib_z_compress+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -14698,7 +14736,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_compress" >&5 $as_echo "$ac_cv_lib_z_compress" >&6; } -if test "x$ac_cv_lib_z_compress" = x""yes; then : +if test "x$ac_cv_lib_z_compress" = xyes; then : ZLIB_LIBS=-lz else as_fn_error $? "cannot find libz" "$LINENO" 5 @@ -14755,7 +14793,7 @@ $as_echo "$SSL_DIR" >&6; } LDFLAGS="$SSL_LDFLAGS $LDFLAGS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for RSAPublicEncrypt in -lrsaref" >&5 $as_echo_n "checking for RSAPublicEncrypt in -lrsaref... " >&6; } -if test "${ac_cv_lib_rsaref_RSAPublicEncrypt+set}" = set; then : +if ${ac_cv_lib_rsaref_RSAPublicEncrypt+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -14789,10 +14827,10 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rsaref_RSAPublicEncrypt" >&5 $as_echo "$ac_cv_lib_rsaref_RSAPublicEncrypt" >&6; } -if test "x$ac_cv_lib_rsaref_RSAPublicEncrypt" = x""yes; then : +if test "x$ac_cv_lib_rsaref_RSAPublicEncrypt" = xyes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for RSAPublicEncrypt in -lRSAglue" >&5 $as_echo_n "checking for RSAPublicEncrypt in -lRSAglue... " >&6; } -if test "${ac_cv_lib_RSAglue_RSAPublicEncrypt+set}" = set; then : +if ${ac_cv_lib_RSAglue_RSAPublicEncrypt+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -14826,7 +14864,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_RSAglue_RSAPublicEncrypt" >&5 $as_echo "$ac_cv_lib_RSAglue_RSAPublicEncrypt" >&6; } -if test "x$ac_cv_lib_RSAglue_RSAPublicEncrypt" = x""yes; then : +if test "x$ac_cv_lib_RSAglue_RSAPublicEncrypt" = xyes; then : SSL_LIBS="-lRSAglue -lrsaref" fi @@ -14834,7 +14872,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BIO_new in -lcrypto" >&5 $as_echo_n "checking for BIO_new in -lcrypto... " >&6; } -if test "${ac_cv_lib_crypto_BIO_new+set}" = set; then : +if ${ac_cv_lib_crypto_BIO_new+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -14868,10 +14906,10 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_BIO_new" >&5 $as_echo "$ac_cv_lib_crypto_BIO_new" >&6; } -if test "x$ac_cv_lib_crypto_BIO_new" = x""yes; then : +if test "x$ac_cv_lib_crypto_BIO_new" = xyes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DSO_load in -ldl" >&5 $as_echo_n "checking for DSO_load in -ldl... " >&6; } -if test "${ac_cv_lib_dl_DSO_load+set}" = set; then : +if ${ac_cv_lib_dl_DSO_load+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -14905,7 +14943,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_DSO_load" >&5 $as_echo "$ac_cv_lib_dl_DSO_load" >&6; } -if test "x$ac_cv_lib_dl_DSO_load" = x""yes; then : +if test "x$ac_cv_lib_dl_DSO_load" = xyes; then : SSL_LIBS="-lcrypto -ldl $SSL_LIBS" else SSL_LIBS="-lcrypto $SSL_LIBS" @@ -14917,7 +14955,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSL_library_init in -lssl" >&5 $as_echo_n "checking for SSL_library_init in -lssl... " >&6; } -if test "${ac_cv_lib_ssl_SSL_library_init+set}" = set; then : +if ${ac_cv_lib_ssl_SSL_library_init+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -14951,7 +14989,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ssl_SSL_library_init" >&5 $as_echo "$ac_cv_lib_ssl_SSL_library_init" >&6; } -if test "x$ac_cv_lib_ssl_SSL_library_init" = x""yes; then : +if test "x$ac_cv_lib_ssl_SSL_library_init" = xyes; then : SSL_LIBS="-lssl $SSL_LIBS" else as_fn_error $? "cannot link with OpenSSL" "$LINENO" 5 @@ -15008,7 +15046,7 @@ $as_echo "$SASL_DIR" >&6; } LDFLAGS="$SASL_LDFLAGS $LDFLAGS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sasl_getprop in -lsasl2" >&5 $as_echo_n "checking for sasl_getprop in -lsasl2... " >&6; } -if test "${ac_cv_lib_sasl2_sasl_getprop+set}" = set; then : +if ${ac_cv_lib_sasl2_sasl_getprop+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -15042,7 +15080,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sasl2_sasl_getprop" >&5 $as_echo "$ac_cv_lib_sasl2_sasl_getprop" >&6; } -if test "x$ac_cv_lib_sasl2_sasl_getprop" = x""yes; then : +if test "x$ac_cv_lib_sasl2_sasl_getprop" = xyes; then : SASL_LIBS=-lsasl2 else as_fn_error $? "cannot find SASL" "$LINENO" 5 @@ -15100,7 +15138,7 @@ $as_echo "$KRB5_DIR" >&6; } LDFLAGS="$KRB5_LDFLAGS $LDFLAGS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for krb5_init_context in -lkrb5" >&5 $as_echo_n "checking for krb5_init_context in -lkrb5... " >&6; } -if test "${ac_cv_lib_krb5_krb5_init_context+set}" = set; then : +if ${ac_cv_lib_krb5_krb5_init_context+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -15134,13 +15172,13 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_krb5_krb5_init_context" >&5 $as_echo "$ac_cv_lib_krb5_krb5_init_context" >&6; } -if test "x$ac_cv_lib_krb5_krb5_init_context" = x""yes; then : +if test "x$ac_cv_lib_krb5_krb5_init_context" = xyes; then : KRB5_LIBS="-lkrb5 -lasn1 -lroken -lcrypto -lcom_err" else KRB5_EXTRA="-lk5crypto -lcom_err" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for krb5int_getspecific in -lkrb5support" >&5 $as_echo_n "checking for krb5int_getspecific in -lkrb5support... " >&6; } -if test "${ac_cv_lib_krb5support_krb5int_getspecific+set}" = set; then : +if ${ac_cv_lib_krb5support_krb5int_getspecific+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -15174,12 +15212,12 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_krb5support_krb5int_getspecific" >&5 $as_echo "$ac_cv_lib_krb5support_krb5int_getspecific" >&6; } -if test "x$ac_cv_lib_krb5support_krb5int_getspecific" = x""yes; then : +if test "x$ac_cv_lib_krb5support_krb5int_getspecific" = xyes; then : KRB5_EXTRA="$KRB5_EXTRA -lkrb5support" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing pthread_setspecific" >&5 $as_echo_n "checking for library containing pthread_setspecific... " >&6; } -if test "${ac_cv_search_pthread_setspecific+set}" = set; then : +if ${ac_cv_search_pthread_setspecific+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -15213,11 +15251,11 @@ for ac_lib in '' pthreads pthread; do fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_pthread_setspecific+set}" = set; then : + if ${ac_cv_search_pthread_setspecific+:} false; then : break fi done -if test "${ac_cv_search_pthread_setspecific+set}" = set; then : +if ${ac_cv_search_pthread_setspecific+:} false; then : else ac_cv_search_pthread_setspecific=no @@ -15235,7 +15273,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for krb5int_setspecific in -lkrb5support" >&5 $as_echo_n "checking for krb5int_setspecific in -lkrb5support... " >&6; } -if test "${ac_cv_lib_krb5support_krb5int_setspecific+set}" = set; then : +if ${ac_cv_lib_krb5support_krb5int_setspecific+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -15269,7 +15307,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_krb5support_krb5int_setspecific" >&5 $as_echo "$ac_cv_lib_krb5support_krb5int_setspecific" >&6; } -if test "x$ac_cv_lib_krb5support_krb5int_setspecific" = x""yes; then : +if test "x$ac_cv_lib_krb5support_krb5int_setspecific" = xyes; then : KRB5_EXTRA="$KRB5_EXTRA -lkrb5support" fi @@ -15277,7 +15315,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for krb5_cc_default in -lkrb5" >&5 $as_echo_n "checking for krb5_cc_default in -lkrb5... " >&6; } -if test "${ac_cv_lib_krb5_krb5_cc_default+set}" = set; then : +if ${ac_cv_lib_krb5_krb5_cc_default+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -15311,7 +15349,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_krb5_krb5_cc_default" >&5 $as_echo "$ac_cv_lib_krb5_krb5_cc_default" >&6; } -if test "x$ac_cv_lib_krb5_krb5_cc_default" = x""yes; then : +if test "x$ac_cv_lib_krb5_krb5_cc_default" = xyes; then : KRB5_LIBS="-lkrb5 $KRB5_EXTRA" else as_fn_error $? "cannot find usable Kerberos v5 library" "$LINENO" 5 @@ -15324,7 +15362,7 @@ fi for ac_header in et/com_err.h do : ac_fn_c_check_header_mongrel "$LINENO" "et/com_err.h" "ac_cv_header_et_com_err_h" "$ac_includes_default" -if test "x$ac_cv_header_et_com_err_h" = x""yes; then : +if test "x$ac_cv_header_et_com_err_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_ET_COM_ERR_H 1 _ACEOF @@ -15341,18 +15379,55 @@ fi if test x"$DB_LIBS" != x ; then - DBM_CPPFLAGS="$DB_CPPFLAGS" - DBM_LIBS="$DB_LDFLAGS $DB_LIBS" + inn_save_LDFLAGS="$LDFLAGS" +inn_save_CFLAGS="$CFLAGS" +LDFLAGS="$LDFLAGS $DB_LDFLAGS $DB_LIBS" +CFLAGS="$CFLAGS $DB_CPPFLAGS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working nbdm compatibility layer with Berkeley DB" >&5 +$as_echo_n "checking for working nbdm compatibility layer with Berkeley DB... " >&6; } +if ${inn_cv_lib_berkeleydb_ndbm_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#define DB_DBM_HSEARCH 1 +#include -$as_echo "#define HAVE_BDB_DBM 1" >>confdefs.h +int +main(void) { + DBM *database; + database = dbm_open("test", 0, 0600); + dbm_close(database); + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + inn_cv_lib_berkeleydb_ndbm_works=yes else + inn_cv_lib_berkeleydb_ndbm_works=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $inn_cv_lib_berkeleydb_ndbm_works" >&5 +$as_echo "$inn_cv_lib_berkeleydb_ndbm_works" >&6; } +if test x"$inn_cv_lib_berkeleydb_ndbm_works" = xyes; then : + +$as_echo "#define HAVE_BDB_NDBM 1" >>confdefs.h + +fi +LDFLAGS="$inn_save_LDFLAGS" +CFLAGS="$inn_save_CFLAGS" +fi +if test x"$inn_cv_lib_berkeleydb_ndbm_works" != xyes ; then inn_save_LIBS=$LIBS LIBS=${DBM_LIBS} { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dbm_open" >&5 $as_echo_n "checking for library containing dbm_open... " >&6; } -if test "${ac_cv_search_dbm_open+set}" = set; then : +if ${ac_cv_search_dbm_open+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -15374,7 +15449,7 @@ return dbm_open (); return 0; } _ACEOF -for ac_lib in '' ndbm dbm; do +for ac_lib in '' ndbm dbm gdbm "gdbm_compat -lgdbm"; do if test -z "$ac_lib"; then ac_res="none required" else @@ -15386,11 +15461,11 @@ for ac_lib in '' ndbm dbm; do fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_dbm_open+set}" = set; then : + if ${ac_cv_search_dbm_open+:} false; then : break fi done -if test "${ac_cv_search_dbm_open+set}" = set; then : +if ${ac_cv_search_dbm_open+:} false; then : else ac_cv_search_dbm_open=no @@ -15412,6 +15487,10 @@ fi LIBS=$inn_save_LIBS DBM_CPPFLAGS= +else + DBM_CPPFLAGS="$DB_CPPFLAGS" + DBM_LIBS="$DB_LDFLAGS $DB_LIBS" + fi @@ -15425,7 +15504,7 @@ if test "$enable_largefile" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 $as_echo_n "checking for special C compiler options needed for large files... " >&6; } -if test "${ac_cv_sys_largefile_CC+set}" = set; then : +if ${ac_cv_sys_largefile_CC+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_sys_largefile_CC=no @@ -15476,7 +15555,7 @@ $as_echo "$ac_cv_sys_largefile_CC" >&6; { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } -if test "${ac_cv_sys_file_offset_bits+set}" = set; then : +if ${ac_cv_sys_file_offset_bits+:} false; then : $as_echo_n "(cached) " >&6 else while :; do @@ -15545,7 +15624,7 @@ rm -rf conftest* if test $ac_cv_sys_file_offset_bits = unknown; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } -if test "${ac_cv_sys_large_files+set}" = set; then : +if ${ac_cv_sys_large_files+:} false; then : $as_echo_n "(cached) " >&6 else while :; do @@ -15612,6 +15691,8 @@ _ACEOF esac rm -rf conftest* fi + + fi @@ -15621,84 +15702,66 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 $as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } -if test "${ac_cv_header_stdbool_h+set}" = set; then : +if ${ac_cv_header_stdbool_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#ifndef bool - "error: bool is not defined" -#endif -#ifndef false - "error: false is not defined" -#endif -#if false - "error: false is not 0" -#endif -#ifndef true - "error: true is not defined" -#endif -#if true != 1 - "error: true is not 1" -#endif -#ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" -#endif - - struct s { _Bool s: 1; _Bool t; } s; - - char a[true == 1 ? 1 : -1]; - char b[false == 0 ? 1 : -1]; - char c[__bool_true_false_are_defined == 1 ? 1 : -1]; - char d[(bool) 0.5 == true ? 1 : -1]; - bool e = &s; - char f[(_Bool) 0.0 == false ? 1 : -1]; - char g[true]; - char h[sizeof (_Bool)]; - char i[sizeof s.t]; - enum { j = false, k = true, l = false * true, m = true * 256 }; - /* The following fails for - HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ - _Bool n[m]; - char o[sizeof n == m * sizeof n[0] ? 1 : -1]; - char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; -# if defined __xlc__ || defined __GNUC__ - /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 - reported by James Lemley on 2005-10-05; see - http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html - This test is not quite right, since xlc is allowed to - reject this program, as the initializer for xlcbug is - not one of the forms that C requires support for. - However, doing the test right would require a runtime - test, and that would make cross-compilation harder. - Let us hope that IBM fixes the xlc bug, and also adds - support for this kind of constant expression. In the - meantime, this test will reject xlc, which is OK, since - our stdbool.h substitute should suffice. We also test - this with GCC, where it should work, to detect more - quickly whether someone messes up the test in the - future. */ - char digs[] = "0123456789"; - int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); -# endif - /* Catch a bug in an HP-UX C compiler. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html - */ - _Bool q = true; - _Bool *pq = &q; + #include + #ifndef bool + "error: bool is not defined" + #endif + #ifndef false + "error: false is not defined" + #endif + #if false + "error: false is not 0" + #endif + #ifndef true + "error: true is not defined" + #endif + #if true != 1 + "error: true is not 1" + #endif + #ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" + #endif + + struct s { _Bool s: 1; _Bool t; } s; + + char a[true == 1 ? 1 : -1]; + char b[false == 0 ? 1 : -1]; + char c[__bool_true_false_are_defined == 1 ? 1 : -1]; + char d[(bool) 0.5 == true ? 1 : -1]; + /* See body of main program for 'e'. */ + char f[(_Bool) 0.0 == false ? 1 : -1]; + char g[true]; + char h[sizeof (_Bool)]; + char i[sizeof s.t]; + enum { j = false, k = true, l = false * true, m = true * 256 }; + /* The following fails for + HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ + _Bool n[m]; + char o[sizeof n == m * sizeof n[0] ? 1 : -1]; + char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; + /* Catch a bug in an HP-UX C compiler. See + http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html + */ + _Bool q = true; + _Bool *pq = &q; int main () { - *pq |= q; - *pq |= ! q; - /* Refer to every declared value, to avoid compiler optimizations. */ - return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l - + !m + !n + !o + !p + !q + !pq); + bool e = &s; + *pq |= q; + *pq |= ! q; + /* Refer to every declared value, to avoid compiler optimizations. */ + return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + + !m + !n + !o + !p + !q + !pq); ; return 0; @@ -15713,8 +15776,8 @@ rm -f core conftest.err conftest.$ac_obj fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 $as_echo "$ac_cv_header_stdbool_h" >&6; } -ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" -if test "x$ac_cv_type__Bool" = x""yes; then : + ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" +if test "x$ac_cv_type__Bool" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE__BOOL 1 @@ -15723,6 +15786,7 @@ _ACEOF fi + if test $ac_cv_header_stdbool_h = yes; then $as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h @@ -15731,7 +15795,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } -if test "${ac_cv_header_time+set}" = set; then : +if ${ac_cv_header_time+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -15766,7 +15830,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 $as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } -if test "${ac_cv_header_sys_wait_h+set}" = set; then : +if ${ac_cv_header_sys_wait_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -15822,7 +15886,7 @@ fi done -for ac_header in ndbm.h db1/ndbm.h gdbm-ndbm.h +for ac_header in ndbm.h db1/ndbm.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" @@ -15835,9 +15899,34 @@ fi done +{ ac_cv_header_gdbm_ndbm_h=; unset ac_cv_header_gdbm_ndbm_h;} +ac_fn_c_check_header_mongrel "$LINENO" "gdbm/ndbm.h" "ac_cv_header_gdbm_ndbm_h" "$ac_includes_default" +if test "x$ac_cv_header_gdbm_ndbm_h" = xyes; then : + +fi + + +if test x"$ac_cv_header_gdbm_ndbm_h" != xno; then : + +$as_echo "#define HAVE_GDBM_SLASH_NDBM_H 1" >>confdefs.h + +else + { ac_cv_header_gdbm_ndbm_h=; unset ac_cv_header_gdbm_ndbm_h;} + ac_fn_c_check_header_mongrel "$LINENO" "gdbm-ndbm.h" "ac_cv_header_gdbm_ndbm_h" "$ac_includes_default" +if test "x$ac_cv_header_gdbm_ndbm_h" = xyes; then : + +fi + + + if test x"$ac_cv_header_gdbm_ndbm_h" != xno; then : + +$as_echo "#define HAVE_GDBM_HYPHEN_NDBM_H 1" >>confdefs.h + +fi +fi ac_fn_c_check_decl "$LINENO" "pread" "ac_cv_have_decl_pread" "$ac_includes_default" -if test "x$ac_cv_have_decl_pread" = x""yes; then : +if test "x$ac_cv_have_decl_pread" = xyes; then : ac_have_decl=1 else ac_have_decl=0 @@ -15847,7 +15936,7 @@ cat >>confdefs.h <<_ACEOF #define HAVE_DECL_PREAD $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "pwrite" "ac_cv_have_decl_pwrite" "$ac_includes_default" -if test "x$ac_cv_have_decl_pwrite" = x""yes; then : +if test "x$ac_cv_have_decl_pwrite" = xyes; then : ac_have_decl=1 else ac_have_decl=0 @@ -15857,7 +15946,7 @@ cat >>confdefs.h <<_ACEOF #define HAVE_DECL_PWRITE $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "snprintf" "ac_cv_have_decl_snprintf" "$ac_includes_default" -if test "x$ac_cv_have_decl_snprintf" = x""yes; then : +if test "x$ac_cv_have_decl_snprintf" = xyes; then : ac_have_decl=1 else ac_have_decl=0 @@ -15867,7 +15956,7 @@ cat >>confdefs.h <<_ACEOF #define HAVE_DECL_SNPRINTF $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "setproctitle" "ac_cv_have_decl_setproctitle" "$ac_includes_default" -if test "x$ac_cv_have_decl_setproctitle" = x""yes; then : +if test "x$ac_cv_have_decl_setproctitle" = xyes; then : ac_have_decl=1 else ac_have_decl=0 @@ -15877,7 +15966,7 @@ cat >>confdefs.h <<_ACEOF #define HAVE_DECL_SETPROCTITLE $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "strlcat" "ac_cv_have_decl_strlcat" "$ac_includes_default" -if test "x$ac_cv_have_decl_strlcat" = x""yes; then : +if test "x$ac_cv_have_decl_strlcat" = xyes; then : ac_have_decl=1 else ac_have_decl=0 @@ -15887,7 +15976,7 @@ cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRLCAT $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "strlcpy" "ac_cv_have_decl_strlcpy" "$ac_includes_default" -if test "x$ac_cv_have_decl_strlcpy" = x""yes; then : +if test "x$ac_cv_have_decl_strlcpy" = xyes; then : ac_have_decl=1 else ac_have_decl=0 @@ -15897,7 +15986,7 @@ cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRLCPY $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "vsnprintf" "ac_cv_have_decl_vsnprintf" "$ac_includes_default" -if test "x$ac_cv_have_decl_vsnprintf" = x""yes; then : +if test "x$ac_cv_have_decl_vsnprintf" = xyes; then : ac_have_decl=1 else ac_have_decl=0 @@ -15909,7 +15998,7 @@ _ACEOF ac_fn_c_check_decl "$LINENO" "h_errno" "ac_cv_have_decl_h_errno" "#include " -if test "x$ac_cv_have_decl_h_errno" = x""yes; then : +if test "x$ac_cv_have_decl_h_errno" = xyes; then : ac_have_decl=1 else ac_have_decl=0 @@ -15923,7 +16012,7 @@ ac_fn_c_check_decl "$LINENO" "inet_aton" #include #include " -if test "x$ac_cv_have_decl_inet_aton" = x""yes; then : +if test "x$ac_cv_have_decl_inet_aton" = xyes; then : ac_have_decl=1 else ac_have_decl=0 @@ -15936,7 +16025,7 @@ ac_fn_c_check_decl "$LINENO" "inet_ntoa" #include #include " -if test "x$ac_cv_have_decl_inet_ntoa" = x""yes; then : +if test "x$ac_cv_have_decl_inet_ntoa" = xyes; then : ac_have_decl=1 else ac_have_decl=0 @@ -15948,7 +16037,7 @@ _ACEOF ac_fn_c_check_decl "$LINENO" "altzone" "ac_cv_have_decl_altzone" "#include " -if test "x$ac_cv_have_decl_altzone" = x""yes; then : +if test "x$ac_cv_have_decl_altzone" = xyes; then : ac_have_decl=1 else ac_have_decl=0 @@ -15961,7 +16050,7 @@ _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 $as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if test "${ac_cv_c_bigendian+set}" = set; then : +if ${ac_cv_c_bigendian+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown @@ -16180,12 +16269,12 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUI ;; #( *) as_fn_error $? "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; + presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if test "${ac_cv_c_const+set}" = set; then : +if ${ac_cv_c_const+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -16194,11 +16283,11 @@ else int main () { -/* FIXME: Include the comments suggested by Paul. */ + #ifndef __cplusplus - /* Ultrix mips cc rejects this. */ + /* Ultrix mips cc rejects this sort of thing. */ typedef int charset[2]; - const charset cs; + const charset cs = { 0, 0 }; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; @@ -16215,8 +16304,9 @@ main () ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this. */ - char *t; + { /* SCO 3.2v4 cc rejects this sort of thing. */ + char tx; + char *t = &tx; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; @@ -16232,10 +16322,10 @@ main () iptr p = 0; ++p; } - { /* AIX XL C 1.02.0.0 rejects this saying + { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; + struct s { int j; const int *ap[3]; } bx; + struct s *b = &bx; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; @@ -16265,7 +16355,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C99 variadic macros" >&5 $as_echo_n "checking for C99 variadic macros... " >&6; } -if test "${inn_cv_c_c99_vamacros+set}" = set; then : +if ${inn_cv_c_c99_vamacros+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -16298,7 +16388,7 @@ $as_echo "#define HAVE_C99_VAMACROS 1" > fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU-style variadic macros" >&5 $as_echo_n "checking for GNU-style variadic macros... " >&6; } -if test "${inn_cv_c_gnu_vamacros+set}" = set; then : +if ${inn_cv_c_gnu_vamacros+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -16332,7 +16422,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } -if test "${ac_cv_struct_tm+set}" = set; then : +if ${ac_cv_struct_tm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -16369,7 +16459,7 @@ ac_fn_c_check_member "$LINENO" "struct t #include <$ac_cv_struct_tm> " -if test "x$ac_cv_member_struct_tm_tm_zone" = x""yes; then : +if test "x$ac_cv_member_struct_tm_tm_zone" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_TM_TM_ZONE 1 @@ -16385,7 +16475,7 @@ $as_echo "#define HAVE_TM_ZONE 1" >>conf else ac_fn_c_check_decl "$LINENO" "tzname" "ac_cv_have_decl_tzname" "#include " -if test "x$ac_cv_have_decl_tzname" = x""yes; then : +if test "x$ac_cv_have_decl_tzname" = xyes; then : ac_have_decl=1 else ac_have_decl=0 @@ -16397,7 +16487,7 @@ _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5 $as_echo_n "checking for tzname... " >&6; } -if test "${ac_cv_var_tzname+set}" = set; then : +if ${ac_cv_var_tzname+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -16433,7 +16523,7 @@ $as_echo "#define HAVE_TZNAME 1" >>confd fi ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then : +if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 @@ -16443,7 +16533,7 @@ _ACEOF fi ac_fn_c_check_member "$LINENO" "struct tm" "tm_gmtoff" "ac_cv_member_struct_tm_tm_gmtoff" "$ac_includes_default" -if test "x$ac_cv_member_struct_tm_tm_gmtoff" = x""yes; then : +if test "x$ac_cv_member_struct_tm_tm_gmtoff" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_TM_TM_GMTOFF 1 @@ -16455,7 +16545,7 @@ fi ac_fn_c_check_member "$LINENO" "struct sockaddr" "sa_len" "ac_cv_member_struct_sockaddr_sa_len" "#include #include " -if test "x$ac_cv_member_struct_sockaddr_sa_len" = x""yes; then : +if test "x$ac_cv_member_struct_sockaddr_sa_len" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_SOCKADDR_SA_LEN 1 @@ -16539,12 +16629,14 @@ _ACEOF esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5 -$as_echo_n "checking for long long int... " >&6; } -if test "${ac_cv_type_long_long_int+set}" = set; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5 +$as_echo_n "checking for unsigned long long int... " >&6; } +if ${ac_cv_type_unsigned_long_long_int+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_cv_type_unsigned_long_long_int=yes + if test "x${ac_cv_prog_cc_c99-no}" = xno; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* For now, do not test the preprocessor; as of 2007 there are too many @@ -16577,37 +16669,64 @@ main () _ACEOF if ac_fn_c_try_link "$LINENO"; then : - if test "$cross_compiling" = yes; then : + +else + ac_cv_type_unsigned_long_long_int=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5 +$as_echo "$ac_cv_type_unsigned_long_long_int" >&6; } + if test $ac_cv_type_unsigned_long_long_int = yes; then + +$as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h + + fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5 +$as_echo_n "checking for long long int... " >&6; } +if ${ac_cv_type_long_long_int+:} false; then : + $as_echo_n "(cached) " >&6 +else ac_cv_type_long_long_int=yes + if test "x${ac_cv_prog_cc_c99-no}" = xno; then + ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int + if test $ac_cv_type_long_long_int = yes; then + if test "$cross_compiling" = yes; then : + : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include - #ifndef LLONG_MAX - # define HALF \ - (1LL << (sizeof (long long int) * CHAR_BIT - 2)) - # define LLONG_MAX (HALF - 1 + HALF) - #endif + #ifndef LLONG_MAX + # define HALF \ + (1LL << (sizeof (long long int) * CHAR_BIT - 2)) + # define LLONG_MAX (HALF - 1 + HALF) + #endif int main () { long long int n = 1; - int i; - for (i = 0; ; i++) - { - long long int m = n << i; - if (m >> i != n) - return 1; - if (LLONG_MAX / 2 < m) - break; - } - return 0; + int i; + for (i = 0; ; i++) + { + long long int m = n << i; + if (m >> i != n) + return 1; + if (LLONG_MAX / 2 < m) + break; + } + return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : - ac_cv_type_long_long_int=yes + else ac_cv_type_long_long_int=no fi @@ -16615,11 +16734,8 @@ rm -f core *.core core.conftest.* gmon.o conftest.$ac_objext conftest.beam conftest.$ac_ext fi -else - ac_cv_type_long_long_int=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + fi + fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5 $as_echo "$ac_cv_type_long_long_int" >&6; } @@ -16630,7 +16746,7 @@ $as_echo "#define HAVE_LONG_LONG_INT 1" fi ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" -if test "x$ac_cv_type_off_t" = x""yes; then : +if test "x$ac_cv_type_off_t" = xyes; then : else @@ -16641,7 +16757,7 @@ _ACEOF fi ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" -if test "x$ac_cv_type_pid_t" = x""yes; then : +if test "x$ac_cv_type_pid_t" = xyes; then : else @@ -16652,7 +16768,7 @@ _ACEOF fi ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = x""yes; then : +if test "x$ac_cv_type_size_t" = xyes; then : else @@ -16663,7 +16779,7 @@ _ACEOF fi ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" -if test "x$ac_cv_type_ssize_t" = x""yes; then : +if test "x$ac_cv_type_ssize_t" = xyes; then : else @@ -16675,7 +16791,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 $as_echo_n "checking for uid_t in sys/types.h... " >&6; } -if test "${ac_cv_type_uid_t+set}" = set; then : +if ${ac_cv_type_uid_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -16705,7 +16821,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking type of array argument to getgroups" >&5 $as_echo_n "checking type of array argument to getgroups... " >&6; } -if test "${ac_cv_type_getgroups+set}" = set; then : +if ${ac_cv_type_getgroups+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -16771,7 +16887,7 @@ _ACEOF ac_fn_c_check_func "$LINENO" "getgroups" "ac_cv_func_getgroups" -if test "x$ac_cv_func_getgroups" = x""yes; then : +if test "x$ac_cv_func_getgroups" = xyes; then : fi @@ -16782,7 +16898,7 @@ ac_save_LIBS=$LIBS if test $ac_cv_func_getgroups = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getgroups in -lbsd" >&5 $as_echo_n "checking for getgroups in -lbsd... " >&6; } -if test "${ac_cv_lib_bsd_getgroups+set}" = set; then : +if ${ac_cv_lib_bsd_getgroups+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -16816,7 +16932,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_getgroups" >&5 $as_echo "$ac_cv_lib_bsd_getgroups" >&6; } -if test "x$ac_cv_lib_bsd_getgroups" = x""yes; then : +if test "x$ac_cv_lib_bsd_getgroups" = xyes; then : GETGROUPS_LIB=-lbsd fi @@ -16827,7 +16943,7 @@ fi if test $ac_cv_func_getgroups = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working getgroups" >&5 $as_echo_n "checking for working getgroups... " >&6; } -if test "${ac_cv_func_getgroups_works+set}" = set; then : +if ${ac_cv_func_getgroups_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -16870,7 +16986,7 @@ LIBS=$ac_save_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 $as_echo_n "checking for uid_t in sys/types.h... " >&6; } -if test "${ac_cv_type_uid_t+set}" = set; then : +if ${ac_cv_type_uid_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -16899,7 +17015,7 @@ $as_echo "#define gid_t int" >>confdefs. fi ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" -if test "x$ac_cv_type_ptrdiff_t" = x""yes; then : +if test "x$ac_cv_type_ptrdiff_t" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_PTRDIFF_T 1 @@ -16911,7 +17027,7 @@ fi ac_fn_c_check_type "$LINENO" "sig_atomic_t" "ac_cv_type_sig_atomic_t" "#include #include " -if test "x$ac_cv_type_sig_atomic_t" = x""yes; then : +if test "x$ac_cv_type_sig_atomic_t" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SIG_ATOMIC_T 1 @@ -16923,7 +17039,7 @@ fi ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" "#include #include " -if test "x$ac_cv_type_socklen_t" = x""yes; then : +if test "x$ac_cv_type_socklen_t" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SOCKLEN_T 1 @@ -16936,7 +17052,7 @@ ac_fn_c_check_type "$LINENO" "union semu #include #include " -if test "x$ac_cv_type_union_semun" = x""yes; then : +if test "x$ac_cv_type_union_semun" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_UNION_SEMUN 1 @@ -16949,7 +17065,7 @@ fi ac_fn_c_check_type "$LINENO" "struct sockaddr_storage" "ac_cv_type_struct_sockaddr_storage" "#include #include " -if test "x$ac_cv_type_struct_sockaddr_storage" = x""yes; then : +if test "x$ac_cv_type_struct_sockaddr_storage" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_SOCKADDR_STORAGE 1 @@ -16958,7 +17074,7 @@ _ACEOF ac_fn_c_check_member "$LINENO" "struct sockaddr_storage" "ss_family" "ac_cv_member_struct_sockaddr_storage_ss_family" "#include #include " -if test "x$ac_cv_member_struct_sockaddr_storage_ss_family" = x""yes; then : +if test "x$ac_cv_member_struct_sockaddr_storage_ss_family" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1 @@ -16972,7 +17088,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether IN6_ARE_ADDR_EQUAL macro is broken" >&5 $as_echo_n "checking whether IN6_ARE_ADDR_EQUAL macro is broken... " >&6; } -if test "${inn_cv_in6_are_addr_equal_broken+set}" = set; then : +if ${inn_cv_in6_are_addr_equal_broken+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -17017,7 +17133,7 @@ $as_echo "#define HAVE_BROKEN_IN6_ARE_AD fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking value of IOV_MAX" >&5 $as_echo_n "checking value of IOV_MAX... " >&6; } -if test "${inn_cv_macro_iov_max+set}" = set; then : +if ${inn_cv_macro_iov_max+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -17102,7 +17218,7 @@ _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SA_LEN macro" >&5 $as_echo_n "checking for SA_LEN macro... " >&6; } -if test "${inn_cv_sa_len_macro+set}" = set; then : +if ${inn_cv_sa_len_macro+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -17136,7 +17252,7 @@ $as_echo "#define HAVE_SA_LEN 1" >>confd fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SUN_LEN macro" >&5 $as_echo_n "checking for SUN_LEN macro... " >&6; } -if test "${inn_cv_sun_len_macro+set}" = set; then : +if ${inn_cv_sun_len_macro+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -17173,7 +17289,7 @@ fi # for constant arguments. Useless! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 $as_echo_n "checking for working alloca.h... " >&6; } -if test "${ac_cv_working_alloca_h+set}" = set; then : +if ${ac_cv_working_alloca_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -17206,7 +17322,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 $as_echo_n "checking for alloca... " >&6; } -if test "${ac_cv_func_alloca_works+set}" = set; then : +if ${ac_cv_func_alloca_works+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -17225,7 +17341,7 @@ else #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); +void *alloca (size_t); # endif # endif # endif @@ -17269,7 +17385,7 @@ $as_echo "#define C_ALLOCA 1" >>confdefs { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } -if test "${ac_cv_os_cray+set}" = set; then : +if ${ac_cv_os_cray+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -17310,7 +17426,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 $as_echo_n "checking stack direction for C alloca... " >&6; } -if test "${ac_cv_c_stack_direction+set}" = set; then : +if ${ac_cv_c_stack_direction+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -17320,23 +17436,20 @@ else /* end confdefs.h. */ $ac_includes_default int -find_stack_direction () +find_stack_direction (int *addr, int depth) { - static char *addr = 0; - auto char dummy; - if (addr == 0) - { - addr = &dummy; - return find_stack_direction (); - } - else - return (&dummy > addr) ? 1 : -1; + int dir, dummy = 0; + if (! addr) + addr = &dummy; + *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; + dir = depth ? find_stack_direction (addr, depth - 1) : 0; + return dir + dummy; } int -main () +main (int argc, char **argv) { - return find_stack_direction () < 0; + return find_stack_direction (0, argc + !argv + 20) < 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : @@ -17360,7 +17473,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working memcmp" >&5 $as_echo_n "checking for working memcmp... " >&6; } -if test "${ac_cv_func_memcmp_working+set}" = set; then : +if ${ac_cv_func_memcmp_working+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -17422,7 +17535,7 @@ esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working AI_ADDRCONFIG flag" >&5 $as_echo_n "checking for working AI_ADDRCONFIG flag... " >&6; } -if test "${inn_cv_func_getaddrinfo_addrconfig_works+set}" = set; then : +if ${inn_cv_func_getaddrinfo_addrconfig_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -17467,7 +17580,7 @@ $as_echo "#define HAVE_GETADDRINFO_ADDRC fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working inet_ntoa" >&5 $as_echo_n "checking for working inet_ntoa... " >&6; } -if test "${inn_cv_func_inet_ntoa_works+set}" = set; then : +if ${inn_cv_func_inet_ntoa_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -17517,7 +17630,7 @@ esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working snprintf" >&5 $as_echo_n "checking for working snprintf... " >&6; } -if test "${inn_cv_func_snprintf_works+set}" = set; then : +if ${inn_cv_func_snprintf_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -17607,7 +17720,7 @@ done for ac_func in statvfs do : ac_fn_c_check_func "$LINENO" "statvfs" "ac_cv_func_statvfs" -if test "x$ac_cv_func_statvfs" = x""yes; then : +if test "x$ac_cv_func_statvfs" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STATVFS 1 _ACEOF @@ -17616,7 +17729,7 @@ else for ac_func in statfs do : ac_fn_c_check_func "$LINENO" "statfs" "ac_cv_func_statfs" -if test "x$ac_cv_func_statfs" = x""yes; then : +if test "x$ac_cv_func_statfs" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STATFS 1 _ACEOF @@ -17644,7 +17757,7 @@ do : #endif " -if test "x$ac_cv_header_sys_mount_h" = x""yes; then : +if test "x$ac_cv_header_sys_mount_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_MOUNT_H 1 _ACEOF @@ -17659,7 +17772,7 @@ done ac_fn_c_check_func "$LINENO" "asprintf" "ac_cv_func_asprintf" -if test "x$ac_cv_func_asprintf" = x""yes; then : +if test "x$ac_cv_func_asprintf" = xyes; then : $as_echo "#define HAVE_ASPRINTF 1" >>confdefs.h else @@ -17672,7 +17785,7 @@ esac fi ac_fn_c_check_func "$LINENO" "getaddrinfo" "ac_cv_func_getaddrinfo" -if test "x$ac_cv_func_getaddrinfo" = x""yes; then : +if test "x$ac_cv_func_getaddrinfo" = xyes; then : $as_echo "#define HAVE_GETADDRINFO 1" >>confdefs.h else @@ -17685,7 +17798,7 @@ esac fi ac_fn_c_check_func "$LINENO" "getnameinfo" "ac_cv_func_getnameinfo" -if test "x$ac_cv_func_getnameinfo" = x""yes; then : +if test "x$ac_cv_func_getnameinfo" = xyes; then : $as_echo "#define HAVE_GETNAMEINFO 1" >>confdefs.h else @@ -17698,7 +17811,7 @@ esac fi ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" -if test "x$ac_cv_func_getpagesize" = x""yes; then : +if test "x$ac_cv_func_getpagesize" = xyes; then : $as_echo "#define HAVE_GETPAGESIZE 1" >>confdefs.h else @@ -17711,7 +17824,7 @@ esac fi ac_fn_c_check_func "$LINENO" "hstrerror" "ac_cv_func_hstrerror" -if test "x$ac_cv_func_hstrerror" = x""yes; then : +if test "x$ac_cv_func_hstrerror" = xyes; then : $as_echo "#define HAVE_HSTRERROR 1" >>confdefs.h else @@ -17724,7 +17837,7 @@ esac fi ac_fn_c_check_func "$LINENO" "inet_aton" "ac_cv_func_inet_aton" -if test "x$ac_cv_func_inet_aton" = x""yes; then : +if test "x$ac_cv_func_inet_aton" = xyes; then : $as_echo "#define HAVE_INET_ATON 1" >>confdefs.h else @@ -17737,7 +17850,7 @@ esac fi ac_fn_c_check_func "$LINENO" "inet_ntop" "ac_cv_func_inet_ntop" -if test "x$ac_cv_func_inet_ntop" = x""yes; then : +if test "x$ac_cv_func_inet_ntop" = xyes; then : $as_echo "#define HAVE_INET_NTOP 1" >>confdefs.h else @@ -17750,7 +17863,7 @@ esac fi ac_fn_c_check_func "$LINENO" "mkstemp" "ac_cv_func_mkstemp" -if test "x$ac_cv_func_mkstemp" = x""yes; then : +if test "x$ac_cv_func_mkstemp" = xyes; then : $as_echo "#define HAVE_MKSTEMP 1" >>confdefs.h else @@ -17763,7 +17876,7 @@ esac fi ac_fn_c_check_func "$LINENO" "pread" "ac_cv_func_pread" -if test "x$ac_cv_func_pread" = x""yes; then : +if test "x$ac_cv_func_pread" = xyes; then : $as_echo "#define HAVE_PREAD 1" >>confdefs.h else @@ -17776,7 +17889,7 @@ esac fi ac_fn_c_check_func "$LINENO" "pwrite" "ac_cv_func_pwrite" -if test "x$ac_cv_func_pwrite" = x""yes; then : +if test "x$ac_cv_func_pwrite" = xyes; then : $as_echo "#define HAVE_PWRITE 1" >>confdefs.h else @@ -17789,7 +17902,7 @@ esac fi ac_fn_c_check_func "$LINENO" "seteuid" "ac_cv_func_seteuid" -if test "x$ac_cv_func_seteuid" = x""yes; then : +if test "x$ac_cv_func_seteuid" = xyes; then : $as_echo "#define HAVE_SETEUID 1" >>confdefs.h else @@ -17802,7 +17915,7 @@ esac fi ac_fn_c_check_func "$LINENO" "strcasecmp" "ac_cv_func_strcasecmp" -if test "x$ac_cv_func_strcasecmp" = x""yes; then : +if test "x$ac_cv_func_strcasecmp" = xyes; then : $as_echo "#define HAVE_STRCASECMP 1" >>confdefs.h else @@ -17815,7 +17928,7 @@ esac fi ac_fn_c_check_func "$LINENO" "strlcat" "ac_cv_func_strlcat" -if test "x$ac_cv_func_strlcat" = x""yes; then : +if test "x$ac_cv_func_strlcat" = xyes; then : $as_echo "#define HAVE_STRLCAT 1" >>confdefs.h else @@ -17828,7 +17941,7 @@ esac fi ac_fn_c_check_func "$LINENO" "strlcpy" "ac_cv_func_strlcpy" -if test "x$ac_cv_func_strlcpy" = x""yes; then : +if test "x$ac_cv_func_strlcpy" = xyes; then : $as_echo "#define HAVE_STRLCPY 1" >>confdefs.h else @@ -17841,7 +17954,7 @@ esac fi ac_fn_c_check_func "$LINENO" "strspn" "ac_cv_func_strspn" -if test "x$ac_cv_func_strspn" = x""yes; then : +if test "x$ac_cv_func_strspn" = xyes; then : $as_echo "#define HAVE_STRSPN 1" >>confdefs.h else @@ -17854,7 +17967,7 @@ esac fi ac_fn_c_check_func "$LINENO" "setenv" "ac_cv_func_setenv" -if test "x$ac_cv_func_setenv" = x""yes; then : +if test "x$ac_cv_func_setenv" = xyes; then : $as_echo "#define HAVE_SETENV 1" >>confdefs.h else @@ -17867,7 +17980,7 @@ esac fi ac_fn_c_check_func "$LINENO" "symlink" "ac_cv_func_symlink" -if test "x$ac_cv_func_symlink" = x""yes; then : +if test "x$ac_cv_func_symlink" = xyes; then : $as_echo "#define HAVE_SYMLINK 1" >>confdefs.h else @@ -17884,7 +17997,7 @@ fi if test x"$inn_enable_largefiles" = xyes ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5 $as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; } -if test "${ac_cv_sys_largefile_source+set}" = set; then : +if ${ac_cv_sys_largefile_source+:} false; then : $as_echo_n "(cached) " >&6 else while :; do @@ -17953,7 +18066,7 @@ fi if test x"$ac_cv_sys_largefile_source" = xunknown ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for off_t-compatible fpos_t" >&5 $as_echo_n "checking for off_t-compatible fpos_t... " >&6; } -if test "${inn_cv_type_fpos_t_large+set}" = set; then : +if ${inn_cv_type_fpos_t_large+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -17993,7 +18106,7 @@ $as_echo "#define HAVE_LARGE_FPOS_T 1" > fi ac_fn_c_check_decl "$LINENO" "fseeko" "ac_cv_have_decl_fseeko" "$ac_includes_default" -if test "x$ac_cv_have_decl_fseeko" = x""yes; then : +if test "x$ac_cv_have_decl_fseeko" = xyes; then : ac_have_decl=1 else ac_have_decl=0 @@ -18003,7 +18116,7 @@ cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FSEEKO $ac_have_decl _ACEOF ac_fn_c_check_decl "$LINENO" "ftello" "ac_cv_have_decl_ftello" "$ac_includes_default" -if test "x$ac_cv_have_decl_ftello" = x""yes; then : +if test "x$ac_cv_have_decl_ftello" = xyes; then : ac_have_decl=1 else ac_have_decl=0 @@ -18028,7 +18141,7 @@ esac fi else ac_fn_c_check_decl "$LINENO" "fseeko" "ac_cv_have_decl_fseeko" "$ac_includes_default" -if test "x$ac_cv_have_decl_fseeko" = x""yes; then : +if test "x$ac_cv_have_decl_fseeko" = xyes; then : ac_have_decl=1 else ac_have_decl=0 @@ -18042,7 +18155,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5 $as_echo_n "checking for working mmap... " >&6; } -if test "${inn_cv_func_mmap+set}" = set; then : +if ${inn_cv_func_mmap+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -18112,7 +18225,7 @@ $as_echo "#define HAVE_MMAP 1" >>confdef for ac_func in madvise do : ac_fn_c_check_func "$LINENO" "madvise" "ac_cv_func_madvise" -if test "x$ac_cv_func_madvise" = x""yes; then : +if test "x$ac_cv_func_madvise" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_MADVISE 1 _ACEOF @@ -18122,7 +18235,7 @@ done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap sees writes" >&5 $as_echo_n "checking whether mmap sees writes... " >&6; } -if test "${inn_cv_func_mmap_sees_writes+set}" = set; then : +if ${inn_cv_func_mmap_sees_writes+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -18189,7 +18302,7 @@ $as_echo "#define MMAP_MISSES_WRITES 1" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether msync is needed" >&5 $as_echo_n "checking whether msync is needed... " >&6; } -if test "${inn_cv_func_mmap_need_msync+set}" = set; then : +if ${inn_cv_func_mmap_need_msync+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -18267,7 +18380,7 @@ $as_echo "#define MMAP_NEEDS_MSYNC 1" >> fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how many arguments msync takes" >&5 $as_echo_n "checking how many arguments msync takes... " >&6; } -if test "${inn_cv_func_msync_args+set}" = set; then : +if ${inn_cv_func_msync_args+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -18304,7 +18417,7 @@ $as_echo "#define HAVE_MSYNC_3_ARG 1" >> { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether STREAMS fd passing is supported" >&5 $as_echo_n "checking whether STREAMS fd passing is supported... " >&6; } -if test "${inn_cv_sys_streams_sendfd+set}" = set; then : +if ${inn_cv_sys_streams_sendfd+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -18387,7 +18500,7 @@ $as_echo "#define HAVE_STREAMS_SENDFD 1" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Unix domain sockets" >&5 $as_echo_n "checking for Unix domain sockets... " >&6; } -if test "${inn_cv_sys_unix_sockets+set}" = set; then : +if ${inn_cv_sys_unix_sockets+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -18416,7 +18529,7 @@ $as_echo "#define HAVE_UNIX_DOMAIN_SOCKE fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking log facility for news" >&5 $as_echo_n "checking log facility for news... " >&6; } -if test "${inn_cv_log_facility+set}" = set; then : +if ${inn_cv_log_facility+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -18534,10 +18647,21 @@ $as_echo "$as_me: WARNING: cache variabl :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then - test "x$cache_file" != "x/dev/null" && + if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} @@ -18570,7 +18694,7 @@ LTLIBOBJS=$ac_ltlibobjs -: ${CONFIG_STATUS=./config.status} +: "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" @@ -18671,6 +18795,7 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. +as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -18866,16 +18991,16 @@ if (echo >conf$$.file) 2>/dev/null; then # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -18935,28 +19060,16 @@ else as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -18977,8 +19090,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by INN $as_me 2.5.3, which was -generated by GNU Autoconf 2.67. Invocation command line was +This file was extended by INN $as_me 2.5.4, which was +generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -19043,11 +19156,11 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -INN config.status 2.5.3 -configured by $0, generated by GNU Autoconf 2.67, +INN config.status 2.5.4 +configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" -Copyright (C) 2010 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -19137,7 +19250,7 @@ fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' @@ -19436,7 +19549,7 @@ do "support/fixscript") CONFIG_FILES="$CONFIG_FILES support/fixscript" ;; "include/config.h") CONFIG_HEADERS="$CONFIG_HEADERS include/config.h" ;; - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done @@ -19459,9 +19572,10 @@ fi # after its creation but before its name has been assigned to `$tmp'. $debug || { - tmp= + tmp= ac_tmp= trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } @@ -19469,12 +19583,13 @@ $debug || { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" + test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. @@ -19496,7 +19611,7 @@ else ac_cs_awk_cr=$ac_cr fi -echo 'BEGIN {' >"$tmp/subs1.awk" && +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF @@ -19524,7 +19639,7 @@ done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h @@ -19572,7 +19687,7 @@ t delim rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" @@ -19604,7 +19719,7 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat -fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF @@ -19638,7 +19753,7 @@ fi # test -n "$CONFIG_FILES" # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then -cat >"$tmp/defines.awk" <<\_ACAWK || +cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF @@ -19650,8 +19765,8 @@ _ACEOF # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do - ac_t=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_t"; then + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 @@ -19752,7 +19867,7 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -19771,7 +19886,7 @@ do for ac_f do case $ac_f in - -) ac_f="$tmp/stdin";; + -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. @@ -19780,7 +19895,7 @@ do [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;; + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" @@ -19806,8 +19921,8 @@ $as_echo "$as_me: creating $ac_file" >&6 esac case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@ -19938,21 +20053,22 @@ s&@abs_top_builddir@&$ac_abs_top_builddi s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} - rm -f "$tmp/stdin" + rm -f "$ac_tmp/stdin" case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; @@ -19963,20 +20079,20 @@ which seems to be undefined. Please mak if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" - } >"$tmp/config.h" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" \ + mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi ;; diff -Nurp inn-2.5.3/configure.ac inn-2.5.4/configure.ac --- inn-2.5.3/configure.ac 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/configure.ac 2014-05-17 01:24:49.000000000 -0700 @@ -1,5 +1,5 @@ dnl Process this file with Autoconf to produce a configure script. -dnl $Id: configure.ac 9316 2011-08-06 20:23:13Z iulius $ +dnl $Id: configure.ac 9587 2013-12-14 20:10:48Z iulius $ dnl dnl Please try to follow GNU conventions and Autoconf manual conventions as dnl much as possible in this file so that any macros we develop can be easily @@ -26,9 +26,9 @@ dnl bother checking for it. Compile-tim dnl useful information for someone debugging a problem than configure-time dnl errors. -AC_INIT([INN], [2.5.3], [inn-workers@lists.isc.org]) +AC_INIT([INN], [2.5.4], [inn-workers@lists.isc.org]) AC_PREREQ(2.61) -AC_REVISION($Revision: 9316 $) +AC_REVISION($Revision: 9587 $) AC_CONFIG_AUX_DIR([support]) dnl Lots of our macros are stored in separate files for ease of maintenance. @@ -355,15 +355,16 @@ INN_LIB_KERBEROS dnl The dbm libraries are a special case. If we're building with Berkeley DB, dnl just use the ndbm support provided by it. if test x"$DB_LIBS" != x ; then + INN_LIB_BERKELEYDB_NDBM +fi +if test x"$inn_cv_lib_berkeleydb_ndbm_works" != xyes ; then + INN_SEARCH_AUX_LIBS([dbm_open], [ndbm dbm gdbm "gdbm_compat -lgdbm"], [DBM_LIBS], + [AC_DEFINE([HAVE_DBM], 1, [Define if you have a dbm library.])]) + DBM_CPPFLAGS= +else DBM_CPPFLAGS="$DB_CPPFLAGS" DBM_LIBS="$DB_LDFLAGS $DB_LIBS" AC_SUBST([DBM_LIBS]) - AC_DEFINE([HAVE_BDB_DBM], 1, - [Define if the Berkeley DB dbm compatibility layer is available.]) -else - INN_SEARCH_AUX_LIBS([dbm_open], [ndbm dbm], [DBM_LIBS], - [AC_DEFINE([HAVE_DBM], 1, [Define if you have a dbm library.])]) - DBM_CPPFLAGS= fi AC_SUBST([DBM_CPPFLAGS]) @@ -385,8 +386,22 @@ AC_CHECK_HEADERS([crypt.h inttypes.h lim sys/select.h sys/time.h unistd.h]) dnl Some Linux systems have db1/ndbm.h instead of ndbm.h. Others have -dnl gdbm-ndbm.h. -AC_CHECK_HEADERS([ndbm.h db1/ndbm.h gdbm-ndbm.h], [break]) +dnl gdbm/ndbm.h or gdbm-ndbm.h. Detecting the last two ones is not +dnl straight-forward because Autoconf defines the same preprocessor name +dnl and the same shell variable for them; we therefore have to make sure +dnl the cache is not populated, and to define HAVE_GDBM_SLASH_NDBM_H and +dnl HAVE_GDBM_HYPHEN_NDBM_H separately. +AC_CHECK_HEADERS([ndbm.h db1/ndbm.h], [break]) +AS_UNSET([ac_cv_header_gdbm_ndbm_h]) +AC_CHECK_HEADER([gdbm/ndbm.h]) +AS_IF([test x"$ac_cv_header_gdbm_ndbm_h" != xno], + [AC_DEFINE([HAVE_GDBM_SLASH_NDBM_H], [1], + [Define if you have the header file.])], + [AS_UNSET([ac_cv_header_gdbm_ndbm_h]) + AC_CHECK_HEADER([gdbm-ndbm.h]) + AS_IF([test x"$ac_cv_header_gdbm_ndbm_h" != xno], + [AC_DEFINE([HAVE_GDBM_HYPHEN_NDBM_H], [1], + [Define if you have the header file.])])]) dnl Check for whether various symbols are declared. AC_CHECK_DECLS([pread, pwrite, snprintf, setproctitle, strlcat, diff -Nurp inn-2.5.3/contrib/sample.init.script inn-2.5.4/contrib/sample.init.script --- inn-2.5.3/contrib/sample.init.script 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/contrib/sample.init.script 2014-05-17 01:24:49.000000000 -0700 @@ -1,6 +1,6 @@ #! /bin/sh -# $Id: sample.init.script 9338 2011-08-10 20:07:02Z iulius $ +# $Id: sample.init.script 9599 2014-02-08 13:56:54Z iulius $ # # This is a simple, bare-bones example of a SysV-style init.d script for INN. # It tries to increase the file descriptor limits to the maximum allowed by @@ -11,11 +11,11 @@ test -f '/rc.news' || exit 0 start () { ulimit -n unlimited # Start INN. - su news -c '/rc.news' >> /rc.news 2>&1 + su news -s /bin/sh -c '/rc.news' >> /rc.news 2>&1 # Start another nnrpd daemon, handling initial TLS connections, on port 563. # (The preferred way would be to use port 119 and STARTTLS but not all news # readers support it yet.) - #su news -c '/nnrpd -D -p 563 -S' >> /rc.news 2>&1 + #su news -s /bin/sh -c '/nnrpd -D -p 563 -S' >> /rc.news 2>&1 } case "$1" in @@ -26,10 +26,10 @@ start) stop) # Stop INN. - su news -c '/rc.news stop' >> /rc.news 2>&1 + su news -s /bin/sh -c '/rc.news stop' >> /rc.news 2>&1 # Stop possible other nnrpd daemons. One of the two following commands is enough. #start-stop-daemon --stop --name nnrpd --quiet --oknodo - #su news -c 'killall nnrpd' >> /rc.news 2>&1 + #su news -s /bin/sh -c 'killall nnrpd' >> /rc.news 2>&1 ;; reload|force-reload) diff -Nurp inn-2.5.3/contrib/sample.init.systemd inn-2.5.4/contrib/sample.init.systemd --- inn-2.5.3/contrib/sample.init.systemd 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/contrib/sample.init.systemd 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -# $Id: sample.init.systemd 9411 2012-05-29 17:59:04Z iulius $ +# $Id: sample.init.systemd 9599 2014-02-08 13:56:54Z iulius $ # # This is a simple, bare-bones example of a systemd-style init script for INN. # @@ -13,7 +13,7 @@ PermissionsStartOnly=true PIDFile=/run/news/innd.pid Type=forking ExecStart=/usr/libexec/news/rc.news -ExecStop=/bin/su -m news -c '/usr/libexec/news/rc.news stop' +ExecStop=/bin/su -m news -s /bin/sh -c '/usr/libexec/news/rc.news stop' KillMode=control-group [Install] diff -Nurp inn-2.5.3/control/controlchan.in inn-2.5.4/control/controlchan.in --- inn-2.5.3/control/controlchan.in 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/control/controlchan.in 2014-05-17 01:24:49.000000000 -0700 @@ -1,7 +1,7 @@ #! /usr/bin/perl -w # fixscript will replace this line with code to load INN::Config -## $Id: controlchan.in 9409 2012-05-28 18:43:20Z iulius $ +## $Id: controlchan.in 9621 2014-03-15 16:50:03Z iulius $ ## ## Channel feed program to route control messages to an appropriate handler. ## @@ -446,7 +446,7 @@ sub ctlperm { if (!exists($keyresults{$keyowner})) { if ($INN::Config::pgpverify and $INN::Config::pgpverify =~ /^(?:true|on|yes)$/i) { my $pgpresult = defined &local_pgpverify ? - local_pgpverify($token, $article) : pgpverify($token); + local_pgpverify($token, $article, $keyowner) : pgpverify($token, $keyowner); if ($keyowner eq $pgpresult) { $keyresults{$keyowner} = 'doit'; } else { @@ -554,12 +554,13 @@ sub open_article { sub pgpverify { my $token = shift; + my $keyid = shift; if ($token =~ /^\@.+\@$/) { open(PGPCHECK, "$INN::Config::newsbin/sm -q $token " - . "| $INN::Config::newsbin/pgpverify |") or goto ERROR; + . "| $INN::Config::newsbin/pgpverify --findid='$keyid' |") or goto ERROR; } else { - open(PGPCHECK, "$INN::Config::newsbin/pgpverify < $token |") or goto ERROR; + open(PGPCHECK, "$INN::Config::newsbin/pgpverify --findid='$keyid' < $token |") or goto ERROR; } my $pgpresult = ; close PGPCHECK or goto ERROR; diff -Nurp inn-2.5.3/control/perl-nocem.in inn-2.5.4/control/perl-nocem.in --- inn-2.5.3/control/perl-nocem.in 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/control/perl-nocem.in 2014-05-17 01:24:49.000000000 -0700 @@ -526,18 +526,22 @@ Import the keys of the NoCeM issuers you the authenticity of their notices. You can do: gpg --no-default-keyring --primary-keyring /pgp/ncmring.gpg --import + chmod 644 /pgp/ncmring.gpg -where is the value of the I parameter set in F -and the file containing the key(s) to import. The keyring must -be located in /pgp/ncmring.gpg; you only have to create the directory -/pgp before using B (it will automatically generate the -F file). For old PGP-generated keys, you may have to use +where is the value of the I parameter set in +F and the file containing the key(s) to import. +The keyring must be located in /pgp/ncmring.gpg; you only +have to create the directory /pgp before using B (it will +automatically generate the F file) and make sure the news +user can read this file, once generated. + +For old PGP-generated keys, you may have to use B<--allow-non-selfsigned-uid> if they are not properly self-signed, -but anyone creating a key really should self-sign the key. Current -PGP implementations do this automatically. +but anyone creating a key really should self-sign the key. Current PGP +implementations do this automatically. The keys of NoCeM issuers can be found in the web site of I: -L. You can even +L. You can even download there a unique file which contains all the keys. =item 2. @@ -624,7 +628,7 @@ Copyright 2000 by Miquel van Smoorenburg Copyright 2001 by Marco d'Itri . -$Id: perl-nocem.in 8539 2009-06-28 10:01:24Z iulius $ +$Id: perl-nocem.in 9640 2014-05-17 06:25:27Z iulius $ =head1 SEE ALSO diff -Nurp inn-2.5.3/control/pgpverify.in inn-2.5.4/control/pgpverify.in --- inn-2.5.3/control/pgpverify.in 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/control/pgpverify.in 2014-05-17 01:24:49.000000000 -0700 @@ -3,8 +3,8 @@ # If running inside INN, uncomment the above and point to INN::Config. # # Written April 1996, (David C Lawrence) -# Currently maintained by Russ Allbery -# Version 1.28, 2007-09-18 +# Currently maintained by Russ Allbery +# Version 1.29, 2014-04-15 # # NOTICE TO INN MAINTAINERS: The version that is shipped with INN is the # same as the version that I make available to the rest of the world @@ -12,10 +12,18 @@ # # This program requires Perl 5, probably at least about Perl 5.003 since # that's when FileHandle was introduced. If you want to use this program -# and your Perl is too old, please contact me (rra@stanford.edu) and tell +# and your Perl is too old, please contact me (eagle@eyrie.org) and tell # me about it; I want to know what old versions of Perl are still used in # practice. # +# Changes from 1.28 -> 1.29 +# -- Disambiguate numbered lists from description lists in POD to silent +# a pod2man warning. +# -- Add a --findid= flag to explicitly search for in the +# output from PGP's analysis of the message. In case the signature is +# valid but does not contain , pgpverify exits with the new +# exit status 4. +# # Changes from 1.27 -> 1.28 # -- Use the INN::Config Perl module instead of innshellvars.pl to # accomodate the new build process of INN 2.5. @@ -196,22 +204,22 @@ require 5; use strict; use vars qw($gpgv $pgp $keyring $tmp $tmpdir $lockdir $syslog_method - $syslog_facility $syslog_level $log_date $test $messageid); + $syslog_facility $syslog_level $log_date $findid $test $messageid); use Fcntl qw(O_WRONLY O_CREAT O_EXCL); use FileHandle; use IPC::Open3 qw(open3); use POSIX qw(strftime); +use Getopt::Long; -# Turn on test mode if the first argument is '-test'. -if (@ARGV && $ARGV[0] eq '-test') { - shift @ARGV; - $test = 1; -} - -# Not syslogged, such an error is almost certainly from someone running -# the script manually. -die "Usage: $0 < message\n" if @ARGV != 0; +# Check the arguments passed to pgpverify. +# If a syntax error occurs, do not syslog it: such an error is almost +# certainly from someone running the script manually. +Getopt::Long::Configure('bundling_override'); +GetOptions( + 'test' => sub { $test = 1 }, + 'findid=s' => \$findid +) or die "Usage: $0 [--findid='string'] [--test] < message\n"; # Grab various defaults from INN::Config if running inside INN. $pgp = $INN::Config::pgp @@ -366,7 +374,9 @@ sub generate_message { # the form of an ASCII-armored string with embedded newlines), a version # number (which may be undef), and the message. We return an exit status # and the key id if the signature is verified. 0 means good signature, 1 -# means bad data, 2 means an unknown signer, and 3 means a bad signature. +# means bad data, 2 means an unknown signer, 3 means a bad signature, and +# 4 means good signature without having found the argument given to the +# --findid flag. # In the event of an error, we report with errmsg. # # This code is taken almost verbatim from PGP::Sign except for the code to @@ -497,34 +507,45 @@ sub pgp_verify { $signer = $1; } elsif (/\[GNUPG:\]\s+NODATA/ || /\[GNUPG:\]\s+UNEXPECTED/) { $ok = 1; + last; } elsif (/\[GNUPG:\]\s+NO_PUBKEY/) { $ok = 2; + last; } elsif (/\[GNUPG:\]\s+BADSIG\s+/) { $ok = 3; + last; } } else { if (/^Good signature from user(?::\s+(.*)|\s+\"(.*)\"\.)$/m) { $signer = $+; $ok = 0; - last; } elsif (/^Good signature made .* by key:\n.+\n\s+\"(.*)\"/m) { $signer = $1; $ok = 0; - last; } elsif (/^\S+: Good signature from \"(.*)\"/m) { $signer = $1; $ok = 0; - last; } elsif (/^(?:\S+: )?Bad signature /im) { $ok = 3; last; } } + # If the --findid flag is used, and the signature is good, + # override the value of the signer with the string specified in + # the --findid flag. + if (defined ($findid) and $ok eq 0) { + $signer = $findid if (/$findid/); + } } close $input; waitpid ($pid, 0); unlink ($filename, "$filename.asc"); umask $umask; + + if (defined ($findid) and $ok eq 0 and $signer ne $findid) { + $ok = 4; + } + return ($ok, $signer || ''); } @@ -687,7 +708,7 @@ pgpverify - Cryptographically verify Use =head1 SYNOPSIS -B [B<-test>] < I +B [B<--findid>=I] [B<--test>] < I =head1 DESCRIPTION @@ -723,11 +744,26 @@ this behavior. =head1 OPTIONS -The B<-test> flag causes B to print out the input that it is +=over 4 + +=item B<--findid>=I + +The B<--findid> flag causes B to explicitly search for +I in the output from PGP's analysis of the message. This option +is useful when several UIDs are defined on a single PGP key, and the +caller to B needs checking whether a given one is defined on +this key. In case the signature is valid but does not contain I, +B exits with exit status 4. + +=item B<--test> + +The B<--test> flag causes B to print out the input that it is passing to PGP (which is a reconstructed version of the input that supposedly created the control message) as well as the output from PGP's analysis of the message. +=back + =head1 EXIT STATUS B may exit with the following statuses: @@ -738,19 +774,25 @@ B may exit with the following The control message had a good PGP signature. -=item 1 +=item 1Z<> The control message had no PGP signature. -=item 2 +=item 2Z<> The control message had an unknown PGP signature. -=item 3 +=item 3Z<> The control message had a bad PGP signature. -=item 255 +=item 4Z<> + +The control message had a good PGP signature but the argument given +to the B<--findid> flag had non been found in the output from PGP's +analysis of the message. + +=item 255Z<> A problem occurred not directly related to PGP analysis of signature. @@ -810,7 +852,7 @@ to be prohibitively difficult for PGP ke B was written by David C Lawrence . Manual page provided by James Ralston. It is currently maintained by Russ Allbery -. +. =head1 COPYRIGHT AND LICENSE diff -Nurp inn-2.5.3/doc/FAQ inn-2.5.4/doc/FAQ --- inn-2.5.3/doc/FAQ 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/FAQ 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -$Id: FAQ 9427 2012-06-14 20:16:41Z iulius $ +$Id: FAQ 9642 2014-05-17 06:31:46Z iulius $ From: Russ Allbery Subject: INN 2.x FAQ @@ -137,7 +137,7 @@ beginner's introduction, see the news.ne Subject: 1.2. What is the current version? -The most recently released version of INN is 2.5.3. +The most recently released version of INN is 2.5.4. INN development proceeds in two branches, as with many other free software projects. The STABLE branch is maintenance of the most recently released @@ -193,8 +193,8 @@ versions of INN available at: -For additional documentation beyond what is distributed with INN, start at - and follow the links. +For additional documentation beyond what is distributed with INN, follow +the links suggested in the above page. The documentation that comes with INN is fairly technical in nature and lacking in some more general details on configuring news servers. Some of diff -Nurp inn-2.5.3/doc/checklist inn-2.5.4/doc/checklist --- inn-2.5.3/doc/checklist 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/checklist 2014-05-17 01:24:49.000000000 -0700 @@ -1,6 +1,6 @@ Introduction - $Id: checklist.pod 9272 2011-07-17 19:08:12Z iulius $ + $Id: checklist.pod 9599 2014-02-08 13:56:54Z iulius $ This is an installation checklist written by Rebecca Ore, intended to be the beginning of a different presentation of the information in INSTALL, @@ -29,10 +29,10 @@ Setup because you may have binaries that are SUID root. You can do the build as any user, but you need to be root when doing "make install" so as to set the permissions correctly. After that point, though, - you may want to "su news" to avoid creating any files as root. (For - routine maintenance once INN is working, you can generally be root. - However, it is always better to be accustomed to doing that as the - news user.) + you may want to "su news -s /bin/sh" to avoid creating any files as + root. (For routine maintenance once INN is working, you can + generally be root. However, it is always better to be accustomed to + doing that as the news user.) * If necessary, add ~news/bin (that is to say *pathbin*) to the news user's path and ~news/share/man (that is to say @@ -185,7 +185,7 @@ Run * Start innd by running *pathbin*/rc.news as the news user. It is also what you should launch in your init scripts: - su news -c /rc.news + su news -s /bin/sh -c /rc.news Check *pathlog*/news.notice to see if everything went well; also use "ps" to see if innd is running. @@ -231,7 +231,16 @@ Readers Copy it to *pathbin*, name the file something like makepasswd.pl and change the internal paths to whatever you're using and wherever you're putting the newsusers database. The standard Apache htpasswd - tool also works just fine to create INN password files. + tool also works just fine to create INN password files, as well as + pure Perl. For instance, a line for the newsusers database + corresponding to the user "user" with the password "pass" would be + "user:LIfOpbjNaEQYE" as obtained by the following commands:: + + % htpasswd -nbd user pass + user:LIfOpbjNaEQYE + + % perl -e 'print "user:".crypt("pass", "LI")."\n";' + user:LIfOpbjNaEQYE Follow with the access stanzas. Something for people with passwords: @@ -265,7 +274,7 @@ Readers these connections to NNTPS port 563 and put something like that in your init scripts: - su news -c '/nnrpd -D -c /readers-ssl.conf -p 563 -S' + su news -s /bin/sh -c '/nnrpd -D -c /readers-ssl.conf -p 563 -S' Note that a news client which supports the STARTTLS command can also use the conventional NNTP port 119 to initiate a TLS connection. diff -Nurp inn-2.5.3/doc/hook-perl inn-2.5.4/doc/hook-perl --- inn-2.5.3/doc/hook-perl 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/hook-perl 2014-05-17 01:24:49.000000000 -0700 @@ -19,8 +19,8 @@ INN Perl Filtering and Authentication Su For Perl filtering support, you need to have Perl version 5.004 or newer. Earlier versions of Perl will fail with a link error at - compilation time. should have the - latest Perl version. + compilation time. should have the latest + Perl version. To enable Perl support, you have to specify --with-perl when you run configure. See INSTALL for more information. @@ -297,13 +297,24 @@ The nnrpd Posting Filter and the string returned by filter_post() is returned to the client as the error message (with some exceptions; see below). - filter_post() has access to a global hash %hdr, which contains all of - the headers of the article. (Unlike the innd Perl filter, %hdr for the - nnrpd Perl filter contains *all* of the headers, not just the standard - ones. If any of the headers are duplicated, though, %hdr will contain - only the value of the last occurrence of the header, whereas it is the - first occurrence with the innd Perl filter. nnrpd will reject the - article before the filter runs if any of the standard headers are + filter_post() has access to a global hash %attributes which contains + information about the connection as follows: $attributes{'hostname'} + will contain the hostname (or the IP address if it does not resolve) of + the client machine, $attributes{'ipaddress'} will contain its IP address + (as a string), $attributes{'port'} will contain the client port (as an + integer), $attributes{'interface'} contains the hostname of the + interface the client connected on, $attributes{'intipaddr'} contains the + IP address (as a string) of the interface the client connected on, and + $attributes{'intport'} contains the port (as an integer) on the + interface the client connected on. + + filter_post() also has access to a global hash %hdr, which contains all + of the headers of the article. (Unlike the innd Perl filter, %hdr for + the nnrpd Perl filter contains *all* of the headers, not just the + standard ones. If any of the headers are duplicated, though, %hdr will + contain only the value of the last occurrence of the header, whereas it + is the first occurrence with the innd Perl filter. nnrpd will reject + the article before the filter runs if any of the standard headers are duplicated.) It also has access to the full body of the article in the variable $body, and if the poster authenticated via AUTHINFO (or if either Perl authentication or a readers.conf authentication method is @@ -633,5 +644,5 @@ Available Packages for quotaing the number of messages any user can post to Usenet daily. It uses filter_nnrpd.pl. - $Id: hook-perl.pod 9247 2011-07-17 18:03:49Z iulius $ + $Id: hook-perl.pod 9559 2013-11-06 03:47:46Z eagle $ diff -Nurp inn-2.5.3/doc/man/INN__Config.3pm inn-2.5.4/doc/man/INN__Config.3pm --- inn-2.5.3/doc/man/INN__Config.3pm 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/INN__Config.3pm 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "INN::Config 3pm" -.TH INN::Config 3pm "2011-08-22" "INN 2.5.3" "InterNetNews Documentation" +.TH INN::Config 3pm "2014-03-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -211,7 +211,7 @@ module. for InterNetNews in 1996. It was converted to the INN::Config Perl module by Julien Elie in 2007. .PP -\&\f(CW$Id:\fR Config.pm.in 9311 2011\-08\-06 20:18:42Z iulius $ +\&\f(CW$Id:\fR Config.pm.in 9568 2013\-11\-17 20:25:20Z iulius $ .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIinn.conf\fR\|(5), \fIinnconfval\fR\|(1), \fIperl\fR\|(1). diff -Nurp inn-2.5.3/doc/man/INN__Utils__Shlock.3pm inn-2.5.4/doc/man/INN__Utils__Shlock.3pm --- inn-2.5.3/doc/man/INN__Utils__Shlock.3pm 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/INN__Utils__Shlock.3pm 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "INN::Utils::Shlock 3pm" -.TH INN::Utils::Shlock 3pm "2012-06-15" "INN 2.5.3" "InterNetNews Documentation" +.TH INN::Utils::Shlock 3pm "2012-06-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/Makefile inn-2.5.4/doc/man/Makefile --- inn-2.5.3/doc/man/Makefile 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/Makefile 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -## $Id: Makefile 9372 2011-09-04 09:22:23Z iulius $ +## $Id: Makefile 9478 2013-05-24 16:28:27Z iulius $ include ../../Makefile.global @@ -18,7 +18,7 @@ SEC5 = active.5 active.times.5 buffindex cycbuff.conf.5 distrib.pats.5 distributions.5 expire.ctl.5 history.5 incoming.conf.5 \ inn.conf.5 innfeed.conf.5 innwatch.ctl.5 moderators.5 motd.news.5 \ newsfeeds.5 newsgroups.5 newslog.5 nnrpd.track.5 nntpsend.ctl.5 ovdb.5 \ - passwd.nntp.5 radius.conf.5 readers.conf.5 \ + passwd.nntp.5 inn-radius.conf.5 readers.conf.5 \ storage.conf.5 subscriptions.5 SEC8 = actsync.8 archive.8 batcher.8 buffchan.8 ckpasswd.8 \ diff -Nurp inn-2.5.3/doc/man/active.5 inn-2.5.4/doc/man/active.5 --- inn-2.5.3/doc/man/active.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/active.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ACTIVE 5" -.TH ACTIVE 5 "2010-03-23" "INN 2.5.3" "InterNetNews Documentation" +.TH ACTIVE 5 "2010-03-23" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/active.times.5 inn-2.5.4/doc/man/active.times.5 --- inn-2.5.3/doc/man/active.times.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/active.times.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ACTIVE.TIMES 5" -.TH ACTIVE.TIMES 5 "2009-09-29" "INN 2.5.3" "InterNetNews Documentation" +.TH ACTIVE.TIMES 5 "2009-09-29" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/actsync.8 inn-2.5.4/doc/man/actsync.8 --- inn-2.5.3/doc/man/actsync.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/actsync.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ACTSYNC 8" -.TH ACTSYNC 8 "2011-06-10" "INN 2.5.3" "InterNetNews Documentation" +.TH ACTSYNC 8 "2014-03-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -888,7 +888,7 @@ Written by Landon Curt Noll . Converted to \&\s-1POD\s0 by Russ Allbery . .PP -\&\f(CW$Id:\fR actsync.pod 9199 2011\-04\-16 10:22:18Z iulius $ +\&\f(CW$Id:\fR actsync.pod 9475 2013\-05\-21 20:06:20Z eagle $ .PP By Landon Curt Noll (chongo was here /\e../\e). .PP diff -Nurp inn-2.5.3/doc/man/archive.8 inn-2.5.4/doc/man/archive.8 --- inn-2.5.3/doc/man/archive.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/archive.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ARCHIVE 8" -.TH ARCHIVE 8 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH ARCHIVE 8 "2009-05-21" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/auth_krb5.8 inn-2.5.4/doc/man/auth_krb5.8 --- inn-2.5.3/doc/man/auth_krb5.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/auth_krb5.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "AUTH_KRB5 8" -.TH AUTH_KRB5 8 "2009-09-11" "INN 2.5.3" "InterNetNews Documentation" +.TH AUTH_KRB5 8 "2009-09-11" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/batcher.8 inn-2.5.4/doc/man/batcher.8 --- inn-2.5.3/doc/man/batcher.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/batcher.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BATCHER 8" -.TH BATCHER 8 "2009-11-15" "INN 2.5.3" "InterNetNews Documentation" +.TH BATCHER 8 "2009-11-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/buffchan.8 inn-2.5.4/doc/man/buffchan.8 --- inn-2.5.3/doc/man/buffchan.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/buffchan.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BUFFCHAN 8" -.TH BUFFCHAN 8 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH BUFFCHAN 8 "2009-05-21" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/buffindexed.conf.5 inn-2.5.4/doc/man/buffindexed.conf.5 --- inn-2.5.3/doc/man/buffindexed.conf.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/buffindexed.conf.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BUFFINDEXED.CONF 5" -.TH BUFFINDEXED.CONF 5 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH BUFFINDEXED.CONF 5 "2009-05-21" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/ckpasswd.8 inn-2.5.4/doc/man/ckpasswd.8 --- inn-2.5.3/doc/man/ckpasswd.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/ckpasswd.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CKPASSWD 8" -.TH CKPASSWD 8 "2011-12-26" "INN 2.5.3" "InterNetNews Documentation" +.TH CKPASSWD 8 "2014-03-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -166,10 +166,10 @@ you're using a different password hash s .IX Header "OPTIONS" .IP "\fB\-d\fR \fIdatabase\fR" 4 .IX Item "-d database" -Read passwords from a database (ndbm or dbm format depending on what your -system has) rather than by using \fIgetpwnam\fR\|(3). \fBckpasswd\fR expects -\&\fIdatabase\fR.dir and \fIdatabase\fR.pag to exist and to be a database keyed by -username with the encrypted passwords as the values. +Read passwords from a database (ndbm, gdbm or dbm format depending on +what your system has) rather than by using \fIgetpwnam\fR\|(3). \fBckpasswd\fR +expects \fIdatabase\fR.dir and \fIdatabase\fR.pag to exist and to be a database +keyed by username with the encrypted passwords as the values. .Sp While \s-1INN\s0 doesn't come with a program intended specifically to create such databases, on most systems it's fairly easy to write a Perl script to do @@ -199,7 +199,7 @@ improvements that could be made to this, start. Sometimes a program like this will be available with the name \&\fBdbmpasswd\fR. .Sp -This option will not be available on systems without dbm or ndbm +This option will not be available on systems without ndbm, gdbm or dbm libraries. .IP "\fB\-f\fR \fIfilename\fR" 4 .IX Item "-f filename" @@ -212,12 +212,24 @@ vaguely. That means each line should lo .Ve .Sp (and each line may have an additional colon after the encrypted password -and additional data; that data will be ignored by \fBckpasswd\fR). Lines -starting with a number sign (\f(CW\*(C`#\*(C'\fR) are ignored. \s-1INN\s0 does not come with a -utility to create the encrypted passwords, but \fBhtpasswd\fR (which comes -with Apache) can do so and it's a quick job with Perl (see the example -script under \fB\-d\fR). If using Apache's \fBhtpasswd\fR program, be sure to -give it the \fB\-d\fR option so that it will use \fIcrypt\fR\|(3). +and additional data; that data will be ignored by \fBckpasswd\fR). +Lines starting with a number sign (\f(CW\*(C`#\*(C'\fR) are ignored. \s-1INN\s0 does not +come with a utility to create the encrypted passwords, but \fBhtpasswd\fR +(which comes with Apache) can do so and it's a quick job with Perl +(see the example script under \fB\-d\fR, or also below). If using Apache's +\&\fBhtpasswd\fR program, be sure to give it the \fB\-d\fR option so that it +will use \fIcrypt\fR\|(3). +.Sp +A line in \fIfilename\fR for the user \f(CW\*(C`user\*(C'\fR with the password \f(CW\*(C`pass\*(C'\fR +would be \f(CW\*(C`user:LIfOpbjNaEQYE\*(C'\fR as obtained by the following commands: +.Sp +.Vb 2 +\& % htpasswd \-nbd user pass +\& user:LIfOpbjNaEQYE +\& +\& % perl \-e \*(Aqprint "user:".crypt("pass", "LI")."\en";\*(Aq +\& user:LIfOpbjNaEQYE +.Ve .IP "\fB\-g\fR" 4 .IX Item "-g" Attempt to look up system group corresponding to username and return a @@ -300,7 +312,7 @@ it will print some sort of error message .IX Header "HISTORY" Written by Russ Allbery for InterNetNews. .PP -\&\f(CW$Id:\fR ckpasswd.pod 9387 2011\-12\-26 05:42:18Z eagle $ +\&\f(CW$Id:\fR ckpasswd.pod 9532 2013\-08\-25 13:50:55Z iulius $ .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIcrypt\fR\|(3), \fInnrpd\fR\|(8), \fIpam\fR\|(7), \fIreaders.conf\fR\|(5). diff -Nurp inn-2.5.3/doc/man/cnfsheadconf.8 inn-2.5.4/doc/man/cnfsheadconf.8 --- inn-2.5.3/doc/man/cnfsheadconf.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/cnfsheadconf.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CNFSHEADCONF 8" -.TH CNFSHEADCONF 8 "2009-08-16" "INN 2.5.3" "InterNetNews Documentation" +.TH CNFSHEADCONF 8 "2009-08-16" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/cnfsstat.8 inn-2.5.4/doc/man/cnfsstat.8 --- inn-2.5.3/doc/man/cnfsstat.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/cnfsstat.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CNFSSTAT 8" -.TH CNFSSTAT 8 "2011-08-22" "INN 2.5.3" "InterNetNews Documentation" +.TH CNFSSTAT 8 "2011-08-22" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/control.ctl.5 inn-2.5.4/doc/man/control.ctl.5 --- inn-2.5.3/doc/man/control.ctl.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/control.ctl.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CONTROL.CTL 5" -.TH CONTROL.CTL 5 "2009-11-15" "INN 2.5.3" "InterNetNews Documentation" +.TH CONTROL.CTL 5 "2009-11-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/controlchan.8 inn-2.5.4/doc/man/controlchan.8 --- inn-2.5.3/doc/man/controlchan.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/controlchan.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CONTROLCHAN 8" -.TH CONTROLCHAN 8 "2011-07-17" "INN 2.5.3" "InterNetNews Documentation" +.TH CONTROLCHAN 8 "2011-07-17" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/convdate.1 inn-2.5.4/doc/man/convdate.1 --- inn-2.5.3/doc/man/convdate.1 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/convdate.1 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CONVDATE 1" -.TH CONVDATE 1 "2010-02-08" "INN 2.5.3" "InterNetNews Documentation" +.TH CONVDATE 1 "2010-02-08" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/ctlinnd.8 inn-2.5.4/doc/man/ctlinnd.8 --- inn-2.5.3/doc/man/ctlinnd.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/ctlinnd.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CTLINND 8" -.TH CTLINND 8 "2011-07-17" "INN 2.5.3" "InterNetNews Documentation" +.TH CTLINND 8 "2014-03-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -260,7 +260,8 @@ new \fBinnfeed\fR process while the old .IX Item "flushlogs" Close the news and error log files and rename them to add \f(CW\*(C`.old\*(C'\fR to the file name, then open fresh news and error logs. The \fIactive\fR file and -history database are also flushed to disk. +history database are also flushed to disk. Exploder and process channels +are reopened so that they properly take into account the new log files. .IP "go \fIreason\fR" 4 .IX Item "go reason" Re-open the history database and start accepting articles again, reversing @@ -581,7 +582,7 @@ server replies are limited to 4\ \s-1KB\ Written by Rich \f(CW$alz\fR for InterNetNews. Rewritten in \&\s-1POD\s0 by Russ Allbery . .PP -\&\f(CW$Id:\fR ctlinnd.pod 9247 2011\-07\-17 18:03:49Z iulius $ +\&\f(CW$Id:\fR ctlinnd.pod 9466 2013\-03\-22 15:09:01Z iulius $ .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIactive\fR\|(5), \fIactive.times\fR\|(5), \fIbuffchan\fR\|(8), \fIincoming.conf\fR\|(5), \fIinnd\fR\|(8), diff -Nurp inn-2.5.3/doc/man/cvtbatch.8 inn-2.5.4/doc/man/cvtbatch.8 --- inn-2.5.3/doc/man/cvtbatch.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/cvtbatch.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CVTBATCH 8" -.TH CVTBATCH 8 "2009-11-15" "INN 2.5.3" "InterNetNews Documentation" +.TH CVTBATCH 8 "2009-11-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/cycbuff.conf.5 inn-2.5.4/doc/man/cycbuff.conf.5 --- inn-2.5.3/doc/man/cycbuff.conf.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/cycbuff.conf.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CYCBUFF.CONF 5" -.TH CYCBUFF.CONF 5 "2010-02-16" "INN 2.5.3" "InterNetNews Documentation" +.TH CYCBUFF.CONF 5 "2010-02-16" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/distrib.pats.5 inn-2.5.4/doc/man/distrib.pats.5 --- inn-2.5.3/doc/man/distrib.pats.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/distrib.pats.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DISTRIB.PATS 5" -.TH DISTRIB.PATS 5 "2009-11-15" "INN 2.5.3" "InterNetNews Documentation" +.TH DISTRIB.PATS 5 "2009-11-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/distributions.5 inn-2.5.4/doc/man/distributions.5 --- inn-2.5.3/doc/man/distributions.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/distributions.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DISTRIBUTIONS 5" -.TH DISTRIBUTIONS 5 "2011-06-10" "INN 2.5.3" "InterNetNews Documentation" +.TH DISTRIBUTIONS 5 "2011-06-10" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/docheckgroups.8 inn-2.5.4/doc/man/docheckgroups.8 --- inn-2.5.3/doc/man/docheckgroups.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/docheckgroups.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DOCHECKGROUPS 8" -.TH DOCHECKGROUPS 8 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH DOCHECKGROUPS 8 "2009-05-21" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/domain.8 inn-2.5.4/doc/man/domain.8 --- inn-2.5.3/doc/man/domain.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/domain.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DOMAIN 8" -.TH DOMAIN 8 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH DOMAIN 8 "2009-05-21" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/expire.8 inn-2.5.4/doc/man/expire.8 --- inn-2.5.3/doc/man/expire.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/expire.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EXPIRE 8" -.TH EXPIRE 8 "2009-09-11" "INN 2.5.3" "InterNetNews Documentation" +.TH EXPIRE 8 "2009-09-11" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/expire.ctl.5 inn-2.5.4/doc/man/expire.ctl.5 --- inn-2.5.3/doc/man/expire.ctl.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/expire.ctl.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EXPIRE.CTL 5" -.TH EXPIRE.CTL 5 "2010-02-08" "INN 2.5.3" "InterNetNews Documentation" +.TH EXPIRE.CTL 5 "2010-02-08" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/expireover.8 inn-2.5.4/doc/man/expireover.8 --- inn-2.5.3/doc/man/expireover.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/expireover.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EXPIREOVER 8" -.TH EXPIREOVER 8 "2009-09-11" "INN 2.5.3" "InterNetNews Documentation" +.TH EXPIREOVER 8 "2009-09-11" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/expirerm.8 inn-2.5.4/doc/man/expirerm.8 --- inn-2.5.3/doc/man/expirerm.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/expirerm.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EXPIRERM 8" -.TH EXPIRERM 8 "2009-09-11" "INN 2.5.3" "InterNetNews Documentation" +.TH EXPIRERM 8 "2009-09-11" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/fastrm.1 inn-2.5.4/doc/man/fastrm.1 --- inn-2.5.3/doc/man/fastrm.1 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/fastrm.1 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "FASTRM 1" -.TH FASTRM 1 "2009-09-11" "INN 2.5.3" "InterNetNews Documentation" +.TH FASTRM 1 "2009-09-11" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/getlist.1 inn-2.5.4/doc/man/getlist.1 --- inn-2.5.3/doc/man/getlist.1 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/getlist.1 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "GETLIST 1" -.TH GETLIST 1 "2010-02-08" "INN 2.5.3" "InterNetNews Documentation" +.TH GETLIST 1 "2010-02-08" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/grephistory.1 inn-2.5.4/doc/man/grephistory.1 --- inn-2.5.3/doc/man/grephistory.1 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/grephistory.1 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "GREPHISTORY 1" -.TH GREPHISTORY 1 "2009-09-11" "INN 2.5.3" "InterNetNews Documentation" +.TH GREPHISTORY 1 "2009-09-11" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/ident.8 inn-2.5.4/doc/man/ident.8 --- inn-2.5.3/doc/man/ident.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/ident.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "IDENT 8" -.TH IDENT 8 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH IDENT 8 "2009-05-21" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/incoming.conf.5 inn-2.5.4/doc/man/incoming.conf.5 --- inn-2.5.3/doc/man/incoming.conf.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/incoming.conf.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "INCOMING.CONF 5" -.TH INCOMING.CONF 5 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH INCOMING.CONF 5 "2014-03-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -272,13 +272,15 @@ allowed to issue list command. The defa it can. .IP "\fInoresendid\fR" 4 .IX Item "noresendid" -This key requires a boolean value. It defines whether \fBinnd\fR should send -\&\f(CW431\fR (response to \s-1CHECK\s0, in streaming mode) or \f(CW436\fR (response to \s-1IHAVE\s0 -in non-streaming mode) responses instead of \f(CW438\fR (response to \s-1CHECK\s0) -or \f(CW435\fR (response to \s-1IHAVE\s0) if a message is offered that is already -received from another peer. This can be useful for peers that resend -messages right away, as innfeed does. The default is false: the peer -receives \f(CW431\fR and \f(CW436\fR codes so that it resends the article later. +This key requires a boolean value. It defines whether \fBinnd\fR should +send \f(CW438\fR (response to \s-1CHECK\s0, in streaming mode) or \f(CW435\fR (response +to \s-1IHAVE\s0 in non-streaming mode) responses instead of \f(CW431\fR (response +to \s-1CHECK\s0) or \f(CW436\fR (response to \s-1IHAVE\s0) if a message is offered that +is already received from another peer. The deferral feature can be +useful for peers that resend messages right away, as \fBinnfeed\fR does. +The default is false: the deferral feature is used so that the peer +receives \f(CW431\fR and \f(CW436\fR codes, and therefore resends the article +later. .IP "\fIpassword\fR" 4 .IX Item "password" This key requires a string value. It is used if you wish to require @@ -302,7 +304,7 @@ This key requires a boolean value. It d Written by Fabien Tassin for InterNetNews. Converted to \&\s-1POD\s0 by Julien Elie. .PP -\&\f(CW$Id:\fR incoming.conf.pod 8436 2009\-05\-01 09:00:21Z iulius $ +\&\f(CW$Id:\fR incoming.conf.pod 9591 2013\-12\-19 17:48:54Z iulius $ .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIinn.conf\fR\|(5), \fIinnd\fR\|(8), \fInewsfeeds\fR\|(5), \fIuwildmat\fR\|(3). diff -Nurp inn-2.5.3/doc/man/inews.1 inn-2.5.4/doc/man/inews.1 --- inn-2.5.3/doc/man/inews.1 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/inews.1 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "INEWS 1" -.TH INEWS 1 "2010-02-08" "INN 2.5.3" "InterNetNews Documentation" +.TH INEWS 1 "2010-02-08" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/inn-radius.conf.5 inn-2.5.4/doc/man/inn-radius.conf.5 --- inn-2.5.3/doc/man/inn-radius.conf.5 1969-12-31 16:00:00.000000000 -0800 +++ inn-2.5.4/doc/man/inn-radius.conf.5 2014-05-17 01:24:49.000000000 -0700 @@ -0,0 +1,225 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "INN-RADIUS.CONF 5" +.TH INN-RADIUS.CONF 5 "2014-03-15" "INN 2.5.4" "InterNetNews Documentation" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +inn\-radius.conf \- Configuration for nnrpd RADIUS authenticator +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +This describes the format and attributes of the configuration file for the +nnrpd \s-1RADIUS\s0 authenticator. See \fIradius\fR\|(8) for more information about the +authenticator program. The default location for this file is +\&\fIinn\-radius.conf\fR in \fIpathetc\fR. +.PP +Blank lines and lines beginning with \f(CW\*(C`#\*(C'\fR are ignored, as is anything +after a \f(CW\*(C`#\*(C'\fR on a line. All other lines should begin with a parameter +name followed by a colon and the value of that key, except that each +section of configuration for a particular server should be enclosed in: +.PP +.Vb 3 +\& server { +\& # parameters... +\& } +.Ve +.PP +where is just some convenient label for that server. +.PP +The available parameters are: +.IP "\fIradhost\fR" 4 +.IX Item "radhost" +The hostname of the \s-1RADIUS\s0 server to use for authentication. This +parameter must be set. +.IP "\fIradport\fR" 4 +.IX Item "radport" +The port to query on the \s-1RADIUS\s0 server. Defaults to 1645 if not set. +.IP "\fIlochost\fR" 4 +.IX Item "lochost" +The hostname or \s-1IP\s0 address making the request. The \s-1RADIUS\s0 server expects +an \s-1IP\s0 address; a hostname will be translated into an \s-1IP\s0 address with +\&\fIgethostbyname()\fR. If not given, this information isn't included in the +request (not all \s-1RADIUS\s0 setups require this information). +.IP "\fIlocport\fR" 4 +.IX Item "locport" +The port the client being authenticated is connecting to. If not given, +defaults to 119. This doesn't need to be set unless readers are +connecting to a non-standard port. +.IP "\fIsecret\fR" 4 +.IX Item "secret" +The shared secret with the \s-1RADIUS\s0 server. If your secret includes spaces, +tabs, or \f(CW\*(C`#\*(C'\fR, be sure to include it in double quotes. This parameter +must be set. +.IP "\fIprefix\fR" 4 +.IX Item "prefix" +Prepend the value of this parameter to all usernames before passing them +to the \s-1RADIUS\s0 server. Can be used to prepend something like \f(CW\*(C`news\-\*(C'\fR to +all usernames in order to put news users into a different namespace from +other accounts served by the same server. If not set, nothing is +prepended. +.IP "\fIsuffix\fR" 4 +.IX Item "suffix" +Append the value of this parameter to all usernames before passing them to +the \s-1RADIUS\s0 server. This is often something like \f(CW\*(C`@example.com\*(C'\fR, +depending on how your \s-1RADIUS\s0 server is set up. If not set, nothing is +appended. +.IP "\fIignore-source\fR" 4 +.IX Item "ignore-source" +Can be set to \f(CW\*(C`true\*(C'\fR or \f(CW\*(C`false\*(C'\fR. If set to false, the \s-1RADIUS\s0 +authenticator will check to ensure that the response it receives is from +the same \s-1IP\s0 address as it sent the request to (for some added security). +If set to true, it will skip this verification check (if your \s-1RADIUS\s0 +server has multiple \s-1IP\s0 addresses or if other odd things are going on, it +may be perfectly normal for the response to come from a different \s-1IP\s0 +address). +.SH "EXAMPLE" +.IX Header "EXAMPLE" +Here is a configuration for a news server named news.example.com, +authenticating users against radius.example.com and appending +\&\f(CW\*(C`@example.com\*(C'\fR to all client-supplied usernames before passing them to +the \s-1RADIUS\s0 server: +.PP +.Vb 6 +\& server example { +\& radhost: radius.example.com +\& lochost: news.example.com +\& secret: IamARADIUSsecRET +\& suffix: @example.com +\& } +.Ve +.PP +The shared secret with the \s-1RADIUS\s0 server is \f(CW\*(C`IamARADIUSsecRET\*(C'\fR. +.SH "HISTORY" +.IX Header "HISTORY" +This documentation was written by Russ Allbery based on +the comments in the sample \fIinn\-radius.conf\fR file by Yury B.\ Razbegin. +.PP +\&\f(CW$Id:\fR inn\-radius.conf.pod 9478 2013\-05\-24 16:28:27Z iulius $ +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIradius\fR\|(8) diff -Nurp inn-2.5.3/doc/man/inn.conf.5 inn-2.5.4/doc/man/inn.conf.5 --- inn-2.5.3/doc/man/inn.conf.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/inn.conf.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "INN.CONF 5" -.TH INN.CONF 5 "2012-06-15" "INN 2.5.3" "InterNetNews Documentation" +.TH INN.CONF 5 "2014-03-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -672,6 +672,9 @@ of setting this to true is to enable fil according to what storage class the control pseudogroups are filed in rather than according to the newsgroups the control messages are posted to. This is a boolean value and the default is true. +.Sp +If the tradspool article storage method is used, \fIstoreonxref\fR must +be true. .IP "\fIuseoverchan\fR" 4 .IX Item "useoverchan" Whether to \fIinnd\fR\|(8) should create overview data internally through @@ -1410,7 +1413,7 @@ values for reference. Written by Rich \f(CW$alz\fR for InterNetNews and since modified, updated, and reorganized by innumerable other people. .PP -\&\f(CW$Id:\fR inn.conf.pod 9406 2012\-05\-03 14:57:58Z iulius $ +\&\f(CW$Id:\fR inn.conf.pod 9608 2014\-02\-17 19:12:15Z iulius $ .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIinews\fR\|(1), \fIinnd\fR\|(8), \fIinnwatch\fR\|(8), \fImakehistory\fR\|(8), \fInnrpd\fR\|(8), \fIrnews\fR\|(1). diff -Nurp inn-2.5.3/doc/man/innbind.8 inn-2.5.4/doc/man/innbind.8 --- inn-2.5.3/doc/man/innbind.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/innbind.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "INNBIND 8" -.TH INNBIND 8 "2010-02-08" "INN 2.5.3" "InterNetNews Documentation" +.TH INNBIND 8 "2010-02-08" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/inncheck.8 inn-2.5.4/doc/man/inncheck.8 --- inn-2.5.3/doc/man/inncheck.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/inncheck.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "INNCHECK 8" -.TH INNCHECK 8 "2012-06-15" "INN 2.5.3" "InterNetNews Documentation" +.TH INNCHECK 8 "2012-06-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/innconfval.1 inn-2.5.4/doc/man/innconfval.1 --- inn-2.5.3/doc/man/innconfval.1 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/innconfval.1 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,13 +124,13 @@ .\" ======================================================================== .\" .IX Title "INNCONFVAL 1" -.TH INNCONFVAL 1 "2011-08-22" "INN 2.5.3" "InterNetNews Documentation" +.TH INNCONFVAL 1 "2011-08-22" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -innconfval \- Get configuration parameters from \fIinn.conf\fR +innconfval \- Get configuration parameters from inn.conf .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBinnconfval\fR [\fB\-pstv\fR] [\fB\-i\fR \fIfile\fR] [\fIparameter\fR ...] diff -Nurp inn-2.5.3/doc/man/innd.8 inn-2.5.4/doc/man/innd.8 --- inn-2.5.3/doc/man/innd.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/innd.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "INND 8" -.TH INND 8 "2011-07-17" "INN 2.5.3" "InterNetNews Documentation" +.TH INND 8 "2011-07-17" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/inndf.8 inn-2.5.4/doc/man/inndf.8 --- inn-2.5.3/doc/man/inndf.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/inndf.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "INNDF 8" -.TH INNDF 8 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH INNDF 8 "2009-05-21" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/innfeed.8 inn-2.5.4/doc/man/innfeed.8 --- inn-2.5.3/doc/man/innfeed.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/innfeed.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "INNFEED 8" -.TH INNFEED 8 "2011-09-18" "INN 2.5.3" "InterNetNews Documentation" +.TH INNFEED 8 "2014-03-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -258,8 +258,8 @@ on the command line, and will reopen it \&\fBinnfeed\fR with catch \s-1SIGINT\s0 and will write a large debugging snapshot of the state of the running system. .PP -\&\fBinnfeed\fR will catch \s-1SIGHUP\s0 and will reload the config file. -See \fIinnfeed.conf\fR\|(5) for more details. +\&\fBinnfeed\fR will catch \s-1SIGHUP\s0 and will reload both the config and the +log files. See \fIinnfeed.conf\fR\|(5) for more details. .PP \&\fBinnfeed\fR will catch \s-1SIGCHLD\s0 and will close and reopen all backlog files. .PP @@ -519,6 +519,17 @@ nothing will happen in \fB\-x\fR mode. This needs to be prepared for it by external means. .PP Probably too many other bugs to count. +.SH "ALTERNATIVE" +.IX Header "ALTERNATIVE" +An alternative to \fBinnfeed\fR can be +\&\fBinnduct\fR, maintained by Ian Jackson and available at +http://www.chiark.greenend.org.uk/ucgi/~ian/git\-manpage/innduct.git/innduct.8 . +It is intended to solve a design issue in the way \fBinnfeed\fR works. +As a matter of fact, the program feed protocol spoken between \fBinnd\fR +and \fBinnfeed\fR is lossy: if \fBinnfeed\fR dies unexpectedly, articles +which \fBinnd\fR has written to the pipe to \fBinnfeed\fR will be skipped. +\&\fBinnd\fR has no way of telling which articles those are, no useful +records, and no attempts to resend these articles. .SH "FILES" .IX Header "FILES" .IP "\fIpathbin\fR/innfeed" 4 @@ -538,7 +549,7 @@ Written by James Brister for InterNetNews. Converted to \s-1POD\s0 by Julien Elie. .PP -\&\f(CW$Id:\fR innxmit.pod 9059 2010\-05\-20 18:53:46Z iulius $ +\&\f(CW$Id:\fR innxmit.pod 9590 2013\-12\-19 17:48:22Z iulius $ .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIctlinnd\fR\|(8), \fIinn.conf\fR\|(5), \fIinnd\fR\|(8), \fInewsfeeds\fR\|(5), \fIpasswd.nntp\fR\|(5), \fIshlock\fR\|(1). diff -Nurp inn-2.5.3/doc/man/libauth.3 inn-2.5.4/doc/man/libauth.3 --- inn-2.5.3/doc/man/libauth.3 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/libauth.3 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "libauth 3" -.TH libauth 3 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH libauth 3 "2009-05-21" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/libinnhist.3 inn-2.5.4/doc/man/libinnhist.3 --- inn-2.5.3/doc/man/libinnhist.3 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/libinnhist.3 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "libinnhist 3" -.TH libinnhist 3 "2011-06-10" "INN 2.5.3" "InterNetNews Documentation" +.TH libinnhist 3 "2011-06-10" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/libstorage.3 inn-2.5.4/doc/man/libstorage.3 --- inn-2.5.3/doc/man/libstorage.3 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/libstorage.3 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "libstorage 3" -.TH libstorage 3 "2011-06-10" "INN 2.5.3" "InterNetNews Documentation" +.TH libstorage 3 "2011-06-10" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/list.3 inn-2.5.4/doc/man/list.3 --- inn-2.5.3/doc/man/list.3 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/list.3 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "list 3" -.TH list 3 "2011-06-10" "INN 2.5.3" "InterNetNews Documentation" +.TH list 3 "2011-06-10" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/mailpost.8 inn-2.5.4/doc/man/mailpost.8 --- inn-2.5.3/doc/man/mailpost.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/mailpost.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "MAILPOST 8" -.TH MAILPOST 8 "2012-06-15" "INN 2.5.3" "InterNetNews Documentation" +.TH MAILPOST 8 "2012-06-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/makedbz.8 inn-2.5.4/doc/man/makedbz.8 --- inn-2.5.3/doc/man/makedbz.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/makedbz.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "MAKEDBZ 8" -.TH MAKEDBZ 8 "2009-09-11" "INN 2.5.3" "InterNetNews Documentation" +.TH MAKEDBZ 8 "2009-09-11" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/makehistory.8 inn-2.5.4/doc/man/makehistory.8 --- inn-2.5.3/doc/man/makehistory.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/makehistory.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "MAKEHISTORY 8" -.TH MAKEHISTORY 8 "2009-08-16" "INN 2.5.3" "InterNetNews Documentation" +.TH MAKEHISTORY 8 "2009-08-16" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/mod-active.8 inn-2.5.4/doc/man/mod-active.8 --- inn-2.5.3/doc/man/mod-active.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/mod-active.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "MOD-ACTIVE 8" -.TH MOD-ACTIVE 8 "2011-06-10" "INN 2.5.3" "InterNetNews Documentation" +.TH MOD-ACTIVE 8 "2011-06-10" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/moderators.5 inn-2.5.4/doc/man/moderators.5 --- inn-2.5.3/doc/man/moderators.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/moderators.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "MODERATORS 5" -.TH MODERATORS 5 "2010-02-08" "INN 2.5.3" "InterNetNews Documentation" +.TH MODERATORS 5 "2010-02-08" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/motd.news.5 inn-2.5.4/doc/man/motd.news.5 --- inn-2.5.3/doc/man/motd.news.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/motd.news.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "MOTD.NEWS 5" -.TH MOTD.NEWS 5 "2011-06-10" "INN 2.5.3" "InterNetNews Documentation" +.TH MOTD.NEWS 5 "2014-03-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -152,11 +152,16 @@ this file. If one or both of these files are missing, it is not an error. The server will just send the client the appropriate response for an unmaintained \&\fImotd.innd\fR or \fImotd.nnrpd\fR file. +.PP +On a fresh \s-1INN\s0 install, samples for these files are installed +in \fIpathec\fR; you will therefore find in \fImotd.innd.sample\fR and +\&\fImotd.nnrpd.sample\fR a few examples of messages that can be communicated +to news clients. .SH "HISTORY" .IX Header "HISTORY" Rewritten in \s-1POD\s0 by Russ Allbery for InterNetNews. .PP -\&\f(CW$Id:\fR motd.news.pod 9146 2010\-10\-30 09:55:04Z iulius $ +\&\f(CW$Id:\fR motd.news.pod 9605 2014\-02\-17 18:04:21Z iulius $ .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIinn.conf\fR\|(5). diff -Nurp inn-2.5.3/doc/man/news.daily.8 inn-2.5.4/doc/man/news.daily.8 --- inn-2.5.3/doc/man/news.daily.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/news.daily.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "NEWS.DAILY 8" -.TH NEWS.DAILY 8 "2011-09-18" "INN 2.5.3" "InterNetNews Documentation" +.TH NEWS.DAILY 8 "2014-05-16" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -237,6 +237,10 @@ renumbering \fIactive\fR. Normal \f(CW\ time. With the \fBlowmark\fR keyword, this will take less time. If the \fBlowmark\fR keyword is used, the \fBnorenumber\fR keyword is not needed since \fBnews.daily\fR specifies it implicitly. +.Sp +If the \fBlowmark\fR keyword is given to \fBnews.daily\fR, then the +\&\fBexpireover\fR keyword must also be given; otherwise, that kind of +renumbering will not be taken into account. .IP "\fBmailto\fR=\fIaddress\fR" 4 .IX Item "mailto=address" By default, \fBnews.daily\fR mails the report to the newsmaster address specified @@ -323,7 +327,7 @@ will then use this path as the directory and Rich \f(CW$alz\fR for InterNetNews. It was converted to \s-1POD\s0 by Julien Elie. .PP -\&\f(CW$Id:\fR news.daily.pod 9372 2011\-09\-04 09:22:23Z iulius $ +\&\f(CW$Id:\fR news.daily.pod 9634 2014\-05\-14 18:05:41Z iulius $ .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIactive\fR\|(5), \fIctlinnd\fR\|(8), \fIexpire\fR\|(8), \fIexpire.ctl\fR\|(5), \fIexpireover\fR\|(8), \fIexpirerm\fR\|(8), \fIfastrm\fR\|(8), diff -Nurp inn-2.5.3/doc/man/news2mail.8 inn-2.5.4/doc/man/news2mail.8 --- inn-2.5.3/doc/man/news2mail.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/news2mail.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "NEWS2MAIL 8" -.TH NEWS2MAIL 8 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH NEWS2MAIL 8 "2009-05-21" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/newsfeeds.5 inn-2.5.4/doc/man/newsfeeds.5 --- inn-2.5.3/doc/man/newsfeeds.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/newsfeeds.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "NEWSFEEDS 5" -.TH NEWSFEEDS 5 "2011-08-22" "INN 2.5.3" "InterNetNews Documentation" +.TH NEWSFEEDS 5 "2014-03-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -312,10 +312,13 @@ list for all other feeds so that local p tends to be somewhat confusing since the default subscription is prepended and can be overridden by other patterns. .PP -If the \f(CW\*(C`ME\*(C'\fR entry has a distribution sub-field, only articles that match -that distribution list are accepted and all other articles are rejected. -A common use for this is to put something like \f(CW\*(C`/!local\*(C'\fR in the \f(CW\*(C`ME\*(C'\fR -entry to reject local postings from other misconfigured sites. +If the \f(CW\*(C`ME\*(C'\fR entry has a distribution sub-field, only articles that +match that distribution list are accepted and all other articles with a +distribution are rejected. A common use for this is to put something +like \f(CW\*(C`/!local\*(C'\fR in the \f(CW\*(C`ME\*(C'\fR entry to reject local postings from other +misconfigured sites. The distribution sub-field of \f(CW\*(C`ME\*(C'\fR has no effect on +the acceptance or rejection of articles that do not have a Distribution +header field. .PP An empty \f(CW\*(C`ME\*(C'\fR entry is possible, in which case no exclusion patterns will be defined. @@ -726,7 +729,7 @@ at its leisure. File feeds are most fre \&\fInntpsend\fR\|(8). .PP A program feed (\fBTp\fR) spawns a given program for every article that the -site receives. The \fIparamter\fR field must be the command line to execute, +site receives. The \fIparameter\fR field must be the command line to execute, and should contain one instance of \f(CW%s\fR, which will be replaced by the storage \s-1API\s0 token of the article (the actual article can be retrieved by the program using \fIsm\fR\|(8)). The program will not receive anything on @@ -917,7 +920,7 @@ the standard newsfeeds entries used by m Written by Rich \f(CW$alz\fR for InterNetNews. Reformatted and rewritten in \s-1POD\s0 by Russ Allbery . .PP -\&\f(CW$Id:\fR newsfeeds.pod 9321 2011\-08\-06 20:43:45Z iulius $ +\&\f(CW$Id:\fR newsfeeds.pod 9500 2013\-07\-01 08:21:58Z eagle $ .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIactive\fR\|(5), \fIbuffchan\fR\|(8), \fIcontrolchan\fR\|(8), \fIctlinnd\fR\|(8), \fIinn.conf\fR\|(5), \fIinnd\fR\|(8), diff -Nurp inn-2.5.3/doc/man/newsgroups.5 inn-2.5.4/doc/man/newsgroups.5 --- inn-2.5.3/doc/man/newsgroups.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/newsgroups.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "NEWSGROUPS 5" -.TH NEWSGROUPS 5 "2010-02-08" "INN 2.5.3" "InterNetNews Documentation" +.TH NEWSGROUPS 5 "2010-02-08" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/newslog.5 inn-2.5.4/doc/man/newslog.5 --- inn-2.5.3/doc/man/newslog.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/newslog.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "NEWSLOG 5" -.TH NEWSLOG 5 "2010-02-08" "INN 2.5.3" "InterNetNews Documentation" +.TH NEWSLOG 5 "2010-02-08" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/ninpaths.8 inn-2.5.4/doc/man/ninpaths.8 --- inn-2.5.3/doc/man/ninpaths.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/ninpaths.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "NINPATHS 8" -.TH NINPATHS 8 "2011-12-26" "INN 2.5.3" "InterNetNews Documentation" +.TH NINPATHS 8 "2011-12-26" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/nnrpd.8 inn-2.5.4/doc/man/nnrpd.8 --- inn-2.5.3/doc/man/nnrpd.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/nnrpd.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "NNRPD 8" -.TH NNRPD 8 "2011-06-10" "INN 2.5.3" "InterNetNews Documentation" +.TH NNRPD 8 "2014-03-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -325,7 +325,7 @@ for regular reader connections. You wil done with the \fB\-D\fR flag along with \f(CW\*(C`\-p 563\*(C'\fR and put into your init scripts: .PP .Vb 1 -\& su news \-c \*(Aq/nnrpd \-D \-p 563 \-S\*(Aq +\& su news \-s /bin/sh \-c \*(Aq/nnrpd \-D \-p 563 \-S\*(Aq .Ve .PP but the easiest way is probably to add a line like: @@ -389,7 +389,7 @@ support added by Rob Robertston and Rich \f(CW$alz\fR for InterNetNews. Converted to \s-1POD\s0 by Julien Elie. .PP -\&\f(CW$Id:\fR nntpsend.pod 9064 2010\-05\-20 19:25:13Z iulius $ +\&\f(CW$Id:\fR nntpsend.pod 9590 2013\-12\-19 17:48:22Z iulius $ .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIinn.conf\fR\|(5), \fIinnxmit\fR\|(1), \fInewsfeeds\fR\|(5), \fInntpsend.ctl\fR\|(5), \fIshlock\fR\|(1), diff -Nurp inn-2.5.3/doc/man/nntpsend.ctl.5 inn-2.5.4/doc/man/nntpsend.ctl.5 --- inn-2.5.3/doc/man/nntpsend.ctl.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/nntpsend.ctl.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "NNTPSEND.CTL 5" -.TH NNTPSEND.CTL 5 "2011-06-10" "INN 2.5.3" "InterNetNews Documentation" +.TH NNTPSEND.CTL 5 "2011-06-10" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/ovdb.5 inn-2.5.4/doc/man/ovdb.5 --- inn-2.5.3/doc/man/ovdb.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/ovdb.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OVDB 5" -.TH OVDB 5 "2011-06-10" "INN 2.5.3" "InterNetNews Documentation" +.TH OVDB 5 "2014-03-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -140,7 +140,7 @@ issues). .PP Ovdb makes use of the full transaction/logging/locking functionality of the Berkeley\ \s-1DB\s0 environment. Berkeley\ \s-1DB\s0 may be downloaded from - +http://www.oracle.com/technetwork/database/database\-technologies/berkeleydb/overview/index.html and is needed to build the ovdb backend. .SH "UPGRADING" .IX Header "UPGRADING" @@ -151,11 +151,9 @@ will need to be upgraded using \fIovdb_i .SH "INSTALLATION" .IX Header "INSTALLATION" To build ovdb support into \s-1INN\s0, specify the option \fB\-\-with\-berkeleydb\fR -when running the configure script. By default, configure will search for -a Berkeley\ \s-1DB\s0 tree in several likely locations, and choose the highest -version (based on the name of the directory, e.g., \fIBerkeleyDB.4.4\fR) that -it finds. There will be a message in the configure output indicating the -chosen pathname. +when running the configure script. By default, configure will search +for Berkeley\ \s-1DB\s0 in standard paths; there will be a message in the +configure output indicating the pathname that will be used. .PP You can override this pathname by adding a path to the option, e.g., \&\fB\-\-with\-berkeleydb=/usr/BerkeleyDB.4.4\fR. This directory is expected to @@ -176,7 +174,7 @@ the \s-1DB_CONFIG\s0 section. .IX Header "CONFIGURATION" To enable ovdb, set the \fIovmethod\fR parameter in \fIinn.conf\fR to \f(CW\*(C`ovdb\*(C'\fR. The ovdb database is stored in the directory specified by the -\&\fIpathoverview\fR paramter in \fIinn.conf\fR. This is the \*(L"\s-1DB_HOME\s0\*(R" directory. +\&\fIpathoverview\fR parameter in \fIinn.conf\fR. This is the \*(L"\s-1DB_HOME\s0\*(R" directory. To start out, this directory should be empty (other than an optional \&\fI\s-1DB_CONFIG\s0\fR file; see \s-1DB_CONFIG\s0 for details) and \fBinnd\fR (or \&\fBmakehistory\fR) will create the files as necessary in that directory. @@ -437,7 +435,7 @@ ov3.c .IX Header "HISTORY" Written by Heath Kehoe for InterNetNews .PP -\&\f(CW$Id:\fR ovdb.pod 9107 2010\-09\-14 20:23:07Z eagle $ +\&\f(CW$Id:\fR ovdb.pod 9577 2013\-12\-06 03:54:44Z eagle $ .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIinn.conf\fR\|(5), \fIinnd\fR\|(8), \fInnrpd\fR\|(8), \fIovdb_init\fR\|(8), \fIovdb_monitor\fR\|(8), @@ -445,4 +443,4 @@ Written by Heath Kehoe . +http://www.oracle.com/technetwork/database/database\-technologies/berkeleydb/overview/index.html . diff -Nurp inn-2.5.3/doc/man/ovdb_init.8 inn-2.5.4/doc/man/ovdb_init.8 --- inn-2.5.3/doc/man/ovdb_init.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/ovdb_init.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OVDB_INIT 8" -.TH OVDB_INIT 8 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH OVDB_INIT 8 "2009-05-21" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/ovdb_monitor.8 inn-2.5.4/doc/man/ovdb_monitor.8 --- inn-2.5.3/doc/man/ovdb_monitor.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/ovdb_monitor.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OVDB_MONITOR 8" -.TH OVDB_MONITOR 8 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH OVDB_MONITOR 8 "2009-05-21" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/ovdb_server.8 inn-2.5.4/doc/man/ovdb_server.8 --- inn-2.5.3/doc/man/ovdb_server.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/ovdb_server.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OVDB_SERVER 8" -.TH OVDB_SERVER 8 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH OVDB_SERVER 8 "2009-05-21" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/ovdb_stat.8 inn-2.5.4/doc/man/ovdb_stat.8 --- inn-2.5.3/doc/man/ovdb_stat.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/ovdb_stat.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OVDB_STAT 8" -.TH OVDB_STAT 8 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH OVDB_STAT 8 "2009-05-21" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/overchan.8 inn-2.5.4/doc/man/overchan.8 --- inn-2.5.3/doc/man/overchan.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/overchan.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OVERCHAN 8" -.TH OVERCHAN 8 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH OVERCHAN 8 "2009-05-21" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/passwd.nntp.5 inn-2.5.4/doc/man/passwd.nntp.5 --- inn-2.5.3/doc/man/passwd.nntp.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/passwd.nntp.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PASSWD.NNTP 5" -.TH PASSWD.NNTP 5 "2010-02-08" "INN 2.5.3" "InterNetNews Documentation" +.TH PASSWD.NNTP 5 "2010-02-08" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/perl-nocem.8 inn-2.5.4/doc/man/perl-nocem.8 --- inn-2.5.3/doc/man/perl-nocem.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/perl-nocem.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PERL-NOCEM 8" -.TH PERL-NOCEM 8 "2009-08-16" "INN 2.5.3" "InterNetNews Documentation" +.TH PERL-NOCEM 8 "2014-05-16" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -156,21 +156,25 @@ Processing NoCeM notices is easy to set Import the keys of the NoCeM issuers you trust in order to check the authenticity of their notices. You can do: .Sp -.Vb 1 +.Vb 2 \& gpg \-\-no\-default\-keyring \-\-primary\-keyring /pgp/ncmring.gpg \-\-import +\& chmod 644 /pgp/ncmring.gpg .Ve .Sp -where is the value of the \fIpathetc\fR parameter set in \fIinn.conf\fR -and the file containing the key(s) to import. The keyring must -be located in /pgp/ncmring.gpg; you only have to create the directory -/pgp before using \fBgpg\fR (it will automatically generate the -\&\fIncmring.gpg\fR file). For old PGP-generated keys, you may have to use +where is the value of the \fIpathetc\fR parameter set in +\&\fIinn.conf\fR and the file containing the key(s) to import. +The keyring must be located in /pgp/ncmring.gpg; you only +have to create the directory /pgp before using \fBgpg\fR (it will +automatically generate the \fIncmring.gpg\fR file) and make sure the news +user can read this file, once generated. +.Sp +For old PGP-generated keys, you may have to use \&\fB\-\-allow\-non\-selfsigned\-uid\fR if they are not properly self-signed, -but anyone creating a key really should self-sign the key. Current -\&\s-1PGP\s0 implementations do this automatically. +but anyone creating a key really should self-sign the key. Current \s-1PGP\s0 +implementations do this automatically. .Sp The keys of NoCeM issuers can be found in the web site of \fIThe NoCeM Registry\fR: -. You can even +. You can even download there a unique file which contains all the keys. .IP "2." 4 Create a \fInocem.ctl\fR config file in \fIpathetc\fR indicating the NoCeM issuers @@ -246,7 +250,7 @@ Copyright 2000 by Miquel van Smoorenburg .PP Copyright 2001 by Marco d'Itri . .PP -\&\f(CW$Id:\fR perl\-nocem.in 8539 2009\-06\-28 10:01:24Z iulius $ +\&\f(CW$Id:\fR perl\-nocem.in 9640 2014\-05\-17 06:25:27Z iulius $ .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIgpgv\fR\|(1), \fIgrephistory\fR\|(1), \fIinn.conf\fR\|(5), \fInewsfeeds\fR\|(5), \fIpgp\fR\|(1). diff -Nurp inn-2.5.3/doc/man/pgpverify.1 inn-2.5.4/doc/man/pgpverify.1 --- inn-2.5.3/doc/man/pgpverify.1 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/pgpverify.1 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PGPVERIFY 1" -.TH PGPVERIFY 1 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH PGPVERIFY 1 "2014-03-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -133,7 +133,7 @@ pgpverify \- Cryptographically verify Usenet control messages .SH "SYNOPSIS" .IX Header "SYNOPSIS" -\&\fBpgpverify\fR [\fB\-test\fR] < \fImessage\fR +\&\fBpgpverify\fR [\fB\-\-findid\fR=\fIstring\fR] [\fB\-\-test\fR] < \fImessage\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \fBpgpverify\fR program reads (on standard input) a Usenet control @@ -167,7 +167,17 @@ the trust model for checking keys, but i this behavior. .SH "OPTIONS" .IX Header "OPTIONS" -The \fB\-test\fR flag causes \fBpgpverify\fR to print out the input that it is +.IP "\fB\-\-findid\fR=\fIstring\fR" 4 +.IX Item "--findid=string" +The \fB\-\-findid\fR flag causes \fBpgpverify\fR to explicitly search for +\&\fIstring\fR in the output from \s-1PGP\s0's analysis of the message. This option +is useful when several UIDs are defined on a single \s-1PGP\s0 key, and the +caller to \fBpgpverify\fR needs checking whether a given one is defined on +this key. In case the signature is valid but does not contain \fIstring\fR, +\&\fBpgpverify\fR exits with exit status 4. +.IP "\fB\-\-test\fR" 4 +.IX Item "--test" +The \fB\-\-test\fR flag causes \fBpgpverify\fR to print out the input that it is passing to \s-1PGP\s0 (which is a reconstructed version of the input that supposedly created the control message) as well as the output from \s-1PGP\s0's analysis of the message. @@ -185,6 +195,11 @@ The control message had an unknown \s-1P .IP "3" 4 .IX Item "3" The control message had a bad \s-1PGP\s0 signature. +.IP "4" 4 +.IX Item "4" +The control message had a good \s-1PGP\s0 signature but the argument given +to the \fB\-\-findid\fR flag had non been found in the output from \s-1PGP\s0's +analysis of the message. .IP "255" 4 .IX Item "255" A problem occurred not directly related to \s-1PGP\s0 analysis of signature. @@ -240,7 +255,7 @@ to be prohibitively difficult for \s-1PG .IX Header "HISTORY" \&\fBpgpverify\fR was written by David C Lawrence . Manual page provided by James Ralston. It is currently maintained by Russ Allbery -. +. .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" David Lawrence wrote: \*(L"Our lawyer told me to include the following. The diff -Nurp inn-2.5.3/doc/man/procbatch.8 inn-2.5.4/doc/man/procbatch.8 --- inn-2.5.3/doc/man/procbatch.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/procbatch.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PROCBATCH 8" -.TH PROCBATCH 8 "2011-09-18" "INN 2.5.3" "InterNetNews Documentation" +.TH PROCBATCH 8 "2011-09-18" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/prunehistory.8 inn-2.5.4/doc/man/prunehistory.8 --- inn-2.5.3/doc/man/prunehistory.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/prunehistory.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PRUNEHISTORY 8" -.TH PRUNEHISTORY 8 "2009-09-11" "INN 2.5.3" "InterNetNews Documentation" +.TH PRUNEHISTORY 8 "2014-03-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -156,11 +156,6 @@ an offset into the text file. Since \fB the correct format. If the \fB\-p\fR flag is used, then the program will silently print any invalid lines on its standard output. (Blank lines and comment lines are also passed through.) -.Sp -This can be useful when \fBprunehistory\fR is used as a filter for other -programs such as \fBreap\fR (a legacy program, probably no longer useful -with current versions of \s-1INN\s0, but still available at -). .IP "\fB\-f\fR \fIfilename\fR" 4 .IX Item "-f filename" The default name of the \fIhistory\fR file is \fIpathdb\fR/history; to specify @@ -170,7 +165,7 @@ a different name, use the \fB\-f\fR flag Written by Rich \f(CW$alz\fR for InterNetNews. Converted to \&\s-1POD\s0 by Julien Elie. .PP -\&\f(CW$Id:\fR prunehistory.pod 8592 2009\-08\-20 23:46:25Z eagle $ +\&\f(CW$Id:\fR prunehistory.pod 9448 2012\-12\-07 19:01:58Z eagle $ .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIdbz\fR\|(3), \fIhistory\fR\|(5), \fIinnd\fR\|(8). diff -Nurp inn-2.5.3/doc/man/pullnews.1 inn-2.5.4/doc/man/pullnews.1 --- inn-2.5.3/doc/man/pullnews.1 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/pullnews.1 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PULLNEWS 1" -.TH PULLNEWS 1 "2011-06-10" "INN 2.5.3" "InterNetNews Documentation" +.TH PULLNEWS 1 "2014-03-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -360,11 +360,9 @@ the username \f(CW\*(C`pull\*(C'\fR and .IX Item "pathbin/pullnews" The Perl script itself used to pull news from upstream servers and feed it to another news server. -.ie n .IP "\fI\fI$HOME\fI\fR/.pullnews" 4 -.el .IP "\fI\f(CI$HOME\fI\fR/.pullnews" 4 -.IX Item "$HOME/.pullnews" -The default config file. It is in the running user's home directory -(normally called \fI~/.pullnews\fR). +.IP "~/.pullnews" 4 +.IX Item "~/.pullnews" +The default config file. It is in the running user's home directory. .SH "HISTORY" .IX Header "HISTORY" \&\fBpullnews\fR was written by James Brister for \s-1INN\s0. The documentation was @@ -374,7 +372,7 @@ Geraint A.\ Edwards greatly improved \fB recognized flags, fixing some bugs and integrating the \fBbackupfeed\fR contrib script by Kai Henningsen, adding again 6\ other flags. .PP -\&\f(CW$Id:\fR pullnews.pod 9161 2011\-01\-23 10:22:50Z iulius $ +\&\f(CW$Id:\fR pullnews.pod 9504 2013\-07\-08 19:28:15Z iulius $ .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIincoming.conf\fR\|(5), \fIrnews\fR\|(1). diff -Nurp inn-2.5.3/doc/man/qio.3 inn-2.5.4/doc/man/qio.3 --- inn-2.5.3/doc/man/qio.3 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/qio.3 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "qio 3" -.TH qio 3 "2011-06-10" "INN 2.5.3" "InterNetNews Documentation" +.TH qio 3 "2011-06-10" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/radius.8 inn-2.5.4/doc/man/radius.8 --- inn-2.5.3/doc/man/radius.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/radius.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RADIUS 8" -.TH RADIUS 8 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH RADIUS 8 "2014-03-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -144,14 +144,14 @@ authenticator. It is useful for a site authentication via \s-1RADIUS\s0 and wants to authenticate news reading connections as well. .PP -By default, \fBradius\fR reads \fIpathetc\fR/radius.conf for configuration +By default, \fBradius\fR reads \fIpathetc\fR/inn\-radius.conf for configuration information, but a different configuration file can be specified with -\&\fB\-f\fR. See \fIradius.conf\fR\|(5) for a description of the configuration file. +\&\fB\-f\fR. See \fIinn\-radius.conf\fR\|(5) for a description of the configuration file. .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-f\fR \fIconfig\fR" 4 .IX Item "-f config" -Read \fIconfig\fR instead of \fIpathetc\fR/radius.conf for configuration +Read \fIconfig\fR instead of \fIpathetc\fR/inn\-radius.conf for configuration information. .IP "\fB\-h\fR" 4 .IX Item "-h" @@ -187,9 +187,9 @@ implement it correctly. The \s-1RADIUS\s0 authenticator was originally written by Aidan Cully. This documentation was written by Russ Allbery . .PP -\&\f(CW$Id:\fR radius.pod 7664 2007\-09\-02 12:58:07Z iulius $ +\&\f(CW$Id:\fR radius.pod 9478 2013\-05\-24 16:28:27Z iulius $ .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fInnrpd\fR\|(8), \fIradius.conf\fR\|(5), \fIreaders.conf\fR\|(5) +\&\fIinn\-radius.conf\fR\|(5), \fInnrpd\fR\|(8), \fIreaders.conf\fR\|(5) .PP \&\s-1RFC\s0\ 2865, Remote Authentication Dial In User Service. diff -Nurp inn-2.5.3/doc/man/radius.conf.5 inn-2.5.4/doc/man/radius.conf.5 --- inn-2.5.3/doc/man/radius.conf.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/radius.conf.5 1969-12-31 16:00:00.000000000 -0800 @@ -1,225 +0,0 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "RADIUS.CONF 5" -.TH RADIUS.CONF 5 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -radius.conf \- Configuration for nnrpd RADIUS authenticator -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -This describes the format and attributes of the configuration file for the -nnrpd \s-1RADIUS\s0 authenticator. See \fIradius\fR\|(1) for more information about the -authenticator program. The default location for this file is -\&\fIradius.conf\fR in \fIpathetc\fR. -.PP -Blank lines and lines beginning with \f(CW\*(C`#\*(C'\fR are ignored, as is anything -after a \f(CW\*(C`#\*(C'\fR on a line. All other lines should begin with a parameter -name followed by a colon and the value of that key, except that each -section of configuration for a particular server should be enclosed in: -.PP -.Vb 3 -\& server { -\& # parameters... -\& } -.Ve -.PP -where is just some convenient label for that server. -.PP -The available parameters are: -.IP "\fIradhost\fR" 4 -.IX Item "radhost" -The hostname of the \s-1RADIUS\s0 server to use for authentication. This -parameter must be set. -.IP "\fIradport\fR" 4 -.IX Item "radport" -The port to query on the \s-1RADIUS\s0 server. Defaults to 1645 if not set. -.IP "\fIlochost\fR" 4 -.IX Item "lochost" -The hostname or \s-1IP\s0 address making the request. The \s-1RADIUS\s0 server expects -an \s-1IP\s0 address; a hostname will be translated into an \s-1IP\s0 address with -\&\fIgethostbyname()\fR. If not given, this information isn't included in the -request (not all \s-1RADIUS\s0 setups require this information). -.IP "\fIlocport\fR" 4 -.IX Item "locport" -The port the client being authenticated is connecting to. If not given, -defaults to 119. This doesn't need to be set unless readers are -connecting to a non-standard port. -.IP "\fIsecret\fR" 4 -.IX Item "secret" -The shared secret with the \s-1RADIUS\s0 server. If your secret includes spaces, -tabs, or \f(CW\*(C`#\*(C'\fR, be sure to include it in double quotes. This parameter -must be set. -.IP "\fIprefix\fR" 4 -.IX Item "prefix" -Prepend the value of this parameter to all usernames before passing them -to the \s-1RADIUS\s0 server. Can be used to prepend something like \f(CW\*(C`news\-\*(C'\fR to -all usernames in order to put news users into a different namespace from -other accounts served by the same server. If not set, nothing is -prepended. -.IP "\fIsuffix\fR" 4 -.IX Item "suffix" -Append the value of this parameter to all usernames before passing them to -the \s-1RADIUS\s0 server. This is often something like \f(CW\*(C`@example.com\*(C'\fR, -depending on how your \s-1RADIUS\s0 server is set up. If not set, nothing is -appended. -.IP "\fIignore-source\fR" 4 -.IX Item "ignore-source" -Can be set to \f(CW\*(C`true\*(C'\fR or \f(CW\*(C`false\*(C'\fR. If set to false, the \s-1RADIUS\s0 -authenticator will check to ensure that the response it receives is from -the same \s-1IP\s0 address as it sent the request to (for some added security). -If set to true, it will skip this verification check (if your \s-1RADIUS\s0 -server has multiple \s-1IP\s0 addresses or if other odd things are going on, it -may be perfectly normal for the response to come from a different \s-1IP\s0 -address). -.SH "EXAMPLE" -.IX Header "EXAMPLE" -Here is a configuration for a news server named news.example.com, -authenticating users against radius.example.com and appending -\&\f(CW\*(C`@example.com\*(C'\fR to all client-supplied usernames before passing them to -the \s-1RADIUS\s0 server: -.PP -.Vb 6 -\& server example { -\& radhost: radius.example.com -\& lochost: news.example.com -\& secret: IamARADIUSsecRET -\& suffix: @example.com -\& } -.Ve -.PP -The shared secret with the \s-1RADIUS\s0 server is \f(CW\*(C`IamARADIUSsecRET\*(C'\fR. -.SH "HISTORY" -.IX Header "HISTORY" -This documentation was written by Russ Allbery based on -the comments in the sample \fIradius.conf\fR file by Yury B.\ Razbegin. -.PP -\&\f(CW$Id:\fR radius.conf.pod 8200 2008\-11\-30 13:31:30Z iulius $ -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIradius\fR\|(1) diff -Nurp inn-2.5.3/doc/man/rc.news.8 inn-2.5.4/doc/man/rc.news.8 --- inn-2.5.3/doc/man/rc.news.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/rc.news.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RC.NEWS 8" -.TH RC.NEWS 8 "2011-08-22" "INN 2.5.3" "InterNetNews Documentation" +.TH RC.NEWS 8 "2014-03-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -177,20 +177,20 @@ is recommended to throttle the server fi To start \s-1INN\s0 and leave certain error messages going to the terminal: .PP .Vb 1 -\& su \- news \-c /rc.news +\& su \- news \-s /bin/sh \-c /rc.news .Ve .PP To run \s-1INN\s0 at startup time from appropriate system boot scripts: .PP .Vb 1 -\& su \- news \-c /rc.news >/dev/console +\& su \- news \-s /bin/sh \-c /rc.news >/dev/console .Ve .PP To stop \s-1INN\s0 (throttling first): .PP .Vb 2 \& /ctlinnd throttle reason -\& su \- news \-c \*(Aq/rc.news stop\*(Aq +\& su \- news \-s /bin/sh \-c \*(Aq/rc.news stop\*(Aq .Ve .SH "BUGS" .IX Header "BUGS" @@ -204,7 +204,7 @@ user \s-1ID\s0. This manual page written by Jeffrey M.\ Vinocur for InterNetNews. .PP -\&\f(CW$Id:\fR rc.news.pod 9340 2011\-08\-16 13:50:19Z iulius $ +\&\f(CW$Id:\fR rc.news.pod 9599 2014\-02\-08 13:56:54Z iulius $ .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIctlinnd\fR\|(8), \fIcnfsstat\fR\|(8), \fIinn.conf\fR\|(5), \fIinnwatch\fR\|(8), \fIovdb\fR\|(5). diff -Nurp inn-2.5.3/doc/man/readers.conf.5 inn-2.5.4/doc/man/readers.conf.5 --- inn-2.5.3/doc/man/readers.conf.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/readers.conf.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "READERS.CONF 5" -.TH READERS.CONF 5 "2010-03-23" "INN 2.5.3" "InterNetNews Documentation" +.TH READERS.CONF 5 "2014-05-16" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -328,12 +328,22 @@ add-ons to \s-1INN\s0 may prefer that au full e\-mail address (including a domain), so you may want to set up your system that way. .PP +Configuration files can be included in other configuration files via +the syntax: +.PP +.Vb 1 +\& include +.Ve +.PP +The file named is then included. This syntax is allowed +only at top-level. +.PP Below is the full list of allowable parameters for auth groups and access groups, and after that are some examples that may make this somewhat clearer. .SH "AUTH GROUP PARAMETERS" .IX Header "AUTH GROUP PARAMETERS" -An access group without at least one of the res:, auth:, perl_auth:, +An auth group without at least one of the res:, auth:, perl_auth:, python_auth:, or default: parameters makes no sense (and in practice will just be ignored). .IP "\fBhosts:\fR" 4 @@ -375,6 +385,38 @@ from the user's hostname. One auth group can have multiple res: parameters, and they will be tried in the order they're listed. The results of the first successful one will be used. +.Sp +Alternatively, a res block can be used instead of a res: paramater. +The recognized parameters in such res blocks are: +.RS 4 +.IP "\fBlog:\fR" 3 +.IX Item "log:" +A string to log in \fIpathlog\fR/news.notice (with \f(CW\*(C`res also\-log:\*(C'\fR +prepended) before the resolver is tried. One res group can have multiple +log: parameters, and they will be logged in the order they're listed. +.IP "\fBprogram:\fR" 3 +.IX Item "program:" +This parameter is mandatory in a res block. Its meaning is the same +as the res: parameter used directly in an auth block. +.Sp +.Vb 3 +\& auth { +\& res: +\& } +.Ve +.Sp +is therefore equivalent to: +.Sp +.Vb 5 +\& auth { +\& res { +\& program: +\& } +\& } +.Ve +.RE +.RS 4 +.RE .IP "\fBauth:\fR" 4 .IX Item "auth:" A simple command line for a user authenticator (shell metacharacters are @@ -933,7 +975,7 @@ tunnel), use the localaddress: parameter Written by Aidan Cully for InterNetNews. Substantially expanded by Russ Allbery . .PP -\&\f(CW$Id:\fR readers.conf.pod 9031 2010\-03\-23 18:31:55Z iulius $ +\&\f(CW$Id:\fR readers.conf.pod 9636 2014\-05\-14 18:06:52Z iulius $ .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIauth_krb5\fR\|(8), \fIckpasswd\fR\|(8), \fIinn.conf\fR\|(5), \fIinnd\fR\|(8), \fInewsfeeds\fR\|(5), diff -Nurp inn-2.5.3/doc/man/rnews.1 inn-2.5.4/doc/man/rnews.1 --- inn-2.5.3/doc/man/rnews.1 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/rnews.1 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RNEWS 1" -.TH RNEWS 1 "2009-08-16" "INN 2.5.3" "InterNetNews Documentation" +.TH RNEWS 1 "2009-08-16" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/scanlogs.8 inn-2.5.4/doc/man/scanlogs.8 --- inn-2.5.3/doc/man/scanlogs.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/scanlogs.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SCANLOGS 8" -.TH SCANLOGS 8 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH SCANLOGS 8 "2009-05-21" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/scanspool.8 inn-2.5.4/doc/man/scanspool.8 --- inn-2.5.3/doc/man/scanspool.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/scanspool.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SCANSPOOL 8" -.TH SCANSPOOL 8 "2011-08-22" "INN 2.5.3" "InterNetNews Documentation" +.TH SCANSPOOL 8 "2011-08-22" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/send-uucp.8 inn-2.5.4/doc/man/send-uucp.8 --- inn-2.5.3/doc/man/send-uucp.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/send-uucp.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SEND-UUCP 8" -.TH SEND-UUCP 8 "2012-06-15" "INN 2.5.3" "InterNetNews Documentation" +.TH SEND-UUCP 8 "2012-06-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/sendinpaths.8 inn-2.5.4/doc/man/sendinpaths.8 --- inn-2.5.3/doc/man/sendinpaths.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/sendinpaths.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SENDINPATHS 8" -.TH SENDINPATHS 8 "2011-12-26" "INN 2.5.3" "InterNetNews Documentation" +.TH SENDINPATHS 8 "2014-05-16" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -185,17 +185,19 @@ value set by the \fB\-k\fR flag). .IP "\fIaddress\fR ..." 4 .IX Item "address ..." E\-mail the report to the mentioned address or addresses, instead of the -default one. Several addresses can be used, separated by whitespace. -For instance, for two adresses: +default one. Several addresses can be used, separated by whitespace +(sending the e\-mail to your own e\-mail address can be useful for +debugging purpose, to check that everything works fine). For instance, +for two addresses: .Sp .Vb 1 -\& sendinpaths pathsurvey@top1000.org top1000@anthologeek.net +\& sendinpaths pathsurvey@example.org top1000@anthologeek.net .Ve .SH "HISTORY" .IX Header "HISTORY" \&\fBsendinpaths\fR was written by Olaf Titz . .PP -\&\f(CW$Id:\fR sendinpaths.pod 9384 2011\-12\-25 20:57:03Z iulius $ +\&\f(CW$Id:\fR sendinpaths.pod 9625 2014\-03\-16 13:24:22Z iulius $ .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIninpaths\fR\|(8). diff -Nurp inn-2.5.3/doc/man/shlock.1 inn-2.5.4/doc/man/shlock.1 --- inn-2.5.3/doc/man/shlock.1 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/shlock.1 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SHLOCK 1" -.TH SHLOCK 1 "2011-08-22" "INN 2.5.3" "InterNetNews Documentation" +.TH SHLOCK 1 "2011-08-22" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/simpleftp.1 inn-2.5.4/doc/man/simpleftp.1 --- inn-2.5.3/doc/man/simpleftp.1 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/simpleftp.1 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SIMPLEFTP 1" -.TH SIMPLEFTP 1 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH SIMPLEFTP 1 "2009-05-21" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/sm.1 inn-2.5.4/doc/man/sm.1 --- inn-2.5.3/doc/man/sm.1 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/sm.1 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SM 1" -.TH SM 1 "2010-02-08" "INN 2.5.3" "InterNetNews Documentation" +.TH SM 1 "2010-02-08" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/storage.conf.5 inn-2.5.4/doc/man/storage.conf.5 --- inn-2.5.3/doc/man/storage.conf.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/storage.conf.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "STORAGE.CONF 5" -.TH STORAGE.CONF 5 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH STORAGE.CONF 5 "2009-05-21" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/subscriptions.5 inn-2.5.4/doc/man/subscriptions.5 --- inn-2.5.3/doc/man/subscriptions.5 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/subscriptions.5 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SUBSCRIPTIONS 5" -.TH SUBSCRIPTIONS 5 "2011-06-10" "INN 2.5.3" "InterNetNews Documentation" +.TH SUBSCRIPTIONS 5 "2011-06-10" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/tally.control.8 inn-2.5.4/doc/man/tally.control.8 --- inn-2.5.3/doc/man/tally.control.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/tally.control.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "TALLY.CONTROL 8" -.TH TALLY.CONTROL 8 "2009-05-21" "INN 2.5.3" "InterNetNews Documentation" +.TH TALLY.CONTROL 8 "2009-05-21" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/tdx-util.8 inn-2.5.4/doc/man/tdx-util.8 --- inn-2.5.3/doc/man/tdx-util.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/tdx-util.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "TDX-UTIL 8" -.TH TDX-UTIL 8 "2010-02-15" "INN 2.5.3" "InterNetNews Documentation" +.TH TDX-UTIL 8 "2010-02-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/tinyleaf.8 inn-2.5.4/doc/man/tinyleaf.8 --- inn-2.5.3/doc/man/tinyleaf.8 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/tinyleaf.8 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "TINYLEAF 8" -.TH TINYLEAF 8 "2009-11-15" "INN 2.5.3" "InterNetNews Documentation" +.TH TINYLEAF 8 "2009-11-15" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/tst.3 inn-2.5.4/doc/man/tst.3 --- inn-2.5.3/doc/man/tst.3 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/tst.3 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "tst 3" -.TH tst 3 "2011-06-10" "INN 2.5.3" "InterNetNews Documentation" +.TH tst 3 "2011-06-10" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/man/uwildmat.3 inn-2.5.4/doc/man/uwildmat.3 --- inn-2.5.3/doc/man/uwildmat.3 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/man/uwildmat.3 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "uwildmat 3" -.TH uwildmat 3 "2011-06-10" "INN 2.5.3" "InterNetNews Documentation" +.TH uwildmat 3 "2011-06-10" "INN 2.5.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nurp inn-2.5.3/doc/pod/Makefile inn-2.5.4/doc/pod/Makefile --- inn-2.5.3/doc/pod/Makefile 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/Makefile 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -## $Id: Makefile 9372 2011-09-04 09:22:23Z iulius $ +## $Id: Makefile 9478 2013-05-24 16:28:27Z iulius $ ## ## This Makefile contains rules to generate the files derived from POD ## source. Normal make commands at the top level of the source tree don't @@ -25,7 +25,7 @@ MAN5 = ../man/active.5 ../man/active.tim ../man/inn.conf.5 ../man/innfeed.conf.5 ../man/moderators.5 \ ../man/motd.news.5 ../man/newsfeeds.5 ../man/newsgroups.5 \ ../man/newslog.5 ../man/nntpsend.ctl.5 ../man/ovdb.5 \ - ../man/passwd.nntp.5 ../man/radius.conf.5 ../man/readers.conf.5 \ + ../man/passwd.nntp.5 ../man/inn-radius.conf.5 ../man/readers.conf.5 \ ../man/storage.conf.5 ../man/subscriptions.5 MAN8 = ../man/actsync.8 ../man/archive.8 ../man/auth_krb5.8 \ @@ -106,7 +106,7 @@ maintclean: distclean ../man/nntpsend.ctl.5: nntpsend.ctl.pod ; $(POD2MAN) -s 5 $? > $@ ../man/ovdb.5: ovdb.pod ; $(POD2MAN) -s 5 $? > $@ ../man/passwd.nntp.5: passwd.nntp.pod ; $(POD2MAN) -s 5 $? > $@ -../man/radius.conf.5: radius.conf.pod ; $(POD2MAN) -s 5 $? > $@ +../man/inn-radius.conf.5: inn-radius.conf.pod ; $(POD2MAN) -s 5 $? > $@ ../man/readers.conf.5: readers.conf.pod ; $(POD2MAN) -s 5 $? > $@ ../man/storage.conf.5: storage.conf.pod ; $(POD2MAN) -s 5 $? > $@ ../man/subscriptions.5: subscriptions.pod ; $(POD2MAN) -s 5 $? > $@ diff -Nurp inn-2.5.3/doc/pod/actsync.pod inn-2.5.4/doc/pod/actsync.pod --- inn-2.5.3/doc/pod/actsync.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/actsync.pod 2014-05-17 01:24:49.000000000 -0700 @@ -525,24 +525,24 @@ level as follows: =over 2 -=item 0 +=item 0Z<> No debug or status reports (default). -=item 1 +=item 1Z<> Print summary, but only if work was needed or done. -=item 2 +=item 2Z<> Print actions, exec output, and summary, but only if work was needed or done. -=item 3 +=item 3Z<> Print actions, exec output, and summary. -=item 4 +=item 4Z<> Full debug output. @@ -775,7 +775,7 @@ Written by Landon Curt Noll . Converted to POD by Russ Allbery . -$Id: actsync.pod 9199 2011-04-16 10:22:18Z iulius $ +$Id: actsync.pod 9475 2013-05-21 20:06:20Z eagle $ By Landon Curt Noll (chongo was here /\../\). diff -Nurp inn-2.5.3/doc/pod/checklist.pod inn-2.5.4/doc/pod/checklist.pod --- inn-2.5.3/doc/pod/checklist.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/checklist.pod 2014-05-17 01:24:49.000000000 -0700 @@ -1,6 +1,6 @@ =head1 Introduction -$Id: checklist.pod 9272 2011-07-17 19:08:12Z iulius $ +$Id: checklist.pod 9599 2014-02-08 13:56:54Z iulius $ This is an installation checklist written by Rebecca Ore, intended to be the beginning of a different presentation of the information in F, @@ -35,9 +35,9 @@ are owned by C, group C. You want to be careful that things in that directory stay owned by C S<-- but> you can't just C after the install, because you may have binaries that are SUID root. You can do the build -as any user, but you need to be root when doing C so as -to set the permissions correctly. After that point, though, you may -want to C to avoid creating any files as root. (For routine +as any user, but you need to be root when doing C so as to +set the permissions correctly. After that point, though, you may want to +C to avoid creating any files as root. (For routine maintenance once INN is working, you can generally be root. However, it is always better to be accustomed to doing that as the news user.) @@ -227,7 +227,7 @@ worrying about feeds or reader access. Start B by running I/rc.news B. It is also what you should launch in your init scripts: - su news -c /rc.news + su news -s /bin/sh -c /rc.news Check I/news.notice to see if everything went well; also use C to see if B is running. @@ -283,12 +283,21 @@ Begin with auth. Your auth for password default: "" } -There is a Perl script in the ckpasswd(8) man page if you want to do -authentications by password and have the appropriate libraries. Copy it -to I, name the file something like F and change the -internal paths to whatever you're using and wherever you're putting the -newsusers database. The standard Apache B tool also works -just fine to create INN password files. +There is a Perl script in the ckpasswd(8) man page if you want to +do authentications by password and have the appropriate libraries. +Copy it to I, name the file something like F and +change the internal paths to whatever you're using and wherever you're +putting the newsusers database. The standard Apache B tool +also works just fine to create INN password files, as well as pure Perl. +For instance, a line for the newsusers database corresponding to the +user C with the password C would be C +as obtained by the following commands:: + + % htpasswd -nbd user pass + user:LIfOpbjNaEQYE + + % perl -e 'print "user:".crypt("pass", "LI")."\n";' + user:LIfOpbjNaEQYE Follow with the access stanzas. Something for people with passwords: @@ -322,7 +331,7 @@ and F). The syntax is You then need to start a second B to listen to these connections to NNTPS port 563 and put something like that in your init scripts: - su news -c '/nnrpd -D -c /readers-ssl.conf -p 563 -S' + su news -s /bin/sh -c '/nnrpd -D -c /readers-ssl.conf -p 563 -S' Note that a news client which supports the STARTTLS command can also use the conventional NNTP port 119 to initiate a TLS connection. However, diff -Nurp inn-2.5.3/doc/pod/ckpasswd.pod inn-2.5.4/doc/pod/ckpasswd.pod --- inn-2.5.3/doc/pod/ckpasswd.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/ckpasswd.pod 2014-05-17 01:24:49.000000000 -0700 @@ -41,10 +41,10 @@ PAM. =item B<-d> I -Read passwords from a database (ndbm or dbm format depending on what your -system has) rather than by using getpwnam(3). B expects -I.dir and I.pag to exist and to be a database keyed by -username with the encrypted passwords as the values. +Read passwords from a database (ndbm, gdbm or dbm format depending on +what your system has) rather than by using getpwnam(3). B +expects I.dir and I.pag to exist and to be a database +keyed by username with the encrypted passwords as the values. While INN doesn't come with a program intended specifically to create such databases, on most systems it's fairly easy to write a Perl script to do @@ -72,7 +72,7 @@ improvements that could be made to this, start. Sometimes a program like this will be available with the name B. -This option will not be available on systems without dbm or ndbm +This option will not be available on systems without ndbm, gdbm or dbm libraries. =item B<-f> I @@ -84,12 +84,22 @@ vaguely. That means each line should lo username:pdIh9NCNslkq6 (and each line may have an additional colon after the encrypted password -and additional data; that data will be ignored by B). Lines -starting with a number sign (C<#>) are ignored. INN does not come with a -utility to create the encrypted passwords, but B (which comes -with Apache) can do so and it's a quick job with Perl (see the example -script under B<-d>). If using Apache's B program, be sure to -give it the B<-d> option so that it will use crypt(3). +and additional data; that data will be ignored by B). +Lines starting with a number sign (C<#>) are ignored. INN does not +come with a utility to create the encrypted passwords, but B +(which comes with Apache) can do so and it's a quick job with Perl +(see the example script under B<-d>, or also below). If using Apache's +B program, be sure to give it the B<-d> option so that it +will use crypt(3). + +A line in I for the user C with the password C +would be C as obtained by the following commands: + + % htpasswd -nbd user pass + user:LIfOpbjNaEQYE + + % perl -e 'print "user:".crypt("pass", "LI")."\n";' + user:LIfOpbjNaEQYE =item B<-g> @@ -174,7 +184,7 @@ it will print some sort of error message Written by Russ Allbery for InterNetNews. -$Id: ckpasswd.pod 9387 2011-12-26 05:42:18Z eagle $ +$Id: ckpasswd.pod 9532 2013-08-25 13:50:55Z iulius $ =head1 SEE ALSO diff -Nurp inn-2.5.3/doc/pod/ctlinnd.pod inn-2.5.4/doc/pod/ctlinnd.pod --- inn-2.5.3/doc/pod/ctlinnd.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/ctlinnd.pod 2014-05-17 01:24:49.000000000 -0700 @@ -150,7 +150,8 @@ new B process while the old pro Close the news and error log files and rename them to add C<.old> to the file name, then open fresh news and error logs. The F file and -history database are also flushed to disk. +history database are also flushed to disk. Exploder and process channels +are reopened so that they properly take into account the new log files. =item go I @@ -495,7 +496,7 @@ server replies are limited to S<4 KB> on Written by Rich $alz for InterNetNews. Rewritten in POD by Russ Allbery . -$Id: ctlinnd.pod 9247 2011-07-17 18:03:49Z iulius $ +$Id: ctlinnd.pod 9466 2013-03-22 15:09:01Z iulius $ =head1 SEE ALSO diff -Nurp inn-2.5.3/doc/pod/hacking.pod inn-2.5.4/doc/pod/hacking.pod --- inn-2.5.3/doc/pod/hacking.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/hacking.pod 2014-05-17 01:24:49.000000000 -0700 @@ -15,7 +15,7 @@ development tree using Subversion from: or view it with Trac source browser at: - + You will need S or later to use the development tree. After checking out the tree, run C<./autogen> to generate the necessary autoconf @@ -640,7 +640,7 @@ has not yet been updated to use the new Make sure that F and F are in sync with the master version at L -and L. +and L. =item 3. @@ -783,6 +783,6 @@ technical details as needed, useful when =back -$Id: hacking.pod 9280 2011-07-17 19:36:24Z iulius $ +$Id: hacking.pod 9574 2013-11-26 19:08:41Z iulius $ =cut diff -Nurp inn-2.5.3/doc/pod/hook-perl.pod inn-2.5.4/doc/pod/hook-perl.pod --- inn-2.5.3/doc/pod/hook-perl.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/hook-perl.pod 2014-05-17 01:24:49.000000000 -0700 @@ -19,7 +19,7 @@ readers.conf mechanism used by nnrpd. For Perl filtering support, you need to have Perl S or newer. Earlier versions of Perl will fail with a link error at compilation time. -L should have the latest Perl version. +L should have the latest Perl version. To enable Perl support, you have to specify B<--with-perl> when you run configure. See F for more information. @@ -309,7 +309,18 @@ normal processing of it continues. Othe the string returned by filter_post() is returned to the client as the error message (with some exceptions; see below). -filter_post() has access to a global hash C<%hdr>, which contains all +filter_post() has access to a global hash %attributes which contains +information about the connection as follows: C<$attributes{'hostname'}> +will contain the hostname (or the IP address if it does not resolve) +of the client machine, C<$attributes{'ipaddress'}> will contain its IP +address (as a string), C<$attributes{'port'}> will contain the client +port (as an integer), C<$attributes{'interface'}> contains the hostname +of the interface the client connected on, C<$attributes{'intipaddr'}> +contains the IP address (as a string) of the interface the client +connected on, and C<$attributes{'intport'}> contains the port (as an +integer) on the interface the client connected on. + +filter_post() also has access to a global hash C<%hdr>, which contains all of the headers of the article. (Unlike the B Perl filter, C<%hdr> for the B Perl filter contains *all* of the headers, not just the standard ones. If any of the headers are duplicated, though, C<%hdr> @@ -665,6 +676,6 @@ Usenet daily. It uses F -This key requires a boolean value. It defines whether B should send -C<431> (response to CHECK, in streaming mode) or C<436> (response to IHAVE -in non-streaming mode) responses instead of C<438> (response to CHECK) -or C<435> (response to IHAVE) if a message is offered that is already -received from another peer. This can be useful for peers that resend -messages right away, as innfeed does. The default is false: the peer -receives C<431> and C<436> codes so that it resends the article later. +This key requires a boolean value. It defines whether B should +send C<438> (response to CHECK, in streaming mode) or C<435> (response +to IHAVE in non-streaming mode) responses instead of C<431> (response +to CHECK) or C<436> (response to IHAVE) if a message is offered that +is already received from another peer. The deferral feature can be +useful for peers that resend messages right away, as B does. +The default is false: the deferral feature is used so that the peer +receives C<431> and C<436> codes, and therefore resends the article +later. =item I @@ -182,7 +184,7 @@ This key requires a boolean value. It d Written by Fabien Tassin for InterNetNews. Converted to POD by Julien Elie. -$Id: incoming.conf.pod 8436 2009-05-01 09:00:21Z iulius $ +$Id: incoming.conf.pod 9591 2013-12-19 17:48:54Z iulius $ =head1 SEE ALSO diff -Nurp inn-2.5.3/doc/pod/inn-radius.conf.pod inn-2.5.4/doc/pod/inn-radius.conf.pod --- inn-2.5.3/doc/pod/inn-radius.conf.pod 1969-12-31 16:00:00.000000000 -0800 +++ inn-2.5.4/doc/pod/inn-radius.conf.pod 2014-05-17 01:24:49.000000000 -0700 @@ -0,0 +1,109 @@ +=head1 NAME + +inn-radius.conf - Configuration for nnrpd RADIUS authenticator + +=head1 DESCRIPTION + +This describes the format and attributes of the configuration file for the +nnrpd RADIUS authenticator. See radius(8) for more information about the +authenticator program. The default location for this file is +F in I. + +Blank lines and lines beginning with C<#> are ignored, as is anything +after a C<#> on a line. All other lines should begin with a parameter +name followed by a colon and the value of that key, except that each +section of configuration for a particular server should be enclosed in: + + server { + # parameters... + } + +where is just some convenient label for that server. + +The available parameters are: + +=over 4 + +=item I + +The hostname of the RADIUS server to use for authentication. This +parameter must be set. + +=item I + +The port to query on the RADIUS server. Defaults to 1645 if not set. + +=item I + +The hostname or IP address making the request. The RADIUS server expects +an IP address; a hostname will be translated into an IP address with +gethostbyname(). If not given, this information isn't included in the +request (not all RADIUS setups require this information). + +=item I + +The port the client being authenticated is connecting to. If not given, +defaults to 119. This doesn't need to be set unless readers are +connecting to a non-standard port. + +=item I + +The shared secret with the RADIUS server. If your secret includes spaces, +tabs, or C<#>, be sure to include it in double quotes. This parameter +must be set. + +=item I + +Prepend the value of this parameter to all usernames before passing them +to the RADIUS server. Can be used to prepend something like C to +all usernames in order to put news users into a different namespace from +other accounts served by the same server. If not set, nothing is +prepended. + +=item I + +Append the value of this parameter to all usernames before passing them to +the RADIUS server. This is often something like C<@example.com>, +depending on how your RADIUS server is set up. If not set, nothing is +appended. + +=item I + +Can be set to C or C. If set to false, the RADIUS +authenticator will check to ensure that the response it receives is from +the same IP address as it sent the request to (for some added security). +If set to true, it will skip this verification check (if your RADIUS +server has multiple IP addresses or if other odd things are going on, it +may be perfectly normal for the response to come from a different IP +address). + +=back + +=head1 EXAMPLE + +Here is a configuration for a news server named news.example.com, +authenticating users against radius.example.com and appending +C<@example.com> to all client-supplied usernames before passing them to +the RADIUS server: + + server example { + radhost: radius.example.com + lochost: news.example.com + secret: IamARADIUSsecRET + suffix: @example.com + } + +The shared secret with the RADIUS server is C. + +=head1 HISTORY + +This documentation was written by Russ Allbery based on +the comments in the sample F file by Yury S. + +$Id: inn-radius.conf.pod 9478 2013-05-24 16:28:27Z iulius $ + +=head1 SEE ALSO + +radius(8) + +=cut diff -Nurp inn-2.5.3/doc/pod/inn.conf.pod inn-2.5.4/doc/pod/inn.conf.pod --- inn-2.5.3/doc/pod/inn.conf.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/inn.conf.pod 2014-05-17 01:24:49.000000000 -0700 @@ -593,6 +593,9 @@ according to what storage class the cont rather than according to the newsgroups the control messages are posted to. This is a boolean value and the default is true. +If the tradspool article storage method is used, I must +be true. + =item I Whether to innd(8) should create overview data internally through @@ -1472,7 +1475,7 @@ values for reference. Written by Rich $alz for InterNetNews and since modified, updated, and reorganized by innumerable other people. -$Id: inn.conf.pod 9406 2012-05-03 14:57:58Z iulius $ +$Id: inn.conf.pod 9608 2014-02-17 19:12:15Z iulius $ =head1 SEE ALSO diff -Nurp inn-2.5.3/doc/pod/innfeed.conf.pod inn-2.5.4/doc/pod/innfeed.conf.pod --- inn-2.5.3/doc/pod/innfeed.conf.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/innfeed.conf.pod 2014-05-17 01:24:49.000000000 -0700 @@ -693,6 +693,8 @@ will only affect new connections). Any new peers are added and any missing peers have their connections closed. +The log file is also reopened. + =head1 EXAMPLE For a comprehensive example, see the sample F distributed @@ -723,7 +725,7 @@ B is now part of INN and shares Please note that the F format has changed dramatically since S. -$Id: innfeed.conf.pod 9276 2011-07-17 19:09:50Z iulius $ +$Id: innfeed.conf.pod 9479 2013-06-03 18:12:39Z iulius $ =head1 SEE ALSO diff -Nurp inn-2.5.3/doc/pod/innfeed.pod inn-2.5.4/doc/pod/innfeed.pod --- inn-2.5.3/doc/pod/innfeed.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/innfeed.pod 2014-05-17 01:24:49.000000000 -0700 @@ -141,8 +141,8 @@ on the command line, and will reopen it B with catch SIGINT and will write a large debugging snapshot of the state of the running system. -B will catch SIGHUP and will reload the config file. -See innfeed.conf(5) for more details. +B will catch SIGHUP and will reload both the config and the +log files. See innfeed.conf(5) for more details. B will catch SIGCHLD and will close and reopen all backlog files. @@ -438,6 +438,18 @@ This needs to be prepared for it by exte Probably too many other bugs to count. +=head1 ALTERNATIVE + +An alternative to B can be +B, maintained by Ian Jackson and available at +L. +It is intended to solve a design issue in the way B works. +As a matter of fact, the program feed protocol spoken between B +and B is lossy: if B dies unexpectedly, articles +which B has written to the pipe to B will be skipped. +B has no way of telling which articles those are, no useful +records, and no attempts to resend these articles. + =head1 FILES =over 4 @@ -464,7 +476,7 @@ POD by Julien Elie. Earlier versions of B (up to 0.10.1) were shipped separately; B is now part of INN and shares the same version number. -$Id: innfeed.pod 9372 2011-09-04 09:22:23Z iulius $ +$Id: innfeed.pod 9590 2013-12-19 17:48:22Z iulius $ =head1 SEE ALSO diff -Nurp inn-2.5.3/doc/pod/innxmit.pod inn-2.5.4/doc/pod/innxmit.pod --- inn-2.5.3/doc/pod/innxmit.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/innxmit.pod 2014-05-17 01:24:49.000000000 -0700 @@ -33,6 +33,9 @@ as a write(2) failure occurs, B the batch file to contain the current article and any other unsent articles. +An alternative to B can be B, mentioned in the +innfeed(8) man page. + =head1 OPTIONS =over 4 @@ -123,7 +126,7 @@ If the B<-v> flag is used, they will als Written by Rich $alz for InterNetNews. Converted to POD by Julien Elie. -$Id: innxmit.pod 9059 2010-05-20 18:53:46Z iulius $ +$Id: innxmit.pod 9590 2013-12-19 17:48:22Z iulius $ =head1 SEE ALSO diff -Nurp inn-2.5.3/doc/pod/install.pod inn-2.5.4/doc/pod/install.pod --- inn-2.5.3/doc/pod/install.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/install.pod 2014-05-17 01:24:49.000000000 -0700 @@ -88,16 +88,15 @@ fine. We hope to remove this requiremen =item * INN requires at least S> to build and to run several -subsystems. In order to process control messages, B needs -the C module available from CPAN (C -in F, for instance on L). This +subsystems. In order to process control messages, B +needs the C module available from CPAN (C in +F, for instance on L). This Perl module has probably already been packaged for your distribution. -INN is tested primarily with newer versions of Perl, so it's -generally recommended that you install the latest stable distribution of -Perl before compiling INN. For instructions on obtaining and installing -Perl, see L. Note -that you may need to use the same compiler and options (particularly -large file support) for Perl and INN. +INN is tested primarily with newer versions of Perl, so it's generally +recommended that you install the latest stable distribution of Perl before +compiling INN. For instructions on obtaining and installing Perl, see +L. Note that you may need to use the same +compiler and options (particularly large file support) for Perl and INN. If you're using a version of Perl prior to 5.6.0, you may need to make sure that the Perl versions of your system header files have been @@ -150,7 +149,7 @@ versions you'll need: --with-berkeleydb Berkeley DB 4.4 or higher, 4.7+ recommended --with-zlib zlib 1.x or higher --with-openssl OpenSSL 0.9.6 or higher - --with-sasl SASL 2.x or higher + --with-sasl Cyrus SASL 2.x or higher --with-kerberos MIT Kerberos v5 1.2.x or higher If any of these libraries (other than Perl or Python) are built shared and @@ -301,9 +300,9 @@ Large file support is not necessary unle large that it exceeds S<2 GB> or you want to use CNFS buffers larger than S<2 GB>. -The history, tradindexed and buffindexed overview, CNFS, and timecaf -databases written by an INN built with this option are incompatible with -those written by an INN without this option. +The history, tradindexed and buffindexed overview, and timecaf databases +written by an INN built with this option are incompatible with those +written by an INN without this option. (CNFS buffers are compatible.) =item B<--enable-tagged-hash> @@ -1455,7 +1454,7 @@ crontab file: or, if your system does not have per-user crontabs, put the following line into your system crontab instead: - 0 3 * * * su -c '/news.daily expireover lowmark' news + 0 3 * * * su news -s /bin/sh -c '/news.daily expireover lowmark' If you're using any non-CNFS storage methods, add C to the above option list for B. @@ -1535,7 +1534,7 @@ INN is started via the shell script B/rc.news + su news -s /bin/sh -c /rc.news in the system boot scripts. If B is stopped or killed, you can restart it by running B by hand as the news user. @@ -1543,7 +1542,7 @@ it by running B by hand as the The B script may also be used to shut down INN, with the C option: - su news -c '/rc.news stop' + su news -s /bin/sh -c '/rc.news stop' In the F directory of this source tree, two sample init scripts are provided: one for people using System V-style init.d directories, and another for people @@ -1553,7 +1552,7 @@ If you wish to use TLS/SSL for your read B to listen to these connections to NNTPS port 563 and put something like that in your init scripts: - su news -c '/nnrpd -D -c /readers-ssl.conf -p 563 -S' + su news -s /bin/sh -c '/nnrpd -D -c /readers-ssl.conf -p 563 -S' where F is the file which indicates whether a given connection is allowed to read and post news (you can also use the @@ -1568,7 +1567,7 @@ In the shutdown section of the init scri or if you do not have a B utility: - su news -c 'killall nnrpd' + su news -s /bin/sh -c 'killall nnrpd' =head1 Processing Newsgroup Control Messages @@ -1635,6 +1634,6 @@ listed in F. If a hierarch may have to remove all the user IDs except the one that matches the F entry using C and the C command. -$Id: install.pod 9411 2012-05-29 17:59:04Z iulius $ +$Id: install.pod 9599 2014-02-08 13:56:54Z iulius $ =cut diff -Nurp inn-2.5.3/doc/pod/motd.news.pod inn-2.5.4/doc/pod/motd.news.pod --- inn-2.5.3/doc/pod/motd.news.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/motd.news.pod 2014-05-17 01:24:49.000000000 -0700 @@ -24,11 +24,16 @@ If one or both of these files are missin will just send the client the appropriate response for an unmaintained F or F file. +On a fresh INN install, samples for these files are installed +in I; you will therefore find in F and +F a few examples of messages that can be communicated +to news clients. + =head1 HISTORY Rewritten in POD by Russ Allbery for InterNetNews. -$Id: motd.news.pod 9146 2010-10-30 09:55:04Z iulius $ +$Id: motd.news.pod 9605 2014-02-17 18:04:21Z iulius $ =head1 SEE ALSO diff -Nurp inn-2.5.3/doc/pod/news.daily.pod inn-2.5.4/doc/pod/news.daily.pod --- inn-2.5.3/doc/pod/news.daily.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/news.daily.pod 2014-05-17 01:24:49.000000000 -0700 @@ -140,6 +140,10 @@ time. With the B keyword, this keyword is used, the B keyword is not needed since B specifies it implicitly. +If the B keyword is given to B, then the +B keyword must also be given; otherwise, that kind of +renumbering will not be taken into account. + =item B=I
By default, B mails the report to the newsmaster address specified @@ -243,7 +247,7 @@ B and this manual page were and Rich $alz for InterNetNews. It was converted to POD by Julien Elie. -$Id: news.daily.pod 9372 2011-09-04 09:22:23Z iulius $ +$Id: news.daily.pod 9634 2014-05-14 18:05:41Z iulius $ =head1 SEE ALSO diff -Nurp inn-2.5.3/doc/pod/news.pod inn-2.5.4/doc/pod/news.pod --- inn-2.5.3/doc/pod/news.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/news.pod 2014-05-17 01:24:49.000000000 -0700 @@ -1,3 +1,137 @@ +=head1 Changes in 2.5.4 + +=over 2 + +=item * + +An up-to-date F file is provided with this release. You should +manually update your F file with the new information recorded +about Usenet hierarchies. + +=item * + +A test has been improved in F so that B no +longer throttles B when no overview directory exists. You should +manually update your F file to get this improvement. + +=item * + +Fixed a long-standing limitation on how B and B +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). + +=item * + +As the name of the F configuration file shipped with INN +for the B authenticator against a RADIUS server conflicts with +the libradius package, this file is renamed to F +(B takes care of the rename during the update). + +=item * + +The attributes hash is now accessible to B Perl posting filter. +As a result, F can make use of it. Only authentication +and access Perl hooks could previously use the attributes hash. +Thanks to Steve Crook for this addition. + +=item * + +INN now properly builds fine with S<< B 2.5.36 >> (this version +introduced a change of type for a variable used by INN). + +=item * + +When using funnel feeds, B log files were open forever, which +resulted in empty log files, once rotated by B. B +now reopens its log files upon receiving a HUP signal; this signal +is in particular sent by B during log rotation. Thanks to +Florian Schlichting for the patch. + +=item * + +Exploder and process channels are now reopened when C +is used. Otherwise, they could hold open an already deleted F +file. The issue affected in particular B or B, +running as such channels. + +=item * + +Fixed a buffer overflow when using B with more than a million +commands during the same IMAP session. Thanks to David Binderman for +the bug report. + +=item * + +Fixed a segfault occurring in B on systems where time_t is a +64-bit integer. Thanks to S for the patch. + +=item * + +Fixed a segfault occurring in B when a res block was used in +F without the program: key. + +=item * + +Fixed an issue where users were denied posting because of an overlapping +buffer copy in a check B was doing. Thanks to Florian Schlichting +for the patch. + +=item * + +Fixed a regression that occurred in S regarding the path used +by default by B for its configuration file. Instead of looking +in the running user's home directory, it was looking in the I +directory set in F. Thanks to Tony Evans for the bug report. + +=item * + +When neither B nor B nor B was found at configure +time, the path to the B substitution program shipped with +INN was not properly set in B, B, and +the C Perl module. Thanks to Christian Garbs for the +bug report. + +=item * + +B no longer tries to use the ndbm compatibility layer provided +by S if S has been built without ndbm support. +Also add support for gdbm libraries in B. + +=item * + +Fixed a Perl warning in B; using C has been +deprecated since S. + +=item * + +Fixed the occurrence of an unexpected C error generated by +B. Thanks to Paul Tomblin for having caught that long-standing +issue. + +=item * + +When building INN with S support, no longer add +F<-L/usr/lib> to the linker include flags; unconditionally adding it +may break the build on systems using lib32 and lib64 directories. + +=item * + +On a fresh INN install, F and F are no longer +installed by default. Instead, samples for these files are provided +in I, named differently so that their default contents are +not displayed to news clients before they get customised. + +=item * + +Other minor bug fixes and documentation improvements (like the addition +in the F man page of the log: and program: parameters in +res blocks, and the include directive). + +=back + =head1 Changes in 2.5.3 Please note that the HTML_STATUS compile-time option has been replaced @@ -44,11 +178,13 @@ still the last occurrence for the Perl f =item * -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. B 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 possible plaintext command injection during the negotiation +of a TLS layer. The vulnerability detailed in CVE-2011-0411 (and +CVE-2012-3523, specifically for INN) affects the STARTTLS and AUTHINFO +SASL commands. B 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. =item * @@ -2472,6 +2608,6 @@ directory, for now). =back -$Id: news.pod 9429 2012-06-15 18:21:26Z iulius $ +$Id: news.pod 9644 2014-05-17 08:17:16Z iulius $ =cut diff -Nurp inn-2.5.3/doc/pod/newsfeeds.pod inn-2.5.4/doc/pod/newsfeeds.pod --- inn-2.5.3/doc/pod/newsfeeds.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/newsfeeds.pod 2014-05-17 01:24:49.000000000 -0700 @@ -189,10 +189,13 @@ C explicitly appears in the site' tends to be somewhat confusing since the default subscription is prepended and can be overridden by other patterns. -If the C entry has a distribution sub-field, only articles that match -that distribution list are accepted and all other articles are rejected. -A common use for this is to put something like C in the C -entry to reject local postings from other misconfigured sites. +If the C entry has a distribution sub-field, only articles that +match that distribution list are accepted and all other articles with a +distribution are rejected. A common use for this is to put something +like C in the C entry to reject local postings from other +misconfigured sites. The distribution sub-field of C has no effect on +the acceptance or rejection of articles that do not have a Distribution +header field. An empty C entry is possible, in which case no exclusion patterns will be defined. @@ -638,7 +641,7 @@ at its leisure. File feeds are most fre nntpsend(8). A program feed (B) spawns a given program for every article that the -site receives. The I field must be the command line to execute, +site receives. The I field must be the command line to execute, and should contain one instance of C<%s>, which will be replaced by the storage API token of the article (the actual article can be retrieved by the program using sm(8)). The program will not receive anything on @@ -809,7 +812,7 @@ the standard newsfeeds entries used by m Written by Rich $alz for InterNetNews. Reformatted and rewritten in POD by Russ Allbery . -$Id: newsfeeds.pod 9321 2011-08-06 20:43:45Z iulius $ +$Id: newsfeeds.pod 9500 2013-07-01 08:21:58Z eagle $ =head1 SEE ALSO diff -Nurp inn-2.5.3/doc/pod/nnrpd.pod inn-2.5.4/doc/pod/nnrpd.pod --- inn-2.5.3/doc/pod/nnrpd.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/nnrpd.pod 2014-05-17 01:24:49.000000000 -0700 @@ -213,7 +213,7 @@ for regular reader connections. You wil B to listen on that port through some other means. This can be done with the B<-D> flag along with C<-p 563> and put into your init scripts: - su news -c '/nnrpd -D -p 563 -S' + su news -s /bin/sh -c '/nnrpd -D -p 563 -S' but the easiest way is probably to add a line like: @@ -294,7 +294,7 @@ support added by Rob Robertston can be B, mentioned in the +innfeed(8) man page. + =head1 OPTIONS =over 2 @@ -113,7 +116,7 @@ defaults to C<180>. Written by Landon Curt Noll and Rich $alz for InterNetNews. Converted to POD by Julien Elie. -$Id: nntpsend.pod 9064 2010-05-20 19:25:13Z iulius $ +$Id: nntpsend.pod 9590 2013-12-19 17:48:22Z iulius $ =head1 SEE ALSO diff -Nurp inn-2.5.3/doc/pod/ovdb.pod inn-2.5.4/doc/pod/ovdb.pod --- inn-2.5.3/doc/pod/ovdb.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/ovdb.pod 2014-05-17 01:24:49.000000000 -0700 @@ -11,7 +11,7 @@ issues). Ovdb makes use of the full transaction/logging/locking functionality of the S environment. S may be downloaded from -L +L and is needed to build the ovdb backend. =head1 UPGRADING @@ -24,11 +24,9 @@ ovdb_init(8) for upgrade instructions. =head1 INSTALLATION To build ovdb support into INN, specify the option B<--with-berkeleydb> -when running the configure script. By default, configure will search for -a S tree in several likely locations, and choose the highest -version (based on the name of the directory, e.g., F) that -it finds. There will be a message in the configure output indicating the -chosen pathname. +when running the configure script. By default, configure will search +for S in standard paths; there will be a message in the +configure output indicating the pathname that will be used. You can override this pathname by adding a path to the option, e.g., B<--with-berkeleydb=/usr/BerkeleyDB.4.4>. This directory is expected to @@ -50,7 +48,7 @@ the L section. To enable ovdb, set the I parameter in F to C. The ovdb database is stored in the directory specified by the -I paramter in F. This is the "DB_HOME" directory. +I parameter in F. This is the "DB_HOME" directory. To start out, this directory should be empty (other than an optional F file; see L for details) and B (or B) will create the files as necessary in that directory. @@ -348,7 +346,7 @@ ov3.c Written by Heath Kehoe for InterNetNews -$Id: ovdb.pod 9107 2010-09-14 20:23:07Z eagle $ +$Id: ovdb.pod 9577 2013-12-06 03:54:44Z eagle $ =head1 SEE ALSO @@ -357,6 +355,6 @@ ovdb_stat(8) S documentation: in the F directory of the S source distribution, or on the Oracle S web page: -L. +L. =cut diff -Nurp inn-2.5.3/doc/pod/prunehistory.pod inn-2.5.4/doc/pod/prunehistory.pod --- inn-2.5.3/doc/pod/prunehistory.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/prunehistory.pod 2014-05-17 01:24:49.000000000 -0700 @@ -32,11 +32,6 @@ the correct format. If the B<-p> flag i silently print any invalid lines on its standard output. (Blank lines and comment lines are also passed through.) -This can be useful when B is used as a filter for other -programs such as B (a legacy program, probably no longer useful -with current versions of INN, but still available at -L). - =item B<-f> I The default name of the F file is I/history; to specify @@ -49,7 +44,7 @@ a different name, use the B<-f> flag. Written by Rich $alz for InterNetNews. Converted to POD by Julien Elie. -$Id: prunehistory.pod 8592 2009-08-20 23:46:25Z eagle $ +$Id: prunehistory.pod 9448 2012-12-07 19:01:58Z eagle $ =head1 SEE ALSO diff -Nurp inn-2.5.3/doc/pod/pullnews.pod inn-2.5.4/doc/pod/pullnews.pod --- inn-2.5.3/doc/pod/pullnews.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/pullnews.pod 2014-05-17 01:24:49.000000000 -0700 @@ -267,10 +267,9 @@ the username C and the password C< The Perl script itself used to pull news from upstream servers and feed it to another news server. -=item I<$HOME>/.pullnews +=item ~/.pullnews -The default config file. It is in the running user's home directory -(normally called F<~/.pullnews>). +The default config file. It is in the running user's home directory. =back @@ -283,7 +282,7 @@ Geraint S greatly improved B recognized flags, fixing some bugs and integrating the B contrib script by Kai Henningsen, adding again S<6 other> flags. -$Id: pullnews.pod 9161 2011-01-23 10:22:50Z iulius $ +$Id: pullnews.pod 9504 2013-07-08 19:28:15Z iulius $ =head1 SEE ALSO diff -Nurp inn-2.5.3/doc/pod/radius.conf.pod inn-2.5.4/doc/pod/radius.conf.pod --- inn-2.5.3/doc/pod/radius.conf.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/radius.conf.pod 1969-12-31 16:00:00.000000000 -0800 @@ -1,109 +0,0 @@ -=head1 NAME - -radius.conf - Configuration for nnrpd RADIUS authenticator - -=head1 DESCRIPTION - -This describes the format and attributes of the configuration file for the -nnrpd RADIUS authenticator. See radius(1) for more information about the -authenticator program. The default location for this file is -F in I. - -Blank lines and lines beginning with C<#> are ignored, as is anything -after a C<#> on a line. All other lines should begin with a parameter -name followed by a colon and the value of that key, except that each -section of configuration for a particular server should be enclosed in: - - server { - # parameters... - } - -where is just some convenient label for that server. - -The available parameters are: - -=over 4 - -=item I - -The hostname of the RADIUS server to use for authentication. This -parameter must be set. - -=item I - -The port to query on the RADIUS server. Defaults to 1645 if not set. - -=item I - -The hostname or IP address making the request. The RADIUS server expects -an IP address; a hostname will be translated into an IP address with -gethostbyname(). If not given, this information isn't included in the -request (not all RADIUS setups require this information). - -=item I - -The port the client being authenticated is connecting to. If not given, -defaults to 119. This doesn't need to be set unless readers are -connecting to a non-standard port. - -=item I - -The shared secret with the RADIUS server. If your secret includes spaces, -tabs, or C<#>, be sure to include it in double quotes. This parameter -must be set. - -=item I - -Prepend the value of this parameter to all usernames before passing them -to the RADIUS server. Can be used to prepend something like C to -all usernames in order to put news users into a different namespace from -other accounts served by the same server. If not set, nothing is -prepended. - -=item I - -Append the value of this parameter to all usernames before passing them to -the RADIUS server. This is often something like C<@example.com>, -depending on how your RADIUS server is set up. If not set, nothing is -appended. - -=item I - -Can be set to C or C. If set to false, the RADIUS -authenticator will check to ensure that the response it receives is from -the same IP address as it sent the request to (for some added security). -If set to true, it will skip this verification check (if your RADIUS -server has multiple IP addresses or if other odd things are going on, it -may be perfectly normal for the response to come from a different IP -address). - -=back - -=head1 EXAMPLE - -Here is a configuration for a news server named news.example.com, -authenticating users against radius.example.com and appending -C<@example.com> to all client-supplied usernames before passing them to -the RADIUS server: - - server example { - radhost: radius.example.com - lochost: news.example.com - secret: IamARADIUSsecRET - suffix: @example.com - } - -The shared secret with the RADIUS server is C. - -=head1 HISTORY - -This documentation was written by Russ Allbery based on -the comments in the sample F file by Yury S. - -$Id: radius.conf.pod 8200 2008-11-30 13:31:30Z iulius $ - -=head1 SEE ALSO - -radius(1) - -=cut diff -Nurp inn-2.5.3/doc/pod/radius.pod inn-2.5.4/doc/pod/radius.pod --- inn-2.5.3/doc/pod/radius.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/radius.pod 2014-05-17 01:24:49.000000000 -0700 @@ -16,9 +16,9 @@ authenticator. It is useful for a site authentication via RADIUS and wants to authenticate news reading connections as well. -By default, B reads I/radius.conf for configuration +By default, B reads I/inn-radius.conf for configuration information, but a different configuration file can be specified with -B<-f>. See radius.conf(5) for a description of the configuration file. +B<-f>. See inn-radius.conf(5) for a description of the configuration file. =head1 OPTIONS @@ -26,7 +26,7 @@ B<-f>. See radius.conf(5) for a descrip =item B<-f> I -Read I instead of I/radius.conf for configuration +Read I instead of I/inn-radius.conf for configuration information. =item B<-h> @@ -66,11 +66,11 @@ implement it correctly. The RADIUS authenticator was originally written by Aidan Cully. This documentation was written by Russ Allbery . -$Id: radius.pod 7664 2007-09-02 12:58:07Z iulius $ +$Id: radius.pod 9478 2013-05-24 16:28:27Z iulius $ =head1 SEE ALSO -nnrpd(8), radius.conf(5), readers.conf(5) +inn-radius.conf(5), nnrpd(8), readers.conf(5) S, Remote Authentication Dial In User Service. diff -Nurp inn-2.5.3/doc/pod/rc.news.pod inn-2.5.4/doc/pod/rc.news.pod --- inn-2.5.3/doc/pod/rc.news.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/rc.news.pod 2014-05-17 01:24:49.000000000 -0700 @@ -67,16 +67,16 @@ is recommended to throttle the server fi To start INN and leave certain error messages going to the terminal: - su - news -c /rc.news + su - news -s /bin/sh -c /rc.news To run INN at startup time from appropriate system boot scripts: - su - news -c /rc.news >/dev/console + su - news -s /bin/sh -c /rc.news >/dev/console To stop INN (throttling first): /ctlinnd throttle reason - su - news -c '/rc.news stop' + su - news -s /bin/sh -c '/rc.news stop' =head1 BUGS @@ -91,7 +91,7 @@ user ID. This manual page written by Jeffrey S for InterNetNews. -$Id: rc.news.pod 9340 2011-08-16 13:50:19Z iulius $ +$Id: rc.news.pod 9599 2014-02-08 13:56:54Z iulius $ =head1 SEE ALSO diff -Nurp inn-2.5.3/doc/pod/readers.conf.pod inn-2.5.4/doc/pod/readers.conf.pod --- inn-2.5.3/doc/pod/readers.conf.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/readers.conf.pod 2014-05-17 01:24:49.000000000 -0700 @@ -185,13 +185,21 @@ add-ons to INN may prefer that authentic full e-mail address (including a domain), so you may want to set up your system that way. +Configuration files can be included in other configuration files via +the syntax: + + include + +The file named is then included. This syntax is allowed +only at top-level. + Below is the full list of allowable parameters for auth groups and access groups, and after that are some examples that may make this somewhat clearer. =head1 AUTH GROUP PARAMETERS -An access group without at least one of the res:, auth:, perl_auth:, +An auth group without at least one of the res:, auth:, perl_auth:, python_auth:, or default: parameters makes no sense (and in practice will just be ignored). @@ -239,6 +247,36 @@ One auth group can have multiple res: pa in the order they're listed. The results of the first successful one will be used. +Alternatively, a res block can be used instead of a res: paramater. +The recognized parameters in such res blocks are: + +=over 3 + +=item B + +A string to log in I/news.notice (with C +prepended) before the resolver is tried. One res group can have multiple +log: parameters, and they will be logged in the order they're listed. + +=item B + +This parameter is mandatory in a res block. Its meaning is the same +as the res: parameter used directly in an auth block. + + auth { + res: + } + +is therefore equivalent to: + + auth { + res { + program: + } + } + +=back + =item B A simple command line for a user authenticator (shell metacharacters are @@ -850,7 +888,7 @@ tunnel), use the localaddress: parameter Written by Aidan Cully for InterNetNews. Substantially expanded by Russ Allbery . -$Id: readers.conf.pod 9031 2010-03-23 18:31:55Z iulius $ +$Id: readers.conf.pod 9636 2014-05-14 18:06:52Z iulius $ =head1 SEE ALSO diff -Nurp inn-2.5.3/doc/pod/readme.pod inn-2.5.4/doc/pod/readme.pod --- inn-2.5.3/doc/pod/readme.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/readme.pod 2014-05-17 01:24:49.000000000 -0700 @@ -240,9 +240,19 @@ they want without having to ask you to e time. It's useful when feeding peers take limited and very specific feeds that change periodically. +=item innduct + +URL: L (maintained by Ian Jackson) + +A possible replacement for B, B and B +that quickly and reliably streams Usenet article to a remote site. +B is designed to be robust and not to lose any articles (when +offered to peers) in case it unexpectedly dies, contrary to B. +It also permits a realtime feed, contrary to B or B. + =item NewsPortal -URL: L +URL: L A PHP-based web news reader that works as a front-end to a regular news server such as INN and lets people read and post without learning a news @@ -296,6 +306,6 @@ L. Katsuhiro Kondou -$Id: readme.pod 9138 2010-10-29 18:09:50Z iulius $ +$Id: readme.pod 9590 2013-12-19 17:48:22Z iulius $ =cut diff -Nurp inn-2.5.3/doc/pod/sendinpaths.pod inn-2.5.4/doc/pod/sendinpaths.pod --- inn-2.5.3/doc/pod/sendinpaths.pod 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/doc/pod/sendinpaths.pod 2014-05-17 01:24:49.000000000 -0700 @@ -66,10 +66,12 @@ value set by the B<-k> flag). =item I
... E-mail the report to the mentioned address or addresses, instead of the -default one. Several addresses can be used, separated by whitespace. -For instance, for two adresses: +default one. Several addresses can be used, separated by whitespace +(sending the e-mail to your own e-mail address can be useful for +debugging purpose, to check that everything works fine). For instance, +for two addresses: - sendinpaths pathsurvey@top1000.org top1000@anthologeek.net + sendinpaths pathsurvey@example.org top1000@anthologeek.net =back @@ -77,7 +79,7 @@ For instance, for two adresses: B was written by Olaf Titz . -$Id: sendinpaths.pod 9384 2011-12-25 20:57:03Z iulius $ +$Id: sendinpaths.pod 9625 2014-03-16 13:24:22Z iulius $ =head1 SEE ALSO diff -Nurp inn-2.5.3/frontends/inews.c inn-2.5.4/frontends/inews.c --- inn-2.5.3/frontends/inews.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/frontends/inews.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: inews.c 9366 2011-08-22 08:51:14Z iulius $ +/* $Id: inews.c 9521 2013-07-31 17:27:33Z iulius $ ** ** Send an article (prepared by someone on the local site) to the ** master news server. @@ -462,7 +462,7 @@ FormatUserName(struct passwd *pwp, char strncpy(out, pwp->pw_name, left); if (islower((unsigned char) *out) && (out == outbuff || !isalpha((unsigned char) out[-1]))) - *out = toupper(*out); + *out = toupper((unsigned char) *out); while (*out) { out++; left--; diff -Nurp inn-2.5.3/frontends/pullnews.in inn-2.5.4/frontends/pullnews.in --- inn-2.5.3/frontends/pullnews.in 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/frontends/pullnews.in 2014-05-17 01:24:49.000000000 -0700 @@ -1,11 +1,12 @@ #! /usr/bin/perl -w -# fixscript will replace this line with code to load INN::Config -# +# use lib '@LIBPERLDIR@'; use INN::Config; +# If running inside INN, uncomment the above and point to INN::Config. +# # Author: James Brister -- berkeley-unix -- # Start Date: Sat, 10 Oct 1998 21:40:11 +0200 # Project: INN # File: pullnews.pl -# RCSId: $Id: pullnews.in 9409 2012-05-28 18:43:20Z iulius $ +# RCSId: $Id: pullnews.in 9505 2013-07-08 19:30:33Z iulius $ # # History: # December 2008: Matija Nalis added -O (optimized mode, checking @@ -22,7 +23,7 @@ # machines (in the guise of a reader), and pulls over articles # and feeds them to a downstream server (in the guise of a feeder). # -# Uses a simple configuration file: $HOME/.pullnews to define +# Uses a simple configuration file: ~/.pullnews to define # which machines to pull articles from and which groups at each # machine to pull over. There is also support for more specific # configurations like cross-posted newsgroups to kill, thanks to @@ -52,7 +53,7 @@ require 5.004; $0 =~ s!.*/!!; my $rcsID =<<'EOM'; -$Id: pullnews.in 9409 2012-05-28 18:43:20Z iulius $ +$Id: pullnews.in 9505 2013-07-08 19:30:33Z iulius $ EOM $SIG{INT} = \&outtaHere; @@ -63,11 +64,10 @@ use Net::NNTP 2.18; # With libnet 1.0606 use Getopt::Std; use IO::Handle; use POSIX qw(ceil floor); -use INN::Utils::Shlock; use strict; my $usage = $0; -my $defaultConfig = "$ENV{HOME}/.pullnews"; +my $defaultConfig = (getpwuid($<))[7] . "/.pullnews"; my $defaultPort = 119; my $defaultHost = "localhost"; my $defaultCheckPoint = 0; @@ -76,10 +76,34 @@ my $defaultDebug = 0; my $defaultRetryTime = 1; my $defaultProgressWidth = 50; my $defaultMaxArts; +my $lockfile; + +# Check whether pullnews is run inside INN. +my $use_inn_shlock = 0; +eval { + require INN::Utils::Shlock; + import INN::Utils::Shlock; + $use_inn_shlock = 1; +}; + +# In case pullnews is run outside INN, fall back to call flock(2) +# and its corresponding Perl function instead of shlock (a program +# shipped with INN). +# Note that this Perl function does not work as expected on all +# existing systems (for instance on Solaris). +if (not $use_inn_shlock) { + use Fcntl; + use Fcntl qw(:flock); +} END { # In case we bail out, while holding a lock. - INN::Utils::Shlock::releaselocks(); + if ($use_inn_shlock) { + INN::Utils::Shlock::releaselocks(); + } elsif (defined $lockfile) { + flock (LOCK, LOCK_UN); + unlink $lockfile; + } } $usage =~ s!.*/!!; @@ -97,7 +121,7 @@ $usage .= " [ -hnqRx -b fraction -c conf the server. The default is to do nothing. -c config specify the configuration file instead of the - default of $ENV{HOME}/.pullnews (also called ~/.pullnews). + default of ~/.pullnews (in the running user's home directory). -C width use width characters for progress (default is $defaultProgressWidth). @@ -209,7 +233,7 @@ my $maxArts = $opt_M || $def my $no_op = $opt_n || 0; my $reader = $opt_R || 0; my $quietness = $opt_Q || 0; -my $skip_headers = lc($opt_H) || ''; +my $skip_headers = defined $opt_H ? lc($opt_H) : ''; my $logFile = '>&STDOUT'; $logFile = ">>$opt_l" if $opt_l; my @hdr_to_match = split(/\s+/, $opt_m) if defined $opt_m; @@ -277,10 +301,25 @@ open(LOG, $logFile) || die "can't open l my $oldfh = select; $| = 1; select LOG; $| = 1; select $oldfh; -my $lockfile = $groupFile . '.pid'; +$lockfile = $groupFile . '.pid'; # Acquire a lock. -INN::Utils::Shlock::lock($lockfile) or die "cannot create lockfile $lockfile\n"; +if ($use_inn_shlock) { + INN::Utils::Shlock::lock($lockfile) or die "cannot create lockfile $lockfile\n"; +} else { + sysopen (LOCK, "$lockfile", O_RDWR | O_CREAT, 0700) + or die "cannot create lockfile $lockfile: $!\n"; + $oldfh = select; select LOCK; $| = 1; select $oldfh; + + if (!flock (LOCK, LOCK_EX | LOCK_NB)) { + seek LOCK, 0, 0; + my $otherpid = ; + chomp $otherpid; + die "Another pullnews (pid: $otherpid) seems to be running.\n"; + } + + print LOCK "$$\n"; +} print LOG scalar(localtime(time)), " start\n\n" unless $quiet; @@ -541,7 +580,12 @@ sub outtaHere { sub cleanLock { # Unlock. - INN::Utils::Shlock::unlock($lockfile) if defined $lockfile; + if ($use_inn_shlock) { + INN::Utils::Shlock::unlock($lockfile) if defined $lockfile; + } else { + flock (LOCK, LOCK_UN); + unlink $lockfile if defined $lockfile; + } } sub bail { diff -Nurp inn-2.5.3/include/config.h.in inn-2.5.4/include/config.h.in --- inn-2.5.3/include/config.h.in 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/include/config.h.in 2014-05-17 01:24:49.000000000 -0700 @@ -55,8 +55,8 @@ /* Define to 1 if you have the `atexit' function. */ #undef HAVE_ATEXIT -/* Define if the Berkeley DB dbm compatibility layer is available. */ -#undef HAVE_BDB_DBM +/* Define if the Berkeley DB ndbm compatibility layer is available. */ +#undef HAVE_BDB_NDBM /* Define if your IN6_ARE_ADDR_EQUAL macro is broken. */ #undef HAVE_BROKEN_IN6_ARE_ADDR_EQUAL @@ -138,8 +138,11 @@ /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #undef HAVE_FSEEKO -/* Define to 1 if you have the header file. */ -#undef HAVE_GDBM_NDBM_H +/* Define if you have the header file. */ +#undef HAVE_GDBM_HYPHEN_NDBM_H + +/* Define if you have the header file. */ +#undef HAVE_GDBM_SLASH_NDBM_H /* Define to 1 if you have the `getaddrinfo' function. */ #undef HAVE_GETADDRINFO @@ -407,6 +410,9 @@ /* Define if you have Unix domain sockets. */ #undef HAVE_UNIX_DOMAIN_SOCKETS +/* Define to 1 if the system has the type `unsigned long long int'. */ +#undef HAVE_UNSIGNED_LONG_LONG_INT + /* Define if zlib is available. */ #undef HAVE_ZLIB @@ -523,6 +529,11 @@ `char[]'. */ #undef YYTEXT_POINTER +/* Enable large inode numbers on Mac OS X 10.5. */ +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif + /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS diff -Nurp inn-2.5.3/include/inn/paths.h.in inn-2.5.4/include/inn/paths.h.in --- inn-2.5.3/include/inn/paths.h.in 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/include/inn/paths.h.in 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: paths.h.in 9146 2010-10-30 09:55:04Z iulius $ -*- c -*- +/* $Id: paths.h.in 9478 2013-05-24 16:28:27Z iulius $ -*- c -*- ** @configure_input@ ** ** Here be #define's for filenames, socket names, environment variables, @@ -68,7 +68,7 @@ #define INN_PATH_MOTD_INND "motd.innd" #define INN_PATH_MOTD_NNRPD "motd.nnrpd" #define INN_PATH_STORAGECTL "storage.conf" -#define INN_PATH_RADIUS_CONFIG "radius.conf" +#define INN_PATH_RADIUS_CONFIG "inn-radius.conf" #define INN_PATH_FILESYSTEMS "filesystems" /* Default prefix path is pathspool. */ diff -Nurp inn-2.5.3/include/portable/socket.h inn-2.5.4/include/portable/socket.h --- inn-2.5.3/include/portable/socket.h 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/include/portable/socket.h 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: socket.h 9380 2011-09-19 21:05:01Z eagle $ +/* $Id: socket.h 9562 2013-11-06 23:08:44Z iulius $ ** ** Portability wrapper around and friends. ** @@ -47,6 +47,54 @@ extern const char * inet_ntoa(const extern const char * inet_ntop(int, const void *, char *, socklen_t); #endif +/* + * Used for portability to Windows, which requires different functions be + * called to close sockets, send data to or read from sockets, and get socket + * errors than the regular functions and variables. Windows also uses SOCKET + * to store socket descriptors instead of an int. + * + * socket_init must be called before socket functions are used and + * socket_shutdown at the end of the program. socket_init may return failure, + * but this interface doesn't have a way to retrieve the exact error. + * + * socket_close, socket_read, and socket_write must be used instead of the + * standard functions. On Windows, closesocket must be called instead of + * close for sockets and recv and send must always be used instead of read and + * write. + * + * When reporting errors from socket functions, use socket_errno and + * socket_strerror instead of errno and strerror. When setting errno to + * something for socket errors (to preserve errors through close, for + * example), use socket_set_errno instead of just assigning to errno. + * + * Socket file descriptors must be passed and stored in variables of type + * socket_type rather than an int. Use INVALID_SOCKET for invalid socket file + * descriptors rather than -1, and compare to INVALID_SOCKET when testing + * whether operations succeed. + */ +#ifdef _WIN32 +int socket_init(void); +# define socket_shutdown() WSACleanup() +# define socket_close(fd) closesocket(fd) +# define socket_read(fd, b, s) recv((fd), (b), (s), 0) +# define socket_write(fd, b, s) send((fd), (b), (s), 0) +# define socket_errno WSAGetLastError() +# define socket_set_errno(e) WSASetLastError(e) +const char *socket_strerror(int); +typedef SOCKET socket_type; +#else +# define socket_init() 1 +# define socket_shutdown() /* empty */ +# define socket_close(fd) close(fd) +# define socket_read(fd, b, s) read((fd), (b), (s)) +# define socket_write(fd, b, s) write((fd), (b), (s)) +# define socket_errno errno +# define socket_set_errno(e) errno = (e) +# define socket_strerror(e) strerror(e) +# define INVALID_SOCKET -1 +typedef int socket_type; +#endif + /* Defined by RFC 3493, used to store a generic address. Note that this doesn't do the alignment mangling that RFC 3493 does; it's not clear if that should be added.... */ diff -Nurp inn-2.5.3/innd/art.c inn-2.5.4/innd/art.c --- inn-2.5.3/innd/art.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/innd/art.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: art.c 9378 2011-09-13 18:47:23Z iulius $ +/* $Id: art.c 9521 2013-07-31 17:27:33Z iulius $ ** ** Article-processing. */ @@ -649,7 +649,7 @@ ARTcheckheader(CHANNEL *cp, int size) } /* See if this is a system header. A fairly tightly-coded binary search. */ - c = islower((unsigned char) *header) ? toupper(*header) : *header; + c = islower((unsigned char) *header) ? toupper((unsigned char) *header) : *header; for (*colon = '\0', tp = ARTheadertree; tp; ) { if ((i = c - tp->Name[0]) == 0 && (i = strcasecmp(header, tp->Name)) == 0) break; diff -Nurp inn-2.5.3/innd/cc.c inn-2.5.4/innd/cc.c --- inn-2.5.3/innd/cc.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/innd/cc.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: cc.c 9417 2012-06-12 18:31:59Z iulius $ +/* $Id: cc.c 9584 2013-12-12 20:24:20Z iulius $ ** ** Routines for the control channel. ** @@ -629,11 +629,14 @@ CCflush(char *av[]) /* -** Flush the log files. +** Flush the log files as well as exploder and process channels. */ static const char * CCflushlogs(char *unused[]) { + SITE *sp; + CHANNEL *cp; + int i; unused = unused; /* ARGSUSED */ if (Debug) @@ -643,6 +646,15 @@ CCflushlogs(char *unused[]) syslog(L_NOTICE, "%s flushlogs %s", LogName, CCcurrmode()); ReopenLog(Log); ReopenLog(Errlog); + /* Flush exploder and process channels so that they take into account + * the new log files (for instance during log rotation). */ + for (sp = Sites, i = nSites; --i >= 0; sp++) { + if (((cp = sp->Channel) != NULL) + && ((cp->Type == CTexploder) || (cp->Type == CTprocess))) { + SITEflush(sp, true); + syslog(L_NOTICE, "%s flush", sp->Name); + } + } return NULL; } @@ -940,7 +952,7 @@ CCname(char *av[]) mode = (cp->MaxCnx > 0 && cp->ActiveCnx == 0) ? "paused" : ""; buffer_sprintf(&CCreply, true, ":%s:%ld:%s", cp->State == CScancel ? "cancel" : "nntp", - (long) Now.tv_sec - cp->LastActive, mode); + (long) (Now.tv_sec - cp->LastActive), mode); break; case CTlocalconn: buffer_sprintf(&CCreply, true, ":localconn::"); diff -Nurp inn-2.5.3/innd/chan.c inn-2.5.4/innd/chan.c --- inn-2.5.3/innd/chan.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/innd/chan.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: chan.c 9009 2010-03-16 19:52:12Z iulius $ +/* $Id: chan.c 9470 2013-05-20 16:34:54Z iulius $ ** ** I/O channel (and buffer) processing. ** @@ -1168,21 +1168,22 @@ CHANreadloop(void) count = select(channels.max_fd + 1, &rdfds, &wrfds, NULL, &tv); TMRstop(TMR_IDLE); - STATUSmainloophook(); - if (GotTerminate) { - warn("%s exiting due to signal", LogName); - CleanupAndExit(0, NULL); - } if (count < 0) { if (errno != EINTR) { syswarn("%s cant select", LogName); #ifdef INND_FIND_BAD_FDS CHANdiagnose(); -#endif +#endif } continue; } + STATUSmainloophook(); + if (GotTerminate) { + warn("%s exiting due to signal", LogName); + CleanupAndExit(0, NULL); + } + /* Update the "reasonably accurate" time. */ gettimeofday(&Now, NULL); if (Now.tv_sec > last_sync + TimeOut.tv_sec) { diff -Nurp inn-2.5.3/innd/perl.c inn-2.5.4/innd/perl.c --- inn-2.5.3/innd/perl.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/innd/perl.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: perl.c 9247 2011-07-17 18:03:49Z iulius $ +/* $Id: perl.c 9483 2013-06-06 20:10:20Z iulius $ ** ** Perl filtering support for innd. ** @@ -253,6 +253,8 @@ PLmode(OPERATINGMODE Mode, OPERATINGMODE failure = false; } + hv_undef(mode); + PUTBACK; FREETMPS; LEAVE; diff -Nurp inn-2.5.3/innd/rc.c inn-2.5.4/innd/rc.c --- inn-2.5.3/innd/rc.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/innd/rc.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: rc.c 9248 2011-07-17 18:04:50Z iulius $ +/* $Id: rc.c 9625 2014-03-16 13:24:22Z iulius $ ** ** Routines for the remote connect channel. Create an Internet stream ** socket that processes connect to. If the incoming site is not one of @@ -32,7 +32,7 @@ typedef struct _REMOTEHOST { char *Label; /* Peer label */ char *Name; /* Hostname */ - struct sockaddr_storage Address; /* List of ip adresses */ + struct sockaddr_storage Address; /* List of ip addresses */ char *Password; /* Optional password */ char *Identd; /* Optional identd */ bool Streaming; /* Streaming allowed ? */ @@ -1519,7 +1519,7 @@ RCwritelist(char *filename) if (*p == '/') q = p + 1; - fprintf (F, "## $Id: rc.c 9248 2011-07-17 18:04:50Z iulius $\n"); + fprintf (F, "## $Id: rc.c 9625 2014-03-16 13:24:22Z iulius $\n"); fprintf (F, "##\n"); fprintf (F, "## %s -- Configuration of incoming news feeds\n", q); free(r); diff -Nurp inn-2.5.3/innfeed/Makefile inn-2.5.4/innfeed/Makefile --- inn-2.5.3/innfeed/Makefile 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/innfeed/Makefile 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -## $Id: Makefile 8921 2010-01-22 23:33:08Z iulius $ +## $Id: Makefile 9454 2012-12-30 18:01:39Z eagle $ include ../Makefile.global @@ -55,9 +55,11 @@ $(FIXSCRIPT): INNFEEDLIBS = $(LIBSTORAGE) $(LIBHIST) $(LIBINN) $(STORAGE_LIBS) $(LIBS) config_y.c config_y.h: configfile.y - $(YACC) -d $? + $(YACC) -d configfile.y mv y.tab.h config_y.h mv y.tab.c config_y.c + touch config_y.h +config_y.h: config_y.c config_l.c: configfile.l $(LEX) $? diff -Nurp inn-2.5.3/innfeed/article.c inn-2.5.4/innfeed/article.c --- inn-2.5.3/innfeed/article.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/innfeed/article.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: article.c 9248 2011-07-17 18:04:50Z iulius $ +/* $Id: article.c 9462 2013-03-18 18:38:34Z iulius $ ** ** The Article class for innfeed. ** @@ -238,7 +238,7 @@ Article newArticle (const char *filename newArt->fname) ; newArt->refCount++ ; - d_printf (2,"Reusing existing article for %s\nx",msgid) ; + d_printf (2,"Reusing existing article for %s\n",msgid) ; } TMRstop(TMR_NEWARTICLE); return newArt ; diff -Nurp inn-2.5.3/innfeed/config_l.c inn-2.5.4/innfeed/config_l.c --- inn-2.5.3/innfeed/config_l.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/innfeed/config_l.c 2014-05-17 01:24:49.000000000 -0700 @@ -502,7 +502,7 @@ int yy_flex_debug = 0; char *yytext; #line 1 "configfile.l" #line 2 "configfile.l" -/* $Id: configfile.l 7585 2006-11-21 09:37:51Z eagle $ +/* $Id: configfile.l 9530 2013-08-25 10:41:14Z iulius $ ** ** A flex input file for the innfeed config file. ** @@ -534,20 +534,6 @@ char *yytext; warnings about it. */ static void yyunput(int, char *) UNUSED; -/* Prototype the various accessor functions generated by flex to avoid - missing prototype warnings. */ -int yyget_lineno(void); -FILE *yyget_in(void); -FILE *yyget_out(void); -int yyget_leng(void); -char *yyget_text(void); -int yyget_debug(void); -void yyset_lineno(int); -void yyset_in(FILE *); -void yyset_out(FILE *); -void yyset_debug(int); -int yylex_destroy(void); - char *strPtr = 0 ; int strPtrLen = 0 ; int strIdx = 0 ; @@ -555,7 +541,6 @@ int sawBsl ; int lineCount = 0 ; int current ; -static void strAppend (int ch); static void strAppend (int ch) { if (strIdx == strPtrLen) @@ -576,7 +561,7 @@ struct includeFile { int include_stack_ptr = 0; -#line 580 "lex.yy.c" +#line 565 "lex.yy.c" #define INITIAL 0 #define incl 1 @@ -767,10 +752,10 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 81 "configfile.l" +#line 66 "configfile.l" -#line 774 "lex.yy.c" +#line 759 "lex.yy.c" if ( !(yy_init) ) { @@ -857,42 +842,42 @@ do_action: /* This label is used only to case 1: /* rule 1 can match eol */ YY_RULE_SETUP -#line 83 "configfile.l" +#line 68 "configfile.l" lineCount++ ; YY_BREAK case 2: YY_RULE_SETUP -#line 85 "configfile.l" +#line 70 "configfile.l" { return (COLON) ; } YY_BREAK case 3: YY_RULE_SETUP -#line 87 "configfile.l" +#line 72 "configfile.l" { return (LBRACE) ; } YY_BREAK case 4: YY_RULE_SETUP -#line 89 "configfile.l" +#line 74 "configfile.l" { return (RBRACE) ; } YY_BREAK case 5: YY_RULE_SETUP -#line 91 "configfile.l" +#line 76 "configfile.l" { return (PEER) ; } YY_BREAK case 6: YY_RULE_SETUP -#line 93 "configfile.l" +#line 78 "configfile.l" BEGIN(incl); YY_BREAK case 7: YY_RULE_SETUP -#line 95 "configfile.l" +#line 80 "configfile.l" /* eat the whitespace before include filename */ YY_BREAK case 8: YY_RULE_SETUP -#line 97 "configfile.l" +#line 82 "configfile.l" { if (include_stack_ptr == MAX_INCLUDE_DEPTH - 1) { @@ -927,7 +912,7 @@ YY_RULE_SETUP YY_BREAK case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(incl): -#line 129 "configfile.l" +#line 114 "configfile.l" { if ( include_stack_ptr <= 0 ) yyterminate(); @@ -941,22 +926,22 @@ case YY_STATE_EOF(incl): YY_BREAK case 9: YY_RULE_SETUP -#line 140 "configfile.l" +#line 125 "configfile.l" { return (GROUP) ; } YY_BREAK case 10: YY_RULE_SETUP -#line 142 "configfile.l" +#line 127 "configfile.l" { (void) 0 ; } YY_BREAK case 11: YY_RULE_SETUP -#line 144 "configfile.l" +#line 129 "configfile.l" { (void) 1 ; } YY_BREAK case 12: YY_RULE_SETUP -#line 146 "configfile.l" +#line 131 "configfile.l" { switch (yytext[2]) { case '\\': yylval.chr = '\\' ; break ; @@ -972,25 +957,29 @@ YY_RULE_SETUP YY_BREAK case 13: YY_RULE_SETUP -#line 159 "configfile.l" +#line 144 "configfile.l" { yylval.chr = yytext[1] ; return (CHAR) ; } YY_BREAK case 14: YY_RULE_SETUP -#line 161 "configfile.l" +#line 146 "configfile.l" { yylval.chr = (char)strtol(&yytext[2], (char **)NULL, 8); return (CHAR) ;} YY_BREAK case 15: /* rule 15 can match eol */ YY_RULE_SETUP -#line 164 "configfile.l" +#line 149 "configfile.l" {{ - int i ; + size_t i ; for (i = 1, strIdx = 0, sawBsl = 0 ; ; i++) { - if (i < yyleng) + /* Cast yyleng to size_t because it used to be an int + * in flex versions anterior or equal to 2.5.35. + * Do not use yyget_leng() here because old flex versions + * do not define it. */ + if (i < (size_t) yyleng) current = yytext [i] ; else current = input() ; @@ -1072,17 +1061,17 @@ YY_RULE_SETUP YY_BREAK case 16: YY_RULE_SETUP -#line 249 "configfile.l" +#line 238 "configfile.l" { yylval.integer = atoi (yytext) ; return (IVAL) ; } YY_BREAK case 17: YY_RULE_SETUP -#line 251 "configfile.l" +#line 240 "configfile.l" { yylval.real = atof (yytext) ; return (RVAL) ; } YY_BREAK case 18: YY_RULE_SETUP -#line 253 "configfile.l" +#line 242 "configfile.l" { yylval.name = xstrdup (yytext) ; if (strcasecmp (yylval.name,"false") == 0) @@ -1095,10 +1084,10 @@ YY_RULE_SETUP YY_BREAK case 19: YY_RULE_SETUP -#line 263 "configfile.l" +#line 252 "configfile.l" ECHO; YY_BREAK -#line 1102 "lex.yy.c" +#line 1091 "lex.yy.c" case YY_END_OF_BUFFER: { @@ -2097,7 +2086,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 263 "configfile.l" +#line 252 "configfile.l" diff -Nurp inn-2.5.3/innfeed/config_y.c inn-2.5.4/innfeed/config_y.c --- inn-2.5.3/innfeed/config_y.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/innfeed/config_y.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,10 +1,8 @@ +/* A Bison parser, made by GNU Bison 2.5. */ -/* A Bison parser, made by GNU Bison 2.4.1. */ - -/* Skeleton implementation for Bison's Yacc-like parsers in C +/* Bison implementation for Yacc-like parsers in C - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -46,7 +44,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.4.1" +#define YYBISON_VERSION "2.5" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -67,7 +65,7 @@ /* Copy the first part of user declarations. */ -/* Line 189 of yacc.c */ +/* Line 268 of yacc.c */ #line 1 "configfile.y" /* $Id: configfile.y 9364 2011-08-21 23:23:26Z eagle $ @@ -725,8 +723,8 @@ static int doCallbacks (void) static char *key ; -/* Line 189 of yacc.c */ -#line 730 "y.tab.c" +/* Line 268 of yacc.c */ +#line 728 "y.tab.c" /* Enabling traces. */ #ifndef YYDEBUG @@ -794,7 +792,7 @@ static char *key ; typedef union YYSTYPE { -/* Line 214 of yacc.c */ +/* Line 293 of yacc.c */ #line 657 "configfile.y" scope *scp ; @@ -807,8 +805,8 @@ typedef union YYSTYPE -/* Line 214 of yacc.c */ -#line 812 "y.tab.c" +/* Line 293 of yacc.c */ +#line 810 "y.tab.c" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -819,8 +817,8 @@ typedef union YYSTYPE /* Copy the second part of user declarations. */ -/* Line 264 of yacc.c */ -#line 824 "y.tab.c" +/* Line 343 of yacc.c */ +#line 822 "y.tab.c" #ifdef short # undef short @@ -870,7 +868,7 @@ typedef short int yytype_int16; #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ -# if YYENABLE_NLS +# if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) @@ -923,11 +921,11 @@ YYID (yyi) # define alloca _alloca # else # define YYSTACK_ALLOC alloca -# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ +# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include /* INFRINGES ON USER NAME SPACE */ -# ifndef _STDLIB_H -# define _STDLIB_H 1 +# ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 # endif # endif # endif @@ -950,24 +948,24 @@ YYID (yyi) # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif -# if (defined __cplusplus && ! defined _STDLIB_H \ +# if (defined __cplusplus && ! defined EXIT_SUCCESS \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ -# ifndef _STDLIB_H -# define _STDLIB_H 1 +# ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc -# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ +# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free -# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ +# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif @@ -996,23 +994,7 @@ union yyalloc ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) -/* Copy COUNT objects from FROM to TO. The source and destination do - not overlap. */ -# ifndef YYCOPY -# if defined __GNUC__ && 1 < __GNUC__ -# define YYCOPY(To, From, Count) \ - __builtin_memcpy (To, From, (Count) * sizeof (*(From))) -# else -# define YYCOPY(To, From, Count) \ - do \ - { \ - YYSIZE_T yyi; \ - for (yyi = 0; yyi < (Count); yyi++) \ - (To)[yyi] = (From)[yyi]; \ - } \ - while (YYID (0)) -# endif -# endif +# define YYCOPY_NEEDED 1 /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of @@ -1032,6 +1014,26 @@ union yyalloc #endif +#if defined YYCOPY_NEEDED && YYCOPY_NEEDED +/* Copy COUNT objects from FROM to TO. The source and destination do + not overlap. */ +# ifndef YYCOPY +# if defined __GNUC__ && 1 < __GNUC__ +# define YYCOPY(To, From, Count) \ + __builtin_memcpy (To, From, (Count) * sizeof (*(From))) +# else +# define YYCOPY(To, From, Count) \ + do \ + { \ + YYSIZE_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (To)[yyi] = (From)[yyi]; \ + } \ + while (YYID (0)) +# endif +# endif +#endif /* !YYCOPY_NEEDED */ + /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ @@ -1154,8 +1156,8 @@ static const yytype_uint8 yyr2[] = 1, 1 }; -/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state - STATE-NUM when YYTABLE doesn't specify something else to do. Zero +/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ static const yytype_uint8 yydefact[] = { @@ -1190,8 +1192,7 @@ static const yytype_int8 yypgoto[] = /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which - number is the opposite. If zero, do what YYDEFACT says. - If YYTABLE_NINF, syntax error. */ + number is the opposite. If YYTABLE_NINF, syntax error. */ #define YYTABLE_NINF -5 static const yytype_int8 yytable[] = { @@ -1201,6 +1202,12 @@ static const yytype_int8 yytable[] = 26 }; +#define yypact_value_is_default(yystate) \ + ((yystate) == (-12)) + +#define yytable_value_is_error(yytable_value) \ + YYID (0) + static const yytype_int8 yycheck[] = { 0, 1, 0, 3, 4, 16, 1, 16, 3, 4, @@ -1231,9 +1238,18 @@ static const yytype_uint8 yystos[] = /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. */ + Once GCC version 2 has supplanted version 1, this can go. However, + YYFAIL appears to be in use. Nevertheless, it is formally deprecated + in Bison 2.4.2's NEWS entry, where a plan to phase it out is + discussed. */ #define YYFAIL goto yyerrlab +#if defined YYFAIL + /* This is here to suppress warnings from the GCC cpp's + -Wunused-macros. Normally we don't worry about that warning, but + some users do, and we want to make it easy for users to remove + YYFAIL uses, which will produce warnings from Bison 2.5. */ +#endif #define YYRECOVERING() (!!yyerrstatus) @@ -1243,7 +1259,6 @@ do \ { \ yychar = (Token); \ yylval = (Value); \ - yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK (1); \ goto yybackup; \ } \ @@ -1285,19 +1300,10 @@ while (YYID (0)) #endif -/* YY_LOCATION_PRINT -- Print the location on the stream. - This macro was not mandated originally: define only if we know - we won't break user code: when these are the locations we know. */ +/* This macro is provided for backward compatibility. */ #ifndef YY_LOCATION_PRINT -# if YYLTYPE_IS_TRIVIAL -# define YY_LOCATION_PRINT(File, Loc) \ - fprintf (File, "%d.%d-%d.%d", \ - (Loc).first_line, (Loc).first_column, \ - (Loc).last_line, (Loc).last_column) -# else -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -# endif +# define YY_LOCATION_PRINT(File, Loc) ((void) 0) #endif @@ -1489,7 +1495,6 @@ int yydebug; # define YYMAXDEPTH 10000 #endif - #if YYERROR_VERBOSE @@ -1592,115 +1597,142 @@ yytnamerr (char *yyres, const char *yyst } # endif -/* Copy into YYRESULT an error message about the unexpected token - YYCHAR while in state YYSTATE. Return the number of bytes copied, - including the terminating null byte. If YYRESULT is null, do not - copy anything; just return the number of bytes that would be - copied. As a special case, return 0 if an ordinary "syntax error" - message will do. Return YYSIZE_MAXIMUM if overflow occurs during - size calculation. */ -static YYSIZE_T -yysyntax_error (char *yyresult, int yystate, int yychar) +/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message + about the unexpected token YYTOKEN for the state stack whose top is + YYSSP. + + Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is + not large enough to hold the message. In that case, also set + *YYMSG_ALLOC to the required number of bytes. Return 2 if the + required number of bytes is too large to store. */ +static int +yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, + yytype_int16 *yyssp, int yytoken) { - int yyn = yypact[yystate]; + YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]); + YYSIZE_T yysize = yysize0; + YYSIZE_T yysize1; + enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; + /* Internationalized format string. */ + const char *yyformat = 0; + /* Arguments of yyformat. */ + char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; + /* Number of reported tokens (one for the "unexpected", one per + "expected"). */ + int yycount = 0; + + /* There are many possibilities here to consider: + - Assume YYFAIL is not used. It's too flawed to consider. See + + for details. YYERROR is fine as it does not invoke this + function. + - If this state is a consistent state with a default action, then + the only way this function was invoked is if the default action + is an error action. In that case, don't check for expected + tokens because there are none. + - The only way there can be no lookahead present (in yychar) is if + this state is a consistent state with a default action. Thus, + detecting the absence of a lookahead is sufficient to determine + that there is no unexpected or expected token to report. In that + case, just report a simple "syntax error". + - Don't assume there isn't a lookahead just because this state is a + consistent state with a default action. There might have been a + previous inconsistent state, consistent state with a non-default + action, or user semantic action that manipulated yychar. + - Of course, the expected token list depends on states to have + correct lookahead information, and it depends on the parser not + to perform extra reductions after fetching a lookahead from the + scanner and before detecting a syntax error. Thus, state merging + (from LALR or IELR) and default reductions corrupt the expected + token list. However, the list is correct for canonical LR with + one exception: it will still contain any token that will not be + accepted due to an error action in a later state. + */ + if (yytoken != YYEMPTY) + { + int yyn = yypact[*yyssp]; + yyarg[yycount++] = yytname[yytoken]; + if (!yypact_value_is_default (yyn)) + { + /* Start YYX at -YYN if negative to avoid negative indexes in + YYCHECK. In other words, skip the first -YYN actions for + this state because they are default actions. */ + int yyxbegin = yyn < 0 ? -yyn : 0; + /* Stay within bounds of both yycheck and yytname. */ + int yychecklim = YYLAST - yyn + 1; + int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; + int yyx; + + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR + && !yytable_value_is_error (yytable[yyx + yyn])) + { + if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) + { + yycount = 1; + yysize = yysize0; + break; + } + yyarg[yycount++] = yytname[yyx]; + yysize1 = yysize + yytnamerr (0, yytname[yyx]); + if (! (yysize <= yysize1 + && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + return 2; + yysize = yysize1; + } + } + } - if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) - return 0; - else + switch (yycount) { - int yytype = YYTRANSLATE (yychar); - YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); - YYSIZE_T yysize = yysize0; - YYSIZE_T yysize1; - int yysize_overflow = 0; - enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; - char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - int yyx; - -# if 0 - /* This is so xgettext sees the translatable formats that are - constructed on the fly. */ - YY_("syntax error, unexpected %s"); - YY_("syntax error, unexpected %s, expecting %s"); - YY_("syntax error, unexpected %s, expecting %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); -# endif - char *yyfmt; - char const *yyf; - static char const yyunexpected[] = "syntax error, unexpected %s"; - static char const yyexpecting[] = ", expecting %s"; - static char const yyor[] = " or %s"; - char yyformat[sizeof yyunexpected - + sizeof yyexpecting - 1 - + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) - * (sizeof yyor - 1))]; - char const *yyprefix = yyexpecting; - - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn + 1; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yycount = 1; - - yyarg[0] = yytname[yytype]; - yyfmt = yystpcpy (yyformat, yyunexpected); - - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) - { - if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) - { - yycount = 1; - yysize = yysize0; - yyformat[sizeof yyunexpected - 1] = '\0'; - break; - } - yyarg[yycount++] = yytname[yyx]; - yysize1 = yysize + yytnamerr (0, yytname[yyx]); - yysize_overflow |= (yysize1 < yysize); - yysize = yysize1; - yyfmt = yystpcpy (yyfmt, yyprefix); - yyprefix = yyor; - } - - yyf = YY_(yyformat); - yysize1 = yysize + yystrlen (yyf); - yysize_overflow |= (yysize1 < yysize); - yysize = yysize1; - - if (yysize_overflow) - return YYSIZE_MAXIMUM; - - if (yyresult) - { - /* Avoid sprintf, as that infringes on the user's name space. - Don't have undefined behavior even if the translation - produced a string with the wrong number of "%s"s. */ - char *yyp = yyresult; - int yyi = 0; - while ((*yyp = *yyf) != '\0') - { - if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) - { - yyp += yytnamerr (yyp, yyarg[yyi++]); - yyf += 2; - } - else - { - yyp++; - yyf++; - } - } - } - return yysize; - } +# define YYCASE_(N, S) \ + case N: \ + yyformat = S; \ + break + YYCASE_(0, YY_("syntax error")); + YYCASE_(1, YY_("syntax error, unexpected %s")); + YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); + YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); + YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); + YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); +# undef YYCASE_ + } + + yysize1 = yysize + yystrlen (yyformat); + if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + return 2; + yysize = yysize1; + + if (*yymsg_alloc < yysize) + { + *yymsg_alloc = 2 * yysize; + if (! (yysize <= *yymsg_alloc + && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) + *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; + return 1; + } + + /* Avoid sprintf, as that infringes on the user's name space. + Don't have undefined behavior even if the translation + produced a string with the wrong number of "%s"s. */ + { + char *yyp = *yymsg; + int yyi = 0; + while ((*yyp = *yyformat) != '\0') + if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) + { + yyp += yytnamerr (yyp, yyarg[yyi++]); + yyformat += 2; + } + else + { + yyp++; + yyformat++; + } + } + return 0; } #endif /* YYERROR_VERBOSE */ - /*-----------------------------------------------. | Release the memory associated to this symbol. | @@ -1733,6 +1765,7 @@ yydestruct (yymsg, yytype, yyvaluep) } } + /* Prevent warnings from -Wmissing-prototypes. */ #ifdef YYPARSE_PARAM #if defined __STDC__ || defined __cplusplus @@ -1759,10 +1792,9 @@ YYSTYPE yylval; int yynerrs; - -/*-------------------------. -| yyparse or yypush_parse. | -`-------------------------*/ +/*----------. +| yyparse. | +`----------*/ #ifdef YYPARSE_PARAM #if (defined __STDC__ || defined __C99__FUNC__ \ @@ -1786,8 +1818,6 @@ yyparse () #endif #endif { - - int yystate; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; @@ -1942,7 +1972,7 @@ yybackup: /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; - if (yyn == YYPACT_NINF) + if (yypact_value_is_default (yyn)) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ @@ -1973,8 +2003,8 @@ yybackup: yyn = yytable[yyn]; if (yyn <= 0) { - if (yyn == 0 || yyn == YYTABLE_NINF) - goto yyerrlab; + if (yytable_value_is_error (yyn)) + goto yyerrlab; yyn = -yyn; goto yyreduce; } @@ -2029,7 +2059,7 @@ yyreduce: { case 2: -/* Line 1455 of yacc.c */ +/* Line 1806 of yacc.c */ #line 690 "configfile.y" { lineCount = 1 ; @@ -2040,14 +2070,14 @@ yyreduce: case 3: -/* Line 1455 of yacc.c */ +/* Line 1806 of yacc.c */ #line 694 "configfile.y" { if (!doCallbacks()) YYABORT ; } break; case 7: -/* Line 1455 of yacc.c */ +/* Line 1806 of yacc.c */ #line 700 "configfile.y" { errbuff = xmalloc (strlen(SYNTAX_ERROR) + 12) ; @@ -2058,7 +2088,7 @@ yyreduce: case 8: -/* Line 1455 of yacc.c */ +/* Line 1806 of yacc.c */ #line 707 "configfile.y" { errbuff = addScope (currScope,(yyvsp[(2) - (3)].name),newScope ("peer")) ; @@ -2069,7 +2099,7 @@ yyreduce: case 9: -/* Line 1455 of yacc.c */ +/* Line 1806 of yacc.c */ #line 711 "configfile.y" { currScope = currScope->parent ; @@ -2078,7 +2108,7 @@ yyreduce: case 10: -/* Line 1455 of yacc.c */ +/* Line 1806 of yacc.c */ #line 714 "configfile.y" { errbuff = addScope (currScope,(yyvsp[(2) - (3)].name),newScope ("group")) ; @@ -2089,7 +2119,7 @@ yyreduce: case 11: -/* Line 1455 of yacc.c */ +/* Line 1806 of yacc.c */ #line 718 "configfile.y" { currScope = currScope->parent ; @@ -2098,7 +2128,7 @@ yyreduce: case 12: -/* Line 1455 of yacc.c */ +/* Line 1806 of yacc.c */ #line 721 "configfile.y" { errbuff = xmalloc (strlen(UNKNOWN_SCOPE_TYPE) + 15 + @@ -2112,7 +2142,7 @@ yyreduce: case 13: -/* Line 1455 of yacc.c */ +/* Line 1806 of yacc.c */ #line 729 "configfile.y" { if ((errbuff = keyOk((yyvsp[(1) - (1)].name))) != NULL) { @@ -2124,7 +2154,7 @@ yyreduce: case 15: -/* Line 1455 of yacc.c */ +/* Line 1806 of yacc.c */ #line 736 "configfile.y" { if ((errbuff = addString (currScope, key, (yyvsp[(1) - (1)].name))) != NULL) @@ -2136,7 +2166,7 @@ yyreduce: case 16: -/* Line 1455 of yacc.c */ +/* Line 1806 of yacc.c */ #line 742 "configfile.y" { if ((errbuff = addInteger(currScope, key, (yyvsp[(1) - (1)].integer))) != NULL) @@ -2147,7 +2177,7 @@ yyreduce: case 17: -/* Line 1455 of yacc.c */ +/* Line 1806 of yacc.c */ #line 747 "configfile.y" { if ((errbuff = addBoolean (currScope, key, 1)) != NULL) @@ -2159,7 +2189,7 @@ yyreduce: case 18: -/* Line 1455 of yacc.c */ +/* Line 1806 of yacc.c */ #line 753 "configfile.y" { if ((errbuff = addBoolean (currScope, key, 0)) != NULL) @@ -2171,7 +2201,7 @@ yyreduce: case 19: -/* Line 1455 of yacc.c */ +/* Line 1806 of yacc.c */ #line 759 "configfile.y" { if ((errbuff = addReal (currScope, key, (yyvsp[(1) - (1)].real))) != NULL) @@ -2182,7 +2212,7 @@ yyreduce: case 20: -/* Line 1455 of yacc.c */ +/* Line 1806 of yacc.c */ #line 764 "configfile.y" { if ((errbuff = addString (currScope, key, (yyvsp[(1) - (1)].string))) != NULL) @@ -2193,7 +2223,7 @@ yyreduce: case 21: -/* Line 1455 of yacc.c */ +/* Line 1806 of yacc.c */ #line 769 "configfile.y" { if ((errbuff = addChar (currScope, key, (yyvsp[(1) - (1)].chr))) != NULL) @@ -2204,10 +2234,21 @@ yyreduce: -/* Line 1455 of yacc.c */ -#line 2209 "y.tab.c" +/* Line 1806 of yacc.c */ +#line 2239 "y.tab.c" default: break; } + /* User semantic actions sometimes alter yychar, and that requires + that yytoken be updated with the new translation. We take the + approach of translating immediately before every use of yytoken. + One alternative is translating here after every semantic action, + but that translation would be missed if the semantic action invokes + YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or + if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an + incorrect destructor might then be invoked immediately. In the + case of YYERROR or YYBACKUP, subsequent parser actions might lead + to an incorrect destructor call or verbose syntax error message + before the lookahead is translated. */ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); @@ -2235,6 +2276,10 @@ yyreduce: | yyerrlab -- here on detecting error | `------------------------------------*/ yyerrlab: + /* Make sure we have latest lookahead translation. See comments at + user semantic actions for why this is necessary. */ + yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); + /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { @@ -2242,37 +2287,36 @@ yyerrlab: #if ! YYERROR_VERBOSE yyerror (YY_("syntax error")); #else +# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ + yyssp, yytoken) { - YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); - if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) - { - YYSIZE_T yyalloc = 2 * yysize; - if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) - yyalloc = YYSTACK_ALLOC_MAXIMUM; - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); - yymsg = (char *) YYSTACK_ALLOC (yyalloc); - if (yymsg) - yymsg_alloc = yyalloc; - else - { - yymsg = yymsgbuf; - yymsg_alloc = sizeof yymsgbuf; - } - } - - if (0 < yysize && yysize <= yymsg_alloc) - { - (void) yysyntax_error (yymsg, yystate, yychar); - yyerror (yymsg); - } - else - { - yyerror (YY_("syntax error")); - if (yysize != 0) - goto yyexhaustedlab; - } + char const *yymsgp = YY_("syntax error"); + int yysyntax_error_status; + yysyntax_error_status = YYSYNTAX_ERROR; + if (yysyntax_error_status == 0) + yymsgp = yymsg; + else if (yysyntax_error_status == 1) + { + if (yymsg != yymsgbuf) + YYSTACK_FREE (yymsg); + yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); + if (!yymsg) + { + yymsg = yymsgbuf; + yymsg_alloc = sizeof yymsgbuf; + yysyntax_error_status = 2; + } + else + { + yysyntax_error_status = YYSYNTAX_ERROR; + yymsgp = yymsg; + } + } + yyerror (yymsgp); + if (yysyntax_error_status == 2) + goto yyexhaustedlab; } +# undef YYSYNTAX_ERROR #endif } @@ -2331,7 +2375,7 @@ yyerrlab1: for (;;) { yyn = yypact[yystate]; - if (yyn != YYPACT_NINF) + if (!yypact_value_is_default (yyn)) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) @@ -2390,8 +2434,13 @@ yyexhaustedlab: yyreturn: if (yychar != YYEMPTY) - yydestruct ("Cleanup: discarding lookahead", - yytoken, &yylval); + { + /* Make sure we have latest lookahead translation. See comments at + user semantic actions for why this is necessary. */ + yytoken = YYTRANSLATE (yychar); + yydestruct ("Cleanup: discarding lookahead", + yytoken, &yylval); + } /* Do not reclaim the symbols of the rule which action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); @@ -2416,7 +2465,7 @@ yyreturn: -/* Line 1675 of yacc.c */ +/* Line 2067 of yacc.c */ #line 776 "configfile.y" diff -Nurp inn-2.5.3/innfeed/config_y.h inn-2.5.4/innfeed/config_y.h --- inn-2.5.3/innfeed/config_y.h 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/innfeed/config_y.h 2014-05-17 01:24:49.000000000 -0700 @@ -1,10 +1,8 @@ +/* A Bison parser, made by GNU Bison 2.5. */ -/* A Bison parser, made by GNU Bison 2.4.1. */ - -/* Skeleton interface for Bison's Yacc-like parsers in C +/* Bison interface for Yacc-like parsers in C - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -80,7 +78,7 @@ typedef union YYSTYPE { -/* Line 1676 of yacc.c */ +/* Line 2068 of yacc.c */ #line 657 "configfile.y" scope *scp ; @@ -93,8 +91,8 @@ typedef union YYSTYPE -/* Line 1676 of yacc.c */ -#line 98 "y.tab.h" +/* Line 2068 of yacc.c */ +#line 96 "y.tab.h" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ diff -Nurp inn-2.5.3/innfeed/configfile.l inn-2.5.4/innfeed/configfile.l --- inn-2.5.3/innfeed/configfile.l 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/innfeed/configfile.l 2014-05-17 01:24:49.000000000 -0700 @@ -1,5 +1,5 @@ %{ -/* $Id: configfile.l 7585 2006-11-21 09:37:51Z eagle $ +/* $Id: configfile.l 9530 2013-08-25 10:41:14Z iulius $ ** ** A flex input file for the innfeed config file. ** @@ -31,20 +31,6 @@ warnings about it. */ static void yyunput(int, char *) UNUSED; -/* Prototype the various accessor functions generated by flex to avoid - missing prototype warnings. */ -int yyget_lineno(void); -FILE *yyget_in(void); -FILE *yyget_out(void); -int yyget_leng(void); -char *yyget_text(void); -int yyget_debug(void); -void yyset_lineno(int); -void yyset_in(FILE *); -void yyset_out(FILE *); -void yyset_debug(int); -int yylex_destroy(void); - char *strPtr = 0 ; int strPtrLen = 0 ; int strIdx = 0 ; @@ -52,7 +38,6 @@ int sawBsl ; int lineCount = 0 ; int current ; -static void strAppend (int ch); static void strAppend (int ch) { if (strIdx == strPtrLen) @@ -162,11 +147,15 @@ ID [a-zA-Z][-a-zA-Z0-9._/]+ return (CHAR) ;} \"[^\"]* {{ - int i ; + size_t i ; for (i = 1, strIdx = 0, sawBsl = 0 ; ; i++) { - if (i < yyleng) + /* Cast yyleng to size_t because it used to be an int + * in flex versions anterior or equal to 2.5.35. + * Do not use yyget_leng() here because old flex versions + * do not define it. */ + if (i < (size_t) yyleng) current = yytext [i] ; else current = input() ; diff -Nurp inn-2.5.3/innfeed/endpoint.c inn-2.5.4/innfeed/endpoint.c --- inn-2.5.3/innfeed/endpoint.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/innfeed/endpoint.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: endpoint.c 9275 2011-07-17 19:09:26Z iulius $ +/* $Id: endpoint.c 9584 2013-12-12 20:24:20Z iulius $ ** ** The implementation of the innfeed EndPoint object class. ** @@ -502,8 +502,8 @@ TimeoutId prepareWake (EndpTCB func, tim id = timerElemAdd (timeToWake,func,clientData) ; #if 0 - d_printf (1,"Preparing wake %d at date %ld for %d seconds\n", - (int) id, (long) now, timeToWake - now) ; + d_printf (1, "Preparing wake %d at date %ld for %ld seconds\n", + (int) id, (long) now, (long) (timeToWake - now)) ; #endif return id ; @@ -519,8 +519,8 @@ TimeoutId prepareSleep (EndpTCB func, in id = timerElemAdd (now + timeToSleep,func,clientData) ; #if 0 - d_printf (1,"Preparing sleep %d at date %ld for %d seconds\n", - (int) id, (long) now, timeToSleep) ; + d_printf (1, "Preparing sleep %d at date %ld for %ld seconds\n", + (int) id, (long) now, (long) timeToSleep) ; #endif return id ; diff -Nurp inn-2.5.3/innfeed/imap_connection.c inn-2.5.4/innfeed/imap_connection.c --- inn-2.5.3/innfeed/imap_connection.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/innfeed/imap_connection.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: imap_connection.c 9397 2012-01-14 13:20:10Z iulius $ +/* $Id: imap_connection.c 9495 2013-06-25 17:27:44Z iulius $ ** ** Feed articles to an IMAP server via LMTP and IMAP. ** @@ -343,7 +343,7 @@ typedef struct connection_s { int imap_disconnects; char *imap_tofree_str; - char imap_currentTag[IMAP_TAGLENGTH]; + char imap_currentTag[IMAP_TAGLENGTH+1]; int imap_tag_num; /* Timer for the max amount of time to wait for a response from the @@ -2383,7 +2383,7 @@ static void imap_writeCB (EndPoint e UNU static void imap_GetTag(connection_t *cxn) { - sprintf(cxn->imap_currentTag,"%06d",cxn->imap_tag_num); + snprintf(cxn->imap_currentTag, IMAP_TAGLENGTH+1, "%06d", cxn->imap_tag_num); cxn->imap_tag_num++; if (cxn->imap_tag_num >= 999999) { diff -Nurp inn-2.5.3/innfeed/main.c inn-2.5.4/innfeed/main.c --- inn-2.5.3/innfeed/main.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/innfeed/main.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: main.c 9275 2011-07-17 19:09:26Z iulius $ +/* $Id: main.c 9479 2013-06-03 18:12:39Z iulius $ ** ** Main routines for the innfeed program. ** @@ -572,6 +572,9 @@ static void sighup (int sig UNUSED) } configHosts (talkToSelf) ; + + notice ("ME reloading log file %s", logFile) ; + openLogFile() ; } static void sigemt (int sig UNUSED) diff -Nurp inn-2.5.3/lib/asprintf.c inn-2.5.4/lib/asprintf.c --- inn-2.5.3/lib/asprintf.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/lib/asprintf.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,19 +1,33 @@ -/* $Id: asprintf.c 8838 2009-12-03 21:11:00Z iulius $ -** -** Replacement for a missing asprintf and vasprintf. -** -** Written by Russ Allbery -** This work is hereby placed in the public domain by its author. -** -** Provides the same functionality as the standard GNU library routines -** asprintf and vasprintf for those platforms that don't have them. -*/ +/* $Id: asprintf.c 9554 2013-11-03 19:18:12Z iulius $ + * + * Replacement for a missing asprintf and vasprintf. + * + * Provides the same functionality as the standard GNU library routines + * asprintf and vasprintf for those platforms that don't have them. + * + * The canonical version of this file is maintained in the rra-c-util package, + * which can be found at . + * + * Written by Russ Allbery + * + * The authors hereby relinquish any claim to any copyright that they may have + * in this work, whether granted under contract or by operation of law or + * international treaty, and hereby commit to the public, at large, that they + * shall not, at any time in the future, seek to enforce any copyright in this + * work against any person or entity, or prevent any person or entity from + * copying, publishing, distributing or creating derivative works of this + * work. + */ #include "config.h" #include "clibrary.h" -/* If we're running the test suite, rename the functions to avoid conflicts - with the system versions. */ +#include + +/* + * If we're running the test suite, rename the functions to avoid conflicts + * with the system versions. + */ #if TESTING # define asprintf test_asprintf # define vasprintf test_vasprintf @@ -22,6 +36,7 @@ int test_asprintf(char **, const char *, int test_vasprintf(char **, const char *, va_list); #endif + int asprintf(char **strp, const char *fmt, ...) { @@ -34,11 +49,12 @@ asprintf(char **strp, const char *fmt, . return status; } + int vasprintf(char **strp, const char *fmt, va_list args) { va_list args_copy; - int status, needed; + int status, needed, oerrno; va_copy(args_copy, args); needed = vsnprintf(NULL, 0, fmt, args_copy); @@ -54,8 +70,10 @@ vasprintf(char **strp, const char *fmt, if (status >= 0) return status; else { + oerrno = errno; free(*strp); *strp = NULL; + errno = oerrno; return status; } } diff -Nurp inn-2.5.3/lib/clientactive.c inn-2.5.4/lib/clientactive.c --- inn-2.5.3/lib/clientactive.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/lib/clientactive.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: clientactive.c 8921 2010-01-22 23:33:08Z iulius $ +/* $Id: clientactive.c 9497 2013-06-25 17:40:59Z iulius $ ** */ @@ -74,6 +74,7 @@ CA_listopen(char *pathname, FILE *FromSe if (strcmp(CApathname, pathname) == 0) CAclose(); errno = oerrno; + fclose(F); return NULL; } diff -Nurp inn-2.5.3/lib/getnameinfo.c inn-2.5.4/lib/getnameinfo.c --- inn-2.5.3/lib/getnameinfo.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/lib/getnameinfo.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: getnameinfo.c 9360 2011-08-21 01:32:47Z eagle $ +/* $Id: getnameinfo.c 9565 2013-11-10 18:30:25Z iulius $ ** ** Replacement for a missing getnameinfo. ** @@ -111,6 +111,7 @@ lookup_service(unsigned short port, char { struct servent *srv; const char *protocol; + int status; /* Do the name lookup first unless told not to. */ if (!(flags & NI_NUMERICSERV)) { @@ -125,7 +126,8 @@ lookup_service(unsigned short port, char } /* Just convert the port number to ASCII. */ - if ((socklen_t) snprintf(service, servicelen, "%hu", port) > servicelen) + status = snprintf(service, servicelen, "%hu", port); + if (status < 0 || (socklen_t) status > servicelen) return EAI_OVERFLOW; return 0; } diff -Nurp inn-2.5.3/lib/inet_ntop.c inn-2.5.4/lib/inet_ntop.c --- inn-2.5.3/lib/inet_ntop.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/lib/inet_ntop.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,22 +1,32 @@ -/* $Id: inet_ntop.c 7690 2007-09-22 07:43:47Z iulius $ -** -** Replacement for a missing inet_ntop. -** -** Written by Russ Allbery -** This work is hereby placed in the public domain by its author. -** -** Provides an implementation of inet_ntop that only supports IPv4 addresses -** for hosts that are missing it. If you want IPv6 support, you need to have -** a real inet_ntop function; this function is only provided so that code can -** call inet_ntop unconditionally without needing to worry about whether the -** host supports IPv6. -*/ +/* $Id: inet_ntop.c 9557 2013-11-05 20:11:17Z iulius $ + * + * Replacement for a missing inet_ntop. + * + * Provides an implementation of inet_ntop that only supports IPv4 addresses + * for hosts that are missing it. If you want IPv6 support, you need to have + * a real inet_ntop function; this function is only provided so that code can + * call inet_ntop unconditionally without needing to worry about whether the + * host supports IPv6. + * + * The canonical version of this file is maintained in the rra-c-util package, + * which can be found at . + * + * Written by Russ Allbery + * + * The authors hereby relinquish any claim to any copyright that they may have + * in this work, whether granted under contract or by operation of law or + * international treaty, and hereby commit to the public, at large, that they + * shall not, at any time in the future, seek to enforce any copyright in this + * work against any person or entity, or prevent any person or entity from + * copying, publishing, distributing or creating derivative works of this + * work. + */ #include "config.h" #include "clibrary.h" +#include "portable/socket.h" + #include -#include -#include /* This may already be defined by the system headers. */ #ifndef INET_ADDRSTRLEN @@ -28,29 +38,36 @@ # define EAFNOSUPPORT EDOM #endif -/* If we're running the test suite, rename inet_ntop to avoid conflicts with - the system version. */ +/* + * If we're running the test suite, rename inet_ntop to avoid conflicts with + * the system version. + */ #if TESTING # define inet_ntop test_inet_ntop const char *test_inet_ntop(int, const void *, char *, socklen_t); #endif const char * -inet_ntop(int af, const void *src, char *dst, socklen_t cnt) +inet_ntop(int af, const void *src, char *dst, socklen_t size) { const unsigned char *p; + int status; if (af != AF_INET) { - errno = EAFNOSUPPORT; + socket_set_errno(EAFNOSUPPORT); return NULL; } - if (cnt < INET_ADDRSTRLEN) { + if (size < INET_ADDRSTRLEN) { errno = ENOSPC; return NULL; } p = src; - snprintf(dst, cnt, "%u.%u.%u.%u", - (unsigned int) (p[0] & 0xff), (unsigned int) (p[1] & 0xff), - (unsigned int) (p[2] & 0xff), (unsigned int) (p[3] & 0xff)); + status = snprintf(dst, size, "%u.%u.%u.%u", + (unsigned int) (p[0] & 0xff), + (unsigned int) (p[1] & 0xff), + (unsigned int) (p[2] & 0xff), + (unsigned int) (p[3] & 0xff)); + if (status < 0) + return NULL; return dst; } diff -Nurp inn-2.5.3/m4/berkeleydb.m4 inn-2.5.4/m4/berkeleydb.m4 --- inn-2.5.3/m4/berkeleydb.m4 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/m4/berkeleydb.m4 2014-05-17 01:24:49.000000000 -0700 @@ -1,10 +1,14 @@ -dnl berkeleydb.m4 -- Find the path to the Berkeley DB libraries. -dnl $Id: berkeleydb.m4 9318 2011-08-06 20:25:00Z iulius $ +dnl berkeleydb.m4 -- Various checks for the Berkeley DB libraries. +dnl $Id: berkeleydb.m4 9592 2013-12-19 17:49:31Z iulius $ dnl dnl This file provides INN_LIB_BERKELEYDB, which defines the --with-berkeleydb dnl command-line option and probes for the location of Berkeley DB if that dnl option is used without an optional path. It looks for Berkeley DB in $prefix, dnl /usr/local and /usr. It then exports DB_LDFLAGS, DB_CPPFLAGS, and DB_LIBS. +dnl +dnl This file also provides INN_LIB_BERKELEYDB_NDBM, which checks whether +dnl Berkeley DB has ndbm support. It then defines HAVE_BDB_NDBM if ndbm +dnl compatibility layer for Berkely DB is available. AC_DEFUN([INN_LIB_BERKELEYDB], [DB_CPPFLAGS= @@ -33,8 +37,10 @@ else if test x"$DB_DIR" = xyes ; then AC_MSG_ERROR([cannot find Berkeley DB]) else - DB_CPPFLAGS="-I$DB_DIR/include" - DB_LDFLAGS="-L$DB_DIR/lib" + if test x"$DB_DIR" != x/usr ; then + DB_CPPFLAGS="-I$DB_DIR/include" + DB_LDFLAGS="-L$DB_DIR/lib" + fi DB_LIBS="-ldb" AC_MSG_RESULT([$DB_DIR]) fi @@ -43,3 +49,36 @@ fi AC_SUBST([DB_CPPFLAGS]) AC_SUBST([DB_LDFLAGS]) AC_SUBST([DB_LIBS])]) + +dnl Source used by INN_LIB_BERKELEYDB_NDBM. +AC_DEFUN([_INN_LIB_BERKELEYDB_NDBM_SOURCE], [[ +#include +#define DB_DBM_HSEARCH 1 +#include + +int +main(void) { + DBM *database; + database = dbm_open("test", 0, 0600); + dbm_close(database); + return 0; +} +]]) + +dnl Check whether Berkeley DB was compiled with ndbm compatibility layer. +dnl If so, set HAVE_BDB_NDBM. +AC_DEFUN([INN_LIB_BERKELEYDB_NDBM], +[inn_save_LDFLAGS="$LDFLAGS" +inn_save_CFLAGS="$CFLAGS" +LDFLAGS="$LDFLAGS $DB_LDFLAGS $DB_LIBS" +CFLAGS="$CFLAGS $DB_CPPFLAGS" +AC_CACHE_CHECK([for working nbdm compatibility layer with Berkeley DB], + [inn_cv_lib_berkeleydb_ndbm_works], + [AC_LINK_IFELSE([AC_LANG_SOURCE([_INN_LIB_BERKELEYDB_NDBM_SOURCE])], + [inn_cv_lib_berkeleydb_ndbm_works=yes], + [inn_cv_lib_berkeleydb_ndbm_works=no])]) +AS_IF([test x"$inn_cv_lib_berkeleydb_ndbm_works" = xyes], + [AC_DEFINE([HAVE_BDB_NDBM], 1, + [Define if the Berkeley DB ndbm compatibility layer is available.])]) +LDFLAGS="$inn_save_LDFLAGS" +CFLAGS="$inn_save_CFLAGS"]) diff -Nurp inn-2.5.3/m4/libtool.m4 inn-2.5.4/m4/libtool.m4 --- inn-2.5.3/m4/libtool.m4 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/m4/libtool.m4 2014-05-17 01:24:49.000000000 -0700 @@ -1021,7 +1021,7 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES], # to the aix ld manual. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl -AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +AC_LINK_IFELSE([AC_LANG_PROGRAM],[ lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { @@ -4826,9 +4826,18 @@ _LT_EOF # implicitly export all symbols. save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - AC_LINK_IFELSE(int foo(void) {}, + AC_LINK_IFELSE( + [AC_LANG_SOURCE( + [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], + [C++], [[int foo (void) { return 0; }]], + [Fortran 77], [[ + subroutine foo + end]], + [Fortran], [[ + subroutine foo + end]])])], [ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - ) + ]) LDFLAGS="$save_LDFLAGS" else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' diff -Nurp inn-2.5.3/nnrpd/misc.c inn-2.5.4/nnrpd/misc.c --- inn-2.5.3/nnrpd/misc.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/nnrpd/misc.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: misc.c 9259 2011-07-17 18:22:50Z iulius $ +/* $Id: misc.c 9497 2013-06-25 17:40:59Z iulius $ ** ** Miscellaneous support routines. */ @@ -335,6 +335,7 @@ GetPostRecord(char *path, long *lastpost if (fgets(buff,SMBUF,fp) == NULL) { syslog(L_ERROR, "%s Error reading '%s': %s", Client.host, path, strerror(errno)); + fclose(fp); return 0; } *lastpost = atol(buff); @@ -342,6 +343,7 @@ GetPostRecord(char *path, long *lastpost if ((s = strchr(buff,',')) == NULL) { syslog(L_ERROR, "%s bad data in postrec file: '%s'", Client.host, buff); + fclose(fp); return 0; } s++; *lastsleep = atol(s); @@ -349,6 +351,7 @@ GetPostRecord(char *path, long *lastpost if ((s = strchr(s,',')) == NULL) { syslog(L_ERROR, "%s bad data in postrec file: '%s'", Client.host, buff); + fclose(fp); return 0; } s++; *lastn = atol(s); diff -Nurp inn-2.5.3/nnrpd/perl.c inn-2.5.4/nnrpd/perl.c --- inn-2.5.3/nnrpd/perl.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/nnrpd/perl.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: perl.c 9421 2012-06-12 21:10:35Z iulius $ +/* $Id: perl.c 9497 2013-06-25 17:40:59Z iulius $ ** ** Embedded Perl support for INN. ** @@ -52,6 +52,7 @@ HandleHeaders(char *article) { dSP; HEADER *hp; + HV *attribs; HV *hdr; SV *body; int rc; @@ -82,7 +83,16 @@ HandleHeaders(char *article) ENTER; SAVETMPS; - /* Create the Perl hash. */ + /* Create the Perl attributes hash. */ + attribs = perl_get_hv("attributes", true); + (void) hv_store(attribs, "hostname", 8, newSVpv(Client.host, 0), 0); + (void) hv_store(attribs, "ipaddress", 9, newSVpv(Client.ip, 0), 0); + (void) hv_store(attribs, "port", 4, newSViv(Client.port), 0); + (void) hv_store(attribs, "interface", 9, newSVpv(Client.serverhost, 0), 0); + (void) hv_store(attribs, "intipaddr", 9, newSVpv(Client.serverip, 0), 0); + (void) hv_store(attribs, "intport", 7, newSViv(Client.serverport), 0); + + /* Create the Perl header hash. */ hdr = perl_get_hv("hdr", true); for (hp = Table; hp < EndOfTable; hp++) { if (hp->Body) @@ -177,6 +187,7 @@ HandleHeaders(char *article) #endif /* DEBUG_MODIFY */ } + hv_undef(attribs); hv_undef(hdr); sv_setsv(body, &PL_sv_undef); @@ -206,6 +217,11 @@ HandleHeaders(char *article) if (buf[0] != '\0') return buf; + +#ifdef DEBUG_MODIFY + fclose(flog); +#endif /* DEBUG_MODIFY */ + return NULL; } @@ -292,6 +308,7 @@ perlAccess(char *user, struct vector *ac } free(buffer); + hv_undef(attribs); PUTBACK; FREETMPS; diff -Nurp inn-2.5.3/nnrpd/perm.c inn-2.5.4/nnrpd/perm.c --- inn-2.5.3/nnrpd/perm.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/nnrpd/perm.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: perm.c 9317 2011-08-06 20:24:27Z iulius $ +/* $Id: perm.c 9603 2014-02-17 13:18:21Z iulius $ ** ** How to figure out where a user comes from, and what that user can do once ** we know who sie is. @@ -284,7 +284,11 @@ copy_method(METHOD *orig) memset(ConfigBit, '\0', ConfigBitsize); ret->name = xstrdup(orig->name); - ret->program = xstrdup(orig->program); + if (orig->program != NULL) { + ret->program = xstrdup(orig->program); + } else { + ret->program = NULL; + } if (orig->users) ret->users = xstrdup(orig->users); else @@ -716,6 +720,10 @@ authdecl_parse(AUTHGROUP *curauth, CONFF tok = CONFgettoken(PERMtoks, f); } + if (m->program == NULL) { + ReportError(f, "Missing 'program:' key."); + } + if (tok == NULL) { ReportError(f, "Unexpected EOF."); } diff -Nurp inn-2.5.3/nnrpd/post.c inn-2.5.4/nnrpd/post.c --- inn-2.5.3/nnrpd/post.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/nnrpd/post.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: post.c 9396 2012-01-14 09:44:57Z iulius $ +/* $Id: post.c 9601 2014-02-17 13:13:43Z iulius $ ** ** Check article, send it to the local server. */ @@ -204,7 +204,7 @@ StripOffHeaders(char *article) for (p = article; ; ) { /* See if it's a known header. */ - c = islower((unsigned char) *p) ? toupper(*p) : *p; + c = islower((unsigned char) *p) ? toupper((unsigned char) *p) : *p; for (hp = Table; hp < ARRAY_END(Table); hp++) { if (c == hp->Name[0] && p[hp->Size] == ':' @@ -864,7 +864,7 @@ OfferArticle(char *buff, int buffsize, F fprintf(ToServer, "IHAVE %s\r\n", HDR(HDR__MESSAGEID)); if (FLUSH_ERROR(ToServer) || fgets(buff, buffsize, FromServer) == NULL) { - snprintf(buff, sizeof(buff), CANTSEND, "IHAVE", strerror(errno)); + snprintf(buff, buffsize, CANTSEND, "IHAVE", strerror(errno)); return -1; } return atoi(buff); @@ -1090,8 +1090,7 @@ ARTpost(char *article, char *idbuff, boo HeaderCleanFrom(frombuf); p = strchr(frombuf, '@'); if (p) { - strlcpy(frombuf, p+1, sizeof(frombuf)); - p = strrchr(frombuf, '.'); + p = strrchr(p+1, '.'); if (!p) { if (modgroup) free(modgroup); diff -Nurp inn-2.5.3/perl/INN/Config.pm.in inn-2.5.4/perl/INN/Config.pm.in --- inn-2.5.3/perl/INN/Config.pm.in 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/perl/INN/Config.pm.in 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -## $Id: Config.pm.in 9311 2011-08-06 20:18:42Z iulius $ +## $Id: Config.pm.in 9568 2013-11-17 20:25:20Z iulius $ ## ## Perl module which sets up any and all variables that an ## INN Perl script might need. @@ -124,7 +124,7 @@ our $perl = '@PERL@'; our $pgp = '@PGP@'; our $sed = '@SED@'; our $sort = '@SORT@'; -our $getftp = '@PATH_GETFTP@'; +our $getftp = "@PATH_GETFTP@"; our $uustat = '@UUSTAT@'; our $uux = '@UUX@'; @@ -277,7 +277,7 @@ F was written by James for InterNetNews in 1996. It was converted to the INN::Config Perl module by Julien Elie in 2007. -$Id: Config.pm.in 9311 2011-08-06 20:18:42Z iulius $ +$Id: Config.pm.in 9568 2013-11-17 20:25:20Z iulius $ =head1 SEE ALSO diff -Nurp inn-2.5.3/samples/control.ctl inn-2.5.4/samples/control.ctl --- inn-2.5.3/samples/control.ctl 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/samples/control.ctl 2014-05-17 01:24:49.000000000 -0700 @@ -1,5 +1,5 @@ ## control.ctl - Access control for control messages. -## Last modified: 2010-12-12 +## Last modified: 2014-04-06 ## ## Based on rone's unified control.ctl file. ## @@ -423,10 +423,16 @@ newgroup:ausadmin@aus.news-admin.org:bne rmgroup:ausadmin@aus.news-admin.org:bne.*:verify-ausadmin@aus.news-admin.org ## BOFH (*PRIVATE* -- Bastard Operator From Hell) -# Contact: myname@myhost.mydomain.com +# Contact: bofh-control@lists.killfile.org +# Key fingerprint: 40B5 8A56 1E00 6152 083E 38B3 CEF5 6980 7DC1 A266 # For private use only, contact the above address for information. -newgroup:*:bofh.*:mail -rmgroup:*:bofh.*:doit +# *PGP* See comment at top of file. +newgroup:*:bofh.*:drop +rmgroup:*:bofh.*:drop +# The following three lines are only for authorized bofh.* sites. +#checkgroups:bofh-control@killfile.org:bofh.*:verify-bofh-control@lists.killfile.org +#newgroup:bofh-control@killfile.org:bofh.*:verify-bofh-control@lists.killfile.org +#rmgroup:bofh-control@killfile.org:bofh.*:verify-bofh-control@lists.killfile.org ## CA (California, USA) # Contact: ikluft@thunder.sbay.org @@ -513,9 +519,12 @@ rmgroup:lisbon@*chi.il.us:chi.*:doit # Contact: mod-cga@usenet.cl # URL: http://www.usenet.cl/ # Admin group: chile.grupos.anuncios -checkgroups:mod-cga@*lj.cl:chile.*:doit -newgroup:mod-cga@*lj.cl:chile.*:doit -rmgroup:mod-cga@*lj.cl:chile.*:doit +checkgroups:mod-cga@*usenet.cl:chile.*:doit +checkgroups:mod-cga@*farah.cl:chile.*:doit +newgroup:mod-cga@*usenet.cl:chile.*:doit +newgroup:mod-cga@*farah.cl:chile.*:doit +rmgroup:mod-cga@*usenet.cl:chile.*:doit +rmgroup:mod-cga@*farah.cl:chile.*:doit ## CHINESE (China and Chinese language groups) checkgroups:pinghua@stat.berkeley.edu:chinese.*:doit @@ -692,6 +701,19 @@ checkgroups:eric@*cirr.com:dfw.*:doit newgroup:eric@*cirr.com:dfw.*:doit rmgroup:eric@*cirr.com:dfw.*:doit +## DICTATOR (Dictator's Handbook) +# Contact: news@dictatorshandbook.net +# URL: http://dictatorshandbook.net/usenet/usenetadmin.html +# Admin group: dictator.announce +# Key URL: http://www.dictatorshandbook.net/usenet/news-public.key +# Key fingerprint: 5C0A 741A F931 D79A D9E9 BBB7 4406 4481 91ED C5F2 +# *PGP* See comment at top of file. +newgroup:*:dictator.*:drop +rmgroup:*:dictator.*:drop +checkgroups:news@dictatorshandbook.net:dictator.*:verify-news@dictatorshandbook.net +newgroup:news@dictatorshandbook.net:dictator.*:verify-news@dictatorshandbook.net +rmgroup:news@dictatorshandbook.net:dictator.*:verify-news@dictatorshandbook.net + ## DK (Denmark) # URL: http://www.usenet.dk/dk-admin/ # Key URL: http://www.usenet.dk/dk-admin/pubkey.html diff -Nurp inn-2.5.3/samples/filter_nnrpd.pl inn-2.5.4/samples/filter_nnrpd.pl --- inn-2.5.3/samples/filter_nnrpd.pl 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/samples/filter_nnrpd.pl 2014-05-17 01:24:49.000000000 -0700 @@ -1,20 +1,22 @@ -# -# $Id: filter_nnrpd.pl 9247 2011-07-17 18:03:49Z iulius $ -# -# Sample perl filtering code for nnrpd hook. -# - -# -# This file is loaded when nnrpd starts up. If it defines a sub named -# `filter_post', then that function will be called during processing of a -# posting. It has access to the headers of the article via the associative -# array `%hdr'. If it returns a null string then the article is accepted -# for posting. A non-null string rejects it, and the value returned is used -# in the rejection message (make sure that such a message is properly encoded -# in UTF-8 so as to comply with the NNTP protocol). -# -# When filtering is disabled, the filter_end() Perl routine is called, -# if defined, prior to the deactivation of the filter. +## $Id: filter_nnrpd.pl 9481 2013-06-06 20:06:48Z iulius $ +## +## This is a sample filter for the Perl nnrpd hook. +## +## See the INN Perl Filtering and Authentication Hooks documentation +## for more information. +## +## This file is loaded when nnrpd starts up. If it defines a sub named +## "filter_post", then that function will be called during processing of a +## posting. It has access to the headers of the article via the associative +## array %hdr, and to useful information about the connection via the +## associative array %attributes. +## If it returns a null string, then the article is accepted for posting. +## A non-null string rejects it, and the value returned is used in the +## rejection message (make sure that such a message is properly encoded +## in UTF-8 so as to comply with the NNTP protocol). +## +## When filtering is disabled, the filter_end() Perl routine is called, +## if defined, prior to the deactivation of the filter. # # Do any initialization steps. @@ -36,7 +38,7 @@ sub filter_post { ### Uncomment this next block to reject articles that have 'make money' ### in their subject, or which have a "Re: " subject, but no References: ### header, or which have an invalid From. - +## ## if ($hdr{"Subject"} =~ /make.*money/i) { ## $rval = "Spam is not acceptable here..." ; ## } elsif ($hdr{'Subject'} =~ /^Re: /o and $hdr{'References'} eq "") { @@ -46,6 +48,12 @@ sub filter_post { ## $rval = "From: is invalid, must be user\@[host.]domain.tld"; ## } +### Uncomment this next block to reject articles that are sent from +### a network outside 10.42.0.0/16. +## +## if ($attributes{'ipaddress'} !~ /^10\.42\./) { +## $rval = "Unauthorized network."; +## } ### The next block rejects articles with too much quoted text, if the ### config hash directs it to. diff -Nurp inn-2.5.3/samples/inn-radius.conf inn-2.5.4/samples/inn-radius.conf --- inn-2.5.3/samples/inn-radius.conf 1969-12-31 16:00:00.000000000 -0800 +++ inn-2.5.4/samples/inn-radius.conf 2014-05-17 01:24:49.000000000 -0700 @@ -0,0 +1,63 @@ +# $Id: inn-radius.conf 9478 2013-05-24 16:28:27Z iulius $ +# +# Sample RADIUS configuration file for the RADIUS readers.conf +# authenticator. If you're not using that authenticator, this file is not +# used. + +server radius { + +# Hostname of the RADIUS server. + +#radhost: radius-server.example.com + +# Port to query on the RADIUS server. + +radport: 1645 + +# Local hostname or IP address. +# +# The RADIUS server expects an IP address; a hostname will be translated +# into an IP address with gethostbyname(). If not given, not included in +# the request (not all RADIUS setups need this information). + +#lochost: news.example.com + +# Local port of connection. +# +# The port the client we're authenticating is connecting to. If not +# given, defaults to 119. You'll only need to set this if you're readers +# are connecting on a non-standard port. + +#locport: 119 + +# Shared secret with RADIUS server. +# +# Be careful not to use the '#' symbol in your secret, since in this +# file that indicates the beginning of a comment. + +#secret: SECRET-WORD + +# Prefix for username. +# +# Before given to the RADIUS server, usernames will be rewritten by +# prepending the prefix, if given, and then appending the suffix, if +# given. + +#prefix: news- + +# Suffix for username. + +#suffix: @example.com + +# Whether to ignore bad reply IP. +# +# If set to false, the RADIUS authenticator will check to ensure that the +# response it receives is from the same IP address as it sent the request +# to (for some added security). If set to true, it will skip this +# verification check (if your RADIUS server has multiple IP addresses or +# if other odd things are going on, it may be perfectly normal for the +# response to come from a different IP address). + +ignore-source: false + +} diff -Nurp inn-2.5.3/samples/innwatch.ctl inn-2.5.4/samples/innwatch.ctl --- inn-2.5.3/samples/innwatch.ctl 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/samples/innwatch.ctl 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -## $Id: innwatch.ctl 7823 2008-05-06 13:04:27Z iulius $ +## $Id: innwatch.ctl 9635 2014-05-14 18:06:11Z iulius $ ## ## Sample control file for innwatch. ## @@ -40,4 +40,4 @@ !!! ${INNDF} ${BATCH} ! lt ! ${INNWATCHBATCHSPACE} ! throttle ! No space (newsq) !!! ${INNDF} ${PATHDB} ! lt ! ${INNWATCHLIBSPACE} ! throttle ! No space (newslib) !!! ${INNDF} -i . ! lt ! ${INNWATCHSPOOLNODES} ! throttle ! No space (spool inodes) -!!! ${INNDF} ${OVERVIEWDIR} ! lt ! ${INNWATCHSPOOLSPACE} ! throttle ! No space (overview) +!!! test -d ${OVERVIEWDIR} && ${INNDF} ${OVERVIEWDIR} ! lt ! ${INNWATCHSPOOLSPACE} ! throttle ! No space (overview) diff -Nurp inn-2.5.3/samples/motd.innd inn-2.5.4/samples/motd.innd --- inn-2.5.3/samples/motd.innd 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/samples/motd.innd 2014-05-17 01:24:49.000000000 -0700 @@ -1,5 +1,49 @@ -Sample "message of the day" file. Any text you put in here will be returned -to the news feeder when it issues the LIST MOTD command to innd. +Here are a few suggestions of messages to display to peers feeding news +articles to the server. -It is not an error if this file does not exist nor if it is empty. However, -it must be encoded in UTF-8. +The contents of this file is displayed in reply to the LIST MOTD command +from feeders. + +Just rename this file to "motd.innd" and adjust its contents to whatever +message of the day (encoded in UTF-8) you want to communicate. It is +not an error if this file does not exist nor if it is empty. + +For more information, please have a look at the generic motd.news +man page. + + +Example 1 +--------- + +Attention all users, + +This server will be down for scheduled upgrades on February 1st. +It should be back up by 8:00 a.m. February 2nd. +Any questions should be e-mailed to . + +Apologies for the disturbance. + + +Example 2 +--------- + +This news server now carries the comp.* hierarchy. Feel free to add +it to the list of hierarchies you feed us. + + +Example 3 +--------- + +This news server no longer accepts articles whose length exceeds 32 +768 bytes. Please configure your server not to send us such articles. + + +Example 4 +--------- + +Starting from February 1st, the IP of this news server will change. +Note that its host name remains the same. + +In case explicit rules based on IP exist at your end (firewall, iptables, +feed configuration, etc.), please update them to use 10.0.0.1 as the +IP of our news server. diff -Nurp inn-2.5.3/samples/motd.nnrpd inn-2.5.4/samples/motd.nnrpd --- inn-2.5.3/samples/motd.nnrpd 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/samples/motd.nnrpd 2014-05-17 01:24:49.000000000 -0700 @@ -1,5 +1,57 @@ -Sample "message of the day" file. Any text you put in here will be returned -to the news reader when it issues the LIST MOTD command to nnrpd. +Here are a few suggestions of messages to display to news readers +accessing the server. -It is not an error if this file does not exist nor if it is empty. However, -it must be encoded in UTF-8. +The contents of this file is displayed in reply to the LIST MOTD command +from readers. + +Just rename this file to "motd.nnrpd" and adjust its contents to whatever +message of the day (encoded in UTF-8) you want to communicate. It is +not an error if this file does not exist nor if it is empty. + +For more information, please have a look at the generic motd.news +man page. + + +Example 1 +--------- + +Attention all users, + +This server will be down for scheduled upgrades on February 1st. +It should be back up by 8:00 a.m. February 2nd. +Any questions should be e-mailed to . + +Apologies for the disturbance. + + +Example 2 +--------- + +Dear customers, + +We are pleased to announce the creation of a support newsgroup, named +"our.company.support". It was created on February 1st and is intended +to receive your questions about the use of our services. Our support +team will usually be responding within a couple of days. + +Please use this new newsgroup as the preferable means to contact us. + + +Example 3 +--------- + +This news server now supports TLS connections. Please configure your +news reader to use TLS when connecting or authenticating. A tutorial +is available in the "our.company.tutorials" newsgroup to help you do +the change. Do not hesitate to ask for help in the "our.company.support" +newsgroup if you encounter issues during the change. + +Starting from February 1st, unencrypted authentications (that is to +say not using TLS) will be rejected. + + +Example 4 +--------- + +Support for a new SASL mechanism has been added: OPENID20 can now be +used to authenticate. Feel free to use it! diff -Nurp inn-2.5.3/samples/newsfeeds.in inn-2.5.4/samples/newsfeeds.in --- inn-2.5.3/samples/newsfeeds.in 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/samples/newsfeeds.in 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -## $Id: newsfeeds.in 9321 2011-08-06 20:43:45Z iulius $ +## $Id: newsfeeds.in 9502 2013-07-01 17:39:30Z iulius $ ## ## newsfeeds - determine where Usenet articles get sent ## @@ -31,16 +31,19 @@ ## ## "/distrib" for this feed entry specifies what distributions the server ## will accept. If any distributions are listed there, the server will -## accept only articles with those distributions. If all the -## distributions listed are negated (starting with !), then the server -## will only accept articles without those distributions. +## accept only articles with those distributions and articles that do not +## have a Distribution: header field. If all the distributions listed are +## negated (starting with "!"), then the server will only accept articles +## without those distributions and articles that do not have a Distribution: +## header field. ## ## For the ME line (and the ME line *only*), patterns affect *outgoing* ## feeds and distributions affect *incoming* feeds (including local posts). # Empty default subscription list, reject all incoming articles (including # locally posted articles) with a distribution of "local" or -# "collabra-internal", accept all others. +# "collabra-internal", accept all others (including articles that do not +# have a Distribution: header field). ME:!*/!local,!collabra-internal:: # The same as the above, but would reject all posts that have diff -Nurp inn-2.5.3/samples/radius.conf inn-2.5.4/samples/radius.conf --- inn-2.5.3/samples/radius.conf 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/samples/radius.conf 1969-12-31 16:00:00.000000000 -0800 @@ -1,63 +0,0 @@ -# $Id: radius.conf 7555 2006-08-28 02:00:23Z eagle $ -# -# Sample RADIUS configuration file for the RADIUS readers.conf -# authenticator. If you're not using that authenticator, this file is not -# used. - -server radius { - -# Hostname of the RADIUS server. - -#radhost: radius-server.example.com - -# Port to query on the RADIUS server. - -radport: 1645 - -# Local hostname or IP address. -# -# The RADIUS server expects an IP address; a hostname will be translated -# into an IP address with gethostbyname(). If not given, not included in -# the request (not all RADIUS setups need this information). - -#lochost: news.example.com - -# Local port of connection. -# -# The port the client we're authenticating is connecting to. If not -# given, defaults to 119. You'll only need to set this if you're readers -# are connecting on a non-standard port. - -#locport: 119 - -# Shared secret with RADIUS server. -# -# Be careful not to use the '#' symbol in your secret, since in this -# file that indicates the beginning of a comment. - -#secret: SECRET-WORD - -# Prefix for username. -# -# Before given to the RADIUS server, usernames will be rewritten by -# prepending the prefix, if given, and then appending the suffix, if -# given. - -#prefix: news- - -# Suffix for username. - -#suffix: @example.com - -# Whether to ignore bad reply IP. -# -# If set to false, the RADIUS authenticator will check to ensure that the -# response it receives is from the same IP address as it sent the request -# to (for some added security). If set to true, it will skip this -# verification check (if your RADIUS server has multiple IP addresses or -# if other odd things are going on, it may be perfectly normal for the -# response to come from a different IP address). - -ignore-source: false - -} diff -Nurp inn-2.5.3/scripts/inncheck.in inn-2.5.4/scripts/inncheck.in --- inn-2.5.3/scripts/inncheck.in 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/scripts/inncheck.in 2014-05-17 01:24:49.000000000 -0700 @@ -1,7 +1,7 @@ #! /usr/bin/perl -w # fixscript will replace this line with code to load INN::Config -## $Id: inncheck.in 9425 2012-06-14 20:13:09Z iulius $ +## $Id: inncheck.in 9636 2014-05-14 18:06:52Z iulius $ ## Sanity-check the configuration of an INN system ## by Brendan Kehoe and Rich $alz. @@ -214,8 +214,9 @@ parse_config $parse_error = 0; eprint "$file:$line: cannot nest $word in $group->{'type'}!\n" - unless ($group->{'type'} eq 'group' - || $group->{'type'} eq ''); + unless (($group->{'type'} eq 'group' + or $group->{'type'} eq '') + or ($word eq 'res' and $group->{'type'} eq 'auth')); push @groups, $group; $group = { 'type' => $word, 'line' => $line }; @@ -975,11 +976,16 @@ readers_conf 'spoolfirst' => 'boolean', 'strippostcc' => 'boolean', }, + 'res' => { + 'log' => 'string', + 'program' => 'string', + }, '' => { # hack: "don't warn about duplicates for these keys" 'res' => 1, 'auth' => 1, 'perl_auth' => 1, 'python_auth' => 1, + 'log' => 1, }, '' => { 'include' => 'ignore' }, } @@ -1030,7 +1036,7 @@ checkperm die "Internal error, undefined name in perm from ", (caller(0))[2], "\n" if !defined $f; die "Internal error, undefined mode in perm from ", (caller(0))[2], "\n" - if !defined @$m; + unless (@$m); if ( ! -e $f ) { eprint "$pfx$f:0: missing\n"; diff -Nurp inn-2.5.3/scripts/innreport_inn.pm inn-2.5.4/scripts/innreport_inn.pm --- inn-2.5.3/scripts/innreport_inn.pm 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/scripts/innreport_inn.pm 2014-05-17 01:24:49.000000000 -0700 @@ -1,7 +1,7 @@ ########################################################################## # INN module for innreport (3.*). # -# $Id: innreport_inn.pm 9275 2011-07-17 19:09:26Z iulius $ +# $Id: innreport_inn.pm 9636 2014-05-14 18:06:52Z iulius $ # # Sample file tested with INN 2.5, 2.4, 2.3, 2.2, 1.7.2 and 1.5.1. # @@ -422,8 +422,8 @@ sub collect($$$$$$) { $inn_badart{$server}++; return 1; } - # 437 article includes "....." - if ($left =~ /(\S+) <[^>]+> (?:437|439) article includes/o) { + # Article accepted but includes "....." + if ($left =~ /(\S+) <[^>]+> Article accepted but includes/o) { my $server = $1; $server = lc $server unless $CASE_SENSITIVE; $innd_strange_strings{$server}++; @@ -781,6 +781,8 @@ sub collect($$$$$$) { $innd_control{"shutdown"}++; return 1; } + # re-executed + return 1 if $left =~ m/^SERVER execv /o; # SERVER servermode paused return 1 if ($left =~ /(\S+) servermode paused$/o); # SERVER servermode running @@ -1499,6 +1501,12 @@ sub collect($$$$$$) { return 1 if $left =~ /^python: dynamic access module successfully hooked into nnrpd$/o; return 1 if $left =~ /^python: dynamic authorization access for read access granted$/o; return 1 if $left =~ /^python: dynamic authorization access type is not known: /o; + # during scanlogs + return 1 if $left =~ /^\S+ rejected Flushing log and syslog files$/o; + return 1 if $left =~ /^\S+ rejected Snapshot log and syslog files$/o; + # other logs that should not be reported as errors + return 1 if $left =~ /^\S+ auth also-log: /o; + return 1 if $left =~ /^\S+ res also-log: /o; # connect if ($left =~ /(\S+) (\([0-9a-fA-F:.]*\) )?connect(?: - port \d+)?$/o) { my $cust = $1; diff -Nurp inn-2.5.3/scripts/innshellvars.in inn-2.5.4/scripts/innshellvars.in --- inn-2.5.3/scripts/innshellvars.in 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/scripts/innshellvars.in 2014-05-17 01:24:49.000000000 -0700 @@ -1,5 +1,5 @@ #! /bin/sh -## $Id: innshellvars.in 9146 2010-10-30 09:55:04Z iulius $ +## $Id: innshellvars.in 9568 2013-11-17 20:25:20Z iulius $ ## Set up any and all shell variables that an INN shell script ## might need. Also sets umask. @@ -81,7 +81,7 @@ PERL='@PERL@' GPGV='@GPGV@' PGP='@PGP@' SORT='@SORT@' -GETFTP='@PATH_GETFTP@' +GETFTP="@PATH_GETFTP@" UUSTAT='@UUSTAT@' UUX='@UUX@' diff -Nurp inn-2.5.3/scripts/innshellvars.pl.in inn-2.5.4/scripts/innshellvars.pl.in --- inn-2.5.3/scripts/innshellvars.pl.in 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/scripts/innshellvars.pl.in 2014-05-17 01:24:49.000000000 -0700 @@ -6,7 +6,7 @@ # Start Date: Sat, 24 Aug 1996 22:08:19 +0200 # Project: INN # File: innshellvars.pl -# RCSId: $Id: innshellvars.pl.in 9146 2010-10-30 09:55:04Z iulius $ +# RCSId: $Id: innshellvars.pl.in 9568 2013-11-17 20:25:20Z iulius $ # Description: Set up any and all variables that an INN perl script # might need. Also sets umask. # @@ -93,7 +93,7 @@ $perl = '@PERL@' ; $gpgv = '@GPGV@' ; $pgp = '@PGP@' ; $sort = '@SORT@' ; -$getftp = '@PATH_GETFTP@' ; +$getftp = "@PATH_GETFTP@" ; $uustat = '@UUSTAT@' ; $uux = '@UUX@' ; diff -Nurp inn-2.5.3/scripts/innupgrade.in inn-2.5.4/scripts/innupgrade.in --- inn-2.5.3/scripts/innupgrade.in 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/scripts/innupgrade.in 2014-05-17 01:24:49.000000000 -0700 @@ -1,6 +1,6 @@ #! /usr/bin/perl -w -T -## $Id: innupgrade.in 9167 2011-01-24 21:24:23Z iulius $ +## $Id: innupgrade.in 9478 2013-05-24 16:28:27Z iulius $ ## ## Convert INN configuration files to the current syntax. ## @@ -66,7 +66,9 @@ use Getopt::Long qw(GetOptions); 'filter.tcl' => 'filter.tcl.OLD', 'startup.tcl' => 'startup.tcl.OLD', - 'motd.news' => 'motd.nnrpd' # Rename in INN 2.5.3. + 'motd.news' => 'motd.nnrpd', # Rename in INN 2.5.3. + 'radius.conf' => 'inn-radius.conf', # Rename in INN 2.5.4. + 'radius.conf.5' => '' ); # Clean up inn.conf for the new parser in INN 2.4. Null keys (keys without diff -Nurp inn-2.5.3/scripts/rc.news.in inn-2.5.4/scripts/rc.news.in --- inn-2.5.3/scripts/rc.news.in 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/scripts/rc.news.in 2014-05-17 01:24:49.000000000 -0700 @@ -1,12 +1,12 @@ #! /bin/sh # fixscript will replace this line with code to load innshellvars -## $Revision: 9340 $ +## $Revision: 9599 $ ## News boot script. Runs as "news" user. Run from rc.whatever as: -## su news -c /path/to/rc.news >/dev/console +## su news -s /bin/sh -c /path/to/rc.news >/dev/console ## ## Or to stop INN: -## su news -c '/path/to/rc.news stop' +## su news -s /bin/sh -c '/path/to/rc.news stop' waitforpid() { diff -Nurp inn-2.5.3/scripts/scanlogs.in inn-2.5.4/scripts/scanlogs.in --- inn-2.5.3/scripts/scanlogs.in 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/scripts/scanlogs.in 2014-05-17 01:24:49.000000000 -0700 @@ -1,7 +1,7 @@ #! /bin/sh # fixscript will replace this line with code to load innshellvars -## $Id: scanlogs.in 9062 2010-05-20 19:05:30Z iulius $ +## $Id: scanlogs.in 9479 2013-06-03 18:12:39Z iulius $ ## ## Summarize INN log files and rotate them. ## Used by news.daily. @@ -25,6 +25,7 @@ CONTROLBATCH=${MOST_LOGS}/controlbatch.l INNFEEDCONF=${PATHETC}/innfeed.conf if [ -f "${INNFEEDCONF}" ]; then INNFEEDLOG=`${AWK} '{gsub(/:|#/, " & ")} {if ($1 == "log-file" && $2 == ":") print $3}' ${INNFEEDCONF}` + INNFEEDPIDFILE=`${AWK} '{gsub(/:|#/, " & ")} {if ($1 == "pid-file" && $2 == ":") print $3}' ${INNFEEDCONF}` fi INNFEED= for F in "${INNFEEDLOG}" ; do @@ -111,6 +112,9 @@ if ${ROTATE} ; then ctlinnd -s logmode PAUSED=false ctlinnd -s pause "Flushing log and syslog files" 2>&1 && PAUSED=true + + ## First, flush log files to be sure everything has been recorded + ## before rotating them. OUTPUT=`ctlinnd flushlogs 2>&1` if [ "$OUTPUT" != "Ok" -a "$OUTPUT" != "In debug mode" ]; then echo "$OUTPUT" @@ -157,6 +161,19 @@ if ${ROTATE} ; then ## Tally control messages if we logged them. test -n "${CONTROL_DATA}" && cat ${CONTROL_DATA} | ${TALLY_CONTROL} + ## Find out the PID of innfeed now and not at the beginning of scanlogs + ## because it is restarted when running ctlinnd flushlogs. + INNFEEDPID= + for F in "${INNFEEDPIDFILE}" ; do + test -f "${PATHRUN}/${F}" && INNFEEDPID=`cat "${PATHRUN}/${F}"` + done + test -z "${INNFEEDPID}" && test -f "${PATHRUN}/innfeed.pid" && INNFEEDPID=`cat "${PATHRUN}/innfeed.pid"` + + ## Send a HUP signal to innfeed so that it reopens its log files. + if [ ! -z ${INNFEEDPID} ]; then + kill -HUP ${INNFEEDPID} > /dev/null 2>&1 + fi + ${PAUSED} && ctlinnd -s go "Flushing log and syslog files" 2>&1 cd ${OLD} diff -Nurp inn-2.5.3/site/Makefile inn-2.5.4/site/Makefile --- inn-2.5.3/site/Makefile 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/site/Makefile 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -## $Revision: 9146 $ +## $Revision: 9605 $ include ../Makefile.global top = .. @@ -40,13 +40,13 @@ PATH_NNTPPASS = ${PATHETC}/passwd.nntp PATH_CTLWATCH = ${PATHETC}/innwatch.ctl PATH_ACTSYNC_IGN = ${PATHETC}/actsync.ign PATH_ACTSYNC_CFG = ${PATHETC}/actsync.cfg -PATH_MOTD_INND = ${PATHETC}/motd.innd -PATH_MOTD_NNRPD = ${PATHETC}/motd.nnrpd +PATH_MOTD_INND = ${PATHETC}/motd.innd.sample +PATH_MOTD_NNRPD = ${PATHETC}/motd.nnrpd.sample PATH_STORAGECONF = ${PATHETC}/storage.conf PATH_CYCBUFFCONFIG = ${PATHETC}/cycbuff.conf PATH_INNFEEDCTL = ${PATHETC}/innfeed.conf PATH_BUFFINDEXED = ${PATHETC}/buffindexed.conf -PATH_RADIUS_CONF = ${PATHETC}/radius.conf +PATH_RADIUS_CONF = ${PATHETC}/inn-radius.conf PATH_OVDB_CONF = ${PATHETC}/ovdb.conf PATH_SENDUUCP_CF = ${PATHETC}/send-uucp.cf PATH_SUBSCRIPTIONS = ${PATHETC}/subscriptions @@ -69,7 +69,7 @@ REST = \ nnrpd.py \ nnrpd_auth.pl nnrpd_access.pl nocem.ctl \ news2mail.cf readers.conf \ - radius.conf nnrpd_auth.py nnrpd_access.py nnrpd_dynamic.py \ + inn-radius.conf nnrpd_auth.py nnrpd_access.py nnrpd_dynamic.py \ ovdb.conf active.minimal \ newsgroups.minimal send-uucp.cf subscriptions @@ -184,7 +184,7 @@ COPY_XPUB = $(CP_XPUB) $D$(PATH_INNDHOSTS): incoming.conf ; $(COPY_RPRI) $? $@ $D$(PATH_NEWSFEEDS): newsfeeds ; $(COPY_RPUB) $? $@ $D$(PATH_READERSCONF): readers.conf ; $(COPY_RPUB) $? $@ -$D$(PATH_RADIUS_CONF): radius.conf ; $(COPY_RPRI) $? $@ +$D$(PATH_RADIUS_CONF): inn-radius.conf ; $(COPY_RPRI) $? $@ $D$(PATH_NNRPDTRACK): nnrpd.track ; $(COPY_RPUB) $? $@ $D$(PATH_CONTROLCTL): control.ctl ; $(COPY_RPUB) $? $@ $D$(PATH_CONTROLCTLLOCAL): control.ctl.local ; $(COPY_RPUB) $? $@ @@ -282,7 +282,7 @@ nocem.ctl: ../samples/nocem.ctl ; $(COP parsecontrol: ../samples/parsecontrol ; $(COPY) $? $@ passwd.nntp: ../samples/passwd.nntp ; $(COPY) $? $@ readers.conf: ../samples/readers.conf ; $(COPY) $? $@ -radius.conf: ../samples/radius.conf ; $(COPY) $? $@ +inn-radius.conf: ../samples/inn-radius.conf ; $(COPY) $? $@ startup_innd.pl: ../samples/startup_innd.pl ; $(COPY) $? $@ send-uucp.cf: ../samples/send-uucp.cf ; $(COPY) $? $@ subscriptions: ../samples/subscriptions ; $(COPY) $? $@ diff -Nurp inn-2.5.3/storage/timecaf/caf.c inn-2.5.4/storage/timecaf/caf.c --- inn-2.5.3/storage/timecaf/caf.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/storage/timecaf/caf.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: caf.c 8626 2009-09-07 09:06:42Z iulius $ +/* $Id: caf.c 9493 2013-06-25 17:14:34Z iulius $ ** ** Library routines needed for handling CAF (Crunched Article Files) ** Written by Richard Todd (rmtodd@mailhost.ecn.uoknor.edu) 3/24/96, @@ -1559,15 +1559,14 @@ CAFClean(char *path, int verbose, double ** this next fseeko might actually fail, because we have buffered ** stuff that might fail on write. */ - if (fseeko(infile, sizeof(CAFHEADER) + head.FreeZoneTabSize, - SEEK_SET) < 0) { - perror(path); - free(tocarray); - free(newpath); - fclose(infile); - unlink(newpath); - return -1; - } + if (fseeko(infile, sizeof(CAFHEADER) + head.FreeZoneTabSize, + SEEK_SET) < 0) { + perror(path); + free(tocarray); + free(newpath); + fclose(infile); + return -1; + } if (fwrite(tocarray, sizeof(CAFTOCENT), head.High - newlow + 1, infile) < head.High - newlow + 1 || fflush(infile) < 0) { CAFError(CAF_ERR_IO); @@ -1682,7 +1681,9 @@ CAFClean(char *path, int verbose, double /* initialize blocksize, zeroes buffer. */ blocksize = newhead.BlockSize; - if (blocksize == 0) blocksize=CAF_DEFAULT_BLOCKSIZE; + if (blocksize == 0) { + blocksize=CAF_DEFAULT_BLOCKSIZE; + } zerobuff = xcalloc(blocksize, 1); diff -Nurp inn-2.5.3/storage/tradspool/tradspool.c inn-2.5.4/storage/tradspool/tradspool.c --- inn-2.5.3/storage/tradspool/tradspool.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/storage/tradspool/tradspool.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: tradspool.c 9024 2010-03-21 16:49:30Z iulius $ +/* $Id: tradspool.c 9608 2014-02-17 19:12:15Z iulius $ ** ** Storage manager module for traditional spool format. */ @@ -454,6 +454,11 @@ tradspool_init(SMATTRIBUTE *attr) { SMseterror(SMERR_INTERNAL, "attr is NULL"); return false; } + /* Though a few parts of tradspool handle both values for storeonxref, + * the implementation when storeonxref is false is not complete. + * For instance, CrackXref() is still called on the Newsgroups: header + * once, which obviously fails. + */ if (!innconf->storeonxref) { warn("tradspool: storeonxref needs to be true"); SMseterror(SMERR_INTERNAL, "storeonxref needs to be true"); diff -Nurp inn-2.5.3/support/config.guess inn-2.5.4/support/config.guess --- inn-2.5.3/support/config.guess 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/support/config.guess 2014-05-17 01:24:49.000000000 -0700 @@ -1,14 +1,12 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011, 2012 Free Software Foundation, Inc. +# Copyright 1992-2014 Free Software Foundation, Inc. -timestamp='2012-06-10' +timestamp='2014-03-23' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -22,19 +20,17 @@ timestamp='2012-06-10' # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner. Please send patches (context -# diff format) to and include a ChangeLog -# entry. +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). # -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. +# Originally written by Per Bothner. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# +# Please send patches with a ChangeLog entry to config-patches@gnu.org. + me=`echo "$0" | sed -e 's,.*/,,'` @@ -54,9 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 -Free Software Foundation, Inc. +Copyright 1992-2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -138,6 +132,27 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` | UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown +case "${UNAME_SYSTEM}" in +Linux|GNU|GNU/*) + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + LIBC=gnu + + eval $set_cc_for_build + cat <<-EOF > $dummy.c + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #else + LIBC=gnu + #endif + EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + ;; +esac + # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in @@ -200,6 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} @@ -302,7 +321,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) + arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) @@ -801,10 +820,13 @@ EOF i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; + *:MINGW64*:*) + echo ${UNAME_MACHINE}-pc-mingw64 + exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; - i*:MSYS*:*) + *:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) @@ -852,21 +874,21 @@ EOF exit ;; *:GNU:*:*) # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in @@ -879,59 +901,54 @@ EOF EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + if test "$?" = 0 ; then LIBC="gnulibc1" ; fi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo ${UNAME_MACHINE}-unknown-linux-gnueabi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi else - echo ${UNAME_MACHINE}-unknown-linux-gnueabihf + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf fi fi exit ;; avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:Linux:*:*) - LIBC=gnu - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build @@ -950,54 +967,63 @@ EOF #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; - or32:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + openrisc*:Linux:*:*) + echo or1k-unknown-linux-${LIBC} + exit ;; + or32:Linux:*:* | or1k*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*) - echo sparc-unknown-linux-gnu + echo sparc-unknown-linux-${LIBC} exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + echo hppa64-unknown-linux-${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; + PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; + PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; + *) echo hppa-unknown-linux-${LIBC} ;; esac exit ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu + echo powerpc64-unknown-linux-${LIBC} exit ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu + echo powerpc-unknown-linux-${LIBC} + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-${LIBC} + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-${LIBC} exit ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux + echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu + echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. @@ -1201,6 +1227,9 @@ EOF BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; @@ -1227,19 +1256,31 @@ EOF exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - i386) - eval $set_cc_for_build - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - UNAME_PROCESSOR="x86_64" - fi - fi ;; - unknown) UNAME_PROCESSOR=powerpc ;; - esac + eval $set_cc_for_build + if test "$UNAME_PROCESSOR" = unknown ; then + UNAME_PROCESSOR=powerpc + fi + if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # Avoid executing cc on OS X 10.9, as it ships with a stub + # that puts up a graphical alert prompting to install + # developer tools. Any system running Mac OS X 10.7 or + # later (Darwin 11 and later) is required to have a 64-bit + # processor. This is not true of the ARM version of Darwin + # that Apple uses in portable devices. + UNAME_PROCESSOR=x86_64 + fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) @@ -1330,157 +1371,6 @@ EOF exit ;; esac -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix\n"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd - exit ;; - esac -fi - cat >&2 <. @@ -26,11 +20,12 @@ timestamp='2012-04-18' # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). -# Please send patches to . Submit a context -# diff and a properly formatted GNU ChangeLog entry. +# Please send patches with a ChangeLog entry to config-patches@gnu.org. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -73,9 +68,7 @@ Report bugs and patches to &2 - exit 1;; - esac - shift;; + case $mode in + *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; -o) chowncmd="$chownprog $2" - shift;; + shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 - # Protect names problematic for `test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - shift;; + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; - --) shift - break;; + --) shift + break;; - -*) echo "$0: invalid option: $1" >&2 - exit 1;; + -*) echo "$0: invalid option: $1" >&2 + exit 1;; *) break;; esac @@ -210,7 +194,7 @@ if test $# -ne 0 && test -z "$dir_arg$ds fi shift # arg dst_arg=$arg - # Protect names problematic for `test' and other utilities. + # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac @@ -222,7 +206,7 @@ if test $# -eq 0; then echo "$0: no input file specified." >&2 exit 1 fi - # It's OK to call `install-sh -d' without argument. + # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi @@ -243,16 +227,16 @@ if test -z "$dir_arg"; then *[0-7]) if test -z "$stripcmd"; then - u_plus_rw= + u_plus_rw= else - u_plus_rw='% 200' + u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then - u_plus_rw= + u_plus_rw= else - u_plus_rw=,u+rw + u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac @@ -260,7 +244,7 @@ fi for src do - # Protect names problematic for `test' and other utilities. + # Protect names problematic for 'test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac @@ -299,40 +283,14 @@ do # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 + echo "$0: $dst_arg: Is a directory" >&2 + exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else - # Prefer dirname, but fall back on a substitute if dirname fails. - dstdir=` - (dirname "$dst") 2>/dev/null || - expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$dst" : 'X\(//\)[^/]' \| \ - X"$dst" : 'X\(//\)$' \| \ - X"$dst" : 'X\(/\)' \| . 2>/dev/null || - echo X"$dst" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q' - ` - + dstdir=`dirname "$dst"` test -d "$dstdir" dstdir_status=$? fi @@ -343,74 +301,74 @@ do if test $dstdir_status != 0; then case $posix_mkdir in '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - - if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writeable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/d" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null - fi - trap '' 0;; - esac;; + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; + + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac + + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode + else + mkdir_mode= + fi + + posix_mkdir=false + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 + + if (umask $mkdir_umask && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + ls_ld_tmpdir=`ls -ld "$tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/d" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + fi + trap '' 0;; + esac;; esac if $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else @@ -420,53 +378,51 @@ do # directory the slow way, step by step, checking for races as we go. case $dstdir in - /*) prefix='/';; - [-=\(\)!]*) prefix='./';; - *) prefix='';; + /*) prefix='/';; + [-=\(\)!]*) prefix='./';; + *) prefix='';; esac - eval "$initialize_posix_glob" - oIFS=$IFS IFS=/ - $posix_glob set -f + set -f set fnord $dstdir shift - $posix_glob set +f + set +f IFS=$oIFS prefixes= for d do - test X"$d" = X && continue + test X"$d" = X && continue - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= + else + if $posix_mkdir; then + (umask=$mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi + fi + prefix=$prefix/ done if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true fi fi fi @@ -501,15 +457,12 @@ do # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - - eval "$initialize_posix_glob" && - $posix_glob set -f && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && - $posix_glob set +f && - + set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then @@ -528,24 +481,24 @@ do # to itself, or perhaps because mv is so ancient that it does not # support -f. { - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + test ! -f "$dst" || + $doit $rmcmd -f "$dst" 2>/dev/null || + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && + { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + } || + { echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + } && - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 diff -Nurp inn-2.5.3/support/mkmanifest inn-2.5.4/support/mkmanifest --- inn-2.5.3/support/mkmanifest 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/support/mkmanifest 2014-05-17 01:24:49.000000000 -0700 @@ -1,6 +1,6 @@ #! /usr/bin/perl -w -## $Id: mkmanifest 9304 2011-08-04 22:10:47Z iulius $ +## $Id: mkmanifest 9478 2013-05-24 16:28:27Z iulius $ ## ## Generate a filename-only manifest from an INN tree. ## @@ -215,6 +215,7 @@ site/filter_innd.pl site/filter_innd.py site/filter_nnrpd.pl site/incoming.conf +site/inn-radius.conf site/inn.conf site/innfeed.conf site/innreport.conf @@ -241,7 +242,6 @@ site/nntpsend.ctl site/nocem.ctl site/ovdb.conf site/passwd.nntp -site/radius.conf site/readers.conf site/send-uucp.cf site/startup_innd.pl @@ -285,7 +285,7 @@ tests/lib/network.t tests/lib/pread.t tests/lib/pwrite.t tests/lib/qio.t -tests/lib/setenv.tr +tests/lib/setenv.t tests/lib/snprintf.t tests/lib/strlcat.t tests/lib/strlcpy.t diff -Nurp inn-2.5.3/tests/Makefile inn-2.5.4/tests/Makefile --- inn-2.5.3/tests/Makefile 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/tests/Makefile 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -## $Id: Makefile 9352 2011-08-19 15:16:19Z iulius $ +## $Id: Makefile 9458 2013-01-16 21:57:16Z iulius $ include ../Makefile.global @@ -17,14 +17,14 @@ TESTS = authprogs/ident.t innd/artparse. lib/hashtab.t lib/hex.t lib/hstrerror.t lib/inet_aton.t \ lib/inet_ntoa.t lib/inet_ntop.t lib/innconf.t lib/list.t lib/md5.t \ lib/memcmp.t lib/messages.t lib/mkstemp.t lib/network.t lib/pread.t \ - lib/pwrite.t lib/qio.t lib/snprintf.t lib/strlcat.t \ + lib/pwrite.t lib/qio.t lib/setenv.t lib/snprintf.t lib/strlcat.t \ lib/strlcpy.t lib/tst.t lib/uwildmat.t lib/vector.t lib/wire.t \ lib/xwrite.t nnrpd/auth-ext.t overview/api.t overview/buffindexed.t \ overview/tradindexed.t overview/xref.t util/innbind.t ## Extra stuff that needs to be built before tests can be run. -EXTRA = runtests clients/server-list lib/setenv.tr lib/xmalloc +EXTRA = runtests clients/server-list lib/xmalloc all check test tests: $(TESTS) $(EXTRA) ./runtests TESTS @@ -198,7 +198,7 @@ lib/qio.t: lib/qio-t.o libtest.o $(LIBIN lib/setenv.o: ../lib/setenv.c $(CC) $(CFLAGS) -DTESTING -c -o $@ ../lib/setenv.c -lib/setenv.tr: lib/setenv.o lib/setenv-t.o libtest.o $(LIBINN) +lib/setenv.t: lib/setenv.o lib/setenv-t.o libtest.o $(LIBINN) $(LINK) lib/setenv.o lib/setenv-t.o libtest.o $(LIBINN) lib/snprintf.o: ../lib/snprintf.c diff -Nurp inn-2.5.3/tests/lib/setenv-t.c inn-2.5.4/tests/lib/setenv-t.c --- inn-2.5.3/tests/lib/setenv-t.c 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/tests/lib/setenv-t.c 2014-05-17 01:24:49.000000000 -0700 @@ -1,4 +1,4 @@ -/* $Id: setenv-t.c 7585 2006-11-21 09:37:51Z eagle $ */ +/* $Id: setenv-t.c 9458 2013-01-16 21:57:16Z iulius $ */ /* setenv test suite. */ #include "config.h" @@ -18,13 +18,10 @@ static const char test_value2[] = "Do no int main(void) { - char *value; - int status; - if (getenv(test_var)) die("%s already in the environment!", test_var); - test_init(12); + test_init(8); ok(1, test_setenv(test_var, test_value1, 0) == 0); ok_string(2, test_value1, getenv(test_var)); @@ -35,22 +32,5 @@ main(void) ok(7, test_setenv(test_var, "", 1) == 0); ok_string(8, "", getenv(test_var)); - /* We're run by a shell script wrapper that sets resource limits such - that we can allocate one string of this size but not two. Note that - Linux doesn't support data limits, so skip if we get an unexpected - success here. */ - value = xmalloc(100 * 1024); - memset(value, 'A', 100 * 1024 - 1); - value[100 * 1024 - 1] = 0; - ok(9, test_setenv(test_var, value, 0) == 0); - ok_string(10, "", getenv(test_var)); - status = test_setenv(test_var, value, 1); - if (status == 0) { - skip_block(11, 2, "no data limit support"); - } else { - ok(11, (status == -1) && (errno == ENOMEM)); - ok_string(12, "", getenv(test_var)); - } - return 0; } diff -Nurp inn-2.5.3/tests/lib/setenv.t inn-2.5.4/tests/lib/setenv.t --- inn-2.5.3/tests/lib/setenv.t 2012-06-15 11:25:36.000000000 -0700 +++ inn-2.5.4/tests/lib/setenv.t 1969-12-31 16:00:00.000000000 -0800 @@ -1,17 +0,0 @@ -#! /bin/sh -# $Id: setenv.t 6542 2003-12-26 01:31:26Z rra $ -# -# Wrapper around the setenv test suite to set a resource limit low enough -# that two strings over 100KB can't both be allocated, allowing the memory -# allocation failure code in setenv to be exercised. Done with this -# wrapper because ulimit is more easily portable than the corresponding C -# code. - -# Find where the test suite is. -setenv=setenv.tr -for file in ./setenv.tr lib/setenv.tr tests/lib/setenv.tr ; do - [ -x $file ] && setenv=$file -done - -ulimit -d 150 -exec $setenv