2008-06-29 iulius * lib/perl.c: Use snprintf instead of asprintf. * doc/hook-python, doc/pod/hook-python.pod: Use initial capital letters for head titles. * NEWS, doc/pod/news.pod, lib/perl.c: Fixed a hang in Perl hooks on (at least) HP/PA since Perl 5.10. On such architectures, pthread_mutex_lock() hangs inside perl_parse() if PERL_SYS_INIT3() hasn't been called. Also rewrite "do" and "eval" calls to use perl_eval_pv(). 2008-06-25 iulius * samples/innreport.conf.in: For two sections in innreport.conf there is a mismatch between sort function and sorted hash. Thanks to Alexander Bartolich for this patch. 2008-06-24 iulius * NEWS, doc/pod/news.pod, scripts/innreport_inn.pm: Fix another long-standing bug in innreport which prevented it from correctly reporting innfeed log messages. * scripts/innreport_inn.pm: Suppress a few other nnrpd and controlchan notices in innreport. 2008-06-23 iulius * NEWS, doc/pod/news.pod: Add changelog for innreport. * NEWS, doc/pod/news.pod: Changelog for INN 2.4.5 :-) * doc/hook-python: Update the auto-generated documentation for INN 2.4.5. * scripts/innreport_inn.pm: Fix a long-standing bug in innreport which prevented it from correctly reporting nnrpd log messages. * scripts/innreport_inn.pm: Suppress a few warnings in innreport (especially from Python hooks and nnrpd). Also backport some other improvements made in TRUNK. * site, site/.cvsignore, site/Makefile: Install nnrpd.py which previously was not. * MANIFEST, samples/nnrpd_access.py, samples/nnrpd_auth.py, samples/nnrpd_dynamic.py, site, site/.cvsignore, site/Makefile: Update the Python nnrpd filter. New samples for access and dynamic hooks. 2008-06-22 iulius * samples/filter_innd.py: Update the Python innd filter. * doc/pod/hook-python.pod: Typo (canceled -> cancelled). * samples/nnrpd_access_wrapper.py, samples/nnrpd_auth_wrapper.py, samples/nnrpd_dynamic_wrapper.py: Update old Python wrappers. * samples/INN.py, samples/nnrpd.py: Update stub Python scripts. Fix a compilation problem with INN.py (undefined variable) and add missing methods. * doc/hook-python, doc/man/readers.conf.5, doc/pod/hook-python.pod, doc/pod/readers.conf.pod: Update POD documentation for Python hooks. It is a complete proof-reading. * nnrpd/python.c: No need to check the existence of methods not used by the hooked script. * innd/python.c, nnrpd/python.c: Fix an issue with Python exception handling. * nnrpd/python.c: Fix typos. * nnrpd/python.c: Fix a segfault when one closes and then reopens Python in the same process. files and dynamic_file are still pointing to the old freed memory and INN blithely tries to write to it. Thanks to Russ Allbery for the patch. 2008-06-21 iulius * innd/python.c: Better be more careful when decrementing the reference count for these objects. 2008-06-16 iulius * doc/external-auth, doc/hook-perl, doc/hook-python, doc/man/active.5, doc/man/active.times.5, doc/man/auth_krb5.8, doc/man/auth_smb.8, doc/man/ckpasswd.8, doc/man/control.ctl.5, doc/man/convdate.1, doc/man/cycbuff.conf.5, doc/man/distrib.pats.5, doc/man/domain.8, doc/man/expire.ctl.5, doc/man/expireover.8, doc/man/fastrm.1, doc/man/grephistory.1, doc/man/ident.8, doc/man/inews.1, doc/man/inn.conf.5, doc/man/innconfval.1, doc/man/innd.8, doc/man/inndf.8, doc/man/inndstart.8, doc/man/innmail.1, doc/man/innupgrade.8, doc/man/libauth.3, doc/man/libinnhist.3, doc/man/list.3, doc/man/mailpost.8, doc/man/makehistory.8, doc/man/motd.news.5, doc/man/newsfeeds.5, doc/man/ninpaths.8, doc/man/nnrpd.8, doc/man/ovdb.5, doc/man/ovdb_init.8, doc/man/ovdb_monitor.8, doc/man/ovdb_server.8, doc/man/ovdb_stat.8, doc/man/passwd.nntp.5, doc/man/qio.3, doc/man/radius.8, doc/man/radius.conf.5, doc/man/rc.news.8, doc/man/readers.conf.5, doc/man/sasl.conf.5, doc/man/sendinpaths.8, doc/man/simpleftp.1, doc/man/sm.1, doc/man/subscriptions.5, doc/man/tdx-util.8, doc/man/tst.3, doc/man/uwildmat.3: Update version number for INN 2.4.5 documentation. 2008-06-11 iulius * support/config.guess, support/config.sub: Update support files for autoconf to their last stable version. 2008-06-10 iulius * innd/python.c: Fix the name of a variable used in Python filters. 2008-06-09 iulius * innd/python.c: Fix a bug when reloading Python filters. They might not be correctly reloaded. They must be reimported before being reloaded. * nnrpd/python.c: Fix a segfault when generating access groups with embedded Python filters for nnrpd. Thanks to David Hlacik for the bug report. 2008-06-08 iulius * frontends/pullnews.in: Two minor issues resolved with this patch by Geraint Edwards: * an off-by-one error on the limit to the amount of articles to get; * when an article is not available, we may have redundantly retried that article. 2008-06-07 iulius * doc/pod/cycbuff.conf.pod, doc/pod/hook-perl.pod, doc/pod/hook-python.pod, innd/python.c, samples/filter_innd.pl: Fix the use of "ctlinnd reload something 'reason'" in documentation. 2008-06-05 iulius * doc/hook-perl, doc/hook-python, doc/pod/hook-perl.pod, doc/pod/hook-python.pod, innd/innd.c, innd/innd.h, samples/filter_innd.py: Add access to several new headers within Perl and Python hooks for innd. Thanks to Matija Nalis for the patch. Also update the POD documentation and the Python sample. * doc/man/pullnews.1, doc/pod/pullnews.pod, frontends/pullnews.in: A new improved version of pullnews. Great thanks to Geraint A. Edwards for all his work. He added no more than 16 flags, fixed some bugs and integrated the backupfeed contrib script by Kai Henningsen, adding again 6 other flags. A long-standing but very minor bug in the -g option was especially fixed and items from the to-do list implemented. From TODO: + reset highwater mark to match server (-w) + reset highwater mark to zero (also -w) + add group to config (-G) + drop articles with headers matching (or not matching) regexp (-m) From backupfeed: + pull only a proportion (factor) of articles (-f) + sleeps between articles/groups (-z/-Z) + Path: fake hop insert (-F) + NNTP connection timeout (-N) + overall session timeout (-S) Other new flags/features: -l logfile log to logfile (rather than /dev/null when rnews'ing!) -s host:port add local port option (can use -p already) -t retries attempt connect to upstream retries times -T retry_pause wait between retries -k checkpt checkpoint the config file every checkpt arts -C width when writing the progress bar - use width columns -d debug_level self-explanatory -M max_arts only process max_arts articles per run -H headers remove these headers from articles -Q quietness set how quiet we are -R be a reader -n no-op -P paths feed articles depending on number of hops in Path: 2008-05-25 iulius * control/modules/newgroup.pl: Fix a Perl warning. 2008-05-24 iulius * nnrpd/tls.c: When an article of a size greater than remaining stack is retrieved via SSL, a segmentation fault will occur due to the use of alloca(). The below patch uses heap based realloc() instead of stack based alloca(), with a static buffer growing as needed. It uses realloc() instead of malloc() for performance reasons since this function is called frequently. The caveat is that the memory is never free()'ed, so if more correct code is desired, it should be adjusted. Thanks to Chris Caputo for this patch. 2008-05-19 iulius * innd/Makefile, nnrpd/line.c: Implementation of the "alarm signal" around SSL_read so that to prevent dead connections from leading nnrpd processes to wait forever in SSL_read(). "clienttimeout" now also works on SSL connections. Thanks to Matija Nalis for the patch. * nnrpd/tls.c: Implementation on systems that support it of SO_KEEPALIVE in SSL TCP connections, allowing system detection and closing the dead TCP SSL connections automatically after system-specified time (usually at least 2 hours as recommended by RFC (on Linux, see /proc/sys/net/ipv4/tcp_keepalive_*). Thanks to Matija Nalis for the patch. 2008-05-18 iulius * innfeed/host.c: Fix a problem of undefined constant. 2008-05-14 iulius * innfeed/host.c: Fix a bug in ipAddrs which contained thrice the same IPs. Rotating the peer IP addresses was a bit slower than it could be. Thanks, D. Stussy, for having seen that. Miquel van Smoorenburg provided the patch. * Makefile.global.in: Bump the revision number to 2.4.5 (in case it is released one day).