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).

