2016-03-11  TJ Saunders <tj@castaglia.org>

	* RELEASE_NOTES: Updated release notes to mention DH selection
	issue.

2016-03-10  TJ Saunders <tj@castaglia.org>

	* README.md: Update link to shields.io badge for latest release.

2016-03-10  TJ Saunders <tj@castaglia.org>

	* README.md, contrib/dist/rpm/proftpd.spec, include/version.h: 
	Updating files for 1.3.6rc3 development.

2016-03-10  TJ Saunders <tj@castaglia.org>

	* NEWS: Update NEWS with release date.

2016-03-10  TJ Saunders <tj@castaglia.org>

	* include/version.h: Preparing for RC2 release.

2016-03-10  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/rfc4716.c,
	tests/t/etc/modules/mod_sftp/authorized_rsa_keys_no_nl,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Reproduce, and fix,
	the case where mod_sftp does not handle public key files which do
	not end in a newline.

2016-03-10  TJ Saunders <tj@castaglia.org>

	* NEWS: Update NEWS with fix for Bug#4230.

2016-03-10  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #226 from proftpd/tls-dhparam-ignored-bug4230 Bug#4230: TLSDHParamFile directive appears ignored because
	unexpected…

2016-03-10  TJ Saunders <tj@castaglia.org>

	* modules/mod_core.c,
	tests/t/lib/ProFTPD/Tests/Config/DisplayQuit.pm: If DisplayQuit is
	configured with a non-path, make sure we handle it properly.

2016-03-10  TJ Saunders <tj@castaglia.org>

	* modules/mod_xfer.c,
	tests/t/lib/ProFTPD/Tests/Config/DisplayFileTransfer.pm: If the
	configured DisplayFileTransfer file is not able to be handled
	successfully, don't penalize/close the data transfer connection for
	it.

2016-03-10  TJ Saunders <tj@castaglia.org>

	* contrib/mod_wrap.c: Sigh.  Declared right variable in wrong
	location.  Trying again.

2016-03-10  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #228 from proftpd/json-no-stdbool-dependency Remove the JSON implementation's dependence on stdbool.h, on the
	assu…

2016-03-10  TJ Saunders <tj@castaglia.org>

	* doc/modules/mod_core.html: Fix the documented default
	TimeoutLinger value.

2016-03-10  TJ Saunders <tj@castaglia.org>

	* contrib/mod_wrap.c: Address compiler warnings.

2016-03-10  TJ Saunders <tj@castaglia.org>

	* modules/mod_facl.c: Make sure the module-unload event listener is
	conditionally compiled with the same conditions as its usage.

2016-03-09  TJ Saunders <tj@castaglia.org>

	* : commit f9e85236e76703303ecad3c16951ac623ec34e5a Author: TJ
	Saunders <tj@castaglia.org> Date:   Wed Mar 9 16:10:11 2016 -0800

2016-03-09  TJ Saunders <tj@castaglia.org>

	* src/netacl.c, tests/api/netacl.c: Adding tests showing that we
	properly handle "0.0.0.0/0" as a netacl expression.

2016-03-08  TJ Saunders <tj@castaglia.org>

	* : commit 35455b027ba9a315109035e117bd4890781ee489 Merge: 57ef0cd
	d49387e Author: TJ Saunders <tj@castaglia.org> Date:   Tue Mar 8
	23:04:55 2016 -0800

2016-03-08  TJ Saunders <tj@castaglia.org>

	* include/netacl.h, src/netacl.c, tests/api/netacl.c: Provide a
	pr_netacl_get_str2() function for getting string versions of ACLs
	without the added description that pr_netacl_get_str() adds.

2016-03-08  TJ Saunders <tj@castaglia.org>

	* RELEASE_NOTES: Fleshing out the release notes, as we're getting
	very close to release.

2016-03-08  TJ Saunders <tj@castaglia.org>

	* doc/modules/mod_log.html: Add docs for the added %{file-size} and
	%{transfer-type} LogFormat variables.

2016-03-08  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Bug#4230: TLSDHParamFile directive appears
	ignored because unexpected DH is chosen.

2016-03-04  TJ Saunders <tj@castaglia.org>

	* doc/contrib/mod_auth_otp.html: Minor updates/fixes to the
	mod_auth_otp docs.

2016-03-04  TJ Saunders <tj@castaglia.org>

	* doc/contrib/mod_auth_otp.html: Add required OpenSSL attributions.

2016-03-04  TJ Saunders <tj@castaglia.org>

	* include/ccan-json.h, lib/ccan-json.c: Attempt to fix/address
	compiler errors on different platforms (e.g. HP-UX) by not reusing
	the same name for a struct and its typedef.  Also avoid
	re-typedef'ing uchar_t.

2016-03-04  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Clear the internal
	statcache in a few more places when handling SFTP, SCP.

2016-03-04  TJ Saunders <tj@castaglia.org>

	* modules/mod_core.c, modules/mod_site.c, modules/mod_xfer.c: More
	places where the internal cache should be cleared first.

2016-03-04  TJ Saunders <tj@castaglia.org>

	* modules/mod_core.c: Another place where we need to clear the
	internal statcache.

2016-02-29  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #223 from proftpd/core-str-hex2bin Add symmetric String API function for converting from hex string to
	b…

2016-02-25  TJ Saunders <tj@castaglia.org>

	* modules/mod_ctrls.c: If there are issues creating the
	ControlsSocket, log them at the NOTICE level, rather than in a
	ControlsLog (which not be opened anyway).

2016-02-25  TJ Saunders <tj@castaglia.org>

	* contrib/mod_statcache.c, src/fsio.c: When the pr_fs_clear_cache2()
	function is used to clear the statcache, generate an event for any
	OTHER modules which might also be doing caching (e.g.
	mod_statcache), so that they too can clear their cached stat data.

2016-02-25  TJ Saunders <tj@castaglia.org>

	* contrib/mod_statcache.c: Make mod_statcache less intrusive when it
	encounters an error when handling an FSIO callback; just return the
	underlying OS call return value.

2016-02-25  TJ Saunders <tj@castaglia.org>

	* contrib/mod_statcache.c: The FSIO open(2) callback in
	mod_statcache was only clearing the cached value IFF open(2)
	returned zero.  But open(2) returns zero OR GREATER on success.
	Oops.

2016-02-25  TJ Saunders <tj@castaglia.org>

	* src/fsio.c: Cache the close(2) errno value, to avoid it being
	changed by later code in pr_fsio_close().

2016-02-25  TJ Saunders <tj@castaglia.org>

	* doc/contrib/mod_unique_id.html: Fix HTML markup.

2016-02-25  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c: Add a fake 451 response code for aborted
	SFTP file transfers.

2016-02-23  TJ Saunders <tj@castaglia.org>

	* contrib/mod_statcache.c: Automatically disable negative caching
	for SSH2 sessions.

2016-02-23  TJ Saunders <tj@castaglia.org>

	* NEWS: Add mention of fix for Bug#4227.

2016-02-23  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #220 from proftpd/sftp-multi-init-bug4227 Bug#4227: Support SFTP clients that send multiple INIT requests.

2016-02-22  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c: Only increment the bytes transferred
	values, when handling an SFTP WRITE request, once the bytes have
	been successfully written, per write(2) result.

2016-02-22  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #219 from proftpd/sftp-no-stat-on-read Attempt to mitigate the issue with mod_statcache's stat() causing
	SFT…

2016-02-22  TJ Saunders <tj@castaglia.org>

	* contrib/mod_statcache.c: Improve mod_statcache trace logging, to
	better differentiate among locking-related log messages.

2016-02-21  TJ Saunders <tj@castaglia.org>

	* RELEASE_NOTES, contrib/mod_tls.c, doc/contrib/mod_tls.html: Use a
	directive name of TLSServerInfoFile, for consistency with other
	mod_tls directives.

2016-02-20  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #217 from proftpd/tls-serverinfo Add TLSServerInfo directive, for TLS ServerHello extensions

2016-02-20  TJ Saunders <tj@castaglia.org>

	* RELEASE_NOTES, contrib/mod_tls.c, doc/contrib/mod_tls.html: 
	Implement a TLSServerInfo directive, for configuring custom TLS
	extension data (e.g. for SCT data).

2016-02-17  TJ Saunders <tj@castaglia.org>

	* contrib/mod_exec.c, contrib/mod_sftp/keys.c, contrib/mod_tls.c,
	modules/mod_rlimit.c, src/rlimit.c: Don't log spurious log messages
	if getrlimit(2) fails with ENOSYS/EPERM.

2016-02-16  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/blacklist.c: Quell Coverity warning by setting an
	upper bound on the number of records we are willing to scan/process
	from the blacklist.dat file.

2016-02-16  TJ Saunders <tj@castaglia.org>

	* lib/libltdl/ltdl.c: Quell Coverity warning about possible resource
	leak in libltdl.

2016-02-12  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/keys.c, contrib/mod_tls.c: Ensure proper
	NUL-termination of buffers in all cases.  Should make Coverity
	happier.

2016-02-12  TJ Saunders <tj@castaglia.org>

	* contrib/mod_auth_otp/base32.c: Use signed data types, to prevent
	underflow and bad shift operations.  Found by Coverity.

2016-02-12  TJ Saunders <tj@castaglia.org>

	* contrib/mod_statcache.c: Add check for return value, per Coverity.

2016-02-12  TJ Saunders <tj@castaglia.org>

	* contrib/mod_auth_otp/mod_auth_otp.c: Fix issue discovered by
	Coverity.

2016-02-12  TJ Saunders <tj@castaglia.org>

	* contrib/mod_digest.c: Fix issue detected by Coverity.

2016-02-12  TJ Saunders <tj@castaglia.org>

	* doc/contrib/mod_auth_otp.html, doc/contrib/mod_digest.html,
	doc/contrib/mod_statcache.html: Update docs of new modules to
	mention where their source code is.

2016-02-12  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #214 from proftpd/contrib-statcache Adding mod_statcache to the contrib/ directory.

2016-02-12  TJ Saunders <tj@castaglia.org>

	* .gitignore, .travis.yml, contrib/mod_auth_otp/mod_auth_otp.c: 
	Address build warnings, tweak the travis-ci setup.

2016-02-12  TJ Saunders <tj@castaglia.org>

	* contrib/mod_auth_otp/Makefile.in: Trying some reordering, when
	building mod_auth_otp as a DSO module.

2016-02-12  TJ Saunders <tj@castaglia.org>

	* contrib/mod_digest.c: Fix building of mod_digest as a shared
	module.

2016-02-11  TJ Saunders <tj@castaglia.org>

	* contrib/mod_auth_otp/Makefile.in: Back to the original.  Probably
	won't work.

2016-02-11  TJ Saunders <tj@castaglia.org>

	* contrib/mod_auth_otp/Makefile.in: Still correcting paths.  Sigh.

2016-02-11  TJ Saunders <tj@castaglia.org>

	* contrib/mod_auth_otp/Makefile.in,
	contrib/mod_auth_otp/mod_auth_otp.c: Still trying to get the
	travis-ci builds passing.

2016-02-11  TJ Saunders <tj@castaglia.org>

	* contrib/mod_auth_otp/Makefile.in: Tweak, tweak.

2016-02-11  TJ Saunders <tj@castaglia.org>

	* contrib/mod_auth_otp/Makefile.in: Still working on fixing the
	travis-ci build.

2016-02-11  TJ Saunders <tj@castaglia.org>

	* contrib/mod_auth_otp/t/Makefile.in,
	contrib/mod_auth_otp/t/api/base32.c,
	contrib/mod_auth_otp/t/api/otp.c,
	contrib/mod_auth_otp/t/api/stubs.c,
	contrib/mod_auth_otp/t/api/tests.c,
	contrib/mod_auth_otp/t/api/tests.h: Add missing API tests for
	mod_auth_otp, breaking the travis-ci build.

2016-02-11  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Add mod_auth_otp, mod_digest to the travis-ci builds.

2016-02-11  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #213 from proftpd/contrib-auth-otp Adding mod_auth_otp to the contrib/ modules directory.

2016-02-11  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #212 from proftpd/contrib-digest Adding mod_digest module to contrib modules.

2016-02-01  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sql.c: Log a warning about using the Plaintext
	SQLAuthType; it's a bad security policy, as it allows storing
	passwords IN THE CLEAR in the database.

2016-02-01  TJ Saunders <tj@castaglia.org>

	* RELEASE_NOTES, contrib/mod_sql.c, include/mod_log.h,
	modules/mod_log.c, tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: 
	Add a %{transfer-type} LogFormat variable; this is just one more
	variable needed to make an ExtendedLog that contains the same
	information as the fixed-format TransferLog.

2016-02-01  TJ Saunders <tj@castaglia.org>

	* contrib/mod_wrap.c, modules/mod_core.c: Update mod_wrap to
	properly handle a HOST command.

2016-02-01  TJ Saunders <tj@castaglia.org>

	* contrib/mod_quotatab.c, modules/mod_core.c: Update mod_quotatab to
	Do The Right Thing(tm) in the face of HOST commands.

2016-02-01  TJ Saunders <tj@castaglia.org>

	* contrib/mod_wrap2/mod_wrap2.c, modules/mod_core.c: Update
	mod_wrap2 to properly handle HOST commands.

2016-02-01  TJ Saunders <tj@castaglia.org>

	* contrib/mod_radius.c, contrib/mod_rewrite.c, modules/mod_core.c: 
	Update the mod_radius and mod_rewrite modules to properly
	respond/handle HOST commands.

2016-01-31  TJ Saunders <tj@castaglia.org>

	* contrib/mod_ldap.c, modules/mod_core.c: Make mod_ldap be
	HOST-aware, and reset its settings as necessary.

2016-01-31  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sql_passwd.c, modules/mod_core.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Make sure that
	mod_sql_passwd works properly with respect to HOST commands.

2016-01-31  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sql.c: Update mod_sql so that it Does The Right
	Thing(tm) for HOST commands.

2016-01-31  TJ Saunders <tj@castaglia.org>

	* src/auth.c: Correct grammar in a trace log message; no functional
	change.

2016-01-31  TJ Saunders <tj@castaglia.org>

	* modules/mod_core.c: Update the list of modules needing HOST
	handling work.

2016-01-31  TJ Saunders <tj@castaglia.org>

	* modules/mod_auth.c: Remove now-obsolete POST_CMD HOST handler; it
	was replaced by the 'core.session-reinit' event listener.

2016-01-31  TJ Saunders <tj@castaglia.org>

	* modules/mod_auth.c,
	tests/t/lib/ProFTPD/Tests/Config/AnonAllowRobots.pm: Fix edge case
	with implementation of Bug#4224, where we do NOT want any automatic
	handling of "robots.txt" for non-anonymous logins.

2016-01-31  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #210 from
	proftpd/auth-anon-allow-robots-bug4224 Bug#4224: Prohibit FTP indexing by web crawlers via auto-generated
	ro…

2016-01-30  TJ Saunders <tj@castaglia.org>

	* locale/files.txt: Updated files.txt.

2016-01-30  TJ Saunders <tj@castaglia.org>

	* doc/contrib/mod_quotatab.html: Fix markup.

2016-01-29  TJ Saunders <tj@castaglia.org>

	* NEWS, RELEASE_NOTES, doc/modules/mod_auth.html,
	modules/mod_auth.c, tests/t/config/anonallowrobots.t,
	tests/t/lib/ProFTPD/Tests/Config/AnonAllowRobots.pm: Bug#4224:
	Prohibit FTP indexing by web crawlers via auto-generated robots.txt.

2016-01-29  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Properly shut down the TLS session on data
	connections as well.

2016-01-28  TJ Saunders <tj@castaglia.org>

	* doc/rfc/rfc7151.txt: Adding RFC 7151 to our RFCs area, since we
	now implement the HOST command.

2016-01-28  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #209 from proftpd/exists2 Restore backward compatibility

2016-01-28  TJ Saunders <tj@castaglia.org>

	* contrib/mod_copy.c, contrib/mod_sftp/fxp.c,
	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/scp.c,
	contrib/mod_sql.c, contrib/mod_tls.c, include/support.h,
	modules/mod_core.c, modules/mod_ls.c, modules/mod_xfer.c,
	src/support.c, tests/api/misc.c: Restore backward compatibility by
	restoring the Support API's exists/mode functions back to their
	original signatures, and provide variants, which accept a pool, for
	the chroot+symlink-aware functionality.

2016-01-28  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #208 from proftpd/extlog-file-size-var-redux Use POST_CMD handlers for stashing the 'mod_xfer.file-size' note, so
	…

2016-01-27  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #207 from proftpd/extlog-file-size-var Add support for a %{file-size} LogFormat variable, which resolves to
	the

2016-01-27  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Config/AllowForeignAddress.pm: Add
	regression test for a site-to-site transfer of a >2GB file.

2016-01-27  TJ Saunders <tj@castaglia.org>

	* NEWS: Update NEWS for fix for Bug#4219.

2016-01-27  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #206 from
	proftpd/fsio-chrooted-readlink-bug4219 Bug#4219: Better handling of symlinks when chrooted

2016-01-27  TJ Saunders <tj@castaglia.org>

	* modules/mod_site.c, tests/t/lib/ProFTPD/Tests/Modules/mod_site.pm: 
	Added regression tests for SITE CHMOD commands and symlinks,
	chrooted and not.  All tests pass properly now.

2016-01-27  TJ Saunders <tj@castaglia.org>

	* modules/mod_site.c, tests/t/lib/ProFTPD/Tests/Modules/mod_site.pm: 
	Added regression tests for the SITE CHGRP command and symlinks,
	chrooted and not.  All tests pass now.

2016-01-27  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/scp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
	tests for SCP downloads to symlinks, chrooted and not.  Made sure
	the tests pass as expected.

2016-01-27  TJ Saunders <tj@castaglia.org>

	* : commit 5dc63cc755fbc7fde7757812678b4d02eb54a654 Author: TJ
	Saunders <tj@castaglia.org> Date:   Wed Jan 27 11:15:37 2016 -0800

2016-01-27  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Add comment about where to find the definition
	of unknown TLS extension IDs.

2016-01-27  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sql_mysql.c: If mod_sql_mysql fails to configure the
	character set, just log the failure and do not treat it as a fatal
	error, in order to better handle situations of client/server version
	skew.

2016-01-27  TJ Saunders <tj@castaglia.org>

	* doc/howto/Logging.html: Mention that FreeBSD ftpd does NOT use the
	xferlog(5) format.

2016-01-26  TJ Saunders <tj@castaglia.org>

	* src/inet.c, src/support.c: Add Mac OSX-specific version macros for
	the newer OSX versions as needed.

2016-01-26  TJ Saunders <tj@castaglia.org>

	* : commit 662a109c354eb72b9f138e1b332ba3fd3e088b88 Author: TJ
	Saunders <tj@castaglia.org> Date:   Tue Jan 26 16:54:44 2016 -0800

2016-01-26  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: Add another regression
	test for Bug#4223, for the chroot case.

2016-01-26  TJ Saunders <tj@castaglia.org>

	* modules/mod_xfer.c: Style nit; no functional change.

2016-01-26  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c: Add the dir_readlink() magic to the
	check-file SFTP extension handling.

2016-01-26  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
	tests for SFTP RMDIR requests and symlinks, chrooted and not.
	Ensured that all tests pass as expected.

2016-01-26  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
	tests for SFTP OPENDIR requests and symlinks, chrooted and not.
	Made sure the tests pass as expected.

2016-01-26  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
	tests for SFTP SETSTAT requests and symlinks, chrooted and not.
	Made sure that the tests pass properly.

2016-01-26  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
	tests for the SFTP STAT requests and symlinks, chrooted and not, and
	made sure the tests pass.

2016-01-26  TJ Saunders <tj@castaglia.org>

	* : commit 9a17b90289f876339b4cf71f74329a2d5fa3c4f9 Author: TJ
	Saunders <tj@castaglia.org> Date:   Tue Jan 26 10:47:03 2016 -0800

2016-01-26  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #205 from proftpd/xfer-stou-umask-bug4223 Bug#4223: Permissions on files uploaded via STOU do not honor
	configured Umask

2016-01-26  TJ Saunders <tj@castaglia.org>

	* modules/mod_xfer.c: Bug#4223: Permissions on files uploaded via
	STOU do not honor configured Umask.

2016-01-25  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
	tests for the SFTP OPEN requests and symlinks, chrooted and not.

2016-01-25  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
	tests for SFTP MKDIR requests and symlinks, chrooted and not.

2016-01-25  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Added regression tests
	for the RNTO command, and symlinks.

2016-01-25  TJ Saunders <tj@castaglia.org>

	* modules/mod_core.c, tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm: 
	Adding regression tests for the RNFR command and symlinks, chrooted
	and not.

2016-01-24  TJ Saunders <tj@castaglia.org>

	* : commit f8eded5488c03a40a02dbdb4056d6222e0a045a3 Author: TJ
	Saunders <tj@castaglia.org> Date:   Sun Jan 24 20:24:44 2016 -0800

2016-01-24  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #204 from proftpd/default-transfer-mode Move the processing of the DefaultTransferMode directive from
	mod_aut…

2016-01-24  TJ Saunders <tj@kiban.io>

	* modules/mod_auth.c, modules/mod_core.c: Move the processing of the
	DefaultTransferMode directive from mod_auth to mod_core.  The
	directive handler is in mod_core, and the processing is more
	properly done as a post-PASS step.

2016-01-24  TJ Saunders <tj@castaglia.org>

	* modules/mod_core.c, modules/mod_xfer.c,
	tests/t/lib/ProFTPD/Tests/Commands/RMD.pm: Added regression tests
	for RMD and symlinks, and made sure that symlinks could be handled
	properly when chrooted.

2016-01-24  TJ Saunders <tj@castaglia.org>

	* modules/mod_xfer.c, tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: 
	Added regression tests for RETR and symlinks, and updated the RETR
	handling to use dir_readlink(), so that symlinks can be retrieved
	when chrooted.

2016-01-24  TJ Saunders <tj@castaglia.org>

	* modules/mod_core.c, tests/t/lib/ProFTPD/Tests/Commands/CWD.pm: 
	Added regression tests for the CWD and symlinks, and made sure that
	CWD does The Right Thing(tm) with symlinks, chrooted and not.

2016-01-22  TJ Saunders <tj@castaglia.org>

	* : commit e09990a3840ddca4413160c86ab0eff403c3a698 Author: TJ
	Saunders <tj@castaglia.org> Date:   Fri Jan 22 16:09:02 2016 -0800

2016-01-22  TJ Saunders <tj@castaglia.org>

	* src/fsio.c: Fix log messages to be grammatically correct.

2016-01-22  TJ Saunders <tj@kiban.io>

	* src/str.c, tests/api/str.c: For better logging/debugging, have the
	{uid,gid}2str() functions return "-1" for cases where the
	uid_t/gid_t have that value, as they are used as sentinel values in
	the core code.

2016-01-22  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Updated MKD regression
	tests to use test_setup()/test_cleanup(), in preparation to adding
	more symlink-related regression tests.

2016-01-22  TJ Saunders <tj@castaglia.org>

	* modules/mod_core.c, tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm: 
	Update the handling of the MDTM command for chrooted symlinks, with
	accompanying regression tests.

2016-01-22  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm: First, update the MDTM
	regression tests to use test_setup() and test_cleanup().  Next, I'll
	add regression tests for MDTM on symlinks (to files and
	directories).

2016-01-22  TJ Saunders <tj@castaglia.org>

	* contrib/mod_copy.c: Found another place needing updating for the
	change of exists() signature.

2016-01-22  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sql.c, contrib/mod_tls.c: Updated some contrib
	modules, due to changes in the Support API signatures.

2016-01-22  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Commands/APPE.pm: Make sure that the
	destination path correctly lines up with the (adjusted) chroot on
	MacOSX.

2016-01-22  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/scp.c, include/support.h, modules/mod_core.c,
	modules/mod_ls.c, modules/mod_xfer.c, src/support.c,
	tests/api/misc.c, tests/t/lib/ProFTPD/Tests/Commands/APPE.pm: Added
	more regression tests for the APPE command, for absolute destination
	path symlinks and chroots, which required some refactoring of the
	core library.

2016-01-22  TJ Saunders <tj@castaglia.org>

	* doc/howto/ListOptions.html, doc/modules/mod_facts.html,
	doc/modules/mod_ls.html: Update docs to mention new
	'NoAdjustedSymlinks' options for mod_facts, mod_ls.

2016-01-22  TJ Saunders <tj@kiban.io>

	* doc/howto/CreateHome.html: Updated links to the main docs for the
	CreateHome directive.

2016-01-21  TJ Saunders <tj@kiban.io>

	* contrib/mod_sftp_pam.c: Now the mod_sftp_pam module will check for
	the AuthPAM directive, in addition to SFTPPAMEngine, to better work,
	as expected, with existing proftpd configurations that use AuthPAM.  See:
	http://serverfault.com/questions/386294/proftpd-with-sftp-first-login-fails-seconds-succeeds

2016-01-21  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Commands/DELE.pm: Modernized some of the
	DELE regression tests in preparation, but then realized that DELE's
	handling of symlinks just does The Right Thing(tm), regardless of
	chroots.

2016-01-21  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Commands/APPE.pm: Adding APPE regression
	tests for symlinks, chrooted and not.

2016-01-21  TJ Saunders <tj@castaglia.org>

	* modules/mod_xfer.c: Rename a variable to be more consistent with
	usage elsewhere, i.e. using 'xerrno' as the errno holder, not
	'ferrno'.

2016-01-21  TJ Saunders <tj@kiban.io>

	* include/ftp.h: Remove redundant redefinition of the C_HOST macro.

2016-01-21  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding regression
	tests for the LIST command, with regard to symlinks, ShowSymlinks,
	and chroots.

2016-01-21  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Added NLST regression
	tests for symlinks, and symlinks when chrooted.

2016-01-20  TJ Saunders <tj@castaglia.org>

	* src/support.c, tests/api/misc.c: Clean up the returned destination
	paths, even when not chrooted.

2016-01-20  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Commands/STAT.pm: Updated the STAT
	regression tests, and added missing tests for symlinks, both when
	chrooted and not.

2016-01-20  TJ Saunders <tj@castaglia.org>

	* tests/api/misc.c: Fix the broken unit tests.

2016-01-20  TJ Saunders <tj@castaglia.org>

	* modules/mod_facts.c, src/support.c, tests/api/misc.c,
	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Update mod_facts to use
	dir_readlink() for MLST/MLSD commands.  Turns out that this fixes an
	already-existing bug, where symlinks were not being handled well
	when the session is chrooted anyway.

2016-01-20  TJ Saunders <tj@castaglia.org>

	* src/fsio.c: Remove some distracting FSIO statcache trace logging
	by explicitly setting errno to zero for success cases.

2016-01-20  TJ Saunders <tj@castaglia.org>

	* src/dirtree.c: Move some noisy AllowOverride logging to trace
	logging, from debug logging.

2016-01-19  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Update mod_sftp's
	handling of the READLINK request to use the new chroot-aware
	dir_readlink() function.

2016-01-19  TJ Saunders <tj@castaglia.org>

	* : commit 632cc9dd493e263f66fb42dd54809cb3f671b17b Merge: d55f831
	5fd7508 Author: TJ Saunders <tj@castaglia.org> Date:   Tue Jan 19
	09:56:04 2016 -0800

2016-01-19  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Make sure that
	mod_sql can also handle the new %R, %{transfer-millisecs} variables
	from Bug#4218.

2016-01-19  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #202 from proftpd/privs-coverage Increase test coverage of the Privs API.

2016-01-19  TJ Saunders <tj@castaglia.org>

	* include/privs.h, src/privs.c, tests/api/privs.c: Attempt to
	increase test coverage of the Privs API by providing a function for
	setting the "am I running as nonroot?" flag, to be used by unit
	tests.

2016-01-19  TJ Saunders <tj@castaglia.org>

	* include/support.h, src/support.c, tests/api/misc.c: Provide flags,
	for handling relative destination symlink paths (or not).  Update
	the unit tests to cover the new branches.

2016-01-18  TJ Saunders <tj@castaglia.org>

	* src/support.c, tests/api/misc.c: If dir_readlink() reads in a
	relative path, and that path falls within the chroot, try to
	emit/provide a relative path as output, in order to preserve the
	principle of least surprise.

2016-01-18  TJ Saunders <tj@castaglia.org>

	* include/support.h, src/support.c, tests/api/misc.c: First part of
	Bug#4219: provide a support function which wraps pr_fsio_readlink(),
	and does the chroot checking/adaptation.

2016-01-18  TJ Saunders <tj@castaglia.org>

	* src/fsio.c: Handle the edge case where a custom FSIO object does
	not provide a readlink implementation, and that callback is thus
	NULL.

2016-01-18  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_snmp.pm: Update the mod_snmp
	tests to pass properly, when more contrib modules (e.g.  mod_tls,
	mod_sftp, mod_ban) are present.

2016-01-18  TJ Saunders <tj@castaglia.org>

	* contrib/mod_snmp/mod_snmp.c: Remove some logically unneeded code,
	per Coverity.

2016-01-18  TJ Saunders <tj@castaglia.org>

	* contrib/mod_snmp/PROFTPD-MIB.txt: Remove CVS tag, now that we're
	in Git.

2016-01-18  TJ Saunders <tj@castaglia.org>

	* .gitignore: Ignore the Coverity cov-int directory, too.

2016-01-18  TJ Saunders <tj@castaglia.org>

	* modules/mod_ctrls.c: Avoid unnecessary (and redundant) null check,
	per Coverity.

2016-01-18  TJ Saunders <tj@castaglia.org>

	* src/dirtree.c: Catch/handle a possible null pointer dereference,
	per Coverity.

2016-01-18  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sql_passwd.c: Pedantically check for possible null
	values, per Coverity.

2016-01-18  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls_fscache.c: Implement permission checks on the
	directory for caching OCSP responses, and avoid world-writable
	directories.

2016-01-18  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls_fscache.c: Be a little more strict when checking
	permissions for cached OCSP responses, by calling open(2) on the
	path, then using fstat(2), rather than just using lstat(2).  This
	should make Coverity happier.  Hopefully.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* NEWS, RELEASE_NOTES: Updates NEWS, release notes with mention of
	Bug#4218.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #201 from
	proftpd/extlog-response-transfer-millisecs-bug4218 Bug#4218: Support a LogFormat variable for logging command duration
	in milliseconds

2016-01-17  TJ Saunders <tj@castaglia.org>

	* doc/modules/mod_log.html, include/mod_log.h, modules/mod_log.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Implement the
	%{transfer-millisecs} LogFormat variable, with regression test.  In
	doing so, the implementation of the %T LogFormat variable was made
	much simpler.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: First step: add
	missing regression test for the %T LogFormat variable, to be used as
	a template for the next part.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* tests/api/misc.c: Now we're playing with platform-specific
	behaviors.  Whee!

2016-01-17  TJ Saunders <tj@castaglia.org>

	* tests/api/str.c: Quell compiler warning about mismatched types.

2016-01-17  TJ Saunders <tj@kiban.io>

	* include/support.h, modules/mod_ls.c, src/support.c,
	tests/api/misc.c: Still working out the kinks with the rewritten
	get_name_max().

2016-01-17  TJ Saunders <tj@castaglia.org>

	* tests/api/misc.c: The rewriting of get_name_max() changed the test
	expectations.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* src/support.c: Rewrite the get_name_max() function to be more
	legible, and avoid (hopefully) the rats' nest of ifdefs.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* src/netio.c: At least check if our stashing of the NetIO in the
	notes fails, per Coverity.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* modules/mod_ls.c: Avoid memory leak under error conditions; found
	by Coverity.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Avoid memory leak in edge case scenario; found
	by Coverity.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Avoid an unneeded loop, which avoids logically
	dead code.  Found by Coverity.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* modules/mod_dso.c: Avoid checking a pointer that we already know
	to be null (due to earlier checks), per Coverity.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* src/log.c: Be more paranoid about checking for null pointers, per
	Coverity.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* contrib/mod_exec.c: It's possible for exec_subst_var() to be
	called with a null cmd_rec, thus we need to guard against such
	conditions.  Found by Coverity.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c: Remove unused code, detected by Coverity.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* contrib/coverity/modeling.c: Update the Coverity modeling file, to
	squelch known false positives.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls_fscache.c: Avoid passing a known null pointer, per
	Coverity.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* src/support.c: If pr_localtime() returns NULL, just bail, rather
	than trying to skirt around the issue.  Found by Coverity.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/interop.c: Avoid a possible null dereference,
	found by Coverity.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* utils/ftpcount.c, utils/ftpscrub.c, utils/ftpwho.c: Add missing
	break statements, per Coverity.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/keys.c: Remove extraneous null check, per
	Coverity.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* src/support.c: Avoid some dead/unreachable code, per Coverity.

2016-01-17  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls_memcache.c: Removing now-unused variables.

2016-01-16  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #200 from proftpd/facts-media-type Update mod_facts to use mod_mime, when present/enabled, to provide
	the

2016-01-16  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #199 from
	proftpd/quotatab-better-handling-of-default Tweak the lookup pattern mod_quotatab uses, with regard to the
	QuotaD…

2016-01-16  TJ Saunders <tj@castaglia.org>

	* doc/howto/TLS.html: Adding FAQ about the TLS "unknown protocol"
	error, from the forums.

2016-01-15  TJ Saunders <tj@castaglia.org>

	* modules/mod_auth.c: Make sure to validate the USER command first,
	before any other special processing.

2016-01-15  TJ Saunders <tj@castaglia.org>

	* NEWS: Update NEWS for fix for Bug#4217.

2016-01-15  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #198 from proftpd/auth-reauthenticate-bug4217 Bug#4217: Handle FTP re-authentication attempts better.

2016-01-15  TJ Saunders <tj@castaglia.org>

	* modules/mod_auth.c: Address Bug#4217, as requested, to be slightly
	more indicative, via response codes and messages, of the issue with
	reauthentication.

2016-01-15  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Logins.pm: First part of working on
	Bug#4217: make sure there is a regression test for the previous
	behavior, for Bug#3736.

2016-01-15  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #197 from proftpd/extlog-bug4067-redux Attempt to fix the exclusion LogFormat functionality introduced for
	a…

2016-01-14  TJ Saunders <tj@castaglia.org>

	* modules/mod_core.c: Fix bug where not providing all parameters for
	FSCachePolicy might not have the expected behavior.

2016-01-14  TJ Saunders <tj@castaglia.org>

	* src/str.c: Quell a compiler warning about an unused function.

2016-01-14  TJ Saunders <tj@castaglia.org>

	* configure, configure.in, contrib/mod_sftp/crypto.c,
	contrib/mod_sql_postgres.c: Make sure that the build system
	automatically enables OpenSSL support when mod_auth_otp or
	mod_digest are requested.  Also update the lists of OpenSSL-using
	modules elsewhere.

2016-01-14  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Remove now-unused variable.

2016-01-13  TJ Saunders <tj@castaglia.org>

	* src/timers.c: Clean up stylistic nits, and leave more comments for
	my future self.  This helped me track down a timer-related issue,
	where the suggested "next timeout" calculation was too coarse, and
	prone to cause unexpected behavior.  Hopefully better now.

2016-01-13  TJ Saunders <tj@castaglia.org>

	* modules/mod_core.c: Set the module pointer for the TimeoutIdle
	callback, for better trace logging.

2016-01-12  TJ Saunders <tj@castaglia.org>

	* src/data.c, src/netio.c: Fix the generation of network IO
	read/write events, and refactor these events such that ALL of them
	are generated by the NetIO API, not spread out amongst the NetIO and
	data transfer routines.

2016-01-12  TJ Saunders <tj@castaglia.org>

	* src/auth.c: Include the number of items in the authcache, when we
	flush it.

2016-01-12  TJ Saunders <tj@castaglia.org>

	* src/table.c: Minor simplification to the code for removing an
	entry from a table.

2016-01-12  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #196 from proftpd/sorted-feat Sorted FEAT response, for more professional look

2016-01-12  TJ Saunders <tj@castaglia.org>

	* src/table.c: Style nits; no functional change.

2016-01-12  TJ Saunders <tj@castaglia.org>

	* modules/mod_core.c: Sort the FEAT response, for prettier, more
	professional displays.

2016-01-12  TJ Saunders <tj@castaglia.org>

	* src/table.c: Style nits; no functional change.

2016-01-11  TJ Saunders <tj@castaglia.org>

	* src/response.c, tests/api/response.c: Minor improvement for
	pr_response_send_async() by properly tracking the starting pointer
	for sstrcat(), to avoid scanning bytes already concatenated.

2016-01-11  TJ Saunders <tj@castaglia.org>

	* modules/mod_core.c: Make sure to include CLNT in the HELP output.

2016-01-11  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #195 from proftpd/ssh2-on-ftp Detect SSH2 connections to an FTP port

2016-01-10  TJ Saunders <tj@castaglia.org>

	* : commit f70caf2b4c41f9a7fe4790d6d7a0c0650f35d6f9 Author: TJ
	Saunders <tj@castaglia.org> Date:   Sun Jan 10 23:48:47 2016 -0800

2016-01-10  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #194 from proftpd/support-clnt Support the CLNT command

2016-01-10  TJ Saunders <tj@castaglia.org>

	* doc/howto/FTP.html, include/cmd.h, include/ftp.h,
	modules/mod_core.c, src/cmd.c, tests/api/cmd.c,
	tests/t/commands/clnt.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/CLNT.pm, tests/tests.pl: Support
	the CLNT command.

2016-01-10  TJ Saunders <tj@castaglia.org>

	* .gitignore: Ignoring a few more symlinks.

2016-01-10  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sql_passwd.c, contrib/mod_tls.c,
	contrib/mod_tls_memcache.c, contrib/mod_tls_shmcache.c,
	include/str.h, src/str.c, tests/api/str.c: I decided that
	pr_str_bin2hex() was a better function name.

2016-01-10  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sql_passwd.c: Typo in comment; no functional change.

2016-01-09  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #193 from proftpd/core-str-hex Add new `pr_str_hex()` function.

2016-01-09  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sql.c: Quell compiler warning.

2016-01-08  TJ Saunders <tj@castaglia.org>

	* .gitignore: Adding a few more symlinks, generated by the build
	system, to be ignored by git.

2016-01-06  TJ Saunders <tj@castaglia.org>

	* src/fsio.c: Prevent infinite recursion, in lookup_file_fs(), by
	using the fs object's readlink callback directly, rather than going
	through the public API, which calls lookup_file_fs() -- hence the
	recursion.

2016-01-05  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #192 from proftpd/sql-odbc-issues SQL ODBC issues

2016-01-05  TJ Saunders <tj@castaglia.org>

	* RELEASE_NOTES, contrib/mod_sql_odbc.c,
	doc/contrib/mod_sql_odbc.html,
	tests/t/etc/modules/mod_sql_odbc/odbc.ini,
	tests/t/etc/modules/mod_sql_odbc/odbcinst.ini,
	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: While
	investigating some mod_sql_odbc issues mentioned in the forums, I
	discovered some cases where the ODBC API version needed to be
	configurable.  Adding in the new config (and docs), and the
	reproduction recipes.

2016-01-05  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sql.c: Minor nits; no functional change.

2016-01-05  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Better name for
	added testcase.

2016-01-05  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression test
	ensuring that mod_sftp properly fails to login a client that fails
	password authentication.

2016-01-03  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add regression test
	for CCC before login.

2016-01-03  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Per RFC 4217, Section 15.3, require
	authentication before accepting the CCC command, to mitigate
	anonymous clients from issuing AUTH/CCC in loops, tying up server
	resources.

2016-01-03  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #191 from proftpd/tls-verify-client-optional Implement "TLSVerifyClient optional", to replace functionality lost
	when

2016-01-01  TJ Saunders <tj@castaglia.org>

	* NEWS, RELEASE_NOTES: Mention fix for Bug#4214 in NEWS, release
	notes.

2016-01-01  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #190 from
	proftpd/lang-useencoding-per-user-bug4214 Bug#4214 - Allow UseEncoding to be set on a per-user basis.

2016-01-01  TJ Saunders <tj@castaglia.org>

	* configure, configure.in, modules/mod_lang.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Bug#4214 - Allow
	UseEncoding to be set on a per-user basis.

2016-01-01  TJ Saunders <tj@castaglia.org>

	* config.h.in, configure, configure.in, src/regexp.c: Add necessary
	autoconf detection of pcre_free_study() function.

2016-01-01  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Apparently the travis-ci environment doesn't have
	apt.  Weird.

2016-01-01  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Remove sending email notifications to -committers; it
	doesn't appear to be working as expected.

2016-01-01  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Show the details of the libpcre3-dev package, to help
	debug a build failure on travis-ci (but working locally).

2016-01-01  TJ Saunders <tj@castaglia.org>

	* src/regexp.c: Syntax tweak, more of a stylistic nit.

2016-01-01  TJ Saunders <tj@castaglia.org>

	* src/regexp.c: We were missing an include of the PCRE headers.
	Odd.

2016-01-01  TJ Saunders <tj@castaglia.org>

	* src/auth.c: Quell compiler warning on travis-ci.

2016-01-01  TJ Saunders <tj@castaglia.org>

	* src/regexp.c: Refactor some common code into a single routine, and
	reduce needless duplication.

2016-01-01  TJ Saunders <tj@castaglia.org>

	* src/regexp.c: Make sure we explicitly call pcre_free_study(), to
	free up any JIT-allocated memory used by pcre_study().

2015-12-31  TJ Saunders <tj@castaglia.org>

	* modules/mod_core.c: Style nits; no functional change.

2015-12-31  TJ Saunders <tj@castaglia.org>

	* NEWS, RELEASE_NOTES: Update NEWS, release notes with mention of
	Bug#4213.

2015-12-31  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #189 from
	proftpd/tls-nocertrequest-tlsoption-bug4213 Bug#4213 - Deprecate the NoCertRequest TLSOption.

2015-12-27  TJ Saunders <tj@castaglia.org>

	* NEWS, RELEASE_NOTES: Updates NEWS, release notes with mention of
	TLS session ticket support (Bug#4176).

2015-12-27  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #188 from proftpd/tls-session-tickets-bug4176 TLS session ticket support (Bug#4176)

2015-12-25  TJ Saunders <tj@castaglia.org>

	* : commit 251611d8f6f579cb8eacc87ad525822b0fbed1c3 Author: TJ
	Saunders <tj@castaglia.org> Date:   Fri Dec 25 13:44:11 2015 -0800

2015-12-25  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Add email notifications to the travis-ci builds.

2015-12-25  TJ Saunders <tj@castaglia.org>

	* doc/contrib/mod_tls.html: Documenting the TLS session ticket
	support for Bug#4176.

2015-12-25  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Bug#4176: Support for TLS session tickets.  Initial implementation, with some testing.  Needs documentation now.

2015-12-23  TJ Saunders <tj@castaglia.org>

	* doc/contrib/mod_sftp.html, doc/contrib/mod_tls.html: Remove some
	confusing text about having multiple Options directives on the same
	line.

2015-12-23  TJ Saunders <tj@castaglia.org>

	* NEWS, RELEASE_NOTES: Update news, release notes to mention
	Bug#4200.

2015-12-23  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #183 from proftpd/sql-tls-info-bug4200 Bug#4200 - Support TLS client configuration for SQL servers.

2015-12-22  TJ Saunders <tj@castaglia.org>

	* include/compat.h: Provide a backward compatibility macro for
	`_sql_make_cmd`, and remove some old backward compatibility macros
	while there.

2015-12-22  TJ Saunders <tj@castaglia.org>

	* : commit 39ee20cc2708bd8b7abd0c391e433f74858d2621 Author: TJ
	Saunders <tj@castaglia.org> Date:   Tue Dec 22 17:38:16 2015 -0800

2015-12-22  TJ Saunders <tj@castaglia.org>

	* NEWS, RELEASE_NOTES: Update NEWS, release notes with mention of
	fix for Bug#4175.

2015-12-22  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #186 from proftpd/tls-ocsp-stapling-bug4175 Bug#4175: Support for OCSP stapling

2015-12-22  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls_memcache.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls_memcache.pm: Implement an
	OCSP response cache provider using mod_tls_memcache, with
	accompanying regression tests.

2015-12-22  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls_shmcache.c: Update the mod_tls_shmcache comments
	to be more up-to-date.

2015-12-22  TJ Saunders <tj@castaglia.org>

	* doc/contrib/mod_tls.html, doc/contrib/mod_tls_shmcache.html: 
	Update the mod_tls_shmcache docs to mention its support for the
	TLSStaplingCache directive.

2015-12-22  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls_shmcache.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls_shmcache.pm: Implement an
	OCSP response cache provider via SysV shared memory segments (using
	mod_tls_shmcache), with accompanying tests.

2015-12-22  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls_fscache.pm: Move one of
	the OCSP stapling support routines to the mod_tls_fscache-specific
	tests.

2015-12-22  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls_fscache.c: Remove unused event listeners, and
	update the logging of OpenSSL errors to include the finer-grained
	data, if available.

2015-12-22  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: If the EnableDiags TLSOption is in effect,
	print out the OCSP response we obtained from the TLSStaplingCache,
	if any.  Also make sure that we do NOT add back to the
	TLSStaplingCache a response that we just read from that cache.

2015-12-22  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls_shmcache.c: Step #1 in adding OCSP cache support
	to mod_tls_shmcache: rename all of the existing SSL session cache
	variables/functions more clearly.

2015-12-22  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls_fscache.pm,
	tests/t/modules/mod_tls_fscache.t, tests/tests.pl: Split out the
	mod_tls_fscache-related regression tests into their own test file,
	just as was done for mod_tls_memcache and mod_tls_shmcache.

2015-12-22  TJ Saunders <tj@castaglia.org>

	* .gitignore: Ignore the new mod_tls_fscache symlinked into the
	modules/ directory.

2015-12-22  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls_fscache.c: Finish implementing some of the
	'ftpdctl ocspcache' actions for mod_tls_fscache.

2015-12-21  TJ Saunders <tj@castaglia.org>

	* doc/contrib/mod_tls_fscache.html: Provide better example
	configuration.

2015-12-21  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Remove development
	cruft.

2015-12-21  TJ Saunders <tj@castaglia.org>

	* doc/contrib/mod_tls.html, doc/contrib/mod_tls_fscache.html,
	doc/contrib/mod_tls_memcache.html: Update the mod_tls docs for the
	OCSP stapling support, and include the docs for the new
	mod_tls_fscache module.

2015-12-21  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Implement a TLSStaplingResponder directive, for
	sites which will need to proxy their OCSP queries.  Also remove
	unnecessary defensive coding, after reading the OpenSSL sources.

2015-12-21  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls_fscache.c: Be a little more careful with the OCSP
	response files found on disk.

2015-12-21  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Refactor some of the previous OCSP code (for
	checking client certificates' revocation status) to use the newer
	code, and reduce the amount of code duplication.

2015-12-21  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Fix build errors, warnings caught by travis-ci.

2015-12-21  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Add
	regression test demonstrating a mod_quotatab config that uses the
	QuotaDefault directive.

2015-12-21  TJ Saunders <tj@castaglia.org>

	* : commit 8a9a719b595b31f061be46835a18f9b73c172625 Author: TJ
	Saunders <tj@castaglia.org> Date:   Mon Dec 21 15:24:27 2015 -0800

2015-12-21  TJ Saunders <tj@kiban.io>

	* contrib/mod_tls.c: Address Issue #185 by explicitly clearing the
	passphrase list, even when there are no explicit passphrases for a
	cert.

2015-12-17  TJ Saunders <tj@castaglia.org>

	* : commit 8787af68da750efcbe11ccee93df07a583e3ba89 Merge: f98a4fc
	82a2fe1 Author: TJ Saunders <tj@castaglia.org> Date:   Thu Dec 17
	14:06:01 2015 -0800

2015-12-17  TJ Saunders <tj@castaglia.org>

	* locale/files.txt: Updating the list of candidate files which might
	contain localizable strings.

2015-12-17  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #180 from proftpd/build-fix-dist-target Fix the 'make dist' target

2015-12-17  TJ Saunders <tj@castaglia.org>

	* : commit fd4afb392a2855a93ea2615f73215125e07db72c Author: TJ
	Saunders <tj@castaglia.org> Date:   Thu Dec 17 13:34:26 2015 -0800

2015-12-17  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #184 from proftpd/rpm-systemd-bug3661 Updated proftpd.spec file to include the systemd files, per
	Bug#3661.

2015-12-17  TJ Saunders <tj@castaglia.org>

	* .gitignore: Ignore symlinks generated by the build system, and
	other auto-generated files.

2015-12-16  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls_memcache.c: Make the namespace for memcached
	sessions more precise, as we might want to cache other objects (e.g.
	OCSP responses) in the near future.

2015-12-16  TJ Saunders <tj@castaglia.org>

	* config.h.in, configure, configure.in, contrib/mod_tls.c: Initial
	start of OCSP stapling implementation in mod_tls.  For this, we
	either return a "tryLater" OCSP response, or none.  This is how it
	starts.

2015-12-15  TJ Saunders <tj@castaglia.org>

	* doc/contrib/mod_sql_odbc.html: HTML fixups.

2015-12-15  TJ Saunders <tj@castaglia.org>

	* : commit d259494c8ebc9c2074ec95125d1e57a5b8db3074 Author: TJ
	Saunders <tj@castaglia.org> Date:   Tue Dec 15 16:51:56 2015 -0800

2015-12-15  TJ Saunders <tj@castaglia.org>

	* config.h.in, configure, configure.in, contrib/mod_sql.c,
	contrib/mod_sql.h, contrib/mod_sql_mysql.c, contrib/mod_sql_odbc.c,
	contrib/mod_sql_postgres.c, contrib/mod_sql_sqlite.c,
	doc/contrib/mod_sql.html: Bug#4200 - Support TLS client
	configuration for SQL servers.

2015-12-15  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #182 from tkyf/fix_log_for_MaxHostsPerUser Fix log message on connection refused by MaxHostsPerUser limits

2015-12-14  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/crypto.c, contrib/mod_sftp/keys.c,
	contrib/mod_sftp/mod_sftp.h.in: Make mod_sftp compile when
	either/both DSA and DES are disabled in OpenSSL.

2015-12-14  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/crypto.c: Ensure that mod_sftp builds if RIPEMD
	is disabled in OpenSSL.

2015-12-14  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/crypto.c: Make sure that mod_sftp can compile
	against an OpenSSL which has had CAST support disabled.

2015-12-14  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/crypto.c, contrib/mod_sftp/mod_sftp.h.in: Make it
	possible to build mod_sftp against an OpenSSL which has had Blowfish
	support disabled.

2015-12-14  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/crypto.c: Make sure that mod_sftp compiles using
	an OpenSSL that has had RC4 support disabled.

2015-12-14  TJ Saunders <tj@castaglia.org>

	* NEWS: Update NEWS for fix for Bug#4212.

2015-12-14  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #181 from proftpd/rootrevoke-on-enforcement Bug#4212: Ensure that FTP data transfer commands fail appropriately
	when "RootRevoke on" is in effect.

2015-12-11  TJ Saunders <tj@castaglia.org>

	* modules/mod_core.c, modules/mod_ls.c, src/data.c: Make sure that
	the port number logged in the "RootRevoke in effect" messages is
	accurate.  Enforce the case where RootRevoke is on, but the client has ignored
	our error responses to PORT/EPRT, and had requested a data transfer
	anyway.  We do this by returning an error response for the data
	transfer command (e.g. LIST, STOR, etc) before we even attempt to
	make the connection.

2015-12-11  TJ Saunders <tj@castaglia.org>

	* Make.rules.in, lib/Makefile.in, modules/Makefile.in,
	src/Makefile.in, utils/Makefile.in: Define a MAKEDEPEND variable in
	the top-level Make.rules, so that I can easily override what to use
	as "makedepend" on platforms which don't easily have one (e.g. Mac
	OSX).

2015-12-11  TJ Saunders <tj@castaglia.org>

	* src/ftpscrub.c: Remove duplicated 'ftpscrub.c' from the src/
	directory; it is already in the utils/ directory (where it should
	be).  I suspect that this file was gumming up the makedepend works.

2015-12-11  TJ Saunders <tj@castaglia.org>

	* contrib/mod_ldap.c: Fix mod_ldap build issue when building against
	e.g. OpenLDAP-2.3.x.

2015-12-10  TJ Saunders <tj@castaglia.org>

	* contrib/ftpasswd: Address Debian ProFTPD Bug 796233; see:   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=796233

2015-12-10  TJ Saunders <tj@castaglia.org>

	* utils/ftpshut.8.in: Man page style nits.

2015-12-10  TJ Saunders <tj@castaglia.org>

	* src/dirtree.c: Reduce logging verbosity when parsing Include
	directories.

2015-12-10  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #178 from proftpd/contrib-systemd-bug3661 Bug#3661 - Support for systemd's "socket activation" mode.

2015-12-10  TJ Saunders <tj@castaglia.org>

	* modules/mod_auth.c: Provide slightly more informative message
	about active data transfers being affected by "RootRevoke on".

2015-12-09  TJ Saunders <tj@castaglia.org>

	* : commit b82c2a02d2822d033f38026c53ee65579efce5b8 Author: TJ
	Saunders <tj@castaglia.org> Date:   Wed Dec 9 14:21:26 2015 -0800

2015-12-09  TJ Saunders <tj@castaglia.org>

	* contrib/dist/systemd/README.systemd,
	contrib/dist/systemd/proftpd.socket,
	contrib/dist/systemd/proftpd@.service: Bug#3661 - Support for
	systemd's "socket activation" mode.

2015-12-09  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #177 from proftpd/null-times-bug4136 Attempt to address/mitigate Bug#4136 by checking for null return
	valu…

2015-12-09  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sql.c: Removing unused variable/context.

2015-12-08  TJ Saunders <tj@castaglia.org>

	* RELEASE_NOTES: Something more to mention in the release notes
	(Bug#4057, that is).

2015-12-08  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #176 from
	proftpd/tls-memcache-using-json-bug4057 Bug#4057 - Support using JSON when storing TLS session information
	in memcached

2015-12-08  TJ Saunders <tj@castaglia.org>

	* contrib/mod_ban.c: While working on Bug#4057, I encountered some
	memory-handling issues with the work for Bug#4056; these are the
	fixes.

2015-12-08  TJ Saunders <tj@castaglia.org>

	* .gitignore: Another form of temporary file to ignore, please.

2015-12-08  TJ Saunders <tj@castaglia.org>

	* NEWS, contrib/mod_tls_memcache.c,
	doc/contrib/mod_tls_memcache.html, include/memcache.h,
	src/memcache.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls_memcache.pm: Bug#4057:
	Support using JSON when storing TLS session information in
	memcached.

2015-12-08  TJ Saunders <tj@castaglia.org>

	* : commit 6e34ab4c8132c3b8b87e60ab116e40a2b0aae3be Author: TJ
	Saunders <tj@castaglia.org> Date:   Tue Dec 8 08:20:51 2015 -0800

2015-12-08  TJ Saunders <tj@castaglia.org>

	* src/signals.c: Minor tweaks (build warnings, error checking) for
	obtaining stacktraces on Mac OSX.

2015-12-08  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #175 from
	proftpd/ban-memcache-using-json-bug4056 Bug#4056: Use JSON when storing ban information in memcached

2015-12-07  TJ Saunders <tj@castaglia.org>

	* contrib/mod_ban.c, include/memcache.h, src/memcache.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_ban/memcache.pm,
	utils/ftpwho.c: Finish the regression tests for Bug#4056.  This also
	involved adding some necessary cleanup (lessons learned!) in ftpwho.

2015-12-07  TJ Saunders <tj@castaglia.org>

	* contrib/mod_ban.c: Some cached ban rules might never expire; these
	can be added using ftpdctl.  Make sure that mod_ban does not purge
	the rules when checking for expired cache entries.

2015-12-07  TJ Saunders <tj@castaglia.org>

	* contrib/mod_ban.c, doc/contrib/mod_ban.html, src/memcache.c: 
	Implement the code for supporting Bug#4056, and update the mod_ban
	docs accordingly.

2015-12-04  TJ Saunders <tj@castaglia.org>

	* RELEASE_NOTES: Flesh out the release notes, preparing for a
	release.

2015-12-04  TJ Saunders <tj@castaglia.org>

	* tests/api/misc.c: Remove troublesome assertion, for now.

2015-12-04  TJ Saunders <tj@castaglia.org>

	* tests/api/misc.c: Trying to get this persnickety test to pass.
	Sheesh.

2015-12-04  TJ Saunders <tj@castaglia.org>

	* tests/api/misc.c: Fix test failures by ensuring that localtime(3)
	returns GMT data.

2015-12-04  TJ Saunders <tj@castaglia.org>

	* tests/api/misc.c: Adding test coverage of the check_shutmsg()
	support routine.

2015-12-04  TJ Saunders <tj@castaglia.org>

	* utils/ftpshut.c: Stylistic nits in the ftpshut utility; no
	functional change.

2015-12-04  TJ Saunders <tj@castaglia.org>

	* tests/api/display.c: Properly test the SEND_NOW and NO_EOM display
	flags.

2015-12-04  TJ Saunders <tj@castaglia.org>

	* src/support.c, tests/api/misc.c: More tests of the Support API;
	I'm sure more coverage is needed.

2015-12-04  TJ Saunders <tj@castaglia.org>

	* tests/api/display.c: Cover more of the Display API via unit tests.

2015-12-04  TJ Saunders <tj@castaglia.org>

	* include/support.h, src/main.c, src/support.c, tests/api/misc.c: 
	Adding to the code coverage of the unit tests.

2015-12-04  TJ Saunders <tj@castaglia.org>

	* tests/api/display.c: Tickle more of the code paths in the Display
	API in the unit tests.

2015-12-03  TJ Saunders <tj@castaglia.org>

	* tests/api/misc.c: Fix broken test, seen by travis-ci.

2015-12-03  TJ Saunders <tj@castaglia.org>

	* src/support.c, tests/api/misc.c: More unit tests, for more code
	coverage.

2015-12-03  TJ Saunders <tj@castaglia.org>

	* src/support.c, tests/api/misc.c: Filling out more unit tests, in
	the name of code coverage.

2015-12-03  TJ Saunders <tj@castaglia.org>

	* tests/Makefile.in, tests/api/misc.c, tests/api/tests.c,
	tests/api/tests.h: Start adding unit tests for the support API
	routines now pull in, to increase test coverage.

2015-12-03  TJ Saunders <tj@castaglia.org>

	* src/support.c: Stylistic nits; no functional change.

2015-12-03  TJ Saunders <tj@castaglia.org>

	* include/str.h, include/support.h, src/str.c, src/support.c,
	tests/api/str.c: With the addition of the src/support.c file to the
	unit tests, the test coverage has changed.  Thus work to get the
	coverage back up to par, which involves some good refactoring.

2015-12-03  TJ Saunders <tj@castaglia.org>

	* src/display.c: Stylistic tweaks; no functional change.

2015-12-03  TJ Saunders <tj@castaglia.org>

	* include/display.h, src/display.c, tests/Makefile.in,
	tests/api/display.c, tests/api/stubs.c, tests/api/tests.c,
	tests/api/tests.h: Start working on unit tests for the Display API.

2015-12-03  TJ Saunders <tj@castaglia.org>

	* RELEASE_NOTES: Start updating release notes; more to be fleshed
	out.

2015-12-01  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #168 from
	proftpd/login-timeout-exceeded-log-level Change the log level for various timeouts (TimeoutLogin,
	TimeoutSessi…

2015-11-30  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #172 from
	proftpd/core-masqueradeaddress-resolved-later-bug4104 Bug#4104 - Handle MasqueradeAddress resolution errors due to startup
	…

2015-11-30  TJ Saunders <tj@castaglia.org>

	* tests/api/netaddr.c: Make sure to add a unit test for the specific
	errno value, when a DNS name cannot be resolved (Bug#4104).

2015-11-30  TJ Saunders <tj@castaglia.org>

	* NEWS, RELEASE_NOTES: Update NEWS, release notes for this feature.

2015-11-30  TJ Saunders <tj@castaglia.org>

	* contrib/mod_dynmasq.c, tests/t/modules/mod_dynmasq.t,
	tests/tests.pl: Add regression tests for the mod_dynmasq module,
	ensuring that it handles the delayed-resolution DNS names for
	MasqueradeAddress properly (Bug#4104).

2015-11-30  TJ Saunders <tj@castaglia.org>

	* src/session.c,
	tests/t/lib/ProFTPD/Tests/Config/MasqueradeAddress.pm: Adding
	regression test for Bug#4104.

2015-11-28  TJ Saunders <tj@castaglia.org>

	* contrib/mod_dynmasq.c, modules/mod_core.c, src/dirtree.c,
	src/display.c, src/main.c, src/netaddr.c, src/session.c: Bug#4104 -
	Handle MasqueradeAddress resolution errors due to startup sequences.

2015-11-28  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/kbdint.c: Remove now-unneeded cast.

2015-11-28  TJ Saunders <tj@castaglia.org>

	* NEWS: Update NEWS with fix for Bug#4210.

2015-11-28  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #171 from
	proftpd/sftp-unbounded-extpair-bug4210 Bug#4210 - Avoid unbounded SFTP extended attribute key/values.

2015-11-28  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c: Bug#4210 - Avoid unbounded SFTP extension
	key/values.

2015-11-28  TJ Saunders <tj@castaglia.org>

	* NEWS: Updating NEWS for fix for Bug#4209.

2015-11-28  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #170 from
	proftpd/core-zero-size-pool-malloc-bug4209 Bug#4209 - Zero-length memory allocation possible, with undefined
	res…

2015-11-28  TJ Saunders <tj@castaglia.org>

	* src/pool.c: Bug#4209 - Zero-length memory allocation possible,
	with undefined results.

2015-11-15  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #169 from proftpd/tls-host-command Make the handling of the HOST command by mod_tls be more in line
	with…

2015-11-15  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Minor trace logging for debugging.

2015-11-15  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sql_mysql.c: Stylistic tweaks; no functional change.

2015-11-15  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sql.c: Minor nit; no functional change.

2015-11-15  TJ Saunders <tj@castaglia.org>

	* src/netio.c: Minor nits; no functional change.

2015-11-14  TJ Saunders <tj@castaglia.org>

	* modules/mod_auth.c: Change the log level for various timeouts
	(TimeoutLogin, TimeoutSession) from NOTICE to INFO, given that these
	timeouts can be very frequent/common occurrences.

2015-11-14  TJ Saunders <tj@castaglia.org>

	* doc/howto/index.html: Fix link to LogLevels howto.

2015-11-13  TJ Saunders <tj@castaglia.org>

	* src/netio.c: If a stream has been marked as interruptible, then do
	not retry e.g. poll() when the system call is interrupted; return
	that error to the caller.

2015-11-12  TJ Saunders <tj@castaglia.org>

	* include/bindings.h, modules/mod_core.c, src/bindings.c: During the
	implementing of HOST handling in mod_proxy, the integration tests
	there stumbled across a minor bug in the handling of HOST commands
	which pertain to several different vhosts on the same _address_, but
	on different ports.  We were not properly differentiating among
	these vhosts when looking for the one which had the requested HOST
	(or not).

2015-11-10  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #166 from
	proftpd/sftp-publickey-failed-login-logging Add more logging, via the normal auth logging channels, for when
	SFTP

2015-11-10  TJ Saunders <tj@castaglia.org>

	* : commit 100e7f7ca1780ce2cab8b489768b76816794999c Author: TJ
	Saunders <tj@castaglia.org> Date:   Mon Nov 9 17:51:36 2015 -0800

2015-11-09  TJ Saunders <tj@castaglia.org>

	* src/inet.c: Ignore "Bad file descriptor" errors when toggling
	Nagle on sockets.

2015-11-09  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #165 from
	proftpd/lang-segfault-postparse-bug4206 Attempt to Bug#4206 by speculatively fixing possible causes.  First,
	…

2015-10-28  TJ Saunders <tj@castaglia.org>

	* modules/mod_lang.c: Attempt to Bug#4206 by speculatively fixing
	possible causes.  First, reset a static string (allocated out of a
	pool which is cleared on restart) to its default.  Next, remove some
	(useless) #ifdefs which, if mod_lang is built as a DSO/shared
	module, could cause problems on module loading IFF the system does
	not have the expected header.

2015-10-27  TJ Saunders <tj@castaglia.org>

	* src/parser.c: Fix bug in parser, caused by refactoring.

2015-10-22  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Fix compiler warning.

2015-10-14  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #159 from proftpd/sftp-fsetstat-bug4204 Attempt to mitigate/fix Bug#4204 by ensuring that the response lists
	are

2015-10-14  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c: When writing out a STATUS message, make
	sure to use the pool from the SFTP request, rather than the
	session's pool, as the latter could possibly be overused; this thus
	counts as a memory leak.

2015-10-13  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #163 from bverschueren/obsolete_timer_t_macro Remove HAVE_TIMER_T macro and timer_t detection mechanism

2015-10-07  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Turns out that running the api-tests executable again
	doesn't really increase the coverage of the Privs API as I'd
	expected.  Oh well.

2015-10-07  TJ Saunders <tj@castaglia.org>

	* .travis.yml: I think that the `api-tests` executable needs to be
	run in the tests/ directory, so that the lcov stuff picks up the
	files.

2015-10-07  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Run just the privs-related unit tests as root, for
	better test code coverage.

2015-10-07  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c: Make sure that the errno value from a
	failed pr_fsio_write() call is properly propagated/used.

2015-10-07  TJ Saunders <tj@castaglia.org>

	* tests/api/privs.c: Remove unneeded setting of trace logging to
	STDERR.

2015-10-06  TJ Saunders <tj@castaglia.org>

	* tests/api/scoreboard.c: Attempt to fix spurious test failures.

2015-10-06  TJ Saunders <tj@castaglia.org>

	* tests/api/scoreboard.c: Refactor the Scoreboard testing code to be
	more in line with the rest of the styling.  Added coverage of more
	fields when updating scoreboard entries.

2015-10-05  TJ Saunders <tj@castaglia.org>

	* tests/api/scoreboard.c: Cover more of pr_scoreboard_entry_get(),
	and note what needs to be done for pr_scoreboard_entry_update().

2015-10-04  TJ Saunders <tj@castaglia.org>

	* include/scoreboard.h, src/scoreboard.c, tests/api/scoreboard.c: 
	Refactor the other portion of locking code in the Scoreboard API,
	that for locking entries, into a common testable function.

2015-10-04  TJ Saunders <tj@castaglia.org>

	* include/scoreboard.h, src/scoreboard.c, tests/api/scoreboard.c: 
	Refactor some of the scoreboard locking code to avoid code
	duplication, and make it possible to test via unit tests.  There's
	more such refactoring to do here.

2015-10-04  TJ Saunders <tj@castaglia.org>

	* tests/api/auth.c: Tickle the "authenticated/authorized/checked via
	RFC2228" code paths.

2015-10-04  TJ Saunders <tj@castaglia.org>

	* tests/api/auth.c, tests/api/data.c, tests/api/modules.c: Fixed
	some typos, tried to cover a few more edge cases.

2015-10-04  TJ Saunders <tj@castaglia.org>

	* src/modules.c, tests/api/data.c, tests/api/modules.c: Testing more
	code paths.

2015-10-04  TJ Saunders <tj@castaglia.org>

	* tests/api/data.c, tests/api/stubs.c, tests/api/tests.h: Simulate
	receiving control commands during a data transfer, for more test
	coverage.

2015-10-04  TJ Saunders <tj@castaglia.org>

	* tests/api/data.c: Add test coverage for reading data via
	pr_data_xfer().

2015-10-04  TJ Saunders <tj@castaglia.org>

	* src/data.c, tests/api/configdb.c, tests/api/data.c,
	tests/api/netacl.c: Refactor some of the too-large pr_data_xfer()
	function, to make it easier to read (and test).  Start working on
	unit tests for this function, too.

2015-10-04  TJ Saunders <tj@castaglia.org>

	* tests/api/configdb.c: Much better exercising of the mergedown
	functionality.

2015-10-04  TJ Saunders <tj@castaglia.org>

	* tests/api/configdb.c, tests/api/stash.c: Working on exercising
	more of the config lookup code.

2015-10-04  TJ Saunders <tj@castaglia.org>

	* src/stash.c, tests/api/encode.c, tests/api/stash.c: Eking out ever
	more test coverage, bit by bit.

2015-10-03  TJ Saunders <tj@castaglia.org>

	* src/auth.c, src/encode.c, tests/api/auth.c, tests/api/encode.c: 
	Increased code coverage for the Auth and Encode APIs.

2015-10-03  TJ Saunders <tj@castaglia.org>

	* src/response.c, tests/api/response.c: The response unit tests
	would fail if the TEST_VERBOSE environment variable was set; now
	fixed.  Also added some sanity checking for null format strings for
	pr_response_add() and pr_response_add_err(), for paranoia.

2015-10-03  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #162 from
	proftpd/tls-no-mlock-for-empty-passphrase If there is no passphrase needed for a certificate, then do not
	bother

2015-09-30  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #161 from
	orthographic-pedant/spell_check/administrator Fixed typographical error, changed adminstrator to administrator in
	README.

2015-09-30  TJ Saunders <tj@castaglia.org>

	* README.md: Add a few more badges.

2015-09-29  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c: Attempt to mitigate/fix Bug#4204 by
	ensuring that the response lists are cleared after each dispatching.

2015-09-29  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #158 from proftpd/exec-max-fd-count Limit the maximum number of fds closed by mod_exec when executing an
	…

2015-09-28  TJ Saunders <tj@castaglia.org>

	* src/configdb.c, tests/api/configdb.c: Tickling a few more branches
	in the Config API.

2015-09-28  TJ Saunders <tj@castaglia.org>

	* src/fsio.c, src/inet.c, tests/api/inet.c: Removing unneeded code
	paths.  Covering more of the Inet API with more testing.

2015-09-28  TJ Saunders <tj@castaglia.org>

	* tests/api/fsio.c: Cover more of the pr_fsio_access() code paths.

2015-09-28  TJ Saunders <tj@castaglia.org>

	* src/netaddr.c, tests/api/netaddr.c: Flesh out the remaining
	Netaddr API unit tests.

2015-09-28  TJ Saunders <tj@castaglia.org>

	* tests/api/netaddr.c: Cover the pr_netaddr_v6tov4() function in the
	tests, too.

2015-09-28  TJ Saunders <tj@castaglia.org>

	* tests/api/inet.c: Try covering more error paths in the Inet API.

2015-09-28  TJ Saunders <tj@castaglia.org>

	* src/fsio.c, tests/api/fsio.c: Trying to get coverage of the FSIO
	API higher.

2015-09-27  TJ Saunders <tj@castaglia.org>

	* contrib/mod_exec.c: Limit the maximum number of fds closed by
	mod_exec when executing an external program, regardless of the
	platform.

2015-09-27  TJ Saunders <tj@castaglia.org>

	* tests/api/fsio.c: Easy addition for covering of the --enable-devel
	FSIO API.

2015-09-27  TJ Saunders <tj@castaglia.org>

	* src/configdb.c, tests/api/configdb.c: Covering more of the Config
	API.

2015-09-27  TJ Saunders <tj@castaglia.org>

	* src/fsio.c, tests/api/fsio.c: Covering more of the FSIO API.

2015-09-26  TJ Saunders <tj@castaglia.org>

	* src/regexp.c, tests/api/regexp.c: Increase coverage of POSIX regex
	handling in the Regexp API.

2015-09-26  TJ Saunders <tj@castaglia.org>

	* tests/api/configdb.c: Cover a little more of the Config API.

2015-09-26  TJ Saunders <tj@castaglia.org>

	* src/auth.c, tests/api/auth.c: Testing the handling of -1 UID/GIDs
	turned up a small bug, where the Auth API was not setting errno
	appropriately.

2015-09-26  TJ Saunders <tj@castaglia.org>

	* tests/api/fsio.c: Test the cases where multiple FSes are
	inserted/removed.

2015-09-26  TJ Saunders <tj@castaglia.org>

	* tests/api/fsio.c: Cover more of the FSIO API, too.

2015-09-26  TJ Saunders <tj@castaglia.org>

	* tests/api/trace.c: Make sure we test the handling of the "DEFAULT"
	trace channel, too.

2015-09-26  TJ Saunders <tj@castaglia.org>

	* src/trace.c: If the channel name is null, then it cannot be
	removed from the trace table of channels, can it?

2015-09-26  TJ Saunders <tj@castaglia.org>

	* src/trace.c, tests/api/stubs.c, tests/api/trace.c: Tickle a few
	more code paths in the Trace API.

2015-09-26  TJ Saunders <tj@castaglia.org>

	* src/log.c: Be more paranoid about handling of possible directories
	as log files, including the "/" case.

2015-09-26  TJ Saunders <tj@castaglia.org>

	* tests/api/trace.c: More Trace test coverage.

2015-09-26  TJ Saunders <tj@castaglia.org>

	* tests/api/data.c: Fix unit test broken in travis-ci environment.

2015-09-26  TJ Saunders <tj@castaglia.org>

	* include/data.h, src/data.c, tests/api/data.c: Attempt to write
	tests for pr_data_sendfile(), covering more of its code paths.

2015-09-26  TJ Saunders <tj@castaglia.org>

	* src/netio.c, tests/api/event.c, tests/api/netio.c: Finish
	implementing the NetIO unit tests.

2015-09-25  TJ Saunders <tj@castaglia.org>

	* tests/api/event.c: One more tweak for the Event API unit test
	coverage.

2015-09-25  TJ Saunders <tj@castaglia.org>

	* tests/api/event.c: More coverage of the Event API code paths.

2015-09-25  TJ Saunders <tj@castaglia.org>

	* tests/api/auth.c: Fix unit test failing in travis-ci environment.

2015-09-25  TJ Saunders <tj@castaglia.org>

	* config.h.in, configure, configure.in, include/fsio.h, src/fsio.c,
	tests/api/fsio.c: Finish fleshing out the FSIO API unit tests.  This
	required adding a new pr_fsio_fsync() function (and its own test),
	for flushing data to disk for subsequent reading.

2015-09-25  TJ Saunders <tj@castaglia.org>

	* src/fsio.c, tests/api/fsio.c: More coverage for the FSIO API,
	please.

2015-09-25  TJ Saunders <tj@kiban.io>

	* tests/api/fsio.c, tests/api/trace.c: Quell compiler warnings, fix
	unit test failing in travis-ci environment.

2015-09-25  TJ Saunders <tj@kiban.io>

	* tests/api/fsio.c: Fix failing unit test.

2015-09-25  TJ Saunders <tj@kiban.io>

	* src/fsio.c, tests/api/fsio.c: Adding coverage for more functions
	in the FSIO API; still more to be done here.

2015-09-24  TJ Saunders <tj@kiban.io>

	* tests/api/parser.c: When testing the function for parsing files,
	load enough of a module's directive handling to test those paths,
	too.

2015-09-24  Castaglian <tj@kiban.io>

	* src/configdb.c, tests/api/configdb.c, tests/api/regexp.c: More
	test coverage, served up hot.

2015-09-24  Castaglian <tj@kiban.io>

	* src/parser.c, src/trace.c, tests/api/parser.c, tests/api/trace.c: 
	Fix some of the Parser API tests, and try to cover more of the Trace
	API.

2015-09-24  Castaglian <tj@kiban.io>

	* tests/api/netaddr.c: Use 'www.google.com' as a well-known DNS name
	that has multiple IP addresses.

2015-09-24  Castaglian <tj@kiban.io>

	* src/parser.c, tests/api/netaddr.c, tests/api/parser.c: Filling in
	more unit tests here and there, tickling more code paths, extending
	coverage.

2015-09-24  Castaglian <tj@kiban.io>

	* tests/api/auth.c: Fix tests on travis-ci.

2015-09-24  Castaglian <tj@kiban.io>

	* include/modules.h, src/main.c, src/modules.c, tests/api/modules.c: 
	Testing more of the Modules API.

2015-09-24  Castaglian <tj@kiban.io>

	* src/auth.c, tests/api/auth.c: More unit testing of the Auth API.
	Fixed one bug with the handling of the FL_AUTH_MODULE caching flag
	(yay unit tests!).

2015-09-24  Castaglian <tj@kiban.io>

	* src/pool.c, tests/api/parser.c, tests/api/pool.c: Extend test
	coverage of the Pool API.

2015-09-24  Castaglian <tj@kiban.io>

	* include/parser.h, modules/mod_auth_unix.c, modules/mod_core.c,
	src/main.c, src/parser.c, tests/api/parser.c: Fixing up compiler
	warnings.  Fixed the API for parsing a single line of text so that
	it is actually _useful_ for callers outside of
	pr_parser_parse_file().  Added more unit tests for parsing.

2015-09-24  Castaglian <tj@kiban.io>

	* src/auth.c, tests/api/auth.c: Extend test coverage of the Auth
	API.

2015-09-24  TJ Saunders <tj@castaglia.org>

	* tests/api/fsio.c: Properly test the eviction of expired
	fs.statcache entries.

2015-09-24  TJ Saunders <tj@castaglia.org>

	* src/fsio.c, tests/api/fsio.c, tests/api/tests.c: And yet more unit
	tests for the FSIO API.

2015-09-23  TJ Saunders <tj@castaglia.org>

	* tests/Makefile.in, tests/api/privs.c, tests/api/tests.c,
	tests/api/tests.h: Start working on unit tests for the Privs API
	directly.

2015-09-23  TJ Saunders <tj@castaglia.org>

	* tests/api/regexp.c: Flesh out more of the Regexp API unit tests.

2015-09-23  Castaglian <tj@kiban.io>

	* tests/api/data.c: The travis-ci environment yields slightly
	different (but still OK) errno values.

2015-09-23  Castaglian <tj@kiban.io>

	* include/configdb.h, src/data.c, tests/api/data.c,
	tests/api/stubs.c: Add some NULL checks, for e.g. unit tests.  Flesh
	out more Data API unit tests.

2015-09-22  TJ Saunders <tj@kiban.io>

	* src/data.c, tests/api/data.c: Start working on unit tests for the
	Data API.

2015-09-22  TJ Saunders <tj@kiban.io>

	* README.md, tests/api/fsio.c: Tweak README.  Fix unit test failing
	only in travis-ci.

2015-09-22  TJ Saunders <tj@kiban.io>

	* src/fsio.c, tests/api/fsio.c: Fleshing out more FSIO tests; more
	to come.

2015-09-22  TJ Saunders <tj@kiban.io>

	* tests/api/str.c: Fix failing test on this Yosemite MacOSX machine,
	due to not NUL-terminating the source buffer in a sstrcat test.

2015-09-22  TJ Saunders <tj@kiban.io>

	* src/pool.c: Quell compiler warnings about pointer
	arithmetic/casts; first seen on this version of Mac OSX (Yosemite).

2015-09-21  TJ Saunders <tj@castaglia.org>

	* README.md: Minor tweaks to README; no functional changes.

2015-09-21  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Fix typo in travis-ci config file.

2015-09-21  TJ Saunders <tj@castaglia.org>

	* .travis.yml, src/inet.c, tests/api/configdb.c, tests/api/inet.c: 
	Let's see/hope that these additions get us over the 50% mark for
	test coverage.

2015-09-20  TJ Saunders <tj@castaglia.org>

	* src/parser.c, src/scoreboard.c, tests/api/cmd.c,
	tests/api/event.c, tests/api/parser.c, tests/api/scoreboard.c,
	tests/api/trace.c: Working toward getting at least 50% unit test
	coverage.

2015-09-20  TJ Saunders <tj@castaglia.org>

	* src/netio.c, tests/api/netio.c, tests/api/timers.c: More unit
	tests, Cooky!

2015-09-20  TJ Saunders <tj@castaglia.org>

	* modules/mod_lang.c, tests/Makefile.in, tests/api/configdb.c,
	tests/api/encode.c, tests/api/parser.c, tests/api/tests.c,
	tests/api/tests.h: Adding more unit tests to increase the test
	coverage.

2015-09-20  TJ Saunders <tj@castaglia.org>

	* src/netio.c, tests/api/netio.c, tests/api/response.c: More work on
	the unit tests, trying to expand on the test coverage.  Doing so
	found a few small bugs in the NetIO code.  Yay Coveralls!

2015-09-20  TJ Saunders <tj@castaglia.org>

	* README.md: Add a badge for the Coveralls coverage status.

2015-09-20  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Let's see how Coveralls does for us, shall we?

2015-09-20  TJ Saunders <tj@castaglia.org>

	* configure, configure.in: Support a 'coverage' option for the
	--enable-devel compile-time option, for enabling test coverage
	generation/reporting.

2015-09-11  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #154 from proftpd/ldap-libldap-tracing Enable more tracing of mod_ldap's operations by hooking into the
	LDAP…

2015-08-30  tjsaunders <tj@lyveminds.com>

	* doc/license.txt: Update license header years.

2015-08-30  tjsaunders <tj@lyveminds.com>

	* doc/contrib/mod_ldap.html: Update the mod_ldap docs to actually
	match the code now, folding in the changes mentioned in README.LDAP.

2015-08-30  tjsaunders <tj@lyveminds.com>

	* contrib/mod_ldap.c: Make this directive handler name match the
	directive name, for consistency.

2015-08-26  tjsaunders <tj@lyveminds.com>

	* NEWS: Update NEWS for fix for Bug#4202.

2015-08-26  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #152 from proftpd/facts-mlsd-crlf-bug4202 Bug#4202 - MLSD lines not properly terminated with CRLF.

2015-08-26  tjsaunders <tj@lyveminds.com>

	* : commit 62a4e24dcc37204168896ea35f379a1c0b952ff0 Author:
	tjsaunders <tj@lyveminds.com> Date:   Thu Aug 20 13:59:55 2015 -0700

2015-08-20  tjsaunders <tj@lyveminds.com>

	* modules/mod_xfer.c: There are a few conditions under which we
	don't really need to log about failing to set the corking socket
	option.

2015-08-18  tjsaunders <tj@lyveminds.com>

	* NEWS: Update NEWS with mention of fix for Bug#4201.

2015-08-18  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #150 from
	proftpd/sftp-scp-hiddenstores-cleanup-bug4201 Bug#4201 - HiddenStores temporary files not removed when exceeding
	qu…

2015-08-17  tjsaunders <tj@lyveminds.com>

	* contrib/mod_dnsbl/configure, contrib/mod_dnsbl/configure.in,
	contrib/mod_load/configure, contrib/mod_load/configure.in,
	contrib/mod_sftp/configure, contrib/mod_sftp/configure.in,
	contrib/mod_snmp/configure, contrib/mod_snmp/configure.in,
	contrib/mod_wrap2/configure, contrib/mod_wrap2/configure.in: Reorder
	the header/function checks in the module configure scripts, so that
	they happen after processing --with-includes and --with-libraries
	command-line options.  While this doesn't fix any current issue, it
	does set a better example for future modules; this was a problem for
	the e.g. mod_proxy configure script.

2015-08-16  tjsaunders <tj@lyveminds.com>

	* .gitattributes: Add manual overrides, to stop mis-representing the
	language used for ProFTPD and its modules.

2015-08-16  tjsaunders <tj@lyveminds.com>

	* src/main.c: Add note to future self, about handling DisplayConnect
	properly for denied connections.

2015-08-16  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #151 from proftpd/extlog-speedup ExtendedLog speedup by avoiding redundant strlen(3) calls

2015-08-16  tjsaunders <tj@lyveminds.com>

	* lib/sstrncpy.c, modules/mod_log.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Speed up
	ExtendedLog writing by removing redundant strlen(3) calls on the
	logged string, and instead simply tracking the return values from
	snprintf et al.  Note that to do this, the sstrncpy() semantics needed to be
	consistent, which means NOT using strcpy(3); we want sstrncpy() to
	return the number of bytes actually copied, not what WOULD have been
	copied.

2015-08-16  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c, modules/mod_log.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fixed some
	regressions with handling of the DELE command's argument, and with
	mod_tls tagging the PASS command as a SEC logging class (when it
	should not).

2015-08-16  tjsaunders <tj@lyveminds.com>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Checking in
	regression test for Bug#4199.

2015-08-15  tjsaunders <tj@lyveminds.com>

	* configure, configure.in: Update the -pthread/OpenSSL check, to
	catch regressions of Bug#3975 on e.g FreeBSD platforms, where the
	`openssl version` command doesn't emit the expected flags.

2015-08-15  tjsaunders <tj@lyveminds.com>

	* : commit 006b1f73db9421ca653c5b545765ee6b6893ff6d Author:
	tjsaunders <tj@lyveminds.com> Date:   Sat Aug 15 12:40:35 2015 -0700

2015-08-15  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/scp.c: Make sure that we delete the HiddenStores
	file on SCP upload when either write(2) or close(2) fails; we were
	handling close(2) failures, but not write(2) failures properly.

2015-08-15  tjsaunders <tj@lyveminds.com>

	* : commit d99edbb036cba1269352e66f6c89b26c502b58dd Author:
	tjsaunders <tj@lyveminds.com> Date:   Fri Aug 14 10:47:04 2015 -0700

2015-08-13  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/interop.c, contrib/mod_sftp/interop.h,
	contrib/mod_sftp/mod_sftp.c: Fix regression for SSH2 logins,
	introduced by the changes for handling the optional 'comments' field
	in the initial version exchange.  The initial version (exactly as
	sent) need to be used in the session ID/hash; the previous changes
	were trimming off the optional comment field, thus causing server
	and client to calculate different session IDs.

2015-08-13  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/scp.c: Bug#4201 - HiddenStores temporary files
	not removed when exceeding quota using SCP.  Make sure to clean up the HiddenStores temporary file when there was
	an error, either when writing OR when closing the HiddenStores file
	(as when quota is exceeded).

2015-08-13  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/kex.c: Remove some unnecessary casts; fix a minor
	memory leak on error conditions.

2015-08-12  tjsaunders <tj@lyveminds.com>

	* src/main.c, src/signals.c: Clear out the EINTR errno value in a
	few more places.

2015-08-12  tjsaunders <tj@lyveminds.com>

	* src/main.c: Make sure to clear out any cached errno, too.

2015-08-12  tjsaunders <tj@lyveminds.com>

	* modules/mod_facts.c, tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: 
	Checkpointing work on investigating a possible regression with
	regard to MLSD line formatting, i.e.  missing proper CRLF
	terminations.

2015-08-12  tjsaunders <tj@lyveminds.com>

	* src/main.c: Make sure to clear any possibly-cached errno value in
	the main select() loop.

2015-08-10  tjsaunders <tj@lyveminds.com>

	* src/timers.c: Style nit; no functional change.

2015-08-10  tjsaunders <tj@lyveminds.com>

	* src/trace.c, tests/api/trace.c: Some tweaks to the Trace API,
	trying to reduce redundancy.

2015-08-10  tjsaunders <tj@lyveminds.com>

	* src/parser.c, tests/api/etc/str/utf8-space.txt, tests/api/str.c: 
	If we fail to parse some configuration directives, check for any
	non-ASCII characters in the directive name.  This recently tripped
	me up with diagnosing a broken system; now check for, and log, such
	things.

2015-08-10  tjsaunders <tj@lyveminds.com>

	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Update integration
	test, broken by change for Bug#3990.

2015-08-10  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #149 from proftpd/core-ptr-cast Address some pointer cast alignment issues by defining the
	cmd_rec.ar…

2015-08-10  tjsaunders <tj@lyveminds.com>

	* modules/mod_cap.c: See what happens when you change your mind
	about variable names partway through? Sigh.

2015-08-10  tjsaunders <tj@lyveminds.com>

	* modules/mod_core.c: Quell a few more compiler warnings about
	pointer casts.

2015-08-10  tjsaunders <tj@lyveminds.com>

	* lib/tpl.c: Remove unused variables.

2015-08-10  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sql_passwd.c, modules/mod_cap.c: Fixing some build
	issues/warnings.

2015-08-10  tjsaunders <tj@lyveminds.com>

	* src/main.c: Quell another compiler warning about pointer casts.

2015-08-10  tjsaunders <tj@lyveminds.com>

	* contrib/mod_copy.c, contrib/mod_deflate.c, contrib/mod_exec.c,
	contrib/mod_ifsession.c, contrib/mod_ifversion.c,
	contrib/mod_ldap.c, contrib/mod_log_forensic.c,
	contrib/mod_quotatab.c, contrib/mod_quotatab_sql.c,
	contrib/mod_radius.c, contrib/mod_readme.c, contrib/mod_rewrite.c,
	contrib/mod_sftp/auth-hostbased.c, contrib/mod_sftp/auth-kbdint.c,
	contrib/mod_sftp/auth-password.c,
	contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
	contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/scp.c, contrib/mod_sftp_sql.c,
	contrib/mod_shaper.c, contrib/mod_site_misc.c,
	contrib/mod_snmp/mod_snmp.c, contrib/mod_sql.c, contrib/mod_tls.c,
	contrib/mod_wrap2/mod_wrap2.c, contrib/mod_wrap2_sql.c,
	include/dirtree.h, include/proftpd.h, lib/json.c,
	modules/mod_auth.c, modules/mod_auth_file.c,
	modules/mod_auth_pam.c, modules/mod_core.c, modules/mod_ctrls.c,
	modules/mod_dso.c, modules/mod_facts.c, modules/mod_log.c,
	modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c,
	src/cmd.c, src/data.c, src/dirtree.c, src/main.c, src/parser.c,
	tests/t/lib/ProFTPD/Tests/Config/Order.pm: Address some pointer cast
	alignment issues by defining the cmd_rec.argv member to be "void
	**", rather than "char **".  Void pointers are guaranteed to be
	large enough to hold pointers to anything, where as char pointers
	are not.  And we sometimes stash non-char data in the cmd_rec.argv
	area.  This looks like a fair amount of code churn; mostly it's addressing
	compiler warnings by providing explicit casts to char * in most
	places (e.g. logging) where the variadic function cannot easily tell
	the type.

2015-08-09  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/kex.c: For some reason, the ordering in which the
	logging of the NEWKEYS command makes a difference.  I suspect it's
	the order/amount of memory read out of the pool.  By logging NEWKEYS
	after setting the session keys, some rather strange behaviors are
	alleviated.

2015-08-09  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/auth.c: Fix possible segfault (due to null
	pointer) when the SSH2 authentication method succeeds, but
	subsequent login fails.

2015-08-08  TJ Saunders <tj@castaglia.org>

	* tests/api/str.c: Slightly better demonstration of
	pr_str_get_word()'s handling of quoted strings.

2015-08-08  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #148 from proftpd/tls-shutdown-buffering When shutting down the TLS session, we need to send a 'close_notify'
	…

2015-08-07  tjsaunders <tj@lyveminds.com>

	* NEWS: Update NEWS for fix for Bug#4198.

2015-08-07  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #147 from proftpd/facts-cdir-bug4198 Bug#4198 - MLSD/MLST fact type "cdir" is incorrectly used for the
	current working directory.

2015-08-06  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c, doc/contrib/mod_tls.html: Provide an
	environment variable for the requested SNI, if present.

2015-08-06  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c, doc/contrib/mod_tls.html: Provide an
	environment variable for the requested SNI, if present.

2015-08-06  tjsaunders <tj@lyveminds.com>

	* tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Checking in the
	accompanying regression tests for Bug#4198.

2015-08-06  tjsaunders <tj@lyveminds.com>

	* modules/mod_facts.c: Bug#4198 - MLSD/MLST fact type "cdir" is
	incorrectly used for the current working directory.

2015-08-05  tjsaunders <tj@lyveminds.com>

	* modules/mod_xfer.c: Better handling of errno values when adjusting
	process priorities.

2015-08-05  tjsaunders <tj@lyveminds.com>

	* tests/api/rlimit.c: Missed a couple of RLimit test cases needing
	the conditional check.

2015-08-05  tjsaunders <tj@lyveminds.com>

	* contrib/mod_rewrite.c, contrib/mod_wrap2_file.c,
	contrib/mod_wrap2_sql.c: Quell more compiler warnings about shadowed
	global variables.

2015-08-05  tjsaunders <tj@lyveminds.com>

	* tests/api/filter.c: Add some additional assertions to quell
	compiler warnings about unused variables (and make the tests
	better).

2015-08-05  tjsaunders <tj@lyveminds.com>

	* tests/api/rlimit.c: Fixing up platform-sensitive tests for e.g.
	travis-ci builds.

2015-08-05  tjsaunders <tj@lyveminds.com>

	* tests/api/netio.c: Removing unused variable.

2015-08-05  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sql_postgres.c: Quell compiler warning about shadowed
	global variable; stylistic nits.  No functional change.

2015-08-05  tjsaunders <tj@lyveminds.com>

	* contrib/mod_deflate.c: Forgot to update mod_deflate for the
	changed NetIO API signature change.

2015-08-05  tjsaunders <tj@lyveminds.com>

	* src/scoreboard.c: Quell compiler warning about unreached function
	call.

2015-08-05  tjsaunders <tj@lyveminds.com>

	* tests/Makefile.in, tests/api/env.c, tests/api/help.c,
	tests/api/rlimit.c, tests/api/tests.c, tests/api/tests.h: Adding API
	tests for the RLimit API.  Adding forgotten Help API tests.

2015-08-05  tjsaunders <tj@lyveminds.com>

	* src/help.c: Fix the terminating condition for adding help items;
	the previous end-of-loop condition was too fragile, and not
	accurate.

2015-08-05  tjsaunders <tj@lyveminds.com>

	* src/help.c, src/response.c, tests/Makefile.in,
	tests/api/response.c, tests/api/tests.c, tests/api/tests.h: Added
	some tests for the Help API, which sussed out a few very minor
	issues.

2015-08-04  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: Fix a few nits in the PSK handling; no
	functional change.

2015-08-04  tjsaunders <tj@lyveminds.com>

	* src/dirtree.c: When checking limits, make sure that we actually
	have an authenticated user/ group before checking for
	per-user/per-group limits.  With modules such as mod_proxy, this may
	not always be true.

2015-08-03  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/mod_sftp.c: Make the ban messages emitted to SSH2
	clients a little more descriptive.

2015-08-03  tjsaunders <tj@lyveminds.com>

	* src/log.c: If the DebugLevel directive is used to set the debug
	level to anything higher than 0, then automatically assume that the
	SyslogLevel is DEBUG, not NOTICE.  This helps in debugging
	configurations.

2015-08-03  tjsaunders <tj@lyveminds.com>

	* src/trace.c: Turns out that the trace logging code needs the same
	over-long log line handling fixes as the main logging code.

2015-08-03  tjsaunders <tj@lyveminds.com>

	* src/log.c: Better handling of over-long log lines.

2015-08-03  tjsaunders <tj@lyveminds.com>

	* src/log.c: Increase (and fix the handling of) the max log line
	length.

2015-08-03  tjsaunders <tj@lyveminds.com>

	* doc/contrib/mod_tls.html: Some minor updates to the mod_tls docs.

2015-08-02  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: When cleaning up OpenSSL-related code, mod_tls
	needs to know that mod_proxy also uses OpenSSL (and thus should skip
	cleanup if that module is in use).

2015-07-31  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: Fix logging of selected ALPN.

2015-07-30  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c, include/netio.h, src/netio.c: Allow modules
	registering NetIO objects to customise the registered NetIO owner
	name, if they wish.

2015-07-28  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: Fixed a few nits in the cert-checking routine.

2015-07-28  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: We retrieved the data connection SSL object too
	early.

2015-07-28  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: Fix some timing-related trace logging.

2015-07-28  tjsaunders <tj@lyveminds.com>

	* doc/contrib/mod_tls.html: Mention, in the TLSSessionCache
	description, that mod_tls aggressively prunes its session cache of
	expired sessions by flushing the cache on each session exit.

2015-07-28  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: Handle the edge cases where TLS read/write
	returns negative values; we don't want that to artificially affect
	the total raw IO values.

2015-07-28  tjsaunders <tj@lyveminds.com>

	* NEWS: Update NEWS with fix for Bug#4097.

2015-07-28  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #45 from
	proftpd/sftp-small-rsa-hostkey-rekeying-bug4097 Bug#4097 -  SSH rekey fails when using RSA hostkey smaller than 2048
	bits.

2015-07-27  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #145 from proftpd/ascii-oob-read-bug4195 Bug#4195 - Handle empty string inputs into ASCII CRLF translation
	rou…

2015-07-26  tjsaunders <tj@lyveminds.com>

	* src/ascii.c: Bug#4195 - Handle empty string inputs into ASCII CRLF
	translation routine.

2015-07-25  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #144 from
	proftpd/fsio-dircat-oob-read-bug4194 Bug#4194: Add more checks for empty paths in pr_fs_dircat().

2015-07-25  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: Fix broken build by including the necessary
	OpenSSL header.

2015-07-25  tjsaunders <tj@lyveminds.com>

	* src/fsio.c, tests/api/fsio.c: If either of the arguments to
	pr_fs_dircat() are empty strings, be consistent and append a "/"
	character, just as is done when BOTH arguments are empty strings.

2015-07-25  tjsaunders <tj@lyveminds.com>

	* src/fsio.c, tests/api/fsio.c: Bug#4194: Add more checks for empty
	paths in pr_fs_dircat().

2015-07-25  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: Better handling, when logging OpenSSL
	diagnostics, of the protocol record callbacks.

2015-07-25  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #143 from proftpd/tests-oob-read-bug4193 Bug#4193 - Out of bounds read in tests/api/str.c.

2015-07-25  tjsaunders <tj@lyveminds.com>

	* tests/api/ascii.c: Fix previous stupidity.

2015-07-25  tjsaunders <tj@lyveminds.com>

	* tests/api/ascii.c, tests/api/cmd.c: Quell some compiler warnings
	in the unit tests, spotted while still trying to figure out why
	travis-ci tests are failing (but they pass locally).

2015-07-25  tjsaunders <tj@lyveminds.com>

	* tests/api/ascii.c: Triaging a failing unit test in travis-ci.

2015-07-25  tjsaunders <tj@lyveminds.com>

	* tests/api/str.c: Bug#4193 - Out of bounds read in tests/api/str.c.

2015-07-25  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: Tweaking/polishing the OpenSSL msg/info
	callbacks.

2015-07-25  tjsaunders <tj@lyveminds.com>

	* doc/contrib/mod_ban.html: Remove duplicate/extraneous slash in
	example config.

2015-07-25  tjsaunders <tj@lyveminds.com>

	* doc/contrib/mod_ban.html: Minor tweak.

2015-07-24  tjsaunders <tj@lyveminds.com>

	* : commit 4776466b62889dee9a67171c6dbd317822191595 Author:
	tjsaunders <tj@lyveminds.com> Date:   Fri Jul 24 13:41:12 2015 -0700

2015-07-24  tjsaunders <tj@lyveminds.com>

	* modules/mod_log.c: Require a non-zero length LogFormat name.

2015-07-24  tjsaunders <tj@lyveminds.com>

	* modules/mod_log.c: Slightly better handling of using the default
	LogFormat, without necessarily blocking configs that want to
	use/override the "default" nickname themselves.

2015-07-24  tjsaunders <tj@lyveminds.com>

	* modules/mod_log.c: Fix the registration of the "default"
	LogFormat.

2015-07-24  tjsaunders <tj@lyveminds.com>

	* doc/howto/TLS.html: Adding TLS FAQ, from forums, about
	TLSVerifyDepth.

2015-07-23  tjsaunders <tj@lyveminds.com>

	* modules/mod_core.c: Better string handling, to make localization
	easier.

2015-07-23  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: Fix the handling of OpenSSL's
	SSL_SESS_CACHE_OFF value (which is 0x0, and thus not usable for the
	bit-checking mod_tls was doing).  Enhance the trace logging around TLS handshaking.

2015-07-23  tjsaunders <tj@lyveminds.com>

	* src/inet.c: Be a little more paranoid in pr_inet_close(), and only
	try to destroy a non-NULL pool pointer.  (Although destroy_pool()
	does a NULL check, so this is more for clarity than anything else.)

2015-07-22  tjsaunders <tj@lyveminds.com>

	* include/netio.h, src/netio.c: Include the direction/mode of the
	stream in the NetIO trace messages.

2015-07-22  tjsaunders <tj@lyveminds.com>

	* modules/mod_core.c: Tweaks to the handling of HOST commands in
	relation to FTPS.  Stylistic nits.

2015-07-22  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c, include/cmd.h, src/cmd.c: Add missing
	PR_CMD_HOST_ID value, and use it in e.g. mod_tls, to allow the HOST
	command before AUTH is used.

2015-07-22  tjsaunders <tj@lyveminds.com>

	* src/netio.c: Add trace logging of which custom (or not) NetIO is
	being used for the network operations.

2015-07-21  tjsaunders <tj@lyveminds.com>

	* src/pool.c: Allow unregistering of any/all cleanups by handling a
	NULL callback value.

2015-07-21  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: Quell some compiler warnings, and propagate
	errno appropriately in some cases.

2015-07-20  tjsaunders <tj@lyveminds.com>

	* src/response.c: Add some trace logging for when the Response API
	is blocked, for debugging.

2015-07-20  tjsaunders <tj@lyveminds.com>

	* include/pool.h, src/pool.c, tests/api/array.c: Create an
	array_cat2() function which provides a nice return value;
	array_cat() then just becomes a void wrapper around array_cat2().

2015-07-19  TJ Saunders <tj@castaglia.org>

	* src/netaddr.c: If the caller wants to know all of the addresses
	resolved via pr_netaddr_get_addr(), then actually walk all of the
	struct addrinfo values provided by getaddrinfo(3) and provision the
	caller-provided list.

2015-07-19  TJ Saunders <tj@castaglia.org>

	* src/table.c: Stylistic nits; no functional changes.

2015-07-19  TJ Saunders <tj@castaglia.org>

	* doc/contrib/mod_sftp.html: Minor tweaks/updates to the mod_sftp
	docs.

2015-07-18  TJ Saunders <tj@castaglia.org>

	* doc/modules/mod_core.html: Typos.

2015-07-18  TJ Saunders <tj@castaglia.org>

	* doc/contrib/mod_snmp.html: Update the mod_snmp docs as to where
	the most recent code for mod_snmp can be found.

2015-07-18  TJ Saunders <tj@castaglia.org>

	* include/netaddr.h, src/ftpdctl.c, src/netaddr.c,
	tests/api/netaddr.c: Add new Netaddr API functions for clearing
	specific cached IP addresses, DNS names, as opposed to entire
	caches.

2015-07-17  tjsaunders <tj@lyveminds.com>

	* doc/modules/mod_auth_unix.html: Add mod_auth_unix FAQ about
	`passwd -d' and password-less logins.

2015-07-17  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/mod_sftp.c: Style nit; no functional change.

2015-07-17  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/kex.c: Add some trace logging into the function
	which determines the DH size to request, for debugging.

2015-07-17  tjsaunders <tj@lyveminds.com>

	* : commit aabf243ce6b52e6817509922d4889dd7e6cd63d4 Author:
	tjsaunders <tj@lyveminds.com> Date:   Fri Jul 17 10:36:08 2015 -0700

2015-07-17  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #142 from proftpd/mysql-utf8-bug4191 Bug#4191 - Use "utf8mb4" for MySQL, not just "utf8", if the version
	of

2015-07-16  tjsaunders <tj@lyveminds.com>

	* include/log.h, include/options.h, src/xferlog.c: Make the default
	mode for the TransferLog be a PR_TUNABLE option.

2015-07-15  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sql_mysql.c: Bug#4191 - Use "utf8mb4" for MySQL, not
	just "utf8", if the version of MySQL is new enough, for UTF8
	encodings.

2015-07-11  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/crypto.c, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_tls.c: I was going to
	provide configuration directives, for mod_tls and mod_sftp, to
	configure the path to the OpenSSL .cnf file that should be used.
	Due to the initialization timing, though, this is a path to do via
	configuration directives.  Instead, I will simply document the use
	of the SetEnv directive, and setting the OPENSSL_CONF environment
	variable, in conjunction with adding calls to OPENSSL_config(3) in
	these respective modules.

2015-07-09  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/crypto.c, contrib/mod_tls.c: Use the OpenSSL
	config file; it's probably used by the configured ENGINE.

2015-07-07  TJ Saunders <tj@castaglia.org>

	* configure, configure.in: Adding a few more compiler warnings, when
	--enable-devel is used.

2015-07-07  TJ Saunders <tj@castaglia.org>

	* modules/mod_auth_pam.c: Finally clean up compiler warnings which
	had been bugging me for quite a while.

2015-07-07  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c: Quell some compiler warnings.

2015-07-07  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/kex.c: When computing the size of the DH needed,
	we also need to pay attention to the negotiated cipher block sizes,
	not just the cipher key lengths.

2015-07-07  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/kex.c: Remove now-unused macro value.

2015-07-07  TJ Saunders <tj@castaglia.org>

	* doc/contrib/mod_sftp_sql.html: Remove now-unused keywords.

2015-07-07  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Minor tweaks
	when testing out some use cases.

2015-07-07  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/keystore.c: Fix the trace log message when
	handling SFTPAuthorizedUserKeys to properly include the store type.

2015-07-07  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
	contrib/mod_sftp/service.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: When constructing the
	cmd_recs, do it properly, so that ExtendedLog entries, e.g. for the
	%r variable, log the request properly.  The cmd_recs allocated did
	not set the correct cmd_rec.argc value.

2015-07-07  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp_sql.c: Remove extraneous (and misleading) trace
	logging.

2015-07-02  TJ Saunders <tj@castaglia.org>

	* src/dirtree.c: Found a place where we should have been using
	"_bind_", not just "_bind".

2015-07-01  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: More testsuite help when
	writing out subsections of e.g. <IfModule> config sections.

2015-07-01  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #141 from proftpd/core-class-add-note Add a function for attaching notes to a class, e.g. from a config
	dir…

2015-07-01  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/kex.c: Always make sure we're using this kex's
	pool, not the overall Kex API pool, to prevent memory leaks.

2015-06-30  tjsaunders <tj@lyveminds.com>

	* : commit 98541b4a198b3f49721bd8a7d6d1894e52981623 Author:
	tjsaunders <tj@lyveminds.com> Date:   Tue Jun 30 10:06:54 2015 -0700

2015-06-30  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/mod_sftp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Be more
	defensive/picky about the client version string handling from
	connecting SSH2 clients.

2015-06-29  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c: Impose a limit of 512K on the size of a
	single SFTP packet.  For comparison, OpenSSH imposes a 256K limit.

2015-06-29  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c: Impose a limit (much higher than ever
	expected) on the number of EXTENDED attributes that we'll read from
	an SFTP client.

2015-06-29  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c: Be more consistent about the handling of
	errno values, especially across function calls.

2015-06-29  tjsaunders <tj@lyveminds.com>

	* RELEASE_NOTES: Update release notes to mention SFTP hardlink
	extension support.

2015-06-29  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #140 from proftpd/sftp-hardlink-extension Support the SFTP "hardlink@openssh.com" extension.

2015-06-29  tjsaunders <tj@lyveminds.com>

	* RELEASE_NOTES: Update release notes for LINK_COUNT SFTP STAT
	support.

2015-06-29  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #139 from proftpd/sftp-hardlink-stat-attr Support the SFTP STAT link-count attribute if clients are using a
	new…

2015-06-26  TJ Saunders <tj@castaglia.org>

	* configure, configure.in: More tweaks to the module build summary
	display, to properly display shared modules.

2015-06-26  TJ Saunders <tj@castaglia.org>

	* NEWS, RELEASE_NOTES: Update NEWS, release notes for Bug#4153.

2015-06-26  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #137 from proftpd/sftp-multi-auth-bug4153 Bug#4153 - Support requiring multiple SSH authentication methods

2015-06-26  tjsaunders <tj@lyveminds.com>

	* : commit 250ec7f47628c1eb0b518b1311b709860c78ba0e Author:
	tjsaunders <tj@lyveminds.com> Date:   Fri Jun 26 13:04:34 2015 -0700

2015-06-26  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #138 from
	proftpd/tls-protocol-exclusion-bug4189 Bug#4189 - Support protocol exclusion via TLSProtocol directive.

2015-06-25  tjsaunders <tj@lyveminds.com>

	* : commit d77feab0d434db2273bc16074f75106646a17d90 Author:
	tjsaunders <tj@lyveminds.com> Date:   Thu Jun 25 15:28:11 2015 -0700

2015-06-25  tjsaunders <tj@lyveminds.com>

	* : commit 4372ae9463913ca03ba24b6c15dd590699a5989d Author:
	tjsaunders <tj@lyveminds.com> Date:   Thu Jun 25 15:26:52 2015 -0700

2015-06-25  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/auth.c, contrib/mod_sftp/auth.h,
	contrib/mod_sftp/mod_sftp.c: Guard against auth chains which are
	unsupportable, i.e. chains that have "password" or "hostbased"
	appearing multiple times.

2015-06-25  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/auth-kbdint.c: Just as we require different
	publickey authentications, we now require different
	keyboard-interactive driver authentications in auth chains.

2015-06-24  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/auth.h: Found another place to use auth "chain"
	instead of "list".

2015-06-24  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/auth.c, contrib/mod_sftp/mod_sftp.c: Use "auth
	chain" terminology more consistently throughout the code.

2015-06-24  tjsaunders <tj@lyveminds.com>

	* .gitignore: Ignore a few more file extensions.

2015-06-24  tjsaunders <tj@lyveminds.com>

	* doc/contrib/mod_sftp.html: Update mod_sftp SFTPAuthMethods
	description for new auth chain syntax.

2015-06-24  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/auth-hostbased.c,
	contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
	contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
	contrib/mod_sftp/auth.h, contrib/mod_sftp/mod_sftp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Implemented checking
	of the configured auth chains at startup, to catch chains that use a
	method (e.g. "hostbased") that cannot be supported (e.g.  no
	SFTPAuthorizedHostKeys configured).  Implemented restriction that publickey authentication requests must
	use different keys; duplicate keys will be rejected.  This supports
	authentication chains such as "publickey+publickey".

2015-06-24  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/auth.c, contrib/mod_sftp/auth.h,
	contrib/mod_sftp/mod_sftp.c: Use the term "auth chain" rather than
	"auth list", as "chain" is, in my mind, more accurate.

2015-06-24  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/auth.c: Fix the handling of the next
	authentication methods in the chain.

2015-06-23  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/auth.c, contrib/mod_sftp/mod_sftp.c: Catch
	unknown/unsupported authentication methods properly, and report them
	properly, too.

2015-06-23  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/auth.c: Catch other misconfigurations such as
	double '+' characters in an SFTPAuthMethods list.

2015-06-23  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/auth.c: Fix the check used for detecting trailing
	'+' characters in a SFTPAuthMethods list.

2015-06-23  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/auth.c, contrib/mod_sftp/auth.h,
	contrib/mod_sftp/kbdint.h, contrib/mod_sftp/mod_sftp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Checking in the bulk
	of the work needed for Bug#4153.  There is still a fair amount of
	testing to be done, but the initial tests are looking good.

2015-06-08  TJ Saunders <tj@castaglia.org>

	* doc/modules/mod_auth.html, modules/mod_auth.c, src/regexp.c,
	tests/t/lib/ProFTPD/Tests/Config/AnonRejectPasswords.pm: Make it
	possible to use the AnonRejectPasswords directive to require
	email-like anonymous passwords.

2015-06-08  TJ Saunders <tj@castaglia.org>

	* NEWS: Update NEWS for fix for Bug#4139.

2015-06-08  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #134 from
	proftpd/auth-allow-empty-password-bug4139 Bug#4139 - Support rejecting empty passwords.

2015-06-08  TJ Saunders <tj@castaglia.org>

	* contrib/mod_ban.c, doc/contrib/mod_ban.html: Document the banning
	of hosts using empty passwords.

2015-06-08  TJ Saunders <tj@castaglia.org>

	* RELEASE_NOTES, doc/modules/mod_auth.html, modules/mod_auth.c,
	tests/t/lib/ProFTPD/Tests/Logins.pm: Add integration tests and
	documentation.

2015-06-08  TJ Saunders <tj@castaglia.org>

	* contrib/mod_ban.c, contrib/mod_sftp/auth-password.c,
	modules/mod_auth.c: Bug#4139 - Support rejecting empty passwords.

2015-06-08  TJ Saunders <tj@castaglia.org>

	* NEWS: Updating NEWS for Bug#4151.

2015-06-08  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #132 from
	proftpd/data-ascii-conversion-bug4151 Bug#4151 - FTP ASCII mode conversion algorithm is painfully slow.

2015-06-08  TJ Saunders <tj@castaglia.org>

	* Make.rules.in, include/ascii.h, include/data.h, src/ascii.c,
	src/data.c, tests/Makefile.in, tests/api/ascii.c, tests/api/data.c,
	tests/api/tests.c, tests/api/tests.h,
	tests/t/lib/ProFTPD/Tests/Commands/STOR.pm, utils/utils.h: Refactor
	the ASCII CRLF handling code into its own API, unentangling it from
	the implementation of the data transfers.  This makes it much easier
	to unit test.  Added those unit tests, including a regression test for uploading a
	file as ASCII.

2015-06-05  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #133 from maytechnet/master Fix small copy/paste leftower

2015-06-04  TJ Saunders <tj@castaglia.org>

	* include/data.h, src/data.c, tests/api/data.c: Make the FTP ASCII
	translation function symbols publicly visible, for accessing
	directly for unit testing.  Removed misleading comment; history is what git is for.  Moved
	potentially expensive pr_signals_handle() outside of the
	byte-copying loop; we will handle any potential SIGSEGV signals
	after the loop.

2015-06-04  TJ Saunders <tj@castaglia.org>

	* tests/api/data.c: Not yet ready for these tests to be run.

2015-06-04  TJ Saunders <tj@castaglia.org>

	* tests/Makefile.in, tests/api/data.c, tests/api/stubs.c,
	tests/api/tests.c, tests/api/tests.h: Start working on unit tests
	for the Data API.  This adds the build glue to do so; now to fill in
	the testcases.

2015-06-03  TJ Saunders <tj@castaglia.org>

	* src/data.c: Bug#4151 - FTP ASCII mode conversion algorithm is
	painfully slow.

2015-06-03  TJ Saunders <tj@castaglia.org>

	* NEWS: Updated NEWS for fix for Bug#4188.

2015-06-03  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #131 from proftpd/geoip-multi-expr-bug4188 Bug#4188 - Support filtering based on country code and regional code
	in

2015-06-03  TJ Saunders <tj@castaglia.org>

	* NEWS: Update NEWS for fix for Bug#4167.

2015-06-03  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #98 from proftpd/core-crlf-in-path-bug4167 Bug#4167 - CR/LF characters are not supported in filenames.

2015-06-03  TJ Saunders <tj@castaglia.org>

	* src/main.c: Typo in comment; no functional change.

2015-06-03  TJ Saunders <tj@castaglia.org>

	* : commit 621000469e1f0b11486d2188f50eee87a33bb280 Author: TJ
	Saunders <tj@castaglia.org> Date:   Wed Jun 3 22:30:51 2015 -0700

2015-06-02  TJ Saunders <tj@castaglia.org>

	* doc/contrib/mod_geoip.html: Update the mod_geoip documentation
	with FAQ describing the use case of Bug#4188.

2015-06-02  TJ Saunders <tj@castaglia.org>

	* contrib/mod_geoip.c: Bug#4188 - Support filtering based on country
	code and regional code in mod_geoip.

2015-05-31  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/interop.c: Per this forums post, at least one
	SSH2 client identifying itself as J2SSH does not support/handle
	rekey requests properly:   https://forums.proftpd.org/smf/index.php/topic,11757.0.html Thus add it to the builtin interop lists as a non-rekeying client.

2015-05-31  TJ Saunders <tj@castaglia.org>

	* NEWS: Updated NEWS for fix of Bug#4187.

2015-05-31  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #129 from proftpd/geoip-table-loading-bug4187 Bug#4187 - mod_geoip does not load all of the GeoIPTables properly.

2015-05-30  TJ Saunders <tj@castaglia.org>

	* contrib/mod_geoip.c: Bug#4187 - mod_geoip does not load all of the
	GeoIPTables properly.

2015-05-28  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #128 from proftpd/tls-adaptive-buffering Implement adaptive tuning of the TLS record/buffer size for data
	tran…

2015-05-27  TJ Saunders <tj@castaglia.org>

	* doc/modules/mod_dso.html: Adding mod_dso FAQ, from the online
	forums.

2015-05-27  tjsaunders <tj@lyveminds.com>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Update
	files for rc2 status.

2015-05-27  TJ Saunders <tj@castaglia.org>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Warming up
	for a release of 1.3.6rc1.

2015-05-27  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #80 from proftpd/core-schmod-cifs-bug4134 Bug#4134 - Unable to create folders using FTP on a CIFS mounted
	share: "...

2015-05-25  TJ Saunders <tj@castaglia.org>

	* RELEASE_NOTES, contrib/mod_sftp/kex.c,
	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in,
	doc/contrib/mod_sftp.html: Update mod_sftp to avoid weak DH groups,
	per Bug#4184.

2015-05-22  tjsaunders <tj@lyveminds.com>

	* modules/mod_auth.c: Attempt to address Debian Bug#717235:   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=717235

2015-05-22  tjsaunders <tj@lyveminds.com>

	* configure, configure.in: Fix the build summary, so that it
	displays modules, like mod_sftp or mod_snmp, which have their own
	module directories.  Also skip the module listing if there are no
	static (or no shared) modules to list in the summary.

2015-05-22  tjsaunders <tj@lyveminds.com>

	* RELEASE_NOTES: Mention the new ServerAlias directive in the
	release notes, too.

2015-05-22  tjsaunders <tj@lyveminds.com>

	* NEWS, RELEASE_NOTES, doc/modules/mod_core.html: Update NEWS,
	release notes for HOST support.  Add docs for the new ServerAlias
	directive.

2015-05-22  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #126 from proftpd/core-host-cmd-bug3289 Bug#3289 - Support the HOST command

2015-05-22  TJ Saunders <tj@castaglia.org>

	* doc/howto/TLS.html: Tweaks to the TLS FAQ for FZ.

2015-05-21  TJ Saunders <tj@castaglia.org>

	* doc/howto/TLS.html: Add FAQs about FTPS connection issues with
	FileZilla, lftp to the TLS howto.

2015-05-21  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #125 from proftpd/tls-weak-dh-bug4184 Bug#4184 - Remove support for "weak" Diffie-Hellman groups.

2015-05-12  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Nit.

2015-05-12  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Adding regression test
	showing successful login to name-based vhost.

2015-05-04  TJ Saunders <tj@castaglia.org>

	* : commit 8e6f14aa2f6141b632b48e1b063dde688cbeec62 Merge: 3b93982
	64f28f1 Author: TJ Saunders <tj@castaglia.org> Date:   Mon May 4
	19:34:33 2015 -0700

2015-05-01  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #124 from proftpd/tls-ssl-buffer-sizing Tweak the SSL write buffer/record sizes during TLS handshakes, to
	try to

2015-04-30  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #123 from proftpd/tls-npn-alpn Support/use the ALPN/NPN TLS extensions in mod_tls

2015-04-30  tjsaunders <tj@lyveminds.com>

	* config.h.in, configure, configure.in, contrib/mod_tls.c: Add
	support for the NPN and ALPN extensions to mod_tls, to support any
	FTPS clients which might use these as heuristics for determining
	when to use TLS False Start (e.g. Chrome/Firefox).

2015-04-29  tjsaunders <tj@lyveminds.com>

	* tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Tweaks.

2015-04-29  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: Stylistic nits, compiler warnings; no
	functional change.

2015-04-29  tjsaunders <tj@lyveminds.com>

	* src/bindings.c: Fix null pointer derefence encountered during
	regression testing the HOST command.

2015-04-29  tjsaunders <tj@lyveminds.com>

	* doc/howto/Tracing.html, src/modules.c, src/trace.c: Add a 'module'
	trace channel, for tracing the Module API.

2015-04-29  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c, modules/mod_core.c: Implement handling of the
	TLS SNI extension, so that we can then double-check that (if used)
	against the provided HOST command (and vice versa).

2015-04-29  tjsaunders <tj@lyveminds.com>

	* include/bindings.h, src/bindings.c: Fix bad merge.

2015-04-29  tjsaunders <tj@lyveminds.com>

	* : commit 2bde9ba89eb007778a940f1eae60f2fd22102195 Author:
	tjsaunders <tj@lyveminds.com> Date:   Wed Apr 29 14:46:09 2015 -0700

2015-04-29  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #122 from proftpd/tls-session-reuse-bug4178 Bug#4178: When accepting a TLS connection for data transfers,
	disable th...

2015-04-28  tjsaunders <tj@lyveminds.com>

	* src/data.c: Fix segfault due to null pointer dereference.

2015-04-28  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: Use the SSL options to work around a Safari
	ECDSA bug.

2015-04-27  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Enable SSL session cache flushing on session
	exit, to keep that cache as groomed as possible.

2015-04-27  TJ Saunders <tj@castaglia.org>

	* .gitignore: Ignore a few more files/paths.

2015-04-27  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Style nits; no functional change.

2015-04-26  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: Refactor the random PSK generation code into a
	single helper function, for good style/DRY princicple.

2015-04-26  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: Fix the handling of the TLSECDHCurve directive.

2015-04-26  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #121 from proftpd/tls-psk-support Bug#4174 - Support for TLS-PSK (pre-shared keys)

2015-04-26  tjsaunders <tj@lyveminds.com>

	* NEWS, RELEASE_NOTES, doc/contrib/mod_tls.html: Adding
	documentation for the new TLSPreSharedKey directive.

2015-04-26  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: Finish implementing TLS-PSK support.

2015-04-25  tjsaunders <tj@lyveminds.com>

	* : commit 569ebe9163e7d5cedcbf54215ced625a77aeab6b Merge: 9f1078f
	46c8a0c Author: TJ Saunders <tj@castaglia.org> Date:   Sat Apr 25
	19:30:49 2015 -0700

2015-04-25  tjsaunders <tj@lyveminds.com>

	* doc/contrib/mod_tls.html: Improve the TLSECDHCurve docs by
	including the openssl command to use, to see the full list of
	supported curves.

2015-04-25  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: Make sure that mod_tls compiles properly when
	using OpenSSL-1.0.2 or later.

2015-04-25  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c, doc/contrib/mod_tls.html: Better error
	reporting if the configured curve name isn't known.  Add TLSOption
	for disabling auto-ECDH negotiation behavior, as a future-proof
	safety switch.

2015-04-25  tjsaunders <tj@lyveminds.com>

	* RELEASE_NOTES, contrib/mod_tls.c, doc/contrib/mod_tls.html: Add a
	new TLSECDHCurve directive, for specifying the curve to use for
	ECDHE ciphers.

2015-04-25  tjsaunders <tj@lyveminds.com>

	* NEWS, RELEASE_NOTES: Update NEWS, release notes for Bug#3125.

2015-04-25  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #119 from proftpd/facl-macosx-bug3125 Bug#3125 - Support for Mac OS X implementation of POSIX ACLs.

2015-04-25  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Only log a trace message about adjusting the DH
	parameter length if we indeed to adjust/change the length.

2015-04-24  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Properly handle multiple TLSDHParamFiles, if
	configured.  Adjust the DH parameter length to be the size of the RSA/DSA private
	key, for greater strength, rather than using the given length (which
	will only ever be 512 or 1024 bits, even for 2048-bit server
	certs/keys).  If OpenSSL-1.0.2 or later are used, automatically negotiate the best
	EC, rather than always falling back to the prime256v1 group.

2015-04-22  TJ Saunders <tj@castaglia.org>

	* src/privs.c: Change the logging priority based on errno
	consistently.

2015-04-20  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #118 from proftpd/core-stash-remove-symbol Add symbol type-specific remove functions, for use by modules (e.g.
	mod_...

2015-04-19  TJ Saunders <tj@castaglia.org>

	* doc/howto/FXP.html, doc/modules/mod_core.html: Update references
	in FXP howto to point to local mod_core docs, and add the missing
	descriptions to the mod_core docs.

2015-04-19  TJ Saunders <tj@castaglia.org>

	* doc/howto/Directory.html, doc/modules/mod_core.html: Add
	description of AllowOverride directive, and fix up the Directory
	howto to point to that description.

2015-04-19  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Fix
	mod_sftp+mod_rewrite tests for Mac OSX.

2015-04-16  TJ Saunders <tj@castaglia.org>

	* doc/howto/LogMessages.html: Fix nits in LogMessages doc.

2015-04-15  tjsaunders <tj@lyveminds.com>

	* README.md: Add links/badges for Travis, Coverity.

2015-04-15  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #116 from rk295/patch-1 Changed the version string to reflect 1.3.6rc1

2015-04-15  Gildásio Júnior <gildasio97@gmail.com>

	* README, README.md: Update and rename README to README.md 1. Use md extention because use markdown sintaxe; 2. Update in some sections with markdown "tags"

2015-04-14  Robin Kearney <robin@kearney.co.uk>

	* contrib/dist/rpm/proftpd.spec: Changed the version string to
	reflect 1.3.6rc1

2015-04-12  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c: Clear the statcache appropriately for
	READLINK requests.  Add a note for my future self to NOT make the
	mistake of using a resolved path (again) when making a call to
	readlink(2).

2015-04-12  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix a few more
	tests for running on a Mac OSX.

2015-04-12  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/sql.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: More fixing up
	of tests.

2015-04-12  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/OPTS.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
	tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm,
	tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm,
	tests/t/lib/ProFTPD/Tests/Config/FactsOptions.pm,
	tests/t/lib/ProFTPD/Tests/Config/Limit/RMD.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxClients.pm,
	tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm,
	tests/t/lib/ProFTPD/Tests/Config/Umask.pm,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fixing up some of
	the regression tests to either work on Mac OSX, or to match the
	current code.  Still more tests need updating.

2015-04-11  TJ Saunders <tj@castaglia.org>

	* modules/mod_facts.c: Now that the statcaches have been separated
	for stat(2) vs lstat(2), this second clearing of the statcaches is
	no longer needed.

2015-04-11  TJ Saunders <tj@castaglia.org>

	* src/fsio.c: I found that we need to maintain two different
	statcache tables: one for stat(2) data, and one for lstat(2) data.
	The data can be different, for the same path, depending on whether
	it's a symlink or not.

2015-04-11  TJ Saunders <tj@castaglia.org>

	* modules/mod_facts.c, src/dirtree.c: Running through the regression
	tests has picked up a few necessary fixes.  Expect more.

2015-04-10  TJ Saunders <tj@castaglia.org>

	* NEWS: Updated NEWS for Bug#4168.

2015-04-10  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #110 from
	proftpd/xfer-hiddenstores-races-bug4168 Bug#4168 - Race condition with HiddenStores and TimeoutIdle timeout.

2015-04-10  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #114 from
	proftpd/sftp-realpath-ctrl-byte-bug4170 Bug#4170 - Incorrect handling of control-byte field of
	SSH_FXP_REALPATH ...

2015-04-09  TJ Saunders <tj@castaglia.org>

	* doc/howto/Radius.html: Update Radius howto to mention new
	attributes supported by mod_radius.

2015-04-09  TJ Saunders <tj@castaglia.org>

	* contrib/ftpasswd, modules/mod_auth_file.c: Bug#4171 - Add checks
	to mod_auth_file for crypt(3) failures due to the hash algorithm
	used, and make ftpasswd check for times when --des/--md5 will not be
	sufficient.

2015-04-09  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/fxp.c: Try to implement more of the SFTP protocol
	version 6 semantics for REALPATH's control byte.

2015-04-09  tjsaunders <tj@lyveminds.com>

	* : commit 8c1412153a13f51c63070c2ac67c7a922b1a9831 Author:
	tjsaunders <tj@lyveminds.com> Date:   Thu Apr 9 00:18:17 2015 -0700

2015-04-08  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: Fix copy/pasto, spotted by Coverity.

2015-04-08  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/kex.c: Remove unnecessary NULL check, per
	Coverity.

2015-04-08  tjsaunders <tj@lyveminds.com>

	* src/str.c, tests/api/str.c: Make sure that pr_str_is_fnmatch()
	properly handles NULL arguments.

2015-04-08  tjsaunders <tj@lyveminds.com>

	* lib/glibc-glob.c: Initialize the 'next' value explicitly, so that
	things happen properly in the error handling code.  Found by
	Coverity.

2015-04-08  tjsaunders <tj@lyveminds.com>

	* contrib/mod_radius.c: Handle the size where the size of an int may
	not be exactly 4 bytes; on some platforms, it might actually be
	larger.  So be specific about the number of bytes we copy for the
	vendor ID of a VSA.

2015-04-08  tjsaunders <tj@lyveminds.com>

	* modules/mod_site.c, tests/t/lib/ProFTPD/Tests/Modules/mod_site.pm: 
	Fix some typos in the handling of symbolic mode expressions for SITE
	CHMOD commands, and start adding some symbolic SITE CHMOD regression
	tests.

2015-04-08  tjsaunders <tj@lyveminds.com>

	* modules/mod_delay.c: When shutting down and preserving the
	DelayTable, make the handling a little more resilient, handling
	(very unlikely but possible) error cases better, per Coverity.

2015-04-08  tjsaunders <tj@lyveminds.com>

	* contrib/mod_snmp/mod_snmp.c: Remove unnecessary NULL check, per
	Coverity.

2015-04-08  tjsaunders <tj@lyveminds.com>

	* modules/mod_core.c: Handle NULL return values from pr_expr_create,
	and make Coverity happier.

2015-04-08  tjsaunders <tj@lyveminds.com>

	* src/inet.c: Make the fd checks in pr_inet_openrw() a little less
	brittle by checking for any valid-looking fd (i.e. > -1), rather
	than just directly comparing against -1.

2015-04-08  tjsaunders <tj@lyveminds.com>

	* contrib/coverity/modeling.c: Tell Coverity to ignore
	rand(3)/random(3); we know what we're doing, and do not use it for
	cases where cryptographically strong random numbers are needed.  So
	please, Coverity, stop marking its use as defects.

2015-04-08  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/keys.c, contrib/mod_tls.c: Make sure that we
	NUL-terminate the buffer we gave to read(2), for passphrase
	collection, before doing anything else with the buffer.

2015-04-08  tjsaunders <tj@lyveminds.com>

	* src/fsio.c: Check for possible NULL value before calling glob(3),
	lest it segfault on us.

2015-04-08  tjsaunders <tj@lyveminds.com>

	* src/fsio.c: Remove unnecessary NULL check, per Coverity.

2015-04-08  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c: Bug#4170 - Incorrect handling of
	control-byte field of SSH_FXP_REALPATH as bitmask rather than
	enumeration.

2015-04-08  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/auth.c: Handle possibly (albeit unlikely) NULL
	return value.

2015-04-08  tjsaunders <tj@lyveminds.com>

	* contrib/mod_radius.c: Slightly more paranoid parsing of RADIUS
	variable formatted strings, as configured in the config file.

2015-04-08  tjsaunders <tj@lyveminds.com>

	* contrib/mod_ifsession.c: The <If...> sections using regexes might
	be malformed; the configuration handler needs to handle this error
	case properly.

2015-04-08  tjsaunders <tj@lyveminds.com>

	* : commit ac1a6a4dc9d34703dd5a438336cb53c0fed33d10 Author:
	tjsaunders <tj@lyveminds.com> Date:   Wed Apr 8 00:25:07 2015 -0700

2015-04-08  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #112 from proftpd/coverity-defects Moew Coverity defects

2015-04-08  tjsaunders <tj@lyveminds.com>

	* contrib/coverity/modeling.c, lib/tpl.c, lib/tpl.h: Tweak the TPL
	API a little, so that we can mark it for visibility by Coverity.

2015-04-07  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: Quell warning about uninitialized variable
	being used.

2015-04-07  tjsaunders <tj@lyveminds.com>

	* src/fsio.c: Better NULL checking.  Also clear the statcache in the
	case of renames.

2015-04-07  tjsaunders <tj@lyveminds.com>

	* contrib/mod_exec.c, contrib/mod_radius.c, lib/tpl.c,
	modules/mod_ls.c, modules/mod_site.c: Fixing up more issues spotted
	by Coverity.

2015-04-07  tjsaunders <tj@lyveminds.com>

	* src/fsio.c: Fix dead code spotted by Coverity.

2015-04-07  tjsaunders <tj@lyveminds.com>

	* contrib/mod_snmp/packet.c: Removing some logically dead code
	branches spotted by Coverity.

2015-04-07  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #111 from proftpd/coverity-defects Quell some of the warnings/issues spotted by Coverity.

2015-04-07  tjsaunders <tj@lyveminds.com>

	* : commit 6bb2e06513363a256802ebb250ff05a1d9fd3208 Author:
	tjsaunders <tj@lyveminds.com> Date:   Tue Apr 7 22:03:04 2015 -0700

2015-04-07  tjsaunders <tj@lyveminds.com>

	* modules/mod_core.c, modules/mod_xfer.c: Use PR_HANDLED, not
	HANDLED.

2015-04-07  tjsaunders <tj@lyveminds.com>

	* contrib/mod_copy.c: Use PR_DECLINED, not DECLINED.

2015-04-07  tjsaunders <tj@lyveminds.com>

	* RELEASE_NOTES: Tweaks/edits to release notes.

2015-04-07  tjsaunders <tj@lyveminds.com>

	* RELEASE_NOTES: More fleshing out of the release notes.  We're
	getting close to release-ready.

2015-04-07  tjsaunders <tj@lyveminds.com>

	* RELEASE_NOTES: Start fleshing out the release notes, getting ready
	for a release.

2015-04-07  TJ Saunders <tj@castaglia.org>

	* modules/mod_xfer.c: Bug#4168 - Race condition with HiddenStores
	and TimeoutIdle timeout.  Attempt to reduce/mitigate this race by blocking timers during
	critical sections of transfer setup code, and handle some side
	effects in the exit handler by using other criteria for determining
	when/how to handle e.g. HiddenStores files.

2015-04-07  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/Makefile.in, contrib/mod_sftp/umac.c: Fix
	building of umac128.{o, lo}, and the resulting symbol collision for
	a DSO build of mod_sftp.

2015-04-07  tjsaunders <tj@lyveminds.com>

	* src/inet.c: Fix compilation when the --disable-ipv6 compile-time
	option is used.

2015-04-07  tjsaunders <tj@lyveminds.com>

	* NEWS, RELEASE_NOTES: Updating NEWS, release notes for Bug#4169.

2015-04-07  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #109 from
	proftpd/copy-unauthenticated-copying Bug#4169 - Unauthenticated copying of files via SITE CPFR/CPTO
	allowed by mod_copy

2015-04-06  tjsaunders <tj@lyveminds.com>

	* NEWS, contrib/mod_sftp/fxp.c: Update NEWS with mention of fix for
	Bug#4166.

2015-04-06  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #97 from
	proftpd/sftp-rekeying-memory-usage-bug4166 Bug#4166 - mod_sftp sessions consume large amounts of memory due to
	reke...

2015-04-05  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #108 from proftpd/sftp-umac-128 Support for "umac-128@openssh.com" SSH MAC algorithm

2015-04-05  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/Makefile.in, contrib/mod_sftp/crypto.c,
	contrib/mod_sftp/mac.c, contrib/mod_sftp/umac.c,
	contrib/mod_sftp/umac.h: Add support for the umac-128@openssh.com
	SSH MAC.

2015-04-05  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/kbdint.c: Fix memory leak when handling
	'keyboard-interactive' SSH authentication.

2015-04-05  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls_memcache.c: Tone down the logging message emitted
	when we try to register a handler and there's no memcache support
	enabled in the build.

2015-04-04  tjsaunders <tj@lyveminds.com>

	* NEWS, RELEASE_NOTES: Update NEWS, release notes with mention of
	Bug#4059.

2015-04-04  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #107 from
	proftpd/radius-addl-attributes-bug4059 Bug#4059 - Implement additional RADIUS attributes

2015-04-03  tjsaunders <tj@lyveminds.com>

	* contrib/mod_radius.c, doc/contrib/mod_radius.html: Bug#4059 -
	Implement additional RADIUS attributes.

2015-04-03  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp_pam.c: Stylistic nit cleanup in mod_sftp_pam, no
	functional changes.

2015-04-02  TJ Saunders <tj@castaglia.org>

	* RELEASE_NOTES: Mention the new FSCachePolicy directive in the
	release notes.

2015-04-02  TJ Saunders <tj@castaglia.org>

	* doc/contrib/mod_sftp.html: Fix the spacing in the mod_sftp docs
	referring to RFCs.

2015-04-02  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #106 from proftpd/site-misc-resp-code-setting Fix the setting of FTP response codes for the internal commands that

2015-04-02  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #105 from proftpd/site-misc-extlog-resp-code Add regression test for ExtendedLog handling of the response code
	for SITE commands

2015-04-02  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c: Found a few more places in mod_sftp that
	need to clear the statcache for accurate stat/lstat results.

2015-04-02  TJ Saunders <tj@castaglia.org>

	* : commit f88556af8c9395873f75fc43e5f779648b5de0c3 Author: TJ
	Saunders <tj@castaglia.org> Date:   Thu Apr 2 11:25:48 2015 -0700

2015-04-02  TJ Saunders <tj@castaglia.org>

	* tests/api/table.c: Add a unit test for executing pr_table_do() on
	a table, with a callback that removes items from the table during
	the iteration.

2015-04-02  TJ Saunders <tj@castaglia.org>

	* src/fsio.c: Clear the statcache when files are created/modified
	via creat(2) and open(2) calls as well.

2015-04-02  TJ Saunders <tj@castaglia.org>

	* src/fsio.c, tests/api/fsio.c: Clear the statcache when a file is
	closed or unlinked.  Flesh out the pr_fsio_stat()/pr_fsio_lstat() unit tests to catch
	regressions such as the previous statcache issue, where the
	statcache was not being populated with the struct stat information.

2015-04-02  TJ Saunders <tj@castaglia.org>

	* contrib/mod_site_misc.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Adding
	integration test demonstrating the proper handling of the %s
	ExtendedLog variable for SITE commands, e.g. those provided by
	mod_site_mis.c

2015-04-02  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #104 from proftpd/core-fscacheoptions Add FSCachePolicy directive, for tuning statcache

2015-04-01  TJ Saunders <tj@castaglia.org>

	* : commit 36ed1cb9901e041e88b0a96e8fb4bd13defea24f Merge: b65700f
	9d45a71 Author: TJ Saunders <tj@castaglia.org> Date:   Wed Apr 1
	23:35:15 2015 -0700

2015-04-01  TJ Saunders <tj@castaglia.org>

	* src/fsio.c: Set errno to the proper value in the case of
	stat(2)/lstat(2) failure.

2015-04-01  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/misc.c: Adding missing format string.

2015-04-01  TJ Saunders <tj@castaglia.org>

	* modules/mod_ls.c: Remove debugging cruft.

2015-04-01  TJ Saunders <tj@castaglia.org>

	* modules/mod_ls.c, src/fsio.c: Add missing memcpy(2) call that was
	causing FTP directory listings to fail.

2015-04-01  TJ Saunders <tj@castaglia.org>

	* modules/mod_ls.c, src/dirtree.c, src/fsio.c, src/support.c: 
	Checking in some changes while I debug why the statcaching is
	breaking FTP directory listings.

2015-04-01  tjsaunders <tj@lyveminds.com>

	* modules/mod_core.c: Start working on an FSCacheOptions directive,
	for tuning the newly-added statcache.

2015-04-01  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/fxp.c: Properly increment the st_size on SFTP
	WRITE, taking into account possible overwrites of existing chunks of
	the file.

2015-04-01  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #100 from proftpd/fsio-stat-caching Change the FSIO API's statcache from a single entry to one using
	tables.

2015-04-01  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #101 from proftpd/sftp-fstat-on-write-perf Avoid an fstat(2) call per WRITE request, to see if it helps with
	perfor...

2015-04-01  tjsaunders <tj@lyveminds.com>

	* src/fsio.c, tests/api/fsio.c: Dealing with test fallout, and
	quelling some compiler warnings spotted by travis-ci.

2015-04-01  tjsaunders <tj@lyveminds.com>

	* src/str.c: Remove some unused variables (spotted by travis-ci).

2015-04-01  tjsaunders <tj@lyveminds.com>

	* src/fsio.c: Make sure that pr_fsio_access() doesn't clear the
	statcache when it doesn't have to; that policy should be up to the
	caller, not to the implementation.

2015-04-01  tjsaunders <tj@lyveminds.com>

	* include/fsio.h, modules/mod_core.c, src/dirtree.c, src/fsio.c,
	tests/api/fsio.c: Disable statcaching until the client has
	authenticated, at which point we will start caching.

2015-03-31  tjsaunders <tj@lyveminds.com>

	* : commit fc5dda6054a982a858add1fa63addb48fbdbb9f4 Author:
	tjsaunders <tj@lyveminds.com> Date:   Tue Mar 31 23:33:53 2015 -0700

2015-03-31  tjsaunders <tj@lyveminds.com>

	* contrib/mod_copy.c, contrib/mod_quotatab.c,
	contrib/mod_rewrite.c, contrib/mod_sftp/fxp.c,
	contrib/mod_sftp/misc.c, contrib/mod_site_misc.c,
	contrib/mod_snmp/mod_snmp.c, contrib/mod_sql.c, include/fsio.h,
	include/options.h, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_facl.c, modules/mod_facts.c, modules/mod_log.c,
	modules/mod_ls.c, modules/mod_xfer.c, src/dirtree.c, src/fsio.c,
	src/mkhome.c, src/support.c, src/table.c, tests/api/fsio.c: Change
	the FSIO API's statcache from a single entry to one using tables.
	This cache now holds up to a configurable size, with expiration, and
	allows clearing of single entries (or the entire cache if needed).

2015-03-31  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/fxp.c: Fix bug where we were allocating a cmd_rec
	out of the wrong pool when handling REMOVE requests.

2015-03-31  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/fxp.c: Slight logging tweaks; no functional
	change.

2015-03-31  TJ Saunders <tj@castaglia.org>

	* NEWS: Update NEWS with mention of Bug#4157.

2015-03-31  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #96 from proftpd/core-tracing-perf-bug4157 Bug#4157 - LIST/NLST of 1000s of files is slow on some platforms.

2015-03-30  TJ Saunders <tj@castaglia.org>

	* src/bindings.c: Remove now-unused variable.

2015-03-30  TJ Saunders <tj@castaglia.org>

	* include/bindings.h, src/bindings.c: Fix up the
	ServerAlias/namebind handling which was causing spurious NOTICE
	level log messages in 1.3.5.

2015-03-29  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c: Make sure to set the curr_pkt pointer to
	NULL in the case of an unknown request, too.

2015-03-29  TJ Saunders <tj@castaglia.org>

	* modules/mod_dso.c, src/auth.c, src/inet.c, src/netio.c: Add
	missing tags on some pools, fix typos.  Nothing major.

2015-03-29  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c: Found a place where we need to clear a
	pointer to a packet explicitly. Failing to do so could mean that a
	packet is reused, thus leading to leaking memory (as that packet
	pool is never actually freed/reused).

2015-03-28  TJ Saunders <tj@castaglia.org>

	* include/support.h, modules/mod_ls.c, src/support.c: Additional
	fixes for Bug#4157, trying to remove a redundant lstat(2) call
	during directory listings that include symlinks.

2015-03-28  TJ Saunders <tj@castaglia.org>

	* : commit fd68ce118083fea2e1add58ae6e43413aa0b408e Author: TJ
	Saunders <tj@castaglia.org> Date:   Sat Mar 28 15:48:31 2015 -0700

2015-03-28  TJ Saunders <tj@castaglia.org>

	* modules/mod_core.c, src/netio.c, src/response.c,
	tests/api/netio.c, tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: 
	Additional changes needed for handling embedded LFs in paths, for
	Bug#4167.

2015-03-28  TJ Saunders <tj@castaglia.org>

	* include/netio.h, src/main.c, src/netio.c, src/str.c,
	tests/api/netio.c, tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: 
	Bug#4167 - CR/LF characters are not supported in filenames.

2015-03-25  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/fxp.c: Avoid an fstat(2) call per WRITE request,
	to see if it helps with performance writing files on network
	filesystems like NFS.

2015-03-25  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: Slightly better trace messages for SSL
	WANT_READ/WANT_WRITE conditions.

2015-03-21  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/mod_sftp.c: Only dump the memory pools if
	mod_shaper is NOT present.

2015-03-21  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/kex.c: Additional changes for Bug#4166, to reduce
	the memory leaked during an SSH2 rekeying.

2015-03-21  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/kex.c,
	contrib/mod_sftp/mod_sftp.c, modules/mod_xfer.c: Bug#4166 - mod_sftp
	sessions consume large amounts of memory due to rekeying.  In order to debug this, I had to add code to mod_sftp which handles
	the SIGUSR2 signal by dumping the memory pools of the process.
	This, in turn, required some slight adjustments to a similar
	handling of SIGUSR2 that mod_xfer does, but which was only needed if
	mod_shaper is present.

2015-03-20  TJ Saunders <tj@castaglia.org>

	* modules/mod_ls.c, src/fsio.c, src/trace.c: Bug#4157 - LIST/NLST of
	1000s of files is slow on some platforms.

2015-03-20  tjsaunders <tj@lyveminds.com>

	* NEWS, RELEASE_NOTES: Update NEWS, release notes for Bug#4164.

2015-03-20  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #95 from proftpd/sql-uid-size-bug4164 Bug#4164 - mod_sql fails to read UID/GID values larger than 32 bits
	from SQL table

2015-03-16  tjsaunders <tj@lyveminds.com>

	* contrib/mod_exec.c, contrib/mod_sftp/fxp.c, contrib/mod_sql.c,
	modules/mod_cap.c, modules/mod_facts.c, src/main.c: Updating more
	places to use the new functions for stringifying UID/GID values.
	Display the max supported UID/GID value in the -V output.

2015-03-16  tjsaunders <tj@lyveminds.com>

	* : commit 005b8a5cccfa75109f738f2ecbb763225d1a76c3 Author: TJ
	Saunders <tj@castaglia.org> Date:   Mon Mar 16 14:05:11 2015 -0700

2015-03-15  tjsaunders <tj@lyveminds.com>

	* src/auth.c, src/privs.c: Update more places in the core code to
	log UID/GID values properly.

2015-03-15  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sql.c: Fix up a few more places in mod_sql where
	proper stringification of UID/GID needs to use the new routines.

2015-03-15  tjsaunders <tj@lyveminds.com>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: The bug has
	number; it's number is 4164.

2015-03-15  tjsaunders <tj@lyveminds.com>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Run all of
	the mod_sql_sqlite tests, please.

2015-03-15  tjsaunders <tj@lyveminds.com>

	* src/auth.c, src/str.c, tests/api/str.c: Bug#4164: Start using the
	new functions for ID/string conversion in more places; there's still
	more here to do.

2015-03-15  tjsaunders <tj@lyveminds.com>

	* : commit 9b215b1530bf4839ddce6505d70d9e79a9c541c5 Author:
	tjsaunders <tj@lyveminds.com> Date:   Sun Mar 15 17:27:51 2015 -0700

2015-03-15  TJ Saunders <tj@castaglia.org>

	* configure: Updated configure.

2015-03-15  TJ Saunders <tj@castaglia.org>

	* config.h.in, configure.in: Check for the strtoll(3) function, too.

2015-03-15  TJ Saunders <tj@castaglia.org>

	* configure: Updated configure.

2015-03-15  TJ Saunders <tj@castaglia.org>

	* config.h.in, configure.in: Add autoconf checks for the size of
	uid_t/gid_t, as part of handling Bug#4164.

2015-03-15  tjsaunders <tj@lyveminds.com>

	* NEWS, RELEASE_NOTES: Update NEWS, release notes for Bug#4163.

2015-03-15  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #94 from
	proftpd/tls-no-export-ciphers-bug4163 Bug#4163 - Remove support for EXPORT grade ciphers.

2015-03-15  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/fxp.c: Fix two places with incorrect comparisons
	against the utf8ProtocolVersion SFTPOption, per comments in
	Bug#4160.

2015-03-15  tjsaunders <tj@lyveminds.com>

	* NEWS: Update NEWS for Bug#4160.

2015-03-15  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #93 from
	proftpd/sftp-realpath-nocheck-v6-response-bug4160 Bug#4160 - Malformed response to SSH_FXP_REALPATH with SFTP version
	6.

2015-03-14  tjsaunders <tj@lyveminds.com>

	* NEWS: Update NEWS with fix for Bug#4156.

2015-03-14  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #91 from proftpd/core-ls-segfault-bug4156 Bug#4156 - Segfault handling LIST/NLST FTP command on Mac OS X.

2015-03-03  tjsaunders <tj@lyveminds.com>

	* NEWS, RELEASE_NOTES: Updates NEWS, release notes for Bug#4159.

2015-03-03  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #92 from proftpd/xfer-ignore-ascii-bug4159 Bug#4159: Support ability to disable ASCII translation transparently
	to ...

2015-03-01  TJ Saunders <tj@castaglia.org>

	* include/fsio.h, lib/sstrncpy.c, src/fsio.c, tests/api/fsio.c,
	tests/api/str.c: Bug#4156 - Segfault handling LIST/NLST FTP command
	on Mac OS X.

2015-03-01  TJ Saunders <tj@castaglia.org>

	* src/main.c: Include PR_TUNABLE_PATH_MAX in the `proftpd -V'
	output.

2014-12-25  TJ Saunders <tj@castaglia.org>

	* NEWS, RELEASE_NOTES: Update NEWS, release notes for JSON output of
	ftpwho (Bug#4031).

2015-02-27  TJ Saunders <tj@castaglia.org>

	* lib/pr_fnmatch_loop.c: Backport glibc fix for a memory overread
	for certain fnmatch patterns.

2015-02-19  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp_sql.c: Fix additional issue related to Bug#4155,
	where the buffer overrun could happen for bad key data.  This also
	adds a log message for the future, pinpointing the root of the
	problem.

2015-02-19  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Remove stray
	comment character.

2015-02-17  tjsaunders <tj@lyveminds.com>

	* tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Add a regression test
	for the NLST command and how the -a and -1 options will affect the
	format of the NLST response.

2015-02-17  tjsaunders <tj@lyveminds.com>

	* modules/mod_ls.c: Stylistic nits; no functional change.

2015-02-17  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Adding mod_exec
	regression test demonstrating how to use mod_exec and mod_ifsession.

2015-02-17  tjsaunders <tj@lyveminds.com>

	* NEWS: Update NEWS with fix for Bug#4155.

2015-02-17  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #89 from
	proftpd/sftp-sql-overlong-commented-keys-bug4155 Bug#4155 - SSH keys with too-long Comment headers aren't recognized
	by mod_sftp_sql

2015-02-17  TJ Saunders <tj@castaglia.org>

	* tests/t/etc/modules/mod_sftp/test_rsa2048_key2,
	tests/t/etc/modules/mod_sftp/test_rsa2048_key2.pub,
	tests/t/etc/modules/mod_sftp/test_rsa_key_bug4155,
	tests/t/etc/modules/mod_sftp/test_rsa_key_bug4155.pub,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Adding
	accompanying regression tests for Bug#4155.

2015-02-17  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp_sql.c: Bug#4155 - SSH keys with too-long Comment
	headers aren't recognized by mod_sftp_sql.

2015-02-17  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #88 from proftpd/ls-option-parsing Fix random issue with LIST option parsing

2015-02-17  tjsaunders <tj@lyveminds.com>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding a regression
	test for the "LIST -a" parsing issue raised on GitHub.

2015-02-04  tjsaunders <tj@lyveminds.com>

	* NEWS: Update NEWS for fix for Bug#4152.

2015-02-04  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #87 from
	proftpd/core-enotconn-logging-bug4152 Bug#4152 - Reduce logging of non-fatal "unable to open incoming
	connection" errors

2015-02-04  tjsaunders <tj@lyveminds.com>

	* src/main.c: Bug#4152 - Reduce logging of non-fatal "unable to open
	incoming connection" errors.

2015-02-03  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sql_passwd.c: Correct the pointer check used in an
	error case; spotted by Coverity.

2015-02-03  tjsaunders <tj@lyveminds.com>

	* contrib/mod_tls.c: Stylistic nits; no functional change.

2015-02-03  tjsaunders <tj@lyveminds.com>

	* contrib/mod_radius.c: Stylistic cleanup; no functional changes.

2015-02-03  tjsaunders <tj@lyveminds.com>

	* contrib/mod_sftp/keys.c, contrib/mod_tls.c: Address some Coverity
	issues by ensuring that a buffer, given to OpenSSL, is
	NUL-terminated before calling e.g. strlen(3) on the buffer.

2015-02-03  tjsaunders <tj@lyveminds.com>

	* src/data.c: Clear the "have dangling CR" flag on data reset as
	well.

2015-02-03  tjsaunders <tj@lyveminds.com>

	* src/data.c: Reset any ASCII transformation state, possibly
	leftover from previous transfers, when preparing for a data transfer
	(Bug#4150).

2015-02-03  tjsaunders <tj@lyveminds.com>

	* src/data.c: Use the return value from xfrm_ascii_write() as part
	of a trace-level log message (Bug#4149).

2015-02-03  tjsaunders <tj@lyveminds.com>

	* src/data.c: Update stale comment (Bug#4148).

2015-02-03  tjsaunders <tj@lyveminds.com>

	* NEWS: Update NEWS for Bug#4145.

2015-02-03  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #86 from
	proftpd/authfile-symlink-segfault-bug4145 Bug#4145 - Segfault if AuthUserFile is a relative symlink.

2014-12-25  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #84 from proftpd/utils-ftpwho-json-bug4031  Bug#4031 - Support JSON output format for ftpwho

2014-12-25  TJ Saunders <tj@castaglia.org>

	* utils/ftpwho.1.in: Update the ftpwho man page to mention the new
	json option.

2014-12-25  TJ Saunders <tj@castaglia.org>

	* include/tpl.h: Include renamed file.

2014-12-25  TJ Saunders <tj@castaglia.org>

	* configure.in, include/memcache.h, lib/json.c, lib/json.h,
	lib/tpl.h, utils/ftpwho.c, utils/utils.h: Bug#4031 - Support JSON
	output format for ftpwho.

2014-12-24  TJ Saunders <tj@castaglia.org>

	* NEWS, RELEASE_NOTES: Updating NEWS, release notes for fix for
	Bug#4144.

2014-12-24  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #83 from
	proftpd/xfer-appe-with-hiddenstores-bug4144 Bug#4144 - Support APPE when HiddenStores are enabled.

2014-12-22  TJ Saunders <tj@castaglia.org>

	* src/fsio.c: Adding missing trace logging of some FSIO operations.
	Stylistic cleanup.

2014-12-22  TJ Saunders <tj@castaglia.org>

	* .travis.yml, tests/api/fsio.c: Set the TRAVIS_CI environment
	variable when it is being used to e.g. run the API tests.  Then use
	this in the fsio_access() tests, to avoid running the tests which
	run afoul of the travis-ci environment (and causing unexpected
	false-positive test failures).

2014-12-22  TJ Saunders <tj@castaglia.org>

	* tests/api/fsio.c: For the fsio_access() tests, use chmod(2)
	directly on the created directory, rather than futzing with the
	umask.

2014-12-22  TJ Saunders <tj@castaglia.org>

	* tests/api/fsio.c: Comment out more of the fsio_access() tests, for
	now.

2014-12-22  TJ Saunders <tj@castaglia.org>

	* src/scoreboard.c: Quell compiler warning, found by travis-ci.

2014-12-22  TJ Saunders <tj@castaglia.org>

	* tests/api/fsio.c: Comment out some of the just-added tests for
	fsio_access(), pending investigation into travis-ci's umask et al.

2014-12-22  TJ Saunders <tj@castaglia.org>

	* tests/api/inet.c: Removing more unused variables; no functional
	change.

2014-12-22  TJ Saunders <tj@castaglia.org>

	* tests/api/auth.c: Remove unused variable; no functional change.

2014-12-22  TJ Saunders <tj@castaglia.org>

	* tests/api/fsio.c: Fixup use of variables; no functional change.

2014-12-22  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/kex.c: Quell another compiler warning, found by
	travis-ci.

2014-12-22  TJ Saunders <tj@castaglia.org>

	* contrib/mod_site_misc.c: Fix printf(3) format warning found by
	travis-ci.

2014-12-22  TJ Saunders <tj@castaglia.org>

	* src/fsio.c, tests/api/fsio.c: Add unit test for the fsio_access()
	function, as part of tracking down the culprit for Bug#4141.

2014-12-22  TJ Saunders <tj@castaglia.org>

	* src/dirtree.c: Add trace logging of various conditions under which
	we'll hide a file, for debugging/triage.

2014-12-20  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls_memcache.c: Reduce the severity of the "unable to
	register memcache SSL session cache" message, from NOTICE to DEBUG;
	it causes more confusion than aid.

2014-12-17  tjsaunders <tj@lyveminds.com>

	* RELEASE_NOTES, contrib/mod_ban.c, doc/contrib/mod_ban.html: Add
	support to mod_ban, for banning on "bad protocol" detection.

2014-12-15  TJ Saunders <tj@castaglia.org>

	* NEWS: Update NEWS with fix for Bug#4143.

2014-12-15  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #81 from proftpd/core-reject-http-smtp Bug#4143 - HTTPS/FTPS protocol confusion leads to XSS

2014-12-15  tjsaunders <tj@lyveminds.com>

	* src/cmd.c, src/main.c: Update the comments with the appropriate
	bug number.

2014-12-14  TJ Saunders <tj@castaglia.org>

	* include/cmd.h, include/dirtree.h, include/session.h, src/cmd.c,
	src/main.c, tests/t/http.t, tests/t/lib/ProFTPD/Tests/HTTP.pm,
	tests/t/lib/ProFTPD/Tests/SMTP.pm, tests/t/smtp.t: If we detect HTTP
	or SMTP commands, drop the connection.  This prevents proftpd from
	being used as a staging server for nefarious attacks on other
	protocol servers.

2014-12-14  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix regression test
	for Bug#4097 to run using current mod_sftp code.

2014-12-14  TJ Saunders <tj@castaglia.org>

	* : commit 1ba73d3d85bb837ae08eb1fd15d81d087385fc60 Author: TJ
	Saunders <tj@castaglia.org> Date:   Sun Dec 14 18:57:16 2014 -0800

2014-12-14  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fixed quite a few
	failing regression tests; many of them were failing (on Mac OSX) due
	to tmp filesystem fun.

2014-12-13  TJ Saunders <tj@castaglia.org>

	* doc/contrib/mod_sftp.html: Add another mod_sftp FAQ about warnings
	about reading certain config files.

2014-12-09  TJ Saunders <tj@castaglia.org>

	* src/fsio.c: Remove the EPERM exclusion.

2014-12-09  TJ Saunders <tj@castaglia.org>

	* src/fsio.c: Ignore EPERM, in the case where we see ENOENT.

2014-12-09  TJ Saunders <tj@castaglia.org>

	* src/fsio.c: If we encounter an ENOENT from fchmod(2) when securely
	changing mode of a temporary directory, as from a network filesystem
	such as CIFS, then we should probably ignore any EACCES errors said
	filesystem might return as well.

2014-12-09  TJ Saunders <tj@castaglia.org>

	* src/fsio.c: Make sure the fchmod(2) call fails, using ENOENT,
	before deciding to fall back to chmod(2).

2014-12-09  TJ Saunders <tj@castaglia.org>

	* modules/mod_site.c: Fix build warnings about missing printf
	arguments.

2014-12-09  TJ Saunders <tj@castaglia.org>

	* src/fsio.c: Bug#4134 - Unable to create folders using FTP on a
	CIFS mounted share: "No such file or directory".  The underlying cause of this bug is that, on a CIFS mount (perhaps
	because of the mount options used), fchmod(2) on the temporary
	directory returns ENOENT.  Weird.  So we address this by doing a) a
	fallback call to chmod(2) on the path, and b) ignoring ENOENT.

2014-12-08  TJ Saunders <tj@castaglia.org>

	* NEWS: Update NEWS for fix for Bug#4140.

2014-12-08  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #79 from
	proftpd/sftp-readlink-symlinks-bug4140 Bug#4140 - SFTP READLINK requests to symlinks to directories fail.

2014-12-08  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#4140 - SFTP
	READLINK requests to symlinks to directories fail.

2014-12-07  TJ Saunders <tj@castaglia.org>

	* src/auth.c: Log the value for TZ, if it is already present; this
	will help with debugging issues such as Bug#4113.

2014-12-06  TJ Saunders <tj@castaglia.org>

	* NEWS, RELEASE_NOTES: Updated NEWS, release notes for Bug#4138
	changes.

2014-12-06  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #78 from
	proftpd/sql-passwd-salt-encodings-bug4138 Bug#4138 - Support for hex-encoded salts in mod_sql_passwd.

2014-12-06  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sql_passwd.c, doc/contrib/mod_sql_passwd.html,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Bug#4138 -
	Support for hex-encoded salts in mod_sql_passwd.

2014-12-01  tjsaunders <tj@lyveminds.com>

	* NEWS: Update NEWS with fix for Bug#4137.

2014-12-01  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #76 from
	proftpd/geoip-denyfilter-precedence-bug4137 Bug#4137 - GeoIPDenyFilter incorrectly takes precedence over
	GeoIPAllowF...

2014-11-30  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #77 from proftpd/ctrls-openbsd-portability Issue #75: Add configure-time check for struct sockpeercred (as used
	on

2014-11-29  TJ Saunders <tj@castaglia.org>

	* contrib/mod_geoip.c: Bug#4137 - GeoIPDenyFilter incorrectly takes
	precedence over GeoIPAllowFilter.

2014-11-16  TJ Saunders <tj@castaglia.org>

	* NEWS: Updated NEWS for fix for Bug#4133.

2014-11-16  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #73 from
	proftpd/ldap-users-missing-uid-filter-bug4133 Bug#4133 - LDAPUsers directive does not honor
	uid-number-filter-templat...

2014-11-16  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/keys.c: Make sure that
	sftp_keys_clear_ecdsa_hostkey() has proper semantics, and will
	return ENOENT if ECC is supported, but there are no ECDSA hostkeys
	configured.

2014-11-16  TJ Saunders <tj@castaglia.org>

	* RELEASE_NOTES, doc/contrib/mod_sftp.html: Update docs, release
	notes for new SFTPHostKey flags.

2014-11-16  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #72 from
	proftpd/sftp-disabling-global-hostkeys Modify the SFTPHostKey directive such that it can be used to
	unload/clea...

2014-11-14  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/log.c: Remove misleading comment; no functional change.

2014-11-13  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #71 from proftpd/sftp-wrap2-deny-msg Make sure that mod_sftp properly resolves any %u variables in a
	WrapDeny...

2014-11-11  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #70 from proftpd/sftp-allowfilter-redux Following up on a forums post, make sure that if AllowFilter is used
	on

2014-11-10  TJ Saunders <tj@castaglia.org>

	* modules/mod_core.c: Update notes of which modules have been
	reworked, which need reworking.

2014-11-10  TJ Saunders <tj@castaglia.org>

	* modules/mod_xfer.c: Fix merge errors causing broken build.

2014-11-10  TJ Saunders <tj@castaglia.org>

	* : commit 7c4787492b879207a6052058bf9dd11c8c2f48dd Merge: bdaefba
	eef26a0 Author: TJ Saunders <tj@castaglia.org> Date:   Mon Nov 10
	10:24:31 2014 -0800

2014-11-10  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Add regression
	test demonstrating use of the new key fingerprint environment
	variables.

2014-11-10  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/auth-publickey.c, doc/contrib/mod_sftp.html: 
	Populate some environment variables that can be used for
	logging/tracking the publickey used for user authentication, via key
	fingerprints.

2014-11-10  TJ Saunders <tj@castaglia.org>

	* NEWS, RELEASE_NOTES: Update NEWS, release notes for changes for
	Bug#4060.

2014-11-10  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #68 from proftpd/ls-opt-U-bug4060 Bug#4060 fix

2014-11-10  TJ Saunders <tj@castaglia.org>

	* doc/howto/ListOptions.html, modules/mod_ls.c,
	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Bug#4060 - Support
	unsorted LIST entries (-U) to decrease memory/CPU usage for large
	directory listings.

2014-11-09  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #67 from proftpd/xfer-note-file-offset Add support for %{file-offset} ExtendedLog variable, for tracking
	resumed uploads/downloads

2014-11-09  TJ Saunders <tj@castaglia.org>

	* : commit 8d0d90490407d67d8da7bd1543a5f4625b5797af Author: TJ
	Saunders <tj@castaglia.org> Date:   Sun Nov 9 22:38:25 2014 -0800

2014-11-09  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #66 from
	proftpd/lang-require-valid-encoding-bug4125 Bug#4125 - mod_lang should provide way to reject illegally-encoded
	filenames.

2014-11-09  TJ Saunders <tj@castaglia.org>

	* modules/mod_lang.c: Copy-pasto.

2014-11-09  TJ Saunders <tj@castaglia.org>

	* include/encode.h, modules/mod_lang.c, src/encode.c, src/fsio.c: 
	Forgot to actually wire up the handling of the RequireValidEncoding
	LangOption to the propagation of decoding errors; without this, all
	illegal encodings would be rejected.

2014-11-09  TJ Saunders <tj@castaglia.org>

	* contrib/mod_copy.c, contrib/mod_site_misc.c,
	doc/modules/mod_lang.html, include/encode.h, include/fsio.h,
	include/session.h, modules/mod_core.c, modules/mod_facts.c,
	modules/mod_lang.c, modules/mod_ls.c, modules/mod_site.c,
	modules/mod_xfer.c, src/dirtree.c, src/encode.c, src/fsio.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Bug#4125 - mod_lang
	should provide way to reject illegall-encoded filenames.

2014-11-09  TJ Saunders <tj@castaglia.org>

	* NEWS: Update NEWS with mention of changes for Bug#4058.

2014-11-09  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #65 from proftpd/trace-timing-channel-bug4058 Bug#4058 -  Create a 'timing' trace channel, for timing-related data

2014-11-09  TJ Saunders <tj@castaglia.org>

	* contrib/mod_log_forensic.c, contrib/mod_sftp/packet.c,
	contrib/mod_tls.c, include/proftpd.h, include/support.h,
	modules/mod_auth.c, src/main.c, src/support.c: Add supporting
	functions for easier timestamping for a 'timing' channel, and start
	implementing some of the more important timings to capture.

2014-11-09  TJ Saunders <tj@castaglia.org>

	* NEWS, contrib/mod_sftp/configure: Update NEWS, regenerate mod_sftp
	configure, for fix for Bug#4131.

2014-11-09  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #64 from proftpd/sftp-autoconf-sha2-detection Fix mod_sftp's autoconf script to properly detect OpenSSL support
	for SH...

2014-11-06  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #63 from proftpd/sqlpasswd-dual-salt-support Modify mod_sql_passwd so that both global and per-user salts can be
	supp...

2014-11-06  tjsaunders <tjsaunders@blackpearlsystems.com>

	* NEWS, RELEASE_NOTES: Update NEWS, release notes for Bug#4130.

2014-11-06  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #62 from
	proftpd/site-utime-multi-timestamps-bug4130 Bug#4130 - Support the 3-timestamp form of SITE UTIME.

2014-11-03  tjsaunders <tjsaunders@blackpearlsystems.com>

	* NEWS: Update NEWS for fix for Bug#4129.

2014-11-03  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #61 from
	proftpd/sql-negative-cached-ids-bug4129 Bug#4129 - mod_sql caches incorrect UID/GID when name cannot be
	retrieve...

2014-11-02  tjsaunders <tjsaunders@blackpearlsystems.com>

	* tests/t/lib/ProFTPD/Tests/Commands/RMD.pm: Add regression test
	demonstrating deletion of a directory (empty) whose name contains
	spaces.

2014-10-27  TJ Saunders <tj@castaglia.org>

	* NEWS: Update NEWS with fix for Bug#4124.

2014-10-27  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #60 from
	proftpd/xfer-deleteabortestores-off-bug4124 Bug#4124 - DeleteAbortedStores defaults to "on" for all transfers,
	not j...

2014-10-24  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/scoreboard.c: Make sure we handle possible (albeit unlikey)
	lseek(2) errors here, too.

2014-10-24  tjsaunders <tjsaunders@blackpearlsystems.com>

	* utils/scoreboard.c: If lseek(2) fails, make sure we handle it
	properly.

2014-10-24  tjsaunders <tjsaunders@blackpearlsystems.com>

	* lib/tpl.c: Slightly better (paranoid) handling of fatal messages
	in TPL.

2014-10-24  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/stash.c, tests/api/stash.c: Per Coverity, check that our name
	comparison is doing what we expect.  Also ensure that the names used
	in stash tables are at least one character long; no empty strings.

2014-10-23  tjsaunders <tjsaunders@blackpearlsystems.com>

	* : commit 0ebf3f8a96aeaaa83bc1250fadc337d626a09186 Author:
	tjsaunders <tjsaunders@blackpearlsystems.com> Date:   Thu Oct 23
	08:50:32 2014 -0700

2014-10-23  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #58 from proftpd/tls-protocol-version-bug4116 Bug#4116 - Report exact SSL/TLS protocol version used in client
	connecti...

2014-10-22  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/memcache.c: Check for a null pointer again, as was done above.

2014-10-22  tjsaunders <tjsaunders@blackpearlsystems.com>

	* lib/tpl.c: Clean up the varargs in this error case.

2014-10-22  tjsaunders <tjsaunders@blackpearlsystems.com>

	* lib/tpl.c: Tell compilers (and static code analyzers) that we
	explicitly do not care about the return values in this code branch.

2014-10-22  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/main.c: If we still have trouble opening the ScoreboardFile in
	inetd mode, after deleting it, then fail to start up.

2014-10-22  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_shaper.c: Check for an improbable error when deleting
	the ShaperTable on shutdown, per Coverity's suggestions.

2014-10-21  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_tls.c: More refactoring to the TLS version setting in
	mod_tls, to make sure that the intended behavior, a la Bug#4114, is
	enforced properly in all cases. This code is much simpler to
	maintain now.

2014-10-21  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Got the order of the default ciphersuites
	wrong, for Bug#4114.

2014-10-21  tjsaunders <tjsaunders@blackpearlsystems.com>

	* modules/mod_xfer.c: Remove some unneeded code, and check that the
	configured Max{Retrieve,Store}FileSize is greater than zero.

2014-10-21  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/scoreboard.c, utils/scoreboard.c: If lseek(2) fails, make sure
	to clean up after ourselves before leaving (i.e.  unlocking the
	scoreboard, and closing the fd).

2014-10-19  TJ Saunders <tj@castaglia.org>

	* NEWS: Update NEWS for Bug#4035.

2014-10-19  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #53 from
	proftpd/xfer-hiddenstores-not-renamed-bug4035 Bug#4035 - HiddenStores file not renamed every time

2014-10-19  TJ Saunders <tj@castaglia.org>

	* : commit e3a87649a7bafa593b68b36fcc0b9eb2d1045eee Author: TJ
	Saunders <tj@castaglia.org> Date:   Sun Oct 19 12:13:49 2014 -0700

2014-10-19  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #51 from
	proftpd/sftp-too-small-buffer-bug4112 Bug#4112 - Failure to connect using mod_sftp sometimes due to
	too-small buffers

2014-10-19  TJ Saunders <tj@castaglia.org>

	* : commit 70c583005687a2cbba6807f9f83a504895eedb47 Author: TJ
	Saunders <tj@castaglia.org> Date:   Sun Oct 19 12:08:38 2014 -0700

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/log.c: If we fail to open a syslog socket, log the error.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/ctrls.c: Remove redundant variable.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* modules/mod_core.c: Ignore errors from setting trace levels here,
	when restarting.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* lib/pr-syslog.c, src/log.c: More cases where we are not concerned
	with errors; be explicit about it.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/inet.c: Check (or ignore) errors from pr_inet_set_block().

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_tls.c: Fix a case where, when secure site-to-site
	transfers are used, mod_tls would ignore a possible problem when
	matching the server cert's CN.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* lib/tpl.c: The tpl code needed some va_end() calls before
	returning early from a variadic function.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/misc.c: Log in other places here when
	stat(2)/fstat(2) fail.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/misc.c: Log if stat(2) fails here.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/data.c: We're not really concerned with a fcntl(2) error here.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/ctrls.c: Some controls could elicit large responses.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/ctrls.c: Put a bound on the number of controls response
	arguments, too.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/ctrls.c: Put a bound on the max number of controls request
	arguments.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* modules/mod_ctrls.c: Another place where we can check before
	calling close() on an fd.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* modules/mod_ctrls.c: Make sure the fd is a valid fd value before
	passing it to close(2).

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/scoreboard.c: More handling of lseek(2) errors.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* utils/scoreboard.c: Handle possible lseek(2) error when scrubbing
	scoreboard via ftpscrub.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/netaddr.c: More paranoid error handling, prompted by Coverity.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_quotatab_file.c: Handle (rare) cases where lseek(2)
	might return an error.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* modules/mod_core.c: Coverity found another place where possibly
	badly formatted Trace settings could trigger a null pointer
	dereference.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/keystore.c: Avoid possible null pointer
	dereferences (unlikely) when handling badly configured
	SFTPAuthorized{Host,User}Keys parameters.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* modules/mod_core.c: Avoid possible null pointer dereference, per
	Coverity.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_wrap2/mod_wrap2.c: Paranoidly check for NULL from
	strchr(3); this case should've been caught in the directive handler.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/fxp.c: Avoid possible (but unlikely) null pointer
	dereference.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/ctrls.c: Watch for short reads when reading in a controls
	request.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* doc/howto/Tracing.html, src/log.c, src/trace.c: Handle the case
	where opening a syslog socket might fail.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/fxp.c: Remove unreachable code, found by
	Coverity.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* modules/mod_xfer.c: Remove code which is logically
	dead/unreachable, per Coverity.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/memcache.c: A few more missing break statements found by
	Coverity.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* modules/mod_core.c: Handle the EISDIR case first; the following
	code would handle it automatically, but we want to handle EISDIR as
	a special case.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/event.c: Coverity's analysis correctly identified some
	dead/unreachable code.  Clean it up here.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* modules/mod_xfer.c: Remove redundant check, pointed out by
	Coverity.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/scoreboard.c: Remove some code which would never be reached,
	pointed out by Coverity.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* utils/ftpshut.c: Adding missing break statement, and make the code
	clearer.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/memcache.c: More missing break statements found by Coverity.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* modules/mod_memcache.c: Add missing break statements, per
	Coverity.

2014-10-17  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Refactor the protocol-enabling bits into a
	common function, which makes the protocol setting code easier to
	read/maintain.

2014-10-16  tjsaunders <tjsaunders@blackpearlsystems.com>

	* NEWS, RELEASE_NOTES, doc/contrib/mod_tls.html: Update mod_tls
	docs, NEWS, and release notes for Bug#4114.

2014-10-16  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #56 from proftpd/tls-sslv3-disabled-bug4114 Bug#4114 - mod_tls should not support SSLv3 by default.

2014-10-16  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_tls.c: Bug#4114 - mod_tls should not support SSLv3 by
	default.

2014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/inet.c: Better error handling (and reporting).

2014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
	regression test demonstrating setting the UID/GID columns for
	SQLUserInfo to NULL.

2014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sql.c: Always log the default UID/GID, not just when
	"SQLAuthenticate groups" is in effect.  Sheesh.

2014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/bindings.c, src/inet.c, src/netaddr.c: In handling some
	Coverity-found issues, I think we were propagating some errors too
	eagerly.  Fix these, along with the trace logging added for tracking
	down the cause.

2014-10-14  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #55 from proftpd/coverity-defects Coverity defects

2014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>

	* modules/mod_delay.c: Check for fcntl(2) return values, and log
	them (via trace logging).

2014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/fxp.c: If there are errors setting a file handle
	as blocking, log them via trace logging.

2014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_tls.c: Log (via trace messages) when putting a socket
	into nonblocking/blocking mode results in errors.  Make it clear
	that setting other socket options can be ignored if they fail.

2014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/stash.c: Minor edge case found by Coverity.

2014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/coverity/modeling.c: More Coverity modeling hints.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_tls.c: More places where we need to log if there's an
	issue stashing a note in a table, especially these SSL notes.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_shaper.c: Per Coverity, avoid possible divide-by-zero
	situation.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/coverity/modeling.c: Model pr_session_disconnect() as a
	killpath.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sql_passwd.c: If we have an error reading the salt,
	then don't proceed to trying to manipulate the buffer containing
	said salt.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/timers.c: Remove redundant null check.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/fxp.c: Fix more places in mod_sftp where checking
	xerrno for EOF was unnecessary.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/fxp.c: As it is not possible for xerrno to be EOF
	in this case, remove the unneeded tertiary operator/check for that
	condition.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_snmp/mod_snmp.c: Add missing break statement
	(copy-pasto).

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/dirtree.c: Add missing break statement.  Oops.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_radius.c: Make it clearer what the expected
	usage/return value of the RADIUS_IS_VAR macro is.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/str.c: Remove some redundant checks: an int cannot be larger
	than INT_MAX, by definition.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/fsio.c: Restructure a function to remove dead code.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/cmd.c: Log if we have a problem caching our "displayable"
	string of a command in its notes table.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/display.c, src/display.c: Make sure that
	pr_fsio_fstat() succeeds before setting the IO block size hint on
	the file handle.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/misc.c: Another place where we weren't checking
	pr_fsio_fstat()'s return value.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/fxp.c: Be sure to check the pr_table_add() return
	value, per Coverity.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* modules/mod_xfer.c: Per Coverity's prodding, check the return
	value of pr_fsio_stat().

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/coverity/modeling.c: Model setenv(3) as a TAINTED_DATA
	sink.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/fxp.c: Another copy-pasto found by Coverity.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/fxp.c: Copy-pasto, found by Coverity.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/keys.c: Copy-pasto, found by Coverity.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/packet.c: If mod_sftp is interrupted when reading
	from a socket, then retry that read(2) call again, rather than just
	looping infinitely.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_ldap.c: Remove unnecessary tertiary operator.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* modules/mod_delay.c: Use proper blocks, especially when dealing
	with macro expansion, to make clear what is happening (and what is
	in scope).

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/kex.c: Be consistent with the datatype used for
	the hostkey length throughout the KEX API.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* modules/mod_delay.c: If mod_delay has issues blocking/unblocking
	signals, log the reason why via trace logging.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_copy.c: Log, via trace logging, if we fail to add a
	session note.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_copy.c: Log, via trace logging, a should-never-fail
	error.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* lib/pr-syslog.c: If we have a problem sending a message via
	syslog, try (at least) to report it via STDERR.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/fsio.c: Prompted by Coverity, log (rather than ignoring)
	return values.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/agent.c: Per Coverity, at least log the fcntl(2)
	error when trying to set CLOEXEC on an fd opened to talk to an SSH
	agent.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/netio.c: Explicitly ignore fcntl(2) return values here.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/inet.c: Per Coverity, make sure that we check for, and handle
	errors, when calling getsockopt(2).

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/inet.c: At least log, via trace logging, if fcntl(F_SETOWN)
	fails.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/bindings.c, src/inet.c: Propagate -- and check for -- more
	return values, prompted by Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/rfc4716.c: Be more paranoid about checking return
	values, prompted by Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/data.c: Explicitly ignore the fcntl(2) return value for data
	sockets.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/inet.c: If setting a socket back to blocking mode fails,
	propagate that error to the caller, just as we do when setting the
	socket to nonblocking mode.  Found by Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/ctrls.c, src/log.c: Explicitly ignore the fcntl(2) return
	value when opening a log fd; there is no existing log fd that we can
	use at that point for reporting the error.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/dirtree.c: If we encounter an error in opening a socket, make
	sure that we return from that function early, as appropriate (found
	by Coverity).

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* utils/ftptop.c: Fix a possible (albeit unlikely) resource leak
	identified by Coverity.

2014-10-11  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #54 from proftpd/coverity-defects Coverity defects

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/display.c, src/display.c: Fix error spotted by
	Coverity, where we might exceed the array of supported units for
	Display variables.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* lib/pr-syslog.c: Avoid possible buffer overrun on exceedingly log
	syslog-destined log messages, per Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/keys.c, contrib/mod_sftp/keys.h: Ensure matching
	datatypes, on platforms where uint32_t and size_t are not the same
	size; this should address an issue spotted by Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_shaper.c: Initialize variable, per Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_snmp/mod_snmp.c: Initialize variable, per Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/keys.c: Initialize variable, per Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/stash.c: Initialize variable value, per Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp_sql.c: Be pedanticly cautious, prompted by
	Coverity, in making sure that buffer indices are within the range we
	assume.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/main.c: Avoid possible descriptor leak, found by Coverity, by
	using the existing pr_fs_get_usable_fd() function, rather than
	multiple different approaches.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_snmp/mod_snmp.c: Coverity found a "leaked" file
	descriptor in mod_snmp; we were not returning the opened socket to
	the caller when opening the listening socket.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/netaddr.c: Fix a case, found by Coverity, where we would not
	properly free an addrinfo.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/inet.c: Fix error case where a socket opened by init_conn()
	was not properly closed on error.  This leak was identified by
	Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/ctrls.c: If there are errors when opening a Controls socket,
	make sure that the socket is closed, otherwise we have a descriptor
	leak.  This was identified by Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/env.c: Fix memory leak identified by Coverity: setenv(3)
	already makes a copy of its arguments, which means that we do not
	need to do it.

2014-10-10  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/keys.c, contrib/mod_tls.c: Make sure that when
	prompting the user for a passphrase for a certificate, we ensure
	that the buffer holding the passphrase is NUL-terminated.

2014-10-10  tjsaunders <tjsaunders@blackpearlsystems.com>

	* utils/scoreboard.c: If we fail to obtain a lock on the scoreboard
	and return the error, make sure we close the fd on the way out, lest
	we leak an fd.

2014-10-10  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/netaddr.c: Fix case where we might reference a buffer that has
	fallen out of scope.

2014-10-10  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_radius.c: Fix minor socket descriptor leak found by
	Coverity.

2014-10-09  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/inet.c, tests/Makefile.in, tests/api/inet.c,
	tests/api/stubs.c, tests/api/tests.c, tests/api/tests.h: Start
	working on unit tests for the Inet API.

2014-10-09  tjsaunders <tjsaunders@blackpearlsystems.com>

	* include/filter.h, src/filter.c, tests/Makefile.in,
	tests/api/filter.c, tests/api/tests.c, tests/api/tests.h: Adding
	unit tests for the Filter API.

2014-10-08  tjsaunders <tjsaunders@blackpearlsystems.com>

	* doc/howto/BCP.html, doc/modules/mod_auth.html: Minor doc updates,
	especially a caution for guarding the /proc filesystem.

2014-10-07  TJ Saunders <tj@castaglia.org>

	* include/options.h: Make the default lingering close timeout be 10
	secs, rather than 30 secs; the latter is rather long to wait for
	lost/wandering data to make its way to a client.

2014-10-07  TJ Saunders <tj@castaglia.org>

	* NEWS: Update NEWS for Bug#4110.

2014-10-07  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #52 from proftpd/core-solaris-conslog-bug4110 Bug#4110 - proftpd on Solaris should use /dev/conslog instead of
	/dev/lo...

2014-10-05  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Added more
	regression tests, and tweaked code to add more logging, and to
	handle additional error cases.  This should help remove edge cases
	where HiddenStores are not properly deleted on error.

2014-10-05  TJ Saunders <tj@castaglia.org>

	* include/pr-syslog.h, lib/pr-syslog.c: Bug#4110 - proftpd on
	Solaris should use /dev/conslog instead of /dev/log.

2014-10-05  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/cipher.c, contrib/mod_sftp/kex.c,
	contrib/mod_sftp/mac.c: Increase buffer sizes where we write out
	mpints during the key exchange process, for Bug#4112.

2014-10-05  TJ Saunders <tj@castaglia.org>

	* : commit d2e0461cc51145c71dc1d8a4b48b669a39f5fe1a Author: TJ
	Saunders <tj@castaglia.org> Date:   Sun Oct 5 10:04:22 2014 -0700

2014-10-05  TJ Saunders <tj@castaglia.org>

	* doc/contrib/mod_ldap.html: Update mod_ldap docs to mention "ldap"
	trace logging channel, courtesy of Bug#4107.

2014-10-05  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #50 from proftpd/ldap-more-tracing-bug4107 Bug#4107 - LDAPLog can fill disk on a busy server.  Start moving
	some of...

2014-09-28  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_tls.c: Initial work on PSK support; needs testing.

2014-09-28  TJ Saunders <tj@castaglia.org>

	* contrib/mod_ldap.c: Bug#4107 - LDAPLog can fill disk on a busy
	server.  Start moving some of the mod_ldap logging into TraceLog.

2014-09-28  TJ Saunders <tj@castaglia.org>

	* NEWS: Updated NEWS for fix of Bug#4109.

2014-09-28  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #49 from proftpd/inet-ipv6-tclass-bug4109 Bug#4109 - setsockopt() call for IPV6_TCLASS should use
	IPPROTO_IPV6.

2014-09-23  TJ Saunders <tj@castaglia.org>

	* NEWS: Update NEWS with fix for Bug#4108.

2014-09-23  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #48 from
	proftpd/tls-data-conn-handshake-delay-bug4108 Bug#4108 - SSL handshakes for data connections sometimes stall for
	3-30 ...

2014-09-21  TJ Saunders <tj@castaglia.org>

	* : commit cf83753a6564b84f6962f60f2f0b49b4c7a89a97 Author: TJ
	Saunders <tj@castaglia.org> Date:   Sun Sep 21 21:51:56 2014 -0700

2014-09-21  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Use --enable-devel when building via travis-ci.

2014-09-21  TJ Saunders <tj@castaglia.org>

	* contrib/mod_deflate.c, modules/mod_memcache.c: Fix build
	warnings/breakage.

2014-09-21  TJ Saunders <tj@castaglia.org>

	* : commit d2f5d99fef7a30b3772b48ee4b3a400bf7ef9a65 Author: TJ
	Saunders <tj@castaglia.org> Date:   Sun Sep 21 16:53:03 2014 -0700

2014-09-18  TJ Saunders <tj@castaglia.org>

	* doc/modules/mod_facts.html: Slightly better anchor name.

2014-09-18  TJ Saunders <tj@castaglia.org>

	* doc/modules/mod_facts.html: Add FAQ about disabling mod_facts
	module entirely.

2014-09-14  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/cipher.c, contrib/mod_sftp/mac.c: Increase cipher
	and MAC buffer sizes, as a (somewhat educated) guess as to what
	might be causing the issues reported here:   https://forums.proftpd.org/smf/index.php/topic,11611.0.html

2014-09-10  TJ Saunders <tj@castaglia.org>

	* doc/contrib/mod_tls.html: Doc typo.

2014-09-07  TJ Saunders <tj@castaglia.org>

	* NEWS, contrib/mod_sftp/display.c: Make sure the fix for Bug#4094
	is applied to mod_sftp's handling of Display variables as well.

2014-09-07  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/keys.c: When loading the hostkey data, stop using
	the scratch buffer, and start using the provided pool.  In limited
	tests, this appears to help with rekeying.

2014-09-07  TJ Saunders <tj@castaglia.org>

	* doc/modules/mod_rlimit.html: Add a FAQ section to mod_rlimit, for
	the RLimitChroot directive.

2014-09-07  TJ Saunders <tj@castaglia.org>

	* modules/mod_core.c, modules/mod_xfer.c: Start moving toward using
	'core.module-reset' event handlers, rather than a POST_CMD HOST
	handler, for preparing a module for a changed main_server pointer
	due to a HOST command.

2014-09-04  tjsaunders <tjsaunders@blackpearlsystems.com>

	* NEWS, RELEASE_NOTES: Update NEWS, RELEASE_NOTES for fix for
	Bug#4098.

2014-09-04  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #44 from proftpd/sftp-hostkey-perms-bug4098 Bug#4098 -  mod_sftp unable to use SFTPHostKey due to being group
	readable in CentOS 7.

2014-09-03  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/keys.c, tests/t/lib/ProFTPD/TestSuite/Utils.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add
	integration/regression test for Bug#4098, and improve the log
	message when insecure permissions on hostkey files are found.

2014-08-30  TJ Saunders <tj@castaglia.org>

	* : commit 3e1a5851a7e2c7bcb711328225ffa9898780f2ec Merge: cd85317
	a8cc506 Author: TJ Saunders <tj@castaglia.org> Date:   Fri Aug 29
	08:51:04 2014 -0700

2014-08-29  TJ Saunders <tj@castaglia.org>

	* NEWS: Updating NEWS.

2014-08-29  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in: Make
	sure that if zlib support is lacking, mod_sftp does not to try
	negotiate compression during the key exchange.

2014-08-29  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/Makefile.in: Make sure to add -lz, when needed,
	to the building of a DSO mod_sftp.

2014-08-29  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/Makefile.in, contrib/mod_sftp/compress.c,
	contrib/mod_sftp/configure, contrib/mod_sftp/configure.in: Improve
	the detection of zlib support, and handling of the results, for
	mod_sftp.

2014-08-28  TJ Saunders <tj@castaglia.org>

	* Make.rules.in, configure, configure.in,
	contrib/mod_sftp/Makefile.in, contrib/mod_sftp/compress.c,
	contrib/mod_sftp/configure, contrib/mod_sftp/configure.in,
	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in,
	contrib/mod_tls_memcache.c, contrib/mod_tls_shmcache.c: Bug#4102 -
	Failure to build mod_tls when using static libcrypto due to libdl
	linker errors.  In the course of fixing this issue, I also fixed problems with
	configure's detection of EC support in OpenSSL, and make it possible
	for mod_sftp to build without zlib support.

2014-08-27  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/configure, contrib/mod_sftp/configure.in: Fix
	another place where the libdl linker flag may need to come earlier
	in the list.

2014-08-27  TJ Saunders <tj@castaglia.org>

	* configure, configure.in: Bug#4102 - Failure to build mod_tls when
	using static libcrypto due to libdl linker errors.

2014-08-27  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/keys.c, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/mod_sftp.h.in: Bug#4098 - mod_sftp unable to use
	SFTPHostKey due to being group readable in CentOS 7.

2014-08-19  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/kex.c,
	tests/t/etc/modules/mod_sftp/ssh_host_rsa1024_key,
	tests/t/etc/modules/mod_sftp/ssh_host_rsa1024_key.pub,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#4097 - SSH rekey
	fails when using RSA hostkey smaller than 2048 bits.

2014-08-16  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #41 from proftpd/core-smkdir-only-when-needed Only use the mkdtemp(3) route in pr_fsio_smkdir() if root privs are
	need...

2014-08-14  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c, include/bindings.h, modules/mod_core.c,
	src/bindings.c, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: More work on handling
	the implications of HOST commands in various modules; much more work
	to be done here.

2014-08-14  TJ Saunders <tj@castaglia.org>

	* include/ftp.h, modules/mod_core.c,
	tests/t/lib/ProFTPD/TestSuite/FTP.pm: Create branch for finishing
	work on supporting the HOST command (Bug#3289).

2014-08-14  TJ Saunders <tj@castaglia.org>

	* src/fsio.c: Only use the mkdtemp(3) route in pr_fsio_smkdir() if
	root privs are needed for setting the desired ownership, i.e.
	UserOwner/GroupOwner are in effect.

2014-08-13  TJ Saunders <tj@castaglia.org>

	* doc/modules/mod_log.html: Update mod_log docs with a FAQ section,
	including a FAQ on how to get the ExtendedLog to include the reason
	why a session was ended.

2014-08-13  TJ Saunders <tj@castaglia.org>

	* modules/mod_ctrls.c, src/ctrls.c: Stylistic nits; no functional
	change.

2014-08-13  TJ Saunders <tj@castaglia.org>

	* configure: Regenerated configure script.

2014-08-13  TJ Saunders <tj@castaglia.org>

	* configure.in: Adding build summary for static and shared modules;
	more info will be added in this section.

2014-08-13  TJ Saunders <tj@castaglia.org>

	* : commit e423841e2d07f72d766baff5fddf094db343ff38 Author: TJ
	Saunders <tj@castaglia.org> Date:   Wed Aug 13 06:42:53 2014 -0700

2014-08-13  TJ Saunders <tj@castaglia.org>

	* configure.in: Fixed handling of too-many/misplaced colons in
	--with-shared argument.

2014-08-12  TJ Saunders <tj@castaglia.org>

	* configure, configure.in, src/fsio.c: Revert previous configure
	script change; it broke the build for shared modules.  Need to
	reexamine why that feedback was given on GitHub.  Also fix a typo
	causing a compiler warning.

2014-08-12  TJ Saunders <tj@castaglia.org>

	* configure: Regenerated configure script.

2014-08-12  TJ Saunders <tj@castaglia.org>

	* configure.in: Review feedback from GitHub.

2014-08-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* NEWS: Update NEWS for fix for Bug#4094.

2014-08-11  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #38 from
	proftpd/core-display-avail-space-bug4094 Bug#4094 - Available space on file system using %f displays wrong
	value.

2014-08-11  tjsaunders <tjsaunders@blackpearlsystems.com>

	* NEWS: Update NEWS for changes for Bug#4030.

2014-08-11  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #37 from proftpd/auth-negative-cache-bug4030 Bug#4030 - Cache negative/failed Auth API name/ID lookups.

2014-08-11  TJ Saunders <tj@castaglia.org>

	* include/auth.h, src/auth.c, tests/api/auth.c: Bug#4030 - Cache
	negative/failed Auth API name/ID lookups.

2014-08-10  TJ Saunders <tj@castaglia.org>

	* NEWS: Update NEWS with fix for Bug#4020.

2014-08-10  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #36 from proftpd/delay-delayonevent-bug4020 Bug#4020 - Add minimum delay options to mod_delay functionality

2014-08-10  TJ Saunders <tj@castaglia.org>

	* doc/modules/mod_delay.html, modules/mod_delay.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm: Bug#4020 - Add
	minimum delay options to mod_delay functionality.

2014-08-09  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #35 from proftpd/fsio-getpipebuf-bug4050 Bug#4050 - Use of PIPE_BUF causes build failure on platforms without
	it.

2014-08-09  TJ Saunders <tj@castaglia.org>

	* doc/contrib/mod_copy.html, doc/contrib/mod_deflate.html,
	doc/contrib/mod_dnsbl.html, doc/contrib/mod_geoip.html,
	doc/contrib/mod_ifsession.html, doc/contrib/mod_rewrite.html,
	doc/contrib/mod_sftp.html, doc/contrib/mod_snmp.html,
	doc/contrib/mod_sql.html, doc/contrib/mod_sql_passwd.html,
	doc/contrib/mod_tls.html, doc/contrib/mod_tls_memcache.html,
	doc/contrib/mod_tls_shmcache.html, doc/modules/mod_auth_file.html,
	doc/modules/mod_auth_pam.html, doc/modules/mod_auth_unix.html,
	doc/modules/mod_ctrls.html, doc/modules/mod_delay.html,
	doc/modules/mod_dso.html, doc/modules/mod_facl.html,
	doc/modules/mod_ident.html, doc/modules/mod_xfer.html,
	modules/mod_auth_pam.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls_memcache.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls_shmcache.pm: More
	documentation followup/cleanup for Bug#4054.

2014-08-09  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sql_passwd.c, contrib/mod_tls_memcache.c,
	contrib/mod_tls_shmcache.c, doc/contrib/mod_copy.html,
	doc/contrib/mod_deflate.html, doc/contrib/mod_dnsbl.html,
	doc/contrib/mod_geoip.html, doc/contrib/mod_ifsession.html,
	doc/contrib/mod_rewrite.html, doc/contrib/mod_sftp.html,
	doc/contrib/mod_snmp.html, doc/contrib/mod_sql.html,
	doc/contrib/mod_sql_passwd.html, doc/contrib/mod_tls.html,
	doc/contrib/mod_tls_memcache.html,
	doc/contrib/mod_tls_shmcache.html: Bug#4054 - Ensure that module
	documentation mentions Trace channel names where applicable.

2014-08-09  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #34 from proftpd/core-serverident-var-version Support %{version} variable for ServerIdent

2014-08-09  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #33 from proftpd/sftp-missing-payload-bug4093 Bug#4093 - Improve mod_sftp handling of missing packet payloads.

2014-08-09  TJ Saunders <tj@castaglia.org>

	* src/session.c, tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm: 
	Support a %{version} variable in the ServerIdent value.

2014-08-09  TJ Saunders <tj@castaglia.org>

	* modules/mod_ctrls.c: Clarify the mod_ctrls message when chown(2)
	fails to include the local socket path.

2014-08-09  TJ Saunders <tj@castaglia.org>

	* modules/mod_log.c: Fix handling of ExtendedLogs which log to
	syslog.

2014-08-08  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding another
	regression test for Bug#4067, proving that an ExtendedLog using just
	the READ or WRITE classes properly logs SFTP uploads and downloads,
	without needing to explicitly include the SFTP class.

2014-08-07  tjsaunders <tjsaunders@blackpearlsystems.com>

	* RELEASE_NOTES: Minor note, for future fleshing out, about
	ExtendedLog functionality changes.

2014-08-07  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/inet.c: Avoid log spam on FreeBSD 10, which is reported to
	indicate that the IPV6_TCLASS socket option is not usable on IPv6
	sockets via EINVAL, rather than the more appropriate ENOPROTOOPT.
	Sigh.

2014-07-30  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/auth-hostbased.c, contrib/mod_sftp/blacklist.c,
	contrib/mod_sftp/keys.c, contrib/mod_sftp/keystore.c,
	contrib/mod_sftp/msg.c: Bug#4093 - Improve mod_sftp handling of
	missing packet payloads.

2014-07-28  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/bindings.c: Ignore "unable to accept an incoming connection:
	Software caused connection abort" messages, as they are almost
	always caused by TCP probes/health checks from e.g. naive load
	balancers.

2014-07-28  tjsaunders <tjsaunders@blackpearlsystems.com>

	* NEWS: Updated NEWS for fix of Bug#4091.

2014-07-28  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #32 from
	proftpd/core-privs-error-logging-bug4091 Bug#4091 - Log "Operation not permitted" privs errors at NOTICE
	rather t...

2014-07-27  TJ Saunders <tj@castaglia.org>

	* src/privs.c: Bug#4091 - Log "Operation not permitted" privs errors
	at NOTICE rather than ERROR.

2014-07-25  tjsaunders <tjsaunders@blackpearlsystems.com>

	* NEWS, contrib/mod_wrap2_file.c: Update NEWS for fix of Bug#4090.

2014-07-25  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #31 from proftpd/wrap2-file-ipv6-addr-bug4090 Bug#4090 - mod_wrap2_file does not support IPv6 addresses properly.

2014-07-25  tjsaunders <tjsaunders@blackpearlsystems.com>

	* NEWS: Updated NEWS with fix for Bug#4089.

2014-07-25  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #30 from
	proftpd/sftp-auth-multiple-attempts-bug4089 Bug#4089 - mod_sftp does not allow multiple attempts using a given

2014-07-19  TJ Saunders <tj@castaglia.org>

	* NEWS: Update NEWS for fix for Bug#4087.

2014-07-19  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #29 from
	proftpd/sftp-maxloginattempts-none-bug4087 Bug#4087 - mod_sftp does not handle "MaxLoginAttempts none"
	properly.

2014-07-17  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/mod_sftp.h.in: Keep the mod_sftp version string
	format consistently using three digits, and use "1.0.0" instead of
	"1.0".

2014-07-17  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.h.in: Fix
	SFTPLog message if LINK request fails.  Bump mod_sftp version, due
	to fixed LINK handling (and other fixes).

2014-07-16  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/auth.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#4087 - mod_sftp
	does not handle "MaxLoginAttempts none" properly.

2014-07-16  TJ Saunders <tj@castaglia.org>

	* tests/t/etc/modules/mod_sftp/authorized_rsa_keys2,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	test of publickey SSH authentication, where the key is stored as the
	2nd key in the file.

2014-07-09  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp_pam.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_pam.pm: Add louder
	logging for when mod_sftp_pam denies a login, along with a
	regression test that tickles this behavior.

2014-07-08  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
	regression test for SQLUserInfo which returns NULL for the uid/gid
	columns; this ensures that a) mod_sql doesn't segfault on such
	return values, and b) that the SQLDefaultUID/SQLDefaultGID values
	are used.

2014-07-06  TJ Saunders <tj@castaglia.org>

	* NEWS: Updated NEWS with fix of Bug#4081.

2014-07-06  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #28 from
	proftpd/sftp-symlink-rel-path-bug4081 Bug#4081 - Not possible to create relative symlinks with SFTP.

2014-07-05  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sql.c, modules/mod_log.c: Add support for the
	%{file-offset} variable to mod_sql (and the missing %{file-modified}
	variable).  Fixed formatting/printing of %{file-offset} for
	ExtendedLog.

2014-07-05  TJ Saunders <tj@castaglia.org>

	* NEWS: Updating NEWS for Bug#4084.

2014-07-05  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #27 from
	proftpd/ls-nlst-glob-recursion-bug4084 Bug#4084 - "NLST *" returns files from subdirectories.

2014-07-05  TJ Saunders <tj@castaglia.org>

	* modules/mod_ls.c, tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: 
	Bug#4084 - "NLST *" returns files from subdirectories.

2014-07-05  TJ Saunders <tj@castaglia.org>

	* tests/t/config/maxtransfersperhost.t,
	tests/t/config/maxtransfersperuser.t,
	tests/t/lib/ProFTPD/Tests/Config/MaxTransfersPerHost.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxTransfersPerUser.pm,
	tests/tests.pl: Adding regression tests for the MaxTransfersPerHost
	and MaxTransfersPerUser directives.

2014-07-03  TJ Saunders <tj@castaglia.org>

	* doc/modules/mod_auth.html, doc/modules/mod_xfer.html: Fill in
	missing descriptions for the MaxClients* and MaxTransfers*
	directives.

2014-07-02  tjsaunders <tjsaunders@blackpearlsystems.com>

	* NEWS: Updating NEWS for Bug#4083.

2014-07-02  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #26 from
	proftpd/sql-defaulthomedir-empty-home-bug4083 Bug#4083 - Using SQLDefaultHomedir with null home results in "No
	such user"

2014-07-02  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#4083 -
	Using SQLDefaultHomedir with null home results in "No such user".

2014-06-26  TJ Saunders <tj@castaglia.org>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Adding
	regression test for particular mod_ifsession config, based on
	reports from the forums.

2014-06-26  TJ Saunders <tj@castaglia.org>

	* modules/mod_log.c: Fix bug in the handling of ExtendedLog class
	name parsing, introduced as part of the change for Bug#4067.

2014-06-24  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c,
	modules/mod_xfer.c: Stash the file-offset note for SCP transfers as
	well.  Fix up misleading comments.

2014-06-24  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c, include/mod_log.h, modules/mod_log.c,
	modules/mod_xfer.c: Add support for a new %{file-offset} LogFormat
	variable, to store the file offset at which a file transfer (upload
	or download) starts.

2014-06-24  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #25 from proftpd/core-cmd-errno-note Stash an errno value for all commands, for use by e.g. auditing
	modules

2014-06-23  TJ Saunders <tj@castaglia.org>

	* : commit 7d818268492254c9ee32f5ef4ab24edc04fe2a7e Author:
	tjsaunders <tjsaunders@blackpearlsystems.com> Date:   Mon Jun 23
	09:34:29 2014 -0700

2014-06-23  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #24 from proftpd/sftp-symlink-order-bug4080 Bug#4080 - mod_sftp does not implement SFTP LINK request properly.

2014-06-22  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c, src/fsio.c, tests/api/fsio.c: Bug#4080 -
	mod_sftp does not implement SFTP LINK request properly.

2014-06-20  tjsaunders <tjsaunders@blackpearlsystems.com>

	* doc/modules/mod_rlimit.html: Adding clarifying comments about
	RLimitChroot.

2014-06-20  tjsaunders <tjsaunders@blackpearlsystems.com>

	* NEWS: Update NEWS for fix for Bug#4079.

2014-06-20  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #23 from proftpd/sftp-space-available-bug4079 Bug#4079 - Invalid response encoding for SFTP space-available
	request.

2014-06-20  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sftp/fxp.c: Bug#4079 - Invalid response encoding for
	SFTP space-available request.

2014-06-19  TJ Saunders <tj@castaglia.org>

	* modules/mod_xfer.c: Add trace message of when REST offset exceeds
	file size, containg the requested offset and the file size in
	question.

2014-06-19  TJ Saunders <tj@castaglia.org>

	* modules/mod_xfer.c, src/netio.c,
	tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Adding regression
	tests for the behavior reported in Bug#4035, and tweaking the code
	to handle these cases.

2014-06-19  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #21 from
	proftpd/exec-execenable-per-directory-bug4076 Bug#4076 - Ability to disable mod_exec on a per-directory basis.

2014-06-19  TJ Saunders <tj@castaglia.org>

	* : commit 37569a94b3156be8f732741774702bb3fe5136be Author:
	tjsaunders <tjsaunders@blackpearlsystems.com> Date:   Thu Jun 19
	18:36:35 2014 -0700

2014-06-19  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #20 from proftpd/shaper-log-sighup-bug4077 Bug#4077 - ShaperLog not closed/reopened on SIGHUP, causing log
	rotation

2014-06-19  TJ Saunders <tj@castaglia.org>

	* : commit f214df3fd415cb9ce2cb6fd74bd85caa5b0ecc46 Author: TJ
	Saunders <tj@castaglia.org> Date:   Thu Jun 19 07:54:37 2014 -0700

2014-06-18  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #22 from
	proftpd/auth-addl-failure-reasons-bug4070 Bug#4070 - Support wider range of authentication failures.

2014-06-18  TJ Saunders <tj@castaglia.org>

	* : commit 5027925f5133e3d911eb7af27672fe45bda2818d Author: TJ
	Saunders <tj@castaglia.org> Date:   Wed Jun 18 21:50:26 2014 -0700

2014-06-18  TJ Saunders <tj@castaglia.org>

	* contrib/mod_ldap.c, src/auth.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_ldap.pm: Something shifted
	that is causing mod_ldap login troubles; making some tweaks to
	hopefully narrow down the issue.

2014-06-18  TJ Saunders <tj@castaglia.org>

	* doc/modules/mod_facts.html: Mention, in the mod_facts docs, how to
	build that module as a shared module.

2014-06-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/stash.c: Address more travis-ci compiler warnings.

2014-06-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/pidfile.c: Remember to set errno if opening the PidFile fails.
	This fixes a compiler warning detected by travis-ci.

2014-06-18  tjsaunders <tjsaunders@blackpearlsystems.com>

	* NEWS: Update NEWS with mention of Bug#4073.

2014-06-18  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #19 from
	proftpd/tls-implicitssl-download-bug4073 Bug#4073 - Polycom VOIP phones unable to use FTPS data transfers.

2014-06-17  TJ Saunders <tj@castaglia.org>

	* include/auth.h, modules/mod_auth.c, modules/mod_auth_pam.c: 
	Bug#4070 - Support wider range of authentication failures.

2014-06-17  TJ Saunders <tj@castaglia.org>

	* contrib/mod_exec.c, doc/contrib/mod_exec.html,
	tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Bug#4076 - Ability to
	disable mod_exec on a per-directory basis.

2014-06-17  TJ Saunders <tj@castaglia.org>

	* include/cmd.h, src/cmd.c, tests/api/cmd.c: Start working on
	stashing the errno value for every command in the cmd->notes table.
	This will allow modules (such as audit modules for Bug#3807) access
	to that errno value, for tracking/logging.

2014-06-17  TJ Saunders <tj@castaglia.org>

	* contrib/mod_shaper.c: Bug#4077 - ShaperLog not closed/reopened on
	SIGHUP, causing log rotation problems.

2014-06-17  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c: Remove unnecessary comment.

2014-06-17  TJ Saunders <tj@castaglia.org>

	* contrib/mod_tls.c, modules/mod_xfer.c: Bug#4073 - Polycom VOIP
	phones unable to use FTPS data transfers.

2014-06-17  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #18 from
	proftpd/ls-stat-response-codes-bug3990 Fix regression for Bug#3990

2014-06-17  TJ Saunders <tj@castaglia.org>

	* modules/mod_ls.c, tests/t/lib/ProFTPD/Tests/Commands/STAT.pm: Fix
	the handling of the response code for STAT commands, fixing a
	regression caused by the previous commits for Bug#3990.

2014-05-30  tjsaunders <tjsaunders@blackpearlsystems.com>

	* NEWS: Update NEWS for Bug#4063.

2014-05-30  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #16 from
	proftpd/fsio-smkdir-cifs-eacces-bug4063 Bug#4063 -  Unable to create directory on NFS/CIFS partition:
	Permission...

2014-05-30  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #17 from
	proftpd/ls-nlst-opt-a-wrong-directory-bug4069 Bug#4069 - NLST -a shows / directory instead of the current
	directory.

2014-05-30  tjsaunders <tjsaunders@blackpearlsystems.com>

	* modules/mod_ls.c: Bug#4069 - NLST -a shows / directory instead of
	the current directory.

2014-05-29  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/fsio.c: Bug#4063 -  Unable to create directory on NFS/CIFS
	partition: Permission denied.

2014-05-29  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #15 from proftpd/auth-anon-maxclients-bug4068 Bug#4068 - MaxClients directive doesn't work for <Anonymous>
	sessions.

2014-05-29  tjsaunders <tjsaunders@blackpearlsystems.com>

	* : commit cd89bc454ba0e3655b01a79ca32cc342595bdd46 Author:
	tjsaunders <tjsaunders@blackpearlsystems.com> Date:   Thu May 29
	09:57:31 2014 -0700

2014-05-29  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #14 from proftpd/sftp-extlog-class-bug4067 ExtendedLog classes for SSH, SFTP (Bug#4067)

2014-05-29  tjsaunders <tjsaunders@blackpearlsystems.com>

	* modules/mod_log.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Better
	implementation of logging class exclusion, and tested with
	regression tests, including the new SSH and SFTP logging classes.

2014-05-28  tjsaunders <tjsaunders@blackpearlsystems.com>

	* NEWS, RELEASE_NOTES, contrib/mod_sftp/auth.c,
	contrib/mod_sftp/channel.c, contrib/mod_sftp/fxp.c,
	contrib/mod_sftp/kex.c, contrib/mod_sftp/service.c,
	include/modules.h, modules/mod_log.c: Bug#4067 - Create ExtendedLog
	class for SFTP requests.

2014-05-28  tjsaunders <tjsaunders@blackpearlsystems.com>

	* doc/modules/mod_core.html: Update ServerIdent description to
	mention the supported variables, and add description for the
	ServerName directive.

2014-05-28  tjsaunders <tjsaunders@blackpearlsystems.com>

	* NEWS, doc/contrib/mod_sftp.html: Update NEWS, mod_sftp docs for
	Bug#4065.

2014-05-28  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #13 from
	proftpd/sftp-banner-environ-variable-bug4065 Bug#4065 - mod_sftp should provide the SSH client banner as
	environment variable, for logging

2014-05-27  tjsaunders <tjsaunders@blackpearlsystems.com>

	* contrib/mod_sftp/mod_sftp.c: Bug#4065 - mod_sftp should provide
	the SSH client banner as environment variable, for logging.

2014-05-27  tjsaunders <tjsaunders@blackpearlsystems.com>

	* doc/contrib/mod_sftp.html: Improved formatting for mod_sftp
	environment variables.

2014-05-27  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #12 from
	proftpd/scoreboard-entry-locking-bug3823 Attempt to mitigate possible cause for Bug#3823 by replacing use of
	F_SE...

2014-05-27  TJ Saunders <tj@castaglia.org>

	* src/scoreboard.c: Attempt to mitigate possible cause for Bug#3823
	by replacing use of F_SETLKW when updating scoreboard entries to
	F_SETLK, and handling interruptions.  This should reduce any
	(potentially long) blocking behaviors.

2014-05-26  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #11 from proftpd/signals-refactoring Refactor the signal-handling code out of src/main.c, and into its
	own so...

2014-05-25  TJ Saunders <tj@castaglia.org>

	* include/conf.h: Previous merge forgot to include the new configdb
	header.

2014-05-25  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #10 from proftpd/dirtree-refactoring Refactor the src/dirtree.c file into smaller chunks, one for the
	pr_conf...

2014-05-24  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #9 from
	proftpd/hiddenstores-pid-variable-bug4062 Bug#4062 - Support PID variable in HiddenStores filename.

2014-05-24  TJ Saunders <tj@castaglia.org>

	* include/log.h, src/log.c, src/main.c: Fix slight regression in
	logging behavior due to changes for Bug#3983.  If the -d
	command-line option is used, then make sure the default syslog level
	is DEBUG, so that the requested debug logging appears.

2014-05-24  TJ Saunders <tj@castaglia.org>

	* modules/mod_xfer.c,
	tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Bug#4062 - Support
	PID variable in HiddenStores filename.

2014-05-24  TJ Saunders <tj@castaglia.org>

	* modules/mod_auth_file.c: Sprinkle more signal handling in
	potentially long while() loops when handling AuthUserFiles and
	AuthGroupFiles.

2014-05-24  TJ Saunders <tj@castaglia.org>

	* modules/mod_auth_file.c: Fix ordering of handlers in
	mod_auth_file; no functional change.

2014-05-24  TJ Saunders <tj@castaglia.org>

	* modules/mod_auth_file.c, modules/mod_auth_unix.c: Use better trace
	channel names in the provided auth modules.

2014-05-24  TJ Saunders <tj@castaglia.org>

	* modules/mod_auth_file.c: Comment typo fixed.  No functional
	change.

2014-05-24  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #8 from
	proftpd/snmp-multiple-agent-addrs-bug4061 Bug#4061 - SNMPAgent should support multiple addresses, including
	IPv6

2014-05-23  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #7 from proftpd/aix-build-errors Fix AIX build issues, as reported in the forums; see:

2014-05-21  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #6 from proftpd/symtab-hash-comparison When storing symbols in the symbol table hash ("stash"), stop
	storing al...

2014-05-21  TJ Saunders <tj@castaglia.org>

	* contrib/mod_ctrls_admin.c, contrib/mod_quotatab_ldap.c,
	contrib/mod_quotatab_radius.c, contrib/mod_quotatab_sql.c,
	contrib/mod_ratio.c, contrib/mod_sftp_sql.c,
	contrib/mod_sql_passwd.c, contrib/mod_wrap2_sql.c,
	include/dirtree.h, include/stash.h, src/auth.c, src/cmd.c,
	src/main.c, src/modules.c, src/parser.c, src/stash.c,
	tests/api/stash.c: When storing symbols in the symbol table hash
	("stash"), stop storing all symbol types (CMD, CONF, AUTH, and HOOK)
	all in the same table.  Instead, have different tables for each
	different type.  This makes it faster when looking up (by name) a
	symbol of a given type; less symbol names to grovel through and
	compare.  And speaking of symbol comparisons, this change also stores the hash
	value (of the symbol name) as part of the symbol data.  Thus when
	doing symbol lookups, the hash value is compared FIRST, and only if
	that value matches will the more in-depth comparison (by name
	length, name content) be done.  The overall effect should be a net gain in speed (less latency when
	dispatching e.g. commands, auth lookups, parsing), and a drop in CPU
	(due to fewer string comparisons hopefully).

2014-05-20  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #5 from proftpd/parser-pidfile-unit-tests Add unit tests for the Pidfile API, and start working on tests for
	the

2014-05-19  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #4 from proftpd/trace-unit-tests Adding unit tests for the Trace API; fixed some minor bugs found
	while

2014-05-18  TJ Saunders <tj@castaglia.org>

	* .gitignore: A few more files for git to ignore.

2014-05-18  TJ Saunders <tj@castaglia.org>

	* src/main.c: Stylistic nit; no functional change.

2014-05-18  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #3 from proftpd/clang-warnings Clean up some warnings spotted by travis-ci's clang build.

2014-05-18  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #2 from proftpd/radius-timeout-parsing Update mod_radius to use pr_str_get_duration() for parsing timeout
	strin...

2014-05-18  TJ Saunders <tj@castaglia.org>

	* contrib/mod_radius.c: Update mod_radius to use
	pr_str_get_duration() for parsing timeout strings for the
	RadiusAuthServer and RadiusAcctServer directives.  Fixed stylistic
	nits while there.

2014-05-18  TJ Saunders <tj@castaglia.org>

	* Makefile.in: Clean up the .git/ directory, and .gitignore and
	.travis.yml files, when preparing a release.

2014-05-18  TJ Saunders <tj@castaglia.org>

	* .cvsignore, contrib/.cvsignore, contrib/mod_dnsbl/.cvsignore,
	contrib/mod_load/.cvsignore, contrib/mod_sftp/.cvsignore,
	contrib/mod_snmp/.cvsignore, contrib/mod_wrap2/.cvsignore,
	include/.cvsignore, lib/.cvsignore, lib/libcap/.cvsignore,
	locale/.cvsignore, modules/.cvsignore, src/.cvsignore,
	tests/.cvsignore, tests/api/.cvsignore, tests/array.c,
	tests/class.c, tests/env.c, tests/event.c, tests/expr.c,
	tests/feat.c, tests/modules.c, tests/netacl.c, tests/netaddr.c,
	tests/pool.c, tests/regexp.c, tests/scoreboard.c, tests/sets.c,
	tests/str.c, tests/stubs.c, tests/table.c, tests/tests.c,
	tests/tests.h, tests/timers.c, tests/var.c, tests/version.c,
	utils/.cvsignore: Clean up more files from the cvs2git conversion.

2014-05-18  TJ Saunders <tj@castaglia.org>

	* NEWS: Update NEWS.

2014-05-18  TJ Saunders <tj@castaglia.org>

	* : Merge pull request #1 from proftpd/stat-response-code-bug3990 Bug#3990 - Use 213 response code for STAT on a file.  We also use
	212 fo...

2014-05-18  TJ Saunders <tj@castaglia.org>

	* contrib/mod_quotatab.c: Style nits; no functional change.

2014-05-18  TJ Saunders <tj@castaglia.org>

	* tests/api/cmd.c: Remove unused variable.

2014-05-18  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Disable the static code analyzers, for now; they can
	be re-enabled when needed.  Do another configure/build, this time
	with all modules being shared, rather than static.

2014-05-18  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Have cppcheck write to stdout its errors.  Use normal
	email notifications (i.e. committer).

2014-05-18  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Skip checking header files, and unit test files, when
	performing static code analysis.

2014-05-18  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Still wrestling with cppcheck.  Sigh.

2014-05-18  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Fix the cppcheck arguments.  Enable PCRE support.

2014-05-18  TJ Saunders <tj@castaglia.org>

	* .travis.yml: More tweaks to the static code analysers.

2014-05-18  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Use the direct email address to the -committers list.

2014-05-18  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Keep cppcheck from scanning *every* file; use find to
	tell it which file to scan.  Break the `make' and `make check-api'
	steps onto separate lines, for legibility.

2014-05-18  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Start commenting the travis-ci config file.  Add some
	static code analysis in.

2014-05-17  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Direct email notifications of build success/failures
	to the proftp-committers list.

2014-05-17  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Enable memcache support.

2014-05-17  TJ Saunders <tj@castaglia.org>

	* contrib/mod_sql_postgres.c: Fix another build warning spotted by
	travis-ci.

2014-05-17  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Make the dependency installations a little easier to
	read.  Build the MySQL and Postgres modules.  Install gettext, so
	that we can use --enable-nls.

2014-05-17  TJ Saunders <tj@castaglia.org>

	* contrib/mod_snmp/asn1.c, contrib/mod_snmp/notify.c,
	contrib/mod_snmp/smi.c, contrib/mod_sql_sqlite.c, src/log.c: Clean
	up build warnings spotted by travis-ci.

2014-05-17  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Now install the check library, to enable the API/unit
	tests -- and run them.

2014-05-17  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Need the PAM libraries/headers for some modules.

2014-05-17  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Build mod_geoip as well; we'll need its geoip library
	dependency as well.

2014-05-17  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Install more dependencies, and build more modules,
	via travis-ci.

2014-05-17  TJ Saunders <tj@castaglia.org>

	* .travis.yml: Add a .travis.yml file, to start using travis-ci for
	continuous build/integration.  I'm sure we'll get fancier over time.

2014-05-17  TJ Saunders <tj@castaglia.org>

	* src/data.c: Forgot to update copyright dates with last
	modification.

2014-05-17  TJ Saunders <tj@castaglia.org>

	* NEWS, src/log.c: Bug#3983 - Change default SyslogLevel to be
	NOTICE rather than DEBUG.

2014-05-17  TJ Saunders <tj@castaglia.org>

	* NEWS, src/data.c, src/inet.c,
	tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Bug#3944 -  Session
	closed if active data transfer fails due to "Address already in use"
	error.

2014-05-17  TJ Saunders <tj@castaglia.org>

	* src/netaddr.c: Avoid null pointer dereference for interfaces with
	no addresses.

2014-05-17  TJ Saunders <tj@castaglia.org>

	* po/Makefile.in: Remove unused po/ directory; it came back with the
	cvs2git conversion.

2014-05-17  TJ Saunders <tj@castaglia.org>

	* NEWS: Bug#4055 - "error setting listen fd IPV6_TCLASS: Protocol
	not available" log message.

2014-05-17  TJ Saunders <tj@castaglia.org>

	* : commit 3fd34befa71cdc41bc1375b243a18e8837ee76d0 Author:
	tjsaunders <tjsaunders@blackpearlsystems.com> Date:   Fri May 16
	09:53:25 2014 -0700

2014-05-16  tjsaunders <tjsaunders@blackpearlsystems.com>

	* .gitignore: Improving the .gitignore file.

2014-05-16  tjsaunders <tjsaunders@blackpearlsystems.com>

	* .gitignore: Adding .gitignore file.

2014-05-16  tjsaunders <tjsaunders@blackpearlsystems.com>

	* src/inet.c: Bug#4055: Ignore any ENOPROTOOPT errors when setting
	the IPv6 TCLASS (TOS) flags on the socket; they make for noisier
	logging without providing any actual value to the user/admin.

2014-05-16  tjsaunders <tjsaunders@blackpearlsystems.com>

	* include/version.h: Bump version to reflect new release cycle.

2014-05-15  castaglia <castaglia>

	* NEWS: Preparing for release.

2014-05-15  castaglia <castaglia>

	* ChangeLog: Updated ChangeLog.

2014-05-15  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing files
	for release.

2014-05-15  castaglia <castaglia>

	* locale/files.txt: Updated list of files for localization.

2014-05-09  castaglia <castaglia>

	* RELEASE_NOTES: Fleshing out release notes for upcoming release.

2014-05-05  castaglia <castaglia>

	* contrib/mod_sql_passwd.c: Use sql_log() instead of pr_log_debug(),
	so that the logging is consistently done in the module.  There may
	still be a few outliers.

2014-05-04  castaglia <castaglia>

	* doc/contrib/mod_sql_passwd.html: Updated SQLPasswordPBKDF2 docs in
	light of Bug#4052.

2014-05-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Added
	regression test for Bug#4052.

2014-05-04  castaglia <castaglia>

	* NEWS, contrib/mod_sql_passwd.c: Bug#4052 - Enhance
	SQLPasswordPBKDF2 to support per-user query for settings.

2014-05-04  castaglia <castaglia>

	* doc/contrib/mod_site_misc.html: Emphasize that both acces and mod
	times are set by SITE UTIME.

2014-05-04  castaglia <castaglia>

	* NEWS, modules/mod_facl.c: Bug#4044 - mod_facl prevents a normal
	SIGHUP reload.

2014-05-03  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#4042 - MIC command between RNFR and
	RNTO should not be rejected.

2014-05-02  castaglia <castaglia>

	* NEWS, contrib/mod_exec.c: Bug#4049 - mod_exec should include
	supplemental groups when running commands as logged-in user.

2014-04-30  castaglia <castaglia>

	* contrib/mod_ban.c: As a follow-on to the fix for Bug#4048, add
	some "headroom" to the SHM segment, to allow for multiple
	racing/competing processes incrementing indices.

2014-04-30  castaglia <castaglia>

	* NEWS, contrib/mod_ban.c: Bug#4048 - Race condition in mod_ban can
	lead to segfault of all new connections.

2014-04-28  castaglia <castaglia>

	* modules/mod_xfer.c: Slightly better fix for Bug#4046; less chance
	of overflowing the off_t datatype on filesystems with lots of free
	space.

2014-04-28  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#4046 - ALLO command failed because
	of bad size check.

2014-03-26  castaglia <castaglia>

	* doc/howto/TLS.html: Typo.

2014-03-19  castaglia <castaglia>

	* contrib/mod_tls.c: Bug#4039 - Fix compile error in mod_tls, when
	built using newer OpenSSL versions.  This is a regression caused by
	Bug#4029.

2014-03-13  castaglia <castaglia>

	* doc/howto/Chroot.html: Fix broken link, per Bug#4038.

2014-03-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm: Adding
	some regression tests for the DeleteAbortedStores directive, for
	when timeouts kick in and kill the session.

2014-03-08  castaglia <castaglia>

	* modules/mod_xfer.c: If a session dies in the middle of a data
	transfer, make sure that the path in the fake cmd_rec is correct.
	It was empty, which led to some misleading logging.

2014-03-08  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#4024 - TLS 1.1/1.2 configurable, but
	not properly implemented.

2014-03-05  castaglia <castaglia>

	* contrib/mod_tls.c: When seeding OpenSSL's PRNG manually, use
	gettimeofday(2) instead of time(3).

2014-03-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	tests for Bug#4034.

2014-03-04  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/auth.c: Bug#4034 - SSH publickey
	authentication fails with "MaxLoginAttempts 1".

2014-03-03  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Add mod_sftp FAQ about pointing an SSH
	client (*not* SFTP or SCP) at mod_sftp, and why that connection
	would fail.

2014-03-02  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Document the AllowInsecureLogin
	SFTPOption.

2014-03-02  castaglia <castaglia>

	* contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in: Add a
	new SFTPOption, called 'AllowInsecureLogin'.  This is needed for
	sites which wish to use/allow SSH2 logins that use the 'none' cipher
	or digest (hopefully just for performance testing).

2014-03-02  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/mod_sftp.c: Bug#4032 - Restarting proftpd
	with mod_sftp fails due to permissions on SFTPHostKey file.

2014-03-02  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix the mod_sftp
	regression tests which SHOULD have caught Bug#4033.

2014-03-02  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/cipher.c: Bug#4033 - mod_sftp fails to
	create SSH2 session using 'none' cipher.

2014-03-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Added
	regression test for Bug#3938.

2014-03-01  castaglia <castaglia>

	* NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#3938 - mod_wrap2 uses
	reverse DNS regardless "UseReverseDNS off".

2014-02-28  castaglia <castaglia>

	* tests/t/config/passiveports.t,
	tests/t/lib/ProFTPD/Tests/Config/PassivePorts.pm, tests/tests.pl: 
	Added regression tests for the PassivePorts directive in various
	configuration contexts, i.e. "server config", <Global>, and
	<VirtualHost>.

2014-02-28  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#4029 - TLSOptions EnableDiags logs
	"unknown version (771)" for TLS 1.1/1.2 connections.

2014-02-23  castaglia <castaglia>

	* contrib/mod_ban.c: Minor name/string change; no functional change.

2014-02-23  castaglia <castaglia>

	* contrib/mod_ban.c, tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: 
	Allow for custom, user-specified event names in the BanOnEvent
	directive.  This will make it easier to support rules for events
	other than the ones that are specially handled, and ease the need to
	add special handling in the future.

2014-02-23  castaglia <castaglia>

	* doc/contrib/mod_ban.html: Added support for RootLogin bans.

2014-02-23  castaglia <castaglia>

	* contrib/mod_ban.c, tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: 
	Make it possible to ban clients which attempt to login as root.

2014-02-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding reproduction
	recipe/regression test for Bug#4026.

2014-02-19  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Add "Cipher Implementations" section to
	"Known Client Issues", noting that SBB clients don't handle the
	blowfish-ctr cipher.

2014-02-18  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Fix typo/misnamed cipher in list.

2014-02-15  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
	regression test for Bug#4025.

2014-02-15  castaglia <castaglia>

	* NEWS, contrib/mod_ifsession.c: Bug#4025 - <IfClass> sections do
	not work for multiple SQLLog directives.

2014-02-15  castaglia <castaglia>

	* contrib/mod_sql.c: If SQLEngine is not configured, then DO emit
	the "no SQLAuthTypes configured" log message if necessary.  Previous
	commit would not have handled the case where SQLEngine was not
	explicitly set.

2014-02-15  castaglia <castaglia>

	* contrib/mod_sql.c: If "SQLEngine log" is configured, then do NOT
	log a message saying "error: no SQLAuthTypes configured".  Stylistic
	nits addressed while there.

2014-02-11  castaglia <castaglia>

	* NEWS, src/fsio.c: Bug#4022 - "Directory not empty" error when
	creating directory is misleading.

2014-02-11  castaglia <castaglia>

	* src/stash.c: Fix minor compiler warning when --enable-devel is
	used.

2014-02-09  castaglia <castaglia>

	* modules/mod_delay.c: The regression tests caught a small
	regression in mod_delay, where the fix for Bug#3622 was reverted
	partly by the fixes for Bug#3970.

2014-02-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Another MKD test,
	making sure that using a preceding CWD doesn't gum up the works.
	Also makes for a nice testbed for pr_fsio_smkdir() issues.

2014-02-09  castaglia <castaglia>

	* src/fsio.c: Add more logging of error conditions in the
	pr_fsio_smkdir() function, for better diagnosing some reported MKD
	errors.

2014-02-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Yet another data
	point/reproduction recipe for Bug#4017.

2014-02-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/SocketOptions.pm: Add basic test
	for SocketOption keepalive.

2014-02-05  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Additional
	regression/reproduction recipe for Bug#4017, this time using PCRE
	regexes.

2014-02-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Regression
	test/reproduction recipe for Bug#4017.

2014-02-01  castaglia <castaglia>

	* contrib/mod_tls.c: Update mod_tls to start using the pr_netio_t
	notes table for stashing/retrieving its SSL objects, rather than the
	strm_data void pointer.  The table is more flexible, and allows for
	other code to use the keys as needed.

2014-01-31  castaglia <castaglia>

	* modules/mod_rlimit.c,
	tests/t/lib/ProFTPD/Tests/Config/RLimitChroot.pm: Allow for per-user
	(via <IfUser>) setting of the RLimitChroot directive.

2014-01-31  castaglia <castaglia>

	* doc/modules/mod_rlimit.html: Add description for new RLimitChroot
	directive to mod_rlimit docs.

2014-01-31  castaglia <castaglia>

	* src/fsio.c: Match URLs for "Roaring Beast" reports.

2014-01-31  castaglia <castaglia>

	* tests/t/config/rlimitchroot.t,
	tests/t/lib/ProFTPD/Tests/Config/RLimitChroot.pm, tests/tests.pl: 
	Adding regression tests for the new RLimitChroot directive.

2014-01-31  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, include/fsio.h, modules/mod_rlimit.c,
	src/fsio.c: Bug#4018 - Implement checks for sensitive directories
	when chrooted.

2014-01-30  castaglia <castaglia>

	* doc/modules/mod_core.html: Add description of SocketBindTight
	directive to mod_core docs, and include FAQ about using it.

2014-01-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Adding
	regression/reproduction recipe for Bug#4017.

2014-01-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fix broken (only
	on MacOSX) test.

2014-01-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Minor tweaks
	while investigating Bug#3638.

2014-01-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Updated mod_tls
	tests to work around bug in Net-FTPSSL version 0.21's quot()
	implementation.

2014-01-28  castaglia <castaglia>

	* include/version.h: Updating version for CVS.

2014-01-28  castaglia <castaglia>

	* ChangeLog: Updated ChangeLog.

2014-01-28  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Prepping
	files for RC.

2014-01-28  castaglia <castaglia>

	* contrib/mod_sftp/crypto.c, contrib/mod_sftp/keys.c,
	contrib/mod_sftp/umac.c: Allow mod_sftp to be compiled using an old
	version of OpenSSL, e.g.  OpenSSL-0.9.6.  Fixes Bug#4016.

2014-01-28  castaglia <castaglia>

	* contrib/mod_tls.c: Enable mod_tls to be built using old OpenSSL
	version; tested using OpenSSL-0.9.6h.

2014-01-27  castaglia <castaglia>

	* doc/contrib/mod_quotatab.html: Try to make the Installation notes
	for mod_quotatab a little clearer.

2014-01-27  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm: Quell compiler warning
	about redefined variables.

2014-01-27  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logins.pm: Quell compiler warning about
	overloaded variables.

2014-01-27  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Copy-pasto was blocking
	the setting of different values for the (as-yet) little used
	test_setup() function.

2014-01-27  castaglia <castaglia>

	* tests/api/str.c: With this tweak (of debatable and investigatable
	value), all of the API tests now pass on my old Linux machine.

2014-01-27  castaglia <castaglia>

	* tests/api/netaddr.c: Make the INCL_DEVICE API test a little more
	resilient by providing some fallback device names.

2014-01-27  castaglia <castaglia>

	* src/fsio.c, tests/api/cmd.c: The API testsuite found some places
	where we were not properly checking for null strings, which might
	lead to segfaults.

2014-01-27  castaglia <castaglia>

	* tests/Makefile.in, tests/api/stubs.c: Make sure the API testsuite
	compiles properly when --enable-nls is used.

2014-01-27  castaglia <castaglia>

	* contrib/mod_snmp/db.c: Quell compiler warning about unused
	variable.

2014-01-27  castaglia <castaglia>

	* RELEASE_NOTES, doc/howto/Radius.html, doc/howto/index.html: Adding
	(finally!) RADIUS howto.

2014-01-26  castaglia <castaglia>

	* contrib/mod_ban.c: Typo in comment; no functional change.

2014-01-25  castaglia <castaglia>

	* modules/mod_core.c: Make sure to handle the case where units
	aren't specified properly.

2014-01-25  castaglia <castaglia>

	* NEWS, include/options.h, modules/mod_core.c, src/main.c,
	tests/t/lib/ProFTPD/Tests/Config/CommandBufferSize.pm: Bug#4014 -
	CommandBufferSize should override PR_DEFAULT_CMD_BUFSZ.

2014-01-24  castaglia <castaglia>

	* contrib/mod_tls.c: Bug#4015 - Possible bad/ambiguous expression
	found by static code analyzer cppcheck.

2014-01-22  castaglia <castaglia>

	* doc/howto/TLS.html: Updates to the TLS howto, adding some FAQs and
	noting that secure FXP transfers are now supported.

2014-01-22  castaglia <castaglia>

	* doc/howto/SQL.html: Add more links from the SQL howto to the
	mod_sql docs, and add more substance to the "min ID" question,
	pointing out the default UID/GID values.

2014-01-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm: Update
	AuthGroupFile world-readable test to match changes to the
	permissions checking code.

2014-01-22  castaglia <castaglia>

	* modules/mod_auth_file.c: Alter the permission checks (per
	Bug#3892) to allow world-readable AuthGroupFiles; there's no
	sensitive information in there.

2014-01-22  castaglia <castaglia>

	* doc/modules/mod_auth_file.html: Improve/expand on the FAQ about
	permissions.

2014-01-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Adding regression test
	for Bug#4010 (which, I think, is actually a client bug).

2014-01-21  castaglia <castaglia>

	* RELEASE_NOTES: Update release notes, getting them ready for a
	release.

2014-01-21  castaglia <castaglia>

	* doc/contrib/mod_exec.html: Update the ExecOnEvent description to
	match the code.

2014-01-21  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Note when the IgnoreConfigFile SQLOption
	first appeared.

2014-01-21  castaglia <castaglia>

	* doc/contrib/mod_ldap.html: Add description for LDAPLog directive
	to mod_ldap docs.

2014-01-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
	test for Bug#4013.

2014-01-20  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/scp.c: Bug#4013 - SCP upload of shorter
	file does not completely overwrite existing file of same name.

2014-01-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Adding regression
	tests for several NLST bugs, including Bug#4011.

2014-01-20  castaglia <castaglia>

	* NEWS, include/fsio.h, modules/mod_ls.c, src/fsio.c,
	tests/api/fsio.c: Bug#4011 - NLST ../ shows current directory
	contents rather than parent directory.

2014-01-17  castaglia <castaglia>

	* configure: Updated configure.

2014-01-17  castaglia <castaglia>

	* configure.in: Fix default location of datadir to be
	'/usr/local/share', not '/usr/locale/share'.

2014-01-17  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make sure that SFTP
	CLOSE requests are logged as either READ or WRITE requests as
	appropriate (per the ExtendedLog logging classes), but not both.

2014-01-13  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Update SFTPClientMatch description for
	'sftpUTF8ProtocolVersion', noting the NLS requirement.  Also add FAQ
	about this, with regard to accepted protocol versions.

2014-01-13  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: If the 'sftpUTF8ProtocolVersion'
	SFTPClientMatch key is used, AND the proftpd has not been compiled
	with --enable-nls, then display a more informative error about this
	situation, instead of acting as if 'sftpUTF8ProtocolVersion' is
	unknown.

2014-01-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Tweaks to the
	mod_tls testsuite to make it pass (more) on my Mac; I think it's
	related to the version of Net::FTPSSL being used.

2014-01-06  castaglia <castaglia>

	* NEWS, contrib/mod_radius.c: Bug#4006 - RADIUS "service-type"
	attribute encoded with wrong length on 64-bit system.

2014-01-06  castaglia <castaglia>

	* tests/Makefile.in, tests/api/netio.c, tests/api/stubs.c,
	tests/api/tests.c, tests/api/tests.h: Adding API tests for the NetIO
	API, focusing heavily on the pr_netio_telnet_gets() function.

2014-01-06  castaglia <castaglia>

	* include/netio.h, src/netio.c: Make the function for allocating and
	attaching a pr_buffer_t to a NetIO stream public.

2014-01-03  castaglia <castaglia>

	* contrib/mod_deflate.c: Refactor the same note name string into a
	single #define.

2014-01-03  castaglia <castaglia>

	* contrib/mod_deflate.c: Update the mod_deflate module to use the
	new pr_netio_stream_t notes table for stashing the z_stream
	pointers, rather than the nstrm_data member.

2014-01-02  castaglia <castaglia>

	* doc/modules/mod_log.html: Fix inaccurate description of %p
	LogFormat variable.

2014-01-02  castaglia <castaglia>

	* include/netio.h, src/netio.c: A NetIO stream object now has a
	table for stashing any/all kinds of module-specific data.  This
	table will eventually replace the void *strm_data member, once all
	modules have been updated to use the new table for their stashing.

2014-01-02  castaglia <castaglia>

	* src/netio.c: Use slightly better, more descriptive names for the
	default NetIO objects.  Make the code use consistent style, i.e.
	switch statements, enclosing parentheses around function pointers,
	etc throughout.  No functional change.

2014-01-01  castaglia <castaglia>

	* contrib/mod_tls.c: Fix grammar-o in a comment.

2014-01-01  castaglia <castaglia>

	* src/fsio.c: When reading from a file using pr_fsio_gets(), use the
	given iosz hint as is, rather than using the smaller size of given
	buffer vs iosz hint.  The iosz hint, if present, will always be more
	efficient.  The given buffer can then be filled from the read-in
	buffer.

2013-12-30  castaglia <castaglia>

	* src/parser.c: Clean up a few stylistic nits in the parser code; no
	functional change.

2013-12-30  castaglia <castaglia>

	* src/fsio.c: Clean up a few stylistic nits in fsio.c; no functional
	change.

2013-12-29  castaglia <castaglia>

	* modules/mod_auth.c: Once the "has this client authenticated?"
	check -- which occurs per-command -- has succeeded, record that
	success value such that we do not do the same lookup for subsequent
	commands.  Once a client has authenticated, that state will not
	change for the duration of the connection.  At least until REIN is
	implemented.

2013-12-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logins.pm: Add regression test for
	failed logins due to out-of-sequence commands.

2013-12-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Despite Net::FTP's
	documentation with regard to FTP firewalls (i.e. proxying), the
	implementation leaves much to be desired.  So I worked around the
	Net::FTP internals to make it do what I wanted.

2013-12-27  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/scp.c: Bug#4004 - IgnoreSCPUploadPerms
	SFTPOption not honored properly for SCP directory upload.

2013-12-27  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	test for Bug#4004.

2013-12-23  castaglia <castaglia>

	* include/netaddr.h, src/netaddr.c, tests/api/netaddr.c: Rename the
	ADDRS_ONLY pr_netaddr_get_addr2() flag to EXCL_DNS, to be more
	consistent with the naming of similar flags for the option, and to
	be more descriptive.

2013-12-23  castaglia <castaglia>

	* include/netaddr.h, src/netaddr.c, tests/api/netaddr.c: Support new
	flag for pr_netaddr_get_addr2() which can be used to skip DNS name
	resolutions, and only check whether the given string is a resolvable
	IP address.  Add missing regression test for pr_netaddr_get_addr2(),
	with tests for the INCL_DEVICE and ADDRS_ONLY flags.

2013-12-20  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/dhparams.pem: Bug#4002 - Add 7680-bit DH
	parameter to mod_sftp bundled dhparams.pem file.

2013-12-20  castaglia <castaglia>

	* modules/mod_auth_file.c: Try mitigating some of the terror/madness
	caused by Bug#3892 preemptively by using root privs when opening the
	AuthUserFile/AuthGroupFile for reading.

2013-12-20  castaglia <castaglia>

	* modules/mod_auth_file.c: Slight tweaks to the error messages
	logged.

2013-12-20  castaglia <castaglia>

	* modules/mod_auth_file.c: Add more information to error messages
	logged by mod_auth_file due to the stricter checks added for
	Bug#3892.

2013-12-19  castaglia <castaglia>

	* contrib/mod_wrap2_file.c: Add some helpful logging when
	mod_wrap2_file performs resolution on the given table path.

2013-12-19  castaglia <castaglia>

	* doc/contrib/mod_wrap2.html: Fix typos.

2013-12-19  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/cipher.c, contrib/mod_sftp/mac.c: Bug#4001
	- mod_sftp fails key exchange for 8192-bit DH group.

2013-12-16  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Fix regressions in the handling of <Limit>
	sections applicable to READDIR SFTP requests, caused by the fix for
	Bug#3753 and pointed out by Mike Futerko.

2013-12-15  castaglia <castaglia>

	* src/netaddr.c: When caching the remote session address
	information, make sure to properly zero out the cache structures
	first.

2013-12-15  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Handle the new
	test_cleanup function properly, i.e. by going one level deeper into
	the call stack when writing out to the tests.log file, for accurate
	reporting of the failing testcase in question.

2013-12-15  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Provide a way to tell
	test_cleanup() to keep the log files around.

2013-12-14  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: Fix typo in comment; no functional
	change.

2013-12-12  castaglia <castaglia>

	* doc/contrib/mod_geoip.html: Typo.

2013-12-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_shaper.pm: Checking in
	reproduction recipe for Bug#3928, for when I can address that issue
	in the future.

2013-12-12  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_exec.c: Bug#3876 - ExecOnEvent
	should be configurable per <VirtualHost>/<Global>.

2013-12-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm: Regression tests for
	Bug#3996.

2013-12-12  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#3996 - Handling ALLO command can
	result in wrong response when chrooted.

2013-12-12  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/keys.c: Bug#3992 - RSA signature issue when
	connecting using PuTTY/WinSCP.

2013-12-10  castaglia <castaglia>

	* contrib/ftpasswd: Fix minor issue with Bug#3994 fix, to prevent
	multiple --locks on the same user from prepending multiple "lock"
	characters; just one is enough.

2013-12-09  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Update mod_tls docs with descriptions
	for the new EC cert/key directives.

2013-12-09  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3772 - Support
	Elliptic Curve Cryptography (ECC) certs for FTPS connections.

2013-12-09  castaglia <castaglia>

	* contrib/mod_quotatab.c, contrib/mod_snmp/db.c, include/fsio.h,
	modules/mod_delay.c, src/fsio.c, src/scoreboard.c, src/wtmp.c: 
	Refactor some of the common code for getting a usable fd into a new
	pr_fs_get_usable_fd2() function, and update some of the sites to use
	the new function.

2013-12-09  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c, contrib/mod_snmp/db.c,
	modules/mod_delay.c, src/scoreboard.c, src/wtmp.c: Bug#3970 -
	ProFTPD should not use fd 2 (stderr) for files.

2013-12-09  castaglia <castaglia>

	* modules/mod_core.c: Fix compiler warning about type mismatch.

2013-12-09  castaglia <castaglia>

	* tests/t/etc/modules/mod_tls/NOTES,
	tests/t/etc/modules/mod_tls/ec-ca.pem,
	tests/t/etc/modules/mod_tls/ec-server-cert.pem: Adding EC certs for
	tests.

2013-12-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Limit/Anonymous.pm: Add
	regression tests for <Anonymous> configs with upload-only
	directories.

2013-12-08  castaglia <castaglia>

	* contrib/ftpasswd, doc/contrib/ftpasswd.html: Minor reordering of
	new --lock, --unlock options, and updating the docs to reflect the
	new options.

2013-12-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm: Adding regression
	tests for Bug#3994.

2013-12-08  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/ftpasswd: Bug#3994 - ftpasswd utility
	should support --lock/--unlock options.

2013-12-08  castaglia <castaglia>

	* NEWS, contrib/ftpasswd: Bug#3995 - ftpasswd utility should prevent
	concurrent modification of files.

2013-12-05  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Update mod_sftp docs for the new
	IgnoreSCPUploadTimes SFTPOption.

2013-12-05  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
	test for Bug#3998 (the new IgnoreSCPUploadTimes SFTPOption).

2013-12-05  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/scp.c: Bug#3998 -
	Support IgnoreSCPUploadTimes SFTPOption.

2013-12-05  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: List the supported SFTPOptions in
	lexicographical order.

2013-12-05  castaglia <castaglia>

	* modules/mod_ctrls.c: Make sure that the mod_ctrls module cannot be
	built without using the --enable-ctrls configure option.

2013-12-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm: Adding regression test
	for the ALLO command in a chrooted environment.

2013-12-04  castaglia <castaglia>

	* lib/pr_fnmatch_loop.c: Bug#3997 - pr_fnmatch_loop.c compilation
	error: "CHAR str[0] : error #2094: the size of an array must be
	greater than zero"

2013-11-24  castaglia <castaglia>

	* NEWS, contrib/mod_exec.c, contrib/mod_ldap.c, contrib/mod_tls.c,
	include/str.h, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_xfer.c, src/str.c, tests/api/str.c: Bug#3965 - Timeout
	directives have inconsistent maximum values.

2013-11-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Create new test_setup()
	and test_cleanup() functions, to reduce the amount of boilerplate in
	testcases and to reduce the accrued technical debt in the testsuite
	codebase by applying the DRY principle.

2013-11-11  castaglia <castaglia>

	* doc/modules/mod_log.html: Added description of new %{basename}
	variable to the LogFormat docs.

2013-11-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Added
	(simplistic) regression tests for the new LogFormat %{basename}
	variable introduced for Bug#3987.

2013-11-11  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sql.c, include/mod_log.h,
	modules/mod_log.c: Bug#3987 - LogFormat variable for just the
	filename.

2013-11-10  castaglia <castaglia>

	* RELEASE_NOTES, doc/howto/LogMessages.html: Check in the
	work-to-date on a log message compendium; there are still a few
	sections to fill in.

2013-11-10  castaglia <castaglia>

	* src/auth.c: Make the "Preparing to chroot to" log message slightly
	less noisy.

2013-11-10  castaglia <castaglia>

	* modules/mod_xfer.c: Shift the HiddenStore DEBUG level messages to
	properly use the pr_log_debug() function, and to use a lower DEBUG
	level, so they are not as noisy (and are more consistent with other
	debug-level logging).

2013-11-10  castaglia <castaglia>

	* modules/mod_auth_file.c: Improve the log message slightly when
	mod_auth_file can't open its configured files.

2013-11-09  castaglia <castaglia>

	* src/bindings.c: Found another place with inconsistent log message
	formatting; now fixed.

2013-11-09  castaglia <castaglia>

	* src/data.c: Fixed formatting of log message to be more consistent
	with the format used elsewhere, i.e. that the strerror(3) string
	follows a colon and space.

2013-11-09  castaglia <castaglia>

	* doc/modules/mod_core.html: Include description for the UserOwner
	directive in the mod_core docs.

2013-11-09  castaglia <castaglia>

	* contrib/mod_ifsession.c: Log messages about misconfigurations
	should be logged at WARNING, not ERR.

2013-11-05  castaglia <castaglia>

	* NEWS, contrib/mod_tls_memcache.c, contrib/mod_tls_shmcache.c: 
	Bug#3991 - SSL session caching modules use incorrect OpenSSL cache
	mode flags, breaking session caching.

2013-11-05  castaglia <castaglia>

	* doc/contrib/mod_tls_shmcache.html: Updated mod_tls_shmcache docs.

2013-10-27  castaglia <castaglia>

	* doc/howto/TLS.html: TLS FAQ about difference between shm and
	memcache for SSL session caching.

2013-10-15  castaglia <castaglia>

	* src/fsio.c: If the underlying filesystem doesn't support chmod(2)
	(per Bug#3986), then at least log a DEBUG level message about it.

2013-10-15  castaglia <castaglia>

	* NEWS, src/fsio.c: Bug#3986 - Support filesystems which do not
	support chmod(2)/chown(2), e.g.  FAT/ExFAT.

2013-10-14  castaglia <castaglia>

	* NEWS, RELEASE_NOTES: Bug#3982 - Normalize log messages and levels.

2013-10-13  castaglia <castaglia>

	* modules/mod_dso.c, src/log.c: Fix comments to match code.

2013-10-13  castaglia <castaglia>

	* modules/mod_core.c: Tweak a log message to be more in line with
	similar log messages elsewhere.

2013-10-13  castaglia <castaglia>

	* contrib/mod_rewrite.c: If a configured RewriteLog is in a
	world-writable directory, log it -- but use the same phrasing as
	used for other modules in similar situations.

2013-10-13  castaglia <castaglia>

	* src/fsio.c: Found only one instance of a DEBUG level message which
	needed a different log level (Bug#3982).

2013-10-13  castaglia <castaglia>

	* src/auth.c: The log message about chrooting is more of a DEBUG
	level message, rather than INFO (per Bug#3982).

2013-10-13  castaglia <castaglia>

	* modules/mod_ctrls.c, modules/mod_delay.c, modules/mod_dso.c,
	modules/mod_xfer.c: Changing the log levels of messages for some
	modules to be more consistent, per Bug#3982.

2013-10-13  castaglia <castaglia>

	* contrib/mod_ban.c, contrib/mod_ctrls_admin.c,
	contrib/mod_dynmasq.c, contrib/mod_geoip.c,
	contrib/mod_load/mod_load.c, contrib/mod_sftp/fxp.c,
	contrib/mod_sftp/scp.c, contrib/mod_shaper.c, contrib/mod_tls.c,
	contrib/mod_tls_memcache.c, contrib/mod_tls_shmcache.c,
	contrib/mod_wrap.c: Tweak the log levels of various log messages in
	contrib modules, bringing the messages in line with a more
	consistent logging policy (Bug#3982).

2013-10-13  castaglia <castaglia>

	* contrib/ftpmail: If there are comments after the user/password
	values in the ftpmail SMTP AUTH file, trim them off.

2013-10-13  castaglia <castaglia>

	* src/bindings.c, src/dirtree.c, src/lastlog.c, src/log.c,
	src/main.c: Combing through NOTICE level log messages in src/ turned
	up a few needed tweaks, for Bug#3982.

2013-10-13  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_auth_pam.c,
	modules/mod_auth_unix.c, modules/mod_cap.c, modules/mod_ctrls.c,
	modules/mod_dso.c, modules/mod_lang.c, modules/mod_log.c,
	modules/mod_memcache.c, modules/mod_xfer.c: Minor tweaks to log
	messages and log levels, bringing them in line with the
	expected/consistent log levels, per Bug#3982.

2013-10-13  castaglia <castaglia>

	* contrib/mod_dnsbl/mod_dnsbl.c, contrib/mod_geoip.c,
	contrib/mod_ldap.c, contrib/mod_log_forensic.c,
	contrib/mod_radius.c, contrib/mod_ratio.c, contrib/mod_rewrite.c,
	contrib/mod_sftp/auth.c, contrib/mod_sftp/keys.c,
	contrib/mod_sftp/mod_sftp.c, contrib/mod_snmp/mod_snmp.c,
	contrib/mod_sql.c, contrib/mod_tls.c: Tweaks to log levels of
	various messages in the contrib modules, making them be more
	consistent, per Bug#3982.

2013-10-11  castaglia <castaglia>

	* src/auth.c: Slightly better log message, hopefully.

2013-10-11  castaglia <castaglia>

	* src/auth.c, tests/t/lib/ProFTPD/TestSuite/Utils.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm: Added regression
	tests for Bug#3985, and slightly better logging that MIGHT help
	track down issues like this in the future.

2013-10-09  castaglia <castaglia>

	* doc/howto/Logging.html: Fix broken anchor tag.

2013-10-09  castaglia <castaglia>

	* src/timers.c: Use the WARNING level if we can't install our signal
	handlers needed for timers, rather than NOTICE.

2013-10-09  castaglia <castaglia>

	* contrib/mod_dynmasq.c: Slightly better language in the log message
	when we can't resolve a DNS name.

2013-10-09  castaglia <castaglia>

	* contrib/mod_deflate.c: Use more appropriate log levels for issues
	opening a DeflateLog file, and also make sure to preserve errno for
	proper error reporting.

2013-10-09  castaglia <castaglia>

	* contrib/mod_ban.c: Most of the NOTICE-level log messages in
	mod_ban are actually WARNING-level worthy; make them use WARNING,
	then.

2013-10-09  castaglia <castaglia>

	* modules/mod_xfer.c: Found a few more places where errno might be
	getting clobbered, and thus leading to inaccurate reporting.

2013-10-09  castaglia <castaglia>

	* modules/mod_delay.c: Preserve errno properly when reporting errors
	here.

2013-10-09  castaglia <castaglia>

	* src/main.c: Fix another case where the reported errno value might
	not be the correct one.

2013-10-09  castaglia <castaglia>

	* modules/mod_auth.c: Cut down on possibly-spurious log warnings.

2013-10-09  castaglia <castaglia>

	* src/lastlog.c: Another place where we might be losing the real
	errno value.

2013-10-09  castaglia <castaglia>

	* src/mkhome.c: Make sure that when an error occurs, we log and
	preserve the errno properly.

2013-10-09  castaglia <castaglia>

	* src/wtmp.c: Fix a few more places where we need to be careful to
	preserve the errno value.

2013-10-09  castaglia <castaglia>

	* modules/mod_auth_unix.c: More cases where we need to take care to
	preserve the errno value properly.

2013-10-09  castaglia <castaglia>

	* modules/mod_core.c: Preserve errno for proper error reporting.

2013-10-09  castaglia <castaglia>

	* modules/mod_facl.c: Make sure we preserve errno appropriately.

2013-10-09  castaglia <castaglia>

	* doc/modules/mod_core.html: One more link which should use the
	#Syslog anchor in the Logging doc.

2013-10-09  castaglia <castaglia>

	* contrib/mod_sql_postgres.c: Forgot to update copyright date on
	previous checkin.

2013-10-08  castaglia <castaglia>

	* src/child.c: If we update an empty child list, explicitly set the
	listlen back to zero.  It should already be this value anyway, we
	just want to make sure.

2013-10-07  castaglia <castaglia>

	* contrib/mod_rewrite.c, contrib/mod_sftp/auth.c,
	contrib/mod_sftp/mod_sftp.c, contrib/mod_snmp/mod_snmp.c,
	contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c,
	contrib/mod_sql_sqlite.c, contrib/mod_tls.c, modules/mod_auth.c,
	modules/mod_auth_file.c, modules/mod_auth_unix.c,
	modules/mod_cap.c, modules/mod_delay.c, modules/mod_facl.c,
	modules/mod_log.c, modules/mod_memcache.c, modules/mod_site.c,
	modules/mod_xfer.c, src/auth.c, src/bindings.c, src/data.c,
	src/dirtree.c, src/display.c, src/fsio.c, src/inet.c, src/main.c,
	src/modules.c, src/parser.c, src/pool.c: Shuffle some of the log
	levels used for log messages, making ERR message that should be
	something else BE something else, leaving ERR messages which should
	be ERR alone (Bug#3982).

2013-10-07  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_ldap.c: Bug#3888 - Add LDAPLog
	directive to mod_ldap.

2013-10-07  castaglia <castaglia>

	* contrib/mod_ldap.c: Start making stylistic changes to the mod_ldap
	code, bringing it more in line with the coding style used elsewhere
	in proftpd.  No functional change.

2013-10-07  castaglia <castaglia>

	* contrib/mod_sftp/auth.c, modules/mod_auth.c: Log "SECURITY
	VIOLATION" messages at the NOTICE level (Bug#3982).

2013-10-07  castaglia <castaglia>

	* contrib/mod_exec.c, contrib/mod_sftp/cipher.c,
	contrib/mod_sftp/crypto.c, contrib/mod_sftp/keys.c,
	contrib/mod_sftp/mac.c, contrib/mod_sftp/msg.c,
	contrib/mod_sftp_pam.c, contrib/mod_shaper.c,
	contrib/mod_snmp/mod_snmp.c, contrib/mod_tls.c, include/log.h,
	modules/mod_auth_file.c, modules/mod_ls.c, src/data.c, src/env.c,
	src/fsio.c, src/log.c, src/main.c, src/pool.c: On second thought,
	remove the whole lookup-of-log-level-by-resource mechanism.  It's
	overengineered, and we don't need it right now.

2013-10-06  castaglia <castaglia>

	* contrib/mod_exec.c, contrib/mod_sftp/keys.c,
	contrib/mod_snmp/mod_snmp.c, contrib/mod_tls.c, include/log.h,
	src/log.c, src/main.c: When fork(2) fails and we need to log a
	message, use the new lookup function to determine the log level for
	that "process" resource.

2013-10-06  castaglia <castaglia>

	* contrib/mod_sftp/cipher.c, contrib/mod_sftp/crypto.c,
	contrib/mod_sftp/keys.c, contrib/mod_sftp/mac.c,
	contrib/mod_sftp/msg.c, contrib/mod_sftp_pam.c,
	contrib/mod_shaper.c, contrib/mod_tls.c, include/log.h,
	modules/mod_auth_file.c, modules/mod_ls.c, src/data.c, src/env.c,
	src/fsio.c, src/log.c, src/pool.c: When a resource is exhausted, we
	now have a lookup function to determine the proper log level to use
	for the ensuing log message.  This lets us coordinate/tweak these
	levels in the future as needed, as well as being able to
	differentiate/tweak different log levels for the same resource but
	different errors (e.g. EMFILE vs ENFILE for fd exhaustion).

2013-10-06  castaglia <castaglia>

	* contrib/mod_snmp/mod_snmp.c: mod_snmp, too, needs to log fork(2)
	failures at the ALERT level (Bug#3982).

2013-10-06  castaglia <castaglia>

	* contrib/mod_exec.c, contrib/mod_tls.c, src/main.c: Log other
	out-of-resource errors (such as fork(2) and pipe(2) failures) at the
	ALERT log level, per Bug#3982.

2013-10-06  castaglia <castaglia>

	* modules/mod_ls.c, src/data.c, src/env.c, src/pool.c: Let's be
	consistent about the message logged when we are out of memory, and
	use "Out of memory!", rather than a mix of the former as well as
	variations on "memory exhausted" (Bug#3982).

2013-10-06  castaglia <castaglia>

	* contrib/mod_sftp/crypto.c, contrib/mod_sftp/keys.c,
	contrib/mod_tls.c, modules/mod_ls.c, src/data.c, src/env.c: Found
	more places in the code where an out-of-memory condition needed to
	be logged at the ALERT level, per Bug#3982.

2013-10-06  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/cipher.c, contrib/mod_sftp/mac.c,
	contrib/mod_sftp/msg.c, contrib/mod_sftp_pam.c,
	contrib/mod_shaper.c, modules/mod_auth_file.c, src/fsio.c,
	src/pool.c: Bug#3982 - Normalize log messages and levels.  We start by logging all out-of-memory conditions at the ALERT level.

2013-10-06  castaglia <castaglia>

	* contrib/mod_snmp/.cvsignore: Updated .cvsignore files for
	mod_dnsbl and mod_snmp.

2013-10-06  castaglia <castaglia>

	* doc/howto/LogLevels.html: More typos, layout fixes.

2013-10-06  castaglia <castaglia>

	* doc/howto/LogLevels.html: Typo.

2013-10-06  castaglia <castaglia>

	* doc/howto/index.html: Add the LogLevels doc to the index.

2013-10-06  castaglia <castaglia>

	* doc/howto/LogLevels.html, doc/howto/Logging.html,
	doc/modules/mod_core.html: Beef up the logging documentation by
	covering the log levels, and the granularity of the DEBUG level
	messages.  This is necessary groundwork for the next stop: creating
	a log message catalog, per level.

2013-10-06  castaglia <castaglia>

	* doc/howto/Compiling.html: Minor embellishment on what the
	install_user/install_group variables are for (and what they are NOT
	for).

2013-10-06  castaglia <castaglia>

	* doc/howto/ConfigurationTricks.html: Add recipe for using
	environment variable to achieve ServerRoot-like functionality.

2013-10-06  castaglia <castaglia>

	* doc/howto/Filters.html: Add recipe about filtering SITE CHMOD
	parameters using DenyFilter to doc.  Fixed links to be relative.

2013-10-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DenyFilter.pm: Added regression
	test show how to use DenyFilter to prevent a SITE CHMOD command that
	uses mode 777.

2013-10-06  castaglia <castaglia>

	* src/dirtree.c: Fixed bug in the handling of
	AllowFilter/DenyFilter, where a non-match would result in a false
	positive, such that a command might be allowed (when it should not
	be), or denied when it should be allowed.

2013-10-06  castaglia <castaglia>

	* src/var.c: Clean up minor stylistic nits in the Variables API; no
	real functional change.

2013-10-05  castaglia <castaglia>

	* src/fsio.c: Additional improvements for Bug#3963, reducing the
	scope of root privs used when setting created directory permissions.

2013-10-05  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Updated mod_exec
	ExecOption useStdin regression test in light of Bug#3981.

2013-10-05  castaglia <castaglia>

	* NEWS, contrib/mod_exec.c: Bug#3981 - Null pointer dereference in
	mod_exec with ExecOption useStdin.

2013-10-05  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: When constructing the string version of
	unsupported OPEN flags sent by the SFTP client, make sure we are
	checking the correct flags variable.

2013-10-05  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Support writing out of
	configs that are given as arrayrefs, not just as hashrefs.

2013-10-05  castaglia <castaglia>

	* tests/t/config/setenv.t,
	tests/t/lib/ProFTPD/Tests/Config/SetEnv.pm, tests/tests.pl: Adding
	regression test for the SetEnv directive.  In this case, the test
	also demonstrates how environment variables can be used to
	approximate the functionality of Apache's ServerRoot directive.

2013-10-05  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ratio.pm: Add a (currently
	failing) mod_ratio regression, found in an Ubuntu bug report.

2013-10-03  castaglia <castaglia>

	* doc/contrib/mod_ratio.html: Start working on mod_ratio docs, if
	only to cut down on bug reports about it.

2013-10-03  castaglia <castaglia>

	* doc/contrib/mod_sftp_pam.html: Fix typos and improve the
	installation instructions for mod_sftp_pam.

2013-10-02  castaglia <castaglia>

	* modules/mod_dso.c: Update mod_dso to use the pr_strnrstr()
	function, which duplicated code already in mod_dso.

2013-10-02  castaglia <castaglia>

	* RELEASE_NOTES: Plan to release RC4, and mention the fixing of the
	LDFLAGS for module builds.

2013-10-02  castaglia <castaglia>

	* contrib/mod_dnsbl/configure, contrib/mod_load/configure,
	contrib/mod_sftp/configure, contrib/mod_snmp/configure,
	contrib/mod_wrap2/configure: Updated contrib module configure
	scripts.

2013-10-02  castaglia <castaglia>

	* contrib/mod_dnsbl/Makefile.in, contrib/mod_dnsbl/configure.in,
	contrib/mod_load/Makefile.in, contrib/mod_load/configure.in,
	contrib/mod_sftp/Makefile.in, contrib/mod_sftp/configure.in,
	contrib/mod_snmp/Makefile.in, contrib/mod_snmp/configure.in,
	contrib/mod_wrap2/Makefile.in, contrib/mod_wrap2/configure.in: 
	Properly propagate/use LDFLAGS in the contrib module Makefiles.

2013-10-02  castaglia <castaglia>

	* contrib/mod_sftp/kex.c: Even when SSH2 clients do not send a
	"guess" KEX packet, but do correctly guess the preferred kex, we
	need to be prepared to handle ECDH key exchanges.

2013-10-01  castaglia <castaglia>

	* modules/mod_auth_unix.c: Fix typo in patch for Bug#3952 that was
	resulting in segfault.

2013-10-01  castaglia <castaglia>

	* contrib/mod_exec.c: Remove extraneous semicolon; I've been trying
	not to use them after the PRIVS macros.

2013-09-30  castaglia <castaglia>

	* contrib/mod_exec.c, contrib/mod_sql.c, modules/mod_log.c,
	modules/mod_xfer.c, src/dirtree.c, tests/api/cmd.c,
	tests/api/stubs.c: Deprecate get_full_cmd() in favor of
	pr_cmd_get_displayable_str(); both are existing functions, and the
	latter is more performant.

2013-09-30  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: Make sure that ECC key exchange
	algorithms can be explicitly configured via the SFTPKeyExchanges
	directive, when supported.

2013-09-29  castaglia <castaglia>

	* doc/modules/mod_auth_unix.html: Updated PersistentPasswd docs per
	Bug#3952.

2013-09-29  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, include/options.h, modules/mod_auth_file.c,
	modules/mod_auth_unix.c, src/main.c: Bug#3952 - Make
	PersistentPasswd default to 'off'.

2013-09-27  castaglia <castaglia>

	* src/netaddr.c: Include the address family (IPv4 vs IPv6) to which
	we tried (and failed) to resolve the given name, in the
	failed-resolution log message.

2013-09-27  castaglia <castaglia>

	* src/bindings.c: Only return an error from
	pr_ipbind_get_listening_conn(), if we fail to duplicate an address,
	for a reason other than EINVAL.  Turns out that EINVAL is actually
	an expected/common reason for the dup to fail.

2013-09-27  castaglia <castaglia>

	* src/bindings.c, src/dirtree.c, src/inet.c, src/netaddr.c: Fix an
	interesting bug only encountered if the following config is used:   DefaultAddress <ipv6-addr>   UseIPv6 off That is, the server is configured with an IPv6 address, and then
	later, in the config, support for IPv6 is disabled.  Without this
	patch, a strange segfault will ensue on startup.  Note that if the order of the directives is reversed, so that
	UseIPv6 occurs before the DefaultAddress directive, then startup
	fails as one might expect, since the IPv6 address won't be resolved
	unless IPv6 support is enabled.

2013-09-25  castaglia <castaglia>

	* contrib/mod_sftp/display.c, src/display.c: Silly compilers
	disagree on whether '' is valid syntax for denoting a single
	character.  Sigh.

2013-09-25  castaglia <castaglia>

	* contrib/mod_sftp/display.c, src/display.c: When formatting the %f
	Display variable, the units index was not being calculated
	correctly.

2013-09-25  castaglia <castaglia>

	* src/fsio.c: Minor clarifying comment.

2013-09-25  castaglia <castaglia>

	* NEWS, contrib/mod_sql_odbc.c: Bug#3979 - mod_sql_odbc compiler
	warnings on 64-bit systems using unixODBC.

2013-09-24  castaglia <castaglia>

	* include/str.h, src/str.c, tests/api/str.c, tests/api/timers.c: Add
	new pr_strnrstr() function, for checking whether a given string ends
	with a given suffix.  Comes with accompanying API tests.  Fixed a few racy timer tests while there.

2013-09-20  castaglia <castaglia>

	* contrib/mod_sftp/keys.c, contrib/mod_tls.c: Updated the cached
	PID, so that log messages reflected the forked process' PID
	properly.

2013-09-20  castaglia <castaglia>

	* contrib/mod_exec.c: Make sure we revoke root privs, even if we
	already hae the session.login_uid, when the '~' ExecOnEvent syntax
	is used.

2013-09-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Adding regression
	test for Bug#3964.

2013-09-20  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_exec.c: Bug#3964 - Support
	running ExecOnEvent actions with logged-in user's permissions.

2013-09-20  castaglia <castaglia>

	* NEWS, contrib/mod_geoip.c: Bug#3976 - ProFTPD terminating (signal
	11) crash for GeoLiteCity-20130903 database lookup.

2013-09-20  castaglia <castaglia>

	* NEWS, contrib/mod_geoip.c: Bug#3975 - Error printed to stderr when
	loading GeoIP Lite country database using IndexCache flag.

2013-09-19  castaglia <castaglia>

	* include/netio.h, src/netio.c: Include not only the module pointer,
	but a stringified version of the module name.  The module pointer of
	the owner may not be available for comparison (think shared/DSO
	modules), so having the string is a nice complement.

2013-09-19  castaglia <castaglia>

	* contrib/mod_deflate.c, contrib/mod_tls.c, include/conf.h,
	include/netio.h, src/netio.c: Add new pr_alloc_netio2() function,
	for associate the module * with the netio created.  This allows
	modules to see, for a given pr_netio_t, which module registered/owns
	that netio.  And, related, add a new pr_get_netio() function, so that modules can
	see the currently registered NetIO object for a given stream type.
	With the above module * now part of that NetIO, said modules can see
	what is registered, and take appropriate action.

2013-09-18  castaglia <castaglia>

	* NEWS, src/fsio.c: Bug#3963 - Improve permission setting when
	creating directories.

2013-09-18  castaglia <castaglia>

	* doc/contrib/index.html: Update contrib module index with link to
	mod_dnsbl.

2013-09-18  castaglia <castaglia>

	* contrib/mod_dnsbl/configure: Updated configure for mod_dnsbl.

2013-09-18  castaglia <castaglia>

	* contrib/mod_dnsbl/Makefile.in, contrib/mod_dnsbl/configure.in,
	contrib/mod_dnsbl/mod_dnsbl.h.in: Tweaking the mod_dnsbl build
	system to use the module-libs.txt file, for e.g. building properly
	as a static module when libresolv is needed.

2013-09-18  castaglia <castaglia>

	* contrib/mod_dnsbl/.cvsignore: Adding necessary .cvsignore file.

2013-09-18  castaglia <castaglia>

	* contrib/mod_dnsbl/Makefile.in: Update clean target for mod_dnsbl
	Makefile.

2013-09-18  castaglia <castaglia>

	* RELEASE_NOTES, doc/contrib/mod_dnsbl.html: Mention addition of
	mod_dnsbl to the contrib/ area.

2013-09-18  castaglia <castaglia>

	* contrib/mod_dnsbl/Makefile.in, contrib/mod_dnsbl/config.guess,
	contrib/mod_dnsbl/config.sub, contrib/mod_dnsbl/configure,
	contrib/mod_dnsbl/configure.in, contrib/mod_dnsbl/install-sh,
	contrib/mod_dnsbl/mod_dnsbl.c, contrib/mod_dnsbl/mod_dnsbl.h.in: 
	Adding the mod_dnsbl module to the proftpd project.

2013-09-18  castaglia <castaglia>

	* contrib/mod_snmp/config.guess, contrib/mod_snmp/config.sub,
	contrib/mod_snmp/install-sh: Updating config.guess, config.sub,
	install-sh scripts for mod_snmp.

2013-09-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Add ExtendedLog
	test for the %r LogFormat variable, for commands other than PASS.
	Fixed broken mod_sftp test.

2013-09-18  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Using a slightly different memory pool
	here avoids some strange side-effects later.

2013-09-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Update mod_tls tests
	to expect a 522 response code where mod_tls now generates such
	codes, rather than the 550 response codes that had been sent in the
	past.

2013-09-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
	tests for the handling of the SSCN command by mod_tls.

2013-09-17  castaglia <castaglia>

	* contrib/xferstats.holger-preiss: Fix/make -t option work properly.
	Fixed handling/counting for -i/-o options.  Added new -e option, to
	count number of deleted (mnemonic: "erased") files.

2013-09-17  castaglia <castaglia>

	* RELEASE_NOTES: Mention fix of mod_sftp/mod_sftp_pam memory
	allocation (CVE-2013-4359) in release notes.

2013-09-15  castaglia <castaglia>

	* contrib/mod_tls.c: Harden the mod_tls NetIO open callback so that,
	if multiple streams are opened, they don't overwrite each other.

2013-09-15  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	tests for Bug#3974, regarding the handling of the PathDenyFilter for
	SFTP sessions.

2013-09-15  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#3974 - PathDenyFilter directive does
	not work as expected for SFTP sessions.

2013-09-15  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Update
	regression test to work successfully on Mac OSX (due to how that
	platform handles its temporary paths).

2013-09-15  castaglia <castaglia>

	* include/str.h, src/str.c, tests/api/str.c: Add a variant of
	get_token, i.e. pr_str_get_token2, which not only returns the next
	token, but also returns its length.  This is quite useful for using
	get_token for iterating over a single string while tokenizing it in
	place.

2013-09-14  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/kbdint.c, contrib/mod_sftp/mod_sftp.h.in,
	contrib/mod_sftp_pam.c: Bug#3973 - mod_sftp can be forced to
	allocate too much memory for keyboard-interactive authentication.

2013-09-14  castaglia <castaglia>

	* contrib/mod_sftp/keys.c: When comparing EC curve points, use the
	curve group and points from the local file as the first parameters;
	the first parameter represents the "baseline" in the OpenSSL
	comparators to which we want to compare the client-supplied curve
	group/point.

2013-09-13  castaglia <castaglia>

	* contrib/mod_sftp_pam.c: Fix gcc-4.8 warning; patch supplied by
	Sergei Trofimovich <slyfox@gentoo.org>.

2013-09-05  castaglia <castaglia>

	* NEWS, modules/mod_auth_unix.c: Bug#3972 - Authentication error on
	Cygwin due to bad code.

2013-09-04  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Document the new IgnoreConfigFile
	SQLOption (Bug#3971).

2013-09-04  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sql.c, contrib/mod_sql.h,
	contrib/mod_sql_mysql.c: Bug#3971 - Support SQLOption for ignoring
	client library config files when needed.

2013-08-25  castaglia <castaglia>

	* tests/t/config/deferwelcome.t,
	tests/t/lib/ProFTPD/Tests/Config/DeferWelcome.pm, tests/tests.pl: 
	Add regression tests for the DeferWelcome directive.

2013-08-25  castaglia <castaglia>

	* src/session.c: Make sure that the %L variable, when used in a
	ServerIdent message, properly reflects a configured
	MasqueradeAddress, just as the non-customised ServerIdent message
	would.

2013-08-19  castaglia <castaglia>

	* doc/howto/Authentication.html: Update Auth howto links.  Added FAQ
	about getting passwords logged.

2013-08-19  castaglia <castaglia>

	* doc/modules/mod_auth.html: Adding more mod_auth directives to the
	docs.

2013-08-14  castaglia <castaglia>

	* doc/contrib/mod_ban.html, doc/contrib/mod_ctrls_admin.html,
	doc/contrib/mod_deflate.html, doc/contrib/mod_dynmasq.html,
	doc/contrib/mod_exec.html, doc/contrib/mod_ifsession.html,
	doc/contrib/mod_log_forensic.html, doc/contrib/mod_qos.html,
	doc/contrib/mod_quotatab_file.html,
	doc/contrib/mod_quotatab_ldap.html,
	doc/contrib/mod_quotatab_sql.html, doc/contrib/mod_radius.html,
	doc/contrib/mod_readme.html, doc/contrib/mod_rewrite.html,
	doc/contrib/mod_shaper.html, doc/contrib/mod_site_misc.html,
	doc/contrib/mod_unique_id.html: Updating installation instructions
	for many modules, noting how to build them as shared/DSO modules,
	and using prxs to do so.

2013-08-14  castaglia <castaglia>

	* doc/contrib/mod_ban.html: Typo.

2013-08-14  castaglia <castaglia>

	* contrib/mod_geoip.c: Fix mod_geoip's handling of multiple
	GeoIPAllowFilter directives.

2013-08-14  castaglia <castaglia>

	* doc/contrib/mod_ban.html, doc/contrib/mod_deflate.html,
	doc/contrib/mod_exec.html, doc/contrib/mod_quotatab.html,
	doc/contrib/mod_radius.html, doc/contrib/mod_rewrite.html,
	doc/contrib/mod_shaper.html, doc/contrib/mod_wrap2.html: Fix typos.

2013-08-14  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Typo.

2013-08-12  castaglia <castaglia>

	* contrib/mod_geoip.c: Bug#3967 - Typo in TraceLog output: "Allow"
	should be "Deny".

2013-08-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Added/updated
	logging-related tests for Bug#3966.

2013-08-09  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c, modules/mod_core.c, modules/mod_log.c: 
	Bug#3966 -  LogFormat %f variable not resolved for some commands.

2013-08-07  castaglia <castaglia>

	* src/inet.c, src/support.c: Preemptive support for FreeBSD 10.

2013-08-07  castaglia <castaglia>

	* modules/mod_log.c: Eliminate a strlen(3) when writing the full
	ExtendedLog line.

2013-08-02  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm: Add regression tests
	for the SIZE command, as applied to symlinks (e.g.  to files and to
	directories).

2013-08-01  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Adding documentation for the new
	TLSVerifyServer directive.

2013-08-01  castaglia <castaglia>

	* include/mod_log.h, modules/mod_log.c: Moving the various "meta"
	values used for LogFormat variables into a mod_log.h header, so that
	other modules which use the parsed LogFormat directives can also
	know what the "meta" values are.

2013-08-01  castaglia <castaglia>

	* modules/mod_log.c: Make mod_log stash the configured LogFormat
	directives in the config tree, so that other modules might also look
	up and use the LogFormat data.

2013-07-31  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3955 - Support secure
	FXP (site-to-site) transfers using SSCN.

2013-07-29  castaglia <castaglia>

	* doc/modules/mod_facts.html: FAQ about FileZilla, symlinks, and
	MLSD for older proftpd versions.

2013-07-26  castaglia <castaglia>

	* doc/contrib/mod_ban.html: Add FAQ about banning root logins.

2013-07-25  castaglia <castaglia>

	* NEWS, src/fsio.c: Bug#3962 - Directory creation fails (chmod(2)
	EPERM) when root privs are used in some cases.

2013-07-22  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Adding mod_sftp FAQ/gotcha, per
	Bug#3961.

2013-07-19  castaglia <castaglia>

	* doc/modules/mod_cap.html: Document the support for CAP_FSETID for
	the CapabilitiesSet directive, per Bug#3960.

2013-07-19  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, modules/mod_cap.c: Bug#3960 - Support the
	CAP_FSETID Linux capability, for preserving directory SGID bit.

2013-07-18  castaglia <castaglia>

	* NEWS, src/fsio.c: Bug#3958 - Directory creation does not honor
	single-parameter Umask setting.

2013-07-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Adding regression tests
	which would have caught Bug#3958.

2013-07-17  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: When using the pr_str_get_nbytes()
	function, we need to use off_t, not uint32_t, to hold the result
	value.  On some systems (e.g. SPARC), a uint32_t is smaller than an
	off_t, so trying to shove an off_t worth of data into memory
	allocated for uint32_t will cause problems.

2013-07-17  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3959 - mod_sftp does not honor
	<Directory>/<Limit> sections when symlinks are involved.  The mod_sftp module was not properly canoncalizing the paths sent by
	the client before checking <Directory> restrictions.

2013-07-17  castaglia <castaglia>

	* configure: Updated configure.

2013-07-17  castaglia <castaglia>

	* configure.in: Make the configure script handle common typos such
	as leading/trailing colons in the --with-modules/--with-shared
	lists, and handling double colons in these lists.

2013-07-17  castaglia <castaglia>

	* contrib/mod_sql.c, modules/mod_log.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Making sure that
	ExtendedLog variables such as %d and %f work properly for the MFMT
	command, and some other SITE commands (e.g. SITE UTIME).

2013-07-16  castaglia <castaglia>

	* contrib/mod_tls.c: Fix compiler warning about unused variable
	(only when --disable-ipv6 configure option is used).

2013-07-16  castaglia <castaglia>

	* src/ftpdctl.c: Fix compiler warning.

2013-07-16  castaglia <castaglia>

	* src/netaddr.c: Fix compiler warning on Solaris.

2013-07-16  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Fix compiler warnings about shadowed local
	variables.

2013-07-16  castaglia <castaglia>

	* NEWS, include/dirtree.h, modules/mod_log.c, src/auth.c,
	src/dirtree.c: Bug#3957 - ProFTPD configuration with thousands of
	<Directory>/<Limit> sections leads to slow logins.  With this, the find_config() function now takes flags which can be
	used to indicate disinterest in specific config types, so that they
	are skipped when doing recursive searches of the in-memory config
	tree.

2013-07-09  castaglia <castaglia>

	* doc/howto/ECCN.html, doc/howto/index.html: Adding ECCN howto.

2013-07-05  castaglia <castaglia>

	* contrib/mod_sftp_pam.c, modules/mod_auth_pam.c: Fix possible minor
	memory leak with an error happens during PAM message processing.

2013-07-02  castaglia <castaglia>

	* tests/t/config/allowforeignaddress.t,
	tests/t/lib/ProFTPD/Tests/Config/AllowForeignAddress.pm,
	tests/tests.pl: Adding regression tests for site-to-site transfers
	(FXP) and the AllowForeignAddress directive.

2013-07-02  castaglia <castaglia>

	* doc/contrib/mod_ban.html: Improve the mod_ban docs by listing the
	type of ban (class/host/user) next to the BanOnEvent rules.

2013-07-02  castaglia <castaglia>

	* doc/howto/Stopping.html: HTML formatting (missed closing tag).

2013-07-01  castaglia <castaglia>

	* src/fsio.c: Quell compiler warning on Solaris.

2013-07-01  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/scp.c: Bug#3954 - scp downloads result in
	segfault.

2013-06-30  castaglia <castaglia>

	* contrib/mod_sftp/kex.c: We only need to check whether the client
	correctly guessed the key exchange algorithm if the client indicate
	that it has sent the first KEX packet (as a guess).  If not, then no
	need to write out possibly-confusing log messages.

2013-06-30  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Adding
	regression test for mod_wrap2's event + mod_exec, for emulating the
	"spawn" feature of tcpwrappers (Bug#3209).

2013-06-30  castaglia <castaglia>

	* src/inet.c: Defensive check.

2013-06-29  castaglia <castaglia>

	* modules/mod_xfer.c: Found a few more places in mod_xfer where the
	errno value was being stomped, rather than being preserved properly.

2013-06-29  castaglia <castaglia>

	* src/netio.c: More attempts to properly preserve the errno value,
	e.g. during polling.

2013-06-29  castaglia <castaglia>

	* modules/mod_core.c: Correcting a log message.

2013-06-29  castaglia <castaglia>

	* NEWS, contrib/mod_ldap.c: Bug#3951 - Null pointer dereference for
	mod_ldap logins when LDAPDefaultAuthScheme not configured.

2013-06-29  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: Updated spec with fixes from the
	Fedora maintainer.

2013-06-24  castaglia <castaglia>

	* doc/contrib/mod_ifsession.html: Formatting.

2013-06-24  castaglia <castaglia>

	* doc/contrib/mod_ifsession.html: Update mod_ifsession Usage section
	with mention of loading it last, when using it as a shared module.

2013-06-24  castaglia <castaglia>

	* src/str.c: Remove unused variable.

2013-06-23  castaglia <castaglia>

	* NEWS, modules/mod_delay.c: Bug#3858 - mod_delay allows too-large
	values, leading to client hang on authentication.

2013-06-22  castaglia <castaglia>

	* src/fsio.c: Refactor pr_fs_dircat() such that its use of sstrcat()
	will not scan the same buffer over and over to find end-of-string;
	we now advance the destination pointer manually to avoid such a
	thing.

2013-06-22  castaglia <castaglia>

	* tests/api/fsio.c: Add a unit test for the pr_fs_dircat() function;
	we're going to be refactoring it a bit.

2013-06-22  castaglia <castaglia>

	* lib/sstrncpy.c, tests/api/str.c: Fix the sstrncpy() implementation
	to do what is expected both when strlcpy(3) is present, and when it
	is not.  Update the API unit tests to match the changed sstrncpy()
	return value.

2013-06-22  castaglia <castaglia>

	* include/libsupp.h, lib/pwgrent.c, lib/sstrncpy.c, src/ftpdctl.c: 
	Change sstrcat() to return an int (denoting length) rather than
	pointer.  This will make it easier to concatenate strings without
	constantly rescanning for the end-of-string in the destination
	buffer.

2013-06-22  castaglia <castaglia>

	* src/str.c: Finding cases where we use sstrcat(), and improving
	them by moving the destination pointer along, rather than having
	sstrcat() scan for the end-of-string every time using the same
	pointer.  This should improvement performance a little.  It would be
	easier/nicer if sstrcat() returned the number of bytes copied; maybe
	I'll work on that.

2013-06-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Make the
	ExtendedLog tests pass properly by dealing with MacOSX-isms where
	needed.

2013-06-22  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: More work on FTP response codes for
	ExtendedLog for SFTP sessions (part of Bug#3948).

2013-06-21  castaglia <castaglia>

	* RELEASE_NOTES: Add note about LogFormat %s handling change for
	SFTP transfers.

2013-06-21  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#3948 - Support
	FTP response codes in ExtendedLog for SFTP data transfers.

2013-06-21  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#3949 -
	RNFR/RNTO not logged as expected for SFTP EXTENDED
	posix-rename@openssh.com requests.

2013-06-21  castaglia <castaglia>

	* RELEASE_NOTES, doc/modules/mod_log.html: Update docs for LogFormat
	%d/%D handling changes.

2013-06-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding
	regression tests for Bug#3950.

2013-06-21  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c, modules/mod_log.c: Bug#3950 - LogFormat
	%d/%D variables not resolved properly for directory listings.

2013-06-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Additional
	ExtendedLog regression tests for the %f (and %d) LogFormat variable,
	pertaining to directory listings such as MLSD.

2013-06-20  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#3947 -
	LogFormat %f variable not resolved properly for SFTP renames.

2013-06-20  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c, modules/mod_log.c: Bug#3946 - Null
	pointer dereference causes segfault when logging %{transfer-status},
	%{transfer-failure} LogFormat variables on EXIT.

2013-06-20  castaglia <castaglia>

	* doc/modules/mod_log.html: Minor nit: %{transfer-status} and
	%{transfer-failure} only pertain to *data* transfers; they do not
	pertain to e.g. RNFR/RNTO.

2013-06-20  castaglia <castaglia>

	* doc/modules/mod_core.html: Add missing description of
	MaxConnectionRate directive to the mod_core docs.

2013-06-17  castaglia <castaglia>

	* doc/modules/mod_cap.html: Mention support for "CAP_SETUID" in the
	CapabilitiesSet directive docs.

2013-06-17  castaglia <castaglia>

	* NEWS, modules/mod_cap.c: Bug#3945 - Spurious log messages at
	session close.

2013-06-15  castaglia <castaglia>

	* contrib/mod_wrap2_file.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Support use of
	the %U variable in mod_wrap2_file paths, for storing access rules in
	per-user locations that are not necessarily that user's home
	directory.

2013-06-14  castaglia <castaglia>

	* contrib/mod_snmp/mod_snmp.c: Fix the forged packet check in
	mod_snmp to check both address AND port, rather than just address.  Set the RLIMIT_NPROC resource limit in the agent process, after
	we've chrooted and dropped privs, such that the agent process cannot
	fork again.

2013-06-14  castaglia <castaglia>

	* include/version.h: Revving version for CVS.

2013-06-14  castaglia <castaglia>

	* ChangeLog: Updated ChangeLog.

2013-06-14  castaglia <castaglia>

	* NEWS: Updating NEWS with today's date for 1.3.5rc3 release.

2013-06-14  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
	1.3.5rc3 for release.

2013-06-14  castaglia <castaglia>

	* locale/files.txt: Updated files.txt to include new mod_snmp,
	mod_sftp files.

2013-06-14  castaglia <castaglia>

	* RELEASE_NOTES: Fleshed out release notes for 1.3.5rc3.

2013-06-14  castaglia <castaglia>

	* doc/howto/SQL.html: Adding section on using the SQL PrimaryKey
	directives to the howto.

2013-06-14  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Add descriptions for the
	SQLUserPrimaryKey, SQLGroupPrimaryKey directives added for Bug#3864.

2013-06-10  castaglia <castaglia>

	* doc/contrib/mod_sql_passwd.html: Update SQLPasswordPBKDF2 docs to
	mention use of non-SHA1 digests requires OpenSSL-1.0.0c and later.

2013-06-10  castaglia <castaglia>

	* contrib/mod_sql_passwd.c: Allow use of PBKDF2 passwords in
	mod_sql_passwd for OpenSSL versions older than 1.0.0c, as long as
	the configured PBKDF2 digest algorithm is SHA1.

2013-06-10  castaglia <castaglia>

	* doc/modules/mod_rlimit.html: Removed docs for now-obsolete
	RLimitProcesses directive.

2013-06-10  castaglia <castaglia>

	* NEWS, modules/mod_rlimit.c: Bug#3941 - RLimitProcesses causes
	problems with setuid/setreuid.  Remove the RLimitProcesses and setrlimit(RLIMIT_NPROC) code; it was
	causing more problems (due to setuid(2) tricks) than it solved.

2013-06-07  castaglia <castaglia>

	* RELEASE_NOTES, doc/contrib/mod_sql_passwd.html: Add documentation
	for the new PBKDF2 support.

2013-06-07  castaglia <castaglia>

	* NEWS, contrib/mod_sql_passwd.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Bug#3943 -
	Support for PBKDF2 passwords in mod_sql_passwd.

2013-06-06  castaglia <castaglia>

	* NEWS, contrib/mod_sftp_sql.c: Bug#3942 - mod_sftp_sql should
	support multiple keys concatenated together in a single column.

2013-06-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Adding
	regression test for Bug#3942.

2013-06-06  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Adding another mod_sftp FAQ.

2013-06-06  castaglia <castaglia>

	* contrib/mod_load/Makefile.in, contrib/mod_sftp/Makefile.in,
	contrib/mod_snmp/Makefile.in, contrib/mod_wrap2/Makefile.in: 
	Updating several contrib module Makefiles to clean up properly after
	themselves when doing a 'make clean'.

2013-06-06  castaglia <castaglia>

	* src/rlimit.c: If both current and max are NULL pointers, then
	return EINVAL; no need to proceed further.

2013-06-06  castaglia <castaglia>

	* contrib/mod_sftp/rfc4716.c: Comment nit; no functional change.

2013-06-06  castaglia <castaglia>

	* contrib/mod_load/Makefile.in: Try to bring the mod_load Makefile
	back up to spec, to properly clean out the .la, .lo files, and libs/
	directory.

2013-06-05  castaglia <castaglia>

	* modules/mod_dso.c: Handle a LoadModule module name with ".cpp"
	extension, in addition to ".c", for loading e.g. C++ modules.

2013-06-03  castaglia <castaglia>

	* contrib/mod_sftp/umac.c: Bug#3940 - Compiler warnings in mod_sftp.  Fixed -Wstrict-aliasing warnings in umac.c.

2013-05-31  castaglia <castaglia>

	* RELEASE_NOTES: Working on fleshing out release notes; still need
	to do more.

2013-05-28  castaglia <castaglia>

	* NEWS, modules/mod_ctrls.c, src/ctrls.c: Bug#3939 - Disable
	Controls for "ServerType inetd" servers.

2013-05-23  castaglia <castaglia>

	* doc/howto/Limit.html: Add section about using multiple <Limit
	LOGIN> sections to the Limit howto.

2013-05-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Limit/LOGIN.pm: Adding <Limit
	LOGIN> test showing what happens when multiple such sections appear
	in the same vhost config (answer: last one wins).

2013-05-17  castaglia <castaglia>

	* doc/howto/SQL.html: Add SQLNamedConnectInfo recipe to SQL howto.

2013-05-17  castaglia <castaglia>

	* doc/modules/mod_ctrls.html: Copy-pasto.

2013-05-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding regression test
	for LIST for relative symlinks where target path contains
	double-slashes (regression caused by fix for Bug#3719).

2013-05-16  castaglia <castaglia>

	* NEWS, RELEASE_NOTES: Mention addition of mod_snmp in release docs.

2013-05-15  castaglia <castaglia>

	* tests/t/etc/modules/mod_snmp/ssh_host_dsa_key,
	tests/t/etc/modules/mod_snmp/ssh_host_dsa_key.pub,
	tests/t/etc/modules/mod_snmp/ssh_host_rsa_key,
	tests/t/etc/modules/mod_snmp/ssh_host_rsa_key.pub,
	tests/t/etc/modules/mod_snmp/tls-ca-cert.pem,
	tests/t/etc/modules/mod_snmp/tls-server-cert.pem,
	tests/t/lib/ProFTPD/Tests/Modules/mod_snmp.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_snmp/ban.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_snmp/sftp.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_snmp/tls.pm,
	tests/t/modules/mod_snmp.t, tests/t/modules/mod_snmp/ban.t,
	tests/t/modules/mod_snmp/sftp.t, tests/t/modules/mod_snmp/tls.t,
	tests/tests.pl: Adding the mod_snmp testsuite.

2013-05-15  castaglia <castaglia>

	* doc/contrib/index.html, doc/contrib/mod_snmp.html: Adding mod_snmp
	documentation.

2013-05-15  castaglia <castaglia>

	* contrib/mod_snmp/Makefile.in, contrib/mod_snmp/PROFTPD-MIB.txt,
	contrib/mod_snmp/agentx.h, contrib/mod_snmp/asn1.c,
	contrib/mod_snmp/asn1.h, contrib/mod_snmp/config.guess,
	contrib/mod_snmp/config.sub, contrib/mod_snmp/configure,
	contrib/mod_snmp/configure.in,
	contrib/mod_snmp/contrib/opennms/proftpd.datacollection-config.xml,
	contrib/mod_snmp/contrib/opennms/proftpd.snmp-graph.properties,
	contrib/mod_snmp/db.c, contrib/mod_snmp/db.h,
	contrib/mod_snmp/install-sh, contrib/mod_snmp/mib.c,
	contrib/mod_snmp/mib.h, contrib/mod_snmp/mod_snmp.c,
	contrib/mod_snmp/mod_snmp.h.in, contrib/mod_snmp/msg.c,
	contrib/mod_snmp/msg.h, contrib/mod_snmp/notify.c,
	contrib/mod_snmp/notify.h, contrib/mod_snmp/packet.c,
	contrib/mod_snmp/packet.h, contrib/mod_snmp/pdu.c,
	contrib/mod_snmp/pdu.h, contrib/mod_snmp/smi.c,
	contrib/mod_snmp/smi.h, contrib/mod_snmp/stacktrace.c,
	contrib/mod_snmp/stacktrace.h, contrib/mod_snmp/uptime.c,
	contrib/mod_snmp/uptime.h: Adding mod_snmp to the contrib modules of
	the ProFTPD source distribution.

2013-05-15  castaglia <castaglia>

	* .cvsignore: Ignore any .git/ directories and .gitignore files
	which may show up.

2013-05-14  castaglia <castaglia>

	* src/auth.c: When caching the UID based on a name, use the name
	that's been retrieved from the source, rather than the lookup key
	name.  In the case of e.g.  SQL table lookups, the lookup key might
	be different from the returned official name.  We need to use the
	official name, since that is what would be used later for name-to-ID
	lookups.

2013-05-12  castaglia <castaglia>

	* doc/contrib/mod_wrap2_sql.html: Include indexes (for performance)
	in the example schema.

2013-05-09  castaglia <castaglia>

	* doc/howto/Memcache.html: Adding another memcache-related FAQ.

2013-05-09  castaglia <castaglia>

	* doc/howto/Memcache.html, doc/howto/index.html: Adding a howto for
	Memcache support in proftpd.

2013-05-09  castaglia <castaglia>

	* doc/howto/Logging.html: Add a wtmp log-related FAQ to the Logging
	howto.

2013-05-09  castaglia <castaglia>

	* doc/howto/Logging.html: No need to direct SystemLog to /dev/null
	to disable logging; simply setting "SystemLog none" is enough.

2013-05-09  castaglia <castaglia>

	* doc/modules/mod_dso.html: Adding mod_dso FAQ encountered on the
	proftp-user mailing list today.

2013-05-08  castaglia <castaglia>

	* NEWS, contrib/mod_ldap.c: Bug#3937 - Segfault when retrieving SSH
	public key from LDAP directory.

2013-05-07  castaglia <castaglia>

	* doc/modules/mod_memcache.html: Mention that the MemcacheServers
	directive handles Unix domain socket paths as well (per Bug#3931).

2013-05-07  castaglia <castaglia>

	* contrib/mod_ban.c: Typo which broke the BanCache directive's
	memcache functionality.

2013-05-06  castaglia <castaglia>

	* NEWS, modules/mod_ctrls.c: Bug#3927 - Default ControlsSocket
	created despite custom ControlsSocket path.

2013-05-06  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Fix comment from bad patching.

2013-05-06  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/scp.c: Bug#3935 - scp download of
	nonexistent file results in client hang.

2013-05-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	test for Bug#3935, or at least one of its manifestations.  Also
	cleaned up some minor styling.

2013-05-03  castaglia <castaglia>

	* NEWS, modules/mod_core.c, src/dirtree.c: Bug#3934 -
	HideUser/HideGroup do not work as expected for virtual users.

2013-05-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm,
	tests/t/lib/ProFTPD/Tests/Config/HideUser.pm: Adding regression
	tests for Bug#3934 (HideUser/HideGroup not working for virtual
	users).

2013-04-30  castaglia <castaglia>

	* NEWS, contrib/mod_sql_mysql.c: Bug#3932 - SQLAuthType Backend
	returns "password mismatch" for MySQL PASSWORD().

2013-04-30  castaglia <castaglia>

	* NEWS, modules/mod_auth_pam.c: Bug#3929 - pam_session_close()
	requires root privs on some platforms.

2013-04-23  castaglia <castaglia>

	* contrib/ftpasswd, contrib/ftpquota: Use env in the shebang line,
	rather than assuming the location of perl to use.

2013-04-23  castaglia <castaglia>

	* src/proftpd.8.in: Incorporating doc patch from FreeBSD ports tree.

2013-04-23  castaglia <castaglia>

	* src/wtmp.c: Incorporating patch from FreeBSD ports tree.

2013-04-23  castaglia <castaglia>

	* src/var.c: Removed unnecessary typecast.

2013-04-23  castaglia <castaglia>

	* src/auth.c: Quell compiler warnings on some platforms/compilers
	about signature mismatches via typecasting.

2013-04-16  castaglia <castaglia>

	* modules/mod_delay.c, src/inet.c, src/netaddr.c: If getaddrinfo(3)
	fails for a new connection, make sure the connection fails quickly,
	rather than proceeding further (and getting into a state where it is
	never terminated).

2013-04-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: SFTP regression
	test for HideFiles and symlinks (Bug#3924).

2013-04-16  castaglia <castaglia>

	* src/dirtree.c: Minor tweak to dir_hide_file(), needed for Bug#3924
	(and SFTP directory listings, specifically).

2013-04-16  castaglia <castaglia>

	* NEWS, modules/mod_facts.c, modules/mod_ls.c, src/dirtree.c: 
	Bug#3924 - HideFiles does not filter symlinks.

2013-04-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Adding regression
	tests for Bug#3924.

2013-04-15  castaglia <castaglia>

	* contrib/mod_sftp/fxp.h: Missing checkin for Bug#3926; this fixes
	the CVS build.

2013-04-12  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Fix up the SFTPAuthorizedUserKeys
	directive description.

2013-04-11  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Adding FAQ to mod_sftp docs about
	localised directory listings, from Bug#3925.

2013-04-11  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#3925 - SFTP directory listings are
	sensitive to locale environment variables.

2013-04-11  castaglia <castaglia>

	* RELEASE_NOTES, doc/contrib/mod_sftp.html: Update mod_sftp docs
	with mention of support for the fsync extension.

2013-04-11  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c: 
	Bug#3926 - Support OpenSSH fsync SFTP extension.

2013-04-10  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Fix the length of the strings compared for
	the OpenSSH extensions in SFTP EXTENDED requests.

2013-04-05  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Collect all
	the common code for building the SQLite db into a function.  Add
	test showing that just changing the table name for
	SQLUserInfo/SQLGroupInfo directives works as expected.

2013-04-03  castaglia <castaglia>

	* modules/mod_rlimit.c: Correct the bug number in the comment.

2013-04-03  castaglia <castaglia>

	* modules/mod_cap.c: Slightly better error message when setreuid(2)
	fails.

2013-04-03  castaglia <castaglia>

	* NEWS, modules/mod_rlimit.c: Bug#3923 - mod_cap does not revoke
	root privileges properly for SFTP connections.

2013-04-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm: Adding regression
	test for Bug#3923.

2013-03-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Adding more
	regression tests for <Directory> + <Limit> configs.

2013-03-29  castaglia <castaglia>

	* configure: Updated configure.

2013-03-29  castaglia <castaglia>

	* config.h.in, configure.in, contrib/mod_sql_mysql.c: Improve on the
	detection of MySQL's "scrambled password" API (for implementing the
	"Backend" SQLAuthType for MySQL servers), based on a patch from
	Bernd Lommerzheim.

2013-03-29  castaglia <castaglia>

	* contrib/mod_sftp/auth-kbdint.c: Include explanatory comment about
	the errno value and Bug#3921.

2013-03-28  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/auth-kbdint.c: Bug#3921 - Single failed
	keyboard-interactive login attempt causes SSH connection to close
	prematurely.

2013-03-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_pam.pm,
	tests/t/modules/mod_sftp_pam.t, tests/tests.pl: Start working on
	regression tests for the mod_sftp_pam module, in light of Bug#3921.

2013-03-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	test for the umac-64@openssh.com support added for Bug#3920.

2013-03-28  castaglia <castaglia>

	* contrib/mod_sftp/mac.c: Typo.  Sigh.

2013-03-28  castaglia <castaglia>

	* contrib/mod_sftp/mac.c: Properly free up the allocated UMAC
	context objects when e.g. unloading mod_sftp (part of Bug#3920).

2013-03-28  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: Need to include the mac.h header now,
	to avoid compiler warnings about unknown functions.

2013-03-28  castaglia <castaglia>

	* contrib/mod_sftp/msg.c, contrib/mod_sftp/msg.h: Forgot to commit
	these changes for Bug#3920.

2013-03-28  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Update the mod_sftp docs to reflect
	supporting umac-64@openssh.com.

2013-03-28  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/Makefile.in, contrib/mod_sftp/crypto.c,
	contrib/mod_sftp/fxp.c, contrib/mod_sftp/mac.c,
	contrib/mod_sftp/mac.h, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/umac.c, contrib/mod_sftp/umac.h: Bug#3920 - Support
	umac-64@openssh.com digest for mod_sftp.

2013-03-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Limit/LOGIN.pm: Adding regression
	test showing that proftpd correctly handles group names that contain
	backslashes in them.

2013-03-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Clean up the
	SQLite script once we're done with it.

2013-03-16  castaglia <castaglia>

	* doc/modules/mod_log.html: Bug#3864 added support for (among other
	things) a %g LogFormat variable; updated the LogFormat docs
	accordingly.

2013-03-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
	regression tests for the SQL PrimaryKey directives added for
	Bug#3864.

2013-03-16  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sql.c, modules/mod_log.c: 
	Bug#3864 - Support SQL query to lookup/use primary key for logged-in
	user/group.

2013-03-15  castaglia <castaglia>

	* contrib/mod_sftp/crypto.c: Quell compiler warnings (Bug#3919)
	caused by changes in callback signatures between OpenSSL-0.9.x and
	OpenSSL-1.0.x.  Since the latter now has ABI compatibility rules, it
	will become more widespread, and thus we will change our callbacks
	to match the newer signatures.  This will cause compiler warnings
	about mismatched signatures for older OpenSSL installations, but
	that is the price of keeping up to date.

2013-03-15  castaglia <castaglia>

	* doc/howto/KeepAlives.html: Minor grammar fixes.

2013-03-14  castaglia <castaglia>

	* contrib/mod_sftp/keys.c: Make the SFTPLog a little less spammy by
	moving some of the logged messages (e.g. about which paths are used
	as host keys) into trace logging.

2013-03-14  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/interop.c, contrib/mod_sftp/mod_sftp.c,
	src/regexp.c: Bug#3918 - mod_sftp segfault after SIGHUP when
	evaluating client banner.

2013-03-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	test for Bug#3918.

2013-03-13  castaglia <castaglia>

	* doc/modules/mod_xfer.html: Updating DeleteAbortedStores doc per
	Bug#3917.

2013-03-13  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c, modules/mod_xfer.c: Bug#3917 - Make
	DeleteAbortedStores on by default when HiddenStores enabled.

2013-03-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm: Adding
	regression test for Bug#3917.

2013-03-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Adding
	another regression test for Bug#3915.

2013-03-12  castaglia <castaglia>

	* doc/howto/TLS.html: Include the error message frequently seen on
	the client end of things in the FAQ about NoSessionReuseRequired.

2013-03-12  castaglia <castaglia>

	* doc/howto/TLS.html: Add TLS FAQ about data transfers and the
	NoSessionReuseRequired TLSOption.

2013-03-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Adding
	regression test for Bug#3915.

2013-03-08  castaglia <castaglia>

	* NEWS, src/fsio.c: Bug#3914 - 1.3.5rc2 fails to build on Solaris
	10.

2013-03-08  castaglia <castaglia>

	* contrib/mod_sftp/msg.c: Quell compiler (and static code analysi)
	warnings (Bu#3912).

2013-03-08  castaglia <castaglia>

	* modules/mod_auth_unix.c: Handle potential NULL return value from
	getpwnam(3) better.  Stylistic nits.

2013-03-08  castaglia <castaglia>

	* utils/ftptop.c: Replace strcat(3) with snprintf(3).  Not as much
	of a concern for overflows given that ftptop is not a setuid
	process, but still, it's a good habit to get into.

2013-03-08  castaglia <castaglia>

	* contrib/mod_sftp/packet.c: Don't fire the 'ssh2.netio-write' event
	until after we've determined that the socket is writable.  And if
	the socket is NOT writable, then clear the iovec array before
	returning.

2013-03-08  castaglia <castaglia>

	* contrib/mod_sql_mysql.c: Add comment about known compiler warning
	about "implicit function declaration" (Bug#3908).

2013-03-08  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#3910 - Clang's scan-build warns on
	set[u][g]id unchecked return value.

2013-03-07  castaglia <castaglia>

	* configure: Updated configure.

2013-03-07  castaglia <castaglia>

	* configure.in: Enable a few more gcc warning flags, if supported,
	when --enable-devel is used.

2013-03-07  castaglia <castaglia>

	* contrib/mod_log_forensic.c: Quell more compiler warnings
	(Bug#3908).

2013-03-07  castaglia <castaglia>

	* contrib/mod_sql_mysql.c: Trying to quell compiler warnings
	(Bug#3908).

2013-03-07  castaglia <castaglia>

	* contrib/mod_log_forensic.c, src/fsio.c: Quell compiler warnings
	(Bug#3908).

2013-03-06  castaglia <castaglia>

	* include/version.h: Bump version for CVS.

2013-03-06  castaglia <castaglia>

	* ChangeLog: Updated ChangeLog.

2013-03-06  castaglia <castaglia>

	* locale/files.txt: Updated list of files for localization.

2013-03-06  castaglia <castaglia>

	* NEWS: Update NEWS with release date.

2013-03-06  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing for
	release of proftpd-1.3.5rc2.

2013-03-06  castaglia <castaglia>

	* contrib/mod_log_forensic.c: Quell compiler warning.

2013-03-06  castaglia <castaglia>

	* RELEASE_NOTES: Updating release notes for proftpd-1.3.5rc2.

2013-03-06  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Adding description of the new
	TLSUserName directive to the mod_tls docs.

2013-03-06  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Document that TLSSessionCache can be
	configured with a parameter of "off".

2013-03-06  castaglia <castaglia>

	* doc/modules/mod_xfer.html: Mention the optional suffix parameter
	in the HiddenStores synopsis.

2013-03-06  castaglia <castaglia>

	* doc/modules/mod_auth_file.html: Adding discussion of the stricter
	permission checks now done by mod_auth_file.

2013-03-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Adding regression
	test showing conversion from ISO-8859-1 client-side charset to UTF-8
	server-side charset.

2013-03-01  castaglia <castaglia>

	* RELEASE_NOTES, doc/contrib/mod_ban.html: Updating docs for new
	TLSHandshake BanOnEvent rule.

2013-03-01  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_ban.c, contrib/mod_tls.c: 
	Bug#3906 - Support ban rule for clients which perform SSL/TLS
	handshakes too frequently.

2013-03-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Adding regression
	test for the new BanOnEvent TLSHandshake rule (Bug#3906).

2013-03-01  castaglia <castaglia>

	* contrib/mod_log_forensic.c: Print out mod_unique_id's UNIQUE_ID
	value, if present, in the ForensicLogFile.

2013-02-28  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3900 - ProFTPD terminating
	(signal 11) on some sftp connections.

2013-02-27  castaglia <castaglia>

	* src/mkhome.c: And, for site which really need it, generate
	before/after events for when a skeleton directory is configured for
	CreateHome.

2013-02-27  castaglia <castaglia>

	* src/mkhome.c: Only fire the 'core.created-home' event IFF the home
	directory was actually created (versus already existing).

2013-02-27  castaglia <castaglia>

	* src/fsio.c: Slight performance in statcache check by checking path
	lengths first, before calling strncmp(3).

2013-02-27  castaglia <castaglia>

	* RELEASE_NOTES: Adding more release notes to myself, to flesh out
	today/tomorrow.

2013-02-27  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Checking in the proper patch/fix for
	Bug#3904.

2013-02-27  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/scp.c: Bug#3904 - scp downloads using glob
	pattern sometimes fails.

2013-02-27  castaglia <castaglia>

	* doc/contrib/ftpmail.html: Updated ftpmail docs, per Bug#3709.

2013-02-27  castaglia <castaglia>

	* NEWS, contrib/ftpmail: Bug#3709 - Support download-triggered
	emails in the ftpmail script.

2013-02-27  castaglia <castaglia>

	* contrib/mod_log_forensic.c: Rather than using sstrncpy() (which
	can examine every byte looking for NUL), use memcpy(3), since we
	already know how long the buffer to be copied is.  Hopefully this is
	faster, and reduces CPU load on logging-busy servers (e.g. lots of
	TraceLog messages being generated/copied by mod_log_forensic).

2013-02-27  castaglia <castaglia>

	* src/mkhome.c: Don't generate the 'core.created-home' event until
	after any possible CreateHome skeleton directory has been copied.

2013-02-26  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Typo.

2013-02-26  castaglia <castaglia>

	* doc/contrib/mod_sftp_pam.html: Document the new SFTPPAMOptions
	value, per Bug#3905.

2013-02-26  castaglia <castaglia>

	* NEWS, contrib/mod_sftp_pam.c, modules/mod_auth_pam.c: Bug#3905 -
	Handle the Linux-specific PAM_RADIO_TYPE message properly.

2013-02-26  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix the handling of
	exit status values from external commands (e.g. scp).

2013-02-25  castaglia <castaglia>

	* contrib/mod_log_forensic.c: Deal with Bug#3903 in mod_log_forensic
	by have a separate pool for each log message object in the ring (and
	thus each message string is allocated out of its own pool).

2013-02-25  castaglia <castaglia>

	* contrib/mod_sftp/packet.c: Use a more conservative approach, and
	use memmove(3) instead of memcpy(3).

2013-02-25  castaglia <castaglia>

	* src/log.c: Better handling of return value from
	pr_log_event_listening().

2013-02-25  castaglia <castaglia>

	* src/trace.c: Avoid calling strlen(3) unnecessarily on TraceLog
	messages.

2013-02-24  jwm <jwm>

	* contrib/mod_ldap.c: git 07dd890968: release mod_ldap 2.9.3

2013-02-24  jwm <jwm>

	* contrib/mod_ldap.c: git 577776b579: don't emit the bind DN
	password in debug output on successful bind (Bug #3885)

2013-02-24  jwm <jwm>

	* contrib/mod_ldap.c: git b77b43e314: fail when someone's left the
	on/off flags when moving to LDAP{Users,Groups}

2013-02-24  castaglia <castaglia>

	* NEWS, include/log.h, src/event.c, src/log.c: Bug#3903 - With
	mod_log_forensic enabled, SSH connections fail randomly.

2013-02-24  castaglia <castaglia>

	* modules/mod_auth_file.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm: Per Bug#3892,
	have mod_auth_file check for symlinks; if the configured Auth file
	path is a symlink, make sure that the parent directory of the
	symlink is not world-writable, as well as the parent directory of
	the target path not being world-writable.

2013-02-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Give the server time to
	start up, and write out the PidFile, before checking for the
	PidFile.

2013-02-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding more
	different configurations/environments to the regression tests for
	Bug#3904.

2013-02-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	test using scp(1) to download a glob pattern.

2013-02-22  castaglia <castaglia>

	* src/trace.c: Avoid needless (and wasteful) strlen(3) calls by
	tracking the length ourselves.

2013-02-22  castaglia <castaglia>

	* modules/mod_facts.c: Attempt to address Bug#3900 by having the
	mod_facts module's handling of a LOG_CMD_ERR MLSD command be ignored
	for SFTP connections.

2013-02-22  castaglia <castaglia>

	* src/trace.c: Bug#3902 - mod_log_forensic seems to send trace
	channels to trace log even if level is 0.

2013-02-22  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Populate the cmd_class member for the fake
	cmd_recs generated when aborting unclosed handles in mod_sftp.

2013-02-22  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Do not re-allocate a new tmp_pool for the
	internal cmd_recs in mod_sftp; a tmp_pool is already allocated by
	pr_cmd_alloc().

2013-02-21  castaglia <castaglia>

	* doc/contrib/mod_log_forensic.html: Document the additional
	ForensicLogFile metadata headers.

2013-02-21  castaglia <castaglia>

	* contrib/mod_log_forensic.c: Add an "Elapsed:" header to the
	metadata, containing the elapsed session time (in millisecs).  Also
	fixes up a few other nits (like correctly setting the engine
	variable to 'false' when we need to disable the module due to bad
	config).

2013-02-21  castaglia <castaglia>

	* doc/modules/mod_rlimit.html: Fleshing out the rest of the
	mod_rlimit documentation.

2013-02-21  castaglia <castaglia>

	* doc/modules/index.html, doc/modules/mod_rlimit.html: Adding
	documentation for the new mod_rlimit module.

2013-02-21  castaglia <castaglia>

	* modules/mod_rlimit.c: Adding an RLimitProcesses directive, to
	disable the NPROC limit if needed.

2013-02-21  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: I suspect that this is the cause of
	Bug#3900.  We were allocating a buffer for the generated handle
	which was too short (8 bytes), and then proceeding to write into the
	buffer as if it was the larger size that we expected (16 bytes).

2013-02-21  castaglia <castaglia>

	* contrib/mod_log_forensic.c: Fixing the generation of
	ForensicLogFile data in the face of unclean closes, e.g. when
	dealing with segfaults.

2013-02-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Tweak to make use of
	AuthUserFiles in the testsuite work as expected.

2013-02-20  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3899 - Support
	authentication of users based on SSL/TLS client certificate.

2013-02-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
	test for Bug#3899 (TLSUserName directive).

2013-02-20  castaglia <castaglia>

	* contrib/mod_ifsession.c: Typo in comment; no functional change.

2013-02-20  castaglia <castaglia>

	* contrib/mod_ifsession.c: More fun with deferred <Directory> path
	resolution in mod_ifsession, for Bug#3881.

2013-02-20  castaglia <castaglia>

	* contrib/mod_ifsession.c: More work (and hopefully progress) on
	Bug#3881.  Now the complications on the user's site seem to be
	related to the use of symlinks.

2013-02-20  castaglia <castaglia>

	* NEWS, src/parser.c: Bug#3896 - Warn when world-writable config
	files are used.

2013-02-20  castaglia <castaglia>

	* src/dirtree.c: Re-enable the clearing of the CF_DEFER flag, to
	prevent repetitive needless processing of <Directory> paths.

2013-02-20  castaglia <castaglia>

	* src/parser.c: Avoid unnecessary strlen(3) calls when parsing
	configuration.

2013-02-20  castaglia <castaglia>

	* src/fsio.c: Stylistic nits; no functional change.

2013-02-20  castaglia <castaglia>

	* contrib/mod_ifsession.c: More tweaks needed for Bug#3881.

2013-02-19  castaglia <castaglia>

	* src/dirtree.c: Do NOT clear the CF_DEFER flag from <Directory>
	sections; we may need to re-try resolution later (e.g. for
	<Directory> sections added via mod_ifsession).

2013-02-19  castaglia <castaglia>

	* src/dirtree.c: Add some trace logging into the resolution of
	deferred-path <Directory> sections.

2013-02-19  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3897 - mod_sftp does not handle
	a REALPATH request properly for SFTP protocol version 6.

2013-02-19  castaglia <castaglia>

	* contrib/mod_ifsession.c: Check that the configured DisplayLogin
	file is not a directory in mod_ifsession, too.

2013-02-19  castaglia <castaglia>

	* tests/api/pool.c: Adding pool API test, commented out for now.
	There is an issue with regard to pool size with
	larger-than-pool-size allocations out of the pool, it seems.

2013-02-17  jwm <jwm>

	* doc/Configuration.html: whee up-to-date configuration docs for the
	first time since 2007

2013-02-17  jwm <jwm>

	* tests/tests.pl: fix syntax error

2013-02-16  castaglia <castaglia>

	* src/dirtree.c: One more tiny tweak; might help Bug#3881.

2013-02-15  castaglia <castaglia>

	* modules/mod_core.c, modules/mod_ident.c, modules/mod_ls.c,
	modules/mod_xfer.c: Switch the core modules to start using the new
	PR_IS*() character type detection macros.

2013-02-15  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c, contrib/mod_exec.c,
	contrib/mod_ifversion.c, contrib/mod_radius.c,
	contrib/mod_rewrite.c, contrib/mod_sftp/interop.c,
	contrib/mod_sftp/packet.c, contrib/mod_sftp/scp.c,
	contrib/mod_sql.c, contrib/mod_tls.c, contrib/mod_wrap2/mod_wrap2.c: 
	Start using the new PR_IS*() macros to guard the ctype(3) character
	detection checks.

2013-02-15  castaglia <castaglia>

	* src/auth.c, src/ctrls.c, src/fsio.c, src/main.c, src/netacl.c,
	src/netaddr.c, src/parser.c, src/str.c, src/support.c,
	src/xferlog.c, utils/ftpshut.c, utils/misc.c: Start using the new
	PR_IS*() macros for character type detection/checking.

2013-02-15  castaglia <castaglia>

	* include/ascii.h, include/conf.h, utils/utils.h: Define PR_IS*
	macro wrappers around the ctype(3) checks, so that isascii(3) is
	always checked first, before using the other ctype(3) check on the
	given character.

2013-02-15  castaglia <castaglia>

	* contrib/mod_ifsession.c: Fix compiler warning (and logged
	message).

2013-02-15  castaglia <castaglia>

	* contrib/mod_ifsession.c, include/dirtree.h, modules/mod_core.c,
	src/dirtree.c: The previous change (additional work for Bug#3881)
	changed the signature of the add_config() and add_config_set()
	functions.  To avoid possible API breakage, this change creates new
	pr_config_add() and pr_config_add_set() functions (which take the
	new flags argument), and provides backward-compatible add_config()
	and add_config_set() wrappers.

2013-02-15  castaglia <castaglia>

	* contrib/mod_ifsession.c, include/dirtree.h, modules/mod_core.c,
	src/dirtree.c: Additional work needed for Bug#3881.  Specifically,
	when merging <Directory> sections in, mod_ifsession needs to add the
	<Directory> config_rec to the *head* of the set, rather than the
	*tail*.  When parsing the config file without mod_ifsession,
	<Directory> sections are added to the set head (i.e. last
	<Directory> parsed appears first in the set).  With this, mod_ifsession's merging in of <Directory> sections now
	more closely matches the parser behavior/ordering.

2013-02-15  castaglia <castaglia>

	* src/dirtree.c: Stylistic cleanup.

2013-02-15  castaglia <castaglia>

	* modules/mod_ls.c, src/netaddr.c: Use the isascii(3) test prior to
	checking with isalnum(3), to ensure that the isalnum(3) input really
	is an ASCII character.

2013-02-15  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm: Adding
	regression test for mod_quotatab_file, using quotatab files created
	via ftpquota, and using zero-byte download limits.

2013-02-14  castaglia <castaglia>

	* modules/mod_xfer.c: Removing now-unnecessary trace logging; I
	think the fix for Bug#3874 has been verified.

2013-02-14  castaglia <castaglia>

	* modules/mod_xfer.c: More trace logging for investigating Bug#3874.

2013-02-14  castaglia <castaglia>

	* modules/mod_xfer.c: More debug trace logging, trying to determine
	why the fix for Bug#3874 isn't working as expected.

2013-02-14  castaglia <castaglia>

	* modules/mod_xfer.c: Log if there's an error adding the
	HiddenStores-path-is-on-NFS node.

2013-02-14  castaglia <castaglia>

	* contrib/mod_ban.c, contrib/mod_rewrite.c, contrib/mod_shaper.c,
	contrib/mod_tls_shmcache.c, contrib/mod_wrap.c,
	contrib/mod_wrap2_file.c: Catch more cases where the expected paths
	to files might inadvertently be paths to directories.

2013-02-14  castaglia <castaglia>

	* modules/mod_core.c: Check for a directory when opening a
	configured DisplayQuit file.

2013-02-14  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_delay.c, modules/mod_xfer.c: 
	Adding more checks for directories in places where we expect to find
	files.

2013-02-14  castaglia <castaglia>

	* contrib/mod_sftp/auth.c, contrib/mod_sftp/rfc4716.c: Handle cases
	in mod_sftp where the files to be opened might inadvertently be
	directories.

2013-02-14  castaglia <castaglia>

	* src/display.c: Make sure that we don't open Display files that are
	directories.

2013-02-14  castaglia <castaglia>

	* src/parser.c: Don't forget to close the file handle.

2013-02-14  castaglia <castaglia>

	* modules/mod_auth_file.c: Make sure that the configure
	AuthUserFile/AuthGroupFile paths are not directories.

2013-02-14  castaglia <castaglia>

	* src/parser.c: Check whether the given config file is a directory;
	if so, error out.

2013-02-14  castaglia <castaglia>

	* modules/mod_auth_file.c: Set the close-on-exec flag for the
	AuthUserFile/AuthGroupFile fds.

2013-02-14  castaglia <castaglia>

	* doc/contrib/mod_quotatab_file.html: Mention the fact that <= 0
	values for files/bytes limits/tallies are handled as "unlimited" in
	the mod_quotatab_file docs.

2013-02-14  castaglia <castaglia>

	* contrib/ftpquota: If users specify zero (or less) values for any
	bytes/files value, ftpquota now emits a notice message indicating
	that such values mean "unlimited".

2013-02-14  castaglia <castaglia>

	* contrib/ftpquota: Make sure that ftpquota shows "unlimited" for
	values set to zero (or lower).

2013-02-13  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#3895 - Missing TransferLog entry
	under some out-of-space conditions.

2013-02-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Regression test
	for Bug#3895; requires the mod_enospc module.

2013-02-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Adding regression test
	for MKD, making sure that SGID bits are propagated properly for
	newly-created directories (see Bug#3841).

2013-02-12  castaglia <castaglia>

	* src/fsio.c: Additional fix for Bug#3841: make sure the
	pr_fsio_smkdir() function correctly propagates the SUID/SGID bits
	from the parent directory to the created directory.

2013-02-12  castaglia <castaglia>

	* contrib/mod_sftp/packet.c: When we try to reset the TimeoutIdle
	timer, the timers may be in the process of being handled.  Thus we
	need to handle the EINTR properly.

2013-02-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Add another
	TransferLog regression test, based on uploading to /dev/full and
	making sure that a TransferLog entry for the aborted upload is
	recorded.

2013-02-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Fix one mod_exec
	test such that, if the expected file is not present, we properly
	capture the exception thrown in the testcase-specific log.

2013-02-08  castaglia <castaglia>

	* contrib/mod_exec.c: Use an int, rather than an unsigned char, for
	the ExecEngine value.  It's easier that way, and it's becoming the
	convention for all *Engine values.

2013-02-08  castaglia <castaglia>

	* modules/mod_rlimit.c: Make sure that mod_rlimit does not set
	RLIMIT_NPROC if the mod_exec module is loaded and enabled for this
	<VirtualHost>.

2013-02-08  castaglia <castaglia>

	* configure: Used wrong version of autoconf to generate previous
	configure script.

2013-02-08  castaglia <castaglia>

	* configure: Updated configure.

2013-02-08  castaglia <castaglia>

	* RELEASE_NOTES: Mention the appearance of mod_rlimit in the release
	notes.

2013-02-08  castaglia <castaglia>

	* configure.in, modules/mod_core.c, modules/mod_rlimit.c,
	src/main.c: Refactor the RLimit* code out of mod_core.c, and out of
	src/main.c, into its own module: mod_rlimit.  This module will be
	compiled in by default, and will try to set sensible resource limits
	for new sessions (e.g. RLIMIT_NPROC).

2013-02-08  castaglia <castaglia>

	* src/dirtree.c: Add some trace logging for when we check
	AllowFilter/DenyFilter against the arguments for specific commands.

2013-02-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/AllowFilter.pm: Explicitly
	specify the Order directive, to ensure that the <Limit> sections are
	handled as expected.

2013-02-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/RLimitOpenFiles.pm: More tests
	for minimal RLimitOpenFiles settings.

2013-02-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/RLimitCPU.pm: Adding more
	RLimitCPU tests, ensuring the configured CPU resource limits are
	being enforced.

2013-02-08  castaglia <castaglia>

	* src/trace.c: Faster way to check for an empty string, without
	calling strlen(3).

2013-02-08  castaglia <castaglia>

	* modules/mod_core.c, src/trace.c: Better handling of typo'd Trace
	directive values (e.g. "directory:", with no level number).

2013-02-07  castaglia <castaglia>

	* contrib/mod_tls.c, include/inet.h, src/inet.c: For control
	connections, TCP_NODELAY is enabled by default.  For data
	connections, TCP_NODELAY is *disabled* by default (since we want to
	optimize for full packets for data transmission).  However,
	disabling TCP_NODELAY may hurt TLS handshakes, which are full of
	many small packets going back and forth.  With this tweak, then, Nagling is turned off (i.e. TCP_NODELAY is
	enabled) for performing a TLS handshake for a data connection, for
	the duration of the handshake.

2013-02-07  castaglia <castaglia>

	* include/options.h: Tune the default listen(2) backlog higher.

2013-02-06  castaglia <castaglia>

	* NEWS, utils/ftptop.c: Bug#3894 - ftptop doesn't work with
	--enable-nls.

2013-02-06  castaglia <castaglia>

	* tests/t/config/rlimitcpu.t, tests/t/config/rlimitopenfiles.t,
	tests/t/lib/ProFTPD/Tests/Config/RLimitCPU.pm,
	tests/t/lib/ProFTPD/Tests/Config/RLimitOpenFiles.pm, tests/tests.pl: 
	Adding regression tests for the RLimitCPU and RLimitOpenFiles
	directives.

2013-02-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/RLimitMemory.pm: Update
	RLimitMemory tests to use testcase-specific logging.  Added test for
	using the 'daemon' setting.

2013-02-06  castaglia <castaglia>

	* include/rlimit.h, modules/mod_core.c, src/main.c, src/rlimit.c: 
	Next part of the resource limit refactoring: update the code to use
	the new pr_rlimit_* functions.

2013-02-06  castaglia <castaglia>

	* include/conf.h: Pull in the new rlimit.h header.

2013-02-06  castaglia <castaglia>

	* include/rlimit.h, src/rlimit.c: Make sure we don't lose
	functionality by omitting use of RLIMIT_VMEM (if possible) as a
	fallback for memory resource limits.

2013-02-06  castaglia <castaglia>

	* Make.rules.in, include/rlimit.h, src/rlimit.c: Refactoring the
	resource limit code into a separate API, so that it can be easily
	called/used by other portions of the code (e.g. other modules).

2013-02-06  castaglia <castaglia>

	* contrib/ftpasswd, tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm: 
	Update the ftpasswd script so that it sets permissions on the
	created AuthUserFile/AuthGroupFile such that mod_auth_file, in light
	of the more strict checks added for Bug#3892, will still accept the
	ftpasswd-generated files.

2013-02-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Properly
	delete log from successful SQLLogOnEvent test.

2013-02-06  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#3893 - Add
	SQLLogOnEvent directive, for performing SQL query on configurable
	event.

2013-02-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Checking in
	test for new SQLLogOnEvent functionality (Bug#3893).

2013-02-05  castaglia <castaglia>

	* doc/modules/mod_auth_file.html: Mention the new strict permission
	checks on the AuthUserFile and AuthGroupFile in the mod_auth_file
	docs.

2013-02-05  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm: Adding
	regression tests for Bug#3892.

2013-02-05  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, modules/mod_auth_file.c: Bug#3892 -
	mod_auth_file should have strict permission checks of configured
	files.

2013-02-04  castaglia <castaglia>

	* doc/howto/Logging.html: Add logging FAQ for how to disable all
	logging for proftpd.

2013-02-04  castaglia <castaglia>

	* src/ctrls.c: Skip any zero-length control request arguments.

2013-02-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: When generating
	AuthUserFile and AuthGroupFiles for the unit tests, make sure the
	generated files have stricter permissions on them.

2013-02-04  castaglia <castaglia>

	* include/ctrls.h, src/ctrls.c: Avoid non-printable characters in
	ftpdctl requests.

2013-02-04  castaglia <castaglia>

	* src/ctrls.c: Add max length limit to control action request
	argument.  Fix caching/propagating of errno value.  Fix stylistic
	nits.

2013-02-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Various tests for
	configurations related to Bug#3753.

2013-02-04  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Updating some of the mapping between
	FTP command and SFTP request, with regard to <Limit> sections, per
	Bug#3753.

2013-02-04  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3753 - Support SFTP request
	names in <Limit> sections better.

2013-02-03  castaglia <castaglia>

	* src/dirtree.c: Stylistic nit; no functional change.

2013-02-03  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Add mention of <Limit WRITE> applying
	to WRITE SFTP request (of course).

2013-02-03  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Update mod_tls docs in light of
	TLSProtocol changes for Bug#3891.

2013-02-03  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3891 - Allow
	TLSProtocol directive in <VirtualHost> and <Global> sections.

2013-02-03  castaglia <castaglia>

	* src/scoreboard.c: Fix up the trace-level log messages related to
	scoreboard locking.

2013-02-02  castaglia <castaglia>

	* src/log.c: Fix compiler error (i.e. programmer error).

2013-02-02  castaglia <castaglia>

	* modules/mod_facts.c, modules/mod_ls.c, src/data.c: Additional
	tweaks needed for Bug#3819 (and for cleaning out development
	logging).

2013-01-31  castaglia <castaglia>

	* RELEASE_NOTES: Document the log format change in the release
	notes.

2013-01-31  castaglia <castaglia>

	* src/log.c: Now SystemLog (console and file), and all *Log files
	(via pr_log_writefile()) use ISO-8601 timestamp format.

2013-01-31  castaglia <castaglia>

	* include/trace.h, src/trace.c: Switch TraceLog to use ISO-8601
	timestamps.  Other logs soon to follow suit.

2013-01-31  castaglia <castaglia>

	* src/dirtree.c: Minor bugfixes when resolving deferred directories:
	handle cases where a leading '~' means just that, and clear the
	CF_DEFER flag once we're done resolving that directory.

2013-01-31  castaglia <castaglia>

	* doc/modules/mod_log.html: Updating LogFormat docs with
	descriptions of new %{iso8601}, %{microsecs}, and %{millisecs}
	variables.

2013-01-31  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sql.c, modules/mod_log.c: 
	Bug#3889 - Support millisecond timestamp LogFormat variable.

2013-01-31  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
	regression tests for the SQLLog handling of the timestamp-related
	LogFormat variables added for Bug#3889.

2013-01-31  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Add regression
	test for %{microsecs} LogFormat variable, for Bug#3889, too.

2013-01-31  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding
	regression tests for the LogFormat variables added for Bug#3889.

2013-01-31  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Additional
	reproduction recipes for Bug#3881.

2013-01-30  castaglia <castaglia>

	* NEWS, include/data.h, modules/mod_facts.c, modules/mod_ls.c,
	src/data.c, src/pool.c: Bug#3819 - Second and subsequent LIST of
	directory with many files is very slow.

2013-01-30  castaglia <castaglia>

	* modules/mod_xfer.c: More tweaks on the path to
	verification/resolution for Bug#3874.

2013-01-30  castaglia <castaglia>

	* src/fsio.c: Since we are not including <linux/magic.h>, the
	NFS_SUPER_MAGIC value was not defined.  So define it manually, for
	now.

2013-01-29  castaglia <castaglia>

	* src/fsio.c: Try to be more informative about NFS-related 'fsio'
	trace logging.

2013-01-29  castaglia <castaglia>

	* modules/mod_xfer.c: Temporary trace logging to help debug
	Bug#3874.

2013-01-29  castaglia <castaglia>

	* src/fsio.c: Slightly better formatting for NFS-related trace
	message.

2013-01-29  castaglia <castaglia>

	* modules/mod_xfer.c, src/fsio.c: When checking whether a
	HiddenStores path will be on an NFS filesystem, we need to use a
	path which *does* exist -- not the path that WILL exist, but does
	not exist yet (Bug#3874).

2013-01-29  castaglia <castaglia>

	* contrib/mod_sftp/mac.c: Remove unnecessary (and misleading)
	typecasts.

2013-01-29  castaglia <castaglia>

	* contrib/mod_sftp/cipher.c, contrib/mod_sftp/cipher.h,
	contrib/mod_sftp/packet.c: Use unsigned char buffers in more places
	in the mod_sftp code, especially when reading in the bytes for
	incoming packets.  This MAY help alleviate some of those "too long"
	packet warnings.

2013-01-29  castaglia <castaglia>

	* contrib/mod_sftp/ssh2.h: For (hopefully) better interoperability,
	use the same max packet size as OpenSSH does.

2013-01-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Add a
	mod_lang/UseEncoding test showing conversion from ISO-8859-1
	characters to a UTF8 path locally.

2013-01-29  castaglia <castaglia>

	* contrib/mod_sftp/utf8.c, src/fsio.c: Further refinements of the
	trace logging of failed encoding/decoding.

2013-01-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Remove development
	cruft.

2013-01-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
	test for Bug#3887.

2013-01-29  castaglia <castaglia>

	* NEWS, src/dirtree.c: Bug#3887 - <Limit ALL> erroneously blocks the
	PROT command used for FTPS.

2013-01-29  castaglia <castaglia>

	* contrib/mod_sftp/utf8.c, src/fsio.c: If we fail to encode/decode a
	string, AND the TraceLog level is set high enough, then log the
	bytes of the string in hex, for better analysis.

2013-01-28  castaglia <castaglia>

	* src/memcache.c: Bug#3886 - Calling
	pr_memcache_conn_set_namespace() crashes on buffer overflow.

2013-01-28  castaglia <castaglia>

	* contrib/mod_tls_memcache.c: Clean up logging/comments in
	mod_tls_shmcache; no functional change.

2013-01-25  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Tweak the
	regression test for Bug#3881 to match the reported use case better.

2013-01-25  castaglia <castaglia>

	* src/dirtree.c: When resolving deferred paths, make sure to handle
	tilde interpolation as well.

2013-01-25  castaglia <castaglia>

	* contrib/mod_ifsession.c: Make the lookup for the primary group
	name NOT be a requirement.  If we find it, great.  Otherwise, look
	up the supplemental groups, and move on.

2013-01-25  castaglia <castaglia>

	* contrib/mod_ifsession.c: Fix call to pr_auth_getgroups() to use
	user name, not group name, for the lookup.  Sigh.

2013-01-25  castaglia <castaglia>

	* contrib/mod_ifsession.c: Additional tweak related to Bug#3882.
	Turns out that some modules (e.g.  mod_ldap) are particular about
	the pr_auth_getgroups() call.  In particular, some functions REQUIRE
	that array_headers be provided for GIDS and group names, not just
	one or the other.

2013-01-25  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Add better trace logging of the v5/v6 BITS
	attribute.

2013-01-25  castaglia <castaglia>

	* contrib/mod_sftp/display.c, include/fsio.h, src/display.c,
	src/fsio.c: Provide a pr_fsio_fgetsize() function which gets the
	filesystem size given an fd, rather than a path.  Then use this new
	function when handling Display files which are displayed AFTER a
	chroot(2) has occurred -- for in those cases, using fstatfs(2) et al
	works better than statfs(3).

2013-01-25  castaglia <castaglia>

	* contrib/mod_ifsession.c: More cleanup/polish for Bug#3882,
	removing misleading DisplayLogin related log messages.

2013-01-25  castaglia <castaglia>

	* configure: Updated configure.

2013-01-25  castaglia <castaglia>

	* NEWS, configure.in: Bug#3884 - Configure script not detecting
	MySQL make_scrambled_password functions.

2013-01-25  castaglia <castaglia>

	* contrib/mod_ifsession.c: Fix logging of mod_ifsession's lookup of
	a DisplayLogin file (to differentiate it from the logging done by
	mod_auth).

2013-01-25  castaglia <castaglia>

	* src/fsio.c: Typo.

2013-01-25  castaglia <castaglia>

	* contrib/mod_tls.c: If a data transfer command is rejected due to
	the lack of SSL/TLS, use the more proper 522 response code, rather
	than 550.

2013-01-25  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Adding
	regression test for Bug#3881.

2013-01-25  castaglia <castaglia>

	* NEWS, contrib/mod_ifsession.c: Bug#3881 - <Directory> sections
	within <IfGroup> sections not applied as expected.

2013-01-25  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_log_forensic.pm,
	tests/t/modules/mod_log_forensic.t, tests/tests.pl: Adding in the
	regression tests for the new mod_log_forensic module.

2013-01-25  castaglia <castaglia>

	* NEWS, README.modules, RELEASE_NOTES, contrib/mod_log_forensic.c,
	doc/contrib/index.html, doc/contrib/mod_log_forensic.html: Adding
	the mod_log_forensic module to the source distribution.

2013-01-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	test for a bug where mod_sftp would occasionally lose track of
	file/directory handles, due to use of wrong memory pool.

2013-01-24  castaglia <castaglia>

	* NEWS, contrib/mod_ifsession.c: Bug#3882 - DisplayLogin with an
	absolute path does not work properly within an <IfGroup> section.

2013-01-24  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Fix a bug in mod_sftp where file/directory
	handles could become "lost", leading to "Invalid handle" SFTP
	responses, due to use of wrong memory pool.

2013-01-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Adding
	regression test for Bug#3882.

2013-01-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Make the
	mod_ifsession tests pass properly on MacOSX.

2013-01-24  castaglia <castaglia>

	* src/fsio.c: Add trace logging for the pr_fsio_is_nfs() function,
	for easier analysis.

2013-01-23  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Use trace logging to log the error when we
	fail to find the handle given a name from the client.

2013-01-22  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Increase subpool size for SFTP packets to
	128 bytes.

2013-01-22  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Fleshing out the support for various
	v5/v6-specific attributes.

2013-01-22  castaglia <castaglia>

	* contrib/mod_sftp/msg.c: Log the errno value from backtrace(3), if
	we fail to get a backtrace from it.

2013-01-22  castaglia <castaglia>

	* src/main.c: Wrong datatype for backtrace(3) return value.

2013-01-22  castaglia <castaglia>

	* src/main.c: Log the errors we get from backtrace(3) and
	backtrace_symbols(3), if any.

2013-01-21  castaglia <castaglia>

	* modules/mod_xfer.c: Reduce unnecessary logging of EEXIST cases
	when adding command notes.

2013-01-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Adding
	regression test for Bug#3879.

2013-01-21  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab_sql.c: Bug#3879 - Allow additional
	columns in SQLNamedQuery queries used for quota limits and tallies.

2013-01-21  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Wrong cmd_rec in fix for Bug#3874.

2013-01-21  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c: Bug#3878 - QuotaExcludeFilter not
	honored for uploads when 'hard' limits are used.

2013-01-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Adding
	regression test for Bug#3878.

2013-01-19  castaglia <castaglia>

	* contrib/mod_geoip.c: Bug#3877 - Fix GeoIPPolicy logging by making
	it a trace log message.

2013-01-19  castaglia <castaglia>

	* src/parser.c: Fix possible segfault due to null pointer
	dereference.

2013-01-19  castaglia <castaglia>

	* configure: Updated configure.

2013-01-19  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, contrib/mod_sftp/fxp.c,
	include/fsio.h, modules/mod_xfer.c, src/fsio.c: Bug#3874 - Use of
	O_EXCL flag on HiddenStores files might break for NFS filesystems.

2013-01-18  castaglia <castaglia>

	* src/mkhome.c: Rather than generating a single event prior to
	actually creating the CreateHome directory, we now generate two
	events: 'core.creating-home' for before home creation, and
	'core.created-home' for after.

2013-01-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
	test for Bug#3869 using "TLSSessionCache off".

2013-01-18  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3869 - Use longer SSL
	session cache expiration by default.

2013-01-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	test for Bug#3873.

2013-01-16  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3873 - Provide FTP response code
	in ExtendedLog for failed SFTP REMOVE request.

2013-01-16  castaglia <castaglia>

	* doc/modules/mod_xfer.html: Updated HiddenStores docs per changes
	for Bug#3872.

2013-01-16  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, modules/mod_xfer.c: Bug#3872 - Use
	HiddenStores directive to customise suffix.

2013-01-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Adding unit test
	for HiddenStores suffix feature (Bug#3872).  Also used
	assert_transfer_ok() function in the tests here.

2013-01-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Updated the
	HiddenStores tests to use testcase-specific logging.

2013-01-16  castaglia <castaglia>

	* doc/modules/mod_xfer.html: Fleshing out more directive
	descriptions in the mod_xfer docs.

2013-01-15  castaglia <castaglia>

	* contrib/mod_tls.c: Remove duplicate setting of SSL session context
	ID.

2013-01-15  castaglia <castaglia>

	* contrib/mod_tls.c: Logging nits and tweaks to the SSL session
	context ID used.  (Removed some duplicate code that had snuck in,
	too.)

2013-01-15  castaglia <castaglia>

	* contrib/mod_tls_shmcache.c: Minor logging nits/cleanup for the
	mod_tls_shmcache module.

2013-01-15  castaglia <castaglia>

	* contrib/mod_tls.c: Guard against NULL pointer dereference if the
	TLSRenegotiate timer fires when the SSL session on the control
	connection is being torn down.

2013-01-15  castaglia <castaglia>

	* contrib/mod_tls.c: Fix incorrect format string.

2013-01-15  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Revert the REALPATH request to be in the
	INFO logging class, not DIRS; REALPATH can be used on files and
	symlinks as well as on directories.  Changed for fix for Bug#3871.

2013-01-15  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3871 - REALPATH SFTP request not
	properly handled by <Limit DIRS> configuration.

2013-01-15  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding
	regression/reproduction test for Bug#3871.

2013-01-15  castaglia <castaglia>

	* modules/mod_core.c: Use the proper C_ macros, rather than
	hardcoded strings, in more places.

2013-01-15  castaglia <castaglia>

	* contrib/mod_tls.c: Use a better variable name here.

2013-01-15  castaglia <castaglia>

	* src/fsio.c: Add trace logging of the arguments to the
	pr_fsio_smkdir() function, for future debugging/analysis.

2013-01-15  castaglia <castaglia>

	* contrib/mod_tls.c: Make sure that we can properly handle a
	SubjAltName iPAddress value that contains an IPv6 address, for
	comparing with our address.

2013-01-15  castaglia <castaglia>

	* tests/t/etc/modules/mod_tls/ipv6-ca.pem,
	tests/t/etc/modules/mod_tls/ipv6-client-cert2.pem,
	tests/t/etc/modules/mod_tls/ipv6-server-cert2.pem,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression test
	for handling of IPv6 iPAddress SubjAltName values in client certs.

2013-01-14  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/dhparams.pem, contrib/mod_tls.c: Bug#3779 -
	Generate new DH parameters for mod_tls and mod_sftp.

2013-01-14  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#3870 - Handling of OPTS command can
	lead to crash.

2013-01-14  castaglia <castaglia>

	* tests/t/commands/opts.t,
	tests/t/lib/ProFTPD/Tests/Commands/OPTS.pm, tests/tests.pl: Add
	regression tests for the OPTS command (including test for Bug#3870).

2013-01-14  castaglia <castaglia>

	* src/fsio.c: Remove erroneous errno assignment.

2013-01-14  castaglia <castaglia>

	* contrib/mod_tls.c: Always set the socket to non-blocking before
	calling SSL_accept(), even on retries.  This latter condition was
	not happening.

2013-01-14  castaglia <castaglia>

	* contrib/mod_tls.c: Fix minor nits in comments; no functional
	change.

2013-01-14  castaglia <castaglia>

	* contrib/mod_tls.c: Additional tweak (to avoid null pointer
	dereference) for Bug#3868.

2013-01-14  castaglia <castaglia>

	* contrib/mod_tls.c: Typo.

2013-01-14  castaglia <castaglia>

	* src/fsio.c: Make sure that if mkdtemp(3) is not available for any
	reason, we do not fail with a linker error.

2013-01-14  castaglia <castaglia>

	* include/fsio.h, src/fsio.c: Rather than having pr_fsio_smkdir()
	use mkdtemp(3) if available, now the use of mkdtemp(3) can be
	enabled/disabled at runtime.  This is necessary e.g. to have
	mod_vroot function as expected.  (Which is OK; the race condition
	against which pr_fsio_smkdir() guards mostly pertains to root
	privileges, and mod_vroot is for cases where root privs are NOT
	wanted.)

2013-01-13  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Improvide the TLSDHParamFile
	documentation, in light of Bug#3868.

2013-01-13  castaglia <castaglia>

	* tests/t/etc/modules/mod_tls/dh1024.pem,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
	tests for Bug#3868.

2013-01-13  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3868 - Only first DH param in
	TLSDHParamFile is used, regardless of requested keylength.

2013-01-13  castaglia <castaglia>

	* NEWS, contrib/ftpasswd: Bug#3867 - ftpasswd fails with "Permission
	denied" when adding subsequent passwd/group entries.

2013-01-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm: Now we have a bug
	number assigned.

2013-01-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm: Flesh out the first
	ftpasswd regression test.

2013-01-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Utils/ftpcount.pm,
	tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm: Make these utils tests
	pass again (just needed correct path to the executables).

2013-01-11  castaglia <castaglia>

	* tests/t/contrib/ftpasswd.t,
	tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm: Start working on
	ftpasswd unit tests.

2013-01-11  castaglia <castaglia>

	* contrib/ftpasswd: Bump the ftpasswd version, given the addition of
	support for other password hash types.

2013-01-11  castaglia <castaglia>

	* NEWS, contrib/mod_ban.c: Bug#3866 - Issuing invalid 'ftpdctl ban'
	request causes segfault.

2013-01-11  castaglia <castaglia>

	* NEWS, contrib/mod_ban.c: Bug#3865 - BanEngine not set in "server
	config" results in "mod_ban not enabled" ftpdctl error.

2013-01-11  castaglia <castaglia>

	* modules/mod_core.c: Stylistic nits; no functional change.

2013-01-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm: Adding another
	regression test using a config based on issues reported for
	Bug#3841, involving <Anonymous> logins and UserOwner.

2013-01-10  castaglia <castaglia>

	* src/fsio.c: Log a warning if we can't rename the directory in
	pr_fsio_smkdir(), too.

2013-01-10  castaglia <castaglia>

	* src/fsio.c: Fix another regression caused by Bug#3841: we might
	need root privs when setting the permissions on the created
	directory, as well as when possibly setting the ownership.

2013-01-10  castaglia <castaglia>

	* src/fsio.c: Fix regression with MKD commands (due to Bug#3841).

2013-01-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Added needed regression
	test for sending MKD for a chrooted session.

2013-01-10  castaglia <castaglia>

	* contrib/mod_tls.c: Generate an event whenever mod_tls is verifying
	a client certificate; the event fired will indicate whether the
	verification succeeded or failed.

2013-01-10  castaglia <castaglia>

	* contrib/mod_tls.c: Stylistic nits.  Moved checking for peer cert earlier in the tls_dotlogin_allow()
	function; if the client doesn't present a certificate, then don't
	try to do any of the other work there, as a minor optimization.  No functional changes.

2013-01-10  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/auth.c: Bug#3863 - mod_sftp does not handle
	MaxLoginAttempts properly.  Make sure that we increment the auth_attempts counter whenever the
	auth method request does not explicitly succeed.

2013-01-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/ban.pm: Updating
	mod_sftp+mod_ban MaxLoginAttempts regression test for Bug#3863.

2013-01-10  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Adding description of
	TLSMasqueradeAddress directive to mod_tls docs.

2013-01-10  castaglia <castaglia>

	* doc/modules/mod_core.html: Typo.

2013-01-09  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_tls.c, modules/mod_core.c: 
	Bug#3862 - Support for FTPS-specific MasqueradeAddress
	functionality.

2013-01-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
	test for TLSMasqueradeAddress directive; see Bug#3862.

2013-01-09  castaglia <castaglia>

	* tests/t/config/masqueradeaddress.t,
	tests/t/lib/ProFTPD/Tests/Config/MasqueradeAddress.pm,
	tests/tests.pl: Adding unit tests for the MaqueradeAddress
	directive.

2013-01-09  castaglia <castaglia>

	* contrib/mod_ban.c: Provide more information for the
	'mod_ban.ban.expired' event.

2013-01-09  castaglia <castaglia>

	* doc/howto/Controls.html: Fix typo.

2013-01-09  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Aborting an SFTP directory listing is
	always an error.

2013-01-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding an
	ExtendedLog/LogFormat %f test for SFTP transfers in a chrooted
	session.

2013-01-08  castaglia <castaglia>

	* contrib/mod_tls.c: Fix erroneous "renegotiation accepted" TLSLog
	messages for data transfers.

2013-01-08  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Make sure that we dispatch a MLSD command
	for aborted SFTP directory listings.

2013-01-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Give the server a
	little time to start up, and make this mod_ban test a little more
	robust.

2013-01-08  castaglia <castaglia>

	* contrib/mod_ban.c: Generate an event whenever mod_ban disconnects
	a client, with a descriptive string about why the client was
	disconnected (i.e. including ban type, and reason if known).

2013-01-08  castaglia <castaglia>

	* src/inet.c: Quell compiler warning about unused variable on
	platforms which do not support the TCP keepalive macros (e.g. Mac
	OSX).

2013-01-08  castaglia <castaglia>

	* doc/howto/Rewrite.html: Another time-related mod_rewrite
	config/trick.

2013-01-08  castaglia <castaglia>

	* doc/howto/Rewrite.html: Start adding some time-related mod_rewrite
	examples, now that mod_rewrite supports time variables.

2013-01-07  castaglia <castaglia>

	* contrib/mod_ban.c: Have mod_ban generate an event when it removes
	a ban due to expiry, for the benefit of logging modules like
	mod_snmp.

2013-01-07  castaglia <castaglia>

	* doc/contrib/mod_geoip.html: Added description of the GeoIPPolicy
	directive to the mod_geoip docs.

2013-01-07  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_geoip.c: Bug#3860 - Add a default
	deny option for mod_geoip.

2013-01-07  castaglia <castaglia>

	* doc/modules/mod_core.html: Adding descriptions for the Port and
	<VirtualHost> directives to the mod_core docs.

2013-01-07  castaglia <castaglia>

	* doc/modules/mod_core.html: Add description for DefaultAddress to
	the mod_core docs.

2013-01-07  castaglia <castaglia>

	* doc/contrib/mod_geoip.html: Cut-n-pasto.

2013-01-07  castaglia <castaglia>

	* doc/contrib/mod_geoip.html: Include links to some of the MaxMind
	documentation on e.g. country codes and continents.

2013-01-07  castaglia <castaglia>

	* doc/modules/mod_core.html: Add the MasqueradeAddress description
	to the mod_core docs.

2013-01-07  castaglia <castaglia>

	* modules/mod_facts.c: Additional fix for Bug#3859.

2013-01-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Another regression
	test for Bug#3859, this time using "ShowSymlinks off".

2013-01-07  castaglia <castaglia>

	* NEWS, modules/mod_facts.c: Bug#3859 - MLSD fails to show symlinks
	when ShowSymlinks is not configured.

2013-01-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Adding regression test
	for Bug#3859.

2013-01-07  castaglia <castaglia>

	* modules/mod_lang.c, tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: 
	If the admin configures a strict UseEncoding, AND that UseEncoding
	specifies UTF8 as the client charset, then DO list UTF8 in the FEAT
	output.

2013-01-06  castaglia <castaglia>

	* modules/Makefile.in: As part of work on Bug#3725, make sure that
	the mod_dso-specific rules are invoked when mod_dso.c is modified,
	AND that the more general .c.o rule is NOT used for mod_dso; mod_dso
	requires some additional -I flags.

2013-01-06  castaglia <castaglia>

	* modules/mod_lang.c, tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: 
	Refinement for Bug#3737: when the UseEncoding "strict" keyword is
	used, then UTF8 should not appear in the FEAT listing.

2013-01-06  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Map the OPENDIR/CLOSE SFTP requests to the
	MLSD FTP command, for better interaction with the configuration (and
	with other modules such as mod_snmp).

2013-01-05  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Remove spurious/unnecessary event
	generation (this particular event is generated elsewhere); bad patch
	application?

2013-01-05  castaglia <castaglia>

	* src/pool.c: Bug#3857 - ProFTPD 1.3.5rc1 API test suite fails.

2013-01-05  castaglia <castaglia>

	* src/event.c, src/netaddr.c, tests/api/event.c,
	tests/api/netaddr.c, tests/api/scoreboard.c, tests/api/stubs.c: 
	Bug#3856 - Linking ProFTPD 1.3.5rc1 API test suite fails.  This will teach me to actually run the API tests before releasing.
	Sigh.

2013-01-05  castaglia <castaglia>

	* src/dirtree.c: Slightly better approach (avoids having root privs
	while writing out a log; that's not needed).

2013-01-05  castaglia <castaglia>

	* src/dirtree.c, src/parser.c: Bug#3855 was a pain to track down
	because we don't report any parsing errors encountered for Include'd
	files.  Now fixed.

2013-01-04  castaglia <castaglia>

	* doc/howto/Scoreboard.html: One more tool affected by disabling of
	scoreboarding.

2013-01-04  castaglia <castaglia>

	* include/version.h: Bumped version for the next RC.

2013-01-04  castaglia <castaglia>

	* ChangeLog: Updated ChangeLog.

2013-01-04  castaglia <castaglia>

	* locale/files.txt: Updates files.txt, for localization efforts.

2013-01-04  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Updating
	versions, dates, getting ready to release 1.3.5rc1.

2013-01-04  castaglia <castaglia>

	* NEWS, src/dirtree.c: Bug#3855 - Restarting proftpd may cause
	Include files not to be parsed.

2013-01-04  castaglia <castaglia>

	* doc/modules/mod_auth.html: Add CreateHome description to the
	mod_auth docs.

2013-01-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Minor nits, adding
	delays to avoid races to make the test more robust.

2013-01-04  castaglia <castaglia>

	* modules/mod_core.c: Use the PR_USE_HOST guard in more places.
	Move the registration of the restart event listener to a more
	appropriate/expected location.

2013-01-04  castaglia <castaglia>

	* src/event.c: Handle the case where the first event listener is for
	a core callback, in which case where are no existing lists of
	listeners.

2013-01-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Using
	assert_transfer_ok() in more tests.

2013-01-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
	tests/t/lib/ProFTPD/Tests/Config/UseSendfile.pm: Using
	assert_transfer_ok() in more tests.

2013-01-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Using
	assert_transfer_ok() in more tests.

2013-01-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Start using the
	assert_transfer_ok() function in more tests.

2013-01-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Make some of the
	ExtendedLog tests more robust.

2013-01-03  castaglia <castaglia>

	* modules/mod_core.c: Guard the HOST implementation with #ifdefs, as
	it is not yet ready for public use.

2013-01-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Fixed failing
	test, added new regression test.  Updated tests to use testcase-
	specific logging.

2013-01-03  castaglia <castaglia>

	* contrib/mod_sql.c: Don't log an error about having no SQLAuthTypes
	configured if SQLAuthenticate has been explicitly configured to be
	'off'.

2013-01-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/wrap2.pm: Update tests
	to use testcase-specific logging.  Fix test code issue (bad
	expectation).

2013-01-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Updated
	tests to use testcase-specific logging.

2013-01-03  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Remove debugging cruft.

2013-01-03  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Fix regression caught by testsuite.

2013-01-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Update mod_sftp
	unit tests to weed out some known bad tests (bad due to client
	issues), fix up others, etc.

2013-01-03  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c, contrib/mod_sql.c, modules/mod_log.c: Fix
	another regression caught by the testsuite, concerning the handling
	of the %F LogFormat variable.

2013-01-03  castaglia <castaglia>

	* src/event.c: Fix another regression caught by the testsuite,
	caused by the change in ordering of event listener subscription.
	This tweak moves all core event listeners to the end of the list, to
	be invoked last.

2013-01-03  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Fixed regression caused by use of new
	pr_fsio_smkdir() function, which expects the given path to be a
	canonical path.  Now SFTP mkdir requests work again.

2013-01-03  castaglia <castaglia>

	* src/fsio.c: Stylistic nit (extraneous whitespace); no functional
	change.

2013-01-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab/copy.pm: Update the
	mod_quotatab+mod_copy tests to use testcase-specific logging.  Fixed
	"broken" tests to work properly on different platforms.

2013-01-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm: Allow more time
	for one of the mod_delay unit tests to run, and mark it as a 'slow'
	test.

2013-01-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm: Update
	these tests to use testcase-specific logging.  Make them more robust
	with data transfers by using the assert_transfer_ok() function.

2013-01-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Minor
	tweaks help this testcase to pass more often (timing issues related
	to closing the data connection, it seems).

2013-01-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Update the
	mod_wrap2_sql tests to pass.  Added checks for the module load
	order; one of the tests is sensitive to this.

2013-01-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Expose the utility
	function for obtaining the list of compiled-in modules.

2013-01-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Fix test code
	issues so that all of the mod_wrap2_file tests pass.

2013-01-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls_shmcache.pm: Use
	testcase-specific logging.  Avoid verification errors by providing
	the CA file to the openssl s_client command.

2013-01-02  castaglia <castaglia>

	* contrib/mod_tls.c: Remove the SSL_COMP_add_compression_method()
	ifdef; it won't be used.

2013-01-02  castaglia <castaglia>

	* RELEASE_NOTES: Typo.

2013-01-02  castaglia <castaglia>

	* RELEASE_NOTES, contrib/mod_tls.c: Update the release notes with
	the updated TLSCipherSuite defaults, i.e.  no anonymous
	Diffie-Hellman key exchanges.  Disable SSL compression.

2013-01-02  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Fix some
	failing mod_sql_sqlite tests by providing the necessary custom
	SQLUserInfo queries.

2013-01-02  castaglia <castaglia>

	* contrib/mod_tls.c: Testsuite caught a regression in the handling
	of the TLSPKCS12File directive.

2013-01-02  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: If the DateTime
	Perl module is not present, then do not try to run some of the
	mod_rewrite unit tests which require it.  With this tweak, at least
	some of the mod_rewrite unit tests run, rather than having none of
	them run because Perl complains that the DateTime module is not
	present.

2013-01-02  castaglia <castaglia>

	* src/scoreboard.c: When opening an fd for the ScoreboardFile, make
	sure that we do NOT use one of the Big Three fds (i.e. no 0, 1, or
	2).

2013-01-02  castaglia <castaglia>

	* src/scoreboard.c: Guard against "Illegal seek" lseek(2) error by
	detecting/catching a call to pr_restore_scoreboard() before
	pr_rewind_scoreboard() has been called.

2013-01-02  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm: Updating
	.ftpaccess file tests to use testcase-specific logging.

2013-01-02  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm: More fixes to
	the DirFakeGroup tests to make the tests pass properly; these are
	issues with the testing code, not the core proftpd code.

2013-01-02  castaglia <castaglia>

	* RELEASE_NOTES: Updated the release notes, preparing for a release.

2013-01-02  castaglia <castaglia>

	* doc/contrib/mod_quotatab.html: Adding description of QuotaDefault
	directive to mod_quotatab docs.

2013-01-02  castaglia <castaglia>

	* contrib/mod_tls.c: Fix compiler warning about unused variable.

2013-01-02  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Start using
	testcase-specific logging for these tests.

2013-01-02  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Fix some Perl
	warnings when running the mod_exec tests.

2012-12-29  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Typo.

2012-12-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Updated/fixed
	tests.

2012-12-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Use the
	assert_transfer_ok() function in a few more places.

2012-12-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Trace.pm: Updated tests to deal
	with Trace logging changes.  Added testcase-specific logging.

2012-12-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm: Update tests to
	deal with different platforms' symlink permission defaults.

2012-12-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm: Update tests to
	use testcase-specific logging, and the assert_transfer_ok()
	function.

2012-12-29  castaglia <castaglia>

	* src/privs.c: Testsuite caught another regression; now fixed.

2012-12-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/DELE.pm: Updating test
	to use testcase-specific logging.

2012-12-29  castaglia <castaglia>

	* src/fsio.c: When safely creating directories, allow the parent
	directory path to be a symlink.

2012-12-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DirFakeUser.pm: Fixing up tests.

2012-12-28  castaglia <castaglia>

	* modules/mod_facts.c: Regression for Bug#3715 now fixed.

2012-12-28  castaglia <castaglia>

	* modules/mod_facts.c: Caching/preserving of errno values, some
	stylistic nits.

2012-12-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm: Fix testware
	issue on Linux; update tests to use assert_transfer_ok().

2012-12-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm: Updating to use
	testcase-specific logging.

2012-12-28  castaglia <castaglia>

	* src/dirtree.c: Testsuite caught a regression; now fixed.

2012-12-28  castaglia <castaglia>

	* src/dirtree.c: Stylistic nits; no functional change.

2012-12-28  castaglia <castaglia>

	* doc/howto/Compiling.html: Adding more compiling FAQs.

2012-12-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/PASS.pm: Fill in the testcase
	for a password which contains spaces.

2012-12-28  castaglia <castaglia>

	* modules/mod_core.c: Don't advertise support for the HOST command
	just yet, as it has not been completely implemented as yet.

2012-12-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Fix
	re-declaration of variables.

2012-12-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm: Fix
	re-declaration of variable.

2012-12-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Quell compiler
	warning about use of uninitialized value.

2012-12-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm,
	tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Now that server_restart()
	is provided by the Utils class, these tests no longer need to
	provide their own implementations.

2012-12-28  castaglia <castaglia>

	* src/cmd.c: Quell compiler warning.

2012-12-28  castaglia <castaglia>

	* modules/mod_core.c: Remove unused variable, quelling compiler
	warning.

2012-12-28  castaglia <castaglia>

	* src/throttle.c: Style nits.  Fix one minor edge case, where the
	signal mask would not be restored properly if the transfer was
	aborted.

2012-12-28  castaglia <castaglia>

	* src/fsio.c: Minor nits; no functional change.

2012-12-28  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c,
	include/fsio.h, modules/mod_core.c, src/fsio.c: Bug#3841 - Possible
	symlink race when applying UserOwner to newly created directory.

2012-12-27  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Some additional
	regression tests for MKD/XMKD commands.

2012-12-27  castaglia <castaglia>

	* doc/howto/FTP.html: Provide links to the mod_tls docs where
	appropriate.

2012-12-27  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Remove duplicate event.

2012-12-27  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Update mod_sftp to use the
	pr_cmd_set_name() function as well.

2012-12-27  castaglia <castaglia>

	* contrib/mod_copy.c, contrib/mod_quotatab.c, modules/mod_core.c: 
	Start updating modules to use the new pr_cmd_set_name() function.

2012-12-27  castaglia <castaglia>

	* include/cmd.h, src/cmd.c: Introduce new pr_cmd_set_name()
	function, for setting the cmd_rec name AND for resetting the cmd_id
	properly (so that I don't forget in the future).

2012-12-27  castaglia <castaglia>

	* doc/howto/TLS.html: Add another FileZilla-related mod_tls FAQ.

2012-12-27  castaglia <castaglia>

	* modules/mod_core.c, modules/mod_log.c: Try to provide better error
	messages.

2012-12-27  castaglia <castaglia>

	* doc/howto/Logging.html: Adding logging FAQ about FIFOs.

2012-12-27  castaglia <castaglia>

	* doc/howto/FTP.html: Add FAQ to FTP howto, talking about renaming
	of directories across mount points.

2012-12-27  castaglia <castaglia>

	* modules/mod_core.c: Updating mod_core to use the new
	pr_fsio_lchown() function.

2012-12-26  castaglia <castaglia>

	* modules/mod_log.c: Report the correct error reason if we can't
	open an ExtendedLog.

2012-12-26  castaglia <castaglia>

	* contrib/mod_sftp/misc.c, include/fsio.h, modules/mod_xfer.c,
	src/fsio.c: Implement part of the fix for Bug#3841 by providing a
	pr_fsio_lchown() function.

2012-12-26  castaglia <castaglia>

	* modules/mod_log.c: Fix handling of SIGHUP with regard to
	SystemLog.  The problem was that we were re-opening the SystemLog
	file itself in the restart event listener; after the restart event
	listeners are triggered, init_log() is called which itself closes
	the SystemLog.  Oops.

2012-12-26  castaglia <castaglia>

	* doc/modules/mod_cap.html: Adding description of the new
	CapabilitiesRootRevoke directive.

2012-12-24  castaglia <castaglia>

	* src/event.c: Fix the handling of event notification subscription.
	Specifically, modules that were loaded last would receive the event
	notification last.  And if that notification were for the 'core.restart' event, AND the
	subscribing module was built as a shared module, this would mean
	that that module would NEVER be notified; the mod_dso 'core.restart'
	event handler would be notified first, and would unload all shared
	modules.  The fix, then, is to have the modules loaded last have their
	notifications be delivered first.  This was the intended ordering in
	the first place.

2012-12-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm: Adding regression
	tests for Bug#3839.

2012-12-21  castaglia <castaglia>

	* configure: Updated configure.

2012-12-21  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, config.h.in, configure.in, modules/mod_cap.c: 
	Bug#3839 - Enhance mod_cap to support dropping root privs entirely.

2012-12-21  castaglia <castaglia>

	* RELEASE_NOTES, doc/modules/mod_auth.html: Adding description of
	new AllowChrootSymlinks directive to mod_auth docs.

2012-12-20  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, modules/mod_auth.c: Bug#3852 - Support
	directive for ignoring symlink DefaultRoot directories.

2012-12-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DefaultRoot.pm,
	tests/t/lib/ProFTPD/Tests/Logins.pm: Checking in the regression
	tests for the new AllowChrootSymlinks directive, part of Bug#3852.

2012-12-18  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/keys.c: Bug#3851 - SFTPPassPhraseProvider
	fails due to incorrect pointer.

2012-12-18  castaglia <castaglia>

	* tests/t/etc/modules/mod_sftp/passphrase_host_dsa_key,
	tests/t/etc/modules/mod_sftp/passphrase_host_dsa_key.pub,
	tests/t/etc/modules/mod_sftp/passphrase_host_rsa_key,
	tests/t/etc/modules/mod_sftp/passphrase_host_rsa_key.pub,
	tests/t/etc/modules/mod_sftp/sftp-get-passphrase.pl,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	test for SFTPPassPhraseProvider (Bug#3851).

2012-12-14  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/ftpasswd, doc/contrib/ftpasswd.html: 
	Bug#3850 - ftpasswd should support generating SHA-256, SHA-512
	hashes where possible.

2012-12-13  castaglia <castaglia>

	* contrib/mod_sftp/auth.c, contrib/mod_sftp/compress.c,
	contrib/mod_sftp/fxp.c, contrib/mod_sftp/packet.c,
	contrib/mod_sftp/scp.c: Instrument mod_sftp by generating events
	under certain conditions, for the benefit of any other modules (e.g.
	mod_snmp) who might be interested.

2012-12-13  castaglia <castaglia>

	* doc/howto/TLS.html: Add missing closing font tag.

2012-12-11  castaglia <castaglia>

	* doc/utils/index.html: Typo.

2012-12-10  castaglia <castaglia>

	* contrib/mod_sftp/crypto.c: Fixed typo in comment.

2012-12-09  castaglia <castaglia>

	* contrib/mod_tls.c: Use more stable pools for allocating
	environment variables (the main_server pointer can change, e.g. due
	to the HOST command).  Generate events when our SSL/TLS handshake fails (both ctrl and data
	conns).

2012-12-09  castaglia <castaglia>

	* modules/mod_auth.c: Make sure that if we cannot find the requested
	USER name, we still fire the "authentication-code" event, for any
	interested listeners (e.g.  mod_snmp).

2012-12-07  castaglia <castaglia>

	* modules/mod_auth_file.c: If an AuthUserFile happens to contain an
	empty password field, make sure we handle such a file the same way
	on a Mac OSX platform as on a Linux/BSD platform.  The difference is
	in how the crypt(3) function handles the case of a salt argument
	that is an empty string; the crypt(3) implementations differ in this
	particular case, and so the mod_auth_file module does a runtime
	check for this.

2012-12-07  castaglia <castaglia>

	* tests/t/config/authuserfile.t,
	tests/t/lib/ProFTPD/Tests/Config/AuthUserFile.pm, tests/tests.pl: 
	Adding AuthUserFile tests now.

2012-12-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Allow for specifying empty
	password values for an AuthUserFile.

2012-12-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/AuthGroupFile.pm: Updated
	AuthGroupFile test to use testcase-specific logging.

2012-12-06  castaglia <castaglia>

	* configure: Updated configure.

2012-12-06  castaglia <castaglia>

	* config.h.in, configure.in, contrib/mod_sql_mysql.c: As part of
	Bug#3669, check for the RedHat distribution's changes to MySQL,
	since they export the my_make_scrambled_password symbol.

2012-12-05  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add utility
	server_restart() function for tests which need to HUP the running
	daemon.

2012-12-05  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Start
	creating indexes on the columns in the SQLite test cases.  This way,
	the tests can provide "best practice" SQL scripts.

2012-12-05  castaglia <castaglia>

	* doc/utils/index.html: Add link to ftpshut docs.  Fix typo.

2012-12-05  castaglia <castaglia>

	* doc/contrib/mod_ban.html: Bad grammar.

2012-12-04  castaglia <castaglia>

	* doc/utils/ftpmail.html: Typo.

2012-12-04  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#3846 - Avoid scanning ScoreboardFile
	needlessly on login if limits are not configured.

2012-12-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
	test for FTPS login using mod_tls and a DSA server certificate.

2012-12-04  castaglia <castaglia>

	* tests/t/etc/modules/mod_tls/NOTES,
	tests/t/etc/modules/mod_tls/dsa-ca.pem,
	tests/t/etc/modules/mod_tls/dsa-server-cert.pem: Adding DSA server
	cert, for DSA-specific testing.

2012-12-03  castaglia <castaglia>

	* contrib/mod_sql.c: Debug logging of the number of fields/columns
	returned by the custom SQLUserInfo, for triage.

2012-12-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
	testcase showing how SQLite and mod_sql can be used to enforce a
	MaxHostsPerUser restriction in a much more efficient manner than
	that used by the mod_auth module.

2012-12-03  castaglia <castaglia>

	* src/netio.c: Remove unused variable.

2012-12-03  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/auth.c: Bug#3845 - mod_sftp does not
	provide response codes for %s LogFormat variable for AUTH
	ExtendedLog.

2012-12-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	test for Bug#3845.

2012-12-02  castaglia <castaglia>

	* doc/howto/ServerType.html: Updating ServerType howto to use
	relative links.

2012-12-02  castaglia <castaglia>

	* doc/modules/mod_core.html: Adding description of ServerType
	directive to mod_core docs.

2012-12-02  castaglia <castaglia>

	* doc/howto/Debugging.html: Updating Debugging howto.

2012-12-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding mod_sftp
	unit tests for the handling of %f and %r LogFormat variables for
	SFTP WRITE requests.

2012-12-01  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Add more information to the cmd_rec logged
	for a WRITE request, such that the %r LogFormat variable will also
	include the file offset and chunk length fields from the WRITE
	request.  Make sure to reset the cmd_id member for cmd_recs when changing the
	cmd_rec name; otherwise, the cmd_id value will not be reset, and
	logging may not Do The Right Thing(tm) with that cmd_rec.  This was
	the cause of %f LogFormat variables not being interpolated properly
	by mod_log for WRITE requests.

2012-12-01  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Fix log message typos/nits.

2012-11-27  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_radius.pm: Added testcase
	demonstrating that use of "%u" for the home attribute works as
	expected.  Updated testcases to use testcase-specific logging.

2012-11-27  castaglia <castaglia>

	* modules/mod_auth_unix.c: Adding trace logging, for better analysis
	of shadow/autoshadow user lookup issues.

2012-11-21  castaglia <castaglia>

	* modules/mod_auth_unix.c: More debug logging for when user entry
	retrieval fails.

2012-11-20  castaglia <castaglia>

	* doc/contrib/mod_sql_passwd.html: Fixed markup typo.

2012-11-19  castaglia <castaglia>

	* NEWS, modules/mod_dso.c: Bug#3843 - ProFTPD should not fail when
	starting up due to loading same module multiple times.

2012-11-19  castaglia <castaglia>

	* doc/modules/mod_dso.html: Another DSO FAQ, about the "already
	loaded" error for special-case modules like mod_ctrls.

2012-11-19  castaglia <castaglia>

	* doc/modules/mod_dso.html: Adding FAQ about already loaded modules
	(will be fixed with Bug#3843).

2012-11-16  castaglia <castaglia>

	* modules/mod_auth_unix.c: Log, at debug level 3, when getspnam(3)
	and getpwnam(3) fail (and why).

2012-11-15  castaglia <castaglia>

	* contrib/mod_sftp/crypto.c: Adding more substantial description of
	the situation which lead to the preprocessor guards for AES-CTR
	modes in mod_sftp, for my future self (and others).

2012-11-15  castaglia <castaglia>

	* contrib/mod_quotatab.c: Use session.pool instead of
	main_server->pool; the latter can change during the lifetime of a
	session, whereas the former does not.

2012-11-14  castaglia <castaglia>

	* contrib/mod_sftp/crypto.c: For the AES-CTR implementation, only
	set the NID if we're working with a FIPS-enabled OpenSSL library.

2012-11-14  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3842 - Incorrect handling of
	REALPATH requests for symlink paths in mod_sftp.

2012-11-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Finishing the SFTP
	REALPATH tests (per Bug#3842).

2012-11-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding tests for
	mod_sftp's handling of REALPATH requests on different types of
	paths: files, directories, symlinks, chrooted or not, etc.

2012-11-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Adding testing of
	HideFiles/IgnoreHidden configuration on MLSD.

2012-11-13  castaglia <castaglia>

	* doc/modules/mod_facts.html: Adding FAQ about dotfiles and MLSD.

2012-11-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Adding PCRE-based
	HideFiles test.

2012-11-12  castaglia <castaglia>

	* configure: Updated configure.

2012-11-12  castaglia <castaglia>

	* config.h.in, configure.in: Adding autoconf check for mkdtemp(3),
	as part of fix for Bug#3841.

2012-11-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm: Updating UserOwner
	tests to use testcase-specific logging, and added test for
	UserOwner+MKD.

2012-11-05  castaglia <castaglia>

	* doc/modules/mod_auth.html: Add docs for the RewriteHome directive.

2012-10-29  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3837 - mod_tls unable to read
	certificate files after SIGHUP.

2012-10-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	tests for SFTP uploads which demonstrate that AllowFilter works as
	expected in a <Limit> STOR section.

2012-10-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ratio.pm: Adding mod_ratio
	regression test ensuring that the RatioFile is updated as expected
	after session closure.

2012-10-22  castaglia <castaglia>

	* tests/t/config/allowfilter.t,
	tests/t/lib/ProFTPD/Tests/Config/AllowFilter.pm, tests/tests.pl: 
	Adding regression tests for the AllowFilter directive.

2012-10-14  castaglia <castaglia>

	* doc/howto/ConfigurationTricks.html: Add another configuration
	trick (using env vars, -D, and <IfDefine>) to the collection.

2012-10-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/IfDefine.pm: Now the <IfDefine>
	regression test for dealing with environment variables work as I
	intended.

2012-10-14  castaglia <castaglia>

	* src/parser.c: In fact, why not use one strlen(3) call instead of
	three in the get_config_word() function.

2012-10-14  castaglia <castaglia>

	* src/parser.c: Minor change: use a single strlen(3) call instead of
	two.

2012-10-12  castaglia <castaglia>

	* doc/howto/FTP.html: Updating the stale list of supported commands.

2012-10-12  castaglia <castaglia>

	* modules/mod_xfer.c: Stylistic cleanup of nits in the handling of
	the MODE command; no functional change.

2012-10-12  castaglia <castaglia>

	* doc/howto/DSO.html: Adding FAQ to DSO doc about adding modules to
	proftpd.

2012-10-11  castaglia <castaglia>

	* include/netio.h, src/netio.c: Added a useful variant of
	pr_netio_printf(), allowing for a va_list argument to be passed in
	(e.g. for use by functions which themselves take variadic
	arguments).

2012-10-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/PWD.pm: Adding regression test
	for PWD commands using the upload-only directory config described in
	the Limit howto.

2012-10-10  castaglia <castaglia>

	* doc/howto/Limit.html: Update upload-only directory example config
	to allow PWD.  Some clients get cranky if PWD doesn't work.

2012-10-10  castaglia <castaglia>

	* src/dirtree.c: When discovering the optimal TCP buffer sizes, set
	the discovered sizes on our main_server rec as well.

2012-10-10  castaglia <castaglia>

	* doc/modules/mod_lang.html: Update the mod_lang docs with a FAQ
	about the "not a supported language" error.

2012-10-09  castaglia <castaglia>

	* locale/es_ES.po: Updated .po file from Bug#3834.

2012-10-05  castaglia <castaglia>

	* doc/modules/mod_lang.html: Mention the new Spanish translation in
	the mod_lang docs.

2012-10-05  castaglia <castaglia>

	* RELEASE_NOTES, locale/Makefile.in, locale/es_ES.po: Bug#3834 -
	Spanish translation.

2012-10-04  castaglia <castaglia>

	* doc/howto/Logging.html: Add Logging FAQ, inspired by Bug#3832.

2012-10-04  castaglia <castaglia>

	* doc/howto/KeepAlives.html, doc/howto/index.html: Adding new
	KeepAlives howto.

2012-10-03  castaglia <castaglia>

	* modules/mod_core.c: Slightly better error reporting for badly
	formed keepalive specs.

2012-10-03  castaglia <castaglia>

	* doc/modules/mod_core.html: Adding docs for the new keepalive
	SocketOptions parameter.

2012-10-03  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, include/dirtree.h, include/inet.h,
	modules/mod_core.c, src/data.c, src/dirtree.c, src/inet.c,
	src/parser.c: Bug#3833 - Enable TCP keepalive by default, with
	configurable SocketOption.

2012-10-03  castaglia <castaglia>

	* doc/modules/mod_core.html: Add docs for the SocketOptions
	directive to the mod_core docs.

2012-10-02  castaglia <castaglia>

	* NEWS, src/data.c: Bug#3831 - Sporadic "451 Insufficient memory or
	file locked" failure when downloading.

2012-10-02  castaglia <castaglia>

	* modules/mod_memcache.c: Fix compilation errors in mod_memcache,
	when --enable-memcache is used.

2012-10-02  castaglia <castaglia>

	* Makefile.in: Fixed typo in Makefile rules, for Bug#3725.

2012-10-01  castaglia <castaglia>

	* tests/Makefile.in, tests/api/fsio.c, tests/api/stubs.c,
	tests/api/tests.c, tests/api/tests.h: Start working on unit tests
	for the FSIO API functions: pr_fs_clean_path() is the first victim.

2012-10-01  castaglia <castaglia>

	* modules/mod_ls.c: Even more robust checking for complex possible
	symlink targets, as part of hardening against Bug#3719.

2012-10-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Another regression
	test for Bug#3719, showing a more complex symlink that should be
	considered "unsafe".

2012-10-01  castaglia <castaglia>

	* modules/mod_ls.c: An "unsafe" symlink path must be 2 characters or
	greater in length.

2012-10-01  castaglia <castaglia>

	* modules/mod_ls.c: Make the check for "unsafe" symlinks in
	recursive directory listings a little more robust, for Bug#3719.

2012-10-01  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/scp.c: Bug#3792 - Recursive SCP uploads
	using preserve-time (-p) option may not work.

2012-09-30  castaglia <castaglia>

	* modules/mod_ls.c: Fix regression caused by fix for Bug#3719.

2012-09-30  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding additional
	regression test for Bug#3719.

2012-09-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Updating mod_sftp
	regression tests to use testcase-specific logging across the board.

2012-09-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	test for recursive SCP uploads which use the preserve time/mode
	option, for Bug#3792.

2012-09-28  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Quell comparing warning about signedness;
	it's a harmless cast in this case.

2012-09-28  castaglia <castaglia>

	* configure: Updated configure.

2012-09-28  castaglia <castaglia>

	* configure.in: Some platforms (e.g. Mac OSX) require that the
	<sys/socket.h> header be included before including <net/if.h>,
	otherwise autoconf complains about seeing <net/if.h> but not being
	able to use it.  Hopefully this doesn't break the check for the
	<net/if.h> header on other platforms.

2012-09-28  castaglia <castaglia>

	* RELEASE_NOTES: Adding reminder to release notes to mention
	SystemLog changes for Bug#3832.

2012-09-28  castaglia <castaglia>

	* NEWS, modules/mod_log.c: Bug#3832 - Support disabling of system
	logging on per-connection basis.

2012-09-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ServerLog.pm,
	tests/t/lib/ProFTPD/Tests/Logging/SystemLog.pm,
	tests/t/logging/serverlog.t, tests/tests.pl: Adding ServerLog tests
	for Bug#3832 as well, and updating the SystemLog tests (which were
	pointed at the wrong log file).

2012-09-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/SystemLog.pm: Updated tests for
	Bug#3832 so that they work properly.

2012-09-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/SystemLog.pm: Adding unit tests
	for verifying the change/fix for Bug#3832.

2012-09-27  castaglia <castaglia>

	* doc/howto/Tracing.html: Typo.

2012-09-26  castaglia <castaglia>

	* modules/mod_xfer.c: Fix logging of spurious EEXIST error when
	adding a note to the session notes.

2012-09-25  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Document the network latency impact of
	the SFTPTrafficPolicy behavior for CBC ciphers, and include a FAQ on
	the issue.

2012-09-25  castaglia <castaglia>

	* doc/howto/Tracing.html: Update the Tracing howto with a section
	discussing runtime tuning of the trace levels.

2012-09-25  castaglia <castaglia>

	* doc/howto/TLS.html: Add a section on client auth to the TLS howto.

2012-09-23  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#3829 - RNFR without following RNTO
	can lead to NULL pointer dereference.

2012-09-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm: Updating regression
	test for Bug#3829.

2012-09-22  castaglia <castaglia>

	* NEWS, modules/mod_facts.c: Bug#3830 - MFF/MFMT command segfaults
	due to insufficient parameter checks.

2012-09-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MFF.pm: Update of regression
	test for Bug#3830.

2012-09-22  castaglia <castaglia>

	* doc/modules/mod_facts.html: Update link to somers Draft which
	defines the MFF and MFMT commands.

2012-09-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MFF.pm: Checking in regression
	test for Bug#3830.

2012-09-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm: Checking in regression
	test for Bug#3829.

2012-09-21  castaglia <castaglia>

	* NEWS: Typo.

2012-09-21  castaglia <castaglia>

	* NEWS, contrib/mod_deflate.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Bug#3828 - Certain
	sequences of FTP data transfer commands lead to NULL pointer
	deferences in mod_deflate.

2012-09-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Updated the
	mod_deflate tests to use testcase-specific logging.

2012-09-19  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3827 - Use non-filesystem based
	SFTP handle generator instead of mktemp(3).

2012-09-19  castaglia <castaglia>

	* src/prxs.in: Even if the installed `proftpd' executable supports
	DSOs, the prxs script itself may have been generated by a configure
	script that did not use the --enable-dso option -- and we need to
	error out in that case, rather than trying to build a shared module
	without the proper flags.

2012-09-12  castaglia <castaglia>

	* tests/api/netaddr.c: Flesh out tests for the
	pr_netaddr_is_v4mappedv6() function.  Added tests for the new
	pr_netaddr_is_rfc1918() function (Bug#3825).

2012-09-12  castaglia <castaglia>

	* src/netaddr.c: Fix compilation error if --disable-ipv6 is used.
	Set errno appropriately when the pr_netaddr_is_v4mappedv6()
	comparison (done by macros) returns false.

2012-09-12  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, include/netaddr.h, modules/mod_core.c,
	src/netaddr.c: Bug#3825 - Handle RFC 1918 IP addresses in PORT/EPRT
	commands.

2012-09-11  castaglia <castaglia>

	* NEWS, src/data.c: Bug#3824 - Use RFC compliant address/port for
	data transfer if FTP client has not sent PORT/PASV/EPRT/EPSV
	commands.

2012-09-07  castaglia <castaglia>

	* doc/howto/TLS.html: Try to tell admins how to configure mod_tls if
	they want to support clients which send "PROT C".

2012-09-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/SITE/CHMOD.pm: Adding
	regression test demonstrating that a SITE CHMOD command can be
	properly blocked by a <Limit> in a .ftpaccess file.

2012-09-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Regression
	tests for the logging changes made for Bug#3822.

2012-09-07  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c, modules/mod_log.c: Bug#3822 - Resolving
	%U/%u LogFormat variables inconsistent between mod_log/mod_sql in
	certain cases.

2012-09-07  jwm <jwm>

	* contrib/mod_ldap.c: git 3d541bc898: fix symbol copy pasta

2012-09-07  castaglia <castaglia>

	* src/netaddr.c: Portability fix for Bug#3820: FreeBSD (and probably
	others) don't define AF_PACKET.  Filter ifaddrs, then, based on
	AF_INET/AF_INET6.

2012-09-06  castaglia <castaglia>

	* config.h.in: Forgot to update config.h.in for the new header
	checks.

2012-09-06  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, include/netaddr.h, modules/mod_core.c,
	src/netaddr.c: Bug#3820 - Support device/interface names in
	<VirtualHost>, MasqueradeAddress, and DefaultAddress.

2012-09-06  castaglia <castaglia>

	* NEWS, src/netaddr.c: Bug#3806 - Support reverse DNS resolution for
	IPv6 addresses when gethostbyname2(3) is not available.

2012-09-06  castaglia <castaglia>

	* src/auth.c: Pass along the path to which a chroot() will happen,
	as part of the 'core.chroot' event.

2012-09-05  castaglia <castaglia>

	* src/proftpd.8.in: Mention the new proftpd.conf(5) man page in the
	proftpd(8) man page.

2012-09-05  castaglia <castaglia>

	* configure: Updated configure.

2012-09-05  castaglia <castaglia>

	* Makefile.in, configure.in, src/.cvsignore, src/proftpd.conf.5.in: 
	Bug#3805 - proftpd.conf could use a short manpage.

2012-09-05  castaglia <castaglia>

	* doc/howto/CreateHome.html: Mention the new NoRootPrivs CreateHome
	parameter in the CreateHome howto.

2012-09-05  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm: Tests for the
	CreateHome NoRootPrivs option added for Bug#3813.

2012-09-05  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, include/mkhome.h, modules/mod_auth.c,
	src/mkhome.c: Bug#3813 - Ability to use CreateHome to create parent
	directories as non-root user, for better interoperability with NFS.

2012-08-30  castaglia <castaglia>

	* configure: Updated configure.

2012-08-30  castaglia <castaglia>

	* configure.in: Starting work on Bug#3820.  To do so, we need to add
	autoconf checks for the necessary headers (net/if.h, ifaddrs.h) and
	functions (getifaddrs(3)).

2012-08-27  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Missed a mention of hmac-sha2-256-96
	and hmac-sha2-512-96.

2012-08-27  castaglia <castaglia>

	* contrib/mod_sftp/crypto.c, doc/contrib/mod_sftp.html: Remove
	support for the hmac-sha2-256-96 and hmac-sha2-512-96 digests, since
	they were removed from the spec.

2012-08-23  castaglia <castaglia>

	* src/inet.c: When toggling the blocking/nonblocking status of the
	connection, make sure that we set the mode flag properly on the
	connection; the blocking-changing functions rely on that mode flag.

2012-08-23  castaglia <castaglia>

	* src/inet.c: Check the return value of pr_inet_set_nonblock(), so
	that we can catch errors (e.g. EBADF) earlier.  This might also
	prevent seeing EADDRINUSE spuriously.

2012-08-23  castaglia <castaglia>

	* modules/mod_xfer.c, src/netio.c: Trying to avoid a "Insufficient
	memory or file locked" transfer aborted message (probably caused by
	EAGAIN being returned somewhere).

2012-08-22  castaglia <castaglia>

	* src/trace.c: Avoid possible file descriptor leak in the just-added
	pr_trace_use_stderr() function.

2012-08-22  castaglia <castaglia>

	* include/trace.h, src/trace.c: Add some functions to the Trace API
	to cause its logging to be written out to stderr.  Useful for
	development/debugging utilities.

2012-08-22  castaglia <castaglia>

	* tests/api/netaddr.c: Be prepared for a few other possibilities
	when resolving '::1' to DNS names.

2012-08-22  castaglia <castaglia>

	* NEWS, contrib/Makefile.in: Bug#3816 - Installation of ftpasswd
	does not honor DESTDIR environment variable.

2012-08-22  castaglia <castaglia>

	* tests/api/netaddr.c: Start working on an API-level unit test for
	handling changes related to Bug#3806 (i.e. making sure
	pr_netaddr_get_dnsstr() works properly for IPv6 addresses on systems
	which don't have gethostbyname2(3)).

2012-08-20  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: Update mod_sftp to use the same
	OpenSSL version checking as is done in mod_tls, i.e. don't log a
	header/library version mismatch if the OpenSSL version is 1.0.0 or
	newer.

2012-08-16  castaglia <castaglia>

	* contrib/mod_sftp_pam.c: If the PAM conversation in mod_sftp_pam
	fails, log it to the SFTPLog rather than to the TraceLog.  (Maybe
	this should be logged to the normal debug logging as well?)

2012-08-15  castaglia <castaglia>

	* contrib/mod_sftp_pam.c: Filter out unhelpful error log messages.

2012-08-15  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.init.d: Bug#3814 - Support
	"configtest" command for contrib init.d script.

2012-08-10  castaglia <castaglia>

	* configure: Updated configure script for Bug#3725.

2012-08-10  castaglia <castaglia>

	* Makefile.in: Substitute the proftpd_cvs_version_main value in the
	proftpd.spec (part of Bug#3725).

2012-08-10  castaglia <castaglia>

	* Makefile.in: More work on Bug#3725: separate out the handling of
	the .spec file into its own target, for clarity.  This also starts
	work on substituting some of the .spec file values for values
	obtained during the build.

2012-08-10  castaglia <castaglia>

	* configure.in: Make sure the version-parsing stuff in the configure
	script correctly handles the case where there is no RC portion of
	the version string.

2012-08-09  castaglia <castaglia>

	* Make.rules.in, Makefile.in, configure.in: Start working on
	Bug#3725.  To do this, the configure/Make.rules files need to parse
	out the following forms of the version: the full version (i.e.
	BUILD_VERSION), the release version (e.g. 1.3.5 for the
	stable/production version of this development cycle), and the RC
	version (for RCs only).

2012-08-09  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: Merge in changes from Paul Howarth,
	packaging up the language files when building an RPM with
	--enable-nls, and requiring the gettext tools for building said
	language files.

2012-08-09  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: Update the proftpd.spec file to
	have mod_wrap2 et al in the main package, rather than in the wrap
	subpackage, since they do not need tcpwrappers.

2012-08-09  castaglia <castaglia>

	* tests/t/config/maxclientsperclass.t,
	tests/t/config/maxclientsperuser.t,
	tests/t/lib/ProFTPD/Tests/Config/MaxClientsPerClass.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxClientsPerUser.pm,
	tests/tests.pl: Adding missing regression tests for the
	MaxClientsPerClass and MaxClientsPerUser directives.

2012-08-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Regression tests
	for Bug#3811.

2012-08-08  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#3811 - ExtendedLog entries not
	written if MaxClients limit reached.

2012-08-07  castaglia <castaglia>

	* include/netaddr.h, src/netaddr.c: Add new pr_netaddr_set_port2()
	function, which automatically handles conversion of the host byte
	order port number to network byte order.  (Should have been done
	this way from the start.)

2012-08-06  castaglia <castaglia>

	* src/inet.c: Make sure we always return the socket to blocking
	mode, regardless of how we return from pr_inet_connect_nowait().

2012-08-06  castaglia <castaglia>

	* contrib/mod_tls.c: Remove duplicate SSL_CTX_check_private_key()
	calls.

2012-08-06  castaglia <castaglia>

	* src/trace.c: Always try to leave a terminating NUL, just in case.

2012-08-06  castaglia <castaglia>

	* src/support.c: Stylistic nit; no functional change.

2012-08-06  castaglia <castaglia>

	* include/dirtree.h, src/dirtree.c, src/parser.c: Add a pr_table_t
	to the server_rec, so that modules can associate any data they wish
	with a given server_rec, for their (or other modules') use later.

2012-08-05  castaglia <castaglia>

	* src/dirtree.c: Fix possible off-by-one error.  Clean up stylistic
	nit.  Avoid unnecessary config_rec lookup if there is no <Class>
	defined for a connection.

2012-08-01  castaglia <castaglia>

	* contrib/mod_sql.c, modules/mod_log.c: Fix the logging of the %f
	variable for uploads by looking for the correct key in the
	cmd->notes table.  Prefer the cmd->notes table over session.xfer for
	uploads.

2012-08-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: And a few more places
	to use assert_transfer_ok().

2012-08-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Update tests to use
	assert_transfer_ok() in more places.

2012-08-01  castaglia <castaglia>

	* RELEASE_NOTES, doc/contrib/mod_sftp.html: Update the docs showing
	that mod_sftp now supports MaxStoreFileSize.

2012-08-01  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Support MaxStoreFileSize for scp uploads
	now.  Populate the various cmd->notes keys, as used by mod_xfer, for
	scp transfers.

2012-08-01  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Stylistic nit.

2012-08-01  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Off-by-one nit.

2012-08-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/sql.pm: Additional
	tests for the %{transfer-status}, %{transfer-failure} variables, as
	well as ensuring that %f is populated properly in the various
	situations.

2012-08-01  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Support the MaxStoreFileSize directive for
	SFTP uploads.  Start stashing the same notes for file transfers as used by
	mod_xfer; this is for the benefit of logging modules such as mod_log
	and mod_sql.

2012-07-31  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Updated/fixed
	mod_sql logging tests for the %{transfer-status} variable, and added
	testing of the %f in those various transfer cases, making sure the
	full path is extrapolated properly.

2012-07-31  castaglia <castaglia>

	* locale/Makefile.in: When generating a new .pot file, delete the
	old version.

2012-07-31  castaglia <castaglia>

	* doc/modules/mod_facts.html: Grammar fix.

2012-07-31  castaglia <castaglia>

	* doc/modules/mod_facts.html: Markup typo.

2012-07-30  castaglia <castaglia>

	* NEWS, contrib/mod_radius.c: Bug#3809 - Segfaults in mod_radius
	when configured with RadiusGroupInfo.

2012-07-30  castaglia <castaglia>

	* contrib/mod_radius.c: Stylistic cleanup; no functional change.

2012-07-30  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Remove duplicate
	variable.

2012-07-30  castaglia <castaglia>

	* doc/howto/DSO.html: Minor update to DSO howto.

2012-07-30  castaglia <castaglia>

	* contrib/mod_tls.c: Minor update/improvement to fix for Bug#3808.

2012-07-30  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3808 - Segfault in mod_tls when
	mod_tls_shmcache used.

2012-07-27  castaglia <castaglia>

	* NEWS, src/inet.c: Bug#3804 - ioctl(RPROTDIS) code no longer needed
	on Solaris 11.

2012-07-27  castaglia <castaglia>

	* RELEASE_NOTES, contrib/mod_tls.c, doc/contrib/mod_tls.html: Change
	the default TLSCipherSuite from "ALL:!ADH" to
	"DEFAULT:!EXPORT:!DES", to be more secure out-of-the-box.  This
	disables weaker ciphersuites such as the export-grade ciphers, and
	the DES ciphers.

2012-07-27  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Adding documentation for new
	TLSServerCipherPreference directive.

2012-07-27  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3801 - mod_tls should
	have directive like Apache mod_ssl's SSLHonorCipherOrder.

2012-07-26  castaglia <castaglia>

	* tests/api/response.c: Remove unused variable.

2012-07-26  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Quell compiler warning about signedness
	mismatch.

2012-07-25  castaglia <castaglia>

	* NEWS, contrib/mod_exec.c, contrib/mod_quotatab.c,
	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp_pam.c,
	contrib/mod_sql.c, contrib/mod_sql_passwd.c, contrib/mod_tls.c,
	contrib/mod_wrap2/mod_wrap2.c, modules/mod_facts.c: Bug#3800 -
	Multiple *Options directives should be handled properly.

2012-07-25  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Quell compiler warning about possibly
	uninitialized memory/variable.

2012-07-25  castaglia <castaglia>

	* contrib/mod_quotatab.c: Minor style cleanup.  Better handling of
	errno values when creating the QuotaLock file.

2012-07-25  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Regression test for
	TLSOptions handling change, per Bug#3800.

2012-07-25  castaglia <castaglia>

	* doc/modules/mod_facts.html: Fix markup.

2012-07-20  castaglia <castaglia>

	* contrib/mod_sftp/cipher.c, contrib/mod_sftp/compress.c,
	contrib/mod_sftp/mac.c, contrib/mod_sftp/packet.c: More careful use
	of errno value when writing out SSH2 packets.

2012-07-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	test showing client-initiated rekeying.

2012-07-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	tests for Bug#3798.

2012-07-20  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/scp.c: Bug#3798 - Downloading nonexistent
	file via SCP results in timeout rather than error.

2012-07-13  castaglia <castaglia>

	* NEWS, modules/mod_facts.c: Bug#3790 - Logfile timestamps change to
	GMT after MFMT command.

2012-07-12  castaglia <castaglia>

	* contrib/mod_sftp/kex.c: Increase the message buffer size for some
	KEX messages.  Fix some unintialized variable compiler warnings.

2012-07-12  castaglia <castaglia>

	* configure: Updated configure.

2012-07-12  castaglia <castaglia>

	* NEWS, configure.in: Bug#3795 - ProFTPD needs to use -pthread
	linker option if linking against OpenSSL with thread support.

2012-07-12  castaglia <castaglia>

	* configure: Updated configure.

2012-07-12  castaglia <castaglia>

	* configure.in: Fix mistake in previous configure.in patch; we
	forgot to restore the LIBS variable in the case where linking with
	OpenSSL succeeds without needing to check for an -ldl linkage.

2012-07-11  castaglia <castaglia>

	* configure: Updated configure.

2012-07-11  castaglia <castaglia>

	* configure.in: Fix minor bug in autoconf check for successful
	linking with OpenSSL; the LIBS variable still contained a reference
	to -lsupp at that check, and the libsupp library hasn't been
	compiled at that check.

2012-07-10  castaglia <castaglia>

	* contrib/mod_sftp/auth-password.c,
	contrib/mod_sftp/auth-publickey.c: Be sure to set errno properly
	when indicating an authentication has failed; the errno value is
	used when determining the list of still-acceptable auth methods to
	report back to the client.

2012-06-26  jwm <jwm>

	* contrib/mod_ldap.c: git 603e38269a: interpolate %u in the quota
	base DN, too

2012-06-26  jwm <jwm>

	* contrib/mod_ldap.c: git 53e5489e64: Fixed swapped DN/attr name in
	'no attr for' error messages.

2012-06-18  castaglia <castaglia>

	* NEWS, lib/tpl.c: Bug#3794 - Cygwin build failure in lib/tpl.c due
	to wrong include of mman.h.

2012-06-08  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/scp.c: Bug#3791 - Invalid handling of SCP
	control messages fragmented over multiple SSH packets.

2012-06-06  castaglia <castaglia>

	* NEWS, src/main.c: Bug#3740 - Overwrite permission denied when
	reloading multiple times and multiple <VirtualHost> sections in
	proftpd.conf.

2012-06-06  castaglia <castaglia>

	* doc/howto/Timestamps.html: Update the Timestamps howto in light of
	information learned from Bug#3790.

2012-06-01  castaglia <castaglia>

	* doc/howto/Limit.html: Try to make it clear that <Limit ALL> does
	not automatically cover <Limit LOGIN> as well.

2012-05-31  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Added regression
	test for the AllowDotLogin TLSOption, spurred by Bug#3788.

2012-05-31  castaglia <castaglia>

	* doc/modules/mod_core.html: Add description for the AuthOrder
	directive to the mod_core docs.

2012-05-30  castaglia <castaglia>

	* src/prxs.in: Update the prxs script to check for a module-specific
	configure script; if found, refuse to build the module.  Otherwise,
	prxs might successfully compile a module which doesn't work.  This will be the situation until Bug#3308 is fixed.

2012-05-30  castaglia <castaglia>

	* src/prxs.in: Handle the case where prxs might be used like so:   $ prxs -c -i -d contrib/mod_sql_sqlite.c i.e. from the top-level of the source directory.

2012-05-30  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding
	regression test for logging of a failed transfer where the control
	connection goes away first.

2012-05-30  castaglia <castaglia>

	* modules/mod_xfer.c: If the control connection dies while we are in
	the middle of a data transfer, dispatch a fake command for the
	aborted RETR/STOR, so that logging is done properly for the failed
	data transfer command.

2012-05-30  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Additional fix to handling of OPEN
	attributes per spec, related to Bug#3787.

2012-05-30  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding
	regression test to work on population of the %{transfer-status} and
	%{transfer-failure} logging variables.

2012-05-30  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/sql.pm,
	tests/t/modules/mod_sftp/sql.t, tests/tests.pl: Adding regression
	tests for the %{transfer-status}, %{transfer-failure} logging
	variables for SFTP sessions.

2012-05-29  castaglia <castaglia>

	* contrib/mod_sql.c, modules/mod_log.c: Try a little harder to
	populate the %F/%f logging variables for RETR/STOR in the cases
	where they might have been aborted.

2012-05-29  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Stash enough information in the command
	notes for supporting the transfer logging variables properly for
	aborted SFTP transfers.

2012-05-29  castaglia <castaglia>

	* contrib/mod_sql.c, modules/mod_log.c: Adding support for the
	%{transfer-status} and %{transfer-failure} logging variables when
	dealing with SFTP/SCP sessions.

2012-05-29  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Make the trace message about read-only
	SFTP OPENs less verbose.

2012-05-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	test for Bug#3787.

2012-05-29  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3787 - Read-only SFTP OPEN
	request permissions not properly ignored.

2012-05-29  castaglia <castaglia>

	* contrib/mod_sql.c: Use the proper format string for the data type
	being printed.

2012-05-25  castaglia <castaglia>

	* config.guess, config.sub, contrib/mod_load/config.guess,
	contrib/mod_load/config.sub, contrib/mod_sftp/config.guess,
	contrib/mod_sftp/config.sub, lib/libltdl/config/config.guess,
	lib/libltdl/config/config.sub: Updating the config.{guess,sub}
	files.

2012-05-25  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/CWD.pm: Additional regression
	tests for Bug#3785.

2012-05-25  castaglia <castaglia>

	* src/fsio.c: Additional fix needed for Bug#3785.

2012-05-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm: Update
	mod_auth_file tests to use testcase-specific logging.  Added a test
	showing that use of syntax such as 'user@domain.com' works properly.

2012-05-24  castaglia <castaglia>

	* contrib/mod_tls.c: If mod_tls sees that the OpenSSL header version
	is 1.0.0 or greater, then relax the header/library version
	check/warning a little.

2012-05-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/CWD.pm: Regression test for
	Bug#3785.

2012-05-24  castaglia <castaglia>

	* NEWS, src/fsio.c: Bug#3785 - Support resolution of tilde (~)
	within a chrooted session.  To implement this, in pr_fs_interpolate(), we check to see whether
	we are chrooted or not.  If so, instead of interpolating in the
	user's home directory, we simply interpolate in the string "/".

2012-05-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Add regression test for
	a plain ABOR command, with no data transfer involved.

2012-05-23  castaglia <castaglia>

	* contrib/mod_sql.c, modules/mod_log.c: Slightly better handling of
	the ABOR command when it comes to determining the value of the
	%{transfer-status} log variable.

2012-05-22  castaglia <castaglia>

	* doc/howto/NAT.html: Added another NAT-related FAQ.

2012-05-22  castaglia <castaglia>

	* src/child.c, src/support.c: Stylistic nits.

2012-05-22  castaglia <castaglia>

	* modules/mod_delay.c: Stylistic cleanups.

2012-05-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm: Updated mod_delay
	tests in light of changed response code/message for Bug#3736.

2012-05-22  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#3736 - Trying to re-authenticate an
	existing FTP connection causes invalid 503 response.

2012-05-22  castaglia <castaglia>

	* contrib/mod_sftp/kex.c: Typo in comment.

2012-05-20  castaglia <castaglia>

	* src/log.c: Remove a few redundant strlen(3) calls in the "hot"
	paths of logging.

2012-05-18  castaglia <castaglia>

	* contrib/mod_tls.c: After loading a private key into an SSL_CTX
	object, use the SSL_CTX_check_private_key() function to verify that
	it's a good private key.

2012-05-16  castaglia <castaglia>

	* modules/mod_log.c: Reduce the window of time where root privs are
	used when dealing with any configured ServerLogs.  Log if we can't
	open a ServerLog for some reason.

2012-05-15  castaglia <castaglia>

	* NEWS, src/inet.c: Bug#3780 - AIX gives "error setting listen fd
	IP_TOS: Invalid argument".

2012-05-14  castaglia <castaglia>

	* doc/contrib/index.html: Adding entries for mod_deflate, mod_qos to
	the contrib module docs.

2012-05-14  castaglia <castaglia>

	* modules/mod_dso.c: Try to make mod_dso's error reporting better
	when it comes to loading a module which is not where it is expected
	to be.

2012-05-14  castaglia <castaglia>

	* modules/Makefile.in: If proftpd has been linked, and then the
	modules/mod_dso.c file has been modified, make sure that `make' will
	recompile that modified file (this was not happening as expected for
	mod_dso.c, due to its special Makefile rule).

2012-05-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
	regression test for Bug#3782.

2012-05-10  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#3782 - SQLShowInfo does not work
	properly for error responses.

2012-05-10  castaglia <castaglia>

	* src/support.c: Stylistic nits; no functional change.

2012-05-10  castaglia <castaglia>

	* src/pool.c: The pool_release_free_block_list() function already
	blocks/unblocks alarms.

2012-05-10  castaglia <castaglia>

	* src/pool.c: Fix the pool_release_blocks_on_free_list() function so
	that it properly calls free(3) on all malloc'd memory on the
	freelist; the previous loop logic was quite wonky.  Made the block_freelist symbol have file scope only; there's
	absolutely no reason why it should be visible outside of this file.  Stylistic nits/cleanup.

2012-05-10  castaglia <castaglia>

	* src/parser.c: Stylistic nits.

2012-05-10  castaglia <castaglia>

	* modules/mod_auth_file.c: Add minor trace logging to the
	mod_auth_file module.  Stylistic nits, better errno reporting.

2012-05-09  castaglia <castaglia>

	* contrib/mod_sftp/keys.c: If we can't read the configured
	SFTPHostKey, provide a more accurate/informative error message about
	why.

2012-05-08  castaglia <castaglia>

	* doc/modules/mod_core.html: Updated mod_core docs to include
	DisplayChdir, DisplayConnect, and DisplayQuit descriptions.

2012-05-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Update the
	mod_sql_passwd tests to use testcase-specific logging.  Added
	another config/recipe showing the SQLPasswordOptions.

2012-05-03  castaglia <castaglia>

	* doc/howto/DisplayFiles.html: Fix typo, add another FAQ about the
	location of the Display file having a bearing on the %F/%f values.

2012-05-03  castaglia <castaglia>

	* src/pool.c: Add the address of the pool being dumped to the
	output.

2012-05-01  castaglia <castaglia>

	* contrib/mod_wrap2_sql.c: Try to improve the logging of mod_wrap2
	misconfigurations, to make it clearer/easier for admins to diagnose
	the problem.

2012-04-28  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: Fix cut-n-pasto.

2012-04-27  castaglia <castaglia>

	* contrib/mod_tls.c: Make the TLSLog a little quieter; stop spamming
	the log with needless information.

2012-04-27  castaglia <castaglia>

	* contrib/mod_tls.c: If we encounter an error reading the
	CertificateKeyFile because of a badly formatted file, display a more
	informative error.

2012-04-24  castaglia <castaglia>

	* include/stash.h, src/stash.c: Add a pr_stash_dump() function, for
	dumping out info about the stash table.  This function is only
	implemented when the --enable-devel configure option is used.

2012-04-24  castaglia <castaglia>

	* src/auth.c: More trace logging of some edge cases when dispatching
	auth commands.  Some stylistic cleanup.

2012-04-24  castaglia <castaglia>

	* contrib/mod_sftp/keys.c: Fix excess fd usage when loading
	passphrase-protected SSH host keys.

2012-04-24  castaglia <castaglia>

	* contrib/mod_tls.c: Turns out these explicit casts aren't needed; I
	just had an unclean work area.

2012-04-24  castaglia <castaglia>

	* contrib/mod_tls.c: Quell compiler warnings about mismatched
	pointers using an explicit cast.

2012-04-24  castaglia <castaglia>

	* contrib/mod_tls.c: Fix an fd issue in mod_tls.  Not exactly an fd
	leak, per se (the number of open fds does not keep increasing), but
	definitely an excess number of fds issue.

2012-04-24  castaglia <castaglia>

	* lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: Bug#3774 - Linking
	libsupp.a fails (undefined reference to `__alloca').

2012-04-23  castaglia <castaglia>

	* doc/howto/NAT.html: Adding MasqueradeAddress FAQ.

2012-04-23  castaglia <castaglia>

	* doc/modules/mod_auth_file.html, doc/modules/mod_auth_unix.html: 
	Add FAQs about the crypt(3) first 8 character limitation.

2012-04-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/PASS.pm: Adding test proving
	that spaces in passwords are handled properly.

2012-04-20  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Increase the amount of metadata allotted
	for each directory entry.  Hopefully this will fix some issues for
	some directory listings.

2012-04-19  castaglia <castaglia>

	* NEWS, lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: Bug#3732 - AIX
	build error: undefined symbol: .alloca.

2012-04-18  castaglia <castaglia>

	* configure: Updated configure.

2012-04-18  castaglia <castaglia>

	* configure.in: The --enable-devel flags/libs are typically not
	specific to gcc; make sure that they are applied to non-gcc compiler
	builds, then.

2012-04-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm: Adding regression
	test for the ListOptions maxfiles parameter.

2012-04-16  castaglia <castaglia>

	* src/support.c: Quell compiler warnings.

2012-04-16  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/keys.c: Quell compiler
	warnings (Bug#3773).

2012-04-16  castaglia <castaglia>

	* modules/mod_cap.c: Fix compiler issue requiring forward
	reference/decclaration.

2012-04-15  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Remove cruft from
	these tests.

2012-04-15  castaglia <castaglia>

	* RELEASE_NOTES: Make sure to mention HOST support in the release
	notes.

2012-04-15  castaglia <castaglia>

	* contrib/mod_tls.c, include/bindings.h, include/modules.h,
	include/proftpd.h, include/session.h, modules/mod_auth.c,
	modules/mod_auth_file.c, modules/mod_auth_unix.c,
	modules/mod_cap.c, modules/mod_core.c, modules/mod_delay.c,
	modules/mod_facts.c, modules/mod_ident.c, modules/mod_log.c,
	modules/mod_memcache.c, modules/mod_xfer.c, src/bindings.c,
	src/cmd.c, src/dirtree.c, src/main.c, src/modules.c,
	src/proctitle.c, src/session.c, src/trace.c,
	tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Major work done on
	support for the HOST command (Bug#3289), to support name-based
	virtual hosting in proftpd.  There is still more work needed to
	complete the feature, however.

2012-04-13  castaglia <castaglia>

	* src/fsio.c: Fix possible issue with encoding, due to passing the
	terminating NUL into the iconv functions (Bug#3769).

2012-04-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/UserAlias.pm: Add regression test
	demonstrating a UserAlias which uses the '@' symbol.

2012-04-08  castaglia <castaglia>

	* include/netaddr.h, src/netaddr.c, tests/api/netaddr.c: Add two new
	functions: pr_netaddr_is_v4() and pr_netaddr_is_v6().  These
	functions can be used to test whether a given name is an IP address
	(or a DNS name).

2012-04-08  castaglia <castaglia>

	* include/conf.h, include/netaddr.h, src/netaddr.c,
	tests/api/netaddr.c: Back out the addition of the
	pr_netaddr_get_addr2() function; I'll be using a different approach
	for determining when a user-given string is an IP address or a DNS
	name.

2012-04-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/SystemLog.pm,
	tests/t/logging/systemlog.t: Adding regression tests for the
	SystemLog directive.

2012-04-06  castaglia <castaglia>

	* modules/Makefile.in: Make sure that if a static module fails to
	build (e.g. mod_sftp), the entire build is failed.

2012-04-06  castaglia <castaglia>

	* contrib/mod_sftp/agent.c: It appears that Solaris 10 does not like
	the use of a variable name 'sun'; it already has that name defined
	in some system headers.  Silly.

2012-04-06  castaglia <castaglia>

	* NEWS, src/encode.c: Bug#3769 - Ensure that encoded strings are
	NUL-terminated.

2012-04-05  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Add regression
	tests showing that HideFiles properly hides files from the MLSD and
	STAT commands.

2012-04-05  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Updating the
	HideFiles regression tests to use testcase-specific logging.

2012-04-04  castaglia <castaglia>

	* contrib/mod_tls.c: When validating OCSP responses, make sure that
	we validate the timestamps on the OCSP response as well.

2012-04-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_geoip.pm: Removing mod_geoip
	tests; it's not that easy/expedient to have them in the testsuite.

2012-04-04  castaglia <castaglia>

	* contrib/mod_geoip.c: Add support for checking the GeoIP filters in
	PASS POST_CMD handler, so that geoip restrictions can be enforced on
	a per-user/group basis e.g. via mod_ifsession.

2012-04-04  castaglia <castaglia>

	* modules/mod_xfer.c, src/data.c: Move the cleanup of aborted data
	connection stuff to a LOG_CMD handler in mod_xfer, so that other
	modules (e.g. mod_sql, mod_log) could log abort-related info first.
	Do some stylistic cleanups as well.

2012-04-04  castaglia <castaglia>

	* include/conf.h, include/netaddr.h, src/netaddr.c,
	tests/api/netaddr.c: Add a new pr_netaddr_get_addr2() function,
	which returns additional information about a retrieved address.
	Namely, whether the given lookup name was an IPv4/6 address, or a
	DNS name.  This information will be needed for handling HOST
	parameters.

2012-04-04  castaglia <castaglia>

	* doc/modules/mod_log.html: Document the new %{transfer-status},
	%{transfer-failure} LogFormat variables.

2012-04-04  castaglia <castaglia>

	* modules/mod_log.c: Support the new %{transfer-status},
	%{transfer-failure} LogFormat variables.

2012-04-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Added regression
	tests for the %{transfer-status}, %{transfer-failure} LogFormat
	variables in ExtendedLogs.

2012-04-04  castaglia <castaglia>

	* RELEASE_NOTES, contrib/mod_sql.c: Support the new
	%{transfer-status}, %{transfer-failure} variables in SQLLog
	directives.

2012-04-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding tests
	for using the new %{transfer-status}, %{transfer-failure} variables
	in SQLLog directives.

2012-04-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_geoip.pm,
	tests/t/modules/mod_geoip.t, tests/tests.pl: Adding necessary files
	for writing regression tests for the mod_geoip module.

2012-04-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm: Fix up the
	mod_delay tests to use testcase-specific logging.

2012-04-03  castaglia <castaglia>

	* README.modules, doc/contrib/mod_geoip.html: Updating other docs
	related to mod_geoip.

2012-04-03  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_geoip.c,
	doc/contrib/mod_geoip.html: Adding mod_geoip to the list of contrib
	modules distributed with ProFTPD.

2012-04-03  castaglia <castaglia>

	* NEWS, contrib/mod_exec.c: Bug#3768 - ExecTimeout 0 (zero) not
	treated as infinite.

2012-04-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
	regression test for Bug#3767.

2012-04-03  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c: Bug#3767 - mod_rewrite segfault when
	handling SITE CHGRP without a parameter.

2012-03-31  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Updating the
	mod_sql_sqlite tests to use testcase-specific logging.

2012-03-31  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_quotatab.c,
	contrib/mod_quotatab.h: Bug#3766 - Support a QuotaDefault directive,
	for configuring default limits.

2012-03-31  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Adding
	regression tests for Bug#3766 functionality (QuotaDefault
	directive).

2012-03-30  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Updating
	the mod_quotatab_sql regression testcases to use testcase-specific
	logging.

2012-03-30  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Child.pm: Since aborted transfers
	can result in a 226 response code but different response text, the
	assert_transfer_ok() method should allow callers to indicate whether
	the transfer was indeed aborted or not, lest the assertion fail
	unexpectedly.

2012-03-30  castaglia <castaglia>

	* contrib/mod_sftp/auth.c: Make sure to set the
	session.hide_password field to 'TRUE' for SSH2 logins.

2012-03-30  castaglia <castaglia>

	* include/version.h: This should mention a version of "1.3.5rc1",
	not "1.3.5".

2012-03-30  castaglia <castaglia>

	* doc/modules/mod_auth_unix.html: Add FAQ about PersistentPasswd and
	"caching" of system users.

2012-03-29  castaglia <castaglia>

	* src/data.c: Remove duplicate pr_timer_reset() call, and fix coding
	style.

2012-03-28  castaglia <castaglia>

	* tests/tests.pl: Run the HOST regression tests.

2012-03-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Start building up the
	collection of HOST-related regression tests.

2012-03-28  castaglia <castaglia>

	* modules/mod_core.c: Start working towards supporting the HOST
	command (Bug#3289).

2012-03-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Adding regression tests
	for Bug#3754.

2012-03-28  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#3754 - ProFTPD refuses to
	delete/rename a symlink pointing outside a writable directory.

2012-03-27  castaglia <castaglia>

	* doc/contrib/mod_rewrite.html: Document the new mod_rewrite
	date/time-related variables.

2012-03-27  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
	regression tests for Bug#3673 functionality.

2012-03-27  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_rewrite.c: Bug#3673 - Support
	date/timestamp variables in mod_rewrite.

2012-03-24  castaglia <castaglia>

	* doc/howto/Umask.html: Adding more info to the Umask howto.

2012-03-24  castaglia <castaglia>

	* doc/modules/mod_core.html: Adding Umask directive description to
	the mod_core doc.

2012-03-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Update EXIT
	regression test to use the %L/%a LogFormat variables.

2012-03-23  castaglia <castaglia>

	* modules/mod_log.c: Fix null pointer dereference when using the
	%L/%a variables in a LogFormat for the EXIT ExtendedLog command
	class.

2012-03-23  castaglia <castaglia>

	* NEWS, src/fsio.c: Bug#3626 - Display variable %f off by a factor
	of 1024 on 64-bit platforms.

2012-03-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	test for Bug#3765.

2012-03-23  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/misc.c,
	contrib/mod_sftp/misc.h, contrib/mod_sftp/scp.c: Bug#3765 - mod_sftp
	should honor the GroupOwner directive for MKDIR requests.

2012-03-22  castaglia <castaglia>

	* doc/modules/mod_log.html: Try to clarify that the ALL ExtendedLog
	command class does not include the EXIT command class.

2012-03-22  castaglia <castaglia>

	* NEWS: Fix wrong bug number in NEWS.

2012-03-19  castaglia <castaglia>

	* doc/modules/mod_log.html: Add link to RFC 959 and mention the
	section which defines the FTP response docs.  Add link to CLF, and
	explicitly mention that LogFormat's default format produces CLF
	entries.

2012-03-18  castaglia <castaglia>

	* doc/howto/Logging.html: Attempting to improve the Logging howto,
	in order to better address Bug#3540.

2012-03-18  castaglia <castaglia>

	* doc/modules/mod_core.html: By default, proftpd logs everything (in
	terms of SyslogLevel), thus the default SyslogLevel setting is
	"debug", not "none".

2012-03-17  castaglia <castaglia>

	* doc/howto/Logging.html: Updating Logging howto to point to local
	docs (now that we have them).

2012-03-17  castaglia <castaglia>

	* doc/modules/mod_core.html: For the SyslogFacility default, list
	"daemon" (although proftpd also uses "auth" for authentication
	messages).

2012-03-17  castaglia <castaglia>

	* doc/modules/mod_core.html: Add description of the DebugLevel
	directive to the mod_core documentation.  Add links to the Logging
	howto in the descriptions for DebugLevel, SyslogFacility, and
	SyslogLevel.

2012-03-17  castaglia <castaglia>

	* doc/modules/mod_core.html: Adding descriptions of the
	SyslogFacility and SyslogLevel directives to the mod_core
	documentation.

2012-03-14  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/kex.c: Bug#3746 - mod_sftp does not
	correctly handle a 'guess' KEX message when the client guesses
	correctly.

2012-03-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd/FIPS.pm,
	tests/t/modules/mod_sql_passwd/fips.t, tests/tests.pl: Adding
	regression tests for mod_sql_passwd when it is using an OpenSSL that
	is in FIPS mode.

2012-03-14  castaglia <castaglia>

	* src/log.c: Make sure that we get a usable syslog socket fd (read:
	not 0, 1, or 2) after a restart.

2012-03-13  castaglia <castaglia>

	* contrib/mod_sql_passwd.c: Now mod_sql_passwd properly checks the
	EVP_Digest* return values.  This makes it possible for
	mod_sql_passwd to Do The Right Thing(tm) when the digest cannot be
	used, e.g. MD5 passwords and OpenSSL that is in FIPS mode.

2012-03-13  castaglia <castaglia>

	* contrib/mod_sftp/kex.c: Add more trace logging of the name lists
	that mod_sftp is sending to the client.

2012-03-13  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.h.in: There will be enough new features
	in mod_sftp in this release to warrant bumping the module version.

2012-03-13  castaglia <castaglia>

	* contrib/mod_sftp/blacklist.c: Fix compiler warning.

2012-03-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/FIPS.pm: Adding
	regression tests for key-based SSH2 auth when in FIPS mode.

2012-03-13  castaglia <castaglia>

	* contrib/mod_sftp/auth-hostbased.c,
	contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/blacklist.c,
	contrib/mod_sftp/keys.c, contrib/mod_sftp/keys.h: Properly handle
	fingerprinting of keys when FIPS mode is enabled.  We used to always
	use MD5 fingerprints -- but that does not work for FIPS.  (We also
	weren't checking for digest errors when obtaining key fingerprints).
	Now, when FIPS mode is enabled, we use SHA1 fingerprints.

2012-03-13  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Document the list of cipher/digest
	algorithms that are no longer advertised by mod_sftp when FIPS mode
	is enabled.

2012-03-13  castaglia <castaglia>

	* contrib/mod_sftp/crypto.c: Allow the 3des-ctr cipher in FIPS mode
	(Bug#3763).

2012-03-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Support for a
	'feat_openssl_fips' testcase class label.  (Needed this to have the
	Bug#3763 regression tests executed but only when mod_sftp was built
	against a FIPS-enabled OpenSSL.)

2012-03-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/FIPS.pm,
	tests/t/modules/mod_sftp/fips.t, tests/tests.pl: Adding regression
	tests for Bug#3763.

2012-03-12  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sftp/cipher.c,
	contrib/mod_sftp/crypto.c, contrib/mod_sftp/mac.c,
	contrib/mod_sftp/mod_sftp.c: Bug#3763 - Ensure that mod_sftp
	operates properly when OpenSSL FIPS mode is enabled.

2012-03-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Include.pm: Add regression test
	for an Include directive which uses a glob pattern that results in
	no matches.

2012-03-12  castaglia <castaglia>

	* doc/modules/mod_core.html: Make sure the Include directive docs
	mention how a glob pattern with no matches is handled.

2012-03-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Make sure the modified/new
	server_wait() still sets a default timeout of 10 secs, even if a
	hashref of options has been provided by the caller.

2012-03-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/IfDefine.pm: Fix these tests so
	that they actually stop the daemon processes that they launch.

2012-03-11  castaglia <castaglia>

	* contrib/mod_sftp/packet.c: Include the IP address of the client
	who sends us a DISCONNECT SSH message.

2012-03-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Alter the
	server_wait() and server_start() Utils functions so that test cases
	can specify environment variables, and -D defines, to be used when
	starting proftpd.

2012-03-11  castaglia <castaglia>

	* tests/t/config/ifdefine.t,
	tests/t/lib/ProFTPD/Tests/Config/IfDefine.pm, tests/tests.pl: Adding
	regression tests for the <IfDefine> directive.

2012-03-11  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/kex.c, contrib/mod_sftp/packet.c,
	contrib/mod_sftp/packet.h: Bug#3761 - SSH2 key exchange fails if
	client sends certain SSH message before NEWKEYS.

2012-03-08  castaglia <castaglia>

	* contrib/mod_sftp/kex.c: Fix a few places where compilation would
	fail with a non-ECC capable OpenSSL version because I was missing
	some preprocessor guards.

2012-03-08  castaglia <castaglia>

	* tests/t/commands/site/chgrp.t,
	tests/t/lib/ProFTPD/Tests/Commands/SITE/CHGRP.pm, tests/tests.pl: 
	Adding missing regression tests for the SITE CHGRP command.

2012-03-07  castaglia <castaglia>

	* src/main.c: On some platforms (e.g. Solaris), uname(3) returns a
	positive number on success, and on other platforms, uname(3) returns
	zero on success.  The only reliable check for success, then, is
	whether the return value is less than zero on error -- all other
	values indicate success.

2012-03-07  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, doc/contrib/mod_sftp.html: Mention the new
	support for loading host keys from an SSH agent in the docs.

2012-03-07  castaglia <castaglia>

	* contrib/mod_sftp/agent.c, contrib/mod_sftp/keys.c,
	contrib/mod_sftp/mod_sftp.c: Put the finishing touches on support
	for loading SSH hostkeys from an SSH agent.

2012-03-06  castaglia <castaglia>

	* contrib/mod_sftp/agent.c, contrib/mod_sftp/agent.h,
	contrib/mod_sftp/keys.c, contrib/mod_sftp/mod_sftp.c: More work on
	getting mod_sftp ready to read hostkeys from an SSH agent.

2012-03-06  castaglia <castaglia>

	* contrib/mod_sftp/agent.c: Slightly better trace logging messages
	by including the Unix domain socket path, e.g. where there are
	different SSH agents for different vhosts.

2012-03-06  castaglia <castaglia>

	* contrib/mod_sftp/Makefile.in, contrib/mod_sftp/agent.c,
	contrib/mod_sftp/agent.h, contrib/mod_sftp/keys.c,
	contrib/mod_sftp/keys.h, contrib/mod_sftp/mod_sftp.c: Start working
	on support for obtaining hostkeys from an SSH agent, rather than
	from files on disk.

2012-03-04  castaglia <castaglia>

	* RELEASE_NOTES: Updating release notes.

2012-03-04  castaglia <castaglia>

	* contrib/mod_sftp/auth-hostbased.c: Forgot to update the hostbased
	auth to use the key type enum, and to support ECDSA keys for
	hostbased authentication as well.

2012-03-04  castaglia <castaglia>

	* doc/modules/mod_core.html: Fixing markup.

2012-03-02  castaglia <castaglia>

	* RELEASE_NOTES: Call out the ECC support for mod_sftp in the
	release notes.

2012-03-02  castaglia <castaglia>

	* contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/kex.c,
	contrib/mod_sftp/keys.c, contrib/mod_sftp/keys.h: Support use of
	ECDSA public keys for user/host authentication, as part of ECC
	support (Bug#3573).

2012-03-02  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	tests to mod_sftp, verifying that user public key authentication
	using ECDSA public keys works properly.  Part of Bug#3573.

2012-03-02  castaglia <castaglia>

	* tests/t/etc/modules/mod_sftp/authorized_ecdsa256_keys,
	tests/t/etc/modules/mod_sftp/authorized_ecdsa384_keys,
	tests/t/etc/modules/mod_sftp/authorized_ecdsa521_keys,
	tests/t/etc/modules/mod_sftp/test_ecdsa256_key,
	tests/t/etc/modules/mod_sftp/test_ecdsa256_key.pub,
	tests/t/etc/modules/mod_sftp/test_ecdsa384_key,
	tests/t/etc/modules/mod_sftp/test_ecdsa384_key.pub,
	tests/t/etc/modules/mod_sftp/test_ecdsa521_key,
	tests/t/etc/modules/mod_sftp/test_ecdsa521_key.pub: Adding ECDSA
	public keys, for use in verifying that ECDSA-based public key user
	authentication works properly (part of Bug#3573).

2012-03-01  castaglia <castaglia>

	* src/support.c: There's no reason for this memscrub_ctr variable
	symbol to be visible outside of this file.

2012-03-01  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#3758 - ProFTPD crashes when handling
	mod_gss authentication due to null pointer.

2012-03-01  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Update the mod_sftp docs to mention the
	new key exchange algorithms supported, as well as ECDSA hostkey
	support (Bug#3573).

2012-03-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	tests for the ECC support (hostkey algorithms, key exchange
	algorithms) in mod_sftp.  Note that these tests rely on an external
	sftp(1) program which has ECC support.

2012-03-01  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/kex.c, contrib/mod_sftp/keys.c,
	contrib/mod_sftp/keys.h, contrib/mod_sftp/mod_sftp.h.in,
	contrib/mod_sftp/msg.c, contrib/mod_sftp/msg.h,
	contrib/mod_sftp/ssh2.h: Bug#3573 - Support Elliptic Curve
	Cryptography (ECC) in SSH.

2012-03-01  castaglia <castaglia>

	* tests/t/etc/modules/mod_sftp/ssh_host_ecdsa256_key,
	tests/t/etc/modules/mod_sftp/ssh_host_ecdsa256_key.pub,
	tests/t/etc/modules/mod_sftp/ssh_host_ecdsa384_key,
	tests/t/etc/modules/mod_sftp/ssh_host_ecdsa384_key.pub,
	tests/t/etc/modules/mod_sftp/ssh_host_ecdsa521_key,
	tests/t/etc/modules/mod_sftp/ssh_host_ecdsa521_key.pub: Adding SSH
	ECDSA host keys for the regression tests for Bug#3573.

2012-02-28  castaglia <castaglia>

	* doc/contrib/mod_ctrls_admin.html: Removed mention of the 'dump'
	ftpdctl action; it is no longer supported by the mod_ctrls_admin
	module.

2012-02-28  castaglia <castaglia>

	* contrib/mod_ban.c: Better handling of errno values in certain
	cases, so that the return values (and log messages) reflect reality.

2012-02-27  castaglia <castaglia>

	* locale/proftpd.pot: Updating POT file; most of the changes are of
	source code line number changes, but there are a couple of different
	strings.

2012-02-27  castaglia <castaglia>

	* locale/files.txt: Updated list of files containing strings that
	might need to be localized.

2012-02-27  castaglia <castaglia>

	* modules/mod_xfer.c, tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm: 
	Return a 504 response code for unsupported TYPE parameters, rather
	than 500.

2012-02-27  castaglia <castaglia>

	* doc/modules/mod_auth.html, doc/modules/mod_core.html,
	doc/modules/mod_xfer.html: Document the maximum allowed timeout
	value, if any, for the various Timeout directives.

2012-02-24  castaglia <castaglia>

	* doc/modules/mod_lang.html: Updated mod_lang docs, per changes for
	Bug#3737.

2012-02-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Adding regression
	tests for the mod_lang changes from Bug#3737.

2012-02-24  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, modules/mod_lang.c: Bug#3737 - Allow UTF8
	when UseEncoding is used.

2012-02-24  castaglia <castaglia>

	* src/encode.c: Use syslogging, rather than trace logging, in
	encode_init(), since encoding is initialized before the config file
	is parsed (and thus before the TraceLog is opened).

2012-02-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Adding regression
	tests for the current mod_lang behavior with regard to UseEncoding
	and OPTS UTF8 commands.

2012-02-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Updated the
	mod_lang tests to use testcase-specific logging.

2012-02-24  castaglia <castaglia>

	* src/netio.c: Preserve the errno value, for the sake of the caller.

2012-02-24  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c, modules/mod_xfer.c: Update mod_sftp
	and mod_xfer so that they use the new pr_str_get_nbytes() function
	for parsing file sizes, e.g. from directive parameters.

2012-02-24  castaglia <castaglia>

	* include/str.h, src/str.c, tests/api/str.c: Refactor some common
	code (duplicated in mod_xfer and in mod_sftp) used to parse a string
	of "bytes", including suffix, into a numeric value, into a new
	String API pr_str_get_nbytes() function.

2012-02-24  castaglia <castaglia>

	* doc/modules/mod_auth.html: Document the new RootRevoke parameter,
	per Bug#3731.

2012-02-24  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, modules/mod_auth.c, modules/mod_core.c,
	src/data.c, src/inet.c,
	tests/t/lib/ProFTPD/Tests/Config/RootRevoke.pm: Bug#3731 - Support
	active data transfers while RootRevoke is in effect.

2012-02-24  castaglia <castaglia>

	* src/table.c: Since we're only reading from /dev/urandom, we don't
	really care about any error value from fclose(3).

2012-02-24  castaglia <castaglia>

	* modules/mod_dso.c: Quell valid compiler warning about shadowed
	variable.

2012-02-24  castaglia <castaglia>

	* contrib/mod_ban.c: Quell compiler warning about unreachable code
	(but only unreachable when memcache support is not enabled).

2012-02-24  castaglia <castaglia>

	* contrib/mod_sftp/rfc4716.c: Quell compiler warning about a line of
	code which will never be reached.

2012-02-24  castaglia <castaglia>

	* src/table.c: Fix compiler warning about generating the per-table
	random seed, when OpenSSL's RAND API is not available.  Also decided to simply add the per-table seed to the returned hash
	value, rather than XOR the seed in.

2012-02-24  castaglia <castaglia>

	* src/ctrls.c: Fixed another place in the Controls API where we
	weren't using the proper buffer length.

2012-02-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Add regression
	test for LogFormat/ExtendedLog, to make sure that an ABOR command is
	properly logged.

2012-02-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ctrls.pm: Adding regression
	test for Bug#3756.

2012-02-23  castaglia <castaglia>

	* NEWS, modules/mod_ctrls.c, src/ctrls.c: Bug#3756 - mod_ctrls no
	longer listens on ControlsSocket after restart.

2012-02-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Missing testcase
	tag.

2012-02-23  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Added documentation for the new
	IgnoreSFTPSetOwners SFTPOption (Bug#3757).

2012-02-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	tests for Bug#3757.

2012-02-23  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sftp/fxp.c,
	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in: 
	Bug#3757 - Support SFTPOption for ignoring requests to modify file
	ownership.

2012-02-23  castaglia <castaglia>

	* modules/mod_dso.c: Quell compiler warning about losing pointer
	qualifier.

2012-02-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/PASS.pm: Add regression test
	showing that the PASS command works properly with non-ASCII
	characters in the provided password.

2012-02-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/CWD.pm: Adding reproduction
	recipe for Bug#3730; this test shows that the reported behavior does
	not currently happen.  Still, useful to have the recipe around for
	possible regressions.

2012-02-22  castaglia <castaglia>

	* contrib/mod_ban.c: Committing additional fix for Bug#3751, to make
	sure that the BanTable fd, after a restart, is not one of
	stdin/stdout/stderr.

2012-02-21  castaglia <castaglia>

	* tests/t/config/envvars.t,
	tests/t/lib/ProFTPD/Tests/Config/EnvVars.pm, tests/tests.pl: Adding
	regression tests for using environment variables in proftpd.conf
	config files.

2012-02-21  castaglia <castaglia>

	* doc/utils/index.html: Better description of the prxs docs in the
	index.

2012-02-20  castaglia <castaglia>

	* doc/utils/prxs.html: Beginnings of a prxs doc.

2012-02-20  castaglia <castaglia>

	* doc/modules/mod_xfer.html: Adding descriptions for the
	TimeoutNoTransfer, TimeoutStalled directives to the bundled docs.

2012-02-20  castaglia <castaglia>

	* doc/modules/mod_core.html: Adding descriptions for the
	MaxInstances, TimeoutIdle directives to the bundled docs.

2012-02-20  castaglia <castaglia>

	* doc/modules/mod_auth.html: Adding descriptions for the
	TimeoutLogin, TimeoutSession directives to the bundled docs.

2012-02-19  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Refactor the code snippet for setting the
	'sftp.file-handle' note into a common function, and avoid the code
	duplication.

2012-02-19  castaglia <castaglia>

	* modules/mod_auth.c: Removed unused variable which was leading to a
	compiler warning noted in Bug#3755.

2012-02-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	test for feature added for Bug#3707.

2012-02-19  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3707 - Add request/transfer ID
	to the logging of the initial and closing commands for SFTP file
	transfers.  This adds a "sftp.file-handle" note to the cmd->notes table for SFTP
	transfer-related requests.  This note can then be logged in a custom
	LogFormat using the new support for notes, e.g.
	'%{note:sftp.file-handle}'.  Note that I also fixed the logging of %f LogFormat variables for
	SFTP CLOSE requests; the session.xfer struct was being cleared by
	the RETR/STOR handles to which the CLOSE request handler dispatched,
	and thus when the CLOSE request was dispatched, mod_log had no
	session.xfer information to work with.  Now fixed.

2012-02-19  castaglia <castaglia>

	* RELEASE_NOTES, modules/mod_log.c: Add support for a '%{note:...}'
	LogFormat variable, for logging "notes" to a custom LogFormat.  This
	makes LogFormat have parity with SQLLog, which also handles "notes"
	(something I quietly snuck into mod_sql).  It is also going to be
	used to satisfy the feature requested in Bug#3707.

2012-02-18  castaglia <castaglia>

	* configure: Updated configure.

2012-02-18  castaglia <castaglia>

	* configure.in: Extend the fix for Bug#3702 (i.e. checking for the
	-pthread library link flag) to apply to the handling of Postgres as
	well.

2012-02-18  castaglia <castaglia>

	* contrib/mod_sftp_sql.c: Fix up compiler warnings noted in
	Bug#3755.

2012-02-18  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Fix up a few more places where compiler
	warnings (noted in Bug#3755) about unused variables could be
	addressed.

2012-02-18  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Pay more attention to the file_type field
	sent in an OPEN SFTP request from SFTP clients using SFTP protocol
	version 4 and later.  Use this field to actually set the st.st_mode
	bits for that file type properly.  Note that this also addresses a
	compiler warning about an unused variable noted in Bug#3755.

2012-02-18  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: Remove unused variable causing
	compiler warning noted in Bug#3755.

2012-02-18  castaglia <castaglia>

	* contrib/mod_sftp/auth-password.c: Log when an SSH2 client gives us
	a new password, so that admins will know that that functionality is
	not supported by mod_sftp.  This addresses a compiler warning about
	an unused variable reported by Bug#3755.

2012-02-18  castaglia <castaglia>

	* contrib/mod_rewrite.c: Remove unused variable causing compiler
	warning noted in Bug#3755.

2012-02-18  castaglia <castaglia>

	* contrib/mod_sql_mysql.c: Fix up the coding style and clean up some
	compiler warnings noted in Bug#3755.

2012-02-18  castaglia <castaglia>

	* contrib/mod_sql.c: Quell a compiler warning noted in Bug#3755.

2012-02-18  castaglia <castaglia>

	* src/auth.c: Stylistic cleanup, and fix a few compiler warnings
	noted in Bug#3755.

2012-02-18  castaglia <castaglia>

	* modules/mod_auth.c: Fix some stylistic nits, and clean up a few
	compiler warnings noted in Bug#3755.

2012-02-17  castaglia <castaglia>

	* src/lastlog.c: Use explicit cast to time_t pointer, to avoid
	compiler warnings on some platforms.

2012-02-17  castaglia <castaglia>

	* src/pool.c: The previous changes to the Pool API erroneously
	removed the memset(3) calls which zeroed out the allocated memory;
	these are very important calls.  Oops.

2012-02-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Add a reproduction
	recipe for Bug#3740.  So far, though, the reported bug hasn't
	manifested in my regression test attempts.

2012-02-17  castaglia <castaglia>

	* NEWS, contrib/mod_ban.c: Bug#3751 - mod_ban does not close/reopen
	the BanLog/BanTable file descriptors on restart, causing a file
	descriptor leak.

2012-02-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Added regression
	test for Bug#3751 (mod_ban-related fd leak).

2012-02-16  castaglia <castaglia>

	* NEWS, src/bindings.c, src/inet.c: Bug#3752 - proftpd process exit
	status is zero for "Failed binding to address, port N: Address
	already in use" startup failure.

2012-02-16  castaglia <castaglia>

	* tests/api/response.c: Disable a unit test which was creating an
	expected segfault; the test code in question is a reproduction
	recipe rather than a regression test, and so should not necessarily
	be run all of the time (Bug#3750).

2012-02-16  castaglia <castaglia>

	* include/pool.h, src/pool.c: Clean up some places in the Pool API
	which allowed signed ints for sizes/counts of things.  It does not
	make sense to allow for negative pool sizes or negative counts, so
	prevent it at the API level, rather than having less-than-zero
	checks in the code.

2012-02-16  castaglia <castaglia>

	* src/scoreboard.c: Clean up warnings in the Scoreboard API code.

2012-02-16  castaglia <castaglia>

	* src/table.c: Include the <openssl/rand.h> header, if OpenSSL is
	enabled, so that we get the proper RAND_* function definitions.

2012-02-16  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Missed part of the "unsigned char" merge.

2012-02-15  castaglia <castaglia>

	* contrib/mod_sftp/auth-hostbased.c,
	contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
	contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
	contrib/mod_sftp/auth.h, contrib/mod_sftp/blacklist.c,
	contrib/mod_sftp/blacklist.h, contrib/mod_sftp/channel.c,
	contrib/mod_sftp/channel.h, contrib/mod_sftp/cipher.c,
	contrib/mod_sftp/date.c, contrib/mod_sftp/date.h,
	contrib/mod_sftp/disconnect.c, contrib/mod_sftp/fxp.c,
	contrib/mod_sftp/fxp.h, contrib/mod_sftp/kbdint.c,
	contrib/mod_sftp/kex.c, contrib/mod_sftp/keys.c,
	contrib/mod_sftp/keys.h, contrib/mod_sftp/keystore.c,
	contrib/mod_sftp/keystore.h, contrib/mod_sftp/mac.c,
	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/msg.c,
	contrib/mod_sftp/msg.h, contrib/mod_sftp/packet.c,
	contrib/mod_sftp/packet.h, contrib/mod_sftp/rfc4716.c,
	contrib/mod_sftp/scp.c, contrib/mod_sftp/scp.h,
	contrib/mod_sftp/service.c, contrib/mod_sftp/tap.c: Reworked the
	mod_sftp handling of buffers of data to use "unsigned char" rather
	than just "char".  Raw data has really no signedness, so its
	better/cleaner to treat it as unsigned.

2012-02-15  castaglia <castaglia>

	* contrib/mod_sftp/kex.c: Fix minor issue pointed out by valgrind,
	where we were not tracking the length properly.

2012-02-15  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3743 - Random stalls/segfaults
	seen when transferring large files via SFTP.

2012-02-15  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Calling fxp_packet_add_cache() with null
	args should NOT zero out the static buffer length-tracking variable.

2012-02-15  castaglia <castaglia>

	* tests/api/scoreboard.c, tests/api/stubs.c: Fix unit tests to
	compile properly.

2012-02-15  castaglia <castaglia>

	* contrib/mod_sftp/packet.c: Missing return value.

2012-02-14  castaglia <castaglia>

	* NEWS, src/netacl.c: Bug#3749 - Compile of src/netacl.c fails on
	Tru64 UNIX (OSF/1) due to conflict with system header.

2012-02-14  castaglia <castaglia>

	* contrib/mod_sftp/packet.c: Comment typo.

2012-02-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm: Updating the
	TimeoutIdle test cases to use testcase-specific logging.

2012-02-10  castaglia <castaglia>

	* doc/modules/mod_auth.html: Adding description of MaxLoginAttempts
	directive to mod_auth docs.

2012-02-10  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3742 - Improper handling of
	self-signed certificate in client-sent cert list when
	"TLSVerifyClient on" is used.

2012-02-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
	tests for Bug#3742.

2012-02-10  castaglia <castaglia>

	* tests/t/etc/modules/mod_tls/bug3742-ca.pem,
	tests/t/etc/modules/mod_tls/bug3742-client.pem: Adding some
	supporting certs used for testing Bug#3742.

2012-02-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Updating the main
	mod_tls tests to use testcase-specific logging.

2012-02-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Adding testcase for
	mod_ban's BanOnEvent ClientConnectRate functionality.

2012-02-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Making sure that all
	of the existing mod_ban testcases pass.

2012-02-09  castaglia <castaglia>

	* modules/mod_auth.c: Minor nit fix: When TimeoutLogin is exceeded,
	if the TimeoutLogin is just a single second, then the 421 response
	message should say "1 second" rather than "1 seconds".

2012-02-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Updating mod_ban
	testcases to use testcase-specific logging.

2012-02-09  castaglia <castaglia>

	* src/main.c: We were not properly generating the 'core.preparse'
	event on restarts, even though we would properly generate a
	'core.postparse' event during a restart.  Add generation of the
	'core.preparse' event during restarts, for symmetry with the
	sequence of events during startup parsing.

2012-02-09  castaglia <castaglia>

	* src/parser.c: The config parser is supposed to handle most things
	in a case-insensitive fashion; it was not doing do for "<global>"
	(vs "<Global>").

2012-02-08  castaglia <castaglia>

	* doc/howto/Scoreboard.html, doc/modules/mod_core.html: Update the
	documentation (mod_core to add description for ScoreboardFile and
	ScoreboardMutex, Scoreboard howto to add anchor for the "what
	happens if I disable scoreboarding?" FAQ) in light of Bug#3701.

2012-02-08  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, src/scoreboard.c, tests/api/scoreboard.c: 
	Bug#3701 - Modify ScoreboardFile directive to support disabling
	scoreboarding.

2012-02-06  castaglia <castaglia>

	* doc/modules/mod_ls.html: Updated mod_ls docs.

2012-02-05  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#3745 - Reject PASV command if no
	IPv4 address available.

2012-02-05  castaglia <castaglia>

	* modules/mod_core.c: More minor stylistic changes.

2012-02-05  castaglia <castaglia>

	* modules/mod_core.c: More style changes; no functional change.

2012-02-05  castaglia <castaglia>

	* modules/mod_core.c: Clean up of some of the coding style; no
	functional change.

2012-02-05  castaglia <castaglia>

	* src/proftpd.8.in: Bug#3748 - Update FILES section in proftpd(8)
	man page.  List the /etc/ftpusers file in the FILES section.

2012-02-03  castaglia <castaglia>

	* doc/modules/mod_facts.html: Added docs for FactsOptions directive.

2012-02-03  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, modules/mod_facts.c: Bug#3747 - Support
	option for displaying symlinks via MLSD using syntax preferred by
	FileZilla.

2012-02-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm: Updating
	ShowSymlinks regression tests to work properly on a Mac.

2012-02-03  castaglia <castaglia>

	* tests/t/config/factsoptions.t,
	tests/t/lib/ProFTPD/Tests/Config/FactsOptions.pm, tests/tests.pl: 
	Adding regression tests for the new FactsOptions directive
	(Bug#3747).

2012-02-03  castaglia <castaglia>

	* doc/modules/mod_facts.html: Minor update to the MLSD FAQs.

2012-02-02  castaglia <castaglia>

	* doc/howto/ListOptions.html: Update the ListOptions howto to
	mention the LISTOnly, NLSTOnly, and NoErrorIfAbsent keywords.

2012-02-02  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm: Supply regression
	tests for the LISTOnly, NLSTOnly keywords for the ListOptions
	directive (Bug#3746).

2012-02-02  castaglia <castaglia>

	* RELEASE_NOTES: Update release notes with stubs about the
	ListOptions changes.

2012-02-02  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#3746 - Support applying ListOptions
	only to NLST or to LIST commands.  The ListOptions directive now
	supports "LISTOnly" and "NLSTOnly" keywords.

2012-02-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm: Adding regression
	tests for the new -1 ListOption added for Bug#3744.

2012-02-01  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#3744 - Support ls(1) -1 option for
	LIST command.

2012-02-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Child.pm: There are times when the
	unit tests will fail, particularly when dealing with data transfers,
	because the test code expects a response of "226 Transfer complete"
	when the server has only sent "150 Opening ..." at that point.  Provide a convenience assert_transfer_ok() method for checking for
	both scenarios, in order to try to reduce the spurious test failures
	due to this race/timing issue.

2012-01-31  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Some mod_sftp users are reporting issues
	with stalled/segfaulting SFTP uploads; I've narrowed down the cause
	to the buffering of channel data that the SFTP code does.  Adding
	finer-grained trace logging in this code, to aid further debugging
	in this area.

2012-01-27  castaglia <castaglia>

	* tests/api/scoreboard.c: Forgot to update unit tests to match
	Scoreboard API change.

2012-01-27  castaglia <castaglia>

	* include/scoreboard.h, modules/mod_auth.c, src/main.c,
	src/scoreboard.c: When proftpd starts up in "ServerType standalone"
	mode, it should keep an fd on the ScoreboardMutex file open -- but
	make sure that that fd is not one of the Big Three
	(stdin/stdout/stderr).  This fd should be shared across the child
	processes, i.e. for proper synchronization during scoreboard
	scrubbing.

2012-01-26  castaglia <castaglia>

	* include/table.h, src/auth.c, src/memcache.c, src/table.c,
	tests/api/table.c: Improve the randomization of table key hashing by
	moving the mixing of the random seed into the hash value into the
	Table API itself, rather than pushing it down into the key-hash
	functions.  This makes for a cleaner design, so that custom key
	hashing functions don't need to handle the seed (or be afraid of
	causing problems if they forgot to use the seed).

2012-01-25  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c, modules/mod_core.c, src/main.c: I
	don't know why, but the ServerIdent configuration handler would
	parse the Boolean parameter, but store it in the config_rec by using
	"!bool", inverting the value.  It make for confusing reading of the
	code which handles that config_rec.  Avoid this confusion in the future, and simply store the parsed
	Boolean value in the config_rec as is.

2012-01-25  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm: Update the
	ServerIdent test cases to use the testcase-specific logging.

2012-01-25  castaglia <castaglia>

	* doc/modules/mod_core.html: Add docs for the ServerIdent directive
	to the mod_core documentation.

2012-01-25  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Updating mod_sftp docs with mention of
	using ServerIdent.

2012-01-25  castaglia <castaglia>

	* include/privs.h, src/main.c, src/privs.c: If proftpd is started by
	a nonroot user, then avoid spamming the logs with "unable to setuid"
	ERROR level messages.

2012-01-25  castaglia <castaglia>

	* NEWS, lib/pr-syslog.c: Bug#3699 - ProFTPD crash on start up on Mac
	OSX Lion with NLS enabled.

2012-01-25  castaglia <castaglia>

	* configure: Updated configure.

2012-01-25  castaglia <castaglia>

	* NEWS, config.h.in, configure.in: Bug#3718 - ftptop fails to build
	on OpenSUSE.

2012-01-25  castaglia <castaglia>

	* RELEASE_NOTES: Update release notes, mentioning mod_sftp and the
	ServerIdent directive.

2012-01-25  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding tests for
	the ServerIdent directive and mod_sftp, for Bug#3739.

2012-01-25  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/packet.c,
	contrib/mod_sftp/packet.h: Bug#3739 - Allow for configurable SSH
	version identifiers in mod_sftp.

2012-01-23  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Document that SQL*WhereClauses are
	effectively overridden by custom queries; the SQL*WhereClause will
	NOT be appended to a custom query.

2012-01-23  castaglia <castaglia>

	* contrib/mod_tls.c: Bug#3738 - Fix the handling of SSL_shutdown()
	return value so that shutdown errors are properly logged in TLSLog.

2012-01-20  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: Bug#3735 - RPM spec: proftpd-devel
	package should require gcc and libtool.

2012-01-20  castaglia <castaglia>

	* modules/mod_dso.c: Added logging (at debug level 7) of more
	information of the module that mod_dso successfully loaded.  In
	particular, we log the full path to the file that was loaded, and
	its last-modified time.  This should help in situations where
	old/stale shared modules are being inadvertently loaded.

2012-01-17  castaglia <castaglia>

	* NEWS, modules/mod_facts.c: Bug#3734 - DirFakeUser/DirFakeGroup off
	with name causes SIGSEGV for MLSD/MLST commands.

2012-01-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DirFakeUser.pm: Adding regression
	tests for Bug#3734.

2012-01-13  castaglia <castaglia>

	* modules/mod_xfer.c, src/inet.c: Add the calls to
	pr_inet_set_proto_cork() unconditionally; the conditional use of
	TCP_CORK vs TCP_NOPUSH (depending on the platform) is contained
	within the pr_inet_set_proto_cork() function.

2012-01-09  castaglia <castaglia>

	* doc/contrib/mod_ban.html: Add mod_ban FAQ about BanOnEvent and
	MaxLoginAttempts.

2012-01-06  castaglia <castaglia>

	* lib/pr_fnmatch_loop.c: Fix an issue with compiling with older GCC
	versions, which don't like a declaration like "char str[]", and
	instead want "char str[0]".

2012-01-04  castaglia <castaglia>

	* Make.rules.in: Move the $INSTALL_STRIP variable out to its own
	variable, so that at some point in the future, it can be overridden
	via environment variable.

2012-01-03  castaglia <castaglia>

	* src/table.c: Make the default table hash function use the random
	hash "seed" via XOR, rather than the simplistic addition (which
	wouldn't have added any value at all with regard to mitigating
	attempts to drive the table into hashing all values to the same
	chain/bucket index).

2012-01-03  castaglia <castaglia>

	* src/auth.c, src/memcache.c: Update the key hash callbacks used
	elsewhere in proftpd to take the additional random hash "seed" value
	into account.

2012-01-02  castaglia <castaglia>

	* src/table.c: Adding some comments/notes about hashing to
	src/table.c, for my future reference.

2012-01-02  castaglia <castaglia>

	* include/table.h, src/table.c, tests/api/table.c: Add a
	pr_table_load() function for calculating the load factor of a given
	table.  To decrease collision avoidance for default tables, increase the
	default number of chains in a table from 32 to 256.  Future testing
	using pr_table_load() will be used to better determine a good
	default, and perhaps to work towards dynamically adjusting tables
	(although such adjustments themselves can be abused by an attacker
	to burn CPU cycles).

2012-01-02  castaglia <castaglia>

	* include/table.h, src/table.c, tests/api/table.c: Fix some issues
	with ProFTPD'd pr_table_t handling.  First, the default hashing function was fixed so that it actually
	used the different values in the given key.  Previously, it only
	ever used the first value.  Second, randomize the hash output by generating a random "seed"
	value on table creation time.  Any custom key hash callbacks need to
	be updated to accept this seed value as one of the hashing inputs.
	This will help to mitigate any attacks which seek to force the table
	API into the worst-case performance scenario, where all keys are
	effectively hashed to the same chain, and thus linear scans are
	done, burning CPU time.  Last, add a limit to the maximum number of items that a table can
	hold.  This, too, helps to mitigate any attacks/abuses that can be
	done on tables.  This maximum limit is 8K by default, and can be
	modified by a call to pr_table_ctl.

2011-12-29  castaglia <castaglia>

	* contrib/mod_sftp/auth.c: As per RFC 4252, if the USERAUTH_REQUEST
	contains service names which are unknown/unsupported, then return an
	error to the client and disconnect it.

2011-12-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
	case for a second USERAUTH_REQUEST.

2011-12-29  castaglia <castaglia>

	* contrib/mod_sftp/packet.c: Properly ignore an USERAUTH_REQUEST
	from a client which has already authenticated.

2011-12-28  castaglia <castaglia>

	* contrib/mod_sftp/auth.c: Add better errno handling during SSH
	authentication, so that the logged messages are more accurate.

2011-12-22  castaglia <castaglia>

	* tests/t/config/umask.t,
	tests/t/lib/ProFTPD/Tests/Config/Umask.pm, tests/tests.pl: Start
	working on regression tests for the Umask directive.

2011-12-21  castaglia <castaglia>

	* modules/mod_dso.c: Minor updates to mod_dso's logging, and better
	handling (i.e. caching) of the errno value, for better/more accurate
	logging.

2011-12-21  castaglia <castaglia>

	* include/dirtree.h, include/fsio.h, include/inet.h,
	include/modules.h, include/netio.h, include/pool.h,
	include/proftpd.h, include/sets.h, include/table.h, src/pool.c: More
	changes to the headers in order to support C++ modules.  Mostly it
	involves not using a typedef'd symbol in the definition of other
	structs; the C++ compiler is more stringent about that than the C
	compiler.

2011-12-21  castaglia <castaglia>

	* NEWS, src/wtmp.c: Bug#3728 - Build failure in wtmp.c on
	Gentoo/FreeBSD on sparc.

2011-12-21  castaglia <castaglia>

	* NEWS: Mention that Bug#3729 was fixed.

2011-12-20  castaglia <castaglia>

	* src/filter.c: Include the filter pattern string in the Filter
	trace messages.

2011-12-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Add
	regression/reproduction recipe for using PathDenyFilter to block
	uploads of any dot files.

2011-12-20  castaglia <castaglia>

	* doc/howto/Filters.html: Add PathDenyFilter example for how to
	block uploads of any/all dot files.

2011-12-19  castaglia <castaglia>

	* configure: Updated configure.

2011-12-19  castaglia <castaglia>

	* configure.in: In order to support C++ modules (Bug#3079), we need
	to add configure-time checks for a C++ compiler.

2011-12-18  jwm <jwm>

	* README.LDAP, contrib/mod_ldap.c: git 9d4234fbd69: prevent segfault
	when no user filters are specified

2011-12-14  castaglia <castaglia>

	* doc/modules/mod_lang.html: Add a mod_lang FAQ about the list of
	translations currently provided for proftpd.

2011-12-14  castaglia <castaglia>

	* modules/mod_lang.c: If mod_lang complains about the configured
	LangDefault, try to make the emitted log message a little clearer
	about the reason.

2011-12-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Added
	regression test for Bug#3727.

2011-12-14  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/auth.c, contrib/mod_wrap2/mod_wrap2.c: 
	Bug#3727 - mod_wrap2 causes unexpected LogFormat %u expansion for
	SFTP connections.

2011-12-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Updating
	mod_wrap2_file regression tests to use testcase-specific logging.

2011-12-14  castaglia <castaglia>

	* contrib/mod_copy.c: Updating mod_copy to use the renamed
	cmd_rec.cmd_class struct member.

2011-12-13  castaglia <castaglia>

	* src/ctrls.c: If we can't bind the test Unix domain socket, then
	log it at DEBUG3, rather than at just DEBUG.  This should make
	proftpd start up logging a little less needlessly verbose.

2011-12-13  castaglia <castaglia>

	* src/fsio.c: When setting the CLOEXEC flag on fds that are possibly
	returned by FSIO handlers, be sure to ignore any "Invalid
	descriptor" errors, since many FSIO handlers return fake fds.

2011-12-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Update mod_exec
	tests to use testcase-specific logging.  Added Linux-specific unit
	test for logging the open fds in the exec'd process, for auditing.

2011-12-13  castaglia <castaglia>

	* NEWS, contrib/mod_exec.c: Bug#3726 - mod_exec does not always
	capture stdout/stderr output from executed command.

2011-12-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Fix broken LIST
	regression test which only runs with rootprivs.

2011-12-12  castaglia <castaglia>

	* contrib/mod_exec.c: Stupid typo.

2011-12-12  castaglia <castaglia>

	* contrib/mod_exec.c: The buflen variable MUST be a signed datatype
	(e.g. int), rather than unsigned (e.g. size_t), in order to capture
	any error values from read(2).

2011-12-12  castaglia <castaglia>

	* contrib/mod_ban.c: Update mod_ban to use session.conn_class struct
	member.

2011-12-12  castaglia <castaglia>

	* contrib/mod_exec.c: Updated mod_exec to use session.conn_class
	struct member.

2011-12-12  castaglia <castaglia>

	* modules/mod_ctrls.c, src/ctrls.c, src/fsio.c, src/inet.c,
	src/log.c, src/main.c: As part of preparing proftpd for a different
	SIGHUP/restart implementation (Bug#3553), start setting the
	close-on-exec flag on file descriptors opened by the parent/daemon
	process.  This is a good habit to get into, anyway.

2011-12-12  castaglia <castaglia>

	* configure: Updated configure.

2011-12-11  castaglia <castaglia>

	* configure.in: Typo.

2011-12-11  castaglia <castaglia>

	* configure: Updated configure.

2011-12-11  castaglia <castaglia>

	* NEWS, configure.in: Bug#3682 - Configure does not detect libiconv
	under Gentoo FreeBSD.

2011-12-11  castaglia <castaglia>

	* include/pool.h, include/proftpd.h, src/pool.c: Rename 'struct
	pool' to 'struct pool_struc', to a) be more consistent with the rest
	of the struct naming conventions used, and b) to avoid causing
	problems for C++ compilers.  This is for Bug#3079.

2011-12-11  castaglia <castaglia>

	* RELEASE_NOTES, include/modules.h, src/main.c: Rename the
	cmdtable.class struct member to cmdtable.cmd_class, in order to
	support C++ modules (Bug#3079).

2011-12-11  castaglia <castaglia>

	* RELEASE_NOTES, contrib/mod_sftp/auth.c,
	contrib/mod_sftp/channel.c, contrib/mod_sftp/fxp.c,
	contrib/mod_sftp/kex.c, contrib/mod_sftp/service.c,
	contrib/mod_site_misc.c, include/dirtree.h, modules/mod_log.c,
	src/main.c: Rename the cmd_rec.class struct member to
	cmd_rec.cmd_class, in order to support C++ modules (Bug#3079).

2011-12-11  castaglia <castaglia>

	* RELEASE_NOTES, contrib/mod_ifsession.c, contrib/mod_quotatab.c,
	contrib/mod_rewrite.c, contrib/mod_sftp/display.c,
	contrib/mod_sql.c, include/proftpd.h, modules/mod_auth.c,
	modules/mod_log.c, src/dirtree.c, src/display.c, src/expr.c,
	src/main.c, tests/api/expr.c: Rename the session.class struct member
	to session.conn_class, as part of supporting C++ modules (Bug#3079).

2011-12-10  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Mention the TLSv1.1 and TLSv1.2 values
	for the TLSProtocol directive in the mod_tls docs.

2011-12-10  castaglia <castaglia>

	* configure: Updated configure.

2011-12-10  castaglia <castaglia>

	* config.h.in, configure.in: As part of working toward supporting
	ECC in mod_tls, and in mod_sftp (Bug#3573), we need to detect
	whether the version of OpenSSL used supports ECC.

2011-12-10  castaglia <castaglia>

	* RELEASE_NOTES, contrib/mod_tls.c: Support TLSv1.1 and TLSv1.2
	protocol versions in the TLSProtocol directive, assuming the version
	of OpenSSL used is new enough (1.0.1 and later).

2011-12-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm: Add regression
	tests for HideGroup and the NLST and MLSD commands.

2011-12-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm: Updating the
	HideGroup config regression tests to use testcase-specific logging.

2011-12-10  castaglia <castaglia>

	* doc/modules/mod_core.html: Adding descriptions for HideGroup,
	HideNoAccess, and HideUser directives to the mod_core documentation.

2011-12-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Adding
	regression test for a <Directory> configuration posted in the
	forums.

2011-12-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Updating
	<Directory>/<Limit> regression test cases to use testcase-specific
	logging.

2011-12-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Added TestSuite function
	for obtaining an arrayref of the shared module names (if any) built
	for the given proftpd executable.

2011-12-10  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Make mod_sftp handle READDIR requests in a
	more optimal/intelligent way.  Specifically, rather than using a
	hardcoded limit of 30 entries in each response, mod_sftp now looks
	at the max packet size and the amount of data used for the current
	number of entries, trying to stuff as many entries in a single
	response as possible.

2011-12-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	test for SFTP READDIR requests for a "wide" directory (e.g. a
	directory with many files at the same level).  This test is used for
	trying to optimize the number of entries that mod_sftp returns in
	response to a READDIR request (i.e. to do better than 30 entries per
	response).

2011-12-10  castaglia <castaglia>

	* contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h: Add a
	sftp_channel_get_maxpacketsz(), so that code (e.g. the SFTP code)
	can get the maximum packet size.  This can be used e.g. to figure
	out the maximum number of entries to write into a READDIR response,
	rather than having the naive hardcoded limit of 30 entries per
	READDIR response.

2011-12-10  castaglia <castaglia>

	* contrib/mod_sftp/msg.c, contrib/mod_sftp/msg.h: The various
	sftp_msg_write_* functions now return the number of bytes written
	into the given buffer.  These return values make it easier for
	calling code to keep a total of how many bytes have been written
	into the buffer, which in turn enables other optimizations/more
	intelligent guessing.

2011-12-09  castaglia <castaglia>

	* RELEASE_NOTES: Fill in a little more of the release notes, for
	later fleshing out.

2011-12-09  castaglia <castaglia>

	* doc/contrib/mod_ifsession.html: Add documentation for the new
	<IfAuthenticated> mod_ifsession config section.

2011-12-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Updating test
	cases to use testcase-specific logging.  Adding regression test for
	Bug#3629.

2011-12-09  castaglia <castaglia>

	* NEWS, contrib/mod_ifsession.c: Bug#3629 - Support
	<IfAuthenticated> conditional config section.

2011-12-09  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Document the new SHA2 SSH2 digests
	supported by the SFTPDigests directive.

2011-12-08  castaglia <castaglia>

	* contrib/mod_sftp/configure: Updating mod_sftp configure.

2011-12-08  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/crypto.c: Bug#3686 - Support SHA2 digests
	in mod_sftp.

2011-12-08  castaglia <castaglia>

	* contrib/mod_sftp/configure.in: When the mod_sftp configure script
	is checking for SHA256/512 support in OpenSSL, it needs to check
	whether linking with OpenSSL requires -ldl (for dynmic linking)
	and/or -lz (for compression).  Otherwise, the autoconf test programs
	will fail because of these linker errors (depending on how OpenSSL
	was built), and the script won't properly detect whether SHA256/512
	support actually exists.

2011-12-07  castaglia <castaglia>

	* src/inet.c: Remove extraneous space and period.

2011-12-07  castaglia <castaglia>

	* src/inet.c: Make the log message about other processes using the
	address/port a little better (i.e. mention the possibility of
	inetd/xinetd using that address/port as well).

2011-12-06  castaglia <castaglia>

	* contrib/mod_sftp/auth.c: Make sure that the password data is
	properly hidden with a static string for SFTP connections.

2011-12-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Add some
	ExtendedLog tests ensuring that the %r LogFormat variable, for PASS
	commands, is properly sanitized -- even for SFTP connections.

2011-12-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Updating
	ExtendedLog tests to use testcase-specific logging.

2011-12-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STOR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: Make sure that the
	regression tests which purport to use active transfers do actually,
	in fact, use the PORT command for active transfers.

2011-12-06  castaglia <castaglia>

	* tests/t/config/rootrevoke.t,
	tests/t/lib/ProFTPD/Tests/Config/RootRevoke.pm, tests/tests.pl: 
	Start adding unit/regression tests for the RootRevoke directive.

2011-12-06  castaglia <castaglia>

	* modules/mod_core.c: Comment typo.

2011-12-06  castaglia <castaglia>

	* src/inet.c: Adding more verbiage to the error message logged when
	proftpd fails to start, due to being unable to bind to the listening
	address/port.

2011-12-06  castaglia <castaglia>

	* contrib/mod_tls.c, modules/mod_core.c: As per RFC2389, the FEAT
	response MUST include any FTP commands and extensions after RFC959.
	We were missing EPRT and EPSV, and CCC for FTPS connections, in our
	FEAT response.

2011-12-06  castaglia <castaglia>

	* src/bindings.c: Make sure that the errno value is preserved
	properly, in order to get all of the proper logging done.

2011-12-06  castaglia <castaglia>

	* doc/modules/mod_core.html: Adding docs for the AllowFilter and
	DenyFilter directives to the mod_core docs.

2011-12-05  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c: Bug#3724 - Unloading mod_quotatab
	causes segfault.

2011-12-05  castaglia <castaglia>

	* modules/mod_delay.c: Quell a few compiler warnings about unsigned
	long vs size_t (see on FreeBSD).

2011-12-04  castaglia <castaglia>

	* tests/api/str.c: Added API/unit test for the newly-added
	pr_str_replace() function (from Bug#3721).

2011-12-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DenyFilter.pm: Added regression
	test for the case-insensitive flag for the DenyFilter directive.

2011-12-03  castaglia <castaglia>

	* RELEASE_NOTES, modules/mod_core.c: Support the case-insensitive
	filter flags for the AllowFilter and DenyFilter directives, too
	(similar to Bug#3592).

2011-12-03  castaglia <castaglia>

	* tests/t/config/denyfilter.t,
	tests/t/lib/ProFTPD/Tests/Config/DenyFilter.pm, tests/tests.pl: 
	Start adding tests for the DenyFilter directive.

2011-12-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Updating the
	PathDenyFilter tests to use the testcase-specific logging.

2011-12-03  castaglia <castaglia>

	* RELEASE_NOTES, doc/contrib/mod_rewrite.html: Adding documentation
	for the new RewriteMaxReplace directive, added for Bug#3721.

2011-12-03  castaglia <castaglia>

	* doc/modules/mod_auth.html: Adding module-specific doc description
	for the RootRevoke directive to the mod_auth docs.

2011-12-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
	regression tests for Bug#3721.

2011-12-03  castaglia <castaglia>

	* contrib/mod_rewrite.c: With the fix for Bug#3721, the mod_rewrite
	module now relies on the 1.3.5 codebase (i.e. the new
	pr_str_replace() function).

2011-12-03  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c, include/str.h, src/str.c: Bug#3721 -
	mod_rewrite does not replace characters if there are more than 8
	occurrences.

2011-12-01  castaglia <castaglia>

	* RELEASE_NOTES: Minor update to the release notes, getting them
	ready for the 1.3.5 release cycle.

2011-12-01  castaglia <castaglia>

	* modules/mod_core.c: Remove the deprecated DisplayGoAway directive
	(Bug#3443).

2011-12-01  castaglia <castaglia>

	* NEWS, modules/mod_memcache.c: Bug#3723 - mod_memcache segfault on
	server restart.

2011-11-30  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
	mod_rewrite regression test showing how to deal with both spaces and
	tabs in a filename.

2011-11-30  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Updating the
	mod_rewrite testcase coding style to use the new testcase-specific
	logging.

2011-11-23  castaglia <castaglia>

	* NEWS, contrib/mod_deflate.c, contrib/mod_exec.c,
	contrib/mod_quotatab.c, contrib/mod_radius.c,
	contrib/mod_sftp/mod_sftp.c, contrib/mod_sql.c, contrib/mod_tls.c,
	contrib/mod_wrap2/mod_wrap2.c, modules/mod_ctrls.c,
	modules/mod_memcache.c: Bug#3720 - Various module logfile
	permissions are 0600 instead of 0640.

2011-11-21  castaglia <castaglia>

	* doc/howto/Globbing.html: Update the Globbing howto to more
	accurately describe how the PR_TUNABLE_GLOBBING_MAX_MATCHES limit
	operates (i.e. that it restricts the number of files _checked_ by
	glob(3), not the number of _matches_ returned by glob(3)).

2011-11-21  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#3719 - LIST -R can loop endlessly if
	bad directory symlink exists.

2011-11-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding regression test
	for Bug#3719.

2011-11-19  castaglia <castaglia>

	* contrib/mod_sftp/blacklist.c, contrib/mod_sftp/fxp.c,
	contrib/mod_sftp/keys.c, contrib/mod_sftp/scp.c: Fixing up a few
	more places where -Wshorten-64-to-32 warned about implicit
	conversions.

2011-11-19  castaglia <castaglia>

	* contrib/mod_tls.c: Use an explicit typecase to avoid a compiler
	warninga about implicit shortening of a 64-bit datatype to a 32-bit
	datatype.

2011-11-19  castaglia <castaglia>

	* modules/mod_delay.c: Fixing up mod_delay warnings about implicit
	shortening of 64-bit values to 32-bit values, found by gcc's
	-Wshorten-64-to-32 flag.

2011-11-19  castaglia <castaglia>

	* src/proctitle.c: Fix compiler warning about mixing code and
	declarations (hard to tell, based on the nasty ifdefs in the
	proctitle code).

2011-11-19  castaglia <castaglia>

	* include/support.h, modules/mod_ls.c, src/support.c: Quell a
	warning about implicit 64-to-32 bit conversion, turned up by gcc's
	-Wshorten-64-to-32 flag, by switching to size_t from int, when
	getting the max length of a filename.

2011-11-19  castaglia <castaglia>

	* lib/tpl.c: Fixing some warnings that gcc's -Wshorten-64-to-32 flag
	picked up.

2011-11-18  jwm <jwm>

	* README.LDAP: latest mod_ldap README

2011-11-18  jwm <jwm>

	* contrib/mod_ldap.c: this should have been labeled 2.9.1

2011-11-18  castaglia <castaglia>

	* src/str.c: A variable is needed, regardless of whether strlcat(3)
	is present or not.

2011-11-18  castaglia <castaglia>

	* configure: Updated configure.

2011-11-18  castaglia <castaglia>

	* config.h.in, configure.in, lib/sstrncpy.c, src/str.c: Use the
	strlcat(3) and strlcpy(3) functions, if available.  I'm hoping that
	these will have been optimized for the host platform, and perform
	better than our homegrown versions.

2011-11-17  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/keys.c, contrib/mod_tls.c,
	lib/pr-syslog.c, lib/pwgrent.c, modules/mod_auth_file.c,
	modules/mod_ctrls.c, src/ctrls.c, utils/ftptop.c: Bug#3717 - proftpd
	fails to run with "Abort trap" error message.  Replace all occurrences of strncpy(3) with our own sstrncpy(), to
	avoid any gcc traps/issues about using that function.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Might as well update
	these HOST tests to use testcase-specific logging while I'm changing
	things.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/HELP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/REST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Updating the rest of the
	FTP command tests to use testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
	tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STRU.pm: Updating more tests to
	use testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm: Updating more tests to
	use the testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PASS.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/USER.pm: Updating tests to use
	the testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm: Updating EPSV tests to
	use testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/PASV.pm: Update PASV tests to
	use the testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logins.pm: Update the login tests to use
	the testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/SITE/CHMOD.pm: Update the SITE
	CHMOD test to log its fatal exception in the testcase log.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RETR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STAT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STOR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: Updating the tests to
	log the exception in the testcase log.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Finally managed to
	reproduce, and fix, the one PORT testcase which kept failing in my
	continuous integration server.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Update the PORT tests
	to pass along the fatal exception for logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: The test_append_logfile()
	function now takes an optional parameter for the exception which
	caused the testcase to fail; this exception is then added to the
	main log file.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Updated STOR tests to
	use testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Updated RETR tests to
	use testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: Updated STOU tests to
	use testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Update LIST tests to
	use testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/APPE.pm: Update APPE tests to
	use testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Update NLST tests to
	use testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/STAT.pm: Update STAT tests to
	use testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm: Updating EPRT tests to
	use testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Updated ABOR tests to
	use testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: When appending the
	testcase log file to the main 'tests.log' file, use the full path to
	the main log file, for better diagnostics when there are problems
	writing to that file.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Updating MLSD tests to
	use testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Updating MLST tests to
	use testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm: Updated MFMT tests to
	use the new testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MFF.pm: Updating the MFF tests
	to use the testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/SITE/CHMOD.pm: Updating SITE
	CHMOD test to use the new testcase-specific logging.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: After appending the
	testcase-specific log to the main 'tests.log', be sure to unlink the
	testcase-specific log file.

2011-11-17  castaglia <castaglia>

	* tests/Makefile.in: Forgot to update the tests/Makefile to use the
	renamed tests.pl command-line option.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Updating the PORT
	testcases to using the new per-testcase logging functions, in an
	effort to track down why one of these testcases keeps failing in my
	continuous integration build.

2011-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Adding some functions to
	generate per-testcase log file names, and to append the contents of
	those logs, when the testcase files, to the main 'tests.log' file.
	This should help preserve the log files for failed testcases, even
	when the following testcases succeed; currently those subsequent
	testcases will delete the 'tests.log'.

2011-11-16  castaglia <castaglia>

	* NEWS, modules/mod_facts.c: Bug#3715 - MLSD/MLST fail when
	"DirFakeUser off" or "DirFakeGroup off" used.

2011-11-16  castaglia <castaglia>

	* contrib/mod_load/.cvsignore: More auto-generated files to be
	ignored by CVS.

2011-11-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm,
	tests/t/lib/ProFTPD/Tests/Config/DirFakeUser.pm: Adding regression
	tests for Bug#3715.

2011-11-16  castaglia <castaglia>

	* modules/mod_ls.c: Clean up the coding style in a couple of places.
	Also replace strcmp(3) with strncmp(3) in a couple of places where a
	string constant was being used for comparison.

2011-11-16  castaglia <castaglia>

	* tests/tests.pl: Change tests.pl to use --file-pattern instead of
	just --pattern, in order to make room for a --test-pattern.  This
	--test-pattern (which doesn't exist yet) will be used to provide a
	similar regex matching pattern for testcase names (as opposed to
	file names).

2011-11-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Updating MLST test
	cases to hopefully pass better on my Mac OSX machine.

2011-11-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm: Adding a regression
	test for Bug#3714.

2011-11-16  castaglia <castaglia>

	* utils/ftpwho.c: Quell cppcheck warning about a memory leak.

2011-11-16  castaglia <castaglia>

	* Makefile.in, tests/Makefile.in: Provide a wider range of 'check'
	targets, so that various parts of the testsuite can be run from the
	top-level Makefile.  This is useful for the continuous integration
	server config I am working on.

2011-11-16  castaglia <castaglia>

	* tests/tests.pl: Adding support for a --pattern comand-line option
	to the testsuite script, for specifing a filename pattern.  All
	testcase files whose names match the given pattern will be run.
	This allows us to run only certain files as needed (e.g. commands,
	config, modules, etc).

2011-11-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Minor updates to the
	NLST unit tests.

2011-11-16  castaglia <castaglia>

	* modules/mod_ls.c: Fix the handling of filenames with non-printable
	characters, when the -B list option is provided/used by the client.

2011-11-16  castaglia <castaglia>

	* NEWS, src/cmd.c, src/main.c: Bug#3714 - ftpwho/ftptop are not
	showing command arguments (e.g. downloaded file name).

2011-11-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Making some of the
	PORT tests a little more resilient.

2011-11-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/DELE.pm: Update DELE unit tests
	to run better on MacOSX.

2011-11-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/RMD.pm: Updating RMD tests to
	hopefully pass better on my MacOSX machine.

2011-11-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Updating MKD tests to
	hopefully pass better on my MacOSX machine.

2011-11-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/PWD.pm: Fixing the PWD tests so
	that they work properly on MacOSX.

2011-11-15  castaglia <castaglia>

	* NEWS, src/log.c: Bug#3646 - Debug logging to stderr should include
	timestamps and PID.

2011-11-15  castaglia <castaglia>

	* doc/contrib/mod_quotatab.html: Adding in missing "Context"
	descriptions for some of the mod_quotatab directives.

2011-11-15  castaglia <castaglia>

	* contrib/.cvsignore: Ignore the generated Makefile.

2011-11-15  castaglia <castaglia>

	* doc/modules/mod_core.html: Missing <br> tag.

2011-11-15  castaglia <castaglia>

	* doc/modules/mod_core.html: Missing closing </code> tags.

2011-11-14  castaglia <castaglia>

	* src/inet.c: Use the IPV6_TCLASS value for IPv6 connections for
	setting the Type-Of-Service (TOS) bits, where available.

2011-11-14  castaglia <castaglia>

	* tests/api/response.c: Fix the Bug#3711 test case to work properly
	on Mac OSX 10.5; the test fails due to SIGBUS rather than SIGSEGV in
	this case.

2011-11-11  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3713 - mod_tls cannot be compiled
	using Openssl 0.9.6.

2011-11-11  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: Updated .spec file.  Have I
	mentioned how much I dislike rpmbuild and .spec file
	"idiosyncrasies"?

2011-11-10  castaglia <castaglia>

	* NEWS: Bug#3712 - mod_wrap2/mod_load build errors: missing
	config.h.  (Patches committed earlier today.)

2011-11-10  castaglia <castaglia>

	* include/version.h: Updated trunk version in CVS.

2011-11-10  castaglia <castaglia>

	* contrib/mod_load/Makefile.in, contrib/mod_wrap2/Makefile.in: 
	Fixing the Makefiles for mod_load and mod_wrap2; I broke them when
	trying to fix the conditional contrib module library issue.

2011-11-10  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: Trying to fix the
	release_cand_version macro in the .spec file.

2011-11-10  castaglia <castaglia>

	* contrib/dist/rpm/xinetd: Fixed comment in xinetd config file.

2011-11-09  castaglia <castaglia>

	* ChangeLog: Updated ChangeLog.

2011-11-09  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec, include/version.h: Updating for
	1.3.4 release.

2011-11-09  castaglia <castaglia>

	* NEWS, RELEASE_NOTES: Updating NEWS, release notes, getting ready
	for release.

2011-11-09  castaglia <castaglia>

	* RELEASE_NOTES: Minor formatting consistency fix.

2011-11-09  castaglia <castaglia>

	* RELEASE_NOTES: Updating release notes.

2011-11-09  castaglia <castaglia>

	* NEWS, src/main.c: Bug#3711 - Response pool use-after-free memory
	corruption error.

2011-11-08  castaglia <castaglia>

	* tests/api/response.c: Adding more unit tests for the Response API,
	including a demonstration of Bug#3711.

2011-11-08  castaglia <castaglia>

	* contrib/dist/rpm/xinetd: Updating the xinetd config file for the
	RPM package, as per Bug#3640.

2011-11-07  castaglia <castaglia>

	* RELEASE_NOTES: Updated release notes to mention the RPM/.spec
	changes.

2011-11-07  castaglia <castaglia>

	* contrib/dist/rpm/basic-pam.conf, contrib/dist/rpm/proftpd.spec: 
	More updates for Bug#3640, reworking the proftpd.spec file and
	related config files.

2011-11-07  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd-tmpfs.conf,
	contrib/dist/rpm/proftpd.init.d,
	contrib/dist/rpm/proftpd.logrotate, contrib/dist/rpm/proftpd.pam,
	contrib/dist/rpm/proftpd.service: Bug#3640 - rpmbuild on CentOS5.5
	(64bit): "File not found by glob".  This involves a fairly large reworking of the .spec file, and adding
	new files expected by the .spec file.

2011-11-06  castaglia <castaglia>

	* contrib/mod_load/configure: Updated mod_load configure.

2011-11-06  castaglia <castaglia>

	* .cvsignore: Ignore the auto-generated module-libs.txt file.

2011-11-06  castaglia <castaglia>

	* contrib/mod_load/Makefile.in, contrib/mod_load/configure.in,
	contrib/mod_load/mod_load.c: Updating the mod_load
	configure/Makefiles to use the $(MODULE_LIBS_FILE) mechanism.

2011-11-06  castaglia <castaglia>

	* contrib/mod_wrap2/configure: Updated mod_wrap2 configure.

2011-11-06  castaglia <castaglia>

	* contrib/mod_wrap2/Makefile.in, contrib/mod_wrap2/configure.in,
	contrib/mod_wrap2/mod_wrap2.c, contrib/mod_wrap2/mod_wrap2.h.in: 
	Updating the mod_wrap2 build files to use the new
	$(MODULE_LIBS_FILE), rather than modifying the generated mod_wrap2.h
	file.

2011-11-06  castaglia <castaglia>

	* Make.rules.in, Makefile.in: Modifying the build system/scripts to
	support a $(MODULE_LIBS_FILE) file, which will contain a list of
	libraries that modules will want to add to the linker list, when
	linking the full proftpd executable AND when the modules in question
	are being built as static modules.  Shared modules are built as .la
	files, which contain their own linkage lists.  Consider the case where a module like mod_load (or mod_wrap2) might
	want to conditionally link against a library, depending on whether
	the host requires that library or depending on the configure options
	given when building proftpd.  The libraries needed by the module
	won't be known by the top-level main Makefile -- hence the need for
	this new $(MODULE_LIBS_FILE) file.  The top-level Makefile knows to
	read from this file for additional libraries; the module configure
	scripts/Makefiles can append the libraries they need to the
	$(MODULE_LIBS_FILE) file.  I'll be updating the mod_wrap2 configure/Makefile files to use this
	mechanism shortly.

2011-11-05  castaglia <castaglia>

	* modules/mod_ls.c: Adding a little more trace logging, and some
	--enable-devel=timing instrumenting of the code, trying to track
	down a reported CPU spike.

2011-11-03  castaglia <castaglia>

	* config.h.in: Since the AC_FUNC_SETPGRP macro has been removed from
	the configure.in file, we should always assume the POSIX setpgrp(2)
	signature.

2011-11-01  castaglia <castaglia>

	* RELEASE_NOTES: Updated release notes.

2011-11-01  castaglia <castaglia>

	* configure: Updated configure.

2011-11-01  castaglia <castaglia>

	* configure.in, m4/proftpd.m4: Start tweaking the configure script
	to work better in cross-compiling situations.

2011-10-31  castaglia <castaglia>

	* tests/Makefile.in: Make sure to build the response unit tests, and
	include them in the api-tests binary.

2011-10-31  castaglia <castaglia>

	* tests/api/response.c, tests/api/stubs.c, tests/api/tests.c,
	tests/api/tests.h: Start working on API-level regression tests for
	the Response API.

2011-10-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Fixing some of the
	broken mod_tls regression tests so that they pass properly again.

2011-10-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Updating the mod_tls
	tests to reflect changes to the Net:FTPSSL-0.19 version of the
	dependent Perl module.

2011-10-24  castaglia <castaglia>

	* tests/t/config/listoptions.t,
	tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm, tests/tests.pl: 
	Start working on regression tests for the ListOptions directive,
	spurred by some questions about it in the online forums.

2011-10-18  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Mention that mod_sftp does not honor
	the ListOptions directive.

2011-10-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
	mod_rewrite regression test for rewriting backslashes to slashes.

2011-10-17  castaglia <castaglia>

	* doc/howto/Rewrite.html: Adding new mod_rewrite example, for
	converting backslashes to slashes.

2011-10-13  castaglia <castaglia>

	* contrib/mod_sftp/Makefile.in: Remove redundant object file from
	`ar' command list; the mod_sftp.o object is already mentioned in the
	$(MODULE_OBJS) list of object files.

2011-10-12  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Updated SFTPOptions documentation to
	mention new IgnoreSFTPSetTimes option (Bug#3706).

2011-10-12  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/mod_sftp.h.in,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3706 - Support
	SFTPOption for ignoring requests to modify timestamps.

2011-10-10  castaglia <castaglia>

	* NEWS, RELEASE_NOTES: Fuller description in NEWS for Bug#3704, and
	mention the new TLSOption in the release notes.

2011-10-10  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Documenting the new NoEmptyFragments
	TLSOption.

2011-10-10  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3704 - Enable OpenSSL countermeasure
	against SSLv3/TLSv1 BEAST attacks.

2011-10-06  castaglia <castaglia>

	* configure: Updated configure for Bug#3192.

2011-10-06  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, contrib/mod_sql_postgres.c: 
	Bug#3192 - PQescapeStringConn() needs a better check.

2011-10-06  castaglia <castaglia>

	* configure: Updated configure for Bug#3669.

2011-10-06  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, contrib/mod_sql_mysql.c: Bug#3669
	- mod_sql_mysql.so: undefined symbol: make_scrambled_password with
	MySQL 5.5 on Fedora.

2011-10-06  castaglia <castaglia>

	* configure: Updated configure for Bug#3702.

2011-10-06  castaglia <castaglia>

	* NEWS, configure.in: Bug#3702 - ProFTPD with mod_sql_mysql dies of
	"Alarm clock" on FreeBSD.

2011-10-04  castaglia <castaglia>

	* src/main.c, src/support.c, src/timers.c: Add checking of the
	return values for calling signal(2), sigaction(2), and
	siginterrupt(2), and logging of any errors.

2011-10-04  castaglia <castaglia>

	* contrib/mod_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Further fix to
	Bug#3692: make sure that if the processing of the SQLLog directive
	(marked with "IGNORE_ERRORS") needs to open a database connection,
	and the database info is bad (e.g. bad database name), this bad
	database open is also ignored, rather than causing the session to be
	disconnected.

2011-09-29  castaglia <castaglia>

	* contrib/mod_sftp/date.c: Bug#3650 - Update the FSF address.

2011-09-27  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Minor update to
	unit test, trying to avoid ugly regex error on Mac OSX (due to its
	temporary file naming scheme).

2011-09-26  castaglia <castaglia>

	* include/version.h: Updated version for CVS status.

2011-09-26  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec, include/version.h: Update the
	versions for RC3.

2011-09-26  castaglia <castaglia>

	* NEWS: Update NEWS with the release date.

2011-09-26  castaglia <castaglia>

	* ChangeLog: Updated ChangeLog.

2011-09-26  castaglia <castaglia>

	* RELEASE_NOTES: Updated release notes.

2011-09-26  castaglia <castaglia>

	* modules/mod_log.c: Slightly better fix for Bug#3696, which doesn't
	require the whole command dispatch mechanism for getting the
	ExtendedLog entry written.

2011-09-25  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Add unit test
	for Bug#3696 (ExtendedLog written in cases of TimeoutStalled) for
	SFTP transfers as well.

2011-09-24  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Modify the handling of SCP downloads to
	allow for PRE_CMD handlers to rewrite the file name (e.g. via
	mod_rewrite).

2011-09-24  castaglia <castaglia>

	* modules/mod_xfer.c: If ever the RETR PRE_CMD handler in mod_xfer
	says "no, I won't download this file because it's not a regular
	file", set the errno to EISDIR.  This specific errno value can then
	be handled properly, e.g. by the SCP download code.

2011-09-24  castaglia <castaglia>

	* src/main.c: More tricks to preserve the errno value through the
	command dispatch mechanism.

2011-09-24  castaglia <castaglia>

	* modules/mod_log.c: Guard against a possibly-null
	session.curr_cmd_rec pointer, when handling the
	'core.timeout-stalled' event in mod_log.

2011-09-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Fixing
	broken unit tests.

2011-09-24  castaglia <castaglia>

	* contrib/mod_exec.c: Use strncmp(3) in more places, give the
	compiler some hints when we will be ignoring the return values, and
	fix the byte count for writes when using the useStdin ExecOption.

2011-09-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/exec.pm: Leave a long
	explanation to my future self about failures of a particular unit
	test, and why it can happen (e.g. due to module load ordering).

2011-09-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Fix broken
	mod_sql_sqlite unit tests.

2011-09-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Relax some of
	the heuristics, allowing some of the unit tests to pass more
	regularly.

2011-09-24  castaglia <castaglia>

	* contrib/mod_rewrite.c: Fix a regression in the RewriteHome
	feature, where it wasn't working at all.

2011-09-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/RewriteHome.pm: Minor style
	updates; no functional change.

2011-09-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm: Expect to
	handle a "File too large" error response as well in these unit
	tests.

2011-09-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DisplayChdir.pm: Fix broken unit
	test.

2011-09-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Add a different
	expected error message, fixing the unit test on a Linux system.

2011-09-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/HELP.pm: Fix the HELP unit test
	to work properly, even if mod_tls is in the build.

2011-09-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm: Update the FEAT unit
	test to better handle when other modules, e.g.  mod_site_misc and
	mod_copy, are in the build.

2011-09-24  castaglia <castaglia>

	* tests/tests.pl: Don't run the mod_sftp_sql unit tests unless that
	module, too, is loaded.

2011-09-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: More places to
	catch data connection timeouts.

2011-09-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutNoTransfer.pm,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: More places to
	catch data connection timeouts.

2011-09-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/CommandBufferSize.pm,
	tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: More places to
	catch data connection timeouts.

2011-09-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RETR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Hardening the testsuite
	caused by spurious data connection timeouts; this makes the tests
	still fail when it happens, but the output is more intelligible.

2011-09-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
	tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Trying to
	fix/quell Perl warnings emitted while running the testsuite.

2011-09-23  castaglia <castaglia>

	* tests/api/scoreboard.c: Fixing pr_scoreboard_scrub() unit test so
	that it passes properly.

2011-09-21  castaglia <castaglia>

	* NEWS, modules/mod_core.c,
	tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm: Bug#3698 - <Limit WRITE>
	does not prevent deletion of a file/directory via renaming.

2011-09-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Telnet.pm: Adding regression test for
	Bug#3697.

2011-09-21  castaglia <castaglia>

	* NEWS, src/netio.c: Bug#3697 - Filenames with embedded IAC do not
	get processed correctly.

2011-09-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Regression test
	for Bug#3696.

2011-09-21  castaglia <castaglia>

	* NEWS, include/proftpd.h, modules/mod_log.c, src/main.c: Bug#3696 -
	ExtendedLog not getting written on timeouts.

2011-09-21  castaglia <castaglia>

	* NEWS, include/inet.h, modules/mod_core.c, src/bindings.c,
	src/inet.c: Bug#3693 - Clients are disconnected if proftpd cannot
	listen on port for passive data transfer.

2011-09-09  castaglia <castaglia>

	* contrib/mod_sftp/mac.c: Use the newer HMAC_Init_ex() when
	available in the OpenSSL version used (e.g. to make use of any
	ENGINEs configured), as well as checking the return values of
	HMAC_Init_ex(), HMAC_Update(), and HMAC_Final() (again, when
	supported by the OpenSSL version used).

2011-09-09  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Update mod_sftp doc to mention Axway
	clients as having the channel window sizing issues, just like
	WS_FTP.

2011-09-06  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3692 -
	SQLLog IGNORE_ERRORS parameter does not work.

2011-09-06  castaglia <castaglia>

	* src/memcache.c: Pedantically fix more compiler warnings.

2011-09-05  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Fix HTML markup.

2011-09-05  castaglia <castaglia>

	* contrib/mod_tls_memcache.c: Address a few compiler warnings.

2011-09-05  castaglia <castaglia>

	* contrib/mod_tls.c: Fix typo causing compiler warninga about
	"statement with no effect".

2011-09-05  castaglia <castaglia>

	* src/trace.c: Fix compiler error when compiling with
	--disable-trace; the pr_trace_vsmg() function was not implemented in
	that case.

2011-09-02  castaglia <castaglia>

	* contrib/README, contrib/mod_quotatab_ldap.ldif,
	contrib/mod_quotatab_ldap.schema: Bug#3678 - Include LDAP schema for
	mod_quotatab_ldap.

2011-09-02  castaglia <castaglia>

	* doc/contrib/mod_exec.html: Adding mod_exec FAQ.

2011-08-19  castaglia <castaglia>

	* modules/mod_core.c: Reducing the log level used for the log
	message about setting the DefaultAddress, so that e.g. heavily
	loaded proftpd servers using "ServerType inetd" aren't spamming
	syslog with this message.

2011-08-16  castaglia <castaglia>

	* src/trace.c: Quell compiler warning on some systems by using an
	explicit typecast.

2011-08-16  castaglia <castaglia>

	* contrib/mod_radius.c: Fix the compilation of mod_radius on
	FreeBSD, which was broken by the patch for Bug#3679, which added
	support for the NAS-IPv6-Address attribute.  Turns out that the
	s6_addr32 macro is not available on all systems (e.g.  FreeBSD);
	hopefully the s6_addr macro is more widely supported.

2011-08-13  castaglia <castaglia>

	* modules/mod_core.c: Replace the unnecessary (and unchecked)
	malloc(3) calls -- used when handling the CDPath directive -- with
	palloc(), which handles out of memory conditions automatically (and
	is more consistent with the proftpd coding style).

2011-08-13  castaglia <castaglia>

	* NEWS, src/response.c: Bug#3685 - NULL pointer dereference after an
	idle timeout.

2011-08-12  castaglia <castaglia>

	* configure: Updated configure.

2011-08-12  castaglia <castaglia>

	* NEWS, configure.in: Bug#3681 - Non POSIX test constructions in
	autoconf script.

2011-08-08  castaglia <castaglia>

	* contrib/mod_tls.c: Reduce the OpenSSL memory usage for SSL
	connections (if OpenSSL-1.0.0a or later are used).

2011-08-05  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Update the SFTPOptions
	IgnoreSFTPUploadPerms description to mention directory creation, as
	per Bug#3680.

2011-08-05  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3680 - SFTP MKDIR
	does not respect the IgnoreSFTPUploadPerms option.

2011-08-05  castaglia <castaglia>

	* contrib/mod_radius.c: Better implementation of the
	NAS-IPv6-Address functionality for Bug#3679.

2011-08-04  castaglia <castaglia>

	* doc/contrib/mod_radius.html: Mention that mod_radius might use
	NAS-IPv6-Address in the mod_radius docs.

2011-08-04  castaglia <castaglia>

	* NEWS, contrib/mod_radius.c: Bug#3679 - Support NAS-IPv6-Address
	RADIUS attribute.

2011-08-04  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/auth-hostbased.c,
	contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
	contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
	contrib/mod_sftp/auth.h: Bug#3676 - RADIUS-based logins don't work
	using mod_sftp.

2011-08-03  castaglia <castaglia>

	* doc/contrib/mod_radius.html: Update the RadiusNASIdentifier docs
	to mention that it will use "ssh2" for SFTP/SCP sessions.

2011-08-03  castaglia <castaglia>

	* contrib/mod_radius.c: When setting the NAS-Identifier attribute in
	the RADIUS request, be sure to dynamically get the protocol, so that
	we use "ftp" for FTP sessions and "ssh2" for SFTP sessions.

2011-08-02  castaglia <castaglia>

	* src/scoreboard.c: Fix compiler warning about shadowed variable.

2011-08-02  castaglia <castaglia>

	* configure: Updated configure.

2011-08-02  castaglia <castaglia>

	* NEWS, configure.in: Bug#3675 - Automatically disable sendfile
	support for AIX systems.

2011-08-02  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: Fix the compilation of mod_sftp.c
	(Bug#3677).

2011-08-02  castaglia <castaglia>

	* src/regexp.c: Remove unused variable.

2011-08-01  castaglia <castaglia>

	* src/main.c: Defend against possible null cmd_rec argument in
	pr_cmd_dispatch_phase().

2011-07-31  castaglia <castaglia>

	* NEWS, modules/mod_ctrls.c: Bug#3674 - After running "proftpd -t"
	command, ftpdctl commands no longer work.

2011-07-26  castaglia <castaglia>

	* modules/mod_core.c: Try to make the error logging better, for the
	case where a client requests a rename of a directory across
	filesystem mount points.

2011-07-10  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Updated mod_tls
	AllowClientRenegotiations TLSOption description to mention
	CVE-2011-1437.

2011-07-10  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3671 - TLSOption
	AllowClientRenegotiations to be unconditionally required for
	client-initiated renegotiations.

2011-07-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/wrap2.pm: Adding
	regression tests for Bug#3670.

2011-07-10  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/mod_sftp.c: Bug#3670 - WrapDenyMsg not
	displayed when using mod_wrap2 + mod_sftp.

2011-07-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/wrap2.pm,
	tests/t/modules/mod_sftp/wrap2.t, tests/tests.pl: Breaking out the
	mod_sftp+mod_wrap2 unit tests into their own separate file of test
	cases.

2011-07-09  castaglia <castaglia>

	* contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/kex.c: Adding
	comments for my future reference, for when I start adding X509
	support to mod_sftp.

2011-07-06  castaglia <castaglia>

	* doc/modules/mod_facts.html: Adding MLSD/MLST FAQ from forums.

2011-07-02  castaglia <castaglia>

	* NEWS, src/scoreboard.c: Bug#3668 - File descriptor leak during
	scoreboard scrubbing.

2011-07-01  castaglia <castaglia>

	* doc/modules/mod_core.html: Add description of the GroupOwner
	directive, updated for Bug#3665, to the mod_core HTML docs.

2011-07-01  castaglia <castaglia>

	* NEWS, src/dirtree.c: Bug#3665 - GID of new files are inherited
	from parent directory on FreeBSD.  The GroupOwner directive is enhanced to use "~" as "GID of logged-in
	user", to work around the FreeBSD-specific behavior.

2011-06-30  jwm <jwm>

	* NEWS: mention the mod_ldap configuration directive overhaul

2011-06-21  castaglia <castaglia>

	* NEWS, src/scoreboard.c: Bug#3667 - Scoreboard scrubbing can block
	daemon process for long periods of time.

2011-06-17  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Minor updates to the mod_sftp docs for
	SFTPCiphers, SFTPDigests, and SFTPOptions.

2011-06-17  castaglia <castaglia>

	* contrib/mod_sftp/kex.c: Add trace logging of the SSH2 session
	algorithms.  This duplicates info already logged in the SFTPLog, but
	if you're *only* getting a TraceLog, it helps to have the session
	algorithms logged there.

2011-06-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Added regression test
	for "LIST -R", prompted by a forums post saying that ncftp shows an
	issue with proftpd-1.3.3e's handling of LIST -R.  Couldn't reproduce
	the reported symptoms with this test case, though.

2011-06-14  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Bug#3664 -
	mod_sftp does not update process title.

2011-06-10  castaglia <castaglia>

	* contrib/mod_deflate.c: Add finer-grained trace logging of
	compressed data transfers.  Modify the read() callback slightly to
	be more efficient (one less branch/block to think through when
	debugging).

2011-06-10  castaglia <castaglia>

	* src/scoreboard.c: If we can't open the ScoreboardFile during
	scrubbing, make sure we log the proper error reason for it.

2011-06-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm: Add HideNoAccess
	regression test, trying to reproduce an issue described on
	forums.proftpd.org.

2011-06-05  castaglia <castaglia>

	* modules/mod_delay.c: Remove now-unnecessary blank line in 'ftpdctl
	delay info' response.

2011-06-05  castaglia <castaglia>

	* modules/mod_delay.c: First, fix the calculation of the row
	indices; mod_delay was inadvertently trampling on the values in the
	wrong rows, especially for vhosts.  Second, make the output from 'ftpdctl delay info' a little prettier.

2011-06-05  castaglia <castaglia>

	* src/ctrls.c: Cache errno value for better trace messages.  Fix
	truncation of Unix domain socket path such that it doesn't trash the
	call stack (e.g. on Mac OSX) due to bad assumptions about the
	structure/fields of a struct sockaddr_un.

2011-06-05  castaglia <castaglia>

	* NEWS, modules/mod_delay.c: Bug#3663 - TimeoutLogin cannot
	interrupt mod_delay as it should.

2011-06-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Add mod_deflate
	regression test showing read/compress of chunks of upload data.

2011-06-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Fix mod_deflate
	regression tests broken by the addition of the ScoreboardMutex.

2011-05-27  castaglia <castaglia>

	* doc/modules/mod_core.html: Add docs for the PassivePorts directive
	to the bundled HTML mod_core doc.

2011-05-27  castaglia <castaglia>

	* doc/howto/Scoreboard.html: Mention the types of data tracked in
	the ScoreboardFile for a data transfer, and link to the utilities
	docs.  This should cover Bug#2625.

2011-05-27  castaglia <castaglia>

	* src/fsio.c: More caching/setting of errno properly, and fixing a
	minor memory leak.

2011-05-26  castaglia <castaglia>

	* modules/mod_core.c: Properly cache/set the errno value before
	returning PR_ERROR.

2011-05-26  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab/site_misc.pm,
	tests/t/modules/mod_quotatab/site_misc.t, tests/tests.pl: Adding
	regression tests for Bug#3660.

2011-05-26  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c, contrib/mod_site_misc.c: Bug#3660 -
	SITE MKDIR/RMDIR should update quota tallies properly.

2011-05-26  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Update the
	mod_quotatab tests to be a little more resilient during full runs of
	the testsuite.

2011-05-26  castaglia <castaglia>

	* contrib/mod_quotatab_sql.c: Remove the checking for underflowing
	the files used values in mod_quotatab_sql.  The mod_quotatab module
	already makes such checks.  Plus, the checks at this layer prevent
	the decrementing of the files used value to zero.

2011-05-26  castaglia <castaglia>

	* contrib/mod_sql.c: Fix some strncasecmp(3) cases in mod_sql, and
	convert other strcasecmp(3) to strncasecmp(3).

2011-05-26  castaglia <castaglia>

	* contrib/mod_copy.c: Allocate the cmd->arg string out of the
	cmd->pool, NOT out of the cmd->tmp_pool, as the latter pool is
	cleared after every dispatch phase and the former pool is not.

2011-05-26  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab/copy.pm: Forgot to
	check in the regression tests for the recent work on Bug#3641.

2011-05-25  castaglia <castaglia>

	* contrib/mod_copy.c: Make mod_copy interact with mod_quotatab such
	that a recursively copied directory will update the quota tallies
	properly (Bug#3641).

2011-05-25  castaglia <castaglia>

	* contrib/mod_quotatab.c: Fix up some minor nits in mod_quotatab,
	found while working on Bug#3641.

2011-05-25  castaglia <castaglia>

	* modules/mod_xfer.c: Set errno before returning PR_ERROR.

2011-05-25  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: The copy-file functionality in mod_sftp
	needs to interact with e.g.  mod_copy and mod_quotatab properly,
	which requires that mod_sftp generate a SITE COPY cmd_rec, not a
	COPY cmd_rec.

2011-05-24  castaglia <castaglia>

	* contrib/install-sh: Adding install-sh script for contrib/ area.

2011-05-24  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.h.in: The newly added date(1) support in
	mod_sftp needs to be explicitly enabled via the Protocols directive,
	rather than being enabled by default.  This should preserve the principle of least surprise.  And since
	this date(1) support is for testing anyway, there's (currently) no
	reason it should be enabled by default.

2011-05-24  castaglia <castaglia>

	* contrib/mod_sftp/Makefile.in, contrib/mod_sftp/auth.c,
	contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h,
	contrib/mod_sftp/date.c, contrib/mod_sftp/date.h,
	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in: Adding
	support for builtin date(1) command, for speed tests related to
	authentication (versus file transfers via SFTP/SCP).

2011-05-24  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Remove redundant setting of the
	POSIXLY_CORRECT environment variable.

2011-05-24  castaglia <castaglia>

	* doc/contrib/mod_ctrls_admin.html: Documenting the -n 'ftpdctl
	kick' option, added for Bug#3555.

2011-05-24  castaglia <castaglia>

	* NEWS, contrib/mod_ctrls_admin.c: Bug#3555 - Support optional
	maximum number of clients to be disconnected via 'ftpdctl kick'.

2011-05-23  castaglia <castaglia>

	* contrib/mod_ban.c, contrib/mod_sftp/scp.c, contrib/mod_tls.c,
	include/support.h, src/support.c: Refactor all of the getopt(3)
	resetting code into a single pr_getopt_reset() function than then be
	used by the interested parties (e.g. mod_ban, mod_sftp, mod_tls).

2011-05-23  castaglia <castaglia>

	* contrib/mod_wrap2/configure: Updated mod_wrap2 configure.

2011-05-23  castaglia <castaglia>

	* configure.in, contrib/mod_wrap2/configure.in: Updating FSF
	address, per Bug#3650.

2011-05-23  castaglia <castaglia>

	* contrib/ftpasswd, contrib/ftpmail, contrib/ftpquota, src/prxs.in: 
	Updated FSF address, per Bug#3650.

2011-05-23  castaglia <castaglia>

	* COPYING, doc/license.txt, src/auth.c, src/bindings.c,
	src/child.c, src/class.c, src/cmd.c, src/ctrls.c, src/data.c,
	src/dirtree.c, src/display.c, src/encode.c, src/env.c, src/event.c,
	src/expr.c, src/feat.c, src/filter.c, src/fsio.c, src/ftpdctl.c,
	src/help.c, src/inet.c, src/lastlog.c, src/log.c, src/main.c,
	src/memcache.c, src/mkhome.c, src/modules.c, src/netacl.c,
	src/netaddr.c, src/netio.c, src/parser.c, src/pidfile.c,
	src/pool.c, src/privs.c, src/proctitle.c, src/regexp.c,
	src/response.c, src/scoreboard.c, src/session.c, src/sets.c,
	src/stash.c, src/str.c, src/support.c, src/table.c, src/throttle.c,
	src/timers.c, src/trace.c, src/var.c, src/version.c, src/wtmp.c,
	src/xferlog.c: Updating FSF address, per Bug#3650.

2011-05-23  castaglia <castaglia>

	* doc/mod_sample.c, lib/getopt.c, lib/getopt1.c,
	lib/glibc-gai_strerror.c, lib/glibc-glob.c, lib/glibc-mkstemp.c,
	lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c, lib/pwgrent.c,
	lib/sstrncpy.c, lib/strsep.c, lib/vsnprintf.c, modules/mod_auth.c,
	modules/mod_auth_file.c, modules/mod_auth_pam.c,
	modules/mod_auth_unix.c, modules/mod_cap.c, modules/mod_core.c,
	modules/mod_ctrls.c, modules/mod_delay.c, modules/mod_dso.c,
	modules/mod_facl.c, modules/mod_facts.c, modules/mod_ident.c,
	modules/mod_lang.c, modules/mod_log.c, modules/mod_ls.c,
	modules/mod_memcache.c, modules/mod_site.c, modules/mod_xfer.c: 
	Updated FSF address, per Bug#3650.

2011-05-23  castaglia <castaglia>

	* contrib/mod_ban.c, contrib/mod_copy.c, contrib/mod_ctrls_admin.c,
	contrib/mod_deflate.c, contrib/mod_dynmasq.c, contrib/mod_exec.c,
	contrib/mod_ifsession.c, contrib/mod_ifversion.c,
	contrib/mod_ldap.c, contrib/mod_load/mod_load.c.in,
	contrib/mod_qos.c, contrib/mod_quotatab.c,
	contrib/mod_quotatab_file.c, contrib/mod_quotatab_ldap.c,
	contrib/mod_quotatab_radius.c, contrib/mod_quotatab_sql.c,
	contrib/mod_radius.c, contrib/mod_ratio.c, contrib/mod_readme.c,
	contrib/mod_rewrite.c, contrib/mod_sftp/auth-hostbased.c,
	contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
	contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
	contrib/mod_sftp/channel.c, contrib/mod_sftp/cipher.c,
	contrib/mod_sftp/compress.c, contrib/mod_sftp/crypto.c,
	contrib/mod_sftp/disconnect.c, contrib/mod_sftp/display.c,
	contrib/mod_sftp/fxp.c, contrib/mod_sftp/interop.c,
	contrib/mod_sftp/kbdint.c, contrib/mod_sftp/kex.c,
	contrib/mod_sftp/keys.c, contrib/mod_sftp/keystore.c,
	contrib/mod_sftp/mac.c, contrib/mod_sftp/misc.c,
	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/msg.c,
	contrib/mod_sftp/packet.c, contrib/mod_sftp/rfc4716.c,
	contrib/mod_sftp/scp.c, contrib/mod_sftp/service.c,
	contrib/mod_sftp/session.c, contrib/mod_sftp/tap.c,
	contrib/mod_sftp/utf8.c, contrib/mod_sftp_pam.c,
	contrib/mod_sftp_sql.c, contrib/mod_shaper.c,
	contrib/mod_site_misc.c, contrib/mod_sql.c,
	contrib/mod_sql_mysql.c, contrib/mod_sql_odbc.c,
	contrib/mod_sql_passwd.c, contrib/mod_sql_postgres.c,
	contrib/mod_sql_sqlite.c, contrib/mod_tls_memcache.c,
	contrib/mod_tls_shmcache.c, contrib/mod_unique_id.c,
	contrib/mod_wrap.c, contrib/mod_wrap2/mod_wrap2.c,
	contrib/mod_wrap2_file.c, contrib/mod_wrap2_sql.c: Updating FSF
	address, per Bug#3650.

2011-05-23  castaglia <castaglia>

	* contrib/mod_quotatab.h, contrib/mod_sftp/auth.h,
	contrib/mod_sftp/channel.h, contrib/mod_sftp/cipher.h,
	contrib/mod_sftp/compress.h, contrib/mod_sftp/crypto.h,
	contrib/mod_sftp/disconnect.h, contrib/mod_sftp/display.h,
	contrib/mod_sftp/fxp.h, contrib/mod_sftp/interop.h,
	contrib/mod_sftp/kbdint.h, contrib/mod_sftp/kex.h,
	contrib/mod_sftp/keys.h, contrib/mod_sftp/keystore.h,
	contrib/mod_sftp/mac.h, contrib/mod_sftp/misc.h,
	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/msg.h,
	contrib/mod_sftp/packet.h, contrib/mod_sftp/rfc4716.h,
	contrib/mod_sftp/scp.h, contrib/mod_sftp/service.h,
	contrib/mod_sftp/session.h, contrib/mod_sftp/ssh2.h,
	contrib/mod_sftp/tap.h, contrib/mod_sftp/utf8.h, contrib/mod_sql.h,
	contrib/mod_tls.h, contrib/mod_wrap2/mod_wrap2.h.in, lib/getopt.h,
	tests/api/array.c, tests/api/class.c, tests/api/cmd.c,
	tests/api/env.c, tests/api/event.c, tests/api/expr.c,
	tests/api/feat.c, tests/api/modules.c, tests/api/netacl.c,
	tests/api/netaddr.c, tests/api/pool.c, tests/api/regexp.c,
	tests/api/scoreboard.c, tests/api/sets.c, tests/api/stash.c,
	tests/api/str.c, tests/api/stubs.c, tests/api/table.c,
	tests/api/tests.c, tests/api/tests.h, tests/api/timers.c,
	tests/api/var.c, tests/api/version.c, utils/ftpcount.c,
	utils/ftpscrub.c, utils/ftpshut.c, utils/ftptop.c, utils/ftpwho.c,
	utils/misc.c, utils/scoreboard.c: Updating FSF address, per
	Bug#3650.

2011-05-23  castaglia <castaglia>

	* include/auth.h, include/bindings.h, include/child.h,
	include/class.h, include/cmd.h, include/compat.h, include/conf.h,
	include/ctrls.h, include/data.h, include/default_paths.h,
	include/dirtree.h, include/display.h, include/encode.h,
	include/env.h, include/event.h, include/expr.h, include/feat.h,
	include/filter.h, include/fsio.h, include/ftp.h,
	include/glibc-glob.h, include/help.h, include/inet.h,
	include/libsupp.h, include/log.h, include/memcache.h,
	include/mkhome.h, include/mod_ctrls.h, include/modules.h,
	include/netacl.h, include/netaddr.h, include/netio.h,
	include/options.h, include/parser.h, include/pidfile.h,
	include/pool.h, include/pr-syslog.h, include/privs.h,
	include/proctitle.h, include/proftpd.h, include/regexp.h,
	include/response.h, include/scoreboard.h, include/session.h,
	include/sets.h, include/stash.h, include/str.h, include/support.h,
	include/table.h, include/throttle.h, include/timers.h,
	include/trace.h, include/var.h, include/xferlog.h, utils/utils.h: 
	Updating the FSF address, per Bug#3650.

2011-05-23  castaglia <castaglia>

	* COPYING: Updating FSF address, per Bug#3650.

2011-05-20  castaglia <castaglia>

	* contrib/mod_tls.c: Don't allow client certs if they point to an
	OCSP responder whose response says that the OCSP responder doesn't
	know about the client cert.

2011-05-20  castaglia <castaglia>

	* contrib/mod_tls.c: Clarify the certificate revocation callback
	code a little, and add some comments on edge cases to handle better.

2011-05-20  castaglia <castaglia>

	* contrib/mod_tls.c: Fixed cases of strncmp(3) to use strncmp(3),
	and strcasecmp(3) to be strncasecmp(3), as the 'n' variants are more
	efficient (saves on a strlen(3) call internally).  Reworked the OCSP verification code so that it works properly.

2011-05-20  castaglia <castaglia>

	* tests/t/etc/modules/mod_tls/NOTES,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
	tests for the TLSVerifyOrder directive, for both 'crl' and 'ocsp'
	(separately).  Updates NOTES to mention how to generate certs with OCSP attributes,
	running OpenSSL's ocsp(1) as responder (and client), issues found,
	etc.

2011-05-20  castaglia <castaglia>

	* tests/t/etc/modules/mod_tls/ocsp-ca.pem,
	tests/t/etc/modules/mod_tls/ocsp-client.pem,
	tests/t/etc/modules/mod_tls/ocsp-https-ca.pem,
	tests/t/etc/modules/mod_tls/ocsp-https-client.pem,
	tests/t/etc/modules/mod_tls/ocsp-https-server.pem,
	tests/t/etc/modules/mod_tls/ocsp-server.pem: Adding certs/files for
	OCSP verification tests.

2011-05-19  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3658 - TLSVerifyOrder directive is
	broken.

2011-05-19  castaglia <castaglia>

	* doc/howto/Testing.html: Mention the brittleness of the
	127.0.0.1/localhost-related tests in the Testing howto, and mention
	how they are "expected failures".

2011-05-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Update the mod_tls
	CRL regression test to use the newly-generated/updated CRL test
	files.

2011-05-18  castaglia <castaglia>

	* tests/t/etc/modules/mod_tls/NOTES: Updated mod_tls notes with how
	to generate CRL regression test certs (I really mean it this time!).

2011-05-18  castaglia <castaglia>

	* tests/t/etc/modules/mod_tls/crl-ca-revoked.pem,
	tests/t/etc/modules/mod_tls/crl-ca.pem,
	tests/t/etc/modules/mod_tls/crl-client-cert.pem,
	tests/t/etc/modules/mod_tls/crl-server-cert.pem: Added new CA,
	server/client certs, and CRL PEM files for the CRL revocation
	regression test.  Updated the NOTES file with instructions on how to generate the
	above files.

2011-05-18  castaglia <castaglia>

	* tests/t/etc/modules/mod_quotatab_file/NOTES: Remove the broken
	file tables for the group quota test.  Add notes for how the file
	tables were generated, for future reference.

2011-05-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm: Update the
	group quota regression test to use the fixed table files.

2011-05-18  castaglia <castaglia>

	* : Fixing the group quota file-based tables for the
	mod_quotatab_file regression test.

2011-05-18  castaglia <castaglia>

	* : Adding the limit/tally file tables for the ALL regression test.

2011-05-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm: Adding
	regression test involving file-based quota tables and an ALL quota
	(from the forums).

2011-05-18  castaglia <castaglia>

	* configure: Updated configure.

2011-05-18  castaglia <castaglia>

	* configure.in: Fix --disable-strip logic.

2011-05-18  castaglia <castaglia>

	* doc/contrib/mod_wrap2.html: Fix typos in the mod_wrap2 docs.

2011-05-18  castaglia <castaglia>

	* contrib/mod_sftp/packet.c: Refactor the ssh2_sftp_packet_read()
	function, moving some of the special-case handling of SSH messages
	like DEBUG, IGNORE, UNIMPLEMENTED et al into the
	ssh2_sftp_packet_handle() function, where all of the other SSH
	message types are handled.  Now all of the message types are handled
	in the same function, in the same way.

2011-05-17  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#3656 - Prefer "File too big" error
	message for MaxStoreFilesize.

2011-05-16  castaglia <castaglia>

	* modules/mod_xfer.c: Another typo.

2011-05-16  castaglia <castaglia>

	* modules/mod_xfer.c: Typo.

2011-05-15  castaglia <castaglia>

	* contrib/mod_sftp/packet.c: Leaving notes for myself about the use
	of TCP_CORK/TCP_NOPUSH when sending SSH messages.

2011-05-15  castaglia <castaglia>

	* include/inet.h, modules/mod_xfer.c, src/inet.c: Refactor
	pr_inet_set_proto_opts(), breaking out the TCP_CORK/TCP_NOPUSH
	functionality into a new pr_inet_set_proto_cork() function.  This
	was done to test using TCP_CORK/TCP_NOPUSH in mod_sftp.

2011-05-15  castaglia <castaglia>

	* contrib/mod_sftp/packet.c, contrib/mod_sftp/packet.h,
	contrib/mod_sftp/tap.c: Refactor mod_sftp's packet functions a
	little, removing the circular calling between
	sftp_ssh2_packet_write() and sftp_tap_send_packet(). This allows us
	to remove the ugly hack in the TAP code.  Also included the number of bytes written out by writev(2), so that
	we can get a better idea of the sizes of the messages being written
	to the network.  This helps when looking at things like MSS, delayed
	ACKs, Nagle, etc.

2011-05-13  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: Provide better error message for
	SFTPClientMatch values configured to be zero.

2011-05-13  castaglia <castaglia>

	* NEWS, src/main.c: Bug#3653 - Segfault with "DefaultServer off" and
	no matching server for incoming IP address.

2011-05-13  castaglia <castaglia>

	* configure: Updated configure.

2011-05-13  castaglia <castaglia>

	* configure.in: Renaming --enable-symbols configure option, added
	for Bug#3651, to be --disable-strip (which is what OpenSSH uses).

2011-05-13  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Typo.

2011-05-13  castaglia <castaglia>

	* contrib/mod_sftp/keys.c: Fix typo in comment.

2011-05-11  castaglia <castaglia>

	* doc/howto/TLS.html: Added TLS FAQ/example config for requring FTPS
	for remote clients but allowing just FTP for local clients.

2011-05-11  castaglia <castaglia>

	* contrib/mod_wrap.c: Additional fixes for Bug#3652.

2011-05-11  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Add proper dispatching through PRE_CMD
	phase handlers for the FSETSTAT SFTP request, including the path of
	the file being changed (not the filehandle).

2011-05-09  castaglia <castaglia>

	* NEWS, contrib/mod_wrap.c: Bug#3652 - TCPAccessSyslogLevel
	directive broken by Bug#3317.

2011-05-08  castaglia <castaglia>

	* configure: Updated configure.

2011-05-08  castaglia <castaglia>

	* configure.in: Adding --enable-symbols configure option, to
	generate proftpd code which is not stripped of code symbols at
	install time (Bug#3651).

2011-05-08  castaglia <castaglia>

	* contrib/mod_load/Makefile.in, contrib/mod_sftp/Makefile.in,
	contrib/mod_wrap2/Makefile.in: Minor cleanups of paths, removing
	some double-slash occurrences (pointed out in Bug#3651).

2011-05-05  castaglia <castaglia>

	* modules/mod_facts.c: Update mod_facts to use the new defines for
	the MFF and MFMT commands.

2011-05-05  castaglia <castaglia>

	* include/cmd.h, include/ftp.h, src/cmd.c: Include defines ands IDs
	for the MFF and MFMT commands.  Add define (not ID yet) for the HOST
	command.

2011-05-05  castaglia <castaglia>

	* modules/mod_ls.c: Remove now-unused variable declaration.

2011-05-04  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Fix issues with mod_sftp's handling of the
	RMDIR and REMOVE requests with regard to PRE_CMD handlers.

2011-05-03  castaglia <castaglia>

	* modules/mod_core.c: If the system defines the SOMAXCONN limit,
	then make sure that a configured TCPBacklog value does not exceed
	that limit.

2011-05-02  castaglia <castaglia>

	* contrib/mod_quotatab_sql.c, contrib/mod_sql_passwd.c: More
	idiomatic check for DECLINED/null results.

2011-05-01  jwm <jwm>

	* Makefile.in: - execute the clean target in tests/, too - remove some Makefiles on distclean that were sneaking their way
	  into release tarballs

2011-05-01  castaglia <castaglia>

	* contrib/mod_ban.c, contrib/mod_deflate.c,
	contrib/mod_quotatab_sql.c, contrib/mod_rewrite.c,
	contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
	contrib/mod_sftp/cipher.c, contrib/mod_sftp/kex.c,
	contrib/mod_sftp/packet.c, contrib/mod_sftp/rfc4716.c,
	contrib/mod_sftp/scp.c, contrib/mod_sftp/utf8.c, contrib/mod_sql.c,
	contrib/mod_sql_passwd.c, contrib/mod_tls.c, lib/pr-syslog.c,
	modules/mod_auth.c, modules/mod_core.c, modules/mod_facts.c,
	modules/mod_ls.c, modules/mod_xfer.c, src/auth.c, src/ctrls.c,
	src/encode.c, src/help.c, src/inet.c, src/main.c, src/netaddr.c,
	src/scoreboard.c, src/stash.c, src/table.c, utils/ftpcount.c,
	utils/ftptop.c, utils/ftpwho.c: Fix up various small issues found by
	Apple's clang static source code analysis tool.

2011-04-30  castaglia <castaglia>

	* lib/tpl.c: Fixing nits in libtpl found by Apple's clang static
	source code analysis tool.

2011-04-30  castaglia <castaglia>

	* modules/mod_delay.c: Fix nit found by Apple's clang static source
	code analysis tool.

2011-04-30  castaglia <castaglia>

	* src/pool.c: Adding comment describing why the logic in
	null_alloc() is as intended, for future reference.

2011-04-30  castaglia <castaglia>

	* modules/mod_facts.c: Fix up minor nits pointed out by Apple'c
	clang static code analysis tool.

2011-04-29  castaglia <castaglia>

	* modules/mod_auth.c: Paranoidly guard against possible NULL pointer
	dereference (found by Klocwork static source code analysis).

2011-04-29  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#3649 - MaxStoreFileSize can be
	bypassed using REST/APPE.

2011-04-29  castaglia <castaglia>

	* modules/mod_log.c: Code/style clarity.

2011-04-29  castaglia <castaglia>

	* modules/mod_facts.c: Typo.

2011-04-29  castaglia <castaglia>

	* src/fsio.c: Fix issue highlighted by Klocwork's static source code
	analysis.

2011-04-29  castaglia <castaglia>

	* modules/mod_ls.c: Fix issue highlighted by Klocwork's static
	source code analysis.

2011-04-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm: Adding
	regression test for Bug#3649.

2011-04-26  castaglia <castaglia>

	* doc/modules/mod_xfer.html: Filling in the descriptions for
	MaxRetrieveFileSize and MaxStoreFileSize in the mod_xfer HTML docs.

2011-04-22  castaglia <castaglia>

	* doc/howto/TLS.html: Adding a TLS FAQ about long-lived FTPS
	sessions, the NoSessionReuseRequired TLSOption, and SSL session
	caching timeouts (cf. Bug#3580).

2011-04-22  castaglia <castaglia>

	* doc/contrib/mod_tls.html, doc/howto/TLS.html: A few minor
	improvements to the mod_tls docs.

2011-04-22  castaglia <castaglia>

	* include/log.h, modules/mod_log.c, src/ftpdctl.c, src/log.c,
	src/main.c, src/trace.c, src/xferlog.c: Add a new API for generating
	events whenever messages are logged.  These events cover
	TransferLog, SystemLog, syslog, TraceLog, and per-module logging.  Listeners for these events can be registered by modules which want
	to send the log messages remotely, process/digest/aggregrate them,
	etc.  (And yes, I do already have a mod_log_forensic module which
	uses these events, which I may decide is worth bundling with
	proftpd.)

2011-04-21  castaglia <castaglia>

	* NEWS, src/main.c: Bug#3644 - Disable signal handling for exiting
	session processes.

2011-04-21  castaglia <castaglia>

	* doc/howto/Tracing.html: Fix broken URL.

2011-04-20  castaglia <castaglia>

	* contrib/mod_exec.c, doc/contrib/mod_exec.html: Disable the
	sendStdout ExecOption completely for SSH2 sessions, if possible.  Update the docs for sendStdout to mention that this option, for SSH2
	sessions, is a bad idea.

2011-04-20  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: Move the setting of the session
	protocol to 'SSH2' to be earlier in the cycle, i.e. during
	mod_sftp's sess init callback.  This should help clear up the "SSH2
	session opened" messages (which are currently logged as "FTP session
	opened" but "SSH2 session closed").

2011-04-20  castaglia <castaglia>

	* contrib/mod_exec.c: If we detect that mod_exec's ExecOnConnect
	scripts are being used in an SSH2 session, disable the sendStdout
	ExecOption -- it will only cause connection problems for those
	clients.

2011-04-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/exec.pm,
	tests/t/modules/mod_sftp/exec.t, tests/tests.pl: Adding unit tests
	for mod_exec/mod_sftp interoperability.

2011-04-19  castaglia <castaglia>

	* modules/mod_auth_pam.c: Typo.

2011-04-19  castaglia <castaglia>

	* doc/contrib/mod_sql_odbc.html: Improved the mod_sql_odbc docs a
	little.

2011-04-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_odbc.pm,
	tests/t/modules/mod_sql_odbc.t, tests/tests.pl: Add unit tests for
	mod_sql_odbc.

2011-04-19  castaglia <castaglia>

	* contrib/mod_sql_odbc.c: Fix some issues found in mod_sql_odbc
	while working on some regression tests for it.

2011-04-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Unless explicitly set, use
	a TimeoutLinger value of 1 in the testsuite.

2011-04-15  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3645 -
	Ensure that SQLNamedConnectInfos with PERSESSION connection policies
	are opened before chroot.

2011-04-15  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	tests for mod_sftp's handling of SYMLINK requests when the
	destination already exists, and when the source does not exist.

2011-04-15  castaglia <castaglia>

	* contrib/mod_sftp/auth.c: Use a dynamically allocated string for
	the fake PASS cmd_rec dispatched for SSH2 authentication, rather
	than a read-only stack string; the latter causes problems when
	mod_auth goes to scrub that password buffer.

2011-04-15  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Another conversion from strchr(3) to
	memchr(3).

2011-04-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Tweaks to the
	mod_sftp testsuite, making sure that all of the current tests pass.

2011-04-14  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: Add trace logging of when we invoke a
	channel's finish handler.

2011-04-14  castaglia <castaglia>

	* include/cmd.h, src/cmd.c, src/main.c: Another minor performance
	optimization: use memchr(3) instead of strchr(3) where we can,
	especially on hot paths, to save on a strlen(3) call inside of the C
	library.

2011-04-14  castaglia <castaglia>

	* contrib/mod_sftp/kex.c: Another performance/optimization tweak:
	use memchr(3) instead of strchr(3), and save on a strlen(3) in the C
	library.

2011-04-14  castaglia <castaglia>

	* src/scoreboard.c: Watch for, and log, any short writes when
	updating a scoreboard entry.

2011-04-14  castaglia <castaglia>

	* contrib/mod_exec.c: Fixed compiler issue in previous change; need
	to provide all the proper arguments to a printf() style function.

2011-04-14  castaglia <castaglia>

	* contrib/mod_exec.c: Adding a little more logging of the value
	returned from mod_exec's exec_ssystem() function.  This helps
	diagnose whether the value returned came from the command that was
	executed, and whether a coredump file was created by that command.

2011-04-14  castaglia <castaglia>

	* contrib/mod_rewrite.c: Slightly better logging of mod_rewrite's
	file test operators and the path against which they are being
	evaluated.

2011-04-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Adding
	another reproduction recipe for Bug#3643 to the testsuite.

2011-04-14  castaglia <castaglia>

	* doc/modules/mod_core.html: Add docs for the TimeoutLinger
	directive.

2011-04-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Adding
	regression test for Bug#3643.

2011-04-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Update the
	mod_sql/mod_sql_sqlite unit tests so that they run properly if run
	with root privs.

2011-04-13  castaglia <castaglia>

	* configure: Updated configure.

2011-04-13  castaglia <castaglia>

	* configure.in: Be more defensive about the --with-X configure
	options, and make sure that the provided values (if any) are
	suitable for use.

2011-04-12  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#3642 - Segfault seen in mod_sql_mysql
	if "SQLAuthenticate groupsetfast" used.

2011-04-12  castaglia <castaglia>

	* contrib/mod_sql_mysql.c: Typo.

2011-04-12  castaglia <castaglia>

	* contrib/mod_sql.c, modules/mod_log.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Logging of the
	%{uid} and %{gid} variables (added in Bug#3390) was using
	session.{uid,gid} rather than the more proper
	session.login_{uid,gid} members.  The difference is between the
	UID/GID of the authenticated user versus the UID/GID of the
	User/Group config directives.

2011-04-09  castaglia <castaglia>

	* NEWS, contrib/mod_copy.c, contrib/mod_quotatab.c: Bug#3641 - SITE
	CPFR/CPTO does not update quota tally.

2011-04-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab/copy.pm,
	tests/t/modules/mod_quotatab/copy.t, tests/tests.pl: Added
	regression tests for mod_copy/mod_quotatab, for Bug#3641.

2011-04-07  castaglia <castaglia>

	* modules/mod_auth.c: Scrub the memory holding the password received
	from the client when done processing the PASS command.

2011-04-07  castaglia <castaglia>

	* include/proftpd.h, src/main.c: Add a new session.curr_cmd_id,
	which holds the command ID for the current command (found in
	session.curr_cmd), for faster identification of the command.

2011-04-06  castaglia <castaglia>

	* doc/howto/Chroot.html: Adding more chroot-related FAQs to the
	Chroot howto.

2011-04-06  castaglia <castaglia>

	* tests/t/config/defaultroot.t,
	tests/t/lib/ProFTPD/Tests/Config/DefaultRoot.pm, tests/tests.pl: 
	Adding regression tests for various DefaultRoot configurations
	involving symlinks.

2011-04-06  castaglia <castaglia>

	* doc/modules/mod_dso.html: Typo.

2011-04-06  castaglia <castaglia>

	* doc/modules/mod_auth.html: Add docs for the UserPassword
	directive, including examples.

2011-04-06  castaglia <castaglia>

	* NEWS, src/netio.c: Bug#3639 - Avoid spinning proftpd process if
	read(2) returns EAGAIN.

2011-04-06  castaglia <castaglia>

	* RELEASE_NOTES: Forgot to mention the new ProcessTitles directive
	in the release notes for 1.3.4rc2.

2011-04-06  castaglia <castaglia>

	* doc/modules/mod_ctrls.html: Fix typos in mod_ctrls docs.

2011-04-05  castaglia <castaglia>

	* doc/howto/Compiling.html, doc/modules/mod_memcache.html: Mention
	the minimum libmemcached library version requirement in the
	mod_memcache docs, and the minimum pcre library versoin requirement
	in the Compiling howto.

2011-04-05  castaglia <castaglia>

	* NEWS, include/regexp.h, src/memcache.c: Bug#3637 - Enforce pcre
	and libmemcached version requirements.

2011-04-04  castaglia <castaglia>

	* tests/api/stubs.c: Fix API testsuite compilation when
	--enable-pcre configure option is used.

2011-04-01  castaglia <castaglia>

	* include/version.h: Setting version back to CVS status, with
	increased version number for next release.

2011-04-01  castaglia <castaglia>

	* ChangeLog: Updated ChangeLog.

2011-04-01  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Getting
	ready to release 1.3.4rc2.

2011-04-01  castaglia <castaglia>

	* locale/proftpd.pot: Updated the template of strings to be
	translated.

2011-04-01  castaglia <castaglia>

	* modules/mod_core.c: Fix the NLS support for a FEAT string in
	mod_core, so that generating the proftpd.pot file doesn't cause
	complaints about a string containing the '\r' character.

2011-04-01  castaglia <castaglia>

	* locale/files.txt: Updating list of localisable files.

2011-03-31  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/keys.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3634 - Incorrect
	generation of DSA signature for SSH sessions.

2011-03-30  castaglia <castaglia>

	* doc/howto/ConfigurationTricks.html: Add mention of proftpd's
	support for simple directory hashing using the %u variable to the
	ConfigurationTricks howto.

2011-03-30  castaglia <castaglia>

	* doc/modules/mod_core.html: Adding more references about
	kernel-level tuning for TCP backlogs and SYN cookies and such to the
	TCPBacklog directive docs.

2011-03-30  castaglia <castaglia>

	* doc/modules/mod_core.html: Add docs for the TCPBacklog directive.

2011-03-30  castaglia <castaglia>

	* src/table.c: Remove an unnecessary (and unused) pointer increment
	in the Table API's default hashing.  Make the table dump messages a
	little better by including the calculated hash value for each entry
	in the message.

2011-03-30  castaglia <castaglia>

	* modules/mod_core.c, tests/t/lib/ProFTPD/Tests/Config/Trace.pm: The
	Trace directive can be set on a per-session basis using the
	"session" parameter.  The addition of log level ranges (Bug#3617)
	was not handled properly for such per-session Trace settings.

2011-03-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm: Add regression
	tests demonstrating that "demuxing" based on the username variable
	%u still works as advertised.  Still need some negative test cases
	for this feature, though.

2011-03-29  castaglia <castaglia>

	* RELEASE_NOTES: Mention a few more addressed issues in the release
	notes.

2011-03-29  castaglia <castaglia>

	* RELEASE_NOTES: Finishing up the release notes for 1.3.4rc2.

2011-03-29  castaglia <castaglia>

	* doc/modules/mod_log.html: Mention the new EXIT ExtendedLog
	"command class" in the mod_log docs.

2011-03-29  castaglia <castaglia>

	* doc/modules/mod_core.html: Adding docs for the PathAllowFilter and
	PathDenyFilter directives.

2011-03-29  castaglia <castaglia>

	* doc/modules/mod_core.html: Add docs for the TransferLog directive.

2011-03-29  castaglia <castaglia>

	* doc/modules/mod_log.html: Minor doc tweaks.

2011-03-28  castaglia <castaglia>

	* doc/howto/Compiling.html: Mention the new --enable-memcache and
	--enable-pcre configure options in the Compiling howto.

2011-03-28  castaglia <castaglia>

	* doc/modules/mod_memcache.html: Updating mod_memcache docs a little
	more.

2011-03-28  castaglia <castaglia>

	* src/scoreboard.c: If "ScoreboardFile /dev/null" is configured,
	don't try to delete the /dev/null device.  Some platforms will
	actually let you do this.

2011-03-26  castaglia <castaglia>

	* include/session.h: Include an end-of-session code for snprintf(3)
	buffer truncation.  I'll soon be adding code which uses this
	end-of-session code.

2011-03-26  castaglia <castaglia>

	* NEWS, contrib/mod_exec.c, contrib/mod_ifsession.c,
	contrib/mod_sql.c, include/dirtree.h, modules/mod_cap.c,
	modules/mod_core.c: Bug#3610 - Proftpd is eating CPU when reparsing
	configuration file on SIGHUP.  The mod_sql module was marking most of its config_recs with the
	CF_MERGEDOWN flag -- but it only ever looked up those config_recs
	from the server->conf list, and never from the per-directory list.
	This meant that those mod_sql config_recs would be merged down
	needlessly.  In configurations with many <Directory> sections (e.g.
	into the hundreds), the merging process would take hundreds of
	seconds, if not longer, during startup/restart.  I've removed those unneeded CF_MERGEDOWN flags.  And in places where
	CF_MERGEDOWN_MULTI was used solely to prevent mod_ifsession from
	removing a config_rec, I've added a new CF_MULTI flag, for such
	needs (without the merging down semantics).

2011-03-26  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Remove commented-out
	config.

2011-03-26  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Refining the regression
	test for Bug#3610.

2011-03-26  castaglia <castaglia>

	* src/main.c: Add trace logging of the entire time it takes to
	handle a SIGHUP/restart.

2011-03-25  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: The regression test for
	Bug#3610 requires a proftpd with the mod_sql module.

2011-03-25  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Adding reproduction
	recipe/regression test for Bug#3610.

2011-03-25  castaglia <castaglia>

	* src/dirtree.c: Provide more legible trace logging of the
	config_type value for a config_rec.

2011-03-25  castaglia <castaglia>

	* src/trace.c: Fix compiler warning.

2011-03-25  castaglia <castaglia>

	* doc/contrib/mod_sftp.html, doc/howto/TLS.html: Adding FAQs about
	the OpenSSL header/library version mismatch warning to both the
	mod_tls and the mod_sftp docs.

2011-03-25  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c, src/main.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3633 -
	Using SQLOption noDisconnectOnError can cause ExtendedLog logging to
	silently fail.

2011-03-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Regression test to
	make sure that mod_sftp fails an RMDIR SFTP request if the directory
	in question is not empty.

2011-03-24  castaglia <castaglia>

	* doc/modules/mod_core.html: Adding docs for the new TraceOptions
	directive.

2011-03-24  castaglia <castaglia>

	* tests/t/config/traceoptions.t,
	tests/t/lib/ProFTPD/Tests/Config/TraceOptions.pm, tests/tests.pl: 
	Adding regression tests for the TraceOptions directive (Bug#3631).

2011-03-24  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, include/trace.h, modules/mod_core.c,
	src/trace.c: Bug#3631 - Support TraceOptions directive, for altering
	TraceLog format slightly.

2011-03-24  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#3632 - mod_sql should log
	"unrecoverable database error" at a higher priority.

2011-03-24  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: Try to make sure that we only send
	SSH2 DISCONNECT messages, as when mod_ban rejects a client, only to
	SSH2 clients and not to any other (e.g. FTP) clients.

2011-03-24  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: Now mod_sftp has separate event
	listeners for the 'core.exit' event (for session processes) and the
	'core.shutdown' event (for daemon shutdown), rather than overloading
	the same event listener for both use cases.

2011-03-24  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/mod_sftp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3630 - SSH
	DISCONNECT messages sent by mod_sftp even for FTP connections in
	some cases.

2011-03-24  castaglia <castaglia>

	* contrib/mod_rewrite.c: Update mod_rewrite to use pr_cmd_strcmp()
	where appropriate.

2011-03-23  castaglia <castaglia>

	* doc/modules/mod_log.html: Document how the ExtendedLog directive
	can be used to log the data to syslog rather than to a file.

2011-03-23  castaglia <castaglia>

	* src/inet.c: Merging more fixes from the FreeBSD ports tree, which
	were neglected to be reported upstream.  Sigh.

2011-03-23  castaglia <castaglia>

	* NEWS, src/throttle.c: Bug#3628 - Unnecessarily verbose "warning:
	unable to throttle bandwidth: Interrupted system call".

2011-03-22  castaglia <castaglia>

	* configure: Updated configure.

2011-03-22  castaglia <castaglia>

	* configure.in: Use the AC_TRY_LINK, and explicitly provide the test
	code to compile, for detecting the backtrace(3) and
	backtrace_symbols(3) functions, on platforms where the
	compiler/library combinations are too stupid to be able to do it
	themselves (e.g. Solaris 10 and gcc).

2011-03-22  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3627 - %w
	variable populated with non-absolute path in SQLLog statement.

2011-03-22  castaglia <castaglia>

	* contrib/mod_ban.c, contrib/mod_shaper.c,
	contrib/mod_tls_shmcache.c, modules/mod_ctrls.c,
	modules/mod_delay.c: Updating more modules to use the
	'core.shutdown' event for their shutdown listeners.

2011-03-22  castaglia <castaglia>

	* contrib/mod_tls.c: Update mod_tls so that it uses the new
	'core.shutdown' event for its daemon shutdown handling, rather than
	the old overloaded 'core.exit' event.

2011-03-22  castaglia <castaglia>

	* tests/t/etc/modules/mod_tls/NOTES,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression test
	for the TLSPassPhraseProvider directive.  And updating the notes on
	how to generate the passphrase-protected server cert used in the
	test.

2011-03-22  castaglia <castaglia>

	* tests/t/etc/modules/mod_tls/server-cert-passwd.pem,
	tests/t/etc/modules/mod_tls/tls-get-passphrase.pl: Adding a test
	passphrase-protected server cert, and a passphrase-provider script,
	for testing the mod_tls TLSPassPhraseProvider directive.

2011-03-22  castaglia <castaglia>

	* contrib/mod_tls.c: Start using trace logging for some of the
	mod_tls actions, especially those during server startup.

2011-03-22  castaglia <castaglia>

	* contrib/mod_tls.c: Additional fix for Bug#3624.

2011-03-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm: Adding another
	regression test for CreateHome, making sure it parses all of the
	multiple options at the same time.

2011-03-22  castaglia <castaglia>

	* contrib/mod_ifsession.c: Changing a few cases of strcmp(3) on
	fixed-length strings to use strncmp(3).  Adding debug logging of the
	regular expressions that mod_ifsession might be evaluating.

2011-03-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Regression
	test for Bug#3625.

2011-03-21  castaglia <castaglia>

	* configure: Updated configure.

2011-03-21  castaglia <castaglia>

	* configure.in: Check for headers that platforms often want for
	their backtrace(2) functions, before checking for the backtrace(2)
	function itself.

2011-03-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	test for the %f LogFormat variable and the SFTP REMOVE request.

2011-03-21  castaglia <castaglia>

	* NEWS, src/scoreboard.c: Bug#3623 - Truncated client name saved in
	ScoreboardFile.

2011-03-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add test
	showing how <IfUser> can be used with SQLLog EXIT to only log EXIT
	statements for authenticated clients.

2011-03-21  castaglia <castaglia>

	* NEWS, contrib/mod_ifsession.c: Bug#3625 - mod_ifsession rules
	using regular expressions do not work.

2011-03-21  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3624 - Plaintext command injection in
	FTPS support.

2011-03-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm: Adding regression
	tests for Bug#3622.

2011-03-21  castaglia <castaglia>

	* NEWS, modules/mod_delay.c: Bug#3622 - mod_delay sometimes logs
	"unable to load DelayTable into memory".

2011-03-21  castaglia <castaglia>

	* src/session.c: Don't try to stash session disconnect notes in the
	session.notes table if that table does not exit.

2011-03-21  castaglia <castaglia>

	* src/main.c: If the session exits because of a signal, use
	pr_session_disconnect() to set this end-of-session code.

2011-03-21  castaglia <castaglia>

	* modules/mod_delay.c: If we fail to load the DelayTable into memory
	via mmap(2) AND we locked the DelayTable before this, be sure to
	release that lock.

2011-03-21  castaglia <castaglia>

	* utils/scoreboard.c: Adding explicit off_t typecasts in the utility
	code for reading the scoreboard.

2011-03-21  castaglia <castaglia>

	* src/scoreboard.c: Add explicit typecasts to off_t for some of the
	lseek(2) calls in the scoreboard code, to ensure that compilers on
	64-bit machines Do The Right Thing(tm).

2011-03-21  castaglia <castaglia>

	* modules/mod_delay.c: Don't penalize clients by taking the
	row-locking time into account as part of the USER/PASS command
	times; lock the DelayTable row after getting the duration for those
	commands, not before.

2011-03-21  castaglia <castaglia>

	* contrib/mod_quotatab_file.c: Some compilers don't use the correct
	argument size (e.g. on 64-bit platforms); add an explicit typecast
	to off_t where needed.

2011-03-21  castaglia <castaglia>

	* contrib/mod_quotatab.c: Reset errno after delaying after a failed
	lock poll.

2011-03-21  castaglia <castaglia>

	* src/scoreboard.c: Add more trace logging of the scoreboard
	scrubbing process.  Fix the releasing of the lock on the
	ScoreboardMutex fd after scrubbing such that it uses SETLKW, rather
	than SETLK.  Reset errno after the delay due to being unable to
	obtain a lock on the ScoreboardMutex.

2011-03-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm,
	tests/t/modules/mod_delay.t, tests/tests.pl: Start collecting
	regression tests for the mod_delay module.

2011-03-20  castaglia <castaglia>

	* modules/mod_delay.c: Make all uses of pr_trace_msg() in mod_delay
	use the trace_channel variable; saves a few bytes of space.

2011-03-20  castaglia <castaglia>

	* modules/mod_delay.c: Include the DelayTable fd in the error
	messages, and fix a case where the wrong errno value was being used.

2011-03-20  castaglia <castaglia>

	* modules/mod_delay.c: Re-register any 'delay' ftpdctl actions upon
	restart.

2011-03-20  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Adding documentation for the new
	SQLNamedConnectInfo directive.

2011-03-20  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3621 -
	mod_quotatab increments tallies for aborted uploads if
	DeleteAbortedStores is on.

2011-03-20  castaglia <castaglia>

	* src/auth.c: Generate a new event, 'core.chroot', just before a
	chroot(2) occurs.  Many modules want to know when a chroot is about
	to occur.

2011-03-20  castaglia <castaglia>

	* src/cmd.c: Make the Command API a little more bullet-proof by
	trying catch some invalid arguments of various sorts.

2011-03-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm: Add
	another unit tests for the DeleteAbortedStores directive, this time
	explicitly sending the ABOR command (without the OOB bit on the TCP
	connection).

2011-03-20  castaglia <castaglia>

	* tests/Makefile.in, tests/api/cmd.c, tests/api/stubs.c,
	tests/api/tests.c, tests/api/tests.h: Adding API tests for the
	Command API, including the newly added pr_cmd_get_id(),
	pr_cmd_cmp(), and pr_cmd_strcmp() functions.

2011-03-19  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c,
	tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm: Bug#3574 - Better
	handling of ALLO command.

2011-03-19  castaglia <castaglia>

	* modules/mod_auth_unix.c: Slightly less expensive gathering of
	groups by using strncmp() using the length of the user name
	calculated only once, rather than once per group member.

2011-03-19  castaglia <castaglia>

	* src/cmd.c: More defensive programming: if the cmd ID of a given
	cmd_rec is unknown, try to look it up.  If it is known to be
	unknown, just return.

2011-03-19  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Update mod_sftp to use pr_cmd_cmp() where
	possible.  And fix a segfault when handling RMDIR (appeared on my
	Mac OSX box due to different libc implementation).

2011-03-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix the mod_sftp
	testsuite so that it issues proper CHANNEL_CLOSE messages for the
	closing of the SFTP channel.

2011-03-19  castaglia <castaglia>

	* contrib/mod_rewrite.c: Update the proftpd version required by
	mod_rewrite.

2011-03-19  castaglia <castaglia>

	* contrib/mod_exec.c: Updating mod_exec to use the new pr_cmd_cmp()
	API.

2011-03-19  castaglia <castaglia>

	* src/dirtree.c: When dir_check()/dir_check_full() are called, make
	sure the given cmd_rec has a cmd_id.  Some modules (e.g. mod_sftp)
	may pass in a cmd_rec which hasn't yet had it's cmd_id looked up.

2011-03-19  castaglia <castaglia>

	* src/data.c: Use pr_cmd_cmp() when handling any commands read from
	the control channel during a data transfer as well.

2011-03-19  castaglia <castaglia>

	* contrib/mod_rewrite.c: Update mod_rewrite to use pr_cmd_cmp()
	where possible.

2011-03-19  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#3262 - Allow SQL
	logging to separate database/server.

2011-03-19  castaglia <castaglia>

	* contrib/mod_sql.c, contrib/mod_tls.c, include/cmd.h,
	include/dirtree.h, modules/mod_auth.c, modules/mod_log.c,
	src/cmd.c, src/dirtree.c, src/main.c: Added new Command API
	functions:   pr_cmd_get_id()   pr_cmd_cmp() These functions are used to assign an ID to a cmd_rec, identifying
	the FTP command of that cmd_rec.  Code which wants to check which
	FTP command a cmd_rec is can then use pr_cmd_cmp() and compare using
	a numeric ID, rather than calling strcmp(3) repeatedly on the same
	cmd_rec throughout the code.  This is done with an eye toward reducing wasteful/unnecessary
	strcmp(3) calls throughout the proftpd code base.

2011-03-19  castaglia <castaglia>

	* src/table.c: Minor improvement: compare the first key character
	before calling strncmp(3).

2011-03-19  castaglia <castaglia>

	* src/log.c, src/trace.c: Trying to reduce the number of times that
	we call strlen(3) while logging.

2011-03-19  castaglia <castaglia>

	* src/event.c: Fix issue with Bug#3619 fix (hooray for
	unit/regression tests, which caught this issue).

2011-03-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fix broken
	ExtendedLog test due to typo.

2011-03-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix a few minor
	issues in the mod_sftp testsuite.

2011-03-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding more
	regression tests for various LogFormat variables in various flows.

2011-03-19  castaglia <castaglia>

	* contrib/mod_sftp/channel.h: Quell the following compiler warning
	(seen on Mac OSX, gcc-4.0.1):   warning: this decimal constant is unsigned only in ISO C90 when compilign mod_sftp by explicitly marking constants stored in a
	uint32_t with a "UL" suffix.

2011-03-18  castaglia <castaglia>

	* modules/mod_ctrls.c, src/ctrls.c: Make the Controls logging
	messages less pernicious, removing some and moving others from
	NOTICE to just plain DEBUG.

2011-03-18  castaglia <castaglia>

	* src/table.c: Avoid an unnecessary strncmp(3) if the key lengths
	aren't the same.

2011-03-18  castaglia <castaglia>

	* src/stash.c: Fix the mess of symbol lookups which I committed last
	night.  Much more legible now -- and it works properly, too.

2011-03-17  castaglia <castaglia>

	* contrib/mod_sftp/auth-hostbased.c,
	contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
	contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
	contrib/mod_sftp/channel.c, contrib/mod_sftp/compress.c,
	contrib/mod_sftp/crypto.c, contrib/mod_sftp/fxp.c,
	contrib/mod_sftp/kex.c, contrib/mod_sftp/keys.c,
	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/scp.c,
	contrib/mod_sftp/service.c, contrib/mod_sftp/tap.c: Using strncmp(3)
	instead of strcmp(3) when fixed-length strings are used.

2011-03-17  castaglia <castaglia>

	* modules/mod_auth.c: Wrong length argument for strncmp() here.

2011-03-17  castaglia <castaglia>

	* contrib/mod_sftp/auth.c, contrib/mod_sftp/crypto.c,
	contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/tap.c, contrib/mod_sftp/utf8.c: Converting
	strcasecmp(3) on fixed-length strings to strncasecmp(3) in mod_sftp.

2011-03-17  castaglia <castaglia>

	* src/dirtree.c, src/encode.c, src/log.c, src/netacl.c,
	src/netaddr.c, src/str.c: Converting from strcasecmp(3) to
	strncasecmp(3) where fixed-length strings are being used.

2011-03-17  castaglia <castaglia>

	* modules/mod_auth.c: More strcmp(3) -> strncmp(3) conversions where
	fixed-length strings are used.

2011-03-17  castaglia <castaglia>

	* modules/mod_xfer.c: More strcmp(3) -> strncmp(3) conversions where
	fixed-length strings are used.

2011-03-17  castaglia <castaglia>

	* modules/mod_core.c: More strcmp() -> strncmp() conversions where
	fixed-length strings are used.

2011-03-17  castaglia <castaglia>

	* modules/mod_facts.c, modules/mod_lang.c: Finding more instances of
	strcmp(3) on fixed-length strings and changing them to use
	strncmp(3).

2011-03-17  castaglia <castaglia>

	* modules/mod_ctrls.c: Starting work on converting modules which use
	strcmp(3) on fixed-length strings to using strncmp(3) instead.

2011-03-17  castaglia <castaglia>

	* src/ctrls.c: Missed some spots in ctrls.c where strcmp(3) was
	being called on fixed-length strings.

2011-03-17  castaglia <castaglia>

	* src/ctrls.c, src/main.c: Changing more instances of strcmp(3) on
	fixed strings to use strncmp(3) instead.

2011-03-17  castaglia <castaglia>

	* src/dirtree.c, src/parser.c: Continuing on my quest to reduce the
	number of strcmp(3) usages in the code where possible, especially on
	fixed strings.  Using strncmp(3) makes more sense there; saves on an
	unnecessary strlen(3) call.

2011-03-17  castaglia <castaglia>

	* src/auth.c, src/dirtree.c, src/encode.c: Here's a few more minor
	places where we can use strncmp(3) instead of strcmp(3).

2011-03-17  castaglia <castaglia>

	* src/dirtree.c, src/fsio.c, src/mkhome.c, src/throttle.c: Convert a
	few more places from using strcmp(3) to strncmp(3).

2011-03-17  castaglia <castaglia>

	* src/filter.c, src/session.c, src/stash.c, src/xferlog.c: When
	replacing strcmp(3) with strncmp(3), be sure to include the
	terminating NUL in the length argument for strncmp(3).  Otherwise we
	could get spurious matches, e.g. strncmp("food", "foo", 3) == 0 vs
	strncmp("food", "foo", 4) == -1.

2011-03-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Updating the
	TransferLog regression tests to log to `tests.log', like most of the
	other testcases.

2011-03-17  castaglia <castaglia>

	* src/filter.c: Convert unnecessary strcmp(3) on fixed strings to
	strncmp(3).

2011-03-17  castaglia <castaglia>

	* src/stash.c: Eliminate one more strcmp(3) during symbol lookups.

2011-03-17  castaglia <castaglia>

	* src/session.c, src/xferlog.c: Convert a few more places from
	strcmp(3) to strncmp(3), since we are comparing against fixed
	strings of known lengths.

2011-03-17  castaglia <castaglia>

	* src/table.c: Fix another place where strncmp(3) should be used
	rather than strcmp(3); the former function is slightly more
	efficient, since the C library doesn't need to call strlen(3) on the
	arguments itself.

2011-03-17  castaglia <castaglia>

	* src/stash.c: Make sure we handle the case of zero-length symbol
	names properly, too.  Just to be sure.

2011-03-17  castaglia <castaglia>

	* src/stash.c: Since we've just added checking of the first two
	characters for the symbol names being compared, there's no need to
	check them against by passing in the full symbol names to
	strncasecmp(3).  Instead, make sure that we compare only the
	remaining bytes in the symbol names, and adjust the looked-up symbol
	name length accordingly.

2011-03-17  castaglia <castaglia>

	* src/stash.c: Finally implement something I've been meaning to do
	for years: reduce the number of strcasecmp(3) calls during symbol
	lookup.  First improvement was to use strncasecmp(3) instead of
	strcasecmp(3), and thus to calculate the length of the symbol name
	being looked up only once, rather than per-symbol comparison.  Second improvement was to first compare the first two characters of
	the symbol being looked up against the current symbol, and only then
	call strncasecmp(3) if the first two characters match in a
	case-insensitive manner.  We can avoid a lot of unnecessary string
	comparisons by just looking at the first two characters.  Time will tell just how much of a performance improvement this is.
	But it affects configuration parsing time, command dispatching time,
	authentication time, etc etc.  And fewer string comparisons
	definitely saves on CPU, even if only by small amounts (compared to
	disk or network IO, or encryption).

2011-03-17  castaglia <castaglia>

	* doc/modules/mod_log.html: Add docs for the new %H LogFormat
	variable.

2011-03-17  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sql.c, modules/mod_log.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3620 Need
	LogFormat variable for IP address of server handling session.

2011-03-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
	regression test for Bug#3262 a bit early, but I didn't want this
	test code to be lost inadvertently from the development machine.

2011-03-17  castaglia <castaglia>

	* RELEASE_NOTES: More added docs.

2011-03-17  castaglia <castaglia>

	* doc/utils/ftpdctl.html: Add HTML version of the ftpdctl man page.

2011-03-17  castaglia <castaglia>

	* doc/utils/ftpscrub.html, doc/utils/ftptop.html: Adding HTML
	versions of the man pages for ftpscrub and ftptop.

2011-03-17  castaglia <castaglia>

	* Makefile.in, utils/ftpasswd.1, utils/ftpquota.1: Adding/installing
	man pages for the ftpasswd and ftpquota utilities.

2011-03-17  castaglia <castaglia>

	* utils/ftpmail.1: Typos, formatting fixes.

2011-03-16  castaglia <castaglia>

	* Makefile.in, utils/ftpmail.1: Adding/installing a man page for
	ftpmail.  I know that Debian requires man pages for all of the
	install programs/utilities.

2011-03-16  castaglia <castaglia>

	* doc/utils/ftpmail.html, doc/utils/index.html: Adding ftpmail docs
	in utils/ area.

2011-03-16  castaglia <castaglia>

	* contrib/mod_sftp/disconnect.c, contrib/mod_sftp/packet.c,
	contrib/mod_sftp/tap.c: When disconnecting, explicitly set a short
	poll timeout of 5 secs, to make sure that we don't wait for the
	TimeoutIdle timeout (which might be configured quite high for some
	sites) and thus tying up a process which is going away
	unnecessarily.

2011-03-16  castaglia <castaglia>

	* src/session.c: Ignore EEXIST errors when stashing the disconnect
	details.

2011-03-16  castaglia <castaglia>

	* contrib/mod_sftp/packet.c: Adding more trace logging of SSH2
	packet IO.

2011-03-16  castaglia <castaglia>

	* contrib/mod_sql.c: Ignore EEXIST errors about stashing values in
	the session.notes table.

2011-03-16  castaglia <castaglia>

	* contrib/Makefile.in: Make sure we set the normal
	ownership/permissions on the installed Perl scripts.

2011-03-16  castaglia <castaglia>

	* contrib/Makefile.in: Stop trying to strip symbols from Perl
	scripts.

2011-03-16  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Mention mod_sql_passwd in the
	SQLAuthTypes docs.

2011-03-16  castaglia <castaglia>

	* doc/howto/SQL.html: Update the SQL howto to mention the
	mod_sql_passwd module.

2011-03-16  castaglia <castaglia>

	* doc/howto/Tracing.html, doc/modules/mod_core.html: Adding
	directive docs for the Trace, TraceLog directives to the mod_core
	docs.  Updating the list of default trace channels in the Tracing
	howto.

2011-03-16  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_ctrls_admin.c, include/trace.h,
	modules/mod_core.c, src/trace.c,
	tests/t/lib/ProFTPD/Tests/Config/Trace.pm: Bug#3617 - Enhance the
	Trace directive to support range of channel log levels.

2011-03-16  jwm <jwm>

	* configure: rebuild from configure.in

2011-03-16  jwm <jwm>

	* configure.in: fix support for libraries lines like '/* $Libraries:
	-lcurl$ */' - previously, this would leave the trailing '*/' in LIBS, which
	  would expand to all directories in $PWD, breaking the build.  - neuter some cat(1)s while we're in there.

2011-03-16  castaglia <castaglia>

	* configure: Updating configure.

2011-03-16  castaglia <castaglia>

	* NEWS: Fix typo.

2011-03-15  castaglia <castaglia>

	* NEWS, src/scoreboard.c: Bug#3618 - ScoreboardFile locking should
	be more resilient.

2011-03-15  castaglia <castaglia>

	* NEWS, src/event.c: Bug#3619 - Exiting sessions don't seem to die
	properly.  Make sure that an event, generated by an event listener, does not
	get sent back to that same listener.  This should help cut down on
	event loops.

2011-03-15  castaglia <castaglia>

	* Makefile.in, NEWS, RELEASE_NOTES, configure.in,
	contrib/Makefile.in: Bug#3616 - Install contrib utilities as part of
	'make install' target.

2011-03-15  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Log the errors when closedir(3) returns an
	error.

2011-03-15  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Be more consistent about dispatching SFTP
	cmd_recs to the POST command handlers, if any are registered.  The
	failure to do this properly lead to some logging issues.  (Next, I
	need to make sure that mod_sftp properly dispatches to the PRE
	command handlers as well.)

2011-03-15  castaglia <castaglia>

	* configure: Updating configure.

2011-03-15  castaglia <castaglia>

	* config.h.in, configure.in, src/main.c: If OpenSSL support is
	enabled, check whether OpenSSL has been built with FIPS support, so
	that it can be displayed in the `proftpd -V' output.  This is
	primarily done so that the testsuite can have FIPS-specific tests.

2011-03-14  castaglia <castaglia>

	* doc/modules/mod_log.html: Updated LogFormat description for %w
	variable.

2011-03-14  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c, modules/mod_log.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix the logging of
	ExtendedLog variables for the RNFR/RNTO commands created internally
	for an SFTP rename command.

2011-03-12  castaglia <castaglia>

	* contrib/mod_sql.c: Updating mod_sql to use the new
	pr_session_disconnect() function.

2011-03-12  castaglia <castaglia>

	* contrib/mod_rewrite.c: As part of investigating Bug#3611, I
	cleaned up some of the mod_rewrite code around FIFOs.

2011-03-12  castaglia <castaglia>

	* tests/t/etc/modules/mod_rewrite/reverse.pl,
	tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
	reproduction test case for Bug#3611.  No bugfix/patch for it yet.

2011-03-10  castaglia <castaglia>

	* doc/modules/mod_auth_pam.html: Add FAQ/example to mod_auth_pam
	docs about using AuthOrder to make mod_auth_pam be authoritative.

2011-03-09  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Warn users who supply custom user/group
	queries that they also need to supply custom queries for ID-based
	lookups.

2011-03-09  castaglia <castaglia>

	* NEWS, src/str.c: Bug#3614 - Malicious module can use sreplace()
	function to overflow buffer.

2011-03-09  castaglia <castaglia>

	* tests/api/str.c: Add regression test for sreplace() issue from
	Bug#3614.

2011-03-09  castaglia <castaglia>

	* tests/api/regexp.c: Update the Regexp unit tests.

2011-03-07  castaglia <castaglia>

	* configure: Updated configure.

2011-03-07  castaglia <castaglia>

	* config.h.in, configure.in: As part of investigating Bug#3614, I
	thought that having build-time checks for the sizes of char * and
	void * might be useful additions.

2011-03-06  castaglia <castaglia>

	* src/regexp.c: Quell compiler warnings about unused functions when
	PCRE support is not enabled.

2011-03-05  castaglia <castaglia>

	* src/regexp.c: Typo.

2011-03-05  castaglia <castaglia>

	* contrib/mod_ratio.c: Clean up the coding style of mod_ratio.c to
	make it easier for me to read.  No functional change.

2011-03-04  castaglia <castaglia>

	* RELEASE_NOTES: Updating the list of new docs.

2011-03-03  castaglia <castaglia>

	* doc/utils/ftpasswd.html, doc/utils/ftpquota.html,
	doc/utils/index.html: Updating links.

2011-03-03  castaglia <castaglia>

	* doc/utils/ftpasswd.html, doc/utils/ftpcount.html,
	doc/utils/ftpquota.html, doc/utils/ftpshut.html,
	doc/utils/ftpwho.html, doc/utils/index.html: Checking in some of the
	existing HTML docs for utilities.

2011-03-03  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_ifsession.c,
	contrib/mod_ifversion.c, contrib/mod_quotatab.c,
	contrib/mod_rewrite.c, contrib/mod_sftp/interop.c,
	contrib/mod_sftp/mod_sftp.c, contrib/mod_site_misc.c,
	include/conf.h, include/fsio.h, include/regexp.h,
	modules/mod_auth.c, modules/mod_auth_file.c, modules/mod_core.c,
	modules/mod_facts.c, modules/mod_site.c, src/dirtree.c,
	src/filter.c, src/fsio.c, src/regexp.c: Bug#3609 - Support full PCRE
	regular expressions if PCRE support is enabled.

2011-03-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/PathAllowFilter.pm: Adding unit
	test proving Bug#3609 functionality (and to record somewhere the
	example of a case-insensitive PCRE regular expression).

2011-03-03  castaglia <castaglia>

	* NEWS, src/data.c, tests/t/lib/ProFTPD/Tests/Commands/APPE.pm: 
	Bug#3612 - APPE/STOU upload flags erroneously preserved across
	upload commands.

2011-03-02  castaglia <castaglia>

	* doc/utils/index.html: Start working on an index for docs for the
	various utilities; these docs also need to be written.

2011-03-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Support writing <Global>
	sections in testcase config files.

2011-03-01  castaglia <castaglia>

	* doc/modules/mod_facts.html: Add FAQ about ListOptions and the
	MLSD/MLST commands.

2011-03-01  castaglia <castaglia>

	* src/main.c: Minor reordering of which subsystems are intialized
	when; logging should be initialized fairly early on, so that other
	subsystems can log about initialization errors.

2011-03-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Fix the naming and
	status of the regression test for Bug#3595.

2011-02-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Adding regression
	test for Bug#3595.

2011-02-28  castaglia <castaglia>

	* NEWS, modules/mod_cap.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm: Bug#3576 - Support
	setting CapabilitiesSet on per-user basis via mod_ifsession's
	<IfUser> and <IfGroup>.

2011-02-28  castaglia <castaglia>

	* configure: Updating the configure script.

2011-02-28  castaglia <castaglia>

	* configure.in: More tweaking of the configure script so that the
	proper module load order is imposed between mod_cap and
	mod_ifsession, in order to support Bug#3576.

2011-02-28  castaglia <castaglia>

	* contrib/mod_ifsession.c, contrib/mod_load/mod_load.c.in,
	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_shaper.c,
	contrib/mod_unique_id.c, contrib/mod_wrap2/mod_wrap2.h.in: Updating
	the contrib modules so that they require proftpd 1.3.4rc2 (which
	provides the new pr_session_disconnect() API) at compile-time.

2011-02-28  castaglia <castaglia>

	* contrib/mod_sftp/disconnect.c, contrib/mod_sftp/interop.c,
	contrib/mod_sftp/keys.c, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/packet.c, contrib/mod_tls.c: Updating more contrib
	modules to use pr_session_disconnect().

2011-02-28  castaglia <castaglia>

	* contrib/mod_ban.c, contrib/mod_ifsession.c,
	contrib/mod_load/mod_load.c.in, contrib/mod_shaper.c,
	contrib/mod_unique_id.c, contrib/mod_wrap2/mod_wrap2.c: Updating
	some of the contrib modules to use pr_session_disconnect().

2011-02-28  castaglia <castaglia>

	* modules/mod_cap.c, modules/mod_lang.c: Updating more core modules
	to use pr_session_disconnect().

2011-02-28  castaglia <castaglia>

	* src/inet.c, tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: 
	Spreading the use of pr_session_disconnect() wider.  Added
	regression test for the expansion of %E for SQLNamedQuery
	configurations.

2011-02-28  castaglia <castaglia>

	* RELEASE_NOTES, doc/modules/mod_log.html: Mention the new %E
	LogFormat variable in the release notes and in the mod_log docs.

2011-02-28  castaglia <castaglia>

	* contrib/mod_sql.c, include/session.h, modules/mod_auth.c,
	modules/mod_core.c, modules/mod_log.c, modules/mod_xfer.c,
	src/data.c, src/main.c, src/session.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Start using the
	new pr_session_disconnect() function, and add support for a new %E
	LogFormat variable, which contains the end-of-session (EOS) reason
	string.

2011-02-28  castaglia <castaglia>

	* include/proftpd.h, include/session.h, modules/mod_core.c,
	src/main.c, src/session.c: Add a new Session API function which can
	be used by callers to provide more information about why a client is
	being disconnected (e.g. QUIT, EOF, banned, etc).  This information
	is useful for modules which want to track all kinds of session data,
	to see patterns of traffic.

2011-02-27  castaglia <castaglia>

	* contrib/mod_shaper.c, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
	contrib/mod_sql_odbc.c, contrib/mod_sql_postgres.c,
	contrib/mod_sql_sqlite.c, contrib/mod_tls.c,
	contrib/mod_unique_id.c, contrib/mod_wrap2/mod_wrap2.c: Updating the
	rest of the contrib modules to use the pr_session_end() function.

2011-02-27  castaglia <castaglia>

	* contrib/mod_load/mod_load.c.in: Update mod_load to use the
	pr_session_end() function.

2011-02-27  castaglia <castaglia>

	* contrib/mod_ban.c, contrib/mod_ifsession.c,
	contrib/mod_sftp/disconnect.c, contrib/mod_sftp/interop.c,
	contrib/mod_sftp/keys.c, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/packet.c: Updating some of the contrib modules to
	use the pr_session_end() function.

2011-02-27  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_cap.c, modules/mod_core.c,
	modules/mod_lang.c: Updating the core modules to use the
	pr_session_end() function.

2011-02-27  castaglia <castaglia>

	* RELEASE_NOTES, include/compat.h, include/proftpd.h,
	include/session.h, src/data.c, src/inet.c, src/main.c,
	src/session.c: Move end_login() and company into the Session API as
	pr_session_end().

2011-02-27  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c: Bug#3608 - Make mod_quotatab poll
	for the QuotaLock file.

2011-02-27  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
	regression test for SQLShowInfo for LIST commands, as some sites are
	wont to use.

2011-02-27  castaglia <castaglia>

	* include/options.h: Mention the possible use of the
	PR_TUNABLE_RCVBUFSZ and PR_TUNABLE_SNDBUFSZ macros in the comments.

2011-02-27  castaglia <castaglia>

	* src/dirtree.c: Minor additional fix to make sure that using the
	PR_TUNABLE_RCVBUFSZ macro works properly.

2011-02-27  castaglia <castaglia>

	* doc/contrib/mod_wrap2.html: Make sure to mention/document the IPv6
	netmask rule syntax in the mod_wrap2 docs.

2011-02-27  castaglia <castaglia>

	* NEWS, contrib/mod_wrap2/mod_wrap2.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Bug#3606 -
	mod_wrap2 needs to support netmask rules for IPv6 addresses.

2011-02-26  castaglia <castaglia>

	* src/response.c: Removed unused variable.

2011-02-26  castaglia <castaglia>

	* tests/t/config/socketoptions.t,
	tests/t/lib/ProFTPD/Tests/Config/SocketOptions.pm, tests/tests.pl: 
	Adding regression tests for the SocketOptions directive, per
	Bug#3607.

2011-02-26  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/scp.c, include/dirtree.h,
	modules/mod_facts.c, modules/mod_ls.c, modules/mod_xfer.c,
	src/data.c, src/dirtree.c, src/inet.c, src/main.c, src/netio.c: 
	Bug#3607 - SocketOptions receive/send buffer size parameters no
	longer work.

2011-02-25  castaglia <castaglia>

	* configure: Updated configure script.

2011-02-25  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, config.h.in, configure.in,
	contrib/mod_ifsession.c, contrib/mod_ifversion.c,
	contrib/mod_quotatab.c, contrib/mod_rewrite.c,
	contrib/mod_sftp/interop.c, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_site_misc.c, include/fsio.h, include/regexp.h,
	modules/mod_auth.c, modules/mod_auth_file.c, modules/mod_core.c,
	modules/mod_facts.c, modules/mod_site.c, modules/mod_xfer.c,
	src/dirtree.c, src/filter.c, src/fsio.c, src/main.c, src/regexp.c,
	tests/api/regexp.c: Bug#3595 - Avoid buggy glibc regcomp(3) for
	regular expressions.

2011-02-25  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Add regression
	test showing that mod_wrap2 handles IPv4-mapped IPv6 addresses,
	using an IPv4 netmask syntax, properly.

2011-02-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Add regression
	test demonstrating netmask syntax for mod_wrap2.

2011-02-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: More tweaking of the
	response_msg() function.  If a caller doesn't specify an index,
	don't punish them unnecessarily, and try to Do The Right Thing(tm)
	if we can.

2011-02-23  castaglia <castaglia>

	* doc/contrib/index.html, doc/contrib/mod_readme.html: Adding HTML
	doc for the mod_readme module.

2011-02-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_readme.pm: Regression test
	for matching multiple DisplayReadme files.

2011-02-23  castaglia <castaglia>

	* NEWS, contrib/mod_readme.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_readme.pm: Bug#3605 -
	DisplayReadme output should appear after DisplayLogin for the PASS
	command.

2011-02-23  castaglia <castaglia>

	* src/response.c: [no log message]

2011-02-23  castaglia <castaglia>

	* contrib/mod_readme.c: More cleaning up of the coding style in
	mod_readme; no functional change, other than not communicating
	glob(3) errors to clients in response messages.

2011-02-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_readme.pm: Added regression
	test for mod_readme's handling of CWD commands.

2011-02-23  castaglia <castaglia>

	* NEWS, modules/mod_facts.c,
	tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm,
	tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm,
	tests/t/lib/ProFTPD/Tests/Config/DirFakeUser.pm: Bug#3604 - Support
	DirFakeUser, DirFakeGroup and DirFakeMode for MLSD/MLST commands.

2011-02-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm: Updating the
	DirFakeMode test to be like the other DirFake* directive tests.

2011-02-22  castaglia <castaglia>

	* tests/t/config/dirfakegroup.t, tests/t/config/dirfakeuser.t,
	tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm,
	tests/t/lib/ProFTPD/Tests/Config/DirFakeUser.pm, tests/tests.pl: 
	Start adding regression tests for the DirFakeGroup and DirFakeUser
	directives.

2011-02-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Fix regression caused by
	changing of default index in response_msg() function.

2011-02-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_readme.pm,
	tests/t/modules/mod_readme.t, tests/tests.pl: Adding regression
	tests for the mod_readme module.

2011-02-22  castaglia <castaglia>

	* contrib/mod_readme.c: Fix some of the coding style in the
	mod_readme module; no functional change.

2011-02-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: If the testsuite code
	requests an indexed response message and there is no message at that
	index, return undef rather than defaulting to returning the first
	response message.

2011-02-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/ban.pm: Adding
	regression test for MaxCommandRate+mod_sftp+mod_ban config.

2011-02-22  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: Make sure that when mod_ban bans an
	SSH2 client, we disconnect the client properly.

2011-02-22  castaglia <castaglia>

	* contrib/mod_ban.c: Fix mod_ban's handling of the
	'core.max-command-rate' event.

2011-02-22  castaglia <castaglia>

	* include/memcache.h, modules/mod_memcache.c, src/memcache.c: Clear
	up any session-wide memcache connection on end of session.

2011-02-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/ban.pm,
	tests/t/modules/mod_sftp/ban.t, tests/tests.pl: Splitting out the
	mod_ban-related mod_sftp tests into their own file.

2011-02-21  castaglia <castaglia>

	* doc/modules/mod_xfer.html: Added docs for TransferRate.

2011-02-21  castaglia <castaglia>

	* doc/modules/mod_xfer.html: Still working on more mod_xfer
	documentation.

2011-02-21  castaglia <castaglia>

	* doc/howto/Sendfile.html: More known issues with sendfile(2).

2011-02-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ratio.pm,
	tests/t/modules/mod_ratio.t, tests/tests.pl: Start of unit tests for
	mod_ratio; incidentally includes regression test for Bug#3600.

2011-02-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Remove
	development/debugging cruft.

2011-02-21  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c, include/display.h, modules/mod_auth.c,
	modules/mod_core.c, src/display.c, src/main.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Bug#3538 -
	WrapAllowMsg directive broken due to Bug#3423.  Bug#3600 -
	pr_response_send() doesn't send responses queued with
	pr_response_add().

2011-02-21  castaglia <castaglia>

	* RELEASE_NOTES, include/response.h, src/response.c: Remove the
	pr_response_send_ml() et al functions; they are obsolete, unused,
	and should not be being used.

2011-02-20  castaglia <castaglia>

	* src/main.c: Minor style cleanup; no functional change.

2011-02-20  castaglia <castaglia>

	* doc/modules/index.html, doc/modules/mod_site.html: Start on docs
	for the mod_site module.

2011-02-20  castaglia <castaglia>

	* doc/modules/mod_log.html: Minor typos.

2011-02-20  castaglia <castaglia>

	* doc/modules/index.html, doc/modules/mod_log.html: Adding mod_log
	docs.

2011-02-20  castaglia <castaglia>

	* doc/modules/mod_auth_unix.html: Fixing up the mod_auth_unix docs.

2011-02-20  castaglia <castaglia>

	* doc/modules/mod_auth_file.html: Fixing up the mod_auth_file docs.

2011-02-20  castaglia <castaglia>

	* doc/modules/index.html, doc/modules/mod_auth.html: Start working
	on mod_auth-specific documentation.

2011-02-20  castaglia <castaglia>

	* doc/modules/index.html: Add an index page for the core module
	docs.

2011-02-20  castaglia <castaglia>

	* doc/modules/mod_memcache.html: Give example of specifying paths to
	libmemcached headers/libs in the mod_memcache docs.

2011-02-20  castaglia <castaglia>

	* README.modules: Update the README.modules file.

2011-02-20  castaglia <castaglia>

	* doc/modules/mod_auth_unix.html: Add FAQ about expired passwords,
	as per Bug#3582.

2011-02-20  castaglia <castaglia>

	* configure: Update configure script.

2011-02-20  castaglia <castaglia>

	* configure.in: configure script changes to support Bug#3576: if
	mod_ifsession appears anywhere in the --with-modules list, it will
	automatically appear at the end of the list of static modules.

2011-02-20  castaglia <castaglia>

	* doc/modules/mod_dso.html: Fix the "Compatibility" versions in the
	mod_dso doc.

2011-02-20  castaglia <castaglia>

	* RELEASE_NOTES, contrib/mod_ban.c, doc/contrib/mod_ban.html,
	tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Adding an
	'UnhandledCommand' event to mod_ban's BanOnEvent rules.

2011-02-20  castaglia <castaglia>

	* doc/modules/mod_core.html: Add documentation for the current
	Include directive behavior (Bug#3588).

2011-02-20  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, include/modules.h, modules/mod_log.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#3559 -
	ExtendedLog should support EXIT command, for logging when a session
	ends.

2011-02-20  castaglia <castaglia>

	* contrib/mod_ban.c, doc/contrib/mod_ban.html: Update mod_ban's
	BanOnEvent to watch for the events triggered when the MaxCommandRate
	is exceeded.

2011-02-20  castaglia <castaglia>

	* RELEASE_NOTES, doc/modules/mod_core.html: Documenting the new
	MaxCommandRate directive (Bug#3565).

2011-02-20  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#3565 - Support a MaxCommandRate, for
	detecting and throttling clients which are sending commands too
	quickly.

2011-02-18  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Additional fixes for logging of RMDIR in
	ExtendedLog, for Bug#3591.

2011-02-17  castaglia <castaglia>

	* contrib/mod_sftp/display.c: Forgot to add back the
	format_size_str() function here.

2011-02-17  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c,
	tests/t/lib/ProFTPD/Tests/Commands/APPE.pm: Bug#3598 - HiddenStores
	makes the APPE command overwrite files instead of appending them.

2011-02-17  castaglia <castaglia>

	* RELEASE_NOTES: Update release notes.

2011-02-17  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Document the new IgnoreSFTPSetPerms
	SFTPOption.

2011-02-17  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/mod_sftp.h.in,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3599 - Support
	SFTPOptions parameter for ignoring SFTP SETSTAT/FSETSTAT permission
	changes.

2011-02-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: The
	mod_rewrite-related mod_sftp tests have been moved out to their own
	file.

2011-02-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm,
	tests/t/modules/mod_sftp/rewrite.t, tests/tests.pl: Refactoring the
	mod_sftp+mod_rewrite tests out to a separate file.

2011-02-16  castaglia <castaglia>

	* contrib/mod_sftp/display.c, src/display.c, src/fsio.c,
	tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm: In investigating
	Bug#3596, I found that the %F and %f Display variables had been
	completely broken.  Fix this.

2011-02-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Include.pm: Make the Include test
	for wildcards better; this now ensures that the lexicographical
	sorting of the matched files happens as expected.

2011-02-16  castaglia <castaglia>

	* doc/modules/mod_ls.html: Start working on mod_ls-specific
	documentation.

2011-02-16  castaglia <castaglia>

	* tests/t/config/include.t,
	tests/t/lib/ProFTPD/Tests/Config/Include.pm, tests/tests.pl: Add
	regression tests for the Include directive.

2011-02-16  castaglia <castaglia>

	* doc/contrib/index.html, doc/contrib/mod_tls_memcache.html: Adding
	docs for mod_tls_memcache module.

2011-02-16  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_tls_memcache.c: Adding new
	mod_tls_memcache module.

2011-02-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls_memcache.pm,
	tests/t/modules/mod_tls_memcache.t, tests/tests.pl: Checking in
	tests for the new mod_tls_memcache module.

2011-02-15  castaglia <castaglia>

	* contrib/mod_tls_shmcache.c: Fix uninitialized pointer warning from
	Bug#3596.

2011-02-15  castaglia <castaglia>

	* contrib/mod_shaper.c: Fix printf(3) typecast warning from
	Bug#3596.

2011-02-15  castaglia <castaglia>

	* modules/mod_delay.c: Fix off-by-one compiler warnings from
	Bug#3596.

2011-02-15  castaglia <castaglia>

	* NEWS, src/prxs.in: Bug#3593 - Using "$shell $libtool" in prxs does
	not work for all shells.

2011-02-15  castaglia <castaglia>

	* contrib/mod_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Change the
	notes stashed by mod_sql to be 'primary-group' (was 'sql.group'),
	'home' (was 'sql.home') and 'shell' (was 'sql.shell'), to be more
	generic.  I'll start enhancing other auth modules to stash these
	values as well.

2011-02-15  castaglia <castaglia>

	* contrib/mod_sftp/display.c: Remove unused function.

2011-02-15  castaglia <castaglia>

	* RELEASE_NOTES: Adding release notes for myself, to be fleshed out
	more fully later.

2011-02-15  castaglia <castaglia>

	* NEWS, include/filter.h, modules/mod_core.c, src/filter.c,
	tests/t/lib/ProFTPD/Tests/Config/PathAllowFilter.pm,
	tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Bug#3592 -
	Support case-insensitivity option for PathAllowFilter/PathDenyFilter
	directives.

2011-02-14  castaglia <castaglia>

	* doc/modules/mod_auth_unix.html: Document the magicTokenChroot
	AuthUnixOption.

2011-02-14  castaglia <castaglia>

	* modules/mod_auth_unix.c: Add support for a 'magicTokenChroot'
	AuthUnixOption.  This is intended to help sites which are migrating
	from a wu-ftpd setup (yes, there are some very large sites out there
	still running wu-ftpd).

2011-02-14  castaglia <castaglia>

	* contrib/mod_sftp/kex.c, contrib/mod_tls.c: Use the newer
	RSA_generate_key_ex() OpenSSL function when OpenSSL 0.9.8 and later
	is used.  The older RSA_generate_key() function is deprecated.

2011-02-14  castaglia <castaglia>

	* include/timers.h, src/main.c, src/timers.c, tests/api/timers.c: 
	Add a new pr_timer_usleep() function, for pausing for a number of
	microseconds.  Handy for loops which need to do non-blocking polls
	with short delays in between.

2011-02-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add mod_sftp unit
	tests for Bug#3591.

2011-02-13  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c, modules/mod_log.c: Bug#3591 - %F
	LogFormat variable should work for MKD/RMD commands.

2011-02-13  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Make sure that we dispatch the
	internally-created MKD/RMD cmmands to the LOG_CMD phase handlers
	when handling MKDIR/RMDIR SFTP requests.

2011-02-13  castaglia <castaglia>

	* contrib/mod_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add support for
	'sql.group', 'sql.home', and 'sql.shell' notes in the session.notes
	table, for use in LogFormat/SQLNamedQuery logging.

2011-02-13  castaglia <castaglia>

	* modules/mod_memcache.c: The configured MemcacheServers in the
	"server config" context will be available for use by modules who
	want memcached servers even before a connection is received (e.g.
	ftpdctl/mod_ctrls).

2011-02-13  castaglia <castaglia>

	* src/memcache.c: If pr_memcache_incr() fails because the key is not
	found, automatically create the key, using the given increment as
	the value.

2011-02-12  castaglia <castaglia>

	* contrib/mod_sftp/channel.h: Rather than relying on datatype
	underflow, explicitly define the max channel window size.

2011-02-12  castaglia <castaglia>

	* src/display.c: Bug#3589 - src/display.c doesn't compile on hpux
	since 1.3.3d.

2011-02-12  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/packet.c,
	contrib/mod_sftp/packet.h: Bug#3586 - mod_sftp behaves badly when
	receiving badly formed SSH messages.

2011-01-26  castaglia <castaglia>

	* src/memcache.c: Make sure that pr_memcache_set_namespace() with a
	NULL namespace prefix works as we expect.

2011-01-26  castaglia <castaglia>

	* src/memcache.c: Since we're supporting a shared/common
	pr_memcache_t for all modules in a single session, we need a
	refcount mechanism, so that one module doesn't inadvertently close
	the connection for all the other modules who might be using that
	pr_memcache_t.

2011-01-26  castaglia <castaglia>

	* contrib/mod_ban.c: Make sure we don't leak memory in a few
	memcache/tpl-related error cases.

2011-01-26  castaglia <castaglia>

	* contrib/mod_sftp/crypto.c, contrib/mod_tls.c: Use OpenSSL's
	ERR_remove_thread_state() API when possible, rather than the
	deprecated ERR_remove_state() function.

2011-01-25  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Update the mod_tls TLSSessionCache docs
	with an example of specifying the cache lifetime for OpenSSL's
	internal session caching (cf Bug#3580).

2011-01-25  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3585 - Allow client-requested SSL
	session renegotiation when securely supported.

2011-01-25  castaglia <castaglia>

	* include/memcache.h, src/memcache.c: Adding memcache API functions
	for incrementing/decrementing a value stored in memcached.

2011-01-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls_shmcache.pm,
	tests/t/modules/mod_tls_shmcache.t, tests/tests.pl: Finally have a
	regression test for mod_tls_shmcache and SSL session caching.

2011-01-24  castaglia <castaglia>

	* contrib/mod_tls_shmcache.c: Update mod_tls_shmcache to use trace
	logging in more places.

2011-01-24  castaglia <castaglia>

	* contrib/mod_tls.c: Add logging of when an SSL session is
	reused/resumed for a control connection.

2011-01-23  castaglia <castaglia>

	* contrib/mod_sftp/auth.c: The fix for Bug#3482 needs to apply
	properly to SSH sessions as well; the WtmpLog default value, in
	light of Bug#3482, should be 'off' for the affected platforms.

2011-01-23  castaglia <castaglia>

	* modules/mod_auth.c: The fix for Bug#3482 had a minor nit; we need
	to allocate space for an unsigned char, not an int.

2011-01-23  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3580 -
	TLSSessionCache needs to allow configuring OpenSSL's internal
	session caching expiration, for long-lived sessions.

2011-01-23  castaglia <castaglia>

	* contrib/mod_ban.c, include/memcache.h, src/memcache.c: Now the
	Memcache API supports namespace prefixes for keys, setting on a
	per-module basis.  Useful for keeping the keys from various modules
	separate, and for dumping the keys/values for just a specific
	namespace.

2011-01-23  castaglia <castaglia>

	* include/memcache.h, modules/mod_memcache.c, src/memcache.c: 
	Checkpoint of more of my work on memcache support.

2011-01-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm: Added regression
	tests for ShowSymlinks and MLST, using relative symlinked paths in
	chrooted sessions.

2011-01-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm: Add regression
	tests for the STAT output when ShowSymlinks is toggled.

2011-01-21  castaglia <castaglia>

	* src/memcache.c: Use the AUTO_EJECT_HOSTS option, although it
	doesn't seem to be working as I expect.

2011-01-21  castaglia <castaglia>

	* src/memcache.c: Add better trace logging of the dead memcached
	server when we can detect one.

2011-01-21  castaglia <castaglia>

	* modules/mod_memcache.c: Slightly better logging of the
	libmemcached version being used.

2011-01-21  castaglia <castaglia>

	* modules/mod_memcache.c, src/memcache.c: Check the version of the
	libmemcached headers versus that the library, to warn against
	possible header/lib mismatch.  Fix compiler warnings in src/memcache.c.

2011-01-21  castaglia <castaglia>

	* include/memcache.h, modules/mod_memcache.c, src/memcache.c: Use
	randomized replica reads for memcached retrieval by default, and
	provide an option to disable this.  Also provide a way to configure
	the number of connect failures before a given memcached server is
	disabled in the pool.

2011-01-21  castaglia <castaglia>

	* modules/mod_facts.c: Fix issue from Bug#3318 found by the
	ShowSymlink regression tests, where the MLST command was still
	returning the symlinked target path, rather than the symlink path
	itself, even when "ShowSymlinks off" was in effect.

2011-01-21  castaglia <castaglia>

	* tests/t/config/showsymlinks.t,
	tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm, tests/tests.pl: 
	Adding unit tests for the ShowSymlinks directive, and its effects on
	the LIST, NLST, MLSD, and MLST commands, using symlinked files and
	symlinked directories.  There are still more combinations try to
	here, e.g. using absolute symlink paths (versus relative symlink
	paths), and the effects of chroot on all of these combinations.

2011-01-21  castaglia <castaglia>

	* doc/contrib/mod_ban.html: Adding stubs for the new BanCache and
	BanCacheOptions directives.

2011-01-21  castaglia <castaglia>

	* doc/modules/mod_memcache.html: More stubs for the mod_memcache
	documentation.

2011-01-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban/memcache.pm,
	tests/t/modules/mod_ban/memcache.t, tests/tests.pl: Adding unit
	tests that I used for testing out mod_ban when configured to use a
	memcached server.

2011-01-20  castaglia <castaglia>

	* contrib/mod_ban.c: And now mod_ban can use memcached for
	storing/retrieving any ban rules!

2011-01-20  castaglia <castaglia>

	* src/memcache.c: It helps to iterate through the list of stat key
	names, rather than reusing the same hardcoded name over and over.

2011-01-20  castaglia <castaglia>

	* src/memcache.c: Require libmemcached-0.37 or later for memcache
	support.  When a new memcache connection is created, get stats from
	the pool of memcached servers to which it connected.  This is useful
	for logging, and it also ensures that we have connectivity to those
	servers, i.e. it is better to know, at connect time, that the
	configured servers are actually up, running, accessible, and
	responding to our requests.

2011-01-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm: Pedantic style change;
	no functional change.

2011-01-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm: Updated ftpwho unit
	tests to run properly.

2011-01-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideUser.pm: Fix another of the
	HideUser tests which does require rootprivs to be run.

2011-01-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm: Fix the
	HideNoAccess unit test to handle the ScoreboardMutex file.

2011-01-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm: Fix the
	DirFakeMode unit tests to handle the ScoreboardMutex file.

2011-01-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/TimeoutLogin.pm: Fix to make the
	TimeoutLogin tests work on slower machines, and with different
	versions of Perl.

2011-01-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Quell more Perl warnings.

2011-01-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm: Allow for more
	idle time, so that the TimeoutIdle tests can pass properly on a
	slower test machine.

2011-01-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/UseFtpUsers.pm: Only run the
	UseFtpUsers tests on a system which has the /etc/ftpusers file.

2011-01-19  castaglia <castaglia>

	* modules/mod_memcache.c: Fix compilation of mod_memcache.

2011-01-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Update ABOR unit test
	to handle ScoreboardMutex file.

2011-01-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: Allow more than 2
	seconds for the STOU unit tests to run.

2011-01-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Update these unit tests
	so that they work properly.

2011-01-19  castaglia <castaglia>

	* src/memcache.c: Fix the compilation for src/memcache.c when
	--enable-memcache is not used.

2011-01-19  castaglia <castaglia>

	* doc/modules/mod_memcache.html: Add links to the memcached and
	libmemcached pages.

2011-01-19  castaglia <castaglia>

	* doc/modules/mod_memcache.html: Start working on documentation for
	the mod_memcache module.

2011-01-19  castaglia <castaglia>

	* doc/modules/mod_ctrls.html: Updated mod_ctrls with description of
	where to find the latest version.

2011-01-19  castaglia <castaglia>

	* doc/contrib/mod_sftp_pam.html: Updated the mod_sftp_pam docs to
	mention the new NoInfoMsgs SFTPPAMOption.

2011-01-19  castaglia <castaglia>

	* NEWS, contrib/mod_sftp_pam.c: Bug#3578 - Ability to suppress
	sending messages from PAM to clients.

2011-01-19  castaglia <castaglia>

	* NEWS, contrib/mod_sftp_pam.c: Bug#3579 - mod_sftp_pam may tell
	client to disable echoing erroneously.

2011-01-18  castaglia <castaglia>

	* configure: Updated configure.

2011-01-18  castaglia <castaglia>

	* configure.in, include/memcache.h, lib/Makefile.in,
	modules/mod_memcache.c, src/memcache.c: Checking in more of my
	memcache work from today.

2011-01-18  castaglia <castaglia>

	* include/tpl.h, lib/README.tpl, lib/tpl.c: Adding libtpl-1.5
	sources to the proftpd code; these are for use for packing arbitrary
	data structures for storage in memcached servers.

2011-01-18  castaglia <castaglia>

	* include/trace.h, src/trace.c: Add a pr_trace_vmsg() function, a
	variant of pr_trace_msg() which can accept a va_list.

2011-01-17  castaglia <castaglia>

	* include/memcache.h, modules/mod_memcache.c, src/memcache.c: Fix
	the handling of the BLOCKING option.

2011-01-17  castaglia <castaglia>

	* include/memcache.h, modules/mod_memcache.c, src/memcache.c: More
	work on memcache support.

2011-01-17  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/scp.c: Bug#3544 - mod_sftp closes channel
	too early after scp download.

2011-01-14  castaglia <castaglia>

	* modules/mod_facts.c: Make sure to check the supplemental group IDs
	when fixing the behavior in Bug#3577, not just the primary group ID.

2011-01-14  castaglia <castaglia>

	* NEWS, modules/mod_facts.c,
	tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm: Bug#3577 - MFMT can fail
	due to utimes(2) peculiarities.

2011-01-13  castaglia <castaglia>

	* NEWS, modules/mod_auth_unix.c: Bug#3575 - Process privileges may
	not handled properly when --enable-autoshadow is used.

2011-01-12  castaglia <castaglia>

	* modules/mod_site.c: Fix data type warning on Solaris.

2011-01-12  castaglia <castaglia>

	* configure: Updated configure.

2011-01-12  castaglia <castaglia>

	* config.h.in, configure.in, contrib/mod_exec.c, contrib/mod_tls.c,
	include/conf.h, modules/mod_core.c, modules/mod_delay.c,
	modules/mod_xfer.c, src/child.c, src/data.c, src/ftpdctl.c,
	src/log.c, src/main.c, src/netio.c, src/scoreboard.c,
	src/support.c, src/throttle.c, src/timers.c, utils/ftptop.c,
	utils/scoreboard.c, utils/utils.h: Move the inclusion of <signal.h>
	into the main conf.h file.

2011-01-12  castaglia <castaglia>

	* src/main.c: Use better printf(3) style, and always support a
	format string, even for fixed input strings.

2011-01-11  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3524 -
	mod_quotatab_sql does not properly update the file upload count for
	a DELE.

2011-01-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
	tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm: Removing more unneeded
	chomp() calls.

2011-01-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
	tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STOR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STRU.pm,
	tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Removing unneeded
	chomp() calls.

2011-01-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/AllowOverwrite.pm,
	tests/t/lib/ProFTPD/Tests/Config/CommandBufferSize.pm,
	tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm,
	tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm,
	tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm,
	tests/t/lib/ProFTPD/Tests/Config/Order.pm,
	tests/t/lib/ProFTPD/Tests/Config/RewriteHome.pm: Remove unnecessary
	chomp() calls.

2011-01-11  castaglia <castaglia>

	* tests/t/commands/site/chmod.t,
	tests/t/lib/ProFTPD/Tests/Commands/SITE/CHMOD.pm, tests/tests.pl: 
	Start working on regression tests for the various SITE commands.

2011-01-11  castaglia <castaglia>

	* modules/mod_auth_file.c: Fix build of mod_auth_file on systems
	which have fgetpwent(3).

2011-01-11  castaglia <castaglia>

	* src/fsio.c: Style nits; no functional change (other than adding
	signal handling in a while() loop).

2011-01-10  castaglia <castaglia>

	* contrib/mod_sftp/display.c, include/fsio.h, src/display.c,
	src/fsio.c: Add a new function, pr_fs_getsize2(), for retrieving the
	available space on a filesystem.  Unlike pr_fs_getsize(), this new
	function is a) always present, rather than relying on platform
	support for various statfs(2) flavors, and b) is capable of
	indicating when an error occurs.

2011-01-10  castaglia <castaglia>

	* doc/howto/ConfigurationTricks.html: Mention TransferPriority in
	the ConfigurationTricks howto.

2011-01-08  castaglia <castaglia>

	* src/support.c: Since the location of the statfs(2)/statvfs(2)
	calls moved to the src/fsio.c file, these headers are no longer
	needed in src/support.c.

2011-01-08  castaglia <castaglia>

	* modules/mod_auth_file.c: Slightly better fix for the ID filtering
	bugs I found.  Also fixed up some log messages about filtered IDs so
	that they are better suited to handle large ID values.

2011-01-08  castaglia <castaglia>

	* modules/mod_auth_file.c: Fix a couple of bugs when using ID
	filtering in the AuthUserFile and AuthGroupFile directives.

2011-01-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm,
	tests/t/modules/mod_auth_file.t, tests/tests.pl: Adding regression
	tests for the ID, home, and name filtering that can be done using
	AuthUserFile and AuthGroupFile directives.

2011-01-08  castaglia <castaglia>

	* doc/contrib/mod_sql_passwd.html: Updating the mod_sql_passwd docs
	with descriptions of the SQLPasswordOptions and SQLPasswordRounds
	directives, as well as how to use them in combination to support a
	wide variety of constructions.

2011-01-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: More
	Bug#3500-related unit tests, this time for the HashPassword and
	HashSalt SQLPasswordOptions.

2011-01-08  castaglia <castaglia>

	* contrib/mod_sql_passwd.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Additional
	refinement from Bug#3500.

2011-01-07  castaglia <castaglia>

	* doc/modules/mod_xfer.html: Start working on a mod_xfer doc.

2011-01-07  castaglia <castaglia>

	* doc/modules/mod_core.html: Typo.

2011-01-06  castaglia <castaglia>

	* NEWS, contrib/mod_sql_passwd.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Bug#3500 -
	Support for other combinations of hashed values in mod_sql_passwd.

2011-01-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
	regression test for the SQLGroupWhereClause directive.

2011-01-05  castaglia <castaglia>

	* doc/howto/ConnectionACLs.html: Typo.

2011-01-05  castaglia <castaglia>

	* doc/howto/ConnectionACLs.html: Typo.

2011-01-05  castaglia <castaglia>

	* RELEASE_NOTES: Mention the new doc in the release notes.

2011-01-05  castaglia <castaglia>

	* doc/howto/ConnectionACLs.html, doc/howto/index.html: Adding
	ConnectionACL howto.

2011-01-05  castaglia <castaglia>

	* src/parser.c: Make sure that the config parser allows a line to be
	up to the full PR_TUNABLE_BUFFER_SIZE in length (usually 1024
	bytes), rather than PR_TUNABLE_BUFFER_SIZE-1 bytes.

2011-01-04  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c, contrib/mod_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3572 -
	Support use of "notes" variables in SQLNamedQuery.  I've also added support to mod_rewrite such that the mod_rewrite
	module now stores backrefs in the cmd->notes table, such that they
	can be used in a SQLLog SQLNamedQuery.

2011-01-04  castaglia <castaglia>

	* src/table.c: Add a default table printing function for
	pr_table_dump(), so that a caller can simply use:   pr_table_dump(NULL, tab); to get the table dumped to the TraceLog under the 'table' channel.

2011-01-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
	integration test showing that variables such as %L are properly
	supported in a SQLUserWhereClause.

2011-01-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/RLimitMemory.pm: Another
	RLimitMemory test; I need to add more such cases here.

2011-01-03  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#3571 - RLimitMemory "max" soft/hard
	limits don't work.

2011-01-03  castaglia <castaglia>

	* tests/t/config/rlimitmemory.t,
	tests/t/lib/ProFTPD/Tests/Config/RLimitMemory.pm, tests/tests.pl: 
	Adding regression tests for the RLimitMemory directive, per
	Bug#3571.

2010-12-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fix another few
	Perl warnings.

2010-12-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DisplayChdir.pm: Silence another
	Perl warning.

2010-12-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Quell some Perl
	compiler warnings.

2010-12-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/REST.pm: Remove redundant
	regression test.

2010-12-27  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logins.pm: Add regression test for
	anonymous logins with mod_delay enabled.

2010-12-27  castaglia <castaglia>

	* tests/Makefile.in: Make sure that 'make clean' works properly for
	the API tests.

2010-12-27  castaglia <castaglia>

	* tests/api/timers.c: Typo.

2010-12-27  castaglia <castaglia>

	* tests/api/netacl.c: More places in the API testsuite where we
	might need to handle 'localhost.localdomain' as well as just
	'localhost'.

2010-12-27  castaglia <castaglia>

	* tests/api/netaddr.c: Try to handle the case where
	'localhost.localdomain' is the returned DNS name for 127.0.0.1,
	rather than 'localhost'.

2010-12-26  castaglia <castaglia>

	* tests/api/timers.c: Allow some leeway when dealing with
	timer-based unit tests.

2010-12-23  jwm <jwm>

	* README.LDAP: bzr r110:   capitalization consistency

2010-12-23  jwm <jwm>

	* RELEASE_NOTES: forgot to add notice of mod_ldap configuration
	overhaul to the release notes

2010-12-23  jwm <jwm>

	* README.LDAP: latest README with populated Changes section

2010-12-23  castaglia <castaglia>

	* tests/api/pool.c: Fix pool unit test error.

2010-12-22  castaglia <castaglia>

	* doc/howto/Scoreboard.html: Updating the Scoreboard howto with
	descriptions of the types of data recorded in the ScoreboardFile.

2010-12-21  castaglia <castaglia>

	* src/scoreboard.c, tests/api/scoreboard.c, tests/api/stubs.c: 
	Bug#3568 - Build failure trying to run test suite.  Fixes linker
	error due to missing pr_ctrls_unregister() stub, and fixes
	scoreboard API tests that were broken due to ScoreboardMutex
	introduction (Bug#3208).

2010-12-21  castaglia <castaglia>

	* modules/mod_ident.c: Fix an IdentLookups edge case where we were
	not closing the fd or removing the timer properly.

2010-12-21  castaglia <castaglia>

	* modules/mod_ident.c: Typo.

2010-12-21  castaglia <castaglia>

	* src/netio.c: Fix the IO event names for writes to "other" types of
	streams.

2010-12-21  castaglia <castaglia>

	* NEWS, modules/mod_ident.c: Bug#3567 - IdentLookups do not work for
	IPv6 servers.

2010-12-21  castaglia <castaglia>

	* doc/contrib/mod_tls_shmcache.html: Adding TLSSessionCache FAQ.

2010-12-21  castaglia <castaglia>

	* doc/modules/mod_core.html: Updating mod_core docs with description
	of ProcessTitles directive.

2010-12-21  castaglia <castaglia>

	* NEWS, include/proctitle.h, modules/mod_core.c, src/proctitle.c: 
	Bug#3566 - Ability to turn verbose process titles off.

2010-12-20  castaglia <castaglia>

	* tests/t/config/maxcommandrate.t,
	tests/t/lib/ProFTPD/Tests/Config/MaxCommandRate.pm, tests/tests.pl: 
	Adding unit tests for the functionality in Bug#3565.

2010-12-18  jwm <jwm>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ldap.pm: forgot to sync with
	TJ's changes to use the base set_up/tear_down methods

2010-12-18  castaglia <castaglia>

	* contrib/mod_sql.c: Bug#3563 - Fix compiler warnings about possibly
	uninitialized variables.

2010-12-18  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Bug#3564 - Remove the SFTPServices
	docs, since the directive was reworked to be the Protocols
	directive.

2010-12-18  castaglia <castaglia>

	* include/version.h: Updating version.h for the CVS status once
	more.

2010-12-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Remove the 50MB
	file used for mod_deflate regression testing; no need to clutter up
	the tarball with it.

2010-12-18  castaglia <castaglia>

	* ChangeLog: Updating ChangeLog.

2010-12-18  castaglia <castaglia>

	* locale/files.txt: Updating the list of files for localization.

2010-12-18  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Getting
	ready to release 1.3.4rc1 (finally).

2010-12-18  castaglia <castaglia>

	* modules/mod_xfer.c: Add some portability checks for strtof(3), and
	make sure that the UseSendfile directive handler checks the macros.

2010-12-18  castaglia <castaglia>

	* configure: Updating configure script.

2010-12-18  castaglia <castaglia>

	* config.h.in, configure.in: Adding autoconf checks for the
	strtod(3) and strtof(3) functions; some platforms (e.g. older
	Solaris) may not have them.

2010-12-17  castaglia <castaglia>

	* contrib/mod_qos.c: Make sure that mod_qos can compile properly on
	non-Linux systems (e.g. FreeBSD) by adding in some portability
	checks.

2010-12-17  castaglia <castaglia>

	* contrib/mod_wrap2/mod_wrap2.h.in: Missed checkin for the fix for
	Bug#3558.

2010-12-17  castaglia <castaglia>

	* RELEASE_NOTES: Updating the release notes.

2010-12-17  castaglia <castaglia>

	* src/netio.c: Limit the memory usage for pr_buffer_ts for the IO
	events by using a sub-pool for the IO write events, and destroying
	the pool after the event has been posted.

2010-12-17  castaglia <castaglia>

	* contrib/mod_sql.c: The mod_sql_sqlite testsuite caught a
	regression caused by a typo in the fix for Bug#3536.

2010-12-17  castaglia <castaglia>

	* src/response.c: Wait to clear the cached last response code/msg
	values until pr_response_clear().

2010-12-17  castaglia <castaglia>

	* src/response.c: The last commit broke pr_response_flush(); fix it
	properly.

2010-12-17  castaglia <castaglia>

	* include/event.h, src/event.c: Provide a function for checking if
	there are any registered listeners for a given event.  A module
	might want to use this, for example, to see if anyone is listening
	for some data which may be expensive to generate.

2010-12-17  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3560 -
	ExtendedLog shows incorrect byte size for first file downloaded via
	SFTP in some cases.

2010-12-17  castaglia <castaglia>

	* src/response.c: The mod_sftp testsuite caught some issues in the
	Response API.

2010-12-16  castaglia <castaglia>

	* contrib/mod_sftp/packet.c: Have mod_sftp generate events when it
	does network IO.

2010-12-16  castaglia <castaglia>

	* src/netio.c: Generate an event when pr_netio_gets() is used (e.g.
	by mod_ident) to read data from the network which is not necessarily
	for the control or data connections.

2010-12-15  castaglia <castaglia>

	* src/data.c, src/netio.c: Flesh out the rest of the IO events, so
	that events are generated when data are read from both control and
	data connection, and when data are written to either control or data
	connections.

2010-12-15  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding
	regression test for %O variable when sendfile(2) support is in
	effect.  Fixing the other broken tests related to Bug#3554.

2010-12-15  castaglia <castaglia>

	* src/data.c: Make sure that bytes sent to the client via
	sendfile(2) are properly accounted for in the %O value (Bug#3554).

2010-12-15  castaglia <castaglia>

	* doc/contrib/mod_wrap2.html: Added documentation for the new
	CheckAllNames WrapOption.

2010-12-15  castaglia <castaglia>

	* NEWS, contrib/mod_wrap2/mod_wrap2.c, include/netaddr.h,
	src/netaddr.c, tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: 
	Bug#3558 - Check all DNS names for a client against DNS
	names/patterns in access rules.

2010-12-15  castaglia <castaglia>

	* doc/modules/mod_core.html: Start working a mod_core.html doc, just
	like we have for the other standard modules.

2010-12-15  castaglia <castaglia>

	* modules/mod_core.c: Make sure that mod_ifsession won't remove all
	Protocols config_recs by marking it with the proper
	CF_MERGEDOWN_MULTI flag.

2010-12-15  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_tls.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Update mod_tls to
	honor/enforce the "ftps" protocol for the Protocols directive.  Update the NEWS and RELEASE_NOTES about the new Protocols directive.

2010-12-15  castaglia <castaglia>

	* modules/mod_auth.c: Make sure that the disconnecting of a client
	because of the Protocols config happens at the right time.

2010-12-15  castaglia <castaglia>

	* modules/mod_auth.c, tests/t/lib/ProFTPD/Tests/Config/Protocols.pm: 
	Be polite, and send a response when we disconnect the session
	because of the Protocols config, even if that response is not very
	informative.

2010-12-15  castaglia <castaglia>

	* modules/mod_auth.c: More work on Bug#3556; we don't want to check
	for the Protocols config unless the client has been successfully
	authenticated.

2010-12-15  castaglia <castaglia>

	* contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/scp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Supporting the new
	Protocols directive (Bug#3556) in mod_sftp.

2010-12-15  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_core.c,
	tests/t/config/protocols.t,
	tests/t/lib/ProFTPD/Tests/Config/Protocols.pm, tests/tests.pl: 
	Bug#3556 - Disable protocol support on per-user/group/class basis.

2010-12-14  castaglia <castaglia>

	* doc/contrib/mod_wrap2.html: Add documentation for the new
	WrapOptions directive, and the option added for Bug#3508.

2010-12-14  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_wrap2/mod_wrap2.c,
	contrib/mod_wrap2/mod_wrap2.h.in: Bug#3508 - mod_wrap2 should
	support checking of WrapTables allow/deny rules at connect time.

2010-12-14  castaglia <castaglia>

	* contrib/mod_wrap2/mod_wrap2.c: Add logging in the WrapLog of the
	DNS names/patterns being compared.  Trim a trailing period in the
	retrieved client DNS name, if present.

2010-12-14  castaglia <castaglia>

	* RELEASE_NOTES, doc/contrib/mod_sftp.html: Mention the new
	SFTPServices directive in the docs.

2010-12-14  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in,
	contrib/mod_sftp/scp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3556 - Disable
	SFTP/SCP support on per-user/group/class basis.

2010-12-13  castaglia <castaglia>

	* tests/t/config/maxclientsperhost.t,
	tests/t/config/maxconnectionsperhost.t,
	tests/t/lib/ProFTPD/Tests/Config/MaxClientsPerHost.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxConnectionsPerHost.pm,
	tests/tests.pl: Adding unit tests for the MaxClientsPerHost and
	MaxConnectionsPerHost directives.

2010-12-13  castaglia <castaglia>

	* contrib/mod_unique_id.c: Make the unique session ID generated by
	mod_unique_id available to all modules by stashing the ID in the
	session.notes table.

2010-12-11  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_deflate.c,
	contrib/mod_sftp/packet.c, contrib/mod_sql.c, contrib/mod_tls.c,
	include/proftpd.h, modules/mod_log.c, src/netio.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3554 -
	Support Apache-style %I, %O LogFormat variables.

2010-12-11  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: Add comment for myself in the future,
	about SSH clients which request SCP transfers using an explicit path
	to the scp executable.

2010-12-11  castaglia <castaglia>

	* modules/mod_log.c: Catch an edge case where an ExtendedLog
	configured to log ALL commands was not logging some commands.
	Specifically, if the module handling the command forgot to provide a
	proper command class for that command, then the ExtendedLog wouldn't
	log it, even for the ALL command class.

2010-12-11  castaglia <castaglia>

	* contrib/mod_deflate.c: Make sure that the commands handled by
	mod_deflate are tagged with the proper command class, so that
	ExtendedLog catches/logs them properly.

2010-12-11  castaglia <castaglia>

	* contrib/mod_deflate.c: The cause of Bug#3550 also occurred in the
	mod_deflate code; fixing it here.

2010-12-10  jwm <jwm>

	* contrib/mod_ldap.c: bzr r108:   Handle potential NULL return value from crypt(). (Bug #3551)

2010-12-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression
	tests for the handling of various timeouts (TimeoutIdle,
	TimeoutLogin, TimeoutNoTransfer, TimeoutStalled) for SFTP sessions.

2010-12-10  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Make SCP
	honor/handle the TimeoutNoTransfer and TimeoutStalled timeouts
	properly.

2010-12-10  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Listing a directory via SFTP should reset
	the TimeoutNoTransfer timer, as is done for FTP sessions.

2010-12-10  castaglia <castaglia>

	* modules/mod_xfer.c: The message logged for a TimeoutNoTransfer
	should be protocol-specific, and not have "FTP" hardcoded.

2010-12-10  castaglia <castaglia>

	* src/main.c: Generate an event for parsed but
	unhandled/unrecognized commands as well.

2010-12-10  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/packet.c: Generate events
	when we receive invalid SSH2 packets, and when we receive invalid
	SFTP requests.

2010-12-10  castaglia <castaglia>

	* src/main.c: Generate an event whenever an invalid command (i.e. an
	unparsable command) is received from the client.

2010-12-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/TimeoutStalled.pm: Add tests
	which show that TimeoutStalled pertains to all data transfers,
	including LIST, NLST, MLSD, RETR, and STOR.

2010-12-09  castaglia <castaglia>

	* contrib/mod_ban.c, contrib/mod_sftp/scp.c, contrib/mod_tls.c: 
	Updating some macros based on a FreeBSD patch I found online (which
	wasn't passed on upstream to us).

2010-12-09  castaglia <castaglia>

	* src/netio.c: Refine the placement/timing of when the event
	containing FTP control data is generated.  This tweak allows the
	event listeners to possibly modify the data, and to have the changes
	actually seen/visible to the calling code.

2010-12-09  castaglia <castaglia>

	* include/netio.h: There's no reason that the number of bytes left
	in a pr_buffer_t should be negative; use a size_t data type instead
	of int.

2010-12-09  castaglia <castaglia>

	* src/netio.c: Generate an event whenever we read data from the
	network for the control connection, passing as event data the buffer
	we read in.  This event is generated *before* we start examining
	that data as Telnet/string data.  This allows modules to register listeners for this event; the
	modules can then examine the data for possibly malicious payloads
	and then do something appropriate (e.g. log the data, notify
	someone, drop the connection, generate an event for mod_ban, etc
	etc).

2010-12-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Don't run the
	Bug#3536 test by default; it's more for development/debugging than
	for regression.

2010-12-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add the
	reproduction recipe I was using for testing the changes for
	Bug#3536.

2010-12-09  castaglia <castaglia>

	* modules/mod_xfer.c: Make a reminder comment to myself to handle
	short writes to disk better.

2010-12-08  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/compress.c: Bug#3550 - SFTP compressed
	uploads can cause corrupted uploaded files.

2010-12-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add another
	regression test for Bug#3550, this one using compressed SFTP
	downloads.

2010-12-08  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Allocate a larger default buffer for
	incoming packets, to handle WRITE packets better.

2010-12-08  castaglia <castaglia>

	* tests/t/etc/modules/mod_sftp/bug3550.php,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding reproduction
	recipe for Bug#3550.

2010-12-07  castaglia <castaglia>

	* contrib/mod_sql.c, modules/mod_auth_unix.c: Restore the explicit
	casts inadvertently removed by the fix for Bug#3551; I believe these
	were there to quell compiler warnings on some platforms.

2010-12-07  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c, modules/mod_auth_unix.c: Bug#3551 -
	SQLAuthType Crypt implementation needs to handle NULL return value
	from crypt(3).

2010-12-04  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3548 - Null pointer segfault in
	mod_sftp when handling aborted connection.

2010-12-03  castaglia <castaglia>

	* contrib/mod_sql_sqlite.c: Fix logging of SQL query executing
	error.

2010-12-03  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
	contrib/mod_sftp/channel.h, contrib/mod_sftp/display.c,
	contrib/mod_sftp/display.h, contrib/mod_sftp/fxp.c,
	contrib/mod_sftp/fxp.h, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/ssh2.h: Bug#3515 - Support DisplayLogin
	functionality for SFTP connections.

2010-12-02  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding reproduction
	recipe for Bug#3544.

2010-12-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Adding
	regression test for Bug#3547.

2010-12-01  castaglia <castaglia>

	* NEWS, contrib/mod_ifsession.c, modules/mod_core.c: Bug#3547 -
	Multiple AllowClass directives not handled properly.

2010-11-30  castaglia <castaglia>

	* contrib/mod_ifsession.c, src/parser.c: Populate the cmd_rec->arg
	field for the cmd_recs generated during parsing.  This is useful for
	capturing/recording the full original configuration line.  Update mod_ifsession's logging to store and use the cmd->arg field,
	to better be able to determine which specific conditional context
	was merged in (or not).

2010-11-30  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#3536 - mod_sql has insufficient
	bounds checking in sql_prepare_where() function.

2010-11-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Adding unit
	tests for mod_wrap2 and the WrapOptions directive from Bug#3508.

2010-11-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add ExtendedLog
	RETR test for SFTP downloads.

2010-11-22  castaglia <castaglia>

	* src/log.c: Make very sure that our logging buffer isn't exceeded.

2010-11-19  castaglia <castaglia>

	* tests/t/config/commandbuffersize.t,
	tests/t/lib/ProFTPD/Tests/Config/CommandBufferSize.pm,
	tests/tests.pl: Adding tests for the CommandBufferSize directive.

2010-11-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Allow unit tests the
	possibility of specifying a command timeout, in addition to the
	existing connection timeout, when instantiating a Net::FTP object.
	Useful for cases where the server may not actually send a response
	(e.g. if we send a too-long command).

2010-11-16  castaglia <castaglia>

	* src/timers.c: Make sure we reset the dynamic_timerno static
	variable when (re)initializing the Timers API as well.

2010-11-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add some tests for
	the SFTPRekey directive; fortunately rekeying seems to be supported
	well in libssh2/Net::SSH2.

2010-11-16  castaglia <castaglia>

	* contrib/mod_sftp/kex.c, contrib/mod_sftp/mod_sftp.c: Fix up some
	of the trace logging around rekeying to be a little clearer.  Fixed the handling of rekey-related timers; we were inadvertently
	removing the rekey interval timer when we wanted to remove the rekey
	timeout timer.

2010-11-16  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: Make sure that mod_facts is listed
	in the .spec file.

2010-11-16  castaglia <castaglia>

	* src/scoreboard.c: Don't forget to delete the ScoreboardMutex file
	as well.

2010-11-15  castaglia <castaglia>

	* include/scoreboard.h: Additional comments for the scoreboard entry
	fields.

2010-11-14  castaglia <castaglia>

	* NEWS: Mention the automatic setting of ScoreboardMutex when
	ScoreboardFile is used.

2010-11-14  castaglia <castaglia>

	* src/scoreboard.c: By default, whenever the ScoreboardFile is
	manually set via config, the ScoreboardMutex should be automatically
	set as well -- this makes helps preserve the principle of least
	surprise when upgrading proftpd.

2010-11-14  castaglia <castaglia>

	* tests/t/config/transferrate.t,
	tests/t/lib/ProFTPD/Tests/Config/TransferRate.pm, tests/tests.pl: 
	Adding unit tests for the TransferRate directive.

2010-11-14  castaglia <castaglia>

	* include/scoreboard.h, src/scoreboard.c: Adding trace logging of
	the pr_scoreboard_entry_update() function, for tracing when specific
	scoreboard entry fields are updated.

2010-11-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding a few more
	FTPS regression tests.

2010-11-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_site.pm: Quell minor perl
	compiler warning about redeclared variable.

2010-11-11  castaglia <castaglia>

	* modules/mod_site.c: Add some trace logging for when SITE
	CHGRP/CHMOD fail.

2010-11-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_site.pm,
	tests/t/modules/mod_site.t, tests/tests.pl: Start working on
	regression tests for the mod_site module and its SITE commands.

2010-11-11  castaglia <castaglia>

	* doc/howto/Scoreboard.html: Add mention of the new ScoreboardMutex
	directive in the Scoreboard howto.

2010-11-11  castaglia <castaglia>

	* RELEASE_NOTES: Updating release notes.

2010-11-11  castaglia <castaglia>

	* NEWS, include/scoreboard.h, modules/mod_core.c, src/scoreboard.c: 
	Bug#3208 - Improve ScoreboardFile performance under load.

2010-11-10  castaglia <castaglia>

	* NEWS, src/dirtree.c,
	tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm: Bug#3530 -
	Conflicting interactions among HideUser, HideGroup, and HideNoAccess
	directives.  Make sure that HideNoAccess does not override the results of the
	HideUser or HideGroup checks.

2010-11-10  castaglia <castaglia>

	* NEWS: Mention the new "OldProtocolCompat" SFTPOption in the NEWS
	file.

2010-11-09  castaglia <castaglia>

	* doc/howto/Limit.html: Add an example of user-specific login denied
	by a specific IP address.

2010-11-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Add unit test
	showing how to use mod_ifsession and <Limit LOGIN> to achieve
	per-user, per-IP address specific ACLs.

2010-11-09  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c: Bug#3531 - mod_quotatab contains
	duplicate EDQUOT errno code.

2010-11-09  castaglia <castaglia>

	* contrib/mod_sql_passwd.c: Refactor mod_sql_passwd a little,
	pulling the encoding logic into a separate function.  Hopefully this
	will make implementing the feature requested in Bug#3500 easier.

2010-11-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Start adding
	tests for the mod_sql_passwd functionality requested in Bug#3500.

2010-11-09  castaglia <castaglia>

	* src/netio.c: Stylistic nits; no functional change.

2010-11-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Telnet.pm: Fix the regression test for
	Bug#3521.  We need to use Net::Telnet::TELNET_IAC() instead of
	$Net::Telnet::TELNET_IAC, since it is a subroutine, not a scalar.

2010-11-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Telnet.pm: Correct the bug number for
	this unit/regression test.

2010-11-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_copy.pm: Fix broken mod_copy
	unit test.

2010-11-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add unit test
	where mod_sql will retrieve multiple group rows with different names
	but the same GID.  This test can be useful later.

2010-11-08  castaglia <castaglia>

	* contrib/mod_sql.c: Stylistic nit; no functional change.

2010-11-08  castaglia <castaglia>

	* contrib/mod_sql.c, include/display.h, src/display.c: Fixing
	regression in handling of SQLShowInfo, caused by fix for Bug#3423.

2010-11-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
	regression test for the fix for Bug#3423 as applied to SQLShowInfo
	lines.

2010-11-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm: Add regression
	test/reproduction recipe for Bug#3530.

2010-11-07  castaglia <castaglia>

	* doc/howto/Sendfile.html: Updating the Sendfile howto with
	description of the changes for Bug#3310, including how to get
	ftptop/ftpwho to show download rates while still taking advantage of
	the sendfile(2) optimal data transfer for downloads.

2010-11-06  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, modules/mod_xfer.c: Bug#3310 - UseSendfile
	should be supported in <Directory> and .ftpaccess sections.

2010-11-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/UseSendfile.pm: More unit tests
	for the UseSendfile functionality added for Bug#3310.  These tests
	are for the percentage syntax.

2010-11-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/UseSendfile.pm: Adding a bunch of
	UseSendfile tests for the functionality being added for Bug#3310.

2010-11-05  castaglia <castaglia>

	* tests/t/config/usesendfile.t,
	tests/t/lib/ProFTPD/Tests/Config/UseSendfile.pm, tests/tests.pl: 
	Adding regression tests for the UseSendfile directive, in
	preparation for working on Bug#3310.

2010-11-05  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm: Updating
	multiline DisplayConnect regression test for changes due to
	Bug#3423.

2010-11-05  castaglia <castaglia>

	* include/display.h: Typo.

2010-11-05  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#3529 - "LIST /*" now lists more than
	the expected directory.

2010-11-05  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding reproduction
	recipes/regression tests for Bug#3529.

2010-11-05  castaglia <castaglia>

	* src/dirtree.c: Address an issue seen by Thomas Shinnick where
	multiple config_recs for the same config_rec might be created
	unnecessarily in merge_down().  Specifically, if a config_rec was
	marked with the CF_MERGEDOWN_MULTI flag, merge_down() was not
	checking to see if a config_rec with all of the same values already
	existed in the destination subset list before merging it in.  These duplicate config_recs could lead to extraneous (or even buggy)
	duplicate processing, depending on how those config_recs were looked
	up/processed (i.e.  did the consuming code simply look up the first
	occurring config_rec, or would it look up and process all
	config_recs of that name, including the duplicates?).

2010-11-05  castaglia <castaglia>

	* NEWS, src/dirtree.c: Bug#3526 - CPU usage at 100% when checking
	HideFiles pattern.  The build_dyn_config() function was using different names for the
	.ftpaccess config_recs it created versus the ones it looked up.
	This lead to an explosing in the number of config_recs created,
	which in turn lead to huge amounts of memory and CPU being taken up.
	Thanks to Thomas Shinnick for diligently tracking down the problem,
	and for providing a thoroughly- researched fix.

2010-11-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Directory/Lookups.pm: Add unit
	test for reproducing the slow/CPU-eating behavior indicated in
	Bug#3526.

2010-11-04  castaglia <castaglia>

	* src/dirtree.c: Cleanup some stylistic nits found in src/dirtree.c,
	found while investigating Bug#3526.  Also add some necessary signal
	handling.

2010-11-04  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c, include/response.h, modules/mod_log.c,
	src/response.c, tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3528 -
	ExtendedLog %s variable not expanded properly for successful PASS
	commands.

2010-11-02  castaglia <castaglia>

	* NEWS, src/log.c: Bug#3525 - Default syslog logging causes logging
	to the wrong syslog facilities.

2010-11-01  castaglia <castaglia>

	* RELEASE_NOTES: Updating release notes.

2010-11-01  castaglia <castaglia>

	* contrib/mod_quotatab.c: Remove the pr_unregister_fs() call when
	unloading mod_quotatab.  First, the call was wrong:
	pr_unregister_fs() takes a path, not an FSIO name.  Second, the
	corresponding pr_register_fs() call happens in the session process;
	unloading the module happens in the daemon process.

2010-10-30  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Set the
	session.curr_cmd value in mod_sftp, for use by contrib modules.

2010-10-29  castaglia <castaglia>

	* contrib/mod_sftp/packet.c: Add trace logging of unknown disconnect
	reason codes.

2010-10-29  castaglia <castaglia>

	* contrib/mod_sftp/packet.c: Make sure we handle unknown disconnect
	reason code properly (Bug#3522).

2010-10-29  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/disconnect.c,
	contrib/mod_sftp/disconnect.h, contrib/mod_sftp/packet.c: Bug#3522 -
	Error when handling SSH DISCONNECT messages with no language tag.

2010-10-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Add unit tests
	showing that mod_site_misc properly honors <Limit> sections on its
	SITE commands.

2010-10-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Telnet.pm: Fix the Telnet tests to be
	skipped properly, without compilation error, if the Net::Telnet
	module isn't installed.

2010-10-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Telnet.pm, tests/t/telnet.t,
	tests/tests.pl: Add regression test for the Telnet IAC handling bug
	(Bug#3521).

2010-10-29  castaglia <castaglia>

	* NEWS, src/netio.c: Bug#3521 - Telnet IAC processing stack
	overflow.

2010-10-27  castaglia <castaglia>

	* NEWS, include/proftpd.h, modules/mod_core.c, src/dirtree.c,
	src/display.c, src/response.c: Bug#3520 -  MultilineRFC2228
	directive should be supported in <VirtualHost> and <Global>
	sections.

2010-10-27  castaglia <castaglia>

	* tests/t/config/multilinerfc2228.t,
	tests/t/lib/ProFTPD/Tests/Config/MultilineRFC2228.pm,
	tests/tests.pl: Adding unit tests for the MultilineRFC2228
	directive.

2010-10-24  castaglia <castaglia>

	* lib/pr_fnmatch_loop.c: Try to avoid more non-gcc compiler
	unhappiness.

2010-10-24  castaglia <castaglia>

	* lib/pr_fnmatch.c: Try to make non-gcc compilers happier by
	providing a __builtin_expect macro definition for them.

2010-10-23  castaglia <castaglia>

	* include/compat.h: Make sure to have a compatibility macro for the
	renamed is_fnmatch() function.

2010-10-23  castaglia <castaglia>

	* tests/api/netacl.c: Updated unit tests for NetACL parsing changes.

2010-10-23  castaglia <castaglia>

	* include/dirtree.h, include/str.h, src/dirtree.c, src/str.c,
	tests/api/str.c: Move the is_fnmatch() function into the str.c
	source file, and rename it to pr_str_is_fnmatch(), making it part of
	the public API.  Added unit tests for its behavior as well.

2010-10-22  castaglia <castaglia>

	* NEWS, contrib/mod_site_misc.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Bug#3519 -
	Inappropriate directory traversal allowed by mod_site_misc.

2010-10-21  castaglia <castaglia>

	* doc/contrib/mod_site_misc.html: Update mod_site_misc docs for new
	SiteMiscEngine directive.

2010-10-21  castaglia <castaglia>

	* NEWS, contrib/mod_site_misc.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Bug#3518 -
	Support SiteMiscEngine directive, for disabling mod_site_misc
	functionality via proftpd.conf.

2010-10-20  castaglia <castaglia>

	* lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: Avoid this compiler
	warning:   warning: shadowing built-in function 'mempcpy' by prefixing our provided mempcpy(3) name with underscores.  Whee.

2010-10-20  castaglia <castaglia>

	* contrib/mod_quotatab.c: Clear the "have update" flag in a few more
	places, just to be sure.

2010-10-20  castaglia <castaglia>

	* contrib/mod_quotatab.c: Make sure the "have update" flag is
	cleared properly for DELEs; related to Bug#3517.

2010-10-20  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3517 -
	mod_quotatab decrements file tally improperly for failed DELE
	commands.

2010-10-20  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Mention the space-avaiable SFTP
	extension in the SFTPExtensions doc.

2010-10-20  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/fxp.h,
	contrib/mod_sftp/mod_sftp.c: Bug#3516 - Support the
	"space-available" SFTP extension.

2010-10-20  castaglia <castaglia>

	* lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: Fix compilation of the
	newly-updated fnmatch implementation on non-GNU systems (i.e.
	systems which may not have the mempcpy(3) function).

2010-10-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Limit/LOGIN.pm: Updated unit test
	for Bug#3484.

2010-10-19  castaglia <castaglia>

	* src/modules.c: When unloading a module, try to remove as many
	callbacks that the module may have registered as possible.

2010-10-19  castaglia <castaglia>

	* NEWS, src/netacl.c, src/netaddr.c: Bug#3484 - Support range
	expressions for IP addresses in Allow/Deny/From rules.

2010-10-19  castaglia <castaglia>

	* RELEASE_NOTES: Mention the upgrade of the bundled fnmatch
	implementation in the release notes.

2010-10-19  castaglia <castaglia>

	* include/libsupp.h, lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: 
	Updating the bundled fnmatch implementation to that from glibc-2.9.
	This is needed to properly support range expressions, a la Bug#3484.
	Strange that this hasn't been noticed before.  Hopefully this upgrade doesn't break any existing configs.

2010-10-18  castaglia <castaglia>

	* NEWS: Updating NEWS for Bug#3514.

2010-10-18  castaglia <castaglia>

	* tests/tests.pl: More residue from Bug#3514.

2010-10-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Child.pm: Strange that these didn't
	get checked in, as part of Bug#3514.

2010-10-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Forgot to check this in;
	it's part of Bug#3514.

2010-10-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/AccessDenyMsg.pm,
	tests/t/lib/ProFTPD/Tests/Config/AccessGrantMsg.pm,
	tests/t/lib/ProFTPD/Tests/Config/AllowOverwrite.pm,
	tests/t/lib/ProFTPD/Tests/Config/AnonRejectPasswords.pm,
	tests/t/lib/ProFTPD/Tests/Config/AnonRequirePassword.pm,
	tests/t/lib/ProFTPD/Tests/Config/AuthAliasOnly.pm,
	tests/t/lib/ProFTPD/Tests/Config/AuthGroupFile.pm,
	tests/t/lib/ProFTPD/Tests/Config/AuthOrder.pm,
	tests/t/lib/ProFTPD/Tests/Config/AuthUsingAlias.pm,
	tests/t/lib/ProFTPD/Tests/Config/Classes.pm,
	tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm,
	tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm,
	tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm,
	tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm,
	tests/t/lib/ProFTPD/Tests/Config/DisplayChdir.pm,
	tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm,
	tests/t/lib/ProFTPD/Tests/Config/DisplayFileTransfer.pm,
	tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm,
	tests/t/lib/ProFTPD/Tests/Config/DisplayQuit.pm,
	tests/t/lib/ProFTPD/Tests/Config/GroupOwner.pm,
	tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm,
	tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm,
	tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm,
	tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm,
	tests/t/lib/ProFTPD/Tests/Config/HideUser.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxClients.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxInstances.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm,
	tests/t/lib/ProFTPD/Tests/Config/Order.pm,
	tests/t/lib/ProFTPD/Tests/Config/PathAllowFilter.pm,
	tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm,
	tests/t/lib/ProFTPD/Tests/Config/RequireValidShell.pm,
	tests/t/lib/ProFTPD/Tests/Config/RewriteHome.pm,
	tests/t/lib/ProFTPD/Tests/Config/ServerAdmin.pm,
	tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm,
	tests/t/lib/ProFTPD/Tests/Config/StoreUniquePrefix.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutLogin.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutNoTransfer.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutSession.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutStalled.pm,
	tests/t/lib/ProFTPD/Tests/Config/Trace.pm,
	tests/t/lib/ProFTPD/Tests/Config/UseFtpUsers.pm,
	tests/t/lib/ProFTPD/Tests/Config/UseGlobbing.pm,
	tests/t/lib/ProFTPD/Tests/Config/UserAlias.pm,
	tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm,
	tests/t/lib/ProFTPD/Tests/Config/UserPassword.pm: Update tests to
	use base set_up() and tear_down() methods.

2010-10-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Limit/Anonymous.pm,
	tests/t/lib/ProFTPD/Tests/Config/Limit/Filters.pm,
	tests/t/lib/ProFTPD/Tests/Config/Limit/LOGIN.pm,
	tests/t/lib/ProFTPD/Tests/Config/Limit/MFMT.pm,
	tests/t/lib/ProFTPD/Tests/Config/Limit/OPTS.pm,
	tests/t/lib/ProFTPD/Tests/Config/Limit/RMD.pm,
	tests/t/lib/ProFTPD/Tests/Config/Limit/SubDirectories.pm,
	tests/t/lib/ProFTPD/Tests/Config/Limit/XMKD.pm: Updating tests to
	use base set_up() and tear_down() methods.

2010-10-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm,
	tests/t/lib/ProFTPD/Tests/Config/Directory/Lookups.pm,
	tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm,
	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/DELE.pm,
	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm,
	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Merging.pm,
	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Updating tests
	to use base set_up() and tear_down() methods.

2010-10-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
	tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm,
	tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/HELP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/HOST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MFF.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MLST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PASS.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PORT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/REST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RETR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm,
	tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STAT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STOR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STOU.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STRU.pm,
	tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/USER.pm: Updating tests to use
	base set_up() and tear_down() methods.

2010-10-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_copy.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_ctrls.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_ifversion.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_radius.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_shaper.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_unique_id.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Updating tests
	to use the base set_up() and tear_down() methods.

2010-10-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
	tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Updating tests to
	use base set_up() and tear_down() methods.

2010-10-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logins.pm: Updating test to use the base
	set_up() and tear_down() methods.

2010-10-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Signals/ABRT.pm,
	tests/t/lib/ProFTPD/Tests/Signals/HUP.pm,
	tests/t/lib/ProFTPD/Tests/Signals/SEGV.pm,
	tests/t/lib/ProFTPD/Tests/Signals/TERM.pm: Updating tests to use the
	base set_up() and tear_down() methods.

2010-10-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3514 - Test
	suite tmpdir improvements.

2010-10-16  castaglia <castaglia>

	* modules/mod_delay.c: Use LONG_MAX as the delay ceiling.

2010-10-16  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: Remove now-unused variable, and avoid
	a verbose compiler warning.

2010-10-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
	an SFTP upload which exceeds a mod_quotatab limit; make sure that
	mod_sftp sends the proper error code and message.

2010-10-16  castaglia <castaglia>

	* contrib/mod_quotatab.c: When handling upload errors in
	mod_quotatab, try not to delete the bytes of files that were being
	appended to.  That is, only account for transfer differences if the
	number of transfer bytes is greater than zero, lest we penalize
	users inadvertently.

2010-10-15  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: Avoid compiler warning about returning
	a pointer (NULL, specifically) from a function which expects to
	return an unsigned int.

2010-10-15  jwm <jwm>

	* README.LDAP: update from latest mod_ldap bzr

2010-10-15  jwm <jwm>

	* contrib/mod_ldap.c: mod_ldap bzr r106:   2.9.0 looks ready to go mod_ldap bzr r105:   - check LDAPSearchScope value at config parse time   - support base scope

2010-10-14  jwm <jwm>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ldap.pm: round out the parts
	of mod_ldap we can test without our own slapd instance

2010-10-14  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Handle quota-related errno values in the
	OPEN request handler.

2010-10-14  castaglia <castaglia>

	* contrib/mod_quotatab.c: Make sure that the STOR and APPE handlers
	set errno appropriately, when the quota are reached.

2010-10-07  castaglia <castaglia>

	* NEWS, modules/mod_cap.c: Bug#3513 - EPERM error logged
	unnecessarily for SFTP logins on Linux.

2010-10-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add unit tests for
	"TLSOptions dNSNameRequired", and for combining the various cert
	checks via "TLSOptions iPAddressRequired dNSNameRequired
	CommonNameRequired".

2010-10-06  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Document the newly added (Bug#3512)
	CommonNameRequired TLSOption.

2010-10-06  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_tls.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3512 - Add ability
	to check client certificate CommonName (CN) when verifying SSL/TLS
	clients.

2010-10-06  castaglia <castaglia>

	* tests/t/etc/modules/mod_tls/NOTES,
	tests/t/etc/modules/mod_tls/client-cert-localhost.pem: Add a cert
	with a 'localhost' CN and DNS subjAltName value.  Update the notes
	with how to create this cert.

2010-09-29  castaglia <castaglia>

	* NEWS, contrib/mod_sql_sqlite.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3511 -
	SQLAuthType Backend not properly rejected by mod_sql_sqlite.

2010-09-28  jwm <jwm>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ldap.pm: honor $allow_auth
	in ldap_auth() test

2010-09-28  castaglia <castaglia>

	* RELEASE_NOTES: Make sure to mention the new NoErrorIfAbsent
	ListOption, from Bug#3506, in the release notes.

2010-09-28  castaglia <castaglia>

	* NEWS, modules/mod_ls.c,
	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Bug#3506 - Support
	ListOption for returning 226 response code when listing nonexistent
	file, instead of 450.

2010-09-24  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Update the mod_sftp docs to note that
	all SFTPOptions must appear on the same line.

2010-09-20  castaglia <castaglia>

	* doc/contrib/mod_sql_passwd.html: Doc typos (missing line breaks).

2010-09-17  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Try to make it clear that all TLSOptions
	used must appear on the same line in the config file, rather than
	being spread out over multiple TLSOptions.

2010-09-17  castaglia <castaglia>

	* contrib/mod_tls.c: Minor tweaks to the log message about the
	NoSessionUseRequired TLSOptions parameter.

2010-09-16  castaglia <castaglia>

	* modules/mod_delay.c: Make the maximum selected delay be 1 hour.
	It's long, yes -- but still prevents the multiple days/years
	selection which one user was seeing.

2010-09-16  castaglia <castaglia>

	* modules/mod_delay.c: Add some guards to mod_delay, to try to curb
	overly excessive delays.  First, initialize the delay value records to use values of -1, and
	then make sure that such negative values are skipped when building
	the list of values from which to select the median.  Check that the selected median is greater than or equal to zero
	before using it.  Last, add an absolute limit on the selected delay; currently set to
	15 minutes.

2010-09-15  castaglia <castaglia>

	* RELEASE_NOTES, doc/contrib/mod_sftp.html: Add docs for the new
	SFTPClientAlive directive.

2010-09-15  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h,
	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/packet.c,
	contrib/mod_sftp/packet.h,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3505 - Support
	for SSH2 client "alive" checks, a la OpenSSH's
	ClientAliveCount/Interval.

2010-09-14  castaglia <castaglia>

	* modules/mod_delay.c: Adding yet more trace logging to mod_delay.

2010-09-14  castaglia <castaglia>

	* modules/mod_delay.c: Adding more trace logging to mod_delay.

2010-09-14  castaglia <castaglia>

	* modules/mod_delay.c: Add a little more trace logging to mod_delay,
	in order to track down a segfault that I suspect is originating in
	there.  Also fix up the trace logging so that errno is not trampled
	as often (leads to more accurate log messages).

2010-09-13  castaglia <castaglia>

	* src/mkhome.c: Add support for trace logging of some of the
	CreateHome workings.

2010-09-10  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c, modules/mod_log.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3390 - Add
	extra %-variable to LogFormat directive to log UID/GID of logged
	user.

2010-09-08  castaglia <castaglia>

	* contrib/mod_sftp/kex.c: Fixing marking of DH_GEX_INIT command
	class to be AUTH.

2010-09-08  castaglia <castaglia>

	* contrib/mod_ban.c, contrib/mod_sftp/scp.c, contrib/mod_tls.c: Fix
	the getopt() resetting logic for HPUX11.

2010-09-07  castaglia <castaglia>

	* modules/mod_auth.c: Forgot to allocate space for another pointer
	in the CreateHome config_rec.

2010-09-07  castaglia <castaglia>

	* configure: Updated configure.

2010-09-07  castaglia <castaglia>

	* contrib/mod_sftp/msg.c: Only try to log stacktraces in mod_sftp if
	we have the backtrace(3) and backtrace_symbols(3) functions
	available.

2010-09-07  castaglia <castaglia>

	* config.h.in, configure.in: Add explicitly autoconf checks for the
	backtrace(3) and backtrace_symbols(3) functions, to better guard
	against situations where autoconf might find the execinfo.h header,
	but not the corresponding functions (e.g. on FreeBSD).

2010-09-07  castaglia <castaglia>

	* configure: Updated configure.

2010-09-07  castaglia <castaglia>

	* configure.in: When the --enable-devel=stacktrace option is used,
	check for the libexecinfo library.  This library is used on FreeBSD
	to provide the backtrace(3) function.

2010-09-03  castaglia <castaglia>

	* doc/howto/CreateHome.html: Updated the CreateHome howto to
	describe the new 'homegid' parameter.

2010-09-03  castaglia <castaglia>

	* NEWS, modules/mod_auth.c, src/mkhome.c,
	tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3503 - Support
	CreateHome parameter for specifying the group ownership of the home
	directory.

2010-09-02  castaglia <castaglia>

	* NEWS, src/parser.c,
	tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm: Bug#3502 - Support
	environment variables better in the config file.

2010-09-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add some regression
	tests showing that SFTP uploads/downloads, with compression enabled,
	are handled properly.

2010-09-01  castaglia <castaglia>

	* src/data.c: Given the possible confusion that the fixes for
	Bug#3135 and Bug#3487 may have, log when the data connection has
	disappeared in the debug logging, in addition to the trace logging.

2010-08-31  jwm <jwm>

	* tests/tests.pl: get verbose output from Test::Harness, too

2010-08-31  jwm <jwm>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ldap.pm,
	tests/t/modules/mod_ldap.t: start mod_ldap test suite

2010-08-31  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Adding more regression
	tests for the commands involved in Bug#3487.

2010-08-31  castaglia <castaglia>

	* include/conf.h: When compiling on AIX, if the _NO_PROTO macro is
	defined, make sure we provide a prototype for lseek(2).  We were
	doing this already for AIX4; we need to provide this prototype for
	AIX5 in such build situations as well.

2010-08-30  castaglia <castaglia>

	* NEWS, src/auth.c: Bug#3501 - <Anonymous> logins with
	"AuthAliasOnly on" still handled as anonymous logins.

2010-08-27  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/AuthAliasOnly.pm: 
	Regression/reproduction tests for Bug#3501.

2010-08-27  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logins.pm: Missing testcase tag.

2010-08-26  jwm <jwm>

	* contrib/mod_ldap.c: sync with mod_ldap bzr r104:   remove LDAPQuotas in favor of using the LDAPUsers configuration   don't see a point in configuring quota lookups separately, since
	  the quota attrs should be on the user entry itself. if ldap quota
	  lookups should be disabled, "ldap:" can be removed QuotaLimitTable.    this seems to cut down on duplicate configuration and hopefully
	  continues the trend of making mod_ldap easier to configure.

2010-08-18  jwm <jwm>

	* contrib/mod_ldap.c: mod_ldap bzr r103:   fix handling of LDAPGroups directive

2010-08-17  jwm <jwm>

	* contrib/mod_ldap.c: mod_ldap bzr r102:   - overhaul configuration directives, hopefully yielding a more     straightforward, easier way to configure mod_ldap. The on/off
	    booleans on these directives have been removed. Now, if the
	    directive is present, the corresponding functionality will be
	enabled.        LDAPDoAuth, LDAPDoUIDLookups -> LDAPUsers         The third argument to LDAPDoUIDLookups (the UID filter
	        template) is now the third argument to LDAPUsers.        LDAPDoGIDLookups -> LDAPGroups       LDAPDoQuotaLookups -> LDAPQuotas   - remove local verification of password hashes with OpenSSL;     'LDAPAuthBinds on' should do exactly the same thing in a more
	    secure and standard way.    - remove deprecated LDAPNegativeCache and LDAPUseSSL directives   - add group members to debug output   - comment, log/debug message sync   - minor logic cleanup   - style improvements

2010-08-14  castaglia <castaglia>

	* src/main.c: Generate a 'core.shutdown' event when the daemon is
	shutting down.  Currently, a 'core.exit' event is generated when the daemon shuts
	down.  However, this event is also used to indicate when a session
	is closing; this forces modules to register two different event
	handlers for the same event name, depending on the context.  It is
	far cleaner (and less bug-prone) to have two distinct events for the
	two different types of "end of processing" behavior.  Gradually, the generation of the 'core.exit' event at daemon
	shutdown time will be phased out.

2010-08-14  castaglia <castaglia>

	* include/ctrls.h, src/ctrls.c: Make sure that
	pr_ctrls_unregister(&module, NULL) unregisters all of the actions
	for the given module.  Previously, this would return EINVAL.

2010-08-13  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c, modules/mod_xfer.c: Avoid spurious
	warnings like:   error adding 'mod_xfer.file-modified' note: File exists by ensuring that that note is not in the table before adding it.

2010-08-11  castaglia <castaglia>

	* include/timers.h, src/timers.c, tests/api/timers.c: Enhance the
	semantics of pr_timer_remove() such that it can be used to remove
	all timers registered for a module by providing a timerno argument
	that is less than zero.

2010-08-10  castaglia <castaglia>

	* RELEASE_NOTES: Updated release notes.

2010-08-10  castaglia <castaglia>

	* doc/contrib/ftpmail.html: Update the ftpmail doc with mention of
	the new --auth command-line option.

2010-08-10  castaglia <castaglia>

	* NEWS, contrib/ftpmail: Bug#3495 - Support SMTP authentication in
	the ftpmail Perl script.

2010-08-10  castaglia <castaglia>

	* doc/modules/mod_lang.html: Start on a FAQ section for the mod_lang
	docs.

2010-08-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Remove development
	cruft.

2010-08-09  castaglia <castaglia>

	* NEWS, src/data.c, tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: 
	Bug#3496 - Sessions don't end when the control connection is closed
	during a data transfer.

2010-08-09  castaglia <castaglia>

	* contrib/mod_rewrite.c: Fix harmless misspelling.

2010-08-06  castaglia <castaglia>

	* contrib/mod_sftp/packet.c: Explicitly configure the packet
	sequence number at which to do SSH2 rekeying, rather than relying on
	platform/compiler to Do The Right Thing(tm).

2010-08-05  castaglia <castaglia>

	* NEWS, src/netaddr.c: Bug#3494 - Null pointer dereference for
	IPv6-enabled proftpd when no DefaultServer configured.  Fix the pr_netaddr_is_loopback() function to properly handle
	IPv4-mapped IPv6 addresses.

2010-08-04  castaglia <castaglia>

	* src/dirtree.c,
	tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Additional fix,
	and regression test, for Bug#3491.

2010-08-04  castaglia <castaglia>

	* tests/t/config/limit/login.t,
	tests/t/lib/ProFTPD/Tests/Config/Limit/LOGIN.pm, tests/tests.pl: Add
	my regression/unit tests for Bug#3484 to CVS, so that they don't get
	lost in the shuffle.

2010-08-03  jwm <jwm>

	* contrib/mod_ldap.c: mod_ldap bzr r101   release 2.8.23

2010-08-03  castaglia <castaglia>

	* tests/t/etc/modules/mod_sftp/authorized_rsa_subj_keys: Forgot
	modified RFC4716 formatted key with a Subject header, for the
	regression tests for Bug#3493.

2010-08-03  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Updating SFTPOptions doc to mention new
	MatchKeySubject value, added for Bug#3493.

2010-08-02  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/rfc4716.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3493 - mod_sftp
	should only expect Subject key header to match if explicitly
	configured.

2010-08-01  castaglia <castaglia>

	* NEWS, src/data.c, tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm: 
	Bug#3492 - NULL pointer dereference during data transfer due to
	RNFR/RNTO.

2010-07-29  castaglia <castaglia>

	* NEWS, src/dirtree.c,
	tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Bug#3491 -
	Directory pattern not matching as expected.

2010-07-27  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: More feature
	tests for mod_wrap2, based on questions from the online forums.

2010-07-27  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#3482 - ProFTPD corrupts utmpx log
	files on FreeBSD 9.0/HEAD.

2010-07-23  castaglia <castaglia>

	* NEWS: Typo.

2010-07-21  castaglia <castaglia>

	* contrib/mod_sftp/interop.c: Quell compiler warning about possibly
	using an uninitialized value.

2010-07-20  castaglia <castaglia>

	* NEWS, modules/mod_ls.c, src/data.c,
	tests/t/lib/ProFTPD/Tests/Commands/PASV.pm: Bug#3487 - Null pointer
	dereference with EPRT/EPSV/PASV/PORT command during data transfer.

2010-07-20  castaglia <castaglia>

	* locale/bg_BG.po, locale/en_US.po, locale/fr_FR.po,
	locale/it_IT.po, locale/ja_JP.po, locale/ko_KR.po,
	locale/proftpd.pot, locale/ru_RU.po, locale/zh_CN.po,
	locale/zh_TW.po: Fixing 'data tranfer' -> 'data transfer' typo in
	the localized files.

2010-07-20  castaglia <castaglia>

	* NEWS: Typo.

2010-07-20  castaglia <castaglia>

	* src/data.c: Fix typo.

2010-07-16  castaglia <castaglia>

	* NEWS, src/main.c: Bug#3485 - Disabling IPv6 via -4 or --ipv4
	command-line options does not work.

2010-07-15  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3483 -
	NULL pointer dereference handlig SITE command in mod_quotatab.

2010-07-15  castaglia <castaglia>

	* src/netacl.c: Correct the name used in a trace message: if we're
	comparing DNS names, then log the DNS name (rather than the IP
	address).

2010-07-13  castaglia <castaglia>

	* doc/contrib/mod_ctrls_admin.html: Document the just-added 'ftpdctl
	debug level' feature.

2010-07-13  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: Make it possible to use 'ftpdctl debug
	level' to query the currently set DebugLevel of the running daemon.

2010-07-08  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3481 - Problem
	with SFTP directory listings.

2010-07-05  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression
	tests for mod_sftp's scanner/probe checks.

2010-07-05  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Document the new OldProtocolCompat
	SFTPOption for Bug#3480.

2010-07-05  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/interop.c, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/mod_sftp.h.in: Bug#3480 - mod_sftp does not
	interoperate with old ssh.com/Tectia clients.

2010-07-03  castaglia <castaglia>

	* include/proftpd.h: Try to avoid possible symbol collisions with
	the enclosing scope when using the PR_DEVEL_CLOCK macro by using
	less common (but still legible) variable names in the macro.

2010-07-03  castaglia <castaglia>

	* include/proftpd.h: Avoid datatype overflows by using the various
	timer macros, particularly timersub().  Tools which want to compare
	numbers can do the conversion of secs to usecs themselves.

2010-07-03  castaglia <castaglia>

	* include/proftpd.h, src/main.c, src/scoreboard.c: Start sprinkling
	the new PR_DEVEL_CLOCK macro throughout the code.  Right now, I'm
	analysing connection times, and what places in the connection
	acception code path take the most time.  Partly this stems from
	investigations into solutions/approaches for Bug#3208, although the
	numbers are leading me to read papers of select(2) performance, and
	thinking about using alternative notification mechanisms e.g.
	poll(2) or libevent.

2010-07-03  castaglia <castaglia>

	* configure: Updated configure.

2010-07-03  castaglia <castaglia>

	* configure.in, include/proftpd.h: Adding a macro that's useful for
	clocking a function call, in microseconds.  I'm using it quite a bit
	for load/performance tests.  To use the macro, use
	--enable-devel=timing.

2010-07-03  castaglia <castaglia>

	* modules/mod_core.c, src/main.c: Fix the errno reported for
	setrlimit(2) errors.  Transparently handle better the case where
	RLimitOpenFiles is used with only a single numeric parameter.

2010-07-03  castaglia <castaglia>

	* doc/contrib/mod_exec.html: Mention the newly added %A variable in
	the mod_exec docs.

2010-07-03  castaglia <castaglia>

	* NEWS, contrib/mod_exec.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Bug#3479 - Support
	anonymous username variable in mod_exec.

2010-06-30  castaglia <castaglia>

	* tests/t/config/authorder.t,
	tests/t/lib/ProFTPD/Tests/Config/AuthOrder.pm, tests/tests.pl: Add
	some regression tests for the AuthOrder directive.

2010-06-30  castaglia <castaglia>

	* src/auth.c: Set the module pointer for authoritative responses;
	previously this would only be set for non-authoritative responses.
	Add trace logging of when the response from an auth module is
	treated as authoritative, for faster debugging.

2010-06-30  castaglia <castaglia>

	* modules/mod_core.c: Stylistic nits; no functional change.

2010-06-29  castaglia <castaglia>

	* tests/t/etc/modules/mod_tls/ca-cert.pem,
	tests/t/etc/modules/mod_tls/client-cert.pem,
	tests/t/etc/modules/mod_tls/server-cert.pem: Adding new SSL certs
	for the mod_tls regression tests; these certs should be good for 10
	years.

2010-06-29  castaglia <castaglia>

	* tests/t/etc/modules/mod_tls/NOTES: Reminder notes to myself for
	generating the CRL and PKCS12 files.

2010-06-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Update the mod_tls
	regression tests to deal with changes in a newer Net::FTPSSL module.

2010-06-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifversion.pm,
	tests/t/modules/mod_ifversion.t, tests/tests.pl: Adding regression
	tests for mod_ifversion.

2010-06-29  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, doc/contrib/index.html: Mention the new
	mod_ifversion module.

2010-06-29  castaglia <castaglia>

	* contrib/mod_ifversion.c, doc/contrib/mod_ifversion.html: Adding
	mod_ifversion to the contrib/ modules area.

2010-06-28  castaglia <castaglia>

	* RELEASE_NOTES: Minor formatting tweaks.

2010-06-28  castaglia <castaglia>

	* RELEASE_NOTES: Start fleshing out the RELEASE_NOTES and preparing
	for a release.

2010-06-28  jwm <jwm>

	* contrib/mod_ldap.c: revert r1.83 in favor of mod_ldap bzr r98 we shouldn't let user lookup failure prevent us from looking up any
	supplemental groups. this is primarily so mod_ldap can be used to
	look up group membership even when the user wasn't authenticated
	with mod_ldap.  this feels like a corner use-case, but i don't see a compelling
	reason we shouldn't support it since the change to prevent the
	segfault in this case is straightforward.

2010-06-28  jwm <jwm>

	* contrib/mod_ldap.c: revert r1.82 in favor of mod_ldap bzr r97   decline requests for ssh pubkeys if we're not configured to do
	  auth.    since pubkeys are always looked up on user entries under the auth
	  base dn, i don't see a reason to allow a NULL filter template,
	either.

2010-06-25  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
	tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Adding regression
	tests showing that logging to a full filesystem doesn't cause undue
	problems for proftpd's handling of a session.

2010-06-25  castaglia <castaglia>

	* tests/Makefile.in: Make sure that we actually run the API
	testsuite after compiling it.  Just compiling it, and not running
	it, is not so useful.

2010-06-25  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/REST.pm: Accidentally
	overloaded a function name.  Oops.

2010-06-24  castaglia <castaglia>

	* contrib/mod_sftp_sql.c: Make the log messages a little clearer
	when mod_sftp_sql can't base64-decode the key data.  Also, try
	handling the retrieved key data as being in the RFC4716 format
	first, then fallback to trying it as raw key data.  It is far more
	likely that the data will be in the RFC4716 format.

2010-06-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Add regression
	test which shows that even RFC4716 keys with headers that use the
	line continuation character are handled properly by mod_sftp_sql.

2010-06-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/AnonRejectPasswords.pm: Remove
	yet more debugging cruft.

2010-06-23  castaglia <castaglia>

	* tests/t/config/anonrejectpasswords.t,
	tests/t/lib/ProFTPD/Tests/Config/AnonRejectPasswords.pm,
	tests/tests.pl: Add regression test for the AnonRejectPasswords
	directive.

2010-06-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/AnonRequirePassword.pm: Remove
	debugging cruft.

2010-06-23  castaglia <castaglia>

	* tests/t/config/anonrequirepassword.t,
	tests/t/lib/ProFTPD/Tests/Config/AnonRequirePassword.pm,
	tests/tests.pl: Add regression tests for the AnonRequirePassword
	directive.

2010-06-23  castaglia <castaglia>

	* NEWS, contrib/mod_sql_sqlite.c: Bug#3474 - Using SQLite database
	and SQLLog directive can lead to problems under load.  To handle contention/synchronization among multiple processes
	attempting to update the same table, we need to handle SQLITE_BUSY
	for BEGIN, query, COMMIT statements separately.  And to make sure
	that even SELECTs are enclosed with explicit BEGIN/COMMIT calls.

2010-06-23  castaglia <castaglia>

	* doc/modules/mod_auth_unix.html: Start on a doc just for
	mod_auth_unix; we needed a place to document the AuthUnixOptions
	values.

2010-06-22  castaglia <castaglia>

	* configure: Updated configure.

2010-06-22  castaglia <castaglia>

	* modules/mod_auth_unix.c: Forgot to update copyright dates on the
	modified file.

2010-06-22  castaglia <castaglia>

	* NEWS, modules/mod_auth_unix.c: Bug#3475 - Add new 'noGetgrouplist'
	AuthUnixOption to work around buggy libc code.

2010-06-22  castaglia <castaglia>

	* configure.in: Back out the added --disable-getgrouplist configure
	option; Bug#3475 is going to be addressed a different way, with a
	runtime configuration directive.

2010-06-22  castaglia <castaglia>

	* src/auth.c: Make sure that if pr_auth_cache_set() is used to
	enable/disable auth caching, the configured setting is actually
	honored.  Previously this function only enabled/disabled caching
	_before_ any cache tables had been allocated.

2010-06-22  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#3476 - LIST/NLST of path starting with
	"-" fails.

2010-06-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Adding reproduction
	recipes/regression tests for Bug#3476.

2010-06-22  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Add FAQ about "line too long"
	authorized key errors.

2010-06-22  castaglia <castaglia>

	* contrib/mod_wrap2_sql.c: Additional fixes for Bug#3471.

2010-06-22  castaglia <castaglia>

	* configure: Updated configure.

2010-06-22  castaglia <castaglia>

	* configure.in: Add a --disable-getgrouplist configure option, to
	disable use of the getgrouplist(3) function, hopefully working
	around Bug#3475.

2010-06-21  castaglia <castaglia>

	* src/main.c: If the RLimitCPU directive (or other CPU resource
	limit) causes the kernel to send SIGXCPU to us, and proftpd has been
	compiled with --enable-devel=stacktrace, then log the stacktrace of
	what the CPU-exceeding process was doing at the time of the signal.
	This can help to track down badly behaving loops in the code.

2010-06-21  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Add SFTP FAQ about using Tectia/ssh.com
	host keys with mod_sftp.

2010-06-21  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Make it clearer in the mod_sftp docs
	that the modules does not support shell access.

2010-06-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm: Add
	reproduction recipe for Bug#3398 to the suite.  The recipe passes
	using the current code, but it's good to have the recipe here for
	regressions.

2010-06-21  castaglia <castaglia>

	* tests/t/etc/modules/mod_sftp/authorized_rsa16384_keys,
	tests/t/etc/modules/mod_sftp/test_rsa16384_key,
	tests/t/etc/modules/mod_sftp/test_rsa16384_key.pub,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add SFTP publickey
	authentication test using 16384-bit RSA key.

2010-06-20  castaglia <castaglia>

	* contrib/mod_sql_sqlite.c: Fix the "busy loop" mod_sql_sqlite
	logging; we were logging the wrong variable for the error message.
	Oops.

2010-06-20  castaglia <castaglia>

	* contrib/mod_sql_sqlite.c: Add logging of when mod_sql_sqlite
	retries a query due to SQLITE_BUSY.  Hopefully this will help shed
	light on why some users are seeing nested transaction errors.

2010-06-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Add
	regression test for Bug#3283.

2010-06-20  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c, modules/mod_log.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3395 -
	Provide LogFormat variable %d for non-directory commands.

2010-06-19  castaglia <castaglia>

	* doc/howto/ListOptions.html: Include the new options (-c, -u) from
	Bug#3396 in the ListOptions howto.

2010-06-19  castaglia <castaglia>

	* NEWS, modules/mod_ls.c,
	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Bug#3396 - Support -c
	and -u LIST options.

2010-06-19  castaglia <castaglia>

	* contrib/mod_ldap.c: Make the pr_ldap_search() function have file
	scope, just like the other pr_ldap_*() functions.  This quells a
	compiler warning seen when the --enable-devel configure option is
	used.

2010-06-19  castaglia <castaglia>

	* NEWS, contrib/mod_ldap.c: Bug#3424 - Bad LDAP lookup can cause
	mod_ldap segfault under some conditions.  Handle a NULL result from pr_ldap_getpwnam() in the
	handle_ldap_getgroups() function.

2010-06-19  castaglia <castaglia>

	* contrib/mod_ldap.c: Quell compiler warning about an uninitialized
	pointer.

2010-06-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Add
	regression test (and correct configuration) for Bug#3166.

2010-06-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
	hostbased SSH2 authentication.

2010-06-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add mod_sftp
	regression tests for Bug#3472.

2010-06-17  castaglia <castaglia>

	* tests/t/etc/modules/mod_sftp/authorized_dsa2048_keys,
	tests/t/etc/modules/mod_sftp/authorized_dsa4096_keys,
	tests/t/etc/modules/mod_sftp/authorized_dsa8192_keys,
	tests/t/etc/modules/mod_sftp/authorized_rsa4096_keys,
	tests/t/etc/modules/mod_sftp/authorized_rsa8192_keys,
	tests/t/etc/modules/mod_sftp/test_dsa2048_key,
	tests/t/etc/modules/mod_sftp/test_dsa2048_key.pub,
	tests/t/etc/modules/mod_sftp/test_dsa4096_key,
	tests/t/etc/modules/mod_sftp/test_dsa4096_key.pub,
	tests/t/etc/modules/mod_sftp/test_dsa8192_key,
	tests/t/etc/modules/mod_sftp/test_dsa8192_key.pub,
	tests/t/etc/modules/mod_sftp/test_rsa4096_key,
	tests/t/etc/modules/mod_sftp/test_rsa4096_key.pub,
	tests/t/etc/modules/mod_sftp/test_rsa8192_key,
	tests/t/etc/modules/mod_sftp/test_rsa8192_key.pub: Adding more RSA
	and DSA keys of increasing sizes, for the mod_sftp regression tests.

2010-06-17  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/auth-publickey.c: Bug#3472 - mod_sftp
	publickey authentication fails for large keys.

2010-06-17  castaglia <castaglia>

	* NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#3471 - Null values in
	allow/deny rules causes mod_wrap2 to segfault.

2010-06-15  castaglia <castaglia>

	* NEWS, contrib/mod_ifsession.c: Bug#3467 - mod_ifsession does not
	merge <Directory> blocks properly.

2010-06-15  castaglia <castaglia>

	* NEWS, src/support.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#3469 -
	ExtendedLog's %f variable not properly expanded for DELE if path
	begins with tilde ('~').

2010-06-15  castaglia <castaglia>

	* contrib/mod_sftp/rfc4716.c: Use pr_fs_interpolate() rather than
	dir_interpolate(); the former is more verbose about its results, and
	the latter is too easy to misuse (i.e. too easy to not check for a
	NULL return value).

2010-06-15  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3470 - Deferred
	resolution <Directory> paths not handled properly by mod_sftp.

2010-06-14  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3465 - SIGSEGV at LIST after CCC.

2010-06-14  castaglia <castaglia>

	* src/main.c: Do not call table_handle_signal(FALSE) when handling
	SIGSEGV/SIGBUS in a stacktrace-enabled build; doing so will prevent
	proftpd from properly logging the stacktrace.

2010-06-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: More
	regression tests for Bug#3467.

2010-06-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Add regression
	test for Bug#3467.

2010-06-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add regression test
	for Bug#3465.

2010-06-11  castaglia <castaglia>

	* NEWS, contrib/mod_ifsession.c: Bug#3466 - mod_ifsession does not
	check for properly closed <IfUser> contexts.

2010-06-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Add an
	<IfGroup> test.

2010-05-27  castaglia <castaglia>

	* NEWS, contrib/ftpasswd: Bug#3463 - ftpasswd script's
	--delete-group option does not work.

2010-05-27  castaglia <castaglia>

	* NEWS, contrib/ftpasswd: Bug#3462 - ftpasswd script's --delete-user
	option does not work.

2010-05-25  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Update mod_sftp
	.ftpaccess unit test to check for regressions of Bug#3460.

2010-05-25  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3460 - REALPATH SFTP request can
	cause improperly cached directory configuration.

2010-05-25  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: I'm not sure why the path stashed for an
	OPENDIR request was being deliberately set to the empty string;
	remove it.  If it's an issue, it'll come up again.

2010-05-25  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm: Add more
	DefaultChdir tests.

2010-05-25  castaglia <castaglia>

	* tests/t/config/defaultchdir.t,
	tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm, tests/tests.pl: 
	Start on regression tests for the DefaultChdir config directive.

2010-05-25  castaglia <castaglia>

	* NEWS, src/auth.c: Bug#3431 - Ensure that timezone info files are
	opened prior to chroot.

2010-05-25  castaglia <castaglia>

	* contrib/mod_tls.c: Switch from using tls_log() to pr_log_debug()
	in the tls_init_ctx() function; the TLSLog file hasn't been opened
	when that function is called, which means that the log messages are
	effectively being lost.

2010-05-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test
	involving .ftpaccess files for mod_sftp; I'm trying to reproduce an
	issue that a mod_sftp user is having with this test, but not having
	much luck at the moment.  Still, it's a useful test to have in the
	repertoire.

2010-05-24  castaglia <castaglia>

	* contrib/mod_sftp/msg.c: In order to help track down cases where
	the allocated buffer sizes are not large enough to handle some of
	the messages that mod_sftp will handle, add logging of stack traces
	(assuming the platform has the execinfo.h header and the
	--enable-devel configure option has been used, to prevent stripping
	of the symbols from the installed executable).

2010-05-24  castaglia <castaglia>

	* NEWS, contrib/mod_radius.c: Bug#3459 - mod_radius segfaults during
	incorrect login due to stale data.

2010-05-24  castaglia <castaglia>

	* contrib/mod_radius.c: Quell compiler warnings about unused
	strtoul(3) return values.

2010-05-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Add unit test
	for SQL lookups of SSH2 keys using a query that uses the %u
	variable.

2010-05-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add a couple more
	SQL-related configuration tests to the mod_sftp suite.

2010-05-18  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/crypto.c: Bug#3458 - mod_sftp incorrectly
	performs OpenSSL cleanup.

2010-05-18  castaglia <castaglia>

	* tests/t/config/maxclients.t,
	tests/t/lib/ProFTPD/Tests/Config/MaxClients.pm, tests/tests.pl: 
	Start adding regression/feature tests for the MaxClients directive.

2010-05-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression
	tests for uploading/downloading empty dirs via SCP.

2010-05-06  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/scp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3456 - Problem
	attempting to recursively download a directory via SCP.

2010-05-06  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: Minor nit about the proper plurality
	in a trace message.

2010-05-05  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c,
	modules/mod_log.c, modules/mod_xfer.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3457 - Support
	LogFormat variable for indicating whether a file is being modified.

2010-05-05  castaglia <castaglia>

	* include/support.h, src/support.c: Missed some spots in the
	exists() functions where the path string should also be constified.

2010-05-05  castaglia <castaglia>

	* include/support.h, src/support.c: Constify the arguments the
	*exists() functions.

2010-05-04  castaglia <castaglia>

	* NEWS, locale/Makefile.in: Bug#3454 - msgfmt(1) options used for
	generating NLS files are not compatible with Solaris' msgfmt.

2010-05-02  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make sure that
	mod_sftp honors AllowStoreRestart and <Limit APPE> configurations
	properly, when the O_APPEND flag is used in an OPEN request.

2010-05-02  castaglia <castaglia>

	* modules/mod_xfer.c: Log, at debug level 8, if an APPE command is
	blocked because of a <Limit> configuration.

2010-05-01  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Make a note about better reporting of
	incomplete uploads, where possible.

2010-04-29  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Undo the 'vendor-id' extension-related
	changes I made earlier today; it was correct already.  I confused
	myself as to how the 'vendor-id' extension works.  This time, I'm
	leaving comments to my future self about why it's correct the way it
	is.

2010-04-29  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Minor cleanup of trace logging regarding
	the 'vendor-id' extension.  Guard against a client sending a
	'vendor-id' EXTENDED request, even if we didn't advertise support
	for that extension.

2010-04-29  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3452 - mod_sftp does not
	advertise its supported SFTP extensions for protocol version 5.  I read through the WinSCP source code to find out how it parsed the
	badly-defined extensions field of the "supported" extension, in the
	protocol version 5 draft.  The "supported2" extension, for protocol
	version 6, is at least nice enough to have a separate field of the
	extensions count, where the older "supported" does not.  Whee.

2010-04-28  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3451 - WinSCP can't upload files
	using protocol version 5 with mod_sftp.

2010-04-28  castaglia <castaglia>

	* src/main.c: Stylistic changes; no functional changes.

2010-04-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression
	tests for the various O_* flags that can be sent using SFTP protocol
	version 3 in OPEN requests.  Caught one bug a priori.

2010-04-28  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3450 - mod_sftp does not
	properly handle the O_APPEND flag in a SFTP OPEN request.

2010-04-27  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Add trace logging, at trace level 15 and
	higher, of the OPEN flags as strings.  Hopefully this can be used to
	figure out why WinSCP, when requesting SFTP protocol version 5,
	doesn't like how mod_sftp handles an OPEN request.

2010-04-27  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression test
	for Bug#3425.

2010-04-27  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Correct a comment.

2010-04-27  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3449 - mod_sftp
	does not properly handle the O_TRUNC flag in a SFTP OPEN request.

2010-04-27  castaglia <castaglia>

	* NEWS: Bug#3448 - Ensure that STAT/LSTAT/FSTAT SFTP requests do not
	use cached/stale data.

2010-04-27  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Remove debugging
	cruft.

2010-04-27  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression test
	for Bug#3447.  I wasn't able to actually reproduce the issue with
	this unit test, but having the code around is useful.

2010-04-26  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/scp.c: Bug#3447 - mod_sftp can become
	confused during large recursive SCP uploads.

2010-04-25  castaglia <castaglia>

	* contrib/mod_shaper.c: Add trace logging, using the "lock" trace
	channel, of mod_shaper's locking of its ShaperTable.

2010-04-25  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Leave a note to myself to investigate
	whether <Limit MKD> should apply to recursive directory uploads via
	SCP.  Probably yes.

2010-04-25  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Remove unused strlen(3) call.

2010-04-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm: Add unit test for
	CreateHome's skel parameter.

2010-04-23  castaglia <castaglia>

	* src/dirtree.c: Use updated patch for Bug#3446.

2010-04-23  castaglia <castaglia>

	* NEWS, src/dirtree.c: Bug#3446 - .ftpaccess ignored in some cases.  The build_dyn_config() function, if given a non-directory path, was
	not properly determining the .ftpaccess file to check for, using
	that path.

2010-04-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Merging.pm: Add
	regression tests for Bug#3446.  The fix for this bug has not yet
	been committed to CVS, so these tests should fail...but I wanted to
	add them, so that I could work on more flows that use the same
	configuration as these tests from home.

2010-04-22  castaglia <castaglia>

	* doc/howto/Limit.html: Add an example of blocking renames.

2010-04-21  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Typo.

2010-04-21  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Add a "Known Client Issues" section to
	the mod_sftp docs.

2010-04-20  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: Fix bug in the fix for Bug#3444 that
	was committed yesterday.

2010-04-20  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#3443 - Deprecate the DisplayGoAway
	directive.

2010-04-20  castaglia <castaglia>

	* NEWS: Make sure the NEWS file tracks the correct bug title for
	Bug#3445.

2010-04-20  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: While I'll keep the
	'pessimisticNewkeys' SFTPClientMatch parameter supported in the
	code, I think I'll leave it out of the docs.  I really don't expect
	there to be many SSH clients that need this config option; at some
	point, I should be able to remove support for it from mod_sftp.

2010-04-20  castaglia <castaglia>

	* contrib/mod_sftp/kex.c: Update the copyright date for this file.

2010-04-20  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/interop.c, contrib/mod_sftp/interop.h,
	contrib/mod_sftp/kex.c, contrib/mod_sftp/mod_sftp.c: Bug#3445 -
	Support SFTPClientMatch option to enable pessimistic NEWKEYS
	behavior.  This changes the default behavior, such that mod_sftp always sends
	its NEWKEYS message to the client before reading the client's
	NEWKEYS message; this matches the OpenSSH behavior (and is what many
	clients want).  The SFTPClientMatch option added previously for this
	bug was changed to 'pessimisticNewkeys', to be used if there are any
	clients which expect the old mod_sftp behavior.

2010-04-20  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Make sure the statcache is cleared when
	handling STAT/FSTAT/LSTAT requests.

2010-04-19  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/interop.c, contrib/mod_sftp/interop.h,
	contrib/mod_sftp/kex.c, contrib/mod_sftp/mod_sftp.c,
	doc/contrib/mod_sftp.html: Bug#3445 - Need SFTPClientMatch option to
	enable optimistic NEWKEYS behavior.

2010-04-19  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.h.in: Update copyright date in the
	header, since we've modified the file this year.

2010-04-19  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/mod_sftp.h.in, doc/contrib/mod_sftp.html: Bug#3444
	- Support SFTPOptions parameter to disable optimistic KEXINIT
	behavior.

2010-04-19  castaglia <castaglia>

	* doc/howto/Logging.html: Add Logging FAQ about logging xferlog data
	to syslog.

2010-04-18  castaglia <castaglia>

	* contrib/mod_sftp/utf8.c, src/encode.c: More notes to myself
	regarding possible encoding failures and their causes.

2010-04-17  castaglia <castaglia>

	* tests/t/config/serveradmin.t,
	tests/t/lib/ProFTPD/Tests/Config/ServerAdmin.pm, tests/tests.pl: Add
	regression tests for the ServerAdmin directive.

2010-04-17  castaglia <castaglia>

	* doc/howto/DisplayFiles.html: As pointed out in Bug#3443, the
	DisplayGoAway directive hasn't worked for quite some time.  So
	remove it from the DisplayFiles howto.

2010-04-17  castaglia <castaglia>

	* modules/mod_core.c,
	tests/t/lib/ProFTPD/Tests/Config/DisplayChdir.pm: When handling a
	"DisplayChdir <path> true" configuration, a time_t was being stored
	in the memory space for a void pointer.  This is not a safe
	operation.  Instead, allocate proper space for the time_t value and
	use it.  Add a regression test for this DisplayChdir configuration, providing
	that the time_t storage change still works properly.

2010-04-17  castaglia <castaglia>

	* tests/t/config/displaychdir.t,
	tests/t/lib/ProFTPD/Tests/Config/DisplayChdir.pm,
	tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm, tests/tests.pl: 
	Added regression tests for DisplayChdir, and updated DisplayLogin
	tests, both as part of Bug#3423.

2010-04-17  castaglia <castaglia>

	* modules/mod_core.c, src/display.c: Additional fixes for Bug#3423,
	handling single line DisplayLogin and DisplayChdir files, and
	multiline DisplayChdir files.

2010-04-17  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3440 -
	ScanOnLogin QuotaOption not honored properly if tally record has to
	be created.

2010-04-16  castaglia <castaglia>

	* contrib/mod_radius.c, contrib/mod_rewrite.c,
	contrib/mod_sftp/scp.c, contrib/mod_sql.c, modules/mod_log.c,
	modules/mod_ls.c, src/dirtree.c, src/display.c, src/event.c,
	src/throttle.c: Sprinkle more calls to pr_signals_handle() in
	potentially long-running loops.

2010-04-16  castaglia <castaglia>

	* modules/mod_ls.c: Coding style nits; no functional change.

2010-04-16  castaglia <castaglia>

	* doc/howto/Logging.html: Mention the configure option for Bug#3436
	in the Logging howto's section on FIFOs.

2010-04-14  castaglia <castaglia>

	* NEWS, modules/mod_core.c, src/dirtree.c,
	tests/t/config/limit/opts.t,
	tests/t/lib/ProFTPD/Tests/Config/Limit/OPTS.pm, tests/tests.pl: 
	Bug#3438 - <Limit> configuration cannot be applied to OPTS command.

2010-04-14  castaglia <castaglia>

	* NEWS, src/encode.c: Bug#3439 - Encoding fails if an NLS-enabled
	proftpd starts in a UTF8 locale.

2010-04-14  castaglia <castaglia>

	* src/main.c: Stylistic nit.

2010-04-14  castaglia <castaglia>

	* contrib/mod_tls.c: Make sure that the SSL/TLS renegotiation timer
	gets a dynamic timer ID.  This isn't causing any problems, per se,
	but having a timer ID of zero when it is not intended can lead to
	confusion and/or issues later.

2010-04-14  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Silly typos in comment; no functional
	change.

2010-04-13  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3437 -
	UseImplicitSSL TLSOption causes PBSZ/PROT commands to fail.

2010-04-13  castaglia <castaglia>

	* configure: Updated configure for Bug#3436.

2010-04-13  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, src/log.c: Bug#3436 - Support
	build-time option to disable use of nonblocking open of log files.

2010-04-13  castaglia <castaglia>

	* contrib/mod_sftp/utf8.c, src/encode.c: Remove unused variables,
	and quell compiler warnings about "incompatible pointer types" on
	FreeBSD.

2010-04-13  castaglia <castaglia>

	* contrib/mod_sftp/utf8.c, src/encode.c: Notes to myself to
	double-check (and then rely on) the loop condition for the iconv(3)
	loop.

2010-04-13  castaglia <castaglia>

	* contrib/mod_sftp/utf8.c, src/encode.c: Additional part of fix for
	Bug#3435.

2010-04-12  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/utf8.c, src/encode.c: Bug#3435 -
	Encoding/decoding conversion can cause CPU spike.

2010-04-12  castaglia <castaglia>

	* contrib/mod_sftp/utf8.c, src/encode.c: Make sure we reset any
	state contained in iconv_t before calling iconv(3).

2010-04-12  castaglia <castaglia>

	* contrib/mod_sftp/display.c: An SFTPDisplayBanner file can only be
	displayed at the start of session, prior to the transfer of any
	data.  So there's no need to support Display variables such as %o,
	%K, etc; their values will always be zero.

2010-04-12  castaglia <castaglia>

	* src/trace.c: Prevent a recurrence of Bug#3434 by treating a trace
	message level of zero as an invalid parameter.

2010-04-12  castaglia <castaglia>

	* src/fsio.c: Include the number of bytes being read/written in the
	trace messages for the read()/write() callbacks.

2010-04-12  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/Makefile.in, contrib/mod_sftp/auth.c,
	contrib/mod_sftp/display.c, contrib/mod_sftp/display.h: Bug#3433 -
	SFTPDisplayBanner does not handle variables in configured file.  This isn't the best implementation, since the Display code from the
	core proftpd engine is basically copied here.  It would be better if
	the core code and this code shared the same code path for looking up
	and interpolating variables; that's work for later.

2010-04-12  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c, src/fsio.c: Bug#3434 - TraceLog contains
	messages even with "Trace DEFAULT:0" configured.

2010-04-12  castaglia <castaglia>

	* NEWS, contrib/mod_exec.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Bug#3432 -
	ExecBeforeCommand does not interpolate the %F/%f variables properly.

2010-04-12  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/scp.c: Bug#3427 - mod_sftp does not handle
	recursive SCP uploads properly.

2010-04-12  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Add mod_sftp FAQ about
	UserOwner/GroupOwner, and the need to use the RootRevoke directive.

2010-04-12  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/Makefile.in, contrib/mod_sftp/auth.c,
	contrib/mod_sftp/fxp.c, contrib/mod_sftp/misc.c,
	contrib/mod_sftp/misc.h, contrib/mod_sftp/scp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3429 - mod_sftp
	should honor the UserOwner and GroupOwner directives.

2010-04-11  castaglia <castaglia>

	* modules/mod_xfer.c: Minor style nits in stor_chown(); no
	functional changes.

2010-04-11  castaglia <castaglia>

	* doc/howto/Tracing.html: Add a FAQ/example to the Tracing howto
	describing how to use Trace in mod_ifsession sections.

2010-04-11  castaglia <castaglia>

	* NEWS, modules/mod_core.c, tests/t/config/trace.t,
	tests/t/lib/ProFTPD/Tests/Config/Trace.pm, tests/tests.pl: Bug#3428
	- Honor the Trace directive in mod_ifsession sections.  Unit/regression tests for this feature have also been added to the
	testsuite.

2010-04-09  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/scp.c: Bug#3425 - Improperly constructed
	destination paths for SCP uploads.

2010-04-09  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/auth.c: Bug#3426 - mod_sftp does not log to
	TransferLog by default.

2010-04-09  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Cache errno in a few more places, so that
	the proper error is reported.

2010-04-09  castaglia <castaglia>

	* src/main.c: Automatically log stacktraces for a SIGBUS signal,
	just as we do for a SIGSEGV signal, if --enable-devel=stacktrace has
	been used to configure proftpd.

2010-04-08  castaglia <castaglia>

	* src/mkhome.c: Stylistic cleanup/changes; no functional changes.

2010-04-08  castaglia <castaglia>

	* doc/howto/CreateHome.html: Typo.

2010-04-07  castaglia <castaglia>

	* modules/mod_core.c: With the fix for Bug#3423, the adding a
	trailing blank line to the DisplayQuit message is no longer
	necessary.

2010-04-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm: Update the
	DisplayLogin regression test to match the current behavior, as per
	changes for Bug#3423.

2010-04-07  castaglia <castaglia>

	* NEWS, include/display.h, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_xfer.c, src/display.c, src/main.c: Bug#3423 - Last line
	of multiline DisplayLogin file improperly handled.

2010-04-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_unique_id.pm: And update the
	last few places in the testsuite where we should be using a timeout
	of 30 secs when reading from a data connection.

2010-04-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm,
	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Merging.pm,
	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
	tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Use a timeout of
	30 secs when reading from data connections, to avoid spurious
	testsuite errors.

2010-04-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm,
	tests/t/lib/ProFTPD/Tests/Config/DisplayFileTransfer.pm,
	tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm,
	tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm,
	tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm,
	tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm,
	tests/t/lib/ProFTPD/Tests/Config/HideUser.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutNoTransfer.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutStalled.pm,
	tests/t/lib/ProFTPD/Tests/Config/UseGlobbing.pm: Use a timeout of 30
	secs when reading from a data connection; this avoids spurious
	testsuite errors.

2010-04-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/REST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: When reading from a data
	connection, use a timeout of 30 secs; this helps prevent/avoid
	spurious testsuite errors.

2010-04-07  castaglia <castaglia>

	* src/main.c: Add trace logging of when the response chains are
	flushed during the command dispatch cycle.

2010-04-05  castaglia <castaglia>

	* utils/ftpcount.c: Fix a pedantic memory leak spotted by cppcheck.
	Also fixes the code style in a few places.

2010-04-05  castaglia <castaglia>

	* contrib/mod_sftp/mac.c: Scrub the key memory area before freeing
	it.

2010-04-05  castaglia <castaglia>

	* contrib/mod_sftp/mac.c: Running cppcheck found a memory leak where
	we aren't freeing up malloc()'d memory on MAC errors.

2010-04-05  castaglia <castaglia>

	* contrib/mod_sftp_pam.c: Add note about whether mod_sftp_pam should
	pay closer attention to the list of modules configured via AuthOrder
	or not.

2010-04-04  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.h.in: Add more explanation about the
	assumptions involved in registering an 'exec' channel handler.

2010-04-04  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: Add more trace logging around the
	searching and invoking of registered 'exec' channel handlers.

2010-04-03  castaglia <castaglia>

	* src/main.c: Make sure that premature SIGALRMs don't kill us; we
	want to ignore SIGALRM unless we've registered a timer.

2010-04-02  castaglia <castaglia>

	* doc/contrib/mod_sftp_pam.html: Update the mod_sftp_pam doc to
	mention that mod_sftp_pam is enabled by default, not disabled.

2010-04-02  castaglia <castaglia>

	* modules/mod_lang.c: Log the reason why the LANG command is denied
	after a client has authenticated.

2010-04-01  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3419 - SSL_shutdown() errors with
	openssl-0.9.8m.

2010-03-31  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Update the mod_sftp doc, removing
	DirFakeUser/DirFakeGroup from the list of unsupported features.

2010-03-31  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3413 - Support DirFakeUser,
	DirFakeGroup for SFTP connections.

2010-03-31  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/auth.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3421 -
	RewriteHome does not work properly for SFTP connections.  The mod_sftp authentication code was inadvertently calling
	pr_auth_get_home() twice, albeit indirectly, which would lead to
	incorrectly (or more accurately, "unexpectedly") rewritten home
	directories when the RewriteHome feature is used.

2010-03-31  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add regression test
	for Bug#3420.

2010-03-30  castaglia <castaglia>

	* modules/mod_log.c: The third argument to pr_table_get() is a
	pointer (i.e. NULL), not a boolean.  In this particular case, since
	we were passing FALSE (i.e. zero, which is effectively the same as
	null), we're OK.  But pedantic compilers might complain about this.

2010-03-30  castaglia <castaglia>

	* NEWS, src/table.c: Bug#3418 - %U sometimes showing up as "(none)"
	in ExtendedLog.  When removing an entry from the linked list "chain" in a table, the
	table code was improperly setting the head of the chain to the
	removed entry's next pointer (e->next) when it shouldn't have been.
	In this case, the removed entry was the last of two entries in the
	list; its removal was causing the head of the chain to be set to
	null.

2010-03-30  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Removing
	extraneous mod_deflate test file; updating tests for new location as
	part of normal testsuite.

2010-03-25  castaglia <castaglia>

	* NEWS, utils/ftpcount.c, utils/ftpscrub.c, utils/ftptop.c,
	utils/ftpwho.c, utils/misc.c, utils/utils.h: Bug#3417 - Unsafe use
	of pointer when scanning config for ScoreboardFile.

2010-03-22  castaglia <castaglia>

	* src/scoreboard.c: Make sure we don't leak an fd when scrubbing the
	scoreboard and we fail to lock the entire scoreboard.

2010-03-19  castaglia <castaglia>

	* include/memcache.h, modules/mod_memcache.c, src/memcache.c: 
	Configure libmemcached to cache DNS lookups, and to always use the
	binary protocol (unless explicitly configured not to).  Make it
	possible to configure replication, and disable the use of the binary
	protocol.

2010-03-19  castaglia <castaglia>

	* doc/howto/DisplayFiles.html: Add a FAQ about Display files whose
	names contain spaces.

2010-03-19  castaglia <castaglia>

	* src/memcache.c: Make sure that memcache support compiles with
	older versions of libmemcached.  Specifically, that it will build
	using libmemcached-0.31, which is the version provided by Debian
	packages.

2010-03-18  castaglia <castaglia>

	* NEWS, contrib/mod_dynmasq.c: Bug#3411 - Support ftpdctl action to
	manually request a mod_dynmasq refresh.

2010-03-17  castaglia <castaglia>

	* NEWS, modules/mod_facts.c,
	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Bug#3318 - MLSD should
	indicate symlinks if ShowSymlinks is enabled.

2010-03-15  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Another mod_sftp FAQ.

2010-03-14  castaglia <castaglia>

	* src/wtmp.c: Forgot to update the copyright date on this file.

2010-03-14  castaglia <castaglia>

	* NEWS, src/wtmp.c: Bug#3409 - Build failure on newer FreeBSD due to
	utmp/utmpx system changes.

2010-03-14  castaglia <castaglia>

	* modules/mod_memcache.c: Use cmd_rec->pool, not cmd_rec->tmp_pool,
	in a configuration handler.  The tmp_pool member isn't populated
	during parsing.

2010-03-14  castaglia <castaglia>

	* modules/mod_memcache.c: Instead of parsing the MemcacheServers
	string for every session, do it only during parsing.  The downside
	to this is that we now need to be sure to free up the memory
	allocated with the structures by libmemcached upon every restart,
	lest we get a restart-bound memory leak.

2010-03-14  castaglia <castaglia>

	* include/memcache.h: Fix some pesky compiler warnings about
	shadowed 'pool' declarations.

2010-03-13  castaglia <castaglia>

	* contrib/mod_tls.c: If SSL_shutdown() returns WANT_READ/WANT_WRITE,
	don't handle it as a fatal error.  It's new behavior in
	OpenSSL-0.9.8m, but won't cause problems when older OpenSSL versions
	are used if we catch and handle these errors as benign.

2010-03-12  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#3412 - Include files not included
	after restart due to permissions.

2010-03-12  castaglia <castaglia>

	* configure: Updated configure.

2010-03-12  castaglia <castaglia>

	* Make.rules.in, config.h.in, configure.in, include/conf.h,
	include/memcache.h, modules/mod_memcache.c, src/main.c,
	src/memcache.c: Initial work on memcache support.  Since this is
	experiement/new code, you must explicitly request it via the
	--enable-memcache configure option.

2010-03-11  castaglia <castaglia>

	* contrib/mod_deflate.c: Missing break statements.

2010-03-10  castaglia <castaglia>

	* contrib/mod_copy.c: Updated mod_copy to reflect the
	xferlog_write() changes.

2010-03-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_copy.pm,
	tests/t/modules/mod_copy.t, tests/tests.pl: Added unit/regression
	tests for mod_copy.

2010-03-10  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_copy.c,
	doc/contrib/mod_copy.html: Added mod_copy to the contrib modules
	area.

2010-03-10  castaglia <castaglia>

	* modules/mod_core.c, src/data.c: Fix some of the fallout from
	Bug#2196: data transfers were failing when the server socket was
	IPv6 and we converted the client from an IPv4-mapped IPv6 address to
	a plain IPv4 address -- this caused discrepancies in the families of
	the sockets opened for data transfers.

2010-03-10  castaglia <castaglia>

	* include/netaddr.h, src/inet.c, src/netaddr.c: The
	pr_netaddr_v4tov6() function was named incorrectly: it should be
	pr_netaddr_v6tov4().  And now it is.

2010-03-10  castaglia <castaglia>

	* NEWS, contrib/mod_radius.c: Bug#3371 - Group limits in <LIMIT
	LOGIN> blocks won't work with RADIUS-supplied groups.

2010-03-10  castaglia <castaglia>

	* NEWS, contrib/mod_radius.c: Bug#3373 - RadiusGroupInfo should not
	require that both names and IDs be VSAs.

2010-03-10  castaglia <castaglia>

	* doc/contrib/mod_ban.html: Update mod_ban docs to include mention
	of new -s command-line option for ban/permit ftpdctl actions.

2010-03-10  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c,
	include/xferlog.h, modules/mod_core.c, modules/mod_xfer.c,
	src/xferlog.c: Change the xferlog_write() function so that it takes
	an additional argument: the "special action flags" string to write
	into the TransferLog entry.  This will make it possible to set 'C'
	and/or 'T' where appropriate (e.g. when mod_deflate and/or mod_tar
	are in effect).  Updated the relevant callers as needed.

2010-03-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm,
	tests/t/modules/mod_deflate.t, tests/tests.pl: Adding
	unit/regression tests for mod_deflate.

2010-03-10  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_deflate.c,
	doc/contrib/mod_deflate.html: Adding mod_deflate to the contrib
	module area.

2010-03-10  castaglia <castaglia>

	* contrib/mod_sql.c: There's no reason for the caches used by
	mod_sql to be visible outside of that file.

2010-03-10  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3374 - TLSVerifyClient and TLSOptions
	NoCertRequest are incompatible.

2010-03-10  castaglia <castaglia>

	* modules/mod_core.c, src/data.c: Make sure that the setting of
	socket options on a passive data connection socket occur before the
	call to listen(2), not after.

2010-03-10  castaglia <castaglia>

	* src/inet.c: Removed development/debug logging.

2010-03-09  castaglia <castaglia>

	* configure: Updated configure.

2010-03-09  castaglia <castaglia>

	* configure.in: Bug33410: Fix build regression caused by changes for
	Bug#2768.  Specifically, the $libdir autoconf variable was
	inadvertently reused for the mysql_config checking; this variable is
	later used for determining the installation location of the
	proftpd.pc file.

2010-03-09  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c, contrib/mod_qos.c, include/bindings.h,
	include/compat.h, include/dirtree.h, include/inet.h,
	modules/mod_core.c, modules/mod_ident.c, src/bindings.c,
	src/data.c, src/dirtree.c, src/inet.c, src/main.c: Removed the
	unused server_list argument from pr_inet_create_conn() and friends.
	This also obseleted the backward-compatibilty macros for these
	functions.  Made the get_listening_conn() function in src/bindings.c public, so
	that the mod_ctrls_admin module could properly use it when
	enabling/disabling vhosts.  Added generation of events whenever proftpd opens sockets; the
	socket fd and its associated pr_netaddr_t and server_rec are
	provided as event data.  With this, the mod_qos module is now
	properly able to set QoS options on a socket _before_ any listen(2)
	or connect(2) call on that socket, i.e. before any TCP handshakes
	occur on that socket.  This should hopefully make the setting of QoS
	values (cf Bug#3353) work properly.

2010-03-09  castaglia <castaglia>

	* src/inet.c: Use the proper socket option level consistently when
	setting the TCP_NODELAY option.

2010-03-08  castaglia <castaglia>

	* configure: Updated configure.

2010-03-08  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, include/conf.h: Bug#3408 - Use
	<termios.h> instead of <sys/termios.h> where possible.

2010-03-08  castaglia <castaglia>

	* configure: Updated configure.

2010-03-08  castaglia <castaglia>

	* NEWS, configure.in: Bug#2768 - Provide
	--with-mysql-config/--with-postgres-config build options.

2010-03-08  castaglia <castaglia>

	* NEWS, modules/mod_ls.c,
	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Bug#3407 - Use glob
	characters as literal characters if no glob match found for
	LIST/NLST.

2010-03-08  castaglia <castaglia>

	* NEWS, include/netaddr.h, src/inet.c, src/netaddr.c: Bug#2196 -
	Handle IPv4-mapped IPv6 addresses as IPv4 addresses.

2010-03-06  castaglia <castaglia>

	* src/fsio.c: Minor tweak needed so that FSIO modules work properly
	(i.e. have their callbacks used properly) on CWD commands with paths
	which do not contain a '/' character.

2010-03-06  castaglia <castaglia>

	* src/stash.c: Remove some development/testing cruft.

2010-03-06  castaglia <castaglia>

	* tests/Makefile.in, tests/api/modules.c, tests/api/stash.c,
	tests/api/tests.c, tests/api/tests.h: Updated API tests to reflect
	changed location of stash code.

2010-03-06  castaglia <castaglia>

	* Make.rules.in, include/conf.h, include/modules.h,
	include/stash.h, src/modules.c, src/stash.c: Separate out the symbol
	table lookup code from the modules.c file and place it in its own
	stash.c file.  This will make it easier to tweak the symbol table
	lookups without unnecessary code churn in the module-handling code.

2010-03-06  castaglia <castaglia>

	* src/modules.c: Removed unused/dead callback typedef.

2010-03-05  castaglia <castaglia>

	* NEWS, contrib/mod_ban.c: Bug#3393 - Specify the <VirtualHost> when
	using 'ban' or 'permit' ftpdctl actions.

2010-03-05  castaglia <castaglia>

	* src/parser.c: The default "server config" server_rec gets SID 1 in
	init_config(); this means that the SIDs assigned to vhosts in the
	parser need to start after 1, not after 0.  This was causing the
	"server config" and the first <VirtualHost> server_recs to both have
	a SID of 1.

2010-03-04  castaglia <castaglia>

	* NEWS, contrib/mod_ban.c: Bug#3392 - Display <VirtualHost>
	information in 'ban info' ftpdctl action response.

2010-03-04  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: Add a little more trace logging to the
	handling of SSH2 channel data.

2010-03-04  castaglia <castaglia>

	* contrib/mod_sftp/msg.c: Initialize these variables pedantically.

2010-03-04  castaglia <castaglia>

	* contrib/mod_sftp/msg.c: Log data lengths as unsigned longs for
	size_t, not unsigned ints.

2010-03-04  castaglia <castaglia>

	* doc/contrib/mod_qos.html: Adding documentation for mod_qos
	(Bug#3353).

2010-03-04  castaglia <castaglia>

	* README.modules, RELEASE_NOTES: Update docs with mention of
	mod_qos.

2010-03-04  castaglia <castaglia>

	* NEWS, contrib/mod_qos.c, include/dirtree.h, include/inet.h,
	src/data.c, src/dirtree.c, src/inet.c, src/main.c: Bug#3353 -
	Support setting IPTOS/DSCP markings on data and control streams.

2010-03-04  castaglia <castaglia>

	* tests/api/scoreboard.c, tests/api/str.c: Update failing scoreboard
	API test.  Add new sreplace API test.

2010-03-04  castaglia <castaglia>

	* src/str.c: Make sure that sreplace() never returns a pointer to a
	buffer on the stack.  This would rarely have happened anyway, but
	not it's not possible.  This involved setting a maximum limit (8K)
	on the size of the buffer that sreplace() would return.   Anything
	that needs a larger buffer than that can handle its own
	replacement/interpolation.

2010-03-04  castaglia <castaglia>

	* include/netaddr.h, src/netaddr.c: Fix the pr_netaddr_get_addrno()
	function (infrequently used) to return an explicit uint32_t, and fix
	up the error return values.  Not that the one caller (in mod_radius)
	actually checks for these.

2010-03-04  castaglia <castaglia>

	* src/dirtree.c: Avoid compiler warning about uninitialized
	variable.

2010-03-04  castaglia <castaglia>

	* modules/mod_core.c: Avoid compiler warning about unitialized
	variable.

2010-03-04  castaglia <castaglia>

	* src/throttle.c: Remove an unused variable.

2010-03-03  castaglia <castaglia>

	* contrib/mod_quotatab_file.c, contrib/mod_sftp/rfc4716.c,
	contrib/mod_shaper.c, modules/mod_delay.c, src/scoreboard.c,
	utils/scoreboard.c: Check the lseek(2) return value in more places.

2010-03-03  castaglia <castaglia>

	* include/options.h: 4K for an environ variable value might be a bit
	excessive; let's use 2K.

2010-03-03  castaglia <castaglia>

	* include/options.h, src/env.c, src/proctitle.c: Set a limit on the
	maximum length of environment variable values.

2010-03-03  castaglia <castaglia>

	* NEWS, src/fsio.c, tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: 
	Bug#3354 - Renaming a file across mount points to a full disk does
	not fail as expected.

2010-03-03  castaglia <castaglia>

	* NEWS, src/log.c: Bug#3404 - SyslogLevel not applied to SystemLog.

2010-03-03  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/mod_sftp.c: Bug#3405 - Multiple
	SFTPAuthorizedUserKeys stores causes segfault on 64-bit platforms.

2010-03-03  castaglia <castaglia>

	* contrib/mod_sftp/rfc4716.c: Fix the handling of errno such that
	the proper error is logged when we fail to open a file-based
	authorized keys file.

2010-03-02  castaglia <castaglia>

	* doc/contrib/mod_sftp_sql.html: Update the mod_sftp_sql doc to
	mention where to find the latest version.

2010-03-02  castaglia <castaglia>

	* NEWS, contrib/mod_ban.c: Bug#3339 - Support ban rule for clients
	which login too frequently.

2010-03-02  castaglia <castaglia>

	* NEWS, locale/Makefile.in, locale/ja_JP.po: Bug#3400 - Add Japanese
	translation.

2010-03-02  castaglia <castaglia>

	* NEWS, modules/mod_facts.c: Bug#3403 - File upload followed by MLSD
	leads to wrong file size entries in TransferLog.

2010-03-02  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3402 - mod_tls does not compile with
	pre-0.9.7 OpenSSL due to Bug#3349.

2010-03-02  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/crypto.c: Bug#3401 - mod_sftp does not
	compile with pre-0.9.7 OpenSSL.

2010-02-28  jwm <jwm>

	* contrib/mod_ldap.c: revno: 96 message:   emit quota parsing debugging output before parsing, since strsep()   modifies the passed string
	------------------------------------------------------------ revno:
	94 message:   - ssh pubkey support was broken, since nothing was setting     ldap_ssh_pubkey_{basedn,filter}. use ldap_auth_{basedn,filter}
	    instead, since it seems reasonable to keep pubkeys on the
	    account that's authenticating.    - add support for multiple pubkeys for a user   - always initialize cached_ssh_pubkeys in
	    pr_ldap_ssh_pubkey_lookup(), since we're only called if we don't
	    have any pubkeys cached or need ot explicitly fetch pubkeys for a
	different user

2010-02-25  castaglia <castaglia>

	* contrib/mod_tls.c, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_facts.c, modules/mod_ls.c, modules/mod_site.c,
	modules/mod_xfer.c: Mark HELP strings for translation/localisation.

2010-02-25  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Limit/MFMT.pm: Remove development
	cruft.

2010-02-25  castaglia <castaglia>

	* doc/howto/Versioning.html: Fix typo, update example.

2010-02-24  castaglia <castaglia>

	* NEWS, modules/mod_facts.c,
	tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Bug#3302 - MLST response
	should include full path name.

2010-02-24  castaglia <castaglia>

	* contrib/mod_site_misc.c, modules/mod_facts.c: Forgot to update the
	copyright years on the files that I modified.  It's a bit pedantic,
	but it's a habit I try to keep.

2010-02-24  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3365 - First certificate in
	TLSCertificateChainFile is skipped.

2010-02-24  castaglia <castaglia>

	* NEWS, contrib/mod_site_misc.c, modules/mod_facts.c,
	tests/t/config/limit/mfmt.t,
	tests/t/lib/ProFTPD/Tests/Config/Limit/MFMT.pm, tests/tests.pl: 
	Bug#3399 - <Limit> statement does not restore access to MFMT
	commands.

2010-02-24  castaglia <castaglia>

	* doc/contrib/index.html: Updated index of contrib module docs.

2010-02-24  castaglia <castaglia>

	* include/version.h: Updated for CVS.

2010-02-24  castaglia <castaglia>

	* ChangeLog: Updated ChangeLog.

2010-02-24  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec,
	include/version.h: Preparing for release of 1.3.3-stable.

2010-02-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Quell Perl
	interpreter warnings about redeclared variables.

2010-02-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Quell some Perl
	interpreter warnings about redeclared variables.

2010-02-24  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Quell Perl
	interpreter warning about "useless use of private variable in void
	context".

2010-02-23  castaglia <castaglia>

	* NEWS, modules/mod_core.c, src/dirtree.c,
	tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Bug#3397 - HideFiles
	none does not work properly on a per-user basis.

2010-02-23  castaglia <castaglia>

	* modules/mod_ls.c: Make sure that the pluralization of "paths"
	matches the count displayed in the log message.

2010-02-22  castaglia <castaglia>

	* NEWS, contrib/mod_ban.c: Bug#3389 - Cannot create mod_ban
	whitelists using <Class> and <IfClass> sections.

2010-02-22  castaglia <castaglia>

	* src/bindings.c: If "SocketBindTight on" is in effect, then the fix
	for Bug#3306 would cause problems for non-IPv6-enabled builds.  The
	fix for Bug#3306 was not making a proper deep copy of the
	pr_netaddr_t object for its linked list; the shallow copy (just a
	pointer) would later point to memory whose contents had changed.
	This lead to a getnameinfo(3) failure (EAI_FAMILY, specifically),
	the attempt to create a new listening socket, and a collision with
	an existing socket.  The solution to this is simple: make a deep copy.

2010-02-21  castaglia <castaglia>

	* contrib/mod_sftp/rfc4716.c: Support use of FIFOs as
	SFTPAuthorized{Host,User}Keys files.

2010-02-21  castaglia <castaglia>

	* src/inet.c: Log if getsockname(2) returns an error.

2010-02-21  castaglia <castaglia>

	* src/dirtree.c: Handle an edge case/regression from Bug#3337.

2010-02-19  castaglia <castaglia>

	* contrib/mod_tls.c: Slightly better logging of SSL session reuse
	for data connections.

2010-02-19  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: Fix another compiler warning (this
	one specific to the pedantically stupid idiosyncrasis of gcc-4.4) in
	mod_sftp, per Bug#3394.

2010-02-19  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Fix some of the compiler warnings
	mentioned in Bug#3394.

2010-02-17  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: Rather than log (and ignore) any
	badly formatted version exchange strings from clients, log the
	client-sent string and then disconnect the client.  This is what
	OpenSSH does, and it's a more draconian and more efficient way of
	dealing with such ill-behaved clients.

2010-02-17  castaglia <castaglia>

	* doc/howto/Limit.html: Add blocking of STAT to "blind directory"
	example, per Bug#3391.

2010-02-15  castaglia <castaglia>

	* doc/howto/SQL.html: Add SQL FAQ about encrypting the connections
	between mod_sql and the backend database server.

2010-02-15  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/packet.c,
	contrib/mod_sftp/packet.h,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make sure that
	mod_sftp can handle clients which don't send properly formatted
	protocol version strings, as well as clients which do not send the
	proper protocol version string within a configured TimeoutLogin
	period.

2010-02-15  castaglia <castaglia>

	* configure: Updated configure.

2010-02-15  castaglia <castaglia>

	* configure.in: The various library directories need to be included
	in the `proftpd -V' output as well.

2010-02-15  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
	regression test for using %S in SQLNamedQuery statements in
	combination with a SQLLog ERR_* configuration.

2010-02-14  castaglia <castaglia>

	* src/table.c, tests/api/table.c: When using a pr_table_t allocated
	with the USE_CACHE flag (none are, currently), the
	pr_table_get()/pr_table_kget() functions would incorrectly return
	the previously looked up entry, every time, instead of iterating
	properly to the next entry in the linked list.

2010-02-14  castaglia <castaglia>

	* src/modules.c: Comment corrections.

2010-02-13  castaglia <castaglia>

	* include/version.h: Updated version for CVS.

2010-02-13  castaglia <castaglia>

	* ChangeLog: Updated ChangeLog.

2010-02-13  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Updates
	for the 1.3.3rc4 release.

2010-02-13  castaglia <castaglia>

	* RELEASE_NOTES: Preparing release notes for another RC.

2010-02-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Limit/Anonymous.pm: Add unit test
	for an <Anonymous> login which uses a <Limit LOGIN> rule based on a
	DSN name (hint: "UseReverseDNS on" is required for the rule to work
	as expected).

2010-02-11  castaglia <castaglia>

	* src/dirtree.c: Minor code style cleanup, no functional change.

2010-02-11  castaglia <castaglia>

	* src/netacl.c: More trace logging of comparison of netacls.

2010-02-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression
	tests for uploading and downloading zero-length files via SFTP and
	SCP.

2010-02-10  castaglia <castaglia>

	* contrib/mod_sftp/keys.c: Fix an issue in mod_sftp where, similar
	to in mod_tls, a file descriptor on a key file can be opened during
	SIGHUP where the fd is 0, 1, or 2.  This causes problems because the
	prompt-related fd fiddling changes these fds to deal with input from
	the admin.  The fix, as in mod_tls, is to use
	pr_fsio_get_usable_fd() to get an fd value that isn't one of the big
	three for that key file.

2010-02-10  castaglia <castaglia>

	* modules/mod_xfer.c: If "UseSendfile off" appears in the config but
	some other condition prevents the use of sendfile(), it's a little
	odd to see some other "declining use of sendfile" message in the
	logs.

2010-02-10  castaglia <castaglia>

	* include/trace.h, modules/mod_core.c, src/trace.c: Make the default
	trace channel name of "DEFAULT" a macro, to keep it in sync in the
	various files which use that string.

2010-02-10  castaglia <castaglia>

	* modules/mod_core.c: The mod_core module had not been updated to
	use the "DEFAULT" trace keyword rather than the "ALL" keyword.  This
	keyword should be made into a public macro.

2010-02-10  castaglia <castaglia>

	* doc/howto/Compiling.html: Slightly better/fuller example.

2010-02-10  castaglia <castaglia>

	* configure: Updated configure.

2010-02-10  castaglia <castaglia>

	* configure.in: Expand the list of modules which cannot be built as
	shared modules; allow some of the core modules to be built as shared
	modules (e.g. mod_delay, mod_auth_file, mod_ident, mod_auth_pam,
	etc).

2010-02-10  castaglia <castaglia>

	* modules/mod_delay.c: Quell compiler warning about unreachable
	code.  Prepare mod_delay for acting properly when compiled as a DSO
	module.

2010-02-10  castaglia <castaglia>

	* modules/mod_facl.c: Remove duplicate registration of module unload
	listener in mod_facl.

2010-02-10  castaglia <castaglia>

	* doc/howto/Compiling.html: Add FAQ about the "source file
	'./modules/d_auth_pam.c' cannot be found" configure error that is
	sometimes reported.

2010-02-10  castaglia <castaglia>

	* contrib/mod_sftp/interop.c, contrib/mod_sftp/interop.h,
	contrib/mod_sftp/keystore.c, contrib/mod_sftp/keystore.h,
	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/rfc4716.c,
	contrib/mod_sftp/rfc4716.h: Make sure that mod_sftp unregisters
	callbacks on module unload properly, as well as freeing up any
	allocated regular expressions on module unload.

2010-02-10  castaglia <castaglia>

	* contrib/mod_wrap2/mod_wrap2.c, contrib/mod_wrap2/mod_wrap2.h.in,
	contrib/mod_wrap2_file.c, contrib/mod_wrap2_sql.c: Provide a
	wrap2_unregister() API, so that wrap2 submodules can unregister
	their backends on e.g. module unload.  Update the wrap2 submodules
	to use this new API.

2010-02-10  castaglia <castaglia>

	* contrib/mod_tls.c: Quell some compiler warnings about unreachable
	code.

2010-02-10  castaglia <castaglia>

	* contrib/mod_sql.c: Unregister the registered authtype handlers
	upon module unload.

2010-02-10  castaglia <castaglia>

	* contrib/mod_quotatab.c: Set the prev pointer properly when
	registering a quotatab backend.

2010-02-10  castaglia <castaglia>

	* contrib/mod_rewrite.c: When mod_rewrite is a DSO module and is
	being unloaded (as during a restart), free any allocated regexes and
	prevent a memory leak.

2010-02-10  castaglia <castaglia>

	* src/bindings.c: When getting a listening connection, handle cases
	where an IP address string can't be returned for some reason.

2010-02-10  castaglia <castaglia>

	* NEWS, contrib/mod_ban.c, contrib/mod_dynmasq.c,
	contrib/mod_shaper.c: Bug#3387 - SIGHUP will eventually cause
	certain modules (as DSO modules) to segfault.  Register timers in the daemon process via a 'core.postparse'
	listener rather than a 'core.startup' listenver, and remove the
	registered timers in a 'core.restart' listener.  Otherwise, the
	previous registered timer can point to invalid memory if the
	registering module is a DSO module; SIGHUPs cause DSO modules to be
	unloaded/reloaded.

2010-02-09  castaglia <castaglia>

	* src/timers.c: Paranoid checking for NULL parameters for a trace
	message in the Timers API.

2010-02-09  castaglia <castaglia>

	* include/bindings.h, src/bindings.c: Pass the port number to use as
	an argument to pr_ipbind_create(), rather than assuming that the
	port in the given server_rec should be used.  There are cases where
	this may not be true (e.g. in mod_autohost's uses).

2010-02-08  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Handle another case where we weren't
	checking for a NULL result from calling dir_canonical_vpath() when
	handling REALPATH requests.

2010-02-08  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: If there are troubles in resolving the
	paths given in a SYMLINK request (e.g. because of ENAMETOOLONG),
	handle the error gracefully rather than segfaulting.

2010-02-08  castaglia <castaglia>

	* src/fsio.c: More defensive programming: check for cases where
	lookup_fs_file() returns NULL, and Do The Right Thing(tm).

2010-02-08  castaglia <castaglia>

	* src/fsio.c: Check for cases where we fail to lookup the FSIO
	object for a path because of an error like ENAMETOOLONG.  Without
	this, segfaults because of null pointer dereferences would occur.

2010-02-08  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Handle the case where dir_canonical_path()
	returns NULL (e.g. for ENAMETOOLONG) in the REMOVE handler in order
	to prevent null pointer dereference segfault.

2010-02-08  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Handle cases where dir_canonical_vpath()
	might return NULL (such as when the input name is too long); without
	this, a segfault due to null pointer dereference ensues.

2010-02-08  castaglia <castaglia>

	* src/trace.c: Prevent long trace log lines from trampling each
	other by truncating and adding a terminating newline properly.

2010-02-08  castaglia <castaglia>

	* contrib/mod_sftp/packet.c: Make sure we don't try to read in more
	data than can fit in our packet buffer.

2010-02-07  castaglia <castaglia>

	* configure: Updated configure.

2010-02-07  castaglia <castaglia>

	* configure.in: Make sure that compiler optimizations are disabled
	when --enable-devel is used.

2010-02-07  castaglia <castaglia>

	* include/support.h, src/support.c: Add a pr_strtime2() function,
	which allows callers the choice of whether the returned timestamp
	string is in GMT or in local time; the existing pr_strtime()
	function is hardcoded to always use local time.

2010-02-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Make sure that
	config_write() can handle Anonymous sections which contain nested
	Directory or Limit sections.

2010-02-05  castaglia <castaglia>

	* src/event.c: Include the memory address of the event callback
	being invoked in the trace message about event handling.

2010-02-04  castaglia <castaglia>

	* doc/contrib/mod_sftp_sql.html: Update the schema examples for
	storing SSH keys; include indices in the example schema.

2010-02-04  castaglia <castaglia>

	* src/pool.c: Make the name of the oom pool walking function be
	'oom_printf', just to be very clear.

2010-02-04  castaglia <castaglia>

	* include/pool.h, src/main.c, src/pool.c: Checking in some handy
	code I used yesterday to track down a memory leak in mod_sftp.  If proftpd is compiled using --enable-devel, AND if it is started
	using the -n/--nodaemon command-line option, then if an
	out-of-memory condition is encountered, proftpd will try to dump the
	memory pool statistics to stderr.  This is what showed me where all
	of the memory was being used in the mod_sftp case.

2010-02-04  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: Undo the previous change regarding the
	calling of destroy_channel() and the setting of the recvd_close
	flag.  Turns out that the previous arrangement was the way it was
	for a good reason.  Left myself a comment to this effect, so that I'm not tempted to
	make the same mistake again in the future.

2010-02-04  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Only handle aborted SCP transfers if there
	is actually a non-zero count of open file handles when the session
	is closed.

2010-02-04  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: No need to call destroy_channel()
	twice.  Also be sure to set the recvd_close flag *before* calling
	send_channel_done(), so that the channel will be properly closed
	when destroy_channel() is called on it.

2010-02-04  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: Guard against sending CHANNEL_EOF
	and/or CHANNEL_CLOSE twice.  Some clients rightfully treat this as a
	protocol error.  I noticed this when testing scp downloads using
	OpenSSH, and saw "protocol error: close rcvd twice".

2010-02-04  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/scp.c: Bug#3386 - Downloading via SCP can
	stall due to rekeying.

2010-02-04  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Typo.

2010-02-04  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Add some minor logging of the progress
	being made on the sending of data for a file via SCP.  Fix some cases where even though a file may have been downloaded
	successfully, the SCP may still have been handled as a failure by
	mod_sftp because of bad logic.

2010-02-04  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/channel.c: Bug#3385 - Memory leak during
	SCP download.

2010-02-04  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: When we've sent the last chunk of data
	when downloading via SCP, don't require the client to send one more
	SSH message.  Not sure why that was there.  Also, when writing SCP
	download data, spin on a zero window size *after* the channel data
	has been written, not before.  With these two changes, downloading via SCP a largish (700 MB) file
	finally worked, without hanging the scp(1) OpenSSH client.

2010-02-03  castaglia <castaglia>

	* contrib/mod_sftp/tap.c: Make "SFTPTrafficPolicy none" work; it was
	hanging if that setting had been explicitly configured in the
	proftpd.conf.  Also make "SFTPTrafficPolicy none" override the automatic use of the
	'rogaway' policy.  This makes it possible to test transfers of data
	without having the IGNORE messages bloat the data transferred.

2010-02-03  castaglia <castaglia>

	* src/child.c: If sending a signal to the child/session process
	fails, log the reason via trace logging.

2010-02-03  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: When freeing an unclosed channel, log
	the number of pending bytes that that channel might have.

2010-02-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: We don't want
	a bare '.' character in these regexes, just the '.' regex pattern
	meaning "match any character".

2010-02-03  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Quell compiler warnings about unused
	return values.

2010-02-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Add unit tests
	where PathDenyFilter is used to prevent names with a single leading
	(or trailing) space character (or both).

2010-02-03  castaglia <castaglia>

	* contrib/mod_sftp/keys.c: Quell compiler warnings about unreachable
	code; no functional change.

2010-02-02  jwm <jwm>

	* contrib/mod_ldap.c: revno: 93 message:   add ssh public key support (for mod_sftp_ldap) from TJ Saunders   <tj@castaglia.org>

2010-02-02  jwm <jwm>

	* contrib/mod_ldap.c: v2.8.22 * Disable the LDAPUseSSL directive, instead logging a warning so
	  existing configurations do not cause ProFTPD startup failure.
	  Previous versions enabled TLS when this directive was enabled. This
	  behavior was incorrect, since the intended behavior was to enable
	  LDAPS/LDAP over SSL. To use LDAPS, specify the ldaps:// protocol in
	the LDAPServerURL URL(s).    If you wish to continue using TLS, you must modify your
	  configuration to specify the ldap:// scheme in the LDAPServerURL
	  URL and add the directive 'LDAPUseTLS on' to your configuration.  * Add support for quota profiles. If a user entry doesn't have an
	  ftpQuota attribute, search for the DN contained in the user's
	  ftpQuotaProfileDN attribute (if present) and use the ftpQuota
	  attribute present on that DN.  (Bug #2617) * Fix segfaults in debug logging on platforms whose printf() does
	  not gracefully handle NULL string pointers. (Bug #3346) * Escape LDAP filter metacharacters in inserted values when
	  interpolating filter templates.  * Emit a debug warning when an LDAP URL is specified without an
	  explicit search scope.  * Bug 2922 locks authentication for an account to the same module
	  that fetched the original account information. Remove the kludge
	  wherein "*" is passed to pr_auth_check() if we're doing auth binds
	  to prevent other modules from processing authentication. This has
	  the convenient side effect of making the UserPassword directive work
	  with LDAP-sourced accounts. Bump the required ProFTPD version to
	1.3.1rc3.  * Emit correct LDAP timeout in debug message, accounting for the
	  default if none was specified. Reported by Nikos Voutsinas
	<nvoutsin@noc.uoa.gr>.  ------------------------------------------------------------ revno:
	92 message:   nuke unused variable
	------------------------------------------------------------ revno:
	91 message:   release 2.8.22
	------------------------------------------------------------ revno:
	90 message:   * Add support for quota profiles. If a user entry doesn't have an
	    ftpQuota attribute, search for the DN contained in the user's
	    ftpQuotaProfileDN attribute (if present) and use the ftpQuota
	    attribute present on that DN.  (Bug #2617)
	------------------------------------------------------------ revno:
	89 message:   * Fix segfaults in debug logging on platforms whose printf() does
	    not gracefully handle NULL string pointers. (Bug #3346)
	------------------------------------------------------------ revno:
	88 message:   cast ldap_querytimeout_tp.tv_sec to quell a compiler warning
	------------------------------------------------------------ revno:
	87 message:   * Emit correct LDAP timeout in debug message, accounting for the
	    default if none was specified. Reported by Nikos Voutsinas
	<nvoutsin@noc.uoa.gr>.
	------------------------------------------------------------ revno:
	86 message:   thanks to Bug 2922 (Auth API allows one auth module to
	  authenticate user data provided by a different auth module), we
	  don't need to worry about passing a locked crypted password ("*") to
	  pr_auth_check(), since our authz handler will only be called if we
	supplied the original user information.    as a result, if the UserPassword directive is in effect, we need
	  to avoid doing auth binds and fall through to verifying the
	  crypted password ourselves instead of declining the authz request
	  and letting mod_auth_unix handle it.    bump the required proftpd version to 1.3.1rc3, since #2922 was
	  resolved in that version. this seems reasonable, since nobody
	  ought to be running 1.2.10rc2 any more and 1.3.1rc3 has been
	available for almost 2.5y now.
	------------------------------------------------------------ revno:
	85 message:   add intermediary #ifdefs instead of littering the code with ldap
	  api version- and openldap-specific preprocessor directives
	------------------------------------------------------------ revno:
	84 message:   use a common pr_ldap_search() to avoid duplicate code in
	  *_lookup()
	------------------------------------------------------------ revno:
	82 message:   - cached_quota should be declared static   - return PR_HANDLED() in stub LDAPUseSSL config directive handler
	------------------------------------------------------------ revno:
	81 message:   emit a debug warning if the search scope is 'base'. ldap urls
	  default to this scope, and specifying:     LDAPServer ldap://127.0.0.1/   has bitten me several times when I forget that the search scope is
	  'base', not 'sub'.
	------------------------------------------------------------ revno:
	80 message:   re-add a stub for LDAPUseSSL that only logs a notice that it's
	  been removed, so older configurations don't fail to start.    [followon to r75]
	------------------------------------------------------------ revno:
	79 message:   quell a discarded-const compiler warning
	------------------------------------------------------------ revno:
	76 message:   only allow ldaps:// url schemes if we have ldap_initialize()
	------------------------------------------------------------ revno:
	75 message:   remove the LDAPUseSSL directive, as it wasn't having the intended
	  effect (enable LDAP over SSL, aka LDAPS). LDAP_OPT_X_TLS_HARD is
	  for having the connection fail hard on TLS errors. afaict, the only
	  way to specify LDAPS connections is by passing a URL with the
	  ldaps:// scheme to ldap_initialize().
	------------------------------------------------------------ revno:
	74 message:   better debug message when no entries are found for a search
	------------------------------------------------------------ revno:
	73 message:   dunno what i was thinking with the last round of filter
	  interpolation changes, but it was completely wrong. use proftpd's
	  sreplace() instead of doing the string manipulation ourselves, and
	  check pr_ldap_interpolate_filter()'s return value for NULL.
	------------------------------------------------------------ revno:
	  72 escape filter characters mentioned in RFC 2254

2010-02-01  castaglia <castaglia>

	* doc/contrib/mod_sql.html: In the SQLShowInfo description, mention
	which section in RFC959 defines the list of acceptable response
	codes for each FTP command.

2010-02-01  castaglia <castaglia>

	* RELEASE_NOTES: Update the release notes; it's almost time for
	release.

2010-02-01  castaglia <castaglia>

	* doc/contrib/mod_sql_passwd.html: Updating mod_sql_passwd docs with
	description of new SQLPasswordUserSalt directive.

2010-02-01  castaglia <castaglia>

	* NEWS, contrib/mod_sql_passwd.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Bug#3380 -
	Support user-specific salts in encoded passwords.

2010-02-01  castaglia <castaglia>

	* NEWS, contrib/mod_radius.c: Bug#3381 - RADIUS authentication
	broken on 64-bit platforms.

2010-01-31  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add unit test for
	downloading an empty file over FTPS, to go with the just-added test
	for uploading an empty file over FTPS.

2010-01-31  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add unit test for
	uploading an empty file via FTPS.  Saw a bug report for an FTPS
	client for such an issue; the reporter wasn't sure whether it was a
	client or a server issue.  This test shows that it isn't an issue
	with mod_tls.

2010-01-31  castaglia <castaglia>

	* contrib/mod_sftp/crypto.c, contrib/mod_tls.c: Be paranoid and
	meticulous, and clean up the state of the OpenSSL RNG when we're the
	daemon process and we're shutting down.

2010-01-29  castaglia <castaglia>

	* NEWS, modules/mod_log.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#3383 -
	ExtendedLog variables for protocol and version not handled properly.

2010-01-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add a function for getting
	the version of the current proftpd (using `proftpd -V').

2010-01-26  castaglia <castaglia>

	* src/support.c: Add a counter for signal blocking/unblocking, to
	handle nested calls.  Also added trace logging for signal
	blocking/unblocking.

2010-01-26  castaglia <castaglia>

	* src/timers.c: Use proper pluralization in the timer trace
	messages.

2010-01-26  castaglia <castaglia>

	* contrib/mod_sql.c: Remove a lot of code duplication in mod_sql's
	handling of SQLLog directives by refactoring all of that code into a
	single new process_sqllog() function.

2010-01-26  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add unit test
	for a "SQLLog EXIT" configuration.

2010-01-23  castaglia <castaglia>

	* configure: Update configure.

2010-01-23  castaglia <castaglia>

	* configure.in, src/main.c: Define a PR_DEVEL_PROFILE macro if the
	--enable-devel=profile configure option is used.  This macro is
	needed to tell proftpd whether it should use _exit(2) or exit(2)
	when exiting a session process.  The gmon.out profile data file is
	only written when exit(2) is used; proftpd by default wants to use
	_exit(2).

2010-01-23  castaglia <castaglia>

	* contrib/mod_wrap2/mod_wrap2.c: Make sure that mod_wrap2 honors
	suffix patterns, as per hosts_access(5), in the table entries as
	well.

2010-01-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Adding more
	regression tests for mod_wrap2/mod_wrap2_file.

2010-01-23  castaglia <castaglia>

	* contrib/mod_wrap2/mod_wrap2.c: Fix bug where mod_wrap2 would
	attempt to resolve a table entry like "127.0." as a DNS name.
	According to the hosts_access(5) man page, an entry which ends in a
	'.' should be treated as an IP address prefix, and matched as such.

2010-01-23  castaglia <castaglia>

	* src/netaddr.c: When resolving names to addresses via
	getaddrinfo(3), give getaddrinfo() the hint that we're only
	interested in TCP, not UDP.

2010-01-22  castaglia <castaglia>

	* src/netaddr.c: Make sure that the errno value is preserved in
	failure cases in pr_netaddr_get_addr().

2010-01-21  castaglia <castaglia>

	* doc/howto/Upgrade.html: Update the Upgrade howto to use -d10
	rather than -d9; more information is better when testing a version
	for upgrading.

2010-01-20  castaglia <castaglia>

	* contrib/mod_ban.c: Removed some unnecessary logging.

2010-01-19  castaglia <castaglia>

	* NEWS, contrib/mod_wrap2/mod_wrap2.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Bug#3377 -
	mod_wrap2 attempts to resolve 'ALL' keyword as an IP address.

2010-01-19  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3375 - Minor SIGHUP-based memory leak
	in mod_tls.

2010-01-19  castaglia <castaglia>

	* doc/contrib/mod_sftp_sql.html: The mod_sftp_sql module should now
	be much easier to use; getting your SSH keys into the SQL tables no
	longer requires the Perl script for extracting just the base64 key
	data (although the module still supports that, too).

2010-01-19  castaglia <castaglia>

	* NEWS, contrib/mod_sftp_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Bug#3376 - Handle
	the full RFC4716 formatted keys in SQL values.

2010-01-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm,
	tests/t/modules/mod_sftp_sql.t, tests/tests.pl: Add unit tests for
	mod_sftp_sql.

2010-01-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Fix the
	mod_wrap2_sql unit tests so that the SQLNamedQuery directives are
	resolved as expected.  Also increase the default TimeoutIdle, to
	handle running the testsuite on a machine which may take a little
	longer to resolve DNS names.

2010-01-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Adding unit
	tests for the mod_wrap2 modules which show that both the file- and
	sql-based modules can handle multiple rows, each with multiple
	entries, and with entries that are separated by commas, commas and
	whitespace, or just whitespace.

2010-01-15  castaglia <castaglia>

	* contrib/mod_radius.c: Update the copyright dates in mod_radius.c,
	since the code has changed.

2010-01-15  castaglia <castaglia>

	* NEWS, contrib/mod_radius.c: Bug#3372 - ProFTPD crashes when
	retrying a failed login with mod_radius being used.

2010-01-11  castaglia <castaglia>

	* doc/contrib/mod_sftp_sql.html: Use HTML entity encoding for angle
	brackets; more browsers like this.

2010-01-11  castaglia <castaglia>

	* src/scoreboard.c: Minor optimization to the fix for Bug#3370: when
	scrubbing the ScoreboardFile, call getpgrp() to get the current
	process group only once, rather than potentially once per entry.
	The current process group does not change during the lifetime of the
	scrub.

2010-01-10  castaglia <castaglia>

	* src/scoreboard.c: Whitespace/coding style change, no functional
	change.  Update the copyright date.

2010-01-10  castaglia <castaglia>

	* src/scoreboard.c: Use a variable name of 'curr_pgrp', as it is
	more accurate; we are checking that the process group of the
	scoreboard entry matches our own process group, not the process
	group of the daemon.  While these should all be the same process
	group, the value returned by getpgrp(2) is not the parent process
	group, but the current process group.  All part of Bug#3370.

2010-01-10  castaglia <castaglia>

	* configure: Updated configure.

2010-01-10  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, contrib/mod_ban.c,
	contrib/mod_ctrls_admin.c, include/scoreboard.h, src/scoreboard.c: 
	Bug#3370 - Lack of PID protection in ScoreboardFile.

2010-01-08  castaglia <castaglia>

	* contrib/mod_ban.c: Changed my mind; having the SID reported in the
	BanLog isn't helpful without knowing which SID maps to which vhost
	-- and that's more information than can easily fit in a small BanLog
	log message.

2010-01-08  castaglia <castaglia>

	* modules/mod_delay.c: Fix a small bug in mod_delay where the
	POST_CMD_ERR handler for the PASS command was closing the
	DelayTable.  This meant that any future USER/PASS commands sent by
	the client (say, if the password was entered wrong) would not be
	tracked in the DelayTable.  The same handler is used for both the
	POST_CMD and POST_CMD_ERR phases of the PASS command; the handler
	simply needed to close the DelayTable only for the POST_CMD phase.

2010-01-08  castaglia <castaglia>

	* contrib/mod_ban.c: Report the server ID for a ban entry in the
	BanLog; it helps differentiate what would otherwise look like
	duplicates.

2010-01-07  castaglia <castaglia>

	* contrib/mod_tls.c: When reading in key files, make sure that the
	fd used is not one of the big three (stdin, stdout, stderr).  Under
	some conditions, the fopen(3) call that was used would return an fd
	of 2, which would then be overwritten by the fd games played by
	set_prompt_fds().  OpenSSL, though, used the FILE * returned by
	fopen(), which still had the old fd -- and the loading of the key
	would fail "mysteriously", giving an error like "unable to read
	passphrase: (unknown)".

2010-01-07  castaglia <castaglia>

	* src/dirtree.c: Fix a rather subtle and nasty bug in proftpd's
	config directive lookup code.  The short version of the bug is that
	find_config() could possibly return the wrong config_rec.  The cause
	is related to Bug#2535, and the assigning and lookup of the config
	IDs.  When looking up an ID, the string used was not dup'd from the
	input, which means that the lookup key could change unexpectedly.  The rest of this change simply alters the coding style to make
	future debugging in that section of code easier.

2010-01-06  castaglia <castaglia>

	* doc/contrib/mod_ctrls_admin.html: Add example of using new
	'ftpdctl restart count' functionality.

2010-01-06  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: Use 'ftpdctl restart count' now to ask
	the server, via ftpdctl, how many times it has been restarted (via
	SIGHUP) since the server was started.

2010-01-06  castaglia <castaglia>

	* contrib/mod_sql.c: Clean up the coding style around handling
	SQLLog and SQLShowInfo directives; hopefully no functional changes.
	Also explicitly initialized some pointers which are used for pointer
	arithmetic, just to be safe.

2010-01-06  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Add SFTP FAQ about <Limit SITE_CHMOD>
	and SFTP uploads.

2010-01-05  castaglia <castaglia>

	* NEWS, modules/mod_auth.c,
	tests/t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm: Bug#3362 -
	Regression in handling of MaxLoginAttempts in 1.3.3rc1.

2010-01-04  castaglia <castaglia>

	* contrib/mod_wrap2/mod_wrap2.c: Fix broken checks added yesterday.
	Also quell compiler warnings about unreachable code.

2010-01-04  castaglia <castaglia>

	* doc/howto/Authentication.html: Updated Authentication howto,
	removing mention of deprecated AuthPAMAuthoritative directive and
	updating URLs to point to the www.proftpd.org docs.

2010-01-03  castaglia <castaglia>

	* contrib/mod_wrap2/mod_wrap2.c: Cleanup of some of the coding style
	in mod_wrap2 to be more legible.

2010-01-03  castaglia <castaglia>

	* contrib/mod_wrap2_file.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Fix bug in
	mod_wrap2_file where the module was not correctly parsing the
	"options" portion of a table.  This was leading to allowing of
	connections which should have been denied.

2009-12-28  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Add cert chain caveat that using the
	NoCertRequest means that mod_tls won't bother to use the cert chain
	file.

2009-12-28  castaglia <castaglia>

	* doc/howto/TLS.html: Fix typos.

2009-12-23  castaglia <castaglia>

	* doc/contrib/mod_wrap.html: The libnsl library isn't needed for
	mod_wrap on Mac OSX, either.

2009-12-20  castaglia <castaglia>

	* src/fsio.c: Rather than testing for CYGWIN to use the O_BINARY
	flag, just test for the O_BINARY flag directly.

2009-12-18  castaglia <castaglia>

	* contrib/mod_tls_shmcache.c: Fix compiler warning.  Rename the 'core.exit' event listener to be more accurate (it's a
	shutdown listener in some cases, not a session-exit listener).

2009-12-18  castaglia <castaglia>

	* NEWS, contrib/mod_tls_shmcache.c: Bug#3359 - mod_tls_shmcache
	segfaults during syntax check.

2009-12-15  castaglia <castaglia>

	* Makefile.in, NEWS: Bug#3356 - Build timestamp using date(1) can
	fail depending on environment.

2009-12-15  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3357 - mod_sftp fails to compile
	on AIX.

2009-12-15  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3358 - mod_tls doesn't compile with
	pre-0.9.7 openssl.

2009-12-15  castaglia <castaglia>

	* modules/mod_xfer.c: Typo.

2009-12-15  castaglia <castaglia>

	* contrib/mod_shaper.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_shaper.pm: Fix a problem in
	mod_shaper, noted in this forums post:   http://forums.proftpd.org/smf/index.php/topic,1628.0.html where the queue used by mod_shaper could become "clogged", full of
	old stale messages.  The fix, as noted as well, is to clear the
	queue of any messages for the destination process before sending a
	new message to that process.  Added a regression test to reproduce the behavior; it required a
	manual change to the mod_shaper code in order to fill up the queue
	in the time of the test.  Good enough for now.

2009-12-15  castaglia <castaglia>

	* contrib/mod_shaper.c: Fix compiler warnings about unreachable
	code, and rename an event listener to be more appropriately named.

2009-12-14  castaglia <castaglia>

	* doc/contrib/mod_wrap.html: Adding more examples of paranoid
	libwrap log messages.

2009-12-14  castaglia <castaglia>

	* doc/howto/TLS.html: Another SSL/TLS FAQ.

2009-12-14  castaglia <castaglia>

	* contrib/mod_tls.c: Log a warning if mod_tls has been configured
	with no server certs (via TLSRSACertificateFile,
	TLSDSACertificateFile, or TLSPKCS12File) for a given session.
	Without a server cert, mod_tls cannot support SSL/TLS sessions.

2009-12-14  castaglia <castaglia>

	* contrib/mod_tls.c: Clear up compiler warnings about unreachable
	code in mod_tls.  No functional change.

2009-12-14  castaglia <castaglia>

	* doc/howto/Stopping.html: Fixing up the Stopping howto, and adding
	an example Mac OSX launchd plist config.

2009-12-13  castaglia <castaglia>

	* utils/ftptop.c: Quell compiler warnings about unreachable code.

2009-12-12  castaglia <castaglia>

	* contrib/mod_sftp/auth.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Subtle tweaks to
	mod_sftp's handling and enforcement of the MaxLoginAttempts
	directive; it should now work more as users would expect.  Added a unit test to catch regressions on this, as well as a unit
	test showing the mod_sftp's handling of MaxLoginAttempts, in
	combination with a mod_ban rule for MaxLoginAttempts, works
	properly.

2009-12-11  castaglia <castaglia>

	* src/table.c: Clean up some "code will never be executed" warnings.

2009-12-11  castaglia <castaglia>

	* NEWS, contrib/mod_ban.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Bug#3355 - mod_ban
	should support BanEngine in <VirtualHost> config sections.

2009-12-11  castaglia <castaglia>

	* doc/howto/Versioning.html, doc/howto/index.html: Finally got
	around to writing up the version naming conventions that are
	currently used for ProFTPD releases.

2009-12-11  castaglia <castaglia>

	* contrib/mod_tls.c: Be a little more verbose in the error messages
	logged for SSL_accept() failures.

2009-12-11  castaglia <castaglia>

	* doc/modules/mod_lang.html: Typo.

2009-12-10  castaglia <castaglia>

	* include/version.h: Update the CVS version.

2009-12-10  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Typo.

2009-12-10  castaglia <castaglia>

	* ChangeLog: Update the ChangeLog.

2009-12-10  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
	to release 1.3.3rc3 today.

2009-12-10  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/auth.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3352 - mod_sftp
	does not reject/close connections that have been rejected by
	mod_wrap.

2009-12-10  castaglia <castaglia>

	* contrib/mod_wrap.c: Specify the module version data in the module
	structure for mod_wrap.

2009-12-10  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#3351 - Nonchrooted logins on HPUX do
	not get proper UID/GID.

2009-12-10  castaglia <castaglia>

	* NEWS, modules/mod_auth_file.c, tests/t/config/authgroupfile.t,
	tests/t/lib/ProFTPD/Tests/Config/AuthGroupFile.pm, tests/tests.pl: 
	Bug#3347 - mod_auth_file handles 'getgroups' request incorrectly.

2009-12-10  castaglia <castaglia>

	* src/support.c: Updated fix for Bug#3350.

2009-12-10  castaglia <castaglia>

	* NEWS, src/support.c: Bug#3350 - Segfault caused by scrubbing
	zero-length portion of memory.

2009-12-09  castaglia <castaglia>

	* src/expr.c: Fix the logic for iterating over the session.groups
	list, and handling NULL names, in the pr_expr_eval_group_or()
	function as well.

2009-12-09  castaglia <castaglia>

	* src/expr.c, tests/api/expr.c: Fix segfault uncovered by Michael,
	where the pr_expr_eval_group_and() function would not handling NULL
	names in the session.groups list.  This also makes the code which
	iterates over the session.groups list look much saner.

2009-12-09  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3349 - SSL_SESSION_cmp not available
	in OpenSSL 1.0.0 betas.

2009-12-09  castaglia <castaglia>

	* contrib/mod_tls.c: Found another place where we want to do the "is
	this a renegotiation" check only for control connections, not for
	data connections.  Also quell a compiler warning using a typecast; OpenSSL-1.0.0-betaN
	uses more const'd types than previously.

2009-12-09  castaglia <castaglia>

	* contrib/mod_tls.c: Make sure that mod_tls can be compiled using
	OpenSSL-1.0.0-betaN; the UNSAFE_LEGACY_RENEGOTIATONS flag was
	changed after OpenSSL-0.9.8l.

2009-12-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test using
	a combined mod_sftp+mod_wrap2 configuration, for use in preventing
	regressions in the interactions between these modules.

2009-12-08  castaglia <castaglia>

	* doc/contrib/mod_ban.html: Add a FAQ about creating whitelists for
	mod_ban.

2009-12-07  castaglia <castaglia>

	* modules/mod_xfer.c: Additional change necessary for fixing
	Bug#3345.  Use of trace logging (or not) affects the errno value,
	and we need to make sure that the original errno value is preserved.

2009-12-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
	tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PASS.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm,
	tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STOU.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STRU.pm,
	tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/USER.pm,
	tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm,
	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/DELE.pm: Updating more
	testsuite tests to use the consistent `tests.log' log file.

2009-12-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/AllowOverwrite.pm,
	tests/t/lib/ProFTPD/Tests/Config/GroupOwner.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxInstances.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm,
	tests/t/lib/ProFTPD/Tests/Config/Order.pm,
	tests/t/lib/ProFTPD/Tests/Config/RequireValidShell.pm,
	tests/t/lib/ProFTPD/Tests/Config/StoreUniquePrefix.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutNoTransfer.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutSession.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutStalled.pm,
	tests/t/lib/ProFTPD/Tests/Config/UseFtpUsers.pm,
	tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm,
	tests/t/lib/ProFTPD/Tests/Signals/ABRT.pm,
	tests/t/lib/ProFTPD/Tests/Signals/HUP.pm,
	tests/t/lib/ProFTPD/Tests/Signals/SEGV.pm,
	tests/t/lib/ProFTPD/Tests/Signals/TERM.pm: Updating more of the
	testsuite tests to use `tests.log' as their output logging file, for
	consistency.

2009-12-07  castaglia <castaglia>

	* RELEASE_NOTES: Work on preparing the release notes for 1.3.3rc3.

2009-12-07  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: Correct the %description sections
	in proftpd.spec.

2009-12-06  castaglia <castaglia>

	* src/auth.c: When resolving '~' paths, the lookup is done via
	getpwnam(), not by using getpwuid().  Thus there is little gain (and
	there is a cost in terms of performance, since getpwuid() is used
	when listing directories) in calling pr_auth_get_home() from
	pr_auth_getpwuid().

2009-12-06  castaglia <castaglia>

	* NEWS, modules/mod_auth.c, src/auth.c,
	tests/t/lib/ProFTPD/Tests/Config/RewriteHome.pm: Bug#3348 -
	Rewriting of home directories via RewriteHome does not work for
	chrooted sessions.

2009-12-05  castaglia <castaglia>

	* doc/contrib/mod_sql_passwd.html: Updated the mod_sql_passwd doc to
	mention support of SHA256 and SHA512 passwords.

2009-12-05  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sql_passwd.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Bug#3344 -
	Support SHA256, SHA512 passwords in databases.

2009-12-03  castaglia <castaglia>

	* utils/scoreboard.c: Fix an "unreachable code" compiler warning,
	and clean up the code stylistically.

2009-12-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add unit tests
	showing that even when using SSL/TLS, resuming downloads of >2GB/4GB
	files via REST works properly.

2009-12-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/REST.pm: Add a test for
	resuming downloads of >4GB files as well.

2009-12-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/REST.pm: Add unit test for
	FileZilla's REST behavior over 2GB.  Modify all tests to output to the 'tests.log' file.

2009-12-02  castaglia <castaglia>

	* modules/mod_xfer.c: Typos.

2009-12-02  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Fix broken
	mod_ban+mod_ifsession test.

2009-12-02  castaglia <castaglia>

	* src/display.c: The displaying of multiline Display files was
	leaving off the last line in the file; now fixed.

2009-12-02  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/DELE.pm: Fix the DELE unit
	tests to handle different strerror(3) strings.

2009-12-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/RMD.pm: Fix broken RMD test.
	Rename the output log file to the 'tests.log' that is being used
	elsewhere in the testsuite.

2009-12-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
	tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Make the
	TestSuite::FTP client default to using passive data transfers, not
	active data transfers.  Fix up some warnings in the testsuite.

2009-11-30  castaglia <castaglia>

	* contrib/mod_sftp/channel.c, doc/contrib/mod_sftp.html: Handle
	multiple SFTPAcceptEnv directives if configured.  Add docs for the SFTPAcceptEnv directive.

2009-11-26  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Include EINVAL in the list of errno values
	we expect to see from PRE_CMD handlers.

2009-11-26  castaglia <castaglia>

	* modules/mod_xfer.c: Make sure that the PRE_CMD handlers for RETR,
	APPE, and STOR set appropriate errno values.  Remove some code that would never be executed.

2009-11-26  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3345 - mod_sftp
	returns EACCES rather than ENOENT for an OPEN request for a
	nonexistent file.

2009-11-24  castaglia <castaglia>

	* contrib/mod_sftp/channel.c, contrib/mod_sftp/mod_sftp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added SFTPAcceptEnv
	directive, for configuring which environment variables can be set by
	the client.

2009-11-23  castaglia <castaglia>

	* src/dirtree.c: Added note for myself for the future, about why
	<Directory> patterns aren't matching as I had assumed they would.

2009-11-22  castaglia <castaglia>

	* contrib/mod_sftp/compress.c: Rejigger the zlib inflate() code so
	that it doesn't use a switch statement inside of a while loop; the
	'break' statement is used in both, and it can be confusing from
	which block you are trying to escape.  This also fixes a warning about unreachable code, and adds a
	preemptive guard against trying to call memcpy(2) with a zero
	length.

2009-11-22  castaglia <castaglia>

	* contrib/mod_sftp/kex.c, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/packet.c: Close the SFTPLog descriptor at session
	exit.  Initialize some buffers (keeps Valgrind from whining about
	them).

2009-11-22  castaglia <castaglia>

	* modules/mod_auth.c: Close the scoreboard descriptor at session
	exit.

2009-11-22  castaglia <castaglia>

	* contrib/mod_sftp/kex.c: Forgot the return statement.

2009-11-22  castaglia <castaglia>

	* contrib/mod_sftp/kex.c, contrib/mod_sftp/kex.h,
	contrib/mod_sftp/mod_sftp.c: Fix another file descriptor leak in
	mod_sftp: the SFTPDHParamsFile is opened for the session (and has to
	remain open for the duration of the session, in order to be
	available for rekeying), but is not closed.  Now it is closed at
	session exit.

2009-11-22  castaglia <castaglia>

	* modules/mod_delay.c: While running mod_sftp through Valgrind, I
	found that mod_delay leaks an fd: it never closes the fd to the
	DelayTable, even after the table has been unloaded from memory.  Fix
	this.

2009-11-21  castaglia <castaglia>

	* contrib/mod_tls.c, tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: 
	Fix up some issues found in mod_tls when running its test cases.  First, as per Bug#3325, make the TLSRequired/AllowPerUser check a
	little smarter, so that the published AllowPerUser example in the
	TLS howto works properly, but the check still retains its validity.  When checking for client-initiated renegotiations, make sure we
	don't punish the client for *new* sessions for *data* connections.  Make sure that "TLSRequired auth" is enforced properly if the client
	is NOT using SSL/TLS.  Include MLSD in the list of commands which can trigger data
	transfers, and thus fall under the "TLSRequired data" checks.

2009-11-20  jwm <jwm>

	* contrib/mod_ldap.c: release 2.8.21, with backports from bzr trunk: CHANGES: * Implement an internal failover mechanism instead of relying on the
	  LDAP SDK's built-in failover (if any). Fixes failover regression
	  introduced in v2.8.19 when ldap_initialize() was first used.  * Multiple LDAP URL arguments may now be passed to LDAPServer:   LDAPServer ldap://127.0.0.1/??sub ldap://172.16.0.1/??sub * When setting whether to dereference LDAP aliases after connecting
	  to the LDAP server, treat failure as a hard failure and refuse to
	  continue with that LDAP server. Previously, failure when specifying
	  whether to dereference aliases would be logged but the connection to
	  that server would continue.  bzr r71:   - only log that we've successfully unbound if we've successfully
	  unbound - pr_ldap_connect() should always unbind on failure   - treat dereference option set failure in pr_ldap_connect() as a   - connection     failure; don't warn and keep plowing on bzr r77, r78:   Bug 3301 -  LDAP server failover does not work when
	  ldap_initialize() is available   fix LDAP server failover by implementing our own failover
	  mechanism instead of relying on the LDAP SDK's.    ldap server failover (space-separated list of hostnames in the
	  argument to LDAPServer) has been broken since 2.8.19 when
	  ldap_init() was replaced with ldap_initialize(), if available. as of
	  that commit, a LDAP URL is constructed if simple hostname(s) are
	passed to LDAPServer, so:     'LDAPServer "127.0.0.1 172.16.0.5"   was passed to ldap_initailize() as:     ldap://127.0.0.1 172.16.0.5/   Unfortunately, ldap_url_parse() treats this as a valid URL, but   ldap_intiailize() will not fail over to subsequent LDAP servers   should the first be unreachable.    ldap_initialize() *will* take a whitespace-separated list of LDAP
	  URLs and will fail over successfully, just not when
	  whitespace-separated hostname are passed to a *single* url (even if
	  the whitespace in the hostname portion of the URL is urlencoded as
	%20).    forget all of this SDK-based failover and implement our own
	  failover support, since afaict Sun's ancient LDAP SDK doesn't
	  implement failover and it's nice to be able to control it ourselves.    for that matter, we *need* to control it ourselves since we need
	  to use the search scope indicated by the URL at hand. chances are,
	  the search scope will be the same for all URLs passed to LDAPServer,
	  but to be completely correct, we should use the scope corresponding
	  to the current URL and ldap_initialize() provides no way to tell
	  what URL it wound up connecting to.

2009-11-20  castaglia <castaglia>

	* modules/mod_ls.c, tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: 
	Revisit the fix put in place for Bug#2367.  First, add the test case
	to the LIST testsuite, for regressions.  Then look at a different
	fix, a simpler one: remove the GLOB_PERIOD flag from the flags used
	when globbing.  This causes the test case to pass.  This is done in order to make possible another case: list a
	directory whose name legitimately contains a glob character ('[' in
	the case of one of the users in the online forums).  The previous
	fix for Bug#2367 prevented the proper listing of such a directory.
	The newer, simpler fix handles this legitimate directory name
	properly, while still preserving behavior which matches that of the
	shell.

2009-11-20  castaglia <castaglia>

	* modules/mod_ls.c: Fix up some of the code style in mod_ls.  Add handling of signals in the while() loops which iterate over
	globbed paths.  Removed the '{' character from the glob character checks; it is not
	a glob(3) character.

2009-11-19  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Try to make the requirement of using
	ssh-keygen to convert public keys to RFC4716 format clearer.

2009-11-19  castaglia <castaglia>

	* NEWS, src/bindings.c: Bug#3306 - ECONNREFUSED while handling
	SIGHUP.

2009-11-19  castaglia <castaglia>

	* lib/libltdl/.cvsignore: More auto-generated files to ignore.

2009-11-19  castaglia <castaglia>

	* configure: Updated configure.

2009-11-19  castaglia <castaglia>

	* configure.in: Handle empty CONFIG_SHELL values.

2009-11-19  castaglia <castaglia>

	* configure: Updated configure.

2009-11-19  castaglia <castaglia>

	* configure.in: Although it looks like LTDL_INIT(convenience) and
	LTDL_CONVENIENCE are the same, they are not.  So we need to use
	both.

2009-11-19  castaglia <castaglia>

	* Makefile.in: Comment out the target that might cause the machine
	to re-run autoconf.

2009-11-19  castaglia <castaglia>

	* configure: Updated configure.

2009-11-19  castaglia <castaglia>

	* configure.in: More libtool-2.2.4 tweaking fun.

2009-11-19  castaglia <castaglia>

	* configure: Updated configure.

2009-11-19  castaglia <castaglia>

	* lib/libltdl/m4/ltdl.m4: In order to avoid the very, very annoying
	error of:   configure: error: conditional "INSTALL_LTDL" was never defined.    Usually this means that the macro was only invoked conditionally.  I am manually removing the whole m4 support of _LT_ENABLE_INSTALL in
	the bundled libltdl.  ProFTPD is never going to make/provide an
	installable libltdl library.

2009-11-18  castaglia <castaglia>

	* configure: Updated configure.

2009-11-18  castaglia <castaglia>

	* Make.rules.in, configure.in: More libtool-2.2.4 tweaks, with help
	from Bob Friesenhahn.

2009-11-18  castaglia <castaglia>

	* aclocal.m4: Re-create our aclocal.m4 using the aclocal tool.

2009-11-18  castaglia <castaglia>

	* configure: Updated configure.

2009-11-18  castaglia <castaglia>

	* configure.in, modules/Makefile.in: Export the LTDLINCL variable
	from the configure script, so that we are no longer hardcoding the
	path to the directory containing the ltdl.h header.

2009-11-18  castaglia <castaglia>

	* Makefile.in, configure.in: More wrestling with libtool-2.2.4.  I
	am *really* not liking this 2.2.x release series.

2009-11-18  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Quelling compiler warnings.

2009-11-18  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#3342 - FEAT response contains LF
	without preceding CR.

2009-11-18  castaglia <castaglia>

	* tests/t/config/limit/rmd.t,
	tests/t/lib/ProFTPD/Tests/Config/Limit/RMD.pm, tests/tests.pl: Add
	regression test demonstrating how to make an undeletable directory
	using the <Limit> + Filter approach.

2009-11-18  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Update mod_sftp doc so that it's
	hopefully less confusing.

2009-11-17  castaglia <castaglia>

	* NEWS, contrib/mod_wrap2/mod_wrap2.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Bug#3341 -
	mod_wrap2 segfaults when a valid user retries the USER command.

2009-11-17  castaglia <castaglia>

	* NEWS: Bug#3331 - Update bundled libtool to 2.2.4.

2009-11-17  castaglia <castaglia>

	* configure: Updated configure.

2009-11-17  castaglia <castaglia>

	* Makefile.in, configure.in, modules/Makefile.in: More tweaks to the
	build files to make sure that mod_dso builds properly with the new
	version of libltdl/libtool.

2009-11-17  castaglia <castaglia>

	* lib/libltdl/.cvsignore: One more libtool file to ignore.

2009-11-17  castaglia <castaglia>

	* lib/libltdl/.cvsignore: More files to ignore with this new version
	of libtool.

2009-11-17  castaglia <castaglia>

	* lib/libltdl/ltdl.c: Backport the patch for the bugs found in
	libtool-2.2.6 to this 2.2.4 version.

2009-11-17  castaglia <castaglia>

	* lib/libltdl/Makefile.in, lib/libltdl/argz.c: Bug#3331 - Update
	bundled libtool to 2.2.4.

2009-11-17  castaglia <castaglia>

	* configure: Updated configure.

2009-11-17  castaglia <castaglia>

	* aclocal.m4, configure.in, lib/libltdl/Makefile.am,
	lib/libltdl/Makefile.in, lib/libltdl/README,
	lib/libltdl/aclocal.m4, lib/libltdl/argz_.h,
	lib/libltdl/config-h.in, lib/libltdl/config/compile,
	lib/libltdl/config/config.guess, lib/libltdl/config/config.sub,
	lib/libltdl/config/depcomp, lib/libltdl/config/install-sh,
	lib/libltdl/config/ltmain.sh, lib/libltdl/config/missing,
	lib/libltdl/configure, lib/libltdl/configure.ac,
	lib/libltdl/libltdl/lt__alloc.h, lib/libltdl/libltdl/lt__dirent.h,
	lib/libltdl/libltdl/lt__glibc.h, lib/libltdl/libltdl/lt__private.h,
	lib/libltdl/libltdl/lt__strl.h, lib/libltdl/libltdl/lt_dlloader.h,
	lib/libltdl/libltdl/lt_error.h, lib/libltdl/libltdl/lt_system.h,
	lib/libltdl/libltdl/slist.h, lib/libltdl/loaders/dld_link.c,
	lib/libltdl/loaders/dlopen.c, lib/libltdl/loaders/dyld.c,
	lib/libltdl/loaders/load_add_on.c,
	lib/libltdl/loaders/loadlibrary.c, lib/libltdl/loaders/preopen.c,
	lib/libltdl/loaders/shl_load.c, lib/libltdl/lt__alloc.c,
	lib/libltdl/lt__dirent.c, lib/libltdl/lt__strl.c,
	lib/libltdl/lt_dlloader.c, lib/libltdl/lt_error.c,
	lib/libltdl/ltdl.c, lib/libltdl/ltdl.h, lib/libltdl/m4/argz.m4,
	lib/libltdl/m4/libtool.m4, lib/libltdl/m4/ltdl.m4,
	lib/libltdl/m4/ltoptions.m4, lib/libltdl/m4/ltsugar.m4,
	lib/libltdl/m4/ltversion.m4, lib/libltdl/m4/lt~obsolete.m4,
	lib/libltdl/slist.c, ltmain.sh, modules/mod_dso.c: Bug#3331 - Update
	bundled libtool to 2.2.4.

2009-11-17  castaglia <castaglia>

	* config.guess, config.sub: Updating the config.guess and config.sub
	helper scripts.

2009-11-17  castaglia <castaglia>

	* install-sh: Updated the install-sh script.

2009-11-17  castaglia <castaglia>

	* doc/howto/Timestamps.html: Mention MFMT in the Timestamps howto.

2009-11-17  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Add the SFTP Extensions Draft to the
	list.

2009-11-16  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: Locking down more environment
	variables from SSH2 client tweaking.

2009-11-16  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: Add more barred environment variables
	to the list.

2009-11-16  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: Don't allow SSH2 clients to change the
	TZ environment variable, either.

2009-11-16  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: Add a few more environment variables
	that SSH2 clients are barred from sending/overriding in their
	session.

2009-11-16  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Adding some notes for my future self.

2009-11-16  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Make sure to advertise that the client can
	use the 'vendor-id' extension in the supported2 extension to the
	VERSION response.

2009-11-16  castaglia <castaglia>

	* src/dirtree.c: Simpler fix for Bug#3337.

2009-11-15  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: If the client sends the 'check-file'
	extension, do not disconnect the session if the requested checksum
	algorithm is not supported; simply send the failure STATUS message
	back.

2009-11-15  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Include the sticky bit when
	sending/receiving files/directories.

2009-11-15  castaglia <castaglia>

	* NEWS, src/dirtree.c,
	tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Bug#3337 -
	<Directory> sections with a trailing directory name of one character
	have <Limit> problems.  This is a regression caused by Bug#3146.

2009-11-14  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Check for READ/WRITE <Limit> sections
	pertaining to files being read/written for the 'check-file' and
	'copy-file' SFTP extensions.

2009-11-14  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Slightly nicer way of dealing with using
	O_NONBLOCK for open(3) when handling OPEN requests.  This way, we
	don't have to clear the O_NONBLOCK flag later.

2009-11-14  castaglia <castaglia>

	* configure: Updated configure script.

2009-11-14  castaglia <castaglia>

	* configure.in: Add use of the -Wunreachable-code compiler flag,
	where supported, when --enable-devel is used.  Make the use of the AC_DEFINE macro more consistent by providing the
	optional message in more places.

2009-11-14  castaglia <castaglia>

	* m4/proftpd.m4: Try to make the use of the AC_DEFINE macro more
	consistent with other occurrences by supplying a message.

2009-11-14  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Fix regression where SFTP downloads were
	not being logged via TransferLog; caused by the addition of the
	O_NONBLOCK to the fh_flags per Bug#3314.  Reported by Bernd
	Lommerzheim.

2009-11-14  castaglia <castaglia>

	* modules/mod_core.c: Add trace logging of the pr_netacl_t objects
	created via other config directives.

2009-11-14  castaglia <castaglia>

	* m4/proftpd.m4: Separate out the proftpd-specific autoconf macros
	from aclocal.m4 into this file.  Makes it easier to recreate a new
	aclocal.m4 file, containing macros from many different sources.

2009-11-13  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Fix typo in mod_sql docs.  Add description of the interaction between the
	useNormalizedGroupSchema SQLOption and custom SQLGroupInfo queries.

2009-11-13  castaglia <castaglia>

	* contrib/mod_sql_mysql.c: Typo.

2009-11-13  castaglia <castaglia>

	* NEWS, contrib/mod_sql_mysql.c: Bug#3333 - mod_sql_mysql should
	support calling stored procedures better.

2009-11-13  castaglia <castaglia>

	* NEWS, contrib/mod_wrap.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap.pm: Bug#3332 - Segfault
	in mod_wrap when TCPAccessFiles do not exist and client sends USER
	for account which does not exist.

2009-11-13  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Use defined constants rather than "magic"
	numbers.  Log any client-sent vendor information in the SFTPLog,
	rather than the TraceLog.

2009-11-13  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Make sure that we only send defined flag
	values in the statvfs@openssh.com extension response.

2009-11-13  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sftp/fxp.c,
	contrib/mod_sftp/fxp.h, contrib/mod_sftp/mod_sftp.c,
	doc/contrib/mod_sftp.html: Bug#3329 - Support the "vendor-id" SFTP
	extension.

2009-11-12  castaglia <castaglia>

	* doc/contrib/mod_ban.html: Adding a mod_ban FAQ, cleaning up a
	minor nit.

2009-11-11  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Make a note in the description of the
	Crypt SQLAuthType that crypt(3) only uses the first 8 characters of
	a password; this can have some surprising (depressing?) consequences
	for the unwary.

2009-11-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Limit/SubDirectories.pm: Add more
	tests for the fix for Bug#3077.

2009-11-10  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#3307 - Transparently handle the
	X-variant commands when checking <Limit> permissions.  The fix for
	this issue has been reimplemented to be more transparent; some
	existing configurations were broken by the previous implementation.

2009-11-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: For
	completeness, add a mod_quotatab unit test for RETR and the
	files_out limit.

2009-11-10  castaglia <castaglia>

	* contrib/mod_site_misc.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Make sure that
	SITE SYMLINK fails if the source path does not exist on the
	filesystem.  I thought that the symlink(2) system call would handle
	this for us, but apparently not (at least it doesn't on Mac OSX
	10.4, and thus potentially other platforms).

2009-11-10  castaglia <castaglia>

	* contrib/mod_quotatab.c: Add comment for my future self about why
	the have_quota_update flag is cleared before writing to the tally
	table, instead of after.

2009-11-10  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c: Bug#3328 - Failed database
	transaction can cause mod_quotatab to loop endlessly.

2009-11-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Add
	mod_quotatab test for RETR byte limits.

2009-11-09  castaglia <castaglia>

	* src/main.c: Make sure that the LC_NUMERIC locale category is
	always "C", regardless of what's in the environment when proftpd
	starts.

2009-11-09  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Fix some compiler warnings about
	signedness mismatches, and avoid an explicit cast, by redefining the
	buffer to use char, not unsigned char.

2009-11-09  castaglia <castaglia>

	* contrib/mod_quotatab.c: Before a copy, apply any
	QuotaExcludeFilter to the source path; the destination may not
	exist.  After a copy, apply any QuotaExcludeFilter to the
	destination path.  It's a little odd, but I think it makes sense
	this way.

2009-11-09  castaglia <castaglia>

	* contrib/mod_quotatab.c, contrib/mod_sftp/fxp.c: Give mod_quotatab
	the ability to track (and enforce) quota changes due to the copying
	of files now possible via mod_sftp's copy-file SFTP extension.  For
	testing this, I had to use a SITE COPY implementation.

2009-11-09  castaglia <castaglia>

	* contrib/mod_site_misc.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Advertise the
	supported SITE commands provided by mod_site_misc in the FEAT
	response.

2009-11-09  castaglia <castaglia>

	* contrib/mod_quotatab.c: In the pre-APPE handler, make sure to
	exclude files which match any configured QuotaExcludeFilter before
	checking the quota limits/tallies; if a file is excluded by the
	filter, it shouldn't run afoul of those limits/tallies.

2009-11-09  castaglia <castaglia>

	* contrib/mod_quotatab.c: Add checking of the path against a
	QuotaExcludeFilter in a few more places.  Add the setting of
	HAVE_WRITE_UPDATE in the pre-APPE handler, just as is done in the
	pre-STOR handler.

2009-11-09  castaglia <castaglia>

	* contrib/mod_tls.c: Remove the daemon-exit listener for the
	'core.exit' event in the session process; when the session process
	exits, it shouldn't send a 'core.exit' event to the daemon-exit
	listener.

2009-11-09  castaglia <castaglia>

	* RELEASE_NOTES, doc/contrib/mod_sftp.html: Mention the new SFTP
	extensions, and the SFTPExtensions directive, in the release notes.  Update the mod_sftp doc to cover the SFTPExtensions directive.

2009-11-09  castaglia <castaglia>

	* modules/mod_core.c: Fix minor issue where DELE on a symlink would
	cause the wrong size to be logged (the size of the target file, not
	the symlink, would be logged).

2009-11-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/DELE.pm: Add unit test for
	DELEs on symlinks.

2009-11-08  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/fxp.h,
	contrib/mod_sftp/mod_sftp.c: With the addition of various SFTP
	extensions to mod_sftp, it's a good idea to have a mechanism for
	disabling support for individual extensions as desired.  This will
	also come in handy later, for extensions which might be useful, but
	which need to be selectively enabled.  Thus this patch introduces a new SFTPExtensions directive.

2009-11-08  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Update the list of SFTP extensions
	supported by mod_sftp.

2009-11-08  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3320 - Support the "copy-file"
	SFTP extension.

2009-11-08  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Use a better errno value (EACCES) and
	remove redundant logging when Path{Allow,Deny}Filter settings apply
	to paths sent by the SFTP client.

2009-11-08  castaglia <castaglia>

	* src/fsio.c: Fix some issues found in pr_fs_copy_file():   - return an error if closing the destination file returned an
	  error - use nonblocking opens, in case the source/destination paths are
	FIFOs Also some stylistic changes.

2009-11-08  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3321 - Support the
	"check-file-name" and "check-file-handle" SFTP extensions.

2009-11-08  castaglia <castaglia>

	* contrib/mod_sftp/configure: Updated mod_sftp's configure script.

2009-11-08  castaglia <castaglia>

	* contrib/mod_sftp/configure.in, contrib/mod_sftp/mod_sftp.h.in: Add
	checks for support for SHA256 and SHA512 in OpenSSL to mod_sftp's
	configure script.

2009-11-07  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Skip adding version 1 to the 'versions'
	list; it's not allowed by Section 4.6 of the SFTP Draft.

2009-11-07  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Minor refinement to the version-select
	SFTP extension implementation.

2009-11-07  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3322 - Support the
	"version-select" SFTP extension.

2009-11-07  castaglia <castaglia>

	* NEWS, contrib/mod_tls_shmcache.c: Bug#3326 - Shared memory segment
	used for session cache should be protected via mlock(2).

2009-11-07  castaglia <castaglia>

	* NEWS, contrib/mod_tls_shmcache.c: Bug#3327 - Clear external SSL
	session caches on server restart/shutdown.

2009-11-07  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Ignore any size attribute that the SFTP
	client may send in an OPEN request; attempting to honor the
	suggested size by truncating the file during the OPEN can cause
	problems.  Size attributes sent in SETSTAT/FSETSTAT requests are
	still honored.

2009-11-07  castaglia <castaglia>

	* RELEASE_NOTES: Typo.

2009-11-07  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Mention that server-initiated SSL
	session renegotiations are still honored when possible.

2009-11-07  castaglia <castaglia>

	* configure: Updated configure for Bug#3311.  Also added automatic
	detection of build requests for mod_sql_passwd, so that the
	USE_OPENSSL flag can be automatically set when that module is
	requested, just as is done for mod_tls and mod_sftp.

2009-11-07  castaglia <castaglia>

	* NEWS, configure.in: Bug#3311 - configure script should
	automatically detect when -ldl is needed by OpenSSL.

2009-11-07  castaglia <castaglia>

	* contrib/mod_tls.c: Add the changes from Bug#3324 to deal with
	server-initiated session renegotiations when using OpenSSL 0.9.8l or
	later.

2009-11-07  castaglia <castaglia>

	* contrib/mod_tls.c: Handle signals in the diagnostic callback.

2009-11-07  castaglia <castaglia>

	* contrib/mod_tls.c: More work towards Bug#3324 - allow
	server-initiated session renegotiations whilst rejecting
	client-initiated session renegotiations.

2009-11-07  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Document the new
	AllowClientRenegotiations TLSOption.

2009-11-07  castaglia <castaglia>

	* RELEASE_NOTES: Update the release notes.

2009-11-07  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3324 - Vulnerability in SSL/TLS
	protocol during renegotiation (CVE-2009-3555).

2009-11-07  castaglia <castaglia>

	* doc/howto/TLS.html: Add a TLS FAQ, inspired by Bug#3247 (and its
	ensuing duplicates).

2009-11-06  castaglia <castaglia>

	* contrib/mod_tls.c, doc/howto/TLS.html: Remove the "TLSRenegotiate
	off" synonym; I had simply confused myself with the bad example
	config I'd written in the TLS howto (now fixed as well).

2009-11-06  castaglia <castaglia>

	* contrib/mod_tls.c: Allow "TLSRenegotiate off" as a synonym for
	"TLSRenegotiate none".

2009-11-06  castaglia <castaglia>

	* contrib/mod_tls.c: Include in the end-of-session
	EnableDiags-enabled stats the number of times a session was removed
	from the cache because the cache size was exceeded.

2009-11-06  castaglia <castaglia>

	* contrib/mod_tls.c: Ignore EAGAIN errors when the EnableDiags
	TLSOption is used; they just clutter up the TLSLog.

2009-11-06  castaglia <castaglia>

	* contrib/mod_tls.c: Remove spurious ""SSL_shutdown error:
	ZERO_RETURN" logging; it is not actually an error to encounter an
	SSL_ERROR_ZERO_RETURN value when shutting down the SSL/TLS session.

2009-11-06  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Add empty stubs of functions which will
	add the "standard" SFTP extensions to mod_sftp's VERSION response to
	SFTP clients.

2009-11-06  castaglia <castaglia>

	* contrib/mod_tls.c: Minor reordering of the logged SSL/TLS
	end-of-connection stats; this way the cache-related stats appear
	together.

2009-11-05  castaglia <castaglia>

	* modules/mod_ls.c: Make sure that we can handle symlinks whose
	target paths are long (e.g.  longer than 1K).

2009-11-05  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/keys.c,
	contrib/mod_sftp/scp.c, contrib/mod_sql_passwd.c, include/fsio.h,
	modules/mod_auth.c, modules/mod_log.c, src/fsio.c, src/log.c,
	src/xferlog.c: Switch to using nonblocking open(2) calls in many
	places, especially when handling log files.  This is to deal with
	the case where the log files configured are actually FIFOs; if the
	other end of the FIFO is not running, then a blocking open(2) would
	block indefinitely.  For example, configuring a FIFO for
	TransferLog, and not having the FIFO reader running, would hang the
	client session.  Now by using nonblocking open(2), we can detect
	such cases and handle them.  The opened fds are returned to blocking
	mode, assuming a successful open.

2009-11-05  castaglia <castaglia>

	* contrib/mod_sftp/auth.h, contrib/mod_sftp/keystore.c,
	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp_pam.c: Clean up a
	few warts and warnings.

2009-11-05  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding unit test for
	LIST output of a symlink when ShowSymlinks is enabled.

2009-11-05  castaglia <castaglia>

	* modules/mod_core.c, src/class.c, src/netacl.c: Add more trace
	logging about how <Class> rules are parsed and compared.  Fix some
	rule parsing cases which were not being handled properly.

2009-11-05  castaglia <castaglia>

	* tests/t/config/classes.t,
	tests/t/lib/ProFTPD/Tests/Config/Classes.pm, tests/tests.pl: Adding
	unit tests for various <Class> configurations and rules.

2009-11-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/UserPassword.pm: Add regression
	test for using UserPassword in an <Anonymous> section to create an
	effectively virtual user account.

2009-11-04  castaglia <castaglia>

	* RELEASE_NOTES, doc/modules/mod_cap.html, modules/mod_cap.c: 
	Support adding the CAP_FOWNER capability.

2009-11-04  castaglia <castaglia>

	* RELEASE_NOTES: Mention support for the OpenSSH extensions in the
	release notes.

2009-11-04  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c, doc/contrib/mod_sftp.html: Added support
	for the posix-rename@openssh.com OpenSSH SFTP extension.

2009-11-04  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: When handling RENAME SFTP requests, make
	sure to update the scoreboard with the name of "RENAME", not
	"REALPATH".  Sheesh.

2009-11-04  castaglia <castaglia>

	* doc/howto/Chroot.html: Add an example of constructing symlinks
	using relative paths; these types of symlinks stand a better chance
	of working properly within chrooted sessions.

2009-11-04  castaglia <castaglia>

	* NEWS, contrib/mod_wrap.c, include/log.h, src/log.c: Bug#3317 -
	mod_wrap/libwrap should honor SyslogFacility setting.

2009-11-04  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Update the mod_sftp doc to mention that
	the most up-to-date version is distributed with the ProFTPD source
	code.  Mention the support for OpenSSH's "statvfs@openssh.com" and
	"fstatvfs@openssh.com" SFTP extensions.

2009-11-04  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Document the use of the SSH_CONNECTION
	environment variable.

2009-11-04  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: Set the SSH_CONNECTION environment
	variable, using the same format as OpenSSH.

2009-11-04  castaglia <castaglia>

	* contrib/mod_sftp/auth.c: Make sure that callers can't use the new
	sftp_auth_send_banner() function to send USERAUTH_BANNER messages to
	the client after it has authenticated; this is not allowed by
	RFC4252.

2009-11-04  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/auth.c, contrib/mod_sftp/auth.h,
	contrib/mod_sftp_pam.c: Bug#3316 - Messages from PAM modules are
	ignored when authenticating SSH clients via 'keyboard-interactive'.

2009-11-03  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Mention the %u variable in the
	SFTPAuthorizedUserKeys directive description.

2009-11-03  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/keystore.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3315 - Support
	the %u variable in SFTPAuthorizedUserKeys paths.

2009-11-03  castaglia <castaglia>

	* configure: Updated configure.

2009-11-03  castaglia <castaglia>

	* configure.in: Add some more gcc warning flags to the list when
	--enable-devel is used, specifically -Wformat-security,
	-Wstack-protector, and -fstack-protector-all.

2009-11-03  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/fxp.h: Added support for
	the statvfs@openss.com and fstatvfs@openssh.com OpenSSH SFTP
	extensions.

2009-11-03  castaglia <castaglia>

	* NEWS: Pedantic correction: lseek(2), not lseek(3).

2009-11-03  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/scp.c, modules/mod_xfer.c: Bug#3314 -
	Downloading from FIFOs via SFTP/SCP fails.

2009-11-03  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c: Bug#3313 - Uploading via SFTP to
	FIFOs fails due to illegal lseek(3), truncate(2) calls.

2009-11-03  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Bug#3312 -
	Uploading via SFTP/SCP to FIFO whose reader is closed causes session
	to hang.

2009-11-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: On some platforms,
	ENXIO has a string representation of "Device not configured".

2009-11-03  castaglia <castaglia>

	* contrib/mod_sftp/packet.c: Adding reminder notes/comments for my
	future self.

2009-11-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Remove duplicate
	unit test entry from the list.

2009-11-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression test
	proving that setting a mode which contains S{G,U}ID bits is properly
	supported via SFTP.

2009-11-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding unit tests
	for Bug#3314.  These tests rely on having a FIFO-writing program
	open at /tmp/test.fifo, and thus do not run automatically as part of
	the testsuite.

2009-11-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding unit tests
	for Bug#3313.  These particular tests are a little odd in that they
	will have to be run manually; they require a FIFO-reading process to
	be running at /tmp/test.fifo (and I didn't feel like wrestling with
	Perl in order to fork off more processes in these tests).

2009-11-03  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Fix a segfault where a reason string was
	not being returned for an errno value which we were not
	expecting/handling.

2009-11-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
	tests for Bug#3312.  Note that I still need to run these tests on
	other platforms (Solaris, FreeBSD, Mac OSX), as I suspect that the
	errno value returned from a failed open(2) of a FIFO will vary quite
	a bit across the platforms.

2009-11-03  castaglia <castaglia>

	* modules/mod_xfer.c: Allow uploading to /dev/full on Linux; this is
	useful for testing how clients handle out-of-disk situations/errors.

2009-11-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
	uploading to /dev/full (Linux only), to simulate an out-of-disk
	situation.  (Turns out that Net::SSH2 does not propagate the
	WRITE/CLOSE error to the calling code; I need to file a bug with the
	module maintainer about this.)

2009-11-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add support for os_* tags
	to tests, so that certain tests can be targeted for specific
	OS/platforms (as determined by Perl's $^O variable).

2009-10-30  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap.pm: Adding unit tests
	for more of mod_wrap's directives.

2009-10-30  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap.pm,
	tests/t/modules/mod_wrap.t, tests/tests.pl: Start of unit tests for
	the mod_wrap module.

2009-10-30  castaglia <castaglia>

	* locale/fr_FR.po: Bug#3309 - Fix whitespace in MLST response when
	using the fr_FR locale.

2009-10-29  castaglia <castaglia>

	* RELEASE_NOTES, locale/Makefile.in, locale/zh_TW.po: Wei-Lun Chao
	contributed a Taiwan translation for proftpd.

2009-10-29  castaglia <castaglia>

	* contrib/mod_sftp/cipher.c: Quell compiler warnings about
	mismatched data types.

2009-10-28  castaglia <castaglia>

	* src/auth.c: Fixing another part of Bug#3307.

2009-10-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logins.pm: Adding more regression tests
	(and improving existing tests) for Bug#3307.

2009-10-27  castaglia <castaglia>

	* NEWS, src/auth.c, tests/t/lib/ProFTPD/Tests/Logins.pm: Bug#3307 -
	All FTP logins treated as anonymous logins.

2009-10-26  castaglia <castaglia>

	* contrib/mod_sql.c, modules/mod_log.c: Increasing the size of a
	couple more buffers in order to avoid inadvertently truncating file
	names.

2009-10-26  castaglia <castaglia>

	* modules/mod_log.c: Add some additional room for other ExtendedLog
	data.

2009-10-26  castaglia <castaglia>

	* modules/mod_log.c, src/log.c, src/main.c: Make the buffers used
	for logging and for reading client data depend on
	PR_TUNABLE_PATH_MAX, which in turn depends on MAXPATHLEN (if defined
	by the OS).  This makes sure that the buffers are at least large
	enough to deal with the longest path supported by the OS (e.g. 4K on
	a Linux 2.6 kernel).

2009-10-26  castaglia <castaglia>

	* doc/howto/Nonroot.html, doc/howto/index.html: Add the nonroot
	howto to the collection.

2009-10-23  castaglia <castaglia>

	* NEWS, lib/pr-syslog.c: Bug#3305 - Emulate Solaris 10 syslog
	"header" on Solaris 10 servers.

2009-10-23  castaglia <castaglia>

	* src/main.c: Initialize the xerrno variable, to quell a compiler
	warning.

2009-10-22  castaglia <castaglia>

	* src/inet.c: Pedantic comment typo correction.

2009-10-21  castaglia <castaglia>

	* tests/t/config/hidenoaccess.t,
	tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm, tests/tests.pl: 
	Add unit test for the HideNoAccess directive.

2009-10-21  castaglia <castaglia>

	* doc/howto/Scoreboard.html: Add scoreboard FAQ about "bad version
	(too old)" errors.

2009-10-21  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Added mod_sftp FAQ about ListOptions.

2009-10-21  castaglia <castaglia>

	* contrib/mod_tls.c: Cleanly shutdown the SSL/TLS session (if there
	is one) for TimeoutLogin as well.

2009-10-21  castaglia <castaglia>

	* src/main.c: Stash the errno value if select(), in the main loop,
	returns -1; this makes for better errno logging/reporting.  Also
	avoid trying to accept(2) a connection if the select() return value
	is -1.

2009-10-21  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3303 - FileZilla reports "Server did
	not properly shut down TLS connection" after TimeoutIdle triggered..

2009-10-20  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Markup error.

2009-10-20  castaglia <castaglia>

	* include/version.h: Bumped version to what will become 1.3.3rc3.

2009-10-20  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec, include/version.h: Getting versions
	ready for 1.3.3rc2 release.

2009-10-20  castaglia <castaglia>

	* NEWS: Mention the release date for 1.3.3rc2.

2009-10-20  castaglia <castaglia>

	* RELEASE_NOTES: Typos, corrections.

2009-10-20  castaglia <castaglia>

	* ChangeLog: Updated the ChangeLog.

2009-10-20  castaglia <castaglia>

	* RELEASE_NOTES: Adding more to the release notes, getting them
	ready for the release of RC2.

2009-10-20  castaglia <castaglia>

	* contrib/mod_sql_postgres.c: Minor tweaks to the Postgres
	NLS/encoding code.

2009-10-20  castaglia <castaglia>

	* RELEASE_NOTES: Point out a potential hazard with the delayed-open
	database connection policy and logging-only database configs.

2009-10-19  castaglia <castaglia>

	* contrib/mod_sql_postgres.c: The get_postgres_encoding() function
	is specific to mod_sql_postgres; no need to have its symbol be
	exported/visible outside of this file.

2009-10-19  castaglia <castaglia>

	* contrib/mod_sql_postgres.c: Quell minor compiler warning about the
	get_postgres_encoding() function when --enable-nls is used by
	providing a function prototype.

2009-10-19  castaglia <castaglia>

	* doc/howto/NAT.html: Fixed URL to IP Masquerade howto doc.

2009-10-14  castaglia <castaglia>

	* modules/mod_facts.c, tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: 
	Make sure that mod_facts uses 'cdir' or 'pdir' as the type in a MLSD
	response, rather than just 'dir', where appropriate.

2009-10-14  castaglia <castaglia>

	* modules/mod_auth_unix.c: Helps if we provide the data type for
	variables.

2009-10-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Add a test for when a
	session is chrooted, and fix the regexes used throughout these
	tests.

2009-10-14  castaglia <castaglia>

	* modules/mod_facts.c: Do a little resolution on the given MLSD
	path, trying to find a fuller, better path.  (This is particularly
	important for mod_vroot to function properly.)

2009-10-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Fixing quietly broken
	MLSD unit tests; they were using the wrong regex.

2009-10-13  castaglia <castaglia>

	* modules/mod_core.c, modules/mod_xfer.c: Found a few more cases
	where errno could be trampled by pr_trace_msg(), and thus requires
	brief caching.

2009-10-12  jwm <jwm>

	* contrib/mod_ldap.c: mod_ldap bzr r70:   2.8.20 release

2009-10-12  jwm <jwm>

	* contrib/mod_ldap.c: mod_ldap bzr r68:   ldap_server and ldap_port should be defined in the !(openldap   LDAP_VENDOR_VERSION >= 192) case mod_ldap bzr r67:   bump version date mod_ldap bzr r66:   fix reversed logic when keeping server/port settings for   non-ldap_initialize() SDKs.  mod_ldap bzr r65:   looks like ldap_{initialize,unbind_ext_s} are openldap-specific.
	  spleunk in the openldap cvs repo and only use these functions when
	  building against openldap and the vendor version is at least that in
	  which each of these functions was introduced.  mod_ldap bzr r64:   id tag doesn't make much sense with bazaar, but we'll keep it
	  there for when mod_ldap is committed to proftpd cvs

2009-10-12  castaglia <castaglia>

	* modules/mod_lang.c: When a locale is set, make sure to set it for
	the LC_COLLATE, LC_CTYPE, and LC_MONETARY categories as well.

2009-10-07  castaglia <castaglia>

	* NEWS, modules/mod_auth_unix.c: Bug#3300 - Support disabling use of
	S_RLOGIN when calling AIX loginrestrictions().

2009-10-07  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Add a little more description of the
	sftpUTF8ProtocolVersion config setting.

2009-10-06  castaglia <castaglia>

	* doc/howto/ServerType.html: Add a FAQ about another cause of
	slow/timed out logins.

2009-10-05  castaglia <castaglia>

	* contrib/mod_sql.c: Add more info to the mod_sql logs when handling
	(and looking up) named queries.

2009-10-05  castaglia <castaglia>

	* contrib/mod_sql.c: When processing named queries, log the named
	query being processed.

2009-10-05  castaglia <castaglia>

	* contrib/mod_rewrite.c, contrib/mod_shaper.c: Quell compiler
	warnings.

2009-10-05  castaglia <castaglia>

	* modules/mod_lang.c: Prevent segfault on second SIGHUP because the
	lang_aliases table was allocated out of a pool which no longer
	exists.  The fix is simple: when the memory pool is cleared, make
	sure to reset the lang_aliases pointer as well.

2009-10-05  castaglia <castaglia>

	* modules/mod_core.c: Just to be defensive, make sure that the
	EISDIR errno value exists before using it.

2009-10-05  castaglia <castaglia>

	* modules/mod_core.c, tests/t/lib/ProFTPD/Tests/Commands/DELE.pm: If
	a client tries to use DELE to remove a directory, return a better
	error message than "Opermation not permitted", i.e. use EISDIR.

2009-10-05  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm: Uncomment
	line to delete log file.

2009-10-05  castaglia <castaglia>

	* src/main.c: Fix the settings displayed so that we show either
	ncurses or ncursesw, but not both (related to Bug#3213).

2009-10-05  castaglia <castaglia>

	* contrib/mod_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: If the %T
	variable is used in a SQLLog query, AND the command in question uses
	session.xfer.p BUT does not involve a data transfer (e.g. RNFR),
	then a bad time value would be used.  Fix this.

2009-10-05  castaglia <castaglia>

	* modules/mod_facts.c: The recent change to using pr_response_add()
	for the MLST response lines means that we no longer need to
	explicitly add a leading space; that is handled automatically in the
	Response API.

2009-10-04  castaglia <castaglia>

	* NEWS, src/scoreboard.c, utils/ftptop.c: Bug#3214 - ftpwho/ftptop
	truncate UTF8 strings due to byte, versus character, lengths.

2009-10-04  castaglia <castaglia>

	* configure: Updated configure (for Bug#3213).

2009-10-04  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, src/main.c: Bug#3213 - Use
	locale-sensitive libncursesw library for ftptop where available.

2009-10-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add unit test for
	the iPAddressRequired TLSOption.

2009-10-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add a unit test
	demonstrating that when an FTPS client offers a cert, and the
	StdEnvVars TLSOption is used, the expected TLS_CLIENT_ environment
	variables are populated.

2009-10-04  castaglia <castaglia>

	* modules/mod_log.c: When parsing any potential log class names in
	an ExtendedLog directive, parse the names at parse time, rather than
	at connection time.  This way if there are unknown names configured,
	we can flag it as a configuration error, rather than (relatively)
	silently logging and ignoring the misconfiguration.

2009-10-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add a unit test for
	the StdEnvVars TLSOption.

2009-10-03  castaglia <castaglia>

	* modules/mod_log.c: Fix a minor bug where mod_log would skip a
	character if the LogFormat looked like a variable, but was in fact
	not one.  (I tried using "%{env:FOO}" instead of "%{FOO}e", and
	noticed that a character was being skipped in the handling of that
	"%{env:FOO}".)

2009-10-03  castaglia <castaglia>

	* modules/mod_log.c: Found a potential NULL pointer dereference when
	handling the ExtendedLog directive; added some signal handling and
	clarified the code while I was there.

2009-10-03  castaglia <castaglia>

	* contrib/mod_sql_passwd.c: Quell compiler warnings, too.

2009-10-03  castaglia <castaglia>

	* contrib/mod_sql_passwd.c: Typo.

2009-10-02  castaglia <castaglia>

	* NEWS, contrib/mod_ban.c, modules/mod_auth.c, src/main.c,
	src/scoreboard.c, tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: 
	Bug#3281 - TimeoutLogin not handled properly by mod_ban.

2009-10-02  castaglia <castaglia>

	* RELEASE_NOTES, doc/contrib/mod_sql.html: Update docs to reflect
	Bug#3290.

2009-10-02  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c, contrib/mod_sql.h,
	contrib/mod_sql_mysql.c, contrib/mod_sql_odbc.c,
	contrib/mod_sql_postgres.c, contrib/mod_sql_sqlite.c: Bug#3290 -
	Change default mod_sql connection policy to open database connection
	on first use.

2009-10-01  castaglia <castaglia>

	* doc/contrib/mod_ban.html: Forgot to mention MaxLoginAttempts as
	one of the events handled by BanOnEvent.

2009-10-01  castaglia <castaglia>

	* doc/contrib/mod_quotatab.html: Clarify the string to which a
	configured QuotaExcludeFilter is applied.

2009-10-01  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3298 -
	QuotaExcludeFilter directive ignored by mod_quotatab.

2009-10-01  castaglia <castaglia>

	* doc/contrib/mod_quotatab.html: Typo.

2009-10-01  castaglia <castaglia>

	* contrib/mod_sql_passwd.c, doc/contrib/mod_sql_passwd.html,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: While thinking
	about the salt last night, I decided that using "prepend" vs
	"append" as the config parameter names are a little clearer than
	"prefix" vs "suffix".  Time and users will tell how wise/clueless
	this was.

2009-10-01  castaglia <castaglia>

	* locale/files.txt: Remove a few duplicates (caused by symlinks and
	a working copy) from the list.

2009-10-01  castaglia <castaglia>

	* locale/Makefile.in, locale/files.txt: Updated locale/files.txt.

2009-10-01  castaglia <castaglia>

	* contrib/mod_rewrite.c: Quell compiler warning.

2009-09-30  castaglia <castaglia>

	* doc/contrib/mod_sql_passwd.html: Provide an example config using a
	salt file in the Usage section.

2009-09-30  castaglia <castaglia>

	* contrib/mod_sql_passwd.c: Fix bad grammar in a comment.

2009-09-30  castaglia <castaglia>

	* contrib/mod_sql_passwd.c, doc/contrib/mod_sql_passwd.html,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Make the use of
	a salt configurable in terms of whether the salt is used as a prefix
	or a suffix of the data to be hashed.

2009-09-30  castaglia <castaglia>

	* doc/contrib/mod_sql_passwd.html: Document the SQLPasswordSaltFile
	directive.

2009-09-30  castaglia <castaglia>

	* contrib/mod_sql_passwd.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Add a
	SQLPasswordSaltFile directive to the new mod_sql_passwd module; it
	is used to configure salts for the hashed passwords that
	mod_sql_passwd handles.  Doc update coming next.

2009-09-30  castaglia <castaglia>

	* contrib/mod_tls.c: Make sure that mod_tls does not cleanup OpenSSL
	if mod_sql_passwd is in use.

2009-09-29  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3296 -
	mod_quotatab should reject an upload via APPE if the quota is
	already exceeded.

2009-09-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/CWD.pm: Update regression test
	function names to match the names listed.

2009-09-29  castaglia <castaglia>

	* NEWS, src/fsio.c: Bug#3297 - Symlinks to directories which end in
	trailing slashes may not be handled properly.

2009-09-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/CWD.pm: Regression tests for
	Bug#3297.

2009-09-29  castaglia <castaglia>

	* doc/howto/Timestamps.html: Attempt to highlight that unexpected
	timestamps in directory listings are affected by the TimesGMT
	directive, not by chrooted processes.

2009-09-28  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#3295 - proftpd segfaults when STAT is
	used with ListOptions "-1".

2009-09-28  castaglia <castaglia>

	* tests/t/commands/stat.t,
	tests/t/lib/ProFTPD/Tests/Commands/STAT.pm, tests/tests.pl: Adding
	unit tests for the STAT command.

2009-09-28  castaglia <castaglia>

	* modules/mod_auth.c: If we have trouble resolving the chroot path,
	make sure we log the reason why.

2009-09-28  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Some SCP clients will quote the paths they
	send in their scp command, on the assumption that the handling
	server will use a shell for the scp command, and that shell will Do
	The Right Thing(tm) with regard to quoting.  This is not the case
	for mod_sftp, so we have to try to detect and remove such quotations
	ourselves.

2009-09-28  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: When handling an OPEN SFTP request,
	mod_sftp was not getting the "best" path for the requested path.
	This meant that mod_sftp was using the relative path provided by the
	client as-is -- and the FSIO API assumes that the requested paths
	will be absolute paths.  (This change is needed for mod_md5 to work
	properly when SFTP is used.)

2009-09-28  castaglia <castaglia>

	* contrib/mod_sftp/crypto.c: Update the 3des-ctr implementation to
	use OpenSSL's DES_encrypt3() function, which does the
	encrypt-decrypt-encrypt cycle in a single function.

2009-09-26  castaglia <castaglia>

	* contrib/mod_sftp/crypto.c: Make the 3des-ctr cipher work properly
	on big-endian machines.  Turns out that OpenSSL's DES_encrypt1()
	function (which seems to be the one necessary to use in order to be
	interoperable with PuTTy's 3des-ctr cipher implementation) expects
	to operate on *little-endian data*.  On a little-endian machine,
	this happens automatically.  But on big-endian machines, we need to
	swap the bytes of the data -- and the usual ntohl() functions don't
	work on big-endian machines (they're no-ops).  So I had to use my
	own byte-swapping function, and add a test for the machine
	endian-ness.

2009-09-25  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Mention the 3des-ctr cipher in the
	SFTPCiphers doc.

2009-09-25  castaglia <castaglia>

	* contrib/mod_sftp/crypto.c, contrib/mod_sftp/mod_sftp.h.in: Add
	support for the 3des-ctr cipher; tested using PuTTy-0.60.

2009-09-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Add unit test for the
	MLST command using an example of Greek letters, from one of the
	online forums threads.

2009-09-23  castaglia <castaglia>

	* RELEASE_NOTES: Mention custom HiddenStores prefixes in the release
	notes.

2009-09-23  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c,
	tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Bug#3294 - Support
	configurable HiddenStores prefixes.

2009-09-22  castaglia <castaglia>

	* contrib/mod_sftp/crypto.c: Fixed the Blowfish CTR code to handle
	endianness issues; now I can use the "blowfish-ctr" cipher using
	PuTTy-0.60 on my Intel machine.

2009-09-21  castaglia <castaglia>

	* src/inet.c: Pre-emptively update the code for Mac OSX 10.6
	machines.

2009-09-21  castaglia <castaglia>

	* modules/mod_facts.c: Use pr_response_add() instead of
	pr_response_send_raw(), and let the Response API handle the
	multi-line formatting of the response, rather than having to do it
	ourselves in mod_facts.

2009-09-21  castaglia <castaglia>

	* src/main.c: In the `proftpd -V' output, use two different strings
	to differentiate between the cases where uname(2) is not available
	on the platform, and where uname(2) returns an error for some reason
	(e.g. EPERM on virtualized servers).

2009-09-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Cut-n-pasto.

2009-09-17  castaglia <castaglia>

	* tests/t/config/limit/anonymous.t,
	tests/t/lib/ProFTPD/Tests/Config/Limit/Anonymous.pm, tests/tests.pl: 
	Add some unit tests for an <Anonymous> configuration using <Limit
	WRITE>; a forums post suggested that the limit might not be being
	applied as expected.

2009-09-17  castaglia <castaglia>

	* doc/howto/Chroot.html: Add FAQ about using multiple DefaultRoot
	directives at the same time.

2009-09-17  castaglia <castaglia>

	* contrib/mod_sftp/crypto.c: Disable the blowfish-ctr cipher for
	now.  It appeared to work properly last night on my PPC Mac OSX 10.4
	box, but this morning on my Ubuntu 9.04 Intel machine, it doesn't.
	I suspect endian-ness issues.

2009-09-17  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.h.in: Forgot to include the blowfish
	header.

2009-09-17  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Make sure that blowfish-ctr is listed
	in the docs.

2009-09-17  castaglia <castaglia>

	* contrib/mod_sftp/crypto.c: Add support for the blowfish-ctr cipher
	from RFC4344.

2009-09-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Add support for issuing the
	HOST command in the testsuite client.

2009-09-16  castaglia <castaglia>

	* contrib/mod_sftp/cipher.c, contrib/mod_sftp/keys.c,
	contrib/mod_sftp/mac.c: Clean up some minor compiler warnings.

2009-09-16  castaglia <castaglia>

	* contrib/mod_sftp/cipher.c: Some ciphers do not have IVs (e.g.
	RC4); make sure to handle this case properly.  (Without this, I was
	seeing strange memory corruption/errors.)

2009-09-16  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/cipher.c, contrib/mod_sftp/crypto.c,
	contrib/mod_sftp/crypto.h, contrib/mod_sftp/mod_sftp.c: Bug#3293 -
	SFTPCipher arcfour256 does not work properly.

2009-09-16  castaglia <castaglia>

	* src/privs.c: Make the "SETUP PRIVS" log message be at DEBUG9, like
	the other debug log messages generated when manipulating privs.

2009-09-16  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/crypto.c: Fix bug in mod_sftp's handling of
	AES CTR ciphers when an OpenSSL version between 0.9.7a and 0.9.7d is
	used; those versions of OpenSSL had buggy handling of the IV for the
	AES CTR (i.e. the IV was not handled in a big-endian fashion).

2009-09-16  castaglia <castaglia>

	* contrib/mod_sftp/crypto.c: Pedantic comment typo correction.

2009-09-16  castaglia <castaglia>

	* configure: Updated configure.

2009-09-16  castaglia <castaglia>

	* Make.rules.in, configure.in, contrib/mod_sftp/Makefile.in: Create
	an ADDL_CPPFLAGS variable in Make.rules, specifically so that
	contrib modules' Makefiles (for those contrib modules which have
	their own Makefile) can use any CPPFLAGS that may have been
	specified via environment variable.  Without this new variable, a
	contrib module Makefile would end up having duplicated/redundant
	CPPFLAGS values, or wouldn't have those CPPFLAGS propagated properly
	for the contrib module code.

2009-09-16  castaglia <castaglia>

	* contrib/mod_sftp/cipher.c, contrib/mod_sftp/mac.c: Minor
	adjustment to the debug logging of packet dumps, so that they are
	easier to pick out of the SFTPLog file.

2009-09-15  castaglia <castaglia>

	* modules/mod_core.c, src/dirtree.c, src/modules.c: Various
	stylistic cleanups generated while pursuing strange segfault.

2009-09-15  castaglia <castaglia>

	* src/auth.c: The previous change to populate the pool and tmp_pool
	fields for the cmd_rec that's dispatched to Auth callbacks had
	subtle and bad side effects.  Instead of using the given pool as
	that pool, create a subpool.

2009-09-15  castaglia <castaglia>

	* src/auth.c: Make sure that cmd->pool and cmd->tmp_pool are not
	NULL for the cmd_rec that is dispatched for the Auth callbacks.

2009-09-15  castaglia <castaglia>

	* tests/t/commands/host.t,
	tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Start working on unit
	tests for the HOST command, as part of Bug#3289.

2009-09-14  castaglia <castaglia>

	* src/session.c: When marking a session as idle, make sure that
	session.user is non-NULL; if not, using "(authenticating)".

2009-09-14  castaglia <castaglia>

	* src/dirtree.c, tests/t/lib/ProFTPD/Tests/Config/Limit/Filters.pm: 
	Set the errno appropriately for implicit denies.

2009-09-14  castaglia <castaglia>

	* doc/howto/Filters.html: Add example config for using AllowFilter
	to only allow specific filename extensions in a directory.

2009-09-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Limit/Filters.pm: Fix the broken
	AllowFilter unit test.  To make this particular config work, the
	Order directive is needed.

2009-09-12  castaglia <castaglia>

	* modules/mod_dso.c: Add more trace logging to help debug failed
	loading of DSO modules where the module symbol does not match the
	expected symbol name.

2009-09-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Limit/Filters.pm: Add a unit test
	for the AllowFilter functionality that is <Limit>-section specific.
	This unit test tests the STOR command, and a <Limit> section within
	a <Directory> section -- and the test fails.  So I still need to fix
	this before releasing 1.3.3rc2.

2009-09-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Looks like newer
	libssh2 versions have addressed some issues, though not all.

2009-09-09  castaglia <castaglia>

	* doc/contrib/mod_sql_passwd.html: Be sure to list the additional
	SQLAuthTypes provided by mod_sql_passwd.

2009-09-09  castaglia <castaglia>

	* RELEASE_NOTES, doc/contrib/mod_sql_passwd.html: Adding
	documentation for mod_sql_passwd.

2009-09-09  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Adding the required notice for using
	OpenSSL.

2009-09-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm,
	tests/t/modules/mod_sql_passwd.t, tests/tests.pl: Added unit tests
	for the mod_sql_passwd module.

2009-09-09  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sql.c, contrib/mod_sql.h,
	contrib/mod_sql_passwd.c: Bug#2368 -  Allow contrib modules to
	extend mod_sql's SQLAuthTypes.  This also includes a new
	mod_sql_passwd contrib module which can handle hex- and
	base64-encoded MD5 and SHA1 passwords, without the leading
	"{digest}" prefix required by the mod_sql OpenSSL SQLAuthType.

2009-09-08  castaglia <castaglia>

	* contrib/mod_sftp/auth.c: Add trace logging of the list of SSH2
	authentication methods that are offered to the client.

2009-09-08  castaglia <castaglia>

	* contrib/mod_sftp_pam.c: Remove the mod_auth_pam module from the
	auth-only module list before we add mod_sftp_pam to that list, to
	ensure that mod_sftp_pam is the module that is used.

2009-09-08  castaglia <castaglia>

	* modules/mod_auth.c: Clear the auth-only module list after
	authentication has succeeded.

2009-09-08  castaglia <castaglia>

	* include/auth.h, src/auth.c: Add functions for removing a module
	from the auth-only module list, and for clearing the entire
	auth-only module list.

2009-09-08  castaglia <castaglia>

	* src/bindings.c: The fix for Bug#2680 checks for DefaultServer too
	early; we want to check for any INADDR_ANY vhosts first, before
	resorting to using the DefaultServer (if configured).

2009-09-08  castaglia <castaglia>

	* contrib/mod_sftp/utf8.c: Simply mod_sftp's UTF8 handling code,
	bringing it in sync with the recent changes to the core Encode API.
	Specifically, do NOT call setlocale(), as it is already done
	elsewhere.  Also, use the new pr_encode_get_local_charset() instead
	of duplicating code from the Encode API.

2009-09-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Add unit tests to
	ensure than the use of ".UTF-8" aliases work properly for the
	LangDefault directive (and thus, by extension, for the LANG
	command).

2009-09-08  castaglia <castaglia>

	* modules/mod_lang.c: Skip the "." and ".." directory entries when
	scanning the LangPath directory.

2009-09-07  castaglia <castaglia>

	* NEWS: Forgot to update the NEWS file.

2009-09-07  castaglia <castaglia>

	* src/inet.c: Don't re-declare a variable that's already in scope.  Be paranoid, and only avoid ENOPROTOOPT errors if that errno is
	actually defined on the system.

2009-09-07  castaglia <castaglia>

	* src/inet.c: Needed to revert the fix for Bug#3237, as it was
	causing a regression on FreeBSD.  Instead, I opted to ignore the
	ENOPROTOOPT error, which was the original cause of the reporting of
	Bug#3237.

2009-09-07  castaglia <castaglia>

	* contrib/mod_quotatab.c: Quell a few compiler printf warnings by
	using explicit typecasts.

2009-09-07  castaglia <castaglia>

	* include/encode.h, modules/mod_lang.c, src/encode.c, src/main.c: 
	Bug#3229 - LangDefault does not accept any setting on FreeBSD.  There were multiple issues involved in this one.  First, mod_lang
	needed to handle setlocale(3) where the translated files shipped
	with proftpd (which do not have ".UTF-8" in their names) did not
	match the languages accepted by setlocale() on the platform (e.g.
	where setlocale() expected names which *did* end in ".UTF-8"); this
	is handled by populating a table of language aliases.  Second, the initial setlocale(LC_ALL, "") call, to pick up/honor the
	various environment variables as one would expect from a Unix
	program, was happening in quite a few places in mod_lang.  Not good.
	So this was moved into the main() function, as part of the initial
	startup.  And yes, it does check that the setlocale() function call
	succeeds, and warns about badly configured environment variables if
	not.  Last, we had to always set the LANG environment variable, in order
	to ensure that gettext used the translated files of the language to
	which we had switched.  While the old code would work on Linux (and
	on Solaris...I think), it would NOT work on FreeBSD (and possibly
	other BSD-related platforms).  It was a long arduous slog to finding
	that using LANG was required.  Ugh.

2009-09-07  castaglia <castaglia>

	* contrib/mod_sql_mysql.c: In the midst of investigating/fixing
	Bug#3229, I found out why MySQL never seemed to use anything other
	than 'latin1' as its character set name.  Mostly it was due to bugs
	in the proftpd Encode API, but it was also partly caused by an API
	impedance mismatch in mod_sql_mysql.  This change fixes that (and
	yes, I've tested it using a UTF-8 language setting, and saw that
	MySQL reported using a 'utf8' character set).

2009-09-05  castaglia <castaglia>

	* src/encode.c: Need to set the LC_NUMERIC locale back to "C" after
	calling setlocale() using LC_ALL.

2009-09-05  castaglia <castaglia>

	* src/encode.c: Make sure we do an explicit setlocale() call before
	calling nl_langinfo().  This needs to happen in the parent/daemon
	process (i.e. when encode_init() is first called), since the child
	processes will inherit the pointers in memory to the retrieved
	nl_langinfo string.

2009-09-04  castaglia <castaglia>

	* doc/howto/ConfigFile.html: Specifically mention that proftpd
	switches to the UID/GID of the logged-in user.

2009-09-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Add unit test
	proving that the FEAT output does not include UTF8 if the LangEngine
	directive is set to 'off'.

2009-09-04  castaglia <castaglia>

	* src/encode.c: Fix segfault found by the mod_lang unit tests.

2009-09-04  castaglia <castaglia>

	* RELEASE_NOTES: Update release notes with note about scoreboard
	format change; need to expand on this at release time, of course.

2009-09-04  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/auth.c, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/scp.c, include/scoreboard.h, modules/mod_auth.c,
	src/scoreboard.c, src/session.c, utils/ftptop.1.in, utils/ftptop.c,
	utils/ftpwho.c, utils/utils.h: Bug#2013 - Track RFC2228 sessions in
	scoreboard.  The scoreboard entry format now has a 'protocol' field,
	for tracking 'ftp' and 'ftps'.  Bug#3286 - Client command field in scoreboard entry too short for
	SSH2/SFTP commands.  These changes are combined in one change, in order to rev the
	scoreboard format version only once for these format changes.

2009-09-02  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: When handling SCP uploads/downloads, be
	sure to update the scorboard entry appropriately.  Since SCP doesn't
	have "commands" or "requests" (unlike FTP and SFTP), the scoreboard
	entry is updated with the quasi-commands "SCP_RETR" and "SCP_STOR".

2009-09-02  castaglia <castaglia>

	* contrib/mod_sftp/packet.c: Fix the logic for determining the
	random length of data to read, after a packet has been determined to
	be malformed.

2009-09-02  castaglia <castaglia>

	* contrib/mod_sftp/auth.c, contrib/mod_sftp/packet.c,
	include/proftpd.h, include/session.h, modules/mod_auth.c,
	src/data.c, src/main.c, src/session.c: Move the session_set_idle()
	into the session.c file, and make it a pr_ function.  This also
	updates mod_sftp to automatically mark the session as "idle"
	whenever it is waiting to read the next SSH2 message.

2009-09-01  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#3287 - MaxTransfersPerHost,
	MaxTransfersPerUser directives not supported properly.

2009-09-01  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Add SFTP FAQ about CBC cipher mode
	attacks.

2009-09-01  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/packet.c,
	contrib/mod_sftp/ssh2.h: Implement the recommended countermeasure
	for mitigating the SSH2 plaintext recovery attack against CBC mode
	ciphers described in CPNI-957037:   http://www.cpni.gov.uk/Docs/Vulnerability_Advisory_SSH.txt This also fixes a redeclaration of the SFTP_MAX_PACKET_LEN macro (it
	was being defined in both mod_sftp.h and ssh2.h).

2009-08-31  castaglia <castaglia>

	* doc/howto/Controls.html: Updating URLs and such in Controls howto.

2009-08-31  castaglia <castaglia>

	* contrib/mod_sftp/packet.c: Handle ESHUTDOWN, and add a comment
	about why we disconnect the client for these errors, rather than
	sending a DISCONNECT message first.

2009-08-31  castaglia <castaglia>

	* contrib/mod_sftp/packet.c: Handle a few more types of errors that
	we might encounter while reading from a socket.

2009-08-30  castaglia <castaglia>

	* src/session.c: Getting ready to support the "publickey" SSH2
	subsystem (RFC4819).

2009-08-28  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, src/dirtree.c: Bug#3279 - .ftpaccess
	configurations not merged properly with existing configuration.

2009-08-28  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: Be a little clearer in the
	TOO_MANY_CONNECTIONS disconnect message (but do NOT necessarily
	specify exactly whether it is too many connections for the user, or
	the host...we don't want to leak too much information).

2009-08-28  castaglia <castaglia>

	* contrib/mod_sftp/disconnect.c, contrib/mod_sftp/disconnect.h,
	contrib/mod_sftp/mod_sftp.c, modules/mod_auth.c: Make sure that
	mod_sftp registers event listeners for the various MaxClients and
	MaxConnections directive.  That way, just before mod_auth breaks the
	TCP connection, mod_sftp can send an SSH2 message to the client
	about the reason for the disconnection.

2009-08-28  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Typos, updating wording about channel
	window sizes (I now know why SSH2 has its own built-in flow control
	mechanisms, in addition to TCP's flow control).

2009-08-27  castaglia <castaglia>

	* NEWS, src/inet.c: Bug#3284 - Slower transfers of multiple small
	file transfers after upgrade from 1.3.0a to 1.3.2a.

2009-08-26  castaglia <castaglia>

	* contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h: Make sure
	that we do NOT increase the window size above the max possible
	window size of 2^32-1 bytes, as per RFC4254 Section 5.2.

2009-08-26  castaglia <castaglia>

	* contrib/mod_sftp/packet.c, contrib/mod_sftp/tap.c,
	contrib/mod_sftp/tap.h: Make sure that if a TAP packet is sent, it
	appears in the same TCP packet as the following "real" packet when
	possible.  I.e. make sure that the data for both the TAP packet and
	the real packet appear in the same writev(2) call, rather than
	having separate writev(2) calls (which ends up being separate TCP
	packets, which negates the whole purpose of trying to mitigate TCP
	traffic analysis via TAP packets).

2009-08-25  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Add unit test showing
	that using STOR to upload a file whose name contains multiple
	consecutive periods does indeed work as expected.  A user in the
	online forums is having an issue with this scenario; I suspect it is
	due to something in the proftpd.conf.

2009-08-25  castaglia <castaglia>

	* contrib/mod_sftp/kex.c, contrib/mod_sftp/tap.c,
	contrib/mod_sftp/tap.h: Rename the 'cbc-mode' TAP policy to
	'rogaway', to be more clear (and interesting).

2009-08-25  castaglia <castaglia>

	* contrib/mod_sftp/kex.c, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/tap.c, contrib/mod_sftp/tap.h: Protect against the
	Rogaway CBC mode attack (see RFC4251, Section 9.3.1) by sending
	IGNORE messages before every outgoing message if a CBC mode cipher
	is chosen for server-to-client messages.

2009-08-25  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Adding comment/note to myself for future
	tweaking.

2009-08-24  castaglia <castaglia>

	* contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h,
	contrib/mod_sftp/scp.c: Fix a rather egregious bug in the SCP
	download code.  We were reading the entire file being downloaded
	into memory, and sending (or buffering) the data for it BEFORE
	returning back to handling any messages which may have been sent by
	the client while we were reading.  If the file is larger than the
	default/initial window size, then we end up buffering.  We only
	drain that buffered data once the file had been read in its
	entirety, and we go back and handle any WINDOW_ADJUST messages,
	which then open the window again and we can drain our data.  Now imagine if that file is large, say, >4GB.  The client sends its
	WINDOW_ADJUST messages, but mod_sftp never gets around to listening
	to them for quite a while.  Not good.  The fix, then, is to have the
	SCP download code check the window size periodically.  If the window
	closes, then handle enough messages from the client until the window
	opens again.

2009-08-23  castaglia <castaglia>

	* src/pidfile.c: In the mod_sftp unit test for handling SIGTERM, I
	noticed that one of the configured SFTPHostKey files kept
	disappearing (as in, being deleted) once the server was shut down.
	Another mod_sftp user has reported seeing the same symptoms, only
	intermittently.  I was finally able to track down the cause.  Turns that the PidFile handling code was not being very careful
	about making sure that the static pidfile_path pointer kept pointing
	to the same memory.  The pointer used for looking up the PidFile
	directive was the same pointer; and if the lookup failed/changed,
	the pointer could change.  And, say, point at some other file.
	Then, when the server shut down and deleted its PidFile, well, that
	other file might be deleted.  Not desirable behavior.

2009-08-22  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: When mod_sftp is calculating the
	amount of data it can send in CHANNEL_DATA messages, it was taking
	the 9 bytes of header data (packet type, channel ID, payload len)
	into account when it should not.  For very large data transfers, it
	means that mod_sftp's idea of the open channel window size could get
	out of sync with the client.  And if the client didn't send a
	WINDOW_ADJUST message in time, it could lead to deadlock.  Let's
	hope this fixes that deadlock situation.

2009-08-19  castaglia <castaglia>

	* contrib/mod_sftp/auth.c: The mod_sftp module was looking up any
	DefaultChdir config directive, but was not honoring it properly.

2009-08-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
	DefaultChdir config in mod_sftp.

2009-08-19  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3282 - With
	"SQLNegativeCache on", mod_sql will look up wrong cached user value
	for subsequent USER commands.

2009-08-15  castaglia <castaglia>

	* tests/t/config/ftpaccess/merging.t,
	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm,
	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Merging.pm,
	tests/tests.pl: Adding unit tests derived from investigations into
	Bug#3279.

2009-08-15  castaglia <castaglia>

	* src/dirtree.c: Sigh; fix the spacing in these HideFiles log
	messages again.

2009-08-15  castaglia <castaglia>

	* modules/mod_ls.c: The tweaks to mod_ls' option parsing code for
	Bug#3268 were not quite sufficient; they would cause erroneous
	errors (e.g. on PPC machines) in some cases.

2009-08-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Add another unit
	test related to Bug#3276, this one demonstrating that "HideFiles
	none" works as expected.

2009-08-14  castaglia <castaglia>

	* src/dirtree.c: Fix the spacing of the log messages about negated
	(or not) HideFiles directives.

2009-08-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Add another unit
	test for Bug#3276, this one using DefaultRoot and a LIST command
	which doesn't specify the target directory (i.e. list the current
	directory).

2009-08-13  castaglia <castaglia>

	* NEWS, contrib/mod_radius.c, modules/mod_xfer.c, src/data.c: 
	Bug#3278 - Aborted data transfers not reflected in RADIUS
	accounting.

2009-08-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_radius.pm,
	tests/t/modules/mod_radius.t: Add unit tests for mod_radius.  I
	won't add these to the default testsuite (i.e. when mod_radius is
	enabled in the built proftpd), since they currently require that
	you're running a RADIUS server (e.g. FreeRADIUS).  But these help
	for when I need to work on mod_radius.

2009-08-13  castaglia <castaglia>

	* contrib/mod_radius.c: Fix compiler warnings about signedness
	mismatches.

2009-08-12  castaglia <castaglia>

	* modules/mod_core.c, src/dirtree.c: Add some additional debug
	logging of handling of HideFiles directive, and include the negation
	flag in the logging.  (Switched to using 'negated' rather than
	'inverted'; the former is more applicable, I think.)

2009-08-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Add HideFiles test
	using negation; used this test when investigating a HideFiles issue
	reported on forums.proftpd.org which is quite similar to Bug#3276.

2009-08-12  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Remove mention of the GB/MB suffixes
	for channelPacketSize; this size cannot exceed the protocol maximum
	of 35000 bytes.

2009-08-11  castaglia <castaglia>

	* doc/howto/Authentication.html: Orthographic correction.

2009-08-10  castaglia <castaglia>

	* NEWS: Had the bug number wrong; should be Bug#3252, not Bug#3272.

2009-08-10  castaglia <castaglia>

	* NEWS, src/fsio.c: Bug#3272 - %F/%f Display variables can report
	wrong size on 64-bit systems.

2009-08-06  castaglia <castaglia>

	* contrib/mod_sftp/rfc4716.c: Quibble, quibble.

2009-08-06  castaglia <castaglia>

	* contrib/mod_sftp/rfc4716.c: Thinko.

2009-08-06  castaglia <castaglia>

	* contrib/mod_tls.c: Add a function to get a printable version of a
	suspicious dNSName value; related to Bug#3275.

2009-08-06  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c,
	tests/t/etc/modules/mod_tls/ca-nul-subjaltname.pem,
	tests/t/etc/modules/mod_tls/cert-nul-subjaltname.pem,
	tests/t/etc/modules/mod_tls/key-nul-subjaltname.pem,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3275 - Improper
	SSL/TLS certificate subjectAltName verification.

2009-08-05  castaglia <castaglia>

	* src/encode.c: When comparing the local and remote charsets, in
	some cases we don't need to check for null pointers (already checked
	earlier in the function in those cases), and in other cases we *do*
	need to check for null pointers.

2009-08-05  castaglia <castaglia>

	* src/encode.c: [no log message]

2009-08-05  castaglia <castaglia>

	* modules/mod_lang.c: Try to make for better, more informative error
	messages if we fail to set the locale.

2009-08-05  castaglia <castaglia>

	* src/data.c: We handle signals in pr_data_xfer() when writiing; we
	should do the same when reading.

2009-08-05  castaglia <castaglia>

	* modules/mod_lang.c: Declaring the curr_locale variable in the
	right scope helps to make the code actually compile properly.

2009-08-05  castaglia <castaglia>

	* modules/mod_lang.c: When scanning the LangPath directory, we don't
	need to save/restore the current locale on each file found in the
	directory.  Just do the save/restore once for the entire scan loop.

2009-08-04  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Document the new "noReconnect" SQLOption
	added as part of Bug#3270.

2009-08-04  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c, contrib/mod_sql.h,
	contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Bug#3270 - Lost
	connections to databases not correctly handled.

2009-08-04  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/utf8.c, src/encode.c: Bug#3272 - Avoid
	encoding if to/from charsets are the same.

2009-08-04  castaglia <castaglia>

	* NEWS, src/support.c: Bug#3274 - Timestamp formatting in
	TransferLog needs padded day-of-month.

2009-08-02  castaglia <castaglia>

	* contrib/mod_sql_postgres.c: Log the Postgres client version to the
	SQLLogFile, and log it at the same time as we log the server
	version.  This will make finding/reporting these versions easier.

2009-08-02  castaglia <castaglia>

	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Report on the
	database client and server versions, when known.

2009-07-30  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Fix compilation error on AIX5.

2009-07-29  castaglia <castaglia>

	* NEWS, modules/mod_ls.c, src/fsio.c,
	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Bug#3254 - NLST/LIST and
	symbolic link problem.

2009-07-29  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Add unit test for LIST
	command for Bug#3254.

2009-07-28  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Some errno values are defined to be the
	same on AIX, which is causing mod_sftp not to compile properly:   http://forums.proftpd.org/smf/index.php/topic,3971.0.html Hopefully this change works around the issue and still preserves the
	desired functionality.

2009-07-27  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix unit test which
	broke due to changes in mod_sftp's SCP support for the %F variable.
	(The test code was broken, not the source code.)

2009-07-27  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: Missed one change from the weekend's
	mod_sftp hacking.

2009-07-27  castaglia <castaglia>

	* contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h,
	contrib/mod_sftp/fxp.c, contrib/mod_sftp/fxp.h,
	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/scp.c,
	contrib/mod_sftp/scp.h: Added an API by which a module, outside of
	mod_sftp, can register handlers for an 'exec' command.  This allows
	other modules to use SSH2 as the transport, and to implement
	whatever logic they wish outside of mod_sftp.  (There is an issue of
	code load order and link-time symbol resolution; for now, I'm
	punting on this issue.)

2009-07-26  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: It's possible for an SSH2 client to
	open a channel, and then send an 'exec' request which mod_sftp does
	not support.  We send a failure message in such cases, but the
	channel remains open.  So if the client ignores our error message
	and then sends channel data to the exec'd command, well...the
	process might wander off into the weeds.  Not desirable behavior.
	To catch this case, we simply need to make sure that a channel data
	handler has been registered.  If not, reject the packet.

2009-07-24  castaglia <castaglia>

	* contrib/mod_sql.c: To help find out why configurations may not
	work as expected, log when we search for a SQLNamedQuery and don't
	find it.  I just saw a config which had mismatched names between the
	configured SQLNamedQuery, and the name used in a SQLShowInfo
	parameter.

2009-07-23  castaglia <castaglia>

	* modules/mod_delay.c: Add a long explanatory comment about the
	DELAY_NPROTO value.  Also, the value of 4 was too high; we currently
	only support three protocols in the DelayTable: ftp, ftps, and ssh2.
	No need to allocate empty rows in the table.

2009-07-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Fix the
	broken test for Bug#3164 by adding a slight delay, to give our
	out-of-band update to the SQLite database time to be applied.

2009-07-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Add unit
	test for handling of DELE in mod_quotatab.

2009-07-23  castaglia <castaglia>

	* doc/howto/Quotas.html: Add another quota FAQ.

2009-07-23  castaglia <castaglia>

	* contrib/mod_rewrite.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Clean up dead code
	in mod_rewrite.c.  Check for bad/unknown RewriteCondition flags, and
	handle them as a configuration error.  Add unit test for the "[NC]" RewriteCondition flags.

2009-07-23  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Bug#3269 -
	RewriteCondition OR/ornext flag does not work.

2009-07-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Add a unit test
	showing that mod_rewrite's handling of RewriteConditions's OR flag
	is broken.

2009-07-22  castaglia <castaglia>

	* src/display.c: Fix a regression in the 1.3.3rc1 code, where a
	DisplayConnect file would be sent to the client -- and then an extra
	line with a 220 response code would be sent.  This, in addition to
	the 220 line with the normal banner.  The extra 220 response line
	was confusing some clients (and rightly so).

2009-07-22  castaglia <castaglia>

	* modules/mod_delay.c: Add paranoid check that an array pointer is
	non-null before we use it.

2009-07-21  castaglia <castaglia>

	* contrib/mod_sql.c: Add handling of signals in the loops which
	process the various info directives (e.g. SQLShowInfo, SQLLog, etc).
	Also use check_response() more throughout the code; this function
	checks for unrecoverable backend errors and -- depending on the
	config -- will disconnect the session if such an error occurs.

2009-07-21  castaglia <castaglia>

	* contrib/mod_sql.c: Make sure that mod_sql logs the corresponding
	"leaving func" message in some cases; it wasn't doing so.

2009-07-21  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Update the session.xfer.path field, when
	handling uploads via SCP, when we have received enough information
	from the client to know the full path.

2009-07-21  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: If mod_sftp is built using the RPM
	.spec file, then we need to take into account some of the config
	files that mod_sftp includes (e.g. blacklist.dat and dhparams.pem).

2009-07-21  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.h.in: Bump the mod_sftp version in CVS,
	to differentiate it from the version of mod_sftp available on
	castaglia.org.  The CVS version is vastly improved.

2009-07-21  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: Attempt to add support for mod_sftp
	to the .spec file.

2009-07-21  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, modules/mod_log.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#1908 -
	ExtendedLog to work properly in <Anonymous> context.

2009-07-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add a unit test for
	the %f/%F LogFormat variables when used for an SCP upload; I'm
	trying to reproduce a reported issue when using these variables and
	uploading via SCP, but to no avail as yet.

2009-07-21  castaglia <castaglia>

	* NEWS, modules/mod_ls.c,
	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Bug#3268 - Files whose
	names start with whitespace are not listed properly.

2009-07-21  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: More explanatory comments, for my future
	reference.

2009-07-21  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Add comment describing the implementation
	of the RENAME handler, and how it is technically nonconformant in
	particular cases.

2009-07-21  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Still trying to properly map the V5 OPEN
	flags/bitmasks to open(2) flags.

2009-07-20  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c, doc/contrib/mod_sftp.html: The STAT,
	FSTAT, and LSTAT SFTP requests are no longer limited when using
	<Limit READ>.  Instead, each of these requests can be limited by
	using the request name directly.

2009-07-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add a unit test
	using the %s LogFormat variable for write requests in an SFTP
	session; this complements the existing %s LogFormat variable test
	for SFTP read requests.

2009-07-20  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Clear the response lists before
	dispatching the STOR cmd_rec when handling aborted upload file
	handles in an SFTP session.

2009-07-20  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: If the SFTP client left a directory handle
	open, then we need to handle it as a *directory*, not as a file, in
	the aborted-handles code.  Otherwise, segfaults will happen.

2009-07-20  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Removed duplicated text.

2009-07-20  castaglia <castaglia>

	* contrib/mod_sftp/keys.c: Update the handling of the
	SFTPPassPhraseProvider config with tweaks found from working on
	mod_exec.

2009-07-20  castaglia <castaglia>

	* tests/tests.pl: Add support for a --verbose command-line option to
	the tests.pl testsuite driver.  Using --verbose will set the
	TEST_VERBOSE environment variable.  This is particularly useful when
	running the testsuite (or individual test files) as root using sudo;
	sudo (depending on the version) prevents environment variables from
	being communicated to the executed program.

2009-07-20  castaglia <castaglia>

	* NEWS, src/auth.c: Bug#2070 - AuthAliasOnly off in <Global> section
	kills anonymous logins.

2009-07-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Fix up minor issues
	in the test code found by the Perl interpreter in strict mode.

2009-07-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Limit/SubDirectories.pm,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fix variable
	redeclarations, and soothe the savage Perl interpreter beast.

2009-07-19  castaglia <castaglia>

	* tests/t/config/authaliasonly.t,
	tests/t/lib/ProFTPD/Tests/Config/AuthAliasOnly.pm, tests/tests.pl: 
	Add unit tests for the AuthAliasOnly directive, including a test
	which reproduces Bug#2070.

2009-07-19  castaglia <castaglia>

	* tests/t/config/authusingalias.t,
	tests/t/lib/ProFTPD/Tests/Config/AuthUsingAlias.pm, tests/tests.pl: 
	Add unit tests for the AuthUsingAlias directive.

2009-07-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm,
	tests/t/utils/ftpwho.t, tests/tests.pl: Start adding unit tests for
	the ftpwho utility.

2009-07-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Utils/ftpcount.pm,
	tests/t/utils/ftpcount.t, tests/tests.pl: Start of unit tests for
	the ftpcount utility.

2009-07-19  castaglia <castaglia>

	* contrib/mod_exec.c: When executing the command and the 'useStdin'
	ExecOption has been used, we should at least provide the first
	command-line argument, which, by convention, is the name of the file
	being executed.

2009-07-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Add unit test for
	the ExecOnRestart directive.

2009-07-19  castaglia <castaglia>

	* contrib/mod_exec.c: Add handling of signals to some while() loops.

2009-07-18  castaglia <castaglia>

	* contrib/mod_exec.c, tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: 
	Added unit tests for the various ExecOptions values.  Along the way,
	I found (and fixed) several bugs in mod_exec.  Three cheers for
	testing!

2009-07-18  castaglia <castaglia>

	* doc/contrib/mod_exec.html: Fix typos, update mod_exec doc to point
	to local copy of Logging howto.

2009-07-18  castaglia <castaglia>

	* tests/t/config/useglobbing.t,
	tests/t/lib/ProFTPD/Tests/Config/UseGlobbing.pm, tests/tests.pl: Add
	unit test for the UseGlobbing directive.

2009-07-18  castaglia <castaglia>

	* tests/t/config/userpassword.t,
	tests/t/lib/ProFTPD/Tests/Config/UserPassword.pm, tests/tests.pl: 
	Add unit test for the UserPassword directive.

2009-07-18  castaglia <castaglia>

	* doc/howto/TLS.html: Update the TLS howto FAQ regarding implicit
	FTPS to reflect the addition of implicit FTPS support (in Bug#3266).

2009-07-18  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c, doc/contrib/mod_tls.html,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3266 - Support
	"implicit" FTPS.

2009-07-17  castaglia <castaglia>

	* modules/mod_dso.c: If mod_dso can't load a module because the
	module doesn't exist in the expected ModulePath, it emits a warn.
	Log that at the INFO level, rather than at a DEBUG level.

2009-07-17  castaglia <castaglia>

	* modules/mod_ctrls.c: If ControlsEngine is set to 'off', then we
	should not try to listen on the ControlsSocket.

2009-07-17  castaglia <castaglia>

	* modules/mod_dso.c: Improve on the errors reported by mod_dso when
	a module can't be loaded.  The cause of the infamous "error loading
	...: Permission denied" error is actually most likely to be a
	ModulePath that is an empty directory, but you would have no way of
	knowing/guessing that from the emitted error.

2009-07-16  castaglia <castaglia>

	* configure: Forgot to check in the updated configure script.

2009-07-16  castaglia <castaglia>

	* doc/howto/Umask.html: Add a FAQ to the Umask howto explaining why
	proftpd does not allow uploading of files with execute permissions.

2009-07-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_shaper.pm,
	tests/t/modules/mod_shaper.t, tests/tests.pl: Start adding
	unit/regression tests for the mod_shaper module.

2009-07-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm: Add unit test for
	CreateHome's 'dirmode' parameter.

2009-07-15  castaglia <castaglia>

	* config.h.in, configure.in, src/main.c: Add an autoconf check for
	the uname() function, in case the platform does not actually provide
	one.  (Handy for older and/or more esoteric platforms).

2009-07-15  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Use the SFTP session's pool, rather than
	the Response API pool, for adding our status codes.

2009-07-15  castaglia <castaglia>

	* src/main.c: Use uname(2) to get more platform details (OS and
	version, machine/CPU type) for the -V settings.  Easier than asking
	people about the platform they're running proftpd on; just ask for
	the -V output.

2009-07-15  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Simplify the obtaining of proper open(2)
	flags when handling version 5 (and higher) SFTP OPEN requests.

2009-07-15  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Add unit test
	demonstrating, via mod_exec, a use of the new %{bytes_xfer}
	variable.

2009-07-15  castaglia <castaglia>

	* modules/mod_core.c: Add support for a %{bytes_xfer} variable.
	Similar to the existing %{total_bytes_xfer} variable, only this new
	variable only shows the number of bytes in the recent data transfer
	(if any), rather than the cumulated count of bytes transferred
	during the lifetime of the session.

2009-07-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
	the %s LogFormat variable in ExtendedLogs for SFTP requests.

2009-07-14  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Dispatch to the correct POST_CMD/LOG_CMD
	(or POST_CMD_ERR/LOG_CMD_ERR) handlers.  Specifically, do NOT
	dispatch EOF errors (when reading) to _ERR handlers; the way that
	SFTP reads work, this is normal.

2009-07-14  castaglia <castaglia>

	* contrib/mod_exec.c: Handle signals/interruptions in the
	potentially long/time-consuming loop as we close any open file
	descriptors before exec'ing the configured command.

2009-07-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Add a quote() method to the
	TestSuite::FTP class, for quoting raw/arbitrary commands to send to
	the server.

2009-07-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Add unit tests for
	ExecOnError.

2009-07-09  castaglia <castaglia>

	* contrib/mod_exec.c: Guard against having getrlimit(2) return an
	obscenely high number of maximum open file descriptions (e.g.
	RLIMIT_INFINITY); this was causing mod_exec to not work as expected
	on Mac OSX 10.4.

2009-07-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Add unit test for
	ExecOnExit.

2009-07-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Adding more
	mod_exec unit tests, including one for the "%{...}" variable
	support.

2009-07-09  castaglia <castaglia>

	* contrib/mod_exec.c: Add support for the Variables API-style
	"%{...}" variables to mod_exec's variable interpolation.  For
	example, you could now do:   ExecOnExit /bin/bash -c "echo %{total_bytes_out} >>
	  bytes-downloaded.txt" and it would work properly.

2009-07-09  castaglia <castaglia>

	* contrib/mod_exec.c: Fix off-by-one error which caused mod_exec to
	log all but the last parameter when calling exec.

2009-07-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm,
	tests/t/modules/mod_exec.t, tests/tests.pl: Start working on unit
	tests for the mod_exec module.

2009-07-08  castaglia <castaglia>

	* lib/sstrncpy.c: Catch a possible null pointer exception in
	sstrncpy(), if the src pointer provided by the caller is null.

2009-07-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Allow the Port that
	appears in the testsuite proftpd.conf files to be settable directly
	by the unit test.

2009-07-08  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Oops.  We only want to set the O_RDONLY
	flag, not to obliterate any other bits/flags set to only have
	O_RDONLY.

2009-07-08  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Attempt to work around bugs in SFTP
	clients using protocol version 5 or higher whose OPEN requests do
	not include the proper bits set for indicating whether O_RDONLY,
	O_RDWR, or O_WRONLY should be used.  The workaround is to attempt to
	infer which of the O_ flags to use from the other bits the client
	might have provided.

2009-07-06  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#2758 - ProFTPD doesn't always pay
	attention to AccessDenyMsg.

2009-07-06  castaglia <castaglia>

	* tests/t/config/accessdenymsg.t,
	tests/t/lib/ProFTPD/Tests/Config/AccessDenyMsg.pm, tests/tests.pl: 
	Add unit tests for the AccessDenyMsg config directive.

2009-07-06  castaglia <castaglia>

	* tests/t/config/accessgrantmsg.t,
	tests/t/lib/ProFTPD/Tests/Config/AccessGrantMsg.pm, tests/tests.pl: 
	Add unit tests for the AccessGrantMsg config directive.

2009-07-06  castaglia <castaglia>

	* tests/t/config/useralias.t,
	tests/t/lib/ProFTPD/Tests/Config/UserAlias.pm, tests/tests.pl: Add
	unit tests for the UserAlias config directive.

2009-07-05  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Handle the NAMED_ATTRS read and write
	flags in a SFTP open request, protocol version 5 or later.  Also be
	sure to handle the case where the client may send desired access
	flags which seem to be read-only, but also send open flags which
	indicate append.

2009-07-05  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Make sure to dispatch {POST,LOG}_CMD_ERR
	commands for aborted SFTP files, so that modules like mod_exec's
	ExecOnError can work properly.

2009-07-05  castaglia <castaglia>

	* contrib/mod_sftp/scp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: The mod_sftp module
	was not honoring a configuration like:   <Limit WRITE>     DenyAll   </Limit>   <Directory ~/*/*>     <Limit STOR>       AllowAll     </Limit>   </Directory> the same way between SFTP and SCP uploads.  SFTP uploads were
	allowed properly, but SCP uploads were not.  Turned out to be a
	problem with the path that was being used in the dir_check() calls
	in the SCP code; the full path was not being used as it should.  Also fixed a problem where an SCP client might send duplicate
	filename info (once in the channel request, once in the fileinfo
	control message).

2009-07-04  castaglia <castaglia>

	* src/main.c: Install our signal handlers earlier in the startup
	process.  The driving force behind this change is to get our SIGSEGV
	handler installed prior to parsing the config file; this way if a
	segfault occurs AND --enable-devel=stacktrace has been used, we can
	get the stack trace for a parsing segfault.  By the time the signal handlers were being installed (i.e. after
	parsing) this would not have been possible.

2009-07-04  castaglia <castaglia>

	* doc/howto/Filters.html: When compiling POSIX regular expressions
	using patterns which include character classes like 'blank' et al,
	you DO need to use two square brackets, not just one.

2009-07-04  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
	contrib/mod_sftp/fxp.c, contrib/mod_sftp/kex.c,
	contrib/mod_sftp/service.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3265 - SFTP
	requests are logged to ExtendedLog without regard to classes.  The cmd_rec.class field needed to be set on the SSH2 and SFTP
	cmd_recs used.

2009-07-03  castaglia <castaglia>

	* NEWS, contrib/mod_sftp/mod_sftp.c: Bug#3263 - Supplying optional
	SFTPRekey timeout parameter causes segmentation fault.

2009-07-01  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Mention that --enable-openssl can be
	used to enable the OpenSSL SQLAuthType.

2009-07-01  castaglia <castaglia>

	* include/version.h: Update the version.h file for the next RC
	release.

2009-07-01  castaglia <castaglia>

	* ChangeLog: Updated ChangeLog.

2009-07-01  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec,
	include/version.h: Updating the files for the release of 1.3.3rc1.

2009-07-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Update mod_tls unit
	tests to reflect behavior of newer Net::FTPSSL Perl module.

2009-07-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Quell Perl
	interpreter warnings about redeclared variables.

2009-07-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: More
	handling of spelling differences across systems.

2009-07-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/TimeoutLogin.pm: Cleanup of these
	older tests.

2009-07-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm: Account for
	spelling differences among different systems.

2009-07-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Fix the use of regexes
	in the unit tests; I was comparing the two operands in the wrong
	order.

2009-07-01  castaglia <castaglia>

	* modules/mod_auth.c,
	tests/t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm: Setting
	"MaxLoginAttempts 1" would cause even the first login to fail, which
	is not the desired behavior.  (The auth_tries variable was
	incremented using a prefix operator, rather than postfix operator.) The code was also not properly honoring the seldom-used
	"MaxLoginAttempts none".  Adjust MaxLoginAttempts unit tests accordingly.

2009-07-01  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Modify ABOR tests to
	handle different response codes/messages depending on the particular
	timing of the handling of the ABOR by proftpd.

2009-07-01  castaglia <castaglia>

	* modules/mod_xfer.c: Fix possible segfault (picked up by a unit
	test) when a data transfer is aborted.

2009-06-30  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Typo.

2009-06-30  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/HELP.pm: Update the HELP unit
	test to work properly in the case where mod_tls is present.

2009-06-30  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Typo.

2009-06-30  castaglia <castaglia>

	* src/help.c: Actually make the code do what the comment (correctly)
	says it does.

2009-06-30  castaglia <castaglia>

	* RELEASE_NOTES: Mention the support for TimeoutLogin for the
	BanOnEvent directive.

2009-06-30  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Correct the
	unit test which defines custom SQLGroupInfo queries; the group
	lookup by member query was incorrect.

2009-06-30  castaglia <castaglia>

	* RELEASE_NOTES, doc/contrib/mod_sql.html: Working on documentation
	for new/changed features for the upcoming 1.3.3rc1 release.

2009-06-30  castaglia <castaglia>

	* NEWS, modules/mod_auth.c, modules/mod_core.c, src/dirtree.c: 
	Bug#3243 - Broken support for AllowOverride per user/group/class
	conditionals.

2009-06-30  castaglia <castaglia>

	* modules/mod_cap.c: Use pr_module_exists() consistently; it more
	accurately describes the check that is being made.

2009-06-30  castaglia <castaglia>

	* NEWS, doc/modules/mod_cap.html, modules/mod_cap.c: Bug#3257 -
	CAP_AUDIT_WRITE capability needed for some PAM modules.

2009-06-30  castaglia <castaglia>

	* contrib/mod_sql_odbc.c: Fix some compiler warnings about shadowed
	variables in mod_sql_odbc.

2009-06-30  castaglia <castaglia>

	* contrib/mod_sql_mysql.c, contrib/mod_sql_odbc.c,
	contrib/mod_sql_postgres.c, contrib/mod_sql_sqlite.c: Bug#3259 -
	Adding second database connection causes segfault.  The array_header
	containing the conn_entry_t objects was allocated using the
	incorrect data size.

2009-06-30  castaglia <castaglia>

	* tests/t/config/limit/subdirs.t,
	tests/t/lib/ProFTPD/Tests/Config/Limit/SubDirectories.pm,
	tests/tests.pl: Add unit test demonstrating how Bug#3077 can cause
	some unexpected <Limit> configurations, due to need to handle the
	X-variant commands.

2009-06-30  castaglia <castaglia>

	* contrib/mod_tls.c: Fix a bug in mod_tls' parsing of the
	TLSRenegotiate directive, as per:   https://bugzilla.redhat.com/show_bug.cgi?id=476847 No one was nice enough to report that bug in the ProFTPD Bugzilla,
	though.

2009-06-29  castaglia <castaglia>

	* contrib/mod_sql.c, contrib/mod_sql_postgres.c: Bug#3251 -
	mod_sql_postgres should be more verbose when failing the "Backend"
	SQLAuthType check.

2009-06-29  castaglia <castaglia>

	* contrib/mod_sql_mysql.c: Stylistic nits; no functional change.

2009-06-29  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#3258 - Log cluttered with "using
	sendfile capability" messages.

2009-06-29  castaglia <castaglia>

	* doc/contrib/mod_sql_sqlite.html: Mention that SQLite-3.6.5 or
	later is required for mod_sql_sqlite to properly support SQLLog
	directives for chrooted processes.

2009-06-29  castaglia <castaglia>

	* contrib/mod_sql_sqlite.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Fix
	mod_sql_sqlite to work properly, with regard to SQLLog updates, in a
	chrooted process.  Note that this only works for SQLite-3.6.5 and
	later.  Also add slightly more information if the database file for
	mod_sql_sqlite cannot be opened, or when the SQLLog query fails
	because the file cannot be opened.  Add an accompanying unit test for the chrooted behavior of
	mod_sql_sqlite.

2009-06-25  castaglia <castaglia>

	* doc/howto/SQL.html: Replace the URLs to castaglia.org with URLs to
	proftpd.org.

2009-06-24  castaglia <castaglia>

	* src/main.c: If --enable-devel=stacktrace is used, then an
	asynchronous handler for SIGSEGV is installed.  That handler doesn't
	go through pr_signals_handle(), so we need to make sure that the
	table code knows that it's still in a signal-handling state for this
	SIGSEGV handler.

2009-06-23  castaglia <castaglia>

	* RELEASE_NOTES: Update the release notes; I still need to flesh out
	the descriptions more before doing the 1.3.3rc1 release.

2009-06-22  castaglia <castaglia>

	* NEWS, src/main.c: Bug#3256 - "SO_OOBINLINE" error occuring again.
	This is a regression of Bug#2332, caused by code movement in 1.3.2.

2009-06-22  castaglia <castaglia>

	* src/fsio.c: The bug in pr_fsio_futimes(), where we were not
	calling the proper futimes() handler, occurred in pr_fsio_faccess()
	as well; it would result in another segfault, if the registered FS
	did not provide a faccess() handler.

2009-06-22  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: If no DeleteAbortedStores appears in the
	proftpd.conf, then the callback which closes any open filehandles
	could segfault, trying to deference a null pointer.  Check for this,
	and handle it appropriately.

2009-06-22  castaglia <castaglia>

	* src/fsio.c: If pr_fsio_utimes() or pr_fsio_futimes() succeeds,
	clear the statcache; the file metadata is now stale, and needs to be
	refreshed.  In pr_fsio_futimes(), we were calling the wrong futimes() handler.
	Use the right one, i.e. the one found by the while() loop.

2009-06-22  castaglia <castaglia>

	* src/fsio.c: Include utimes(2), futimes(3) in the debug output for
	a registered FS object.

2009-06-22  castaglia <castaglia>

	* doc/howto/Limit.html: Mention that the parsing rules for AllowUser
	pertain to DenyUser as well.

2009-06-21  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3247 -
	"TLSRequired auth" and "TLSOptions AllowPerUser" are incompatible.

2009-06-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Turns out that using the
	exit code from the `proftpd' binary for determining
	successful/failure of server startup is not that reliably, sadly.
	So now the PidFile is used for sending a signal to the server; if
	that succeeds, then the server has started successfully.

2009-06-21  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: If the server fails to
	start, throw an exception, rather than letting the caller assume
	that the server started successfully.

2009-06-21  castaglia <castaglia>

	* tests/t/config/ftpaccess/empty.t,
	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm, tests/tests.pl: 
	Add unit test for an empty .ftpaccess file, for
	investigating/regressing Bug#3240.

2009-06-21  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3253 -
	Support for %S variable in SQL queries.

2009-06-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Allow unit tests to
	specify the User, Group names to use in the generated config file,
	if needs be.

2009-06-20  castaglia <castaglia>

	* src/fsio.c: Check for an ENOSYS errno when using futimes(2), in
	case the platform provides a stub which does not actually do
	anything.  Fallback to using utimes(2) if this happens.

2009-06-20  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: When mod_sftp handles a restart, it
	needs to clear any passphrases held in memory.

2009-06-20  castaglia <castaglia>

	* contrib/mod_sql.c: Adjust the ordering of the custom SQLNamedQuery
	optional queries which can be used for customizing SQLUserInfo.  In
	particular, we need to add the ability to specify the query to look
	up a user given a UID; this is useful for modules like mod_quotatab,
	which may need to find the owner user/group for a file based on that
	file's owner UID/GID.

2009-06-20  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Fix format warning about data type
	mismatches; this warning only occurs on 64-bit machines.  An
	explicit cast to the supported off_t type (or its nearest
	equivalent) is all that's needed here.

2009-06-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm,
	tests/t/modules/mod_cap.t, tests/tests.pl: Start on unit tests for
	the mod_cap module.

2009-06-19  castaglia <castaglia>

	* tests/t/config/allowoverwrite.t,
	tests/t/lib/ProFTPD/Tests/Config/AllowOverwrite.pm, tests/tests.pl: 
	Add unit tests for the AllowOverwrite directive.

2009-06-19  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: When setting attributes on a file, make
	sure that we check the client-sent attribute flags in the same way
	as when we parse those attribute values (i.e. be sure to be protocol
	version-specific when necessary).  Otherwise we might do the wrong
	thing if the client sends a badly flagged request.

2009-06-10  castaglia <castaglia>

	* configure: Updated configure.

2009-06-10  castaglia <castaglia>

	* configure.in: Trying to compile proftpd using "--enable-nls
	--with-shared=mod_lang", in order to build mod_lang as a shared
	module, was causing the configure script to complain of duplicate
	build requests.  Fix this.

2009-06-10  castaglia <castaglia>

	* NEWS, contrib/mod_ban.c, doc/contrib/mod_ban.html: Bug#3249 -
	mod_ban support for TimeoutLogin.

2009-06-09  castaglia <castaglia>

	* modules/mod_core.c: If the SITE CHGRP/CHMOD commands are denied by
	<Limit> sections, set errno to EACCES, so that hopefully the user's
	client can receive a more helpful error response code.

2009-06-09  castaglia <castaglia>

	* modules/mod_core.c: Add debug logging when the SITE CHMOD/CHGRP
	commands are denied because of <Limit> sections in the
	configuration.

2009-06-03  castaglia <castaglia>

	* contrib/mod_sftp/auth.c: Make sure that any configured
	SFTPDisplayBanner is only sent once to the connecting client.

2009-06-03  castaglia <castaglia>

	* contrib/mod_sftp/keys.c: Add a missing PRIVS_RELINQUISH call.
	Adjust spacing in that same area, so that the formatting is
	consistent.

2009-05-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add test case to
	make sure that RootLogin works properly in mod_sftp.

2009-05-27  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Fix typo in
	mod_rewrite PORT rewriting config.

2009-05-27  castaglia <castaglia>

	* doc/howto/Rewrite.html: Fix typo/omission in Rewrite howto.

2009-05-27  castaglia <castaglia>

	* contrib/mod_sftp/auth.c: Properly honor RootLogin (and its
	absence) in mod_sftp.  This includes generating the
	'mod_auth.root-login' event, just as mod_auth does.

2009-05-27  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.logrotate: Bug#3245 - proftpd.logrotate
	assumes location of `kill' command.  Simply rely on PATH to find the
	appropriate location.

2009-05-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Add test showing that
	a file with leading whitespace in its name can be downloaded.

2009-05-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Yet more
	redundant variables removed.

2009-05-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: More redundant
	variables removed.

2009-05-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm: Remove another
	redundant variable declaration.

2009-05-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Remove redundant
	variable declaration.

2009-05-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Add unit test
	demonstrating that upload a file whose name begins with whitespace
	is possible.  Update all tests to use 'tests.log' as the logfile name.

2009-05-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm,
	tests/t/modules/mod_ifsession.t: Start working on unit tests for
	mod_ifsession's functionality.  This first test is inspired/used for
	verifying Bug#3243.

2009-05-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Allow tests to request to
	NOT have default configs used.  This is handy when dealing with
	mod_ifsession tests, for example.

2009-05-19  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: Had a request to use the %{dist}
	variable in the RPM Release tag as well.  Makes no never mind to me.

2009-05-18  castaglia <castaglia>

	* Make.rules.in, Makefile.in, utils/ftpcount.1.in,
	utils/ftpscrub.8.in, utils/ftptop.1.in, utils/ftpwho.1.in: Fix
	Bug#3242, which is a follow-up to Bug#2613.  Modify the utility man
	pages to reflect the changed path to the default scoreboard file,
	and remove the now-redundant $(rundir) Make variable.

2009-05-18  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: Martin Edlman contributed RPM .spec
	patch to handle empty static_modules variable when the mod_facl
	module is not requested.

2009-05-15  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logins.pm: Add regression test showing
	that multiple attempts to send USER (i.e. after the first attempt
	fails) will succeed as expected.

2009-05-15  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: I have no clue how this code was
	compiling/working for my tests earlier today, but it certainly needs
	to be fixed.  Weird.

2009-05-14  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Fix the
	DeleteAbortedStores support.  I did have it such that only
	HiddenStores files would be deleted if DeleteAbortedStores was
	enabled.  Then, for aborted sessions, deleted _all_ open
	filehandles.  Which is not correct either (we don't want to delete
	files that were being downloaded, for example).  This changes the
	DeleteAbortedStores so that we only delete aborted _uploaded_ files.
	Hopefully.

2009-05-14  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: [no log message]

2009-05-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
	HiddenStores directive using SCP.  The test is not as thorough as I
	would like; the Net::SSH2 SCP interface is not as flexible.  Still,
	it does the trick.

2009-05-14  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: This adds support for HiddenStores,
	DeleteAbortedStores, and 'incomplete' TransferLog entries to SCP.

2009-05-14  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Cut-n-paste error.

2009-05-14  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Add a trace message for renaming of a
	HiddenStores file.

2009-05-14  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: HiddenStores is now supported by
	mod_sftp.

2009-05-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added unit tests
	for 'incomplete' TransferLog entries via SFTP.

2009-05-14  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Write 'incomplete' TransferLog entries for
	downloads/uploads that have been aborted (i.e. not closed by the
	client before the channel was closed/session ended).  Also fixes a bug introduced yesterday with the DeleteAbortedStores
	support, where a config which did not have DeleteAbortedStores would
	segfault (or the process would wander off into the memory weeds,
	depending on your arch).

2009-05-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
	tests for HiddenStores and DeleteAbortedStores via SFTP uploads.

2009-05-13  castaglia <castaglia>

	* contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h,
	contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c: Added support
	for the HiddenStores and DeleteAbortedStores directives for SFTP.

2009-05-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add tests for
	TransferLog entries generated from downloading/uploading via SCP.

2009-05-13  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Make sure that the TransferLog entry for a
	file deleted via SFTP in a chrooted session is still the absolute
	path of the file, regardless of the chroot.

2009-05-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add test for the
	TransferLog entry generated when deleting a file via SFTP in a
	chrooted session.

2009-05-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Add regression
	test for the 14-digit version of the SITE UTIME command.

2009-05-11  castaglia <castaglia>

	* RELEASE_NOTES: Warn of the change to the values in the
	service-name field of the TransferLog.

2009-05-11  castaglia <castaglia>

	* tests/api/scoreboard.c: If the API testsuite is run with root
	privs, then one of the scoreboard tests will fail with a different
	errno value; check for this, and handle it as appropriate.

2009-05-11  castaglia <castaglia>

	* tests/Makefile.in: Make sure the privs.o code is linked into the
	API tests.

2009-05-11  castaglia <castaglia>

	* tests/Makefile.in: Separate the API and the running tests into two
	separate make targets.

2009-05-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression test
	for the TransferLog delete file entries for SFTP.

2009-05-11  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Make sure that deleting a file via SFTP
	generates the proper TransferLog entry.

2009-05-09  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Wolfgang Breyha correctly pointed out that
	these path-trimming loops should have a "pathlen > 1" check, not
	"pathlen > 0".  This was causing problems when trying to use scp to
	upload to '/'; eventually a segfault would ensue.

2009-05-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added unit test for
	the TransferLog generated by downloading a file via sftp.

2009-05-08  castaglia <castaglia>

	* contrib/mod_sftp/auth.c, src/xferlog.c: Support TransferLogs in
	mod_sftp.  This required a tweak to the TransferLog code so that it
	wrote the proper service name (e.g. "ftp", "sftp", etc); it had been
	hardcoded to "ftp".

2009-05-06  castaglia <castaglia>

	* contrib/mod_sftp/packet.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make sure that
	mod_sftp sends a disconnect message when it does not handle the
	client request.  For example, if a client requests an SSH2 channel
	before it has authenticated, mod_sftp considers it an "unsupported
	protocol sequence".  But it was not sending the disconnect message
	to the client when this happened; this has been fixed. Added a unit
	test to prevent regressions.

2009-05-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Add regression test
	demonstrating that downloading a file from a directory whose name
	contains a space works as expected.

2009-05-03  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Fix the handling of recursive uploads of
	directories via SCP; it was completely broken.

2009-05-03  castaglia <castaglia>

	* contrib/mod_sftp/auth.c: Be sure to dispatch the USER cmd_rec to
	the POST_CMD/LOG_CMD handlers *before* calling the PASS PRE_CMD
	handler.  Otherwise, mod_delay might see longer delays for both USER
	and PASS commands when handling SSH2 connections when it isn't
	necessary.

2009-05-02  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: If we receive an EOF while reading
	the banner, don't try to use strerror(), as it will result in a
	misleading log message.

2009-05-02  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Added unit
	tests for the 'OpenSSL' SQLAuthType.

2009-05-01  castaglia <castaglia>

	* doc/howto/ListOptions.html: Mention the new -B ListOption.

2009-05-01  castaglia <castaglia>

	* modules/mod_ls.c, tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Modify the fix for
	Bug#3032 even more.  Instead of replacing non-printable characters
	with '?' in the non-NLS case, add support for a -B ListOption
	(defaults to off).  Some users noted that the previous fix broke
	things for them, as they _assumed_ that proftpd would not alter a
	UTF8 path (even for the non-NLS case).  By supporting a -B
	ListOption, sites which do want to see the non-printable characters
	can request that behavior.  The -B ListOption is not supported if
	NLS support is enabled.

2009-04-30  castaglia <castaglia>

	* src/main.c: Add trace logging for when the 'requires_auth' check
	fails.

2009-04-30  castaglia <castaglia>

	* modules/mod_cap.c, src/main.c: Make mod_cap's POST_CMD PASS
	handler be like every other modules, and NOT require that the client
	be authenticated.  That particular check is handled earlier in the
	session lifecycle.

2009-04-30  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: A proftpd user in the
	forums mentioned encountering the "Cannot assign requested address"
	error when attempting active data transfers.  Add a unit test which
	demonstrates how this error can occur (usually because of badly
	behaved FTP clients which do not cleanly close the data connection
	once done with it).

2009-04-30  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: If we need to explicitly
	specify the PORT argument, then make sure that we open an
	appropriate listening socket based on that argument; Net::FTP does
	not do this for us.  Sigh.

2009-04-29  castaglia <castaglia>

	* contrib/mod_tls.c: OpenSSL-0.9.8j enables TLS extensions by
	default.  This includes, among other things, SSL/TLS tickets.
	However, some older clients do not interoperate well with TLS
	extensions like this enabled.  So to preserve the principle of least
	surprise, disable the use of SSL/TLS tickets.

2009-04-29  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: After a restart,
	mod_sftp needs to re-allocate and re-compile the regexes for known
	client versions with bugs; the compiled regex memory pool is cleared
	during a restart.  Failure to do this can result in a segfault after
	the restart.  Add an accompanying unit test.

2009-04-29  castaglia <castaglia>

	* modules/mod_ls.c: Quell compiler warnings about unused variables
	when --enable-nls is used.

2009-04-28  castaglia <castaglia>

	* doc/contrib/mod_exec.html: Include the %w variable in the
	mentioned list of supported variables.

2009-04-28  castaglia <castaglia>

	* doc/contrib/mod_exec.html, doc/contrib/mod_shaper.html: Update the
	mod_exec and mod_shaper docs.

2009-04-28  castaglia <castaglia>

	* contrib/mod_exec.c: The mod_exec module was not registering for
	the proper event name for handling the unloading of the module.

2009-04-28  castaglia <castaglia>

	* NEWS, README.modules, RELEASE_NOTES, contrib/mod_exec.c,
	doc/contrib/mod_exec.html: Added mod_exec to contrib modules.

2009-04-28  castaglia <castaglia>

	* doc/howto/TLS.html: Add TLS FAQ about whether FTPS protects both
	control and data connections (it does).

2009-04-28  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Added SFTP FAQ about having an
	SFTP-only proftpd.

2009-04-28  castaglia <castaglia>

	* tests/tests.pl: Run the DisplayQuit tests as part of the
	testsuite.

2009-04-28  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DisplayQuit.pm: Adding tests for
	the DisplayQuit directive.

2009-04-27  castaglia <castaglia>

	* NEWS, README.modules, RELEASE_NOTES, contrib/mod_shaper.c,
	doc/contrib/mod_shaper.html: Add mod_shaper to the contrib/ modules.

2009-04-25  castaglia <castaglia>

	* contrib/mod_rewrite.c: Fix rewrite_log() so that it uses
	pr_log_vwritefile().  Make rewrite_openlog() handle the WRITABLE_DIR
	and SYMLINK return values from pr_log_openfile().

2009-04-25  castaglia <castaglia>

	* modules/mod_xfer.c, src/display.c, tests/t/config/displayquit.t,
	tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm,
	tests/t/lib/ProFTPD/Tests/Config/DisplayFileTransfer.pm,
	tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm: Fix handling of
	multiline Display files.  Update the handling of DisplayFileTransfer
	files such that they replace the 226 response message, rather than
	prepending to it.

2009-04-24  castaglia <castaglia>

	* modules/mod_core.c: Fix another unsafe use of sizeof() on a
	pointer.

2009-04-24  castaglia <castaglia>

	* src/dirtree.c: Fix unsafe sizeof(); it was being used on a
	pointer, not on a static buffer.

2009-04-24  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Increase the allocated buffer size for a
	READDIR response, and try to be smarter about the buffer size.

2009-04-24  castaglia <castaglia>

	* modules/mod_cap.c: Refine the criteria for using
	CAP_SETUID/CAP_SETGID.  In addition to checking for the mod_sftp and
	mod_exec modules, make sure that those modules are enabled via their
	respective Engine directives.  This is to handle cases where the
	modules might be present in the executable but not enabled via
	config.

2009-04-24  castaglia <castaglia>

	* contrib/mod_sftp/utf8.c: If UTF8 encoding/decoding of a string
	fails, log the error and return the original string (instead of
	returning NULL).

2009-04-24  castaglia <castaglia>

	* contrib/mod_sftp/auth.c: No need to acquire root privs explicitly
	before dropping them.

2009-04-24  castaglia <castaglia>

	* modules/mod_cap.c: On Linux, the mod_cap module will interfere
	with modules/code that wishes to drop root privs completely, e.g.
	mod_exec (when executing scripts), mod_sftp (after authenticating),
	or when the RootRevoke directive is used.  The problem is that the
	CAP_SETUID and CAP_SETGID capabilties, needed for dropping root
	privs, are not enabled by mod_cap.  This change adds the CAP_SETUID and CAP_SETGID capabilities if
	mod_exec or mod_sftp is present, or if "RootRevoke on" is found in
	the config.  Minor stylistic cleanup is also part of this change.

2009-04-24  castaglia <castaglia>

	* modules/mod_ls.c: When generating directory listings, set the
	ASCII flag after the data connection has been successfully opened
	consistently.  Some places were setting the flag before the data
	connection open, some after.

2009-04-24  castaglia <castaglia>

	* configure: Updated configure.

2009-04-24  castaglia <castaglia>

	* configure.in: Automatically set the PR_USE_OPENSSL define if
	mod_sftp is requested, just as we do when mod_tls is requested.

2009-04-23  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: Quell a compiler warning about a
	declared but not used variable.

2009-04-23  castaglia <castaglia>

	* contrib/mod_quotatab.c: The mod_quotatab module really should
	report when it fails to open the configured QuotaLog for any reason.

2009-04-23  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Fix minor case in the handling of the
	'sftpUTF8ProtocolVersion' SFTPClientMatch attribute where the path
	description for a READDIR request may need to be encoded, depending
	on the chosen SFTP UTF8 protocol version.

2009-04-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Update the unit tests
	for Bug#3032 to only run if NLS support is not enabled.

2009-04-23  castaglia <castaglia>

	* modules/mod_ls.c: Forgot to add the NLS conditional to the
	handling of NLST as well.

2009-04-23  castaglia <castaglia>

	* modules/mod_ls.c: Modify the fix for Bug#3032 so that it is only
	used of NLS support is not being used; the encoding can cause
	problems for the isprint(3) function.

2009-04-23  castaglia <castaglia>

	* NEWS, src/inet.c: Bug#3237 - "error setting IPV6_V6ONLY: Protocol
	not available" message filling up log file.  The change was to not try to set the IPV6_V6ONLY socket option on an
	IPv4-mapped IPv6 address.

2009-04-21  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Quell more compiler warnings about
	possbily using variables before they have been initialized.

2009-04-21  castaglia <castaglia>

	* contrib/mod_quotatab.c: Make sure that the trace message is based
	on the actual lock type, not on the type as passed in by the caller.

2009-04-21  castaglia <castaglia>

	* contrib/mod_quotatab.c: Actually use the lock type given by the
	caller.  Ouch.

2009-04-21  castaglia <castaglia>

	* contrib/mod_sftp/kex.c: Handle "SFTPCompression off" properly.

2009-04-21  castaglia <castaglia>

	* contrib/mod_quotatab.c: More changes to the QuotaLock lock
	operation handling, trying to avoid spinning in a loop too tightly.

2009-04-21  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Make sure that the variables are
	initialised, when handling REALPATH requests, before a permissions
	check.

2009-04-21  castaglia <castaglia>

	* contrib/mod_quotatab.c: Retry the lock operation on the QuotaLock
	for EAGAIN as well.

2009-04-21  castaglia <castaglia>

	* tests/t/config/displayfiletransfer.t,
	tests/t/lib/ProFTPD/Tests/Config/DisplayFileTransfer.pm,
	tests/tests.pl: Add unit tests for the DisplayFileTransfer
	directive.

2009-04-20  castaglia <castaglia>

	* src/dirtree.c: Make sure that we ONLY use the
	PR_TUNABLE_XFER_BUFFER_SIZE (which IS set in include/options.h) in
	the case where we cannot determine the best sizes automatically from
	the kernel.

2009-04-20  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Document the sftpUTF8ProtocolVersion
	SFTPClientMatch attribute.

2009-04-20  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/fxp.h,
	contrib/mod_sftp/interop.c, contrib/mod_sftp/mod_sftp.c: Added
	support for a 'sftpUTF8ProtcolVersion' SFTPClientMatch attribute.
	This attribute can be used to switch the SFTP protocol version at
	which mod_sftp uses UTF8 encoding; the normal protocol version at
	which this happens is 4 (and above).  Some clients may need the UTF8
	encoding when using protocol version 3, however.

2009-04-17  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Clarify when the various SSH2
	authentication methods are offered.  Fix a typo.

2009-04-17  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: Update the trace log message about the
	size of the CHANNEL_DATA sent to use just the payload size, not the
	packet size.

2009-04-17  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: Fix the calculation of the remote
	channel window size by NOT including the length of the "header"
	fields (9 bytes) in the amount to decrement for the remote window
	size.  This was causing mod_sftp to see the remote window "close"
	prematurely (depending on the amount of data transferred and the
	initial client window size).

2009-04-15  castaglia <castaglia>

	* doc/howto/Filters.html: Add the example PathAllowFilter that only
	allows printable characters.

2009-04-15  castaglia <castaglia>

	* doc/howto/Filters.html,
	tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Update the doc,
	and unit test, to reflect the proper pattern to use.

2009-04-15  castaglia <castaglia>

	* doc/howto/Filters.html: Give an example of using PathDenyFilter to
	prevent filenames which contain non-printable characters.

2009-04-15  castaglia <castaglia>

	* NEWS, modules/mod_ls.c,
	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MLST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
	tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Bug#3032 - CR
	character allowed in filename but not shown.

2009-04-14  castaglia <castaglia>

	* doc/howto/Tracing.html, src/trace.c: Remove the 'privs' channel
	from the default channels; it is not as productive to see the privs
	messages as the other channels in the default group.

2009-04-14  castaglia <castaglia>

	* modules/mod_delay.c: Make sure a pointer is initialized to NULL,
	so that if a matching protocol row is not found, a segfault will
	occur.  (It's better than reading off into some random stack memory
	address.)

2009-04-14  castaglia <castaglia>

	* NEWS, modules/mod_delay.c: Bug#3230 - Differentiate among protocol
	connections in DelayTable.

2009-04-14  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Update the list of config directives
	that are not supported by mod_sftp.

2009-04-14  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add SFTP unit tests
	to ensure that mod_sftp honors the AllowOverwrite, HideFiles, and
	Path*Filter directives.  Note that similar tests are needed for the
	SCP code paths as well.

2009-04-13  castaglia <castaglia>

	* configure: Updated configure.

2009-04-13  castaglia <castaglia>

	* configure.in: Add a check for --with-modules=mod_dso, and warn the
	admin to use --enable-dso instead.

2009-04-10  castaglia <castaglia>

	* configure: Updated configure.

2009-04-10  castaglia <castaglia>

	* configure.in: Typo.

2009-04-09  castaglia <castaglia>

	* modules/mod_facts.c: Use cmd->arg, rather than concatenating
	cmd->argv[] ourselves, in order to deal with paths with spaces.
	This is a better approach, given that NLS encoding of paths might
	cause the concatenation we were doing to do the wrong thing.

2009-04-09  castaglia <castaglia>

	* modules/mod_facts.c: Clean up some of the logging when opendir(3)
	fails when handling MLSD.

2009-04-09  castaglia <castaglia>

	* src/timers.c: Add trace logging when timers are reset.

2009-04-09  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: mod_sftp now honors
	DirFakeMode.

2009-04-09  castaglia <castaglia>

	* tests/t/config/dirfakemode.t,
	tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm, tests/tests.pl: Add
	unit test for the DirFakeMode directive.

2009-04-09  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Set the
	session.xfer.direction variable when using SFTP or SCP.

2009-04-08  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make mod_sftp honor
	HideNoAccess (and other <Directory> config directives).

2009-04-08  castaglia <castaglia>

	* contrib/mod_sftp/scp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add the checking for
	valid paths, handling of open() failures, PRE_CMD errors, etc when
	uploading via SCP into the recv_finfo() function.  The problem was
	that those checks were happening *after* recv_finfo() had sent the
	"OK" message back to the SCP client; the client would then commence
	uploading.  Any errors of these sorts need to send a "NOT OK"
	message to the SCP client before the upload occurs.

2009-04-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm,
	tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Fix more unit
	tests to run properly as root.

2009-04-07  castaglia <castaglia>

	* contrib/mod_tls.c: Typo/bug.

2009-04-07  castaglia <castaglia>

	* src/ftpdctl.c: Include the privs.h header so as to avoid compiler
	warnings about the pr_privs* functions not being previously
	declared.

2009-04-07  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: Use the proper number of arguments for
	pr_ctrls_log(), and avoid pedantic compiler warnings/errors.

2009-04-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Another set of
	tests to clean up so that they run properly when root.

2009-04-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm,
	tests/t/lib/ProFTPD/Tests/Config/Limit/XMKD.pm: More cleanup of unit
	tests that don't work properly when run as root.

2009-04-07  castaglia <castaglia>

	* modules/mod_core.c: Fix bug introduced by the patch for Bug#2067.
	Style cleanup there, too.

2009-04-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Order.pm,
	tests/t/lib/ProFTPD/Tests/Config/PathAllowFilter.pm,
	tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm,
	tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm: Fixup more test
	cases so run properly when run as root.

2009-04-06  castaglia <castaglia>

	* src/privs.c: The testsuite found that the privs.c code was
	blocking signals, and then not unblocking them in certain cases.
	This is a Bad Thing.  Fix the bug.

2009-04-06  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: Make sure that the max data payload we
	can send is larger than the header length.  Otherwise, we would have
	bombed out due to bad logic on my part.

2009-04-06  castaglia <castaglia>

	* doc/howto/Tracing.html, src/trace.c: Add the "privs" logging
	channel to the default list of channels.

2009-04-06  castaglia <castaglia>

	* Make.rules.in, include/privs.h, modules/mod_ctrls.c,
	modules/mod_delay.c, modules/mod_log.c, src/ftpdctl.c, src/privs.c: 
	Do what should have been done long ago, and move the PRIVS macros
	into functions, and into their own .c file.  The main driving reason for this is that the PRIVS macros need to be
	nestable, to avoid recurrences of bugs like Bug#2242.  The privs.c
	file adds nestable PRIVS invocations, and so far everything looks
	like it's still working properly.

2009-04-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_ctrls.pm: Fix a few more tests
	which fail when run with root privs.

2009-04-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MFF.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm: Add some unit tests for
	the MFF and MFMT commands, proving that using relative paths in the
	commands in a chrooted session work as expected.

2009-04-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/HELP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MFF.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm,
	tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
	tests/t/lib/ProFTPD/Tests/Logins.pm: Fix some of the unit tests
	which fail when run with root privs.  Update some that simply needed
	to be updated to match the current code.  Quell Perl warnings about
	redeclared variables in some cases.

2009-04-05  castaglia <castaglia>

	* contrib/mod_sftp/auth.c: Update mod_sftp to use session.notes for
	the original user name sent by the client, just as the mod_auth
	module does.

2009-04-05  castaglia <castaglia>

	* RELEASE_NOTES, contrib/mod_ban.c, contrib/mod_radius.c,
	contrib/mod_rewrite.c, contrib/mod_sql.c, contrib/mod_wrap.c,
	contrib/mod_wrap2/mod_wrap2.c, modules/mod_auth.c,
	modules/mod_log.c, src/display.c, src/main.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Finish Bug#2715,
	and have the original USER value stashed in, and retrieved from, the
	session.notes table.  Make note of this change in the release notes
	as well, as it could impact module developers.

2009-04-05  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_rewrite.c, contrib/mod_sql.c,
	modules/mod_core.c, modules/mod_log.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3029 -
	Support a RewriteCondition variable for renames.  Add a %w variable for the source path of a rename (mnemonic:
	"whence" the rename came); this variable is only valid for the RNTO
	command.  Support for the %w variable is also in LogFormat and the
	SQLLog directives; the mod_exec module will support it as well.

2009-04-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Added a
	mod_quotatab_sql unit test for Bug#3086.  The generated log file
	shows that the use of QuotaLock does indeed protect the calls to
	quotatab_lookup() and quotatab_create().  In fact, this use of
	QuotaLock perfectly exercises the fixed quotatab locking in terms of
	lock nesting, as the quotatab_create() function itself uses
	write-locks (and, in the case of mod_quotatab_sql, uses the same fd
	for locking).

2009-04-04  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c, contrib/mod_quotatab.h,
	contrib/mod_quotatab_sql.c: Bug#3086 - mod_quotatab write locking is
	ineffective.

2009-04-03  castaglia <castaglia>

	* contrib/mod_ban.c, contrib/mod_sftp/scp.c, contrib/mod_tls.c: If
	we are calling getopt(3) again in a proftpd process (i.e. after the
	initial call to getopt(3) when the daemon starts up), then we need
	make sure that the POSIXLY_CORRECT environment variable is set.  A segfault in mod_sftp was occurring because of getopt(3)
	rearranging the array of strings; on a 64-bit machine whose pointer
	sizes are different than what is expected, strange things happen.
	Setting POSIXLY_CORRECT tells getopt(3) not to rearrange the array
	of strings.

2009-04-03  castaglia <castaglia>

	* doc/howto/Compiling.html: Mention the --with-lastlog configure
	option, and use an unordered list for the main/popular configure
	options.

2009-04-03  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: Stupid Solaris prints "Not owner",
	instead of "Operation not permitted", for the EPERM errno.  Grr.  So
	instead of using EPERM, switch to using EACCES.

2009-04-03  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Catch a few places in the SCP upload code
	where confirmation errors were not being properly written back to
	the client at the right times.

2009-04-03  castaglia <castaglia>

	* modules/mod_auth_unix.c: Fix compilation errors when
	HAVE_LOGINRESTRICTIONS (AIX platform, mostly) is defined.

2009-04-01  castaglia <castaglia>

	* NEWS, src/dirtree.c: Bug#3233 - Dynamic config causes many copies
	of static configs to be merged.

2009-04-01  castaglia <castaglia>

	* contrib/mod_tls.c: Actually match the code to the comment, and
	return the connection to blocking mode if it had been so prior to
	the SSL_accept() call.

2009-04-01  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3234 - SSL connections can cause 100%
	CPU usage.  In a nonblocking loop around SSL_accept(), make sure we delay a bit
	(using select()) before retrying the SSL_accept() call.  Without the
	delay, the loop spins too quickly, consuming CPU.

2009-03-31  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Make the SCP uploading code use
	dir_canonical_vpath(), just as the SFTP code does (specifically the
	REALPATH SFTP request handler), to be consistent.  (And, hopefully, to fix some reported segfaults seen when uploading
	via SCP.)

2009-03-31  castaglia <castaglia>

	* Make.rules.in: Fix a link ordering problem on Mac OSX; if the GNU
	gettext library is used (e.g. using --enable-nls), then libc is
	linked before libsupp.  This causes a problem for proftpd, since
	libsupp contains, among other things, our own particular glob(3)
	implementation.  If we use our glibc-glob.h header, but use the
	system glob(3) implementation, strange things happen.  So make sure
	that our libraries are linked before the other libraries.  Hopefully this does not cause other strange library/link
	order-related issues.

2009-03-31  castaglia <castaglia>

	* modules/mod_lang.c: Missed a dir_check() call which needs to pass
	the cmd_rec pointer, not just the command name.

2009-03-30  castaglia <castaglia>

	* src/log.c: Add some sane errno values if pr_log_openfile() fails
	in some cases.

2009-03-30  castaglia <castaglia>

	* NEWS, include/fsio.h, modules/mod_ctrls.c, src/fsio.c,
	src/ftpdctl.c, src/log.c, src/trace.c: Bug#3225 - Opening of files
	during restart can inappropriately use stdin/stdout/stderr
	descriptors, leading to bad behavior.  This patch adds a new pr_fsio_get_usable_fd() function, for
	obtaining an fd (via dup(2)) which is NOT stdin/stdout/stderr.  It
	is to be used by functions which can be called in the daemon process
	during startup/restart to ensure that the obtained descriptor will
	not cause other issues (i.e.  with other code which assumes the use
	of stdin/stdout/stderr).  I suspect that this has been the
	underlying cause of several inexplicable crashes/ log messages
	during restarts.

2009-03-30  castaglia <castaglia>

	* doc/howto/Rewrite.html: Another good mod_rewrite example.

2009-03-29  castaglia <castaglia>

	* NEWS, contrib/mod_wrap.c, contrib/mod_wrap2/mod_wrap2.c: Bug#3209
	- mod_wrap2 should support the 'spawn' feature (or equivalent) of
	tcpwrappers.  Add event generation to the mod_wrap and mod_wrap2 modules when a
	connection is refused.  The mod_exec module can register listeners
	for this event, and execute a command (e.g.
	blockhosts/denyhosts/fail2ban) in response.

2009-03-29  castaglia <castaglia>

	* doc/contrib/mod_wrap.html: Add mod_wrap FAQ about Bugs #2629,
	#2787, #3209.

2009-03-28  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_tls.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#2178 - Extend
	TLSRequired for <Directory> and .ftpaccess contexts.

2009-03-27  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: More futzing with the path resolution for
	SCP uploading.

2009-03-27  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3043 -
	SQLGroupInfo should allow custom queries.

2009-03-27  castaglia <castaglia>

	* configure: Updated configure.

2009-03-27  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, modules/mod_auth_unix.c: Bug#3231
	- Use getgrset(3) on AIX to emulate getgrouplist(3).

2009-03-26  castaglia <castaglia>

	* NEWS, modules/mod_ls.c, src/dirtree.c,
	tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Bug#3226 - HideFiles
	directive not working properly in <Anonymous> sections.

2009-03-26  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Typo.

2009-03-26  castaglia <castaglia>

	* RELEASE_NOTES: Another note about use of the %{protocol} variable.

2009-03-26  castaglia <castaglia>

	* contrib/mod_sftp/scp.c: Fix SCP uploading to handle an OpenSSH scp
	client invocations like:   scp <file> <addr>:   scp <file> <addr>:.  These were being blocked on the STOR PRE_CMD handler because
	mod_xfer only saw '.' as the file being uploaded, and would complain
	about "not a regular file".

2009-03-25  castaglia <castaglia>

	* doc/howto/SQL.html: Mention that the discussion about
	userset/usersetfast holds true for groupset/groupsetfast as well.

2009-03-25  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Update the mod_tls
	unit tests to reflect changes in the recently released
	Net::FTPSSL-0.08.  Still can't reuse the SSL session from the
	control connection on a data connection, though.  (It's a limitation
	in the fact that Net::FTPSSL uses Net::SSLeay::Handle for the data
	connections, and Net::SSLeay::Handle does not have a way to pass in
	a SSL_CTX to use.  Sigh.)

2009-03-25  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Fix the test
	case for Bug#3149 slightly, to avoid any DNS issues.

2009-03-25  castaglia <castaglia>

	* src/bindings.c: Modify the fix for Bug#2680 slightly, to avoid
	breaking configurations which rely on the current behavior regarding
	"DefaultServer on".  Now, if there is a vhost with "DefaultServer
	on", that will be used in favor of a vhost listening on the wildcard
	address.

2009-03-25  castaglia <castaglia>

	* doc/howto/SQL.html: Add a SQL FAQ about the 'userset' and
	'usersetfast' SQLAuthenticate options.

2009-03-25  castaglia <castaglia>

	* RELEASE_NOTES, doc/contrib/mod_sql.html: Update the SQLUserInfo
	docs to mention the fix for Bug#2434.  Mention this in the release
	notes as well.

2009-03-25  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#2434 -
	Buggy interaction between custom SQLUserInfo and 'userset'
	SQLAuthenticate parameter.  Fixing this required supporting a couple of other SQLNamedQuery
	names, optional, to handle the 'userset' and 'usersetfast' cases.

2009-03-24  castaglia <castaglia>

	* RELEASE_NOTES: Don't forget to mention the new %{protocol}
	variable in the release notes.

2009-03-24  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c, contrib/mod_ratio.c,
	contrib/mod_sftp/auth.c, contrib/mod_sftp/fxp.c,
	contrib/mod_sftp/scp.c, contrib/mod_site_misc.c, contrib/mod_tls.c,
	include/dirtree.h, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_facts.c, modules/mod_ls.c, modules/mod_xfer.c,
	src/dirtree.c, tests/t/config/limit/filters.t,
	tests/t/lib/ProFTPD/Tests/Config/Limit/Filters.pm, tests/tests.pl: 
	Bug#2067 - Allow/Deny Filters should be supported in the <Limit>
	context.

2009-03-23  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c, contrib/mod_quotatab.h,
	contrib/mod_quotatab_file.c, contrib/mod_quotatab_ldap.c,
	contrib/mod_quotatab_radius.c, contrib/mod_quotatab_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3161 -
	Updating tallies for deleted files should occur based on file
	ownership.  Fixing this bug required changing the mod_quotatab API such that the
	limit and tally objects into which data is read/written (from the
	backend modules) are part of the API calls, rather than using
	globals.  That's why there's so much code churn for this particular
	fix.  But it's a Good Thing; these changes make fixing other types
	of quota bugs much easier now.

2009-03-23  castaglia <castaglia>

	* doc/contrib/mod_rewrite.html: Update the mod_rewrite docs to
	mention the Bug#3028 fix.

2009-03-23  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Bug#3028 - Unable
	to escape special characters in RewriteRule substitution string.

2009-03-23  castaglia <castaglia>

	* modules/mod_ls.c: When handling the LIST output, the outputfiles()
	function used to do 4 sorts, linearly scanning the list of files
	built up using addfile().  Ostensibly this list is used for sorting
	1) a la -t or -S, and 2) for supporting -C.  These 4 sorts are
	needed only for -C, which is not used that often.  Thus it is now
	conditional.  In the future, the entire use of the struct filename structure (and
	the allocations out of the fpool pool which need to be freed after
	all of the sorting) can be avoided for every case _except_ when -C,
	-S, or -t is used.  This too can add some performance gains to the
	perceived LIST response time.

2009-03-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Add a unit test for
	Bug#2821 for the LIST command as well.  It is/can be useful for
	diagnosing/tuning the performance of the time needed to free all of
	the struct filename structures allocated for LIST entries (needed
	for the potential -C sorting).  Further gains can be done by *only
	allocating* these structures if the -C option is used.  Add a unit test using LIST -C, also for such tests.

2009-03-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Directory/Lookups.pm: More work
	on the <Directory>-related performance tests.

2009-03-22  castaglia <castaglia>

	* src/cmd.c, src/main.c: Fix the code in
	pr_cmd_get_displayable_str() to be a little easier to follow in my
	head.  (Also easier to debug.) If we are going to be truncating an incoming FTP command because of
	the CommandBufferSize, log about this.  Silent truncations are
	annoying to track down.

2009-03-22  castaglia <castaglia>

	* modules/mod_core.c: There is no reason to mark absolute paths in
	<Directory> sections for deferred resolution; it only adds to the
	login time (due to the running time of the resolve_deferred_dirs()
	function) needlessly.

2009-03-22  castaglia <castaglia>

	* src/main.c: Quell compiler warning.

2009-03-22  castaglia <castaglia>

	* doc/howto/Globbing.html: Updating the Globbing howto to mention
	the tunable name changes/additions.

2009-03-22  castaglia <castaglia>

	* include/options.h, lib/glibc-glob.c, src/main.c: Add new
	PR_TUNABLE_GLOBBING_MAX_MATCHES tunable, as part of Bug#2821.

2009-03-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm, tests/tests.pl: Add a
	test case used for tracking down part of Bug#2821.  It's a slow
	test, so make sure that it is not run as part of the default
	testsuite.

2009-03-22  castaglia <castaglia>

	* modules/mod_ls.c: Set the GLOB_NOSORT flag, by default, for NLST
	globs.  This can help to speed up the glob(3) call by not requiring
	that the results be sorted.  This can be changed via NLST options
	(and the ListOptions directive).  Add some debug logging on the number of matched paths found by
	glob(3), to aid in debugging cases where glibc's glob limits are
	encountered, e.g. Bug#2821.

2009-03-21  castaglia <castaglia>

	* modules/mod_ls.c: Improve NLST performance by NOT telling
	sendline() to flush _after each NLST line added_.  That defeats the
	whole purpose of having a buffer for sending lines in batches.

2009-03-21  castaglia <castaglia>

	* src/pool.c: Optimize for the most common case; this is frequently
	called function.

2009-03-20  castaglia <castaglia>

	* contrib/mod_sftp/scp.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make sure that scp
	uploading a file into a nonexistent subdir a) fails, and b) does NOT cause a disconnect.

2009-03-20  castaglia <castaglia>

	* contrib/mod_sftp/disconnect.c, contrib/mod_sftp/disconnect.h: 
	Clean up the disconnect trace log message a little when the __FUNC__
	(or equivalent) macro is not supported by the compiler.

2009-03-20  castaglia <castaglia>

	* NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c,
	src/main.c: Bug#3221 - Command line defines (-D/--define) are lost
	on SIGHUP.

2009-03-20  castaglia <castaglia>

	* doc/howto/ASCII.html: Add a FAQ about why the ASCII mode
	restriction was placed on the SIZE command.

2009-03-20  castaglia <castaglia>

	* modules/mod_core.c: Make sure that any stat cache is cleared when
	answering a SIZE command.

2009-03-19  castaglia <castaglia>

	* contrib/mod_sftp/configure: Updated mod_sftp's configure.

2009-03-19  castaglia <castaglia>

	* contrib/mod_sftp/configure.in, contrib/mod_sftp/crypto.c,
	contrib/mod_sftp/mod_sftp.h.in: Add an autoconf check for the
	EVP_aes_{192,256}_cbc() symbols in OpenSSL.  Solaris 10 shipped a
	crippled OpenSSL for a while, where AES support for bit lengths
	greater than 128 were removed.

2009-03-19  castaglia <castaglia>

	* contrib/mod_sftp/auth-hostbased.c,
	contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
	contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
	contrib/mod_sftp/auth.h: Rewriting the user name in SSH2
	authentication is a little bit trickier, since we need to track both
	the original user name sent by the client (for signature
	verification and such) as well as the (possibly rewritten) user
	name, for authentication/authorization.

2009-03-19  castaglia <castaglia>

	* contrib/mod_sftp/auth.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make sure that
	mod_rewrite can be used to rewrite the user names given during SSH2
	authentication as well.

2009-03-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit tests for
	the SCP+mod_rewrite cases.

2009-03-19  castaglia <castaglia>

	* contrib/mod_sftp/channel.c, contrib/mod_sftp/fxp.c,
	contrib/mod_sftp/scp.c: Make sure that mod_rewrite can be applied to
	SCP commands as well.

2009-03-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Unit tests
	validating the use of mod_rewrite to rewrite SFTP requests.

2009-03-19  castaglia <castaglia>

	* contrib/mod_rewrite.c: Add a comment about why there's a test for
	a SYMLINK command in mod_rewrite.

2009-03-19  castaglia <castaglia>

	* contrib/mod_rewrite.c, contrib/mod_sftp/fxp.c: The handling of
	SFTP requests now honors PRE_CMD handlers such as mod_rewrite; this
	means you can use mod_rewrite on SFTP requests, just like you would
	on FTP commands.

2009-03-19  castaglia <castaglia>

	* doc/howto/Compiling.html: Match the example configure options to
	their surrounding text.

2009-03-18  castaglia <castaglia>

	* doc/contrib/mod_rewrite.html: Updated mod_rewrite docs to cover
	the %{ENV:var} syntax.

2009-03-18  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_rewrite.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Bug#3219 - Support
	environment variable substitutions in mod_rewrite rules.

2009-03-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Add unit test
	for globbing <Directory> with Umask, trying unsuccessfully to
	reproduce an issue reported on the users mailing list.

2009-03-18  castaglia <castaglia>

	* NEWS, contrib/mod_ban.c: Bug#3187 - Inconsistent mod_ban logging
	and display when using "BanEngine off" in an <IfClass>
	configuration.

2009-03-18  castaglia <castaglia>

	* contrib/mod_sftp/rfc4716.c: Add a reminder comment for admins,
	should there be trouble parsing an AuthorizedKeys file, to make sure
	that the file is in the correct format.

2009-03-18  castaglia <castaglia>

	* src/bindings.c: Enhance the patch for Bug#2680 even further, to
	properly handle connections to an IPv6 socket, and still looking for
	vhosts configured for the IPv4 wildcard address before finally
	falling back to DefaultServer.

2009-03-18  castaglia <castaglia>

	* doc/howto/Limit.html: Should include the EPRT and EPSV commands in
	the example for specifying only one kind of data transfer (active or
	passive).

2009-03-17  castaglia <castaglia>

	* doc/howto/Limit.html: Update the Limit docs to mention MLSD and
	MLST.

2009-03-17  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: The reading of ATTRS for SFTP protocol
	versions greater than 3 was using the old file attribute flag
	values.

2009-03-17  castaglia <castaglia>

	* src/dirtree.c: Fix another possible cause of Bug#3184: rewind to
	the start of the /etc/protocols file via a call to setprotoent(3),
	if available.

2009-03-17  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, src/bindings.c: Bug#2680 - Add support for
	<VirtualHost 0.0.0.0>.

2009-03-16  castaglia <castaglia>

	* contrib/mod_sql.c, modules/mod_log.c: Make sure that %V gets
	resolved to the DNS name of the IP address to which the client
	connected.  This can differ from what is expected, e.g. when
	DefaultServer marks a vhost (which is for a different IP address)
	that handles the connection.

2009-03-16  castaglia <castaglia>

	* modules/mod_facts.c, tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: 
	The MLSD command, as per RFC, does not support glob characters.
	However, this does not mean that we should error out on an MLSD
	command which does contain glob characters; there could be a valid
	directory with such characters in the path.

2009-03-14  castaglia <castaglia>

	* contrib/mod_sftp/rfc4716.c: When parsing RFC4716 formatted keys,
	make sure the input buffer is large enough to handle the longest
	allowable line: 72 bytes + CRLF + NUL = 75 bytes.  And if the line
	is "too long", log that length.

2009-03-13  castaglia <castaglia>

	* doc/howto/Quotas.html: Another common cause of quota tallies not
	being updated.

2009-03-13  castaglia <castaglia>

	* src/inet.c: Jesús Alastruey pointed out there was an off-by-one
	bug in the handling of the PassivePorts port selection code.  The
	highest port number was not being properly shuffled.

2009-03-12  castaglia <castaglia>

	* configure: Updated configure.

2009-03-12  castaglia <castaglia>

	* configure.in: Guard against empty --with-FOO arguments; these lead
	to strange build failures such as:   configure: error: source file './modules/d_ident.c' cannot be
	  found -- aborting

2009-03-12  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: Return the %preun RPM build state
	to its previous implementation; no need to futz with it for
	Bug#2613.

2009-03-12  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: Updating the proftpd.spec to match
	Bug#2613.

2009-03-12  castaglia <castaglia>

	* configure: Updated configure.

2009-03-12  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, configure.in: Bug#2613 - Configure script
	should not append '/proftpd' to the --localstatedir.

2009-03-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add unit tests for
	the SSL session reuse requirement for data transfers, and that using
	the NoSessionReuseRequired TLSOption does in fact relax this
	requirement properly.

2009-03-12  castaglia <castaglia>

	* modules/mod_xfer.c: If pr_data_sendfile() fails because of
	EOVERFLOW, fall back to transmitting the data normally.  Less
	distracting for admins this way.

2009-03-12  castaglia <castaglia>

	* contrib/mod_tls.c: Fix stale pointer segfault caused when an FTPS
	client fails to reuse the SSL session from the control connection
	for a data transfer, and the SSL session has to be shut down.

2009-03-11  castaglia <castaglia>

	* contrib/mod_tls.c: Stylistic cleanups in tls_verify_crl().

2009-03-11  castaglia <castaglia>

	* tests/t/etc/modules/mod_tls/ca-crl.pem,
	tests/t/etc/modules/mod_tls/client-cert.pem,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add a unit test for
	TLSCARevocationFile.  Note that this currently requires a hacked
	version of Net::FTPSSL; I am contributing the patch to the upstream
	author.  (The patch is necessary to configure the client cert that a
	Net::FTPSSL client will present when talking to an FTPS server.)

2009-03-11  castaglia <castaglia>

	* doc/howto/Compiling.html: Note the additional behavior when
	--enable-devel=coredump is used (and emphasis why this is a Bad Idea
	unless you really know what you're doing).

2009-03-11  castaglia <castaglia>

	* doc/contrib/mod_wrap2_sql.html: Fix the mod_wrap2_sql
	documentation, thanks to Szymon Juraszczyk.

2009-03-11  castaglia <castaglia>

	* contrib/mod_wrap2_file.c, contrib/mod_wrap2_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Further
	improvements to the fix for Bug#3048 and Bug#3215 from Szymon
	Juraszczyk.

2009-03-10  castaglia <castaglia>

	* NEWS, contrib/mod_wrap2_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Bug#3215 -
	mod_wrap2_sql should support comma-delimited lists of clients.

2009-03-10  castaglia <castaglia>

	* contrib/mod_ban.c, contrib/mod_ctrls_admin.c, contrib/mod_tls.c,
	include/compat.h, include/ctrls.h, include/mod_ctrls.h,
	modules/mod_ctrls.c, modules/mod_delay.c, modules/mod_dso.c,
	src/ctrls.c, src/ftpdctl.c: Bug#3211 - Compile error when using
	--enable-ctrls --with-shared=mod_ctrls.

2009-03-10  castaglia <castaglia>

	* RELEASE_NOTES, doc/contrib/mod_tls_shmcache.html: Added docs for
	mod_tls_shmcache.html.

2009-03-10  castaglia <castaglia>

	* contrib/mod_tls_shmcache.c: Forgot to include the $Libraries$ hint
	for mod_tls_shmcache.c.  Useful for when it is compiled as a shared
	modulel via prxs.

2009-03-10  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Typo.

2009-03-10  castaglia <castaglia>

	* RELEASE_NOTES, doc/contrib/mod_tls.html: Add docs for the
	NoSessionReuseRequired TLSOption added in Bug#3210.

2009-03-10  castaglia <castaglia>

	* contrib/mod_tls.c: Typo.

2009-03-10  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3210 - Data transfers
	protected by SSL/TLS should reuse the control connection SSL
	session.

2009-03-10  castaglia <castaglia>

	* RELEASE_NOTES: Mention the new directives and module.  Fuller
	descriptions will be added later.

2009-03-10  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Update the mod_tls docs to include
	TLSControlsACLs, TLSSessionCache, and the new mod_tls ftpdctl
	actions.

2009-03-10  castaglia <castaglia>

	* contrib/mod_tls.c: Include the name of the external session cache
	in the 'clear' and 'remove' action outputs.

2009-03-10  castaglia <castaglia>

	* contrib/mod_tls_shmcache.c: Add some identifying information about
	the module itself in the status output.

2009-03-10  castaglia <castaglia>

	* contrib/mod_tls.c: Make the default external SSL session cache
	timeout 30 minutes.  FTPS sessions are longer than HTTPS requests,
	hence why our default session timeout is longer than OpenSSL's
	default (which is 5 minutes).

2009-03-10  castaglia <castaglia>

	* contrib/mod_tls_shmcache.c: Add new contrib module,
	mod_tls_shmcache, which provides a shared-memory (SysV IPC shared
	memory) implementation for SSL session caching among multiple
	processes.  Need at least one implementation of an external SSL
	session cache for Bug#3207.

2009-03-10  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c, contrib/mod_tls.h: Bug#3207 - Support for
	SSL/TLS session caching across processes/machines.

2009-03-10  castaglia <castaglia>

	* contrib/mod_tls.c: Once we know the vhost handling the connection,
	use that vhost pointer as the "session ID context" for SSL/TLS
	sessions.  This ensures that SSL sessions to different vhosts (which
	may have different SSL security policies configured) end up in
	different groups (i.e. no chance of session ID collision between
	sessions to two different vhosts).

2009-03-10  castaglia <castaglia>

	* doc/howto/Limit.html: Add another example <Limit> config, for a
	read-only account.

2009-03-09  castaglia <castaglia>

	* contrib/mod_ban.c: Pedantic ANSI C compilers might complain about
	the trailing comma.

2009-03-09  castaglia <castaglia>

	* contrib/mod_tls.c: If TLSCACertificatePath is configured, properly
	skip the "." and ".." directories.  The code was there, but it was
	not doing this properly (it was trying to read "." and ".." as
	filenames in that directory, and thus littering the TLSLog with
	ugly, unnecessary messages).

2009-03-09  castaglia <castaglia>

	* doc/howto/Limit.html: Example <Limit> config of making a directory
	undeletable, but allowing its subdirectories to be deletable.

2009-03-09  castaglia <castaglia>

	* src/proftpd.8.in, utils/ftpcount.1.in, utils/ftpscrub.8.in,
	utils/ftptop.1.in, utils/ftpwho.1.in: Bug#3212 - Duplicate '/run/'
	in manpages.

2009-03-09  castaglia <castaglia>

	* contrib/mod_tls.c: Typo.

2009-03-09  castaglia <castaglia>

	* contrib/mod_tls.c: If the EnableDiags TLSOption is enabled, log
	some SSL session stats when the session ends.

2009-03-08  castaglia <castaglia>

	* contrib/mod_ban.c: Typo.

2009-03-07  castaglia <castaglia>

	* contrib/mod_sftp/kbdint.c: Need to return -1, not zero, if we fail
	to unregister a 'keyboard-interactive' driver for some reason.

2009-03-07  castaglia <castaglia>

	* contrib/mod_sftp_pam.c: Add the same macro for const-ness (or not)
	for the pam_conv function prototype as done in mod_auth_pam to
	mod_sftp_pam.

2009-03-07  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: Bug#2652 - Installing standard RPM
	fails when /home mounted from NFS filesystem on root_squashed host.
	Add support for `rpmbuild --define 'nohome 1' ...' in the provided
	proftpd.spec.

2009-03-07  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec: Bug#2985 -
	Newest .spec file requires relatively current version of RPM.

2009-03-06  castaglia <castaglia>

	* contrib/mod_tls.c: If we get to the point that we need to generate
	our own random seed data for OpenSSL's PRNG, then allocate some
	uninitialized memory off the heap and use that for the seed.  This
	complements the existing use of uninitialized stack data as part of
	the generated seed.

2009-03-05  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added a unit test
	for the case where mod_sftp and mod_vroot are used, and the SFTP
	client sends an OPENDIR request to a path which happens to be a
	symlink to a path which lies outside of the vroot area.  What a
	mess.

2009-03-05  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: The mod_sftp modules DOES support
	UseLastlog now.

2009-03-05  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: When handling an OPENDIR request, resolve
	the given path to the best local path before calling
	pr_fsio_opendir().  In most cases, this is not important.  But when
	using mod_vroot and the path being opened is a symlink to another
	directory, it IS important.  Also log to the "fileperms" log channel if pr_fsio_readlink() fails
	when handling a READLINK request.

2009-03-05  castaglia <castaglia>

	* src/dirtree.c: Minor stylistic cleanups.

2009-03-05  castaglia <castaglia>

	* contrib/mod_sftp/auth.c, modules/mod_auth.c: Update mod_sftp to
	use the new pr_auth_get_home() function (for honoring any
	RewriteHome configuration).  Change the timing of the call to pr_auth_get_home() in mod_auth, so
	that it happens *before* any substitution of variables (e.g. '%u')
	in the home dir.  This allows the rewritten home directory to
	contain variables like '%u'.

2009-03-05  castaglia <castaglia>

	* RELEASE_NOTES: Updated release notes with info about RewriteHome.

2009-03-05  castaglia <castaglia>

	* tests/t/config/rewritehome.t,
	tests/t/lib/ProFTPD/Tests/Config/RewriteHome.pm, tests/tests.pl: 
	Added unit test for the new RewriteHome configuration directive.

2009-03-05  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c, include/auth.h, modules/mod_auth.c,
	src/auth.c: Bug#3167 - Support rewriting of home directories.

2009-03-05  castaglia <castaglia>

	* modules/mod_core.c: Tell the admin to allocate a larger
	PassivePorts range, when we encounter the case where a port in the
	defined PassivePorts range cannot be used because all PassivePorts
	ports are in use.

2009-03-05  castaglia <castaglia>

	* contrib/mod_rewrite.c, contrib/mod_sftp/rfc4716.c,
	contrib/mod_wrap2_file.c, include/fsio.h, modules/mod_facts.c,
	modules/mod_ls.c, src/display.c, src/fsio.c, src/netio.c,
	src/parser.c: Replace the use of static buffers of size
	PR_TUNABLE_BUFFER_SIZE in many placese with dynamically allocated
	buffers of more optimal sizes.  See Bug#3206 for more details.

2009-03-05  castaglia <castaglia>

	* modules/mod_auth_pam.c: Make extra sure that our PAM_CONST macro
	doesn't collide with any system macro of the same name by calling it
	PR_PAM_CONST.

2009-03-05  castaglia <castaglia>

	* modules/mod_auth_pam.c: I finally got tired of seeing this
	compiler warning:   mod_auth_pam.c:88: warning: function declaration isn't a prototype because mod_auth_pam used K&R style (for some reason) in one place.
	So fix it up to be ANSI style, and deal with the platform-specific
	const-ness of one of the arguments.

2009-03-05  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Clients using later SFTP protocol versions
	can include attribute flags in the stat (STAT, FSTAT, LSTAT)
	requests to indicate the specific attributes in which the client is
	interested.  Even though mod_sftp does not honor these hints, it now
	logs the text version of those flags; previously it was simply
	logging the raw value.  As a bitmask, this logged number was not
	especially enlightening.  Also added logging of the textified flags which are unsupported, in
	the case of an OPEN request which is rejected because of unsupported
	flags in the request.

2009-03-04  castaglia <castaglia>

	* src/dirtree.c: Corrected stale/misleading comment.

2009-03-04  castaglia <castaglia>

	* modules/mod_auth_unix.c, src/auth.c: Fix the implementation of
	pr_auth_authorize().  Now, mod_auth_unix (the only known 'authorize'
	handler at present) will explicitly return ERROR to the 'authorize'
	call if the user is not authorized.  This way, an 'authorize'
	dispatch which gets a result of HANDLED or DECLINED treats the user
	as "authorized".  The DECLINED case means that a user can be
	authenticated via e.g. mod_sql (which does NOT provide an
	'authorize' handler), and be successfully authorized as well.

2009-03-04  castaglia <castaglia>

	* contrib/mod_sftp/interop.c: Include the SSH2 client version info
	in the TraceLog.

2009-03-04  castaglia <castaglia>

	* contrib/mod_sftp/keys.c: Add trace logging for channel "ssh2",
	level 17, of reasons why key mismatches occur.

2009-03-04  castaglia <castaglia>

	* contrib/mod_sftp_sql.c: Be a little more clear when logging why a
	key comparison failed (i.e.  differentiate between "comparison
	failure" and "key mismatch").

2009-03-04  castaglia <castaglia>

	* contrib/mod_sftp/crypto.c, contrib/mod_sftp/kex.c,
	contrib/mod_sftp/mac.c: Make mod_sftp compile properly when dealing
	with older versions of OpenSSL (e.g. OpenSSL versions older than
	0.9.7).

2009-03-04  castaglia <castaglia>

	* NEWS, src/prxs.in: Bug#3204 - Better support for installation and
	libs in prxs.

2009-03-04  castaglia <castaglia>

	* contrib/mod_sftp/channel.c, contrib/mod_sftp/fxp.c: Include more
	info in the dispatched cmd_recs, e.g. channel IDs.

2009-03-04  castaglia <castaglia>

	* doc/howto/ServerType.html: Add a real xinetd config example to the
	ServerType howto, rather than having the broken UserGuide link.

2009-03-04  castaglia <castaglia>

	* contrib/mod_sql.c, modules/mod_auth.c, modules/mod_log.c: More
	work towards Bug#2715.  This moves the storage of the anonymous
	password to the session.notes table, and out of the config tree.

2009-03-04  castaglia <castaglia>

	* doc/modules/mod_delay.html: Add some mod_delay FAQs.

2009-03-03  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#3203 - Missing SQL backend modules
	can lead to null pointer segfault in mod_sql.

2009-03-03  castaglia <castaglia>

	* src/Makefile.in, utils/Makefile.in: Turns out that deleting files
	(via 'make clean) generated at configure time, rather than at
	compile time, is a bad idea.  You can do several 'make clean && make
	install' invocations with one configure invocation; the install step
	complains about missing files (i.e. the generated ones) after
	they've been deleted unnecessarily.

2009-03-03  castaglia <castaglia>

	* contrib/mod_wrap2/mod_wrap2.c: String formatting fixed, as per
	Bug#3197.

2009-03-03  castaglia <castaglia>

	* contrib/mod_quotatab_file.c: Remove the log messages about EOF;
	they proved to be too annoying and not as helpful as one would like.

2009-03-03  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c: Bug#3196 - mod_quotatab does not
	honor last group in supplemental group list.

2009-03-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm,
	tests/t/modules/mod_quotatab_file.t, tests/tests.pl: Add a unit test
	for mod_quotatab_file.

2009-03-02  castaglia <castaglia>

	* modules/mod_facts.c, tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Make sure that the MLST
	and MLSD command handlers can handle paths with spaces in them.
	This is essentially the same bug as Bug#3142; the fix for that bug
	was not properly extended to the MLST and MLSD commands.

2009-03-02  castaglia <castaglia>

	* include/support.h: Remove the declaration of the now-obsolete
	set_protocol_name() function.

2009-03-02  castaglia <castaglia>

	* RELEASE_NOTES: Mention the Korean translation.

2009-03-02  castaglia <castaglia>

	* locale/Makefile.in, locale/ko_KR.po: Bug#3194 - Add Korean
	translation.

2009-02-27  castaglia <castaglia>

	* contrib/mod_sftp/kex.c: Copy the client-sent language lists out of
	the kex pool, not out of the packet pool.

2009-02-27  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit tests for
	the one-hostkey-only mod_sftp configurations.

2009-02-27  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Update the mod_sftp docs to mention
	that only one SFTPHostKey is now required.

2009-02-27  castaglia <castaglia>

	* contrib/mod_sftp/kex.c, contrib/mod_sftp/keys.c,
	contrib/mod_sftp/keys.h, contrib/mod_sftp/mod_sftp.c: Fix bug when
	handling language lists; I forgot to initialize the server's
	language list, even if it is to the empty string.  Also make mod_sftp more lenient with regard to host keys.  It will
	now function if only one host key, be it RSA or DSA, is configured.

2009-02-26  castaglia <castaglia>

	* contrib/mod_sftp/kex.c: Start implementing support for negotiated
	languages in the key exchange.  For now, actually read (and log) the
	list of languages sent by the client.

2009-02-26  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix the permissions
	on the test hostkey files so that mod_sftp won't complain about
	them.

2009-02-26  castaglia <castaglia>

	* locale/fr_FR.po: Updated French translation from the translator.

2009-02-26  castaglia <castaglia>

	* contrib/mod_sftp/channel.c: When sending WINDOW_ADJUST messages to
	the client, mod_sftp needs to use the (possibly) SFTPClientMatch
	adjusted window size, not the default window size.

2009-02-26  castaglia <castaglia>

	* modules/mod_facts.c: The response to MLST was sending the info,
	and terminating the line with an extra LF, e.g. "dataLFCRLF", rather
	than just a normal CRLF.

2009-02-22  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Update mod_sftp so that it too uses the
	new pr_filter_allow_path() function.

2009-02-22  castaglia <castaglia>

	* contrib/mod_sftp/utf8.c: Fix the compilation of mod_sftp when
	--enable-nls is NOT used.

2009-02-22  castaglia <castaglia>

	* modules/mod_core.c, modules/mod_xfer.c,
	tests/t/lib/ProFTPD/Tests/Config/PathAllowFilter.pm,
	tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Updated mod_core
	so that it uses pr_filter_allow_path(), rather than looking up and
	comparing against the PathAllowFilter/PathDenyFilter directives
	directly.  Provide accompanying tests to show that no functionality
	has been broken in this refactoring.

2009-02-22  castaglia <castaglia>

	* Make.rules.in, include/conf.h, include/filter.h,
	modules/mod_xfer.c, src/filter.c: Consolidate the checking of a path
	against the PathAllowFilter and PathDenyFilter directives into a
	common pr_filter_allow_path() function, rather than having the
	checking of those directives repeatedly done throughout the code.  Right now, only the STOR handler in mod_xfer has been updated to use
	this new pr_filter_allow_path() function; more updates for the rest
	of the core code will be coming.

2009-02-22  castaglia <castaglia>

	* utils/.cvsignore: Ignore the generated ftpscrub.8 man page in CVS
	commands.

2009-02-22  castaglia <castaglia>

	* src/log.c: Implement pr_log_writefile() so that it calls
	pr_log_vwritefile(), just like the other module logging functions
	do.

2009-02-22  castaglia <castaglia>

	* tests/t/config/pathallowfilter.t,
	tests/t/config/pathdenyfilter.t,
	tests/t/lib/ProFTPD/Tests/Config/PathAllowFilter.pm,
	tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm, tests/tests.pl: 
	Added unit tests for the PathAllowFilter and PathDenyFilter
	directives.  Will be adding more tests for this directives,
	involving other FTP commands, soon.

2009-02-21  castaglia <castaglia>

	* contrib/mod_quotatab.c, contrib/mod_quotatab.h,
	contrib/mod_radius.c, contrib/mod_sql.c, contrib/mod_tls.c,
	contrib/mod_wrap2/mod_wrap2.c, contrib/mod_wrap2/mod_wrap2.h.in,
	include/log.h, include/mod_ctrls.h, modules/mod_ctrls.c, src/log.c: 
	The changes to the logging functions made earlier today pointed out
	to me the fact that many of the contrib modules -- and even
	mod_ctrls -- had functionally duplicative logging functions as the
	core pr_log_writefile() function.  And why have duplicated code when
	it isn't necessary? To address this, a new pr_log_vwritefile() function has been added.
	This function, rather than be a varargs-style function like
	pr_log_writefile(), takes a va_list parameter.  This makes it
	suitable for calling by the contrib modules' own logging functions,
	which themselves are varargs-style functions.  While I was at it, I made sure that these logging functions are
	checked via gcc's __attribute__ pragma (where it wasn't already
	being done), and cleaned up the resulting compiler warnings.

2009-02-21  castaglia <castaglia>

	* contrib/mod_sql.c: Fix a stylistic nit in sql_addgroup.  The cnt
	variable had an unnecessarily large scope, and the gr_mem array of
	strings should be terminated with a NULL, not a '\0' (NUL
	character).

2009-02-21  castaglia <castaglia>

	* .cvsignore: Add the new ftpscrub utility to the cvs ignore list.

2009-02-21  castaglia <castaglia>

	* contrib/mod_tls.c: Be a little paranoid, and keep
	X509_NAME_oneline() from using the entire buffer; reserve one
	character for NUL.

2009-02-20  castaglia <castaglia>

	* contrib/mod_quotatab.c, contrib/mod_radius.c, contrib/mod_sql.c,
	contrib/mod_tls.c, contrib/mod_wrap2/mod_wrap2.c,
	modules/mod_ctrls.c, src/log.c: Fix the logging functions to handle
	long log messages properly.

2009-02-20  castaglia <castaglia>

	* NEWS, modules/mod_facts.c,
	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Bug#3190 - MLSD/MLST do
	not honor <Limit> configurations.

2009-02-19  castaglia <castaglia>

	* utils/ftpscrub.c: Forgot to move the ftpscrub.c source from from
	src/ to utils/, along with the its man pages and build rules.

2009-02-19  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/utf8.c,
	contrib/mod_sftp/utf8.h: Make mod_sftp honor the UseEncoding
	directive iff it has been used in the two-argument form.  In this
	particular case, the client encoding is dictated by the IETF Draft
	for SFTP to be UTF8, but the admin can now use UseEncoding to set
	the local charset that mod_sftp should use.

2009-02-18  castaglia <castaglia>

	* RELEASE_NOTES, doc/howto/Scoreboard.html: Mention the
	ScoreboardScrub directive in the release notes, and update the
	Scoreboard howto to mention this new directive.

2009-02-18  castaglia <castaglia>

	* configure: Updated configure.

2009-02-18  castaglia <castaglia>

	* src/Makefile.in, utils/Makefile.in, utils/ftpscrub.8.in: Put the
	ftpscrub.8.in man page template in the wrong directory; should have
	been in utils/, not in src/.

2009-02-18  castaglia <castaglia>

	* Make.rules.in, Makefile.in, NEWS, configure.in,
	modules/mod_core.c, src/Makefile.in, src/ftpscrub.c,
	utils/Makefile.in, utils/scoreboard.c, utils/utils.h: Bug#3129 -
	Support configurable scoreboard scrubbing.

2009-02-18  castaglia <castaglia>

	* contrib/mod_sql_postgres.c: Minor OCD reordering.

2009-02-18  castaglia <castaglia>

	* contrib/mod_sftp/disconnect.h: Helps if the comment matches the
	code.

2009-02-18  castaglia <castaglia>

	* contrib/mod_sftp/disconnect.h: Handle the lack of __FUNCTION__ (a
	gcc extension) better.  Try to use __func__ if present (Sun
	compilers use this), and have a fallback of "(unknown)" for other
	cases.

2009-02-18  castaglia <castaglia>

	* src/wtmp.c: Finally get rid of these compiler warnings:   wtmp.c:38: warning: unused variable `ut'   wtmp.c:39: warning: unused variable `fd' on Solaris systems.

2009-02-18  castaglia <castaglia>

	* NEWS, contrib/mod_sql_postgres.c: Bug#3176 - Postgres chokes on
	standard charset names.

2009-02-17  castaglia <castaglia>

	* Makefile.in, NEWS: Bug#3189 - Linker errors occur when using "make
	-j" parallel builds.

2009-02-17  castaglia <castaglia>

	* lib/libltdl/Makefile.in: Forgot to re-apply the libltdl
	modifications to disable the actions that try to use autoheader and
	automake.  These aren't installed on every system, and we don't
	really use them.

2009-02-17  castaglia <castaglia>

	* RELEASE_NOTES, doc/contrib/mod_tls.html: Update the docs for the
	new PKCS#12 file support in mod_tls.

2009-02-17  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3111 - Support
	SSL/TLS server certificates stored in PKCS#12 files.

2009-02-17  castaglia <castaglia>

	* NEWS, configure: Bug#3154 - Update bundled libtool version.  The
	bundled libltdl version has been updated to libtool-1.5.26.

2009-02-17  castaglia <castaglia>

	* aclocal.m4, ltmain.sh: More towards Bug#3154.

2009-02-17  castaglia <castaglia>

	* lib/libltdl/configure: Update configure, so that make doesn't
	think it needs to regenerate the configure file.  (The configure
	file needs a newer timestamp than the configure.ac file, otherwise
	the Makefile will try to make a new configure.)

2009-02-17  castaglia <castaglia>

	* lib/libltdl/COPYING.LIB, lib/libltdl/Makefile.am,
	lib/libltdl/Makefile.in, lib/libltdl/acinclude.m4,
	lib/libltdl/aclocal.m4, lib/libltdl/config.guess,
	lib/libltdl/config.sub, lib/libltdl/configure,
	lib/libltdl/configure.ac, lib/libltdl/install-sh,
	lib/libltdl/ltdl.c, lib/libltdl/ltdl.h, lib/libltdl/ltmain.sh,
	lib/libltdl/missing: Bug#3154 - Update bundled libtool version.

2009-02-17  castaglia <castaglia>

	* src/Makefile.in: Clean up the other generated files from the src
	directory (i.e. the man pages).

2009-02-17  castaglia <castaglia>

	* src/Makefile.in: Clean up the generated prxs script.

2009-02-17  castaglia <castaglia>

	* doc/contrib/mod_sftp.html: Add hrefs to the individual SFTP FAQs.  Added FAQ about using mod_sftp as an OpenSSH subsystem.

2009-02-16  castaglia <castaglia>

	* src/prxs.in: Give the prxs tool a --help option.

2009-02-16  castaglia <castaglia>

	* NEWS, src/prxs.in: Bug#3188 - prxs broken due to typo.

2009-02-16  castaglia <castaglia>

	* contrib/mod_load/.cvsignore, contrib/mod_sftp/.cvsignore,
	contrib/mod_wrap2/.cvsignore: Ignore libtool object files (*.lo) in
	CVS commands.

2009-02-16  castaglia <castaglia>

	* contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
	contrib/mod_sftp/fxp.c, contrib/mod_sftp/kex.c,
	contrib/mod_sftp/packet.c, contrib/mod_sftp/scp.c,
	contrib/mod_sftp/service.c, include/cmd.h, src/main.c: Work towards
	supporting the %S/%s LogFormat variables for SFTP responses.  Doing
	so required changing the pr_cmd_dispatch_phase() function so that it
	takes a flag argument, rather than just a Boolean, and updating all
	of the callers (most of which are in mod_sftp).

2009-02-16  castaglia <castaglia>

	* include/support.h: Forgot to remove the old make_arg_str()
	declaration.

2009-02-16  castaglia <castaglia>

	* contrib/mod_sftp/fxp.c: Support use of the TEXT mode flag in SFTP
	OPEN requests from clients using SFTP protocol version 4 and later.
	Since we send the 'newline' extension telling the client that the
	"canonical" newline sequence is a simple LF, supporting TEXT mode
	for files is the same as non-TEXT mode for Unix.  However, against the recommendations of the SFTP Draft, mod_sftp
	will NOT support a "text-seek" request; the computational cost of
	supporting such a thing is not worth it.

2009-02-15  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Add regression tests
	for the BanEngine behavior added in Bug#3186.

2009-02-15  castaglia <castaglia>

	* NEWS, contrib/mod_ban.c: Bug#3186 - Support use of <IfClass>
	directive with mod_ban.

2009-02-15  castaglia <castaglia>

	* NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#3185 - mod_wrap2 does not
	honour partial DNS name in access files.

2009-02-15  castaglia <castaglia>

	* Make.rules.in, contrib/mod_rewrite.c, include/cmd.h,
	include/conf.h, include/dirtree.h, include/inet.h,
	include/modules.h, src/cmd.c, src/dirtree.c, src/main.c,
	src/support.c: Try consolidating some of the pr_cmd_* functions into
	their own file (and give them their own header).  Replaced make_arg_str() with pr_cmd_get_displayable_str(), which
	caches the resulting string of decoded arguments (to avoid needless
	re-decoding on every command dispatch).

2009-02-14  castaglia <castaglia>

	* contrib/mod_sftp/auth-hostbased.c,
	contrib/mod_sftp/auth-publickey.c, include/auth.h,
	modules/mod_auth_unix.c, src/auth.c: Add a new pr_auth_authorize()
	API, for checking that a user is authorized to login.  This is
	different from pr_auth_authenticate(), which authenticates the user
	using the given password.  The authorization checks do not need a
	password.  This function is particularly needed by mod_sftp, which can
	authenticate a client via non-password means (e.g. hostbased,
	keyboard-interactive, and publickey authentication); the
	authorization of the logging-in user still needs to occur in those
	cases.

2009-02-14  castaglia <castaglia>

	* contrib/mod_quotatab.c, contrib/mod_radius.c,
	contrib/mod_sftp/mod_sftp.c, contrib/mod_sql.c, contrib/mod_tls.c,
	contrib/mod_wrap2/mod_wrap2.c: When unloading modules which can have
	their own logs, make sure that those log descriptors are closed.

2009-02-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Add separate
	mod_wrap2 deny table tests for IP addresses and DNS names.

2009-02-14  castaglia <castaglia>

	* src/session.c: Use a plain unadorned "ssh" as the TTY name in case
	of SSH sessions.

2009-02-14  castaglia <castaglia>

	* Make.rules.in, contrib/mod_sftp/auth.c, include/log.h, src/log.c,
	src/wtmp.c: Separate out log_wtmp() into its own source file.  Update mod_sftp to honor WtmpLog and UseLastlog.

2009-02-14  castaglia <castaglia>

	* contrib/mod_sql.c: Constify one of the functions, and deal with
	the consequences.

2009-02-14  castaglia <castaglia>

	* Make.rules.in, contrib/mod_sftp/fxp.c,
	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/scp.c,
	contrib/mod_sql.c, contrib/mod_tls.c, include/conf.h,
	include/log.h, include/session.h, modules/mod_auth.c,
	modules/mod_log.c, src/log.c, src/main.c, src/session.c,
	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Added new Session
	API.  The data for the session are stashed in the session.notes
	table, but these accessors can perform some intelligent
	transformation on the stashed value.  Bug#3183 proved that the construction of the pseudo-ttyname, used in
	WtmpLog and PAM authentication, should be consolidated, and this has
	been done.  Also used the Session API to implement a %{protocol} LogFormat (and
	SQLNamedQuery) variable.  This will resolve to "ftp", "ftps",
	"ssh2", "sftp", or "scp" as appropriate.  A unit test for
	regressions of this feature is included.

2009-02-13  castaglia <castaglia>

	* contrib/mod_sftp_pam.c, contrib/mod_sftp_sql.c: Update the
	copyright dates for these modules.

2009-02-13  castaglia <castaglia>

	* contrib/mod_sftp/auth-hostbased.c,
	contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
	contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
	contrib/mod_sftp/auth.h, contrib/mod_sftp/blacklist.c,
	contrib/mod_sftp/blacklist.h, contrib/mod_sftp/channel.c,
	contrib/mod_sftp/channel.h, contrib/mod_sftp/cipher.c,
	contrib/mod_sftp/cipher.h, contrib/mod_sftp/compress.c,
	contrib/mod_sftp/compress.h, contrib/mod_sftp/crypto.c,
	contrib/mod_sftp/crypto.h, contrib/mod_sftp/disconnect.c,
	contrib/mod_sftp/disconnect.h, contrib/mod_sftp/fxp.c,
	contrib/mod_sftp/fxp.h, contrib/mod_sftp/interop.c,
	contrib/mod_sftp/interop.h, contrib/mod_sftp/kbdint.c,
	contrib/mod_sftp/kbdint.h, contrib/mod_sftp/kex.c,
	contrib/mod_sftp/kex.h, contrib/mod_sftp/keys.c,
	contrib/mod_sftp/keys.h, contrib/mod_sftp/keystore.c,
	contrib/mod_sftp/keystore.h, contrib/mod_sftp/mac.c,
	contrib/mod_sftp/mac.h, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/msg.c,
	contrib/mod_sftp/msg.h, contrib/mod_sftp/packet.c,
	contrib/mod_sftp/packet.h, contrib/mod_sftp/rfc4716.c,
	contrib/mod_sftp/rfc4716.h, contrib/mod_sftp/scp.c,
	contrib/mod_sftp/scp.h, contrib/mod_sftp/service.c,
	contrib/mod_sftp/service.h, contrib/mod_sftp/session.c,
	contrib/mod_sftp/session.h, contrib/mod_sftp/ssh2.h,
	contrib/mod_sftp/tap.c, contrib/mod_sftp/tap.h,
	contrib/mod_sftp/utf8.c, contrib/mod_sftp/utf8.h: Add the Id keyword
	to the source files.

2009-02-13  castaglia <castaglia>

	* src/netaddr.c: Quell a compiler warning about const-ness.

2009-02-13  castaglia <castaglia>

	* contrib/mod_sftp/keys.c, contrib/mod_sftp/keys.h: Forgot the
	keys.[ch] files for mod_sftp.

2009-02-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm,
	tests/t/modules/mod_sftp.t, tests/tests.pl: Adding the mod_sftp
	testsuite.

2009-02-13  castaglia <castaglia>

	* tests/t/etc/modules/mod_sftp/authorized_dsa_keys,
	tests/t/etc/modules/mod_sftp/authorized_rsa_keys,
	tests/t/etc/modules/mod_sftp/ssh_host_dsa_key,
	tests/t/etc/modules/mod_sftp/ssh_host_dsa_key.pub,
	tests/t/etc/modules/mod_sftp/ssh_host_rsa_key,
	tests/t/etc/modules/mod_sftp/ssh_host_rsa_key.pub,
	tests/t/etc/modules/mod_sftp/test_dsa_key,
	tests/t/etc/modules/mod_sftp/test_dsa_key.pub,
	tests/t/etc/modules/mod_sftp/test_rsa_key,
	tests/t/etc/modules/mod_sftp/test_rsa_key.pub: Adding some of the
	files used by the mod_sftp unit tests.

2009-02-13  castaglia <castaglia>

	* contrib/mod_sftp/mod_sftp.c: Make sure that, when unloaded,
	mod_sftp unregisters all event handlers, and scrubs any keys from
	memory.

2009-02-13  castaglia <castaglia>

	* NEWS, README.modules, RELEASE_NOTES: Add mention of the added
	mod_sftp et al modules.

2009-02-13  castaglia <castaglia>

	* contrib/mod_sftp_pam.c, contrib/mod_sftp_sql.c,
	doc/contrib/mod_sftp.html, doc/contrib/mod_sftp_pam.html,
	doc/contrib/mod_sftp_sql.html: Adding mod_sftp_pam, mod_sftp_sql to
	the contrib modules.  Adding docs for mod_sftp, mod_sftp_pam, and mod_sftp_sql.

2009-02-13  castaglia <castaglia>

	* contrib/mod_sftp/.cvsignore, contrib/mod_sftp/Makefile.in,
	contrib/mod_sftp/auth-hostbased.c, contrib/mod_sftp/auth-kbdint.c,
	contrib/mod_sftp/auth-password.c,
	contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
	contrib/mod_sftp/auth.h, contrib/mod_sftp/blacklist.c,
	contrib/mod_sftp/blacklist.h, contrib/mod_sftp/channel.c,
	contrib/mod_sftp/channel.h, contrib/mod_sftp/cipher.c,
	contrib/mod_sftp/cipher.h, contrib/mod_sftp/compress.c,
	contrib/mod_sftp/compress.h, contrib/mod_sftp/config.guess,
	contrib/mod_sftp/config.sub, contrib/mod_sftp/configure,
	contrib/mod_sftp/configure.in, contrib/mod_sftp/crypto.c,
	contrib/mod_sftp/crypto.h, contrib/mod_sftp/dhparams.pem,
	contrib/mod_sftp/disconnect.c, contrib/mod_sftp/disconnect.h,
	contrib/mod_sftp/fxp.c, contrib/mod_sftp/fxp.h,
	contrib/mod_sftp/install-sh, contrib/mod_sftp/interop.c,
	contrib/mod_sftp/interop.h, contrib/mod_sftp/kbdint.c,
	contrib/mod_sftp/kbdint.h, contrib/mod_sftp/kex.c,
	contrib/mod_sftp/kex.h, contrib/mod_sftp/keystore.c,
	contrib/mod_sftp/keystore.h, contrib/mod_sftp/mac.c,
	contrib/mod_sftp/mac.h, contrib/mod_sftp/mod_sftp.c,
	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/msg.c,
	contrib/mod_sftp/msg.h, contrib/mod_sftp/packet.c,
	contrib/mod_sftp/packet.h, contrib/mod_sftp/rfc4716.c,
	contrib/mod_sftp/rfc4716.h, contrib/mod_sftp/scp.c,
	contrib/mod_sftp/scp.h, contrib/mod_sftp/service.c,
	contrib/mod_sftp/service.h, contrib/mod_sftp/session.c,
	contrib/mod_sftp/session.h, contrib/mod_sftp/ssh2.h,
	contrib/mod_sftp/tap.c, contrib/mod_sftp/tap.h,
	contrib/mod_sftp/utf8.c, contrib/mod_sftp/utf8.h: Adding mod_sftp to
	the contrib modules.

2009-02-13  castaglia <castaglia>

	* contrib/mod_tls.c: Move the installation of the control channel
	NetIO handler from the startup event handler to the postparse event
	handler, and make the NetIO handler installer be smarter.  We only
	want to install a NetIO handler for the control channel if we have
	not already done so.  We want to do this at postparse time, so that
	if mod_tls is a DSO module and is unloaded (as during a restart),
	then the NetIO handler will be installed again properly.
	Previously, the NetIO handler was only installed on startup.  If
	mod_tls is a DSO module, and proftpd is restarted, then the unload
	event handler in mod_tls unregisters the control channel NetIO
	handler, and that handler is never reinstalled.  A segfault later
	occurs because of a null pointer dereference.

2009-02-13  castaglia <castaglia>

	* NEWS, src/dirtree.c: Bug#3184 - When started in a chroot, proftpd
	fails to set transfer buffer size.

2009-02-12  castaglia <castaglia>

	* doc/howto/DNS.html: Mention the new -S command-line option in the
	DNS howto's FAQ section.

2009-02-12  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, include/netaddr.h, modules/mod_core.c,
	src/main.c, src/netaddr.c, src/proftpd.8.in: Bug#2608 - DNS should
	not be used for "server config" address discovery.

2009-02-12  castaglia <castaglia>

	* contrib/mod_quotatab_file.c: Handle possible interruptions of
	readv(2) and writev(2) in mod_quotatab_file.

2009-02-12  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c, include/compat.h, include/inet.h,
	modules/mod_core.c, modules/mod_ident.c, src/bindings.c,
	src/data.c, src/dirtree.c, src/inet.c, src/main.c, src/netaddr.c: 
	Renamed the Inet "connection" functions to "conn"; no need to have
	function names that are that verbose.  Updated the attendant
	callers, and added compatibility macros in compat.h.  Removed older compatibility macros for the log functions from
	compat.h.  Added handling of the case where fixup_servers() can return -1 after
	a restart.  One user was somehow encountering a case where proftpd
	could resolve the hostname on startup, but failed to resolve the
	hostname after a restart.  This lead to a segfault because the
	main_server pointer, after this failure, pointed to old/stale
	memory.

2009-02-12  castaglia <castaglia>

	* .cvsignore, contrib/.cvsignore, contrib/mod_load/.cvsignore,
	contrib/mod_wrap2/.cvsignore: Minor refinement of the .libs
	exclusion.

2009-02-12  castaglia <castaglia>

	* .cvsignore, contrib/.cvsignore, contrib/mod_load/.cvsignore,
	contrib/mod_wrap2/.cvsignore: Ignore .la files and the .libs/
	directory.

2009-02-12  castaglia <castaglia>

	* NEWS, modules/mod_auth.c, src/main.c: Bug#3183 - Incorrect logging
	to wtmp.

2009-02-12  castaglia <castaglia>

	* tests/t/config/hidegroup.t, tests/t/config/hideuser.t,
	tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm,
	tests/t/lib/ProFTPD/Tests/Config/HideUser.pm, tests/tests.pl: Adding
	testcases for the HideUser and HideGroup directives.

2009-02-12  castaglia <castaglia>

	* NEWS, modules/mod_core.c, src/dirtree.c: Bug#2720 -
	HideUser/HideGroup should be more flexible.

2009-02-12  castaglia <castaglia>

	* NEWS, src/ctrls.c, src/event.c: Bug#3179 - Restarted proftpd using
	mod_shaper will segfault.

2009-02-12  castaglia <castaglia>

	* src/auth.c: The first id2name lookup was always returning the
	numeric ID, even if the lookup succeed.  Fix this so that the
	looked-up name is properly returned even for the first lookup.

2009-02-11  castaglia <castaglia>

	* contrib/mod_ban.c: Avoid unsightly error messages like this when
	shutting down a proftpd using mod_ban:   mod_ban/0.5.3: error removing shmid -1: No such file or directory by actually checking that the shmid is greater than -1 before
	attempting to remove it.

2009-02-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add a
	testcase for the SQLLog directive and the handling of the %{time}
	variable.

2009-02-11  castaglia <castaglia>

	* NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#3178 - mod_wrap2 does not
	handle IPv4-mapped IPv6 addresses.

2009-02-11  castaglia <castaglia>

	* modules/mod_auth.c, src/display.c,
	tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm: Work towards
	Bug#2715.  With this change, the config tree is no longer used for
	storing client count and class client count using the
	"CURRENT-CLIENTS" and "CURRENT-CLIENTS-CLASS" config_rec names.
	These values are now stored (and retrieved) using the session.notes
	table.

2009-02-11  castaglia <castaglia>

	* NEWS, src/main.c, tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm: 
	Bug#2728 - Support for variables in ServerIdent directive.

2009-02-10  castaglia <castaglia>

	* RELEASE_NOTES, sample-configurations/PFTEST.conf.in,
	sample-configurations/complex-virtual.conf: Update the release notes
	to mention that the IdentLookups directive is handled by the
	mod_ident module, and thus should be appropriately guarded in the
	proftpd.conf using <IfModule>.  Update the distributed sample configs to use <IfModule> guards
	around IdentLookups.

2009-02-10  castaglia <castaglia>

	* contrib/mod_tls.c: If we can't set the certificate-related
	environment variables, log the reason why.

2009-02-10  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c: Bug#3170 - RewriteMap unescape URL
	encoding broken by RewriteCondition backreference handling.

2009-02-10  castaglia <castaglia>

	* src/main.c: Fix a few cases where the signal-presence bit was not
	cleared in pr_signals_handle(), prior to calling some other
	function.  Failure to do so can lead to endless loops, for that
	called function can itself call pr_signals_handle(), which sees the
	signal-presence bit, which then calls the function, etc.  Such a
	loop results in a segfault, when the stack has been exhausted.

2009-02-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Add regression
	test for Bug#3156.

2009-02-09  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#3156 - Allow resumed downloads when
	HiddenStore is in effect.

2009-02-09  castaglia <castaglia>

	* modules/mod_auth.c: In the scoreboard entry for a session, record
	the IP address/port to which the client connected.  In some cases,
	this can be different from the IP address/port on which the server
	config, which handles the connection, is listening.  In the
	DefaultServer case, for example.

2009-02-09  castaglia <castaglia>

	* RELEASE_NOTES, locale/Makefile.in, locale/bg_BG.po: Added
	Bulgarian translation, courtesy of Georgi D. Sotirov.

2009-02-09  castaglia <castaglia>

	* contrib/mod_sql_postgres.c: Fix compile error.

2009-02-05  castaglia <castaglia>

	* locale/en_US.po: Updated English translation.

2009-02-05  castaglia <castaglia>

	* doc/modules/mod_cap.html: Another mod_cap-related FAQ.

2009-02-05  castaglia <castaglia>

	* modules/mod_core.c: Remove vestigal IdentLookups handling left by
	mistake in mod_core.

2009-02-05  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, modules/mod_ident.c: Bug#3155 - Change the
	IdentLookups default to 'off'.

2009-02-05  castaglia <castaglia>

	* NEWS, contrib/mod_sql_sqlite.c, doc/contrib/mod_sql_sqlite.html: 
	Bug#3128 - mod_sql_sqlite should use transactions for INSERT/UPDATE
	statements.

2009-02-05  castaglia <castaglia>

	* NEWS, modules/mod_facts.c: Bug#3133 - mod_facts should advertise
	TVFS support in the FEAT response.

2009-02-05  castaglia <castaglia>

	* NEWS, contrib/mod_sql_postgres.c: Bug#3123 - Use
	PQescapeStringConn() rather than PQescapeString().

2009-02-05  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, modules/mod_auth.c, src/auth.c: Bug#2894 -
	Deprecate the AnonymousGroup directive.

2009-02-05  castaglia <castaglia>

	* NEWS, contrib/mod_sql_mysql.c, contrib/mod_sql_odbc.c,
	contrib/mod_sql_postgres.c, contrib/mod_sql_sqlite.c: Bug#1801 -
	Faulty SQLConnectInfo PERCALL policy - connections not closed after
	each call.

2009-02-05  castaglia <castaglia>

	* locale/Makefile.in, locale/proftpd.pot: Updated the `find' command
	used to create the files.txt input for creating a new .pot.  Updated
	the current proftpd.pot.

2009-02-05  castaglia <castaglia>

	* locale/Makefile.in, locale/fr_FR.po: Added French translation.

2009-02-05  castaglia <castaglia>

	* include/version.h: On to the 1.3.3 release cycle!

2009-02-05  castaglia <castaglia>

	* ChangeLog: Updating ChangeLog for 1.3.2.

2009-02-05  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec, include/version.h: Updating
	versions for the 1.3.2 release.

2009-02-05  castaglia <castaglia>

	* RELEASE_NOTES: Updating release notes.

2009-02-05  castaglia <castaglia>

	* NEWS, contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: 
	Bug#3173 - Encoding-dependent SQL injection vulnerability.

2009-02-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Added testcase
	for Bug#3171.

2009-02-03  castaglia <castaglia>

	* NEWS, modules/mod_log.c: Bug#3171 - ExtendedLog should log full
	SITE command using %m.

2009-02-02  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Added testcase
	for Bug#3170.

2009-02-02  castaglia <castaglia>

	* doc/howto/Rewrite.html: Give examples for handling non-ASCII
	characters in RewriteRule expressions.

2009-02-02  castaglia <castaglia>

	* doc/contrib/mod_rewrite.html: Clarify exactly what type of
	encoding is unescaped by mod_rewrite's unescape RewriteMap.

2009-02-02  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Added testcase
	for Bug#3169.

2009-02-02  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c: Bug#3169 - Multiple RewriteRules for
	the same RewriteCondition not processed properly.

2009-01-30  castaglia <castaglia>

	* contrib/mod_sql.c: Used the wrong pool when retrieving environment
	variables; when handling %{env} tags in a SQLUserWhereClause, this
	would cause the environment variable to not be retrieved properly.

2009-01-30  castaglia <castaglia>

	* tests/api/pool.c: Fix a test that was failing due to a thinko.

2009-01-29  castaglia <castaglia>

	* include/options.h: The changes for Bug#2874 erroneously removed
	the PR_TUNABLE_XFER_BUFFER_SIZE macro.  The transfer buffer sizes
	are now determined at runtime, but we still need a fallback (and
	some contrib modules still use this macro).

2009-01-28  castaglia <castaglia>

	* modules/mod_auth.c: Missed a few places in need of translation.

2009-01-28  castaglia <castaglia>

	* src/encode.c: If the conversion handles are invalid for some
	reason, don't cause segfaults by returning null; just return a dup
	of the input string, and log the error.

2009-01-27  castaglia <castaglia>

	* src/scoreboard.c: Missed a spot.

2009-01-27  castaglia <castaglia>

	* src/scoreboard.c: Cache the errno value when using pr_trace_msg(),
	since that function can change the errno value.

2009-01-26  castaglia <castaglia>

	* modules/mod_lang.c: When "UseEncoding off" is configured, *really*
	disable encoding.

2009-01-26  castaglia <castaglia>

	* doc/howto/TLS.html: Finally got around to adding more substance to
	the "TLS Debugging" section, including examples using openssl
	s_client and ssldump.  Very useful tools.  Added a FAQ about TLSCertificateChainFile, mostly for my own
	reference; it's a bit confusing as to when such a thing is useful.

2009-01-26  castaglia <castaglia>

	* contrib/mod_tls.c: Fix two minor issues in mod_tls: 1. The TLSCACertificateFile can contain multiple certificates to use
	   when verifying client certs.  However, when requesting the client's
	   cert and sending the list of acceptable client CAs, mod_tls was only
	   using the *first* cert contained in the TLSCACertificateFile, rather
	   than using *all* certs which might be in this file.  (Usually there
	   is only one cert anyway, so this is not a huge problem.) 2. The list of acceptable client CAs, sent to the client when
	   requesting the client's cert, is built up from TLSCACertificateFile
	   and all of the certs in TLSCACertificatePath.  However, for some
	   strange reason, if a TLSCertificateChainFile was configured, mod_tls
	   was NOT sending the certs in TLSCACertificatePath.  (I suspect it
	   was a misunderstanding on my part about the role that the
	   certificate chain file plays in SSL/TLS; now I understand it.)

2009-01-25  jwm <jwm>

	* contrib/mod_ldap.c: mod_ldap bzr r62: * Retrieve all LDAP attributes when calling pr_ldap_user_lookup()
	  since it will need various attributes (to perform home directory
	  generation, for one). Thanks to Nikos Voutsinas
	  <nvoutsin@noc.uoa.gr>.
	http://forums.proftpd.org/smf/index.php/topic,3562.0.html

2009-01-23  castaglia <castaglia>

	* include/version.h: Back to a CVS version.

2009-01-23  castaglia <castaglia>

	* ChangeLog: Updating ChangeLog for 1.3.2rc4.

2009-01-23  castaglia <castaglia>

	* NEWS, RELEASE_NOTES: Updating NEWS, release notes for 1.3.2rc4.

2009-01-23  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing for
	1.3.2rc4.

2009-01-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Fixup some tests
	which were failing because the default config changed the value of
	AllowOverride.

2009-01-22  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Add some links for easier
	cross-referencing.

2009-01-22  castaglia <castaglia>

	* src/support.c: Make pr_gmtime() behave like pr_localtime() with
	regard to the use of the given memory pool.  Increase the buffer size used in pr_strtime(), just to be certain
	that we have enough room.

2009-01-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Add a test
	case for reproducing Bug#3164.  I think, however, that it is not
	really a bug -- as long as the admin configures mod_quotatab_sql
	properly.  Hmm.

2009-01-16  castaglia <castaglia>

	* RELEASE_NOTES: Mention the Compiling howto.

2009-01-16  castaglia <castaglia>

	* doc/howto/Compiling.html, doc/howto/index.html: Finally finished a
	howto on compiling proftpd.

2009-01-16  castaglia <castaglia>

	* INSTALL: Typos.

2009-01-14  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Typo.

2009-01-14  castaglia <castaglia>

	* src/main.c: Use "microsecs", as it is less confusing to admins.

2009-01-13  castaglia <castaglia>

	* src/main.c: Copy the signo of a terminating signal a little
	earlierin the handler.

2009-01-12  castaglia <castaglia>

	* doc/howto/Vhost.html: Add another vhost FAQ.

2009-01-12  castaglia <castaglia>

	* src/fsio.c: Add trace logging of any statvfs()/statfs() errors.

2009-01-09  castaglia <castaglia>

	* src/main.c: Log segfaults in the TraceLog using the 'signal'
	channel.

2009-01-08  castaglia <castaglia>

	* src/dirtree.c: Don't forget to append the "*" glob character after
	the path when that path is just "/".  This was an edge case we
	weren't handling.

2009-01-08  castaglia <castaglia>

	* contrib/mod_sql.c: Typo.

2009-01-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ctrls.pm: Add testcase
	showing that AuthOrder does not affect mod_ctrl's ability to
	honor/use system user names in controls ACLs.

2009-01-07  castaglia <castaglia>

	* src/auth.c: Rather than showing "(?)" whenever the uid2name or
	gid2name lookup for an ID fails, show the stringified numeric ID
	value instead.  This makes proftpd behave more like ls(1) et al.

2009-01-06  castaglia <castaglia>

	* src/auth.c: Typo.

2009-01-06  castaglia <castaglia>

	* contrib/mod_tls.c, tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: 
	Do not allow FTPS clients to send AUTH after they have already sent
	AUTH.  If clients wish to change the SSL/TLS session parameters,
	they need to either use the session renegotiation facilities within
	SSL/TLS, or disconnect and start a new session.  This is an
	allowable server behavior according to RFC2228.

2009-01-06  castaglia <castaglia>

	* doc/howto/Vhost.html: I realized that the Vhost howto didn't
	mention the "already in use" warning message, and should.

2009-01-05  castaglia <castaglia>

	* contrib/mod_ldap.c, contrib/mod_sql.c: Initialize the buffer that
	will be used to store the base64-encoded hash value, so that the
	ensuing strcmp(3) will work as expected (just making sure of this).

2009-01-04  castaglia <castaglia>

	* contrib/mod_ldap.c, contrib/mod_sql.c: The RATS code analysis tool
	correctly pointed out that the output buffer for OpenSSL's
	EVP_EncodeBlock() function needs to account for base64-encoding
	expansion.  Specifically, the output buffer should be 4/3 the size
	of the input buffer.  I played it safe, and made the output buffers
	twice the size of the input buffers.

2009-01-04  castaglia <castaglia>

	* contrib/mod_quotatab.c, contrib/mod_sql.c, contrib/mod_tls.c,
	modules/mod_delay.c, modules/mod_xfer.c, src/ctrls.c,
	src/proctitle.c: I ran proftpd through David Wheeler's flawfinder(1)
	script.  Based on that, I replaced the occurrences of sprintf(3)
	with snprintf(3), strcpy(3) with sstrncpy(), and strcat(3) with
	sstrcat().

2009-01-02  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: While
	investigating Bug#3160, I wrote a mod_rewrite unit test which turned
	out to be the regression test for Bug#3027 (as Bug#3160 turned out
	to be a duplicate of Bug#3027).  As such, that test should be added
	to the collection.

2009-01-02  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Added two MKD tests,
	one for directories with spaces in the name, and one for a
	UTF8-encoded directory name.

2008-12-31  castaglia <castaglia>

	* contrib/mod_tls.c: Remove unnecessary character.

2008-12-31  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c: Bug#3159 - mod_rewrite build fails
	due to missing mode argument in open(2) call.

2008-12-31  castaglia <castaglia>

	* modules/mod_xfer.c: Prevent a segfault due to aborted downloads in
	some cases by checking for a non-null session.d value before
	attempting to use it.  Aborting a download can cause that session.d
	value to become null in the middle of the download call stack.

2008-12-30  castaglia <castaglia>

	* doc/howto/NAT.html: Update NAT howto with ipf example.

2008-12-30  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: Since the mem_printf() function is only
	called when --enable-devel is used, guard the mem_printf()
	definition with the same macros (and avoid compiler warnings about
	the unused function).

2008-12-24  castaglia <castaglia>

	* modules/mod_lang.c, src/encode.c: When mod_lang uses the
	environment variables in a setlocale(3) call, it needs to reset the
	Encode API to use the possibly-changed encoding.

2008-12-23  castaglia <castaglia>

	* contrib/mod_tls.c: ERR_get_error() returns a long, not an int.
	Update tls_fatal_error() to take a long error code as a result.
	Also filter out ENOSYS errors on SSL_shutdown(); there's not much we
	can do about them anyway.

2008-12-23  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Add test verifying
	that mod_lang picks up and handles the LANG environment variable
	properly.

2008-12-23  castaglia <castaglia>

	* modules/mod_lang.c: The ANSI C standard says that every process
	starts out in the C locale, regardless of LANG and other environment
	variables.  To switch the process to using the locales specified by
	those environment variables, you need an explicit:   setlocale(LC_ALL, ""); call.  Make sure that mod_lang does this, prior to any other
	setlocale(3) calls.  Also, when using setlocale(3) to query for a
	locale, make a copy of the returned string, instead of just stashing
	the pointer.  The library may return a pointer whose value changes
	later, i.e. by subsequent setlocale(3) calls.

2008-12-23  castaglia <castaglia>

	* contrib/mod_tls.c: Actually mod_sftp_sql can't be used without
	mod_sftp, so having it on the list of OpenSSL-using modules is not
	really useful.

2008-12-23  castaglia <castaglia>

	* contrib/mod_tls.c: Add mod_sftp_sql to the list of OpenSSL-using
	modules.  Also log the OpenSSL error stack to the logs for a
	shutdown issue; it can help shed more light on a particular issue
	one user is seeing.

2008-12-22  castaglia <castaglia>

	* contrib/mod_tls.c: Explicit cast to quell compiler warnings about
	signedness differences.

2008-12-21  castaglia <castaglia>

	* src/encode.c: Try to reduce confusion when we didn't detect
	iconv() (no HAVE_ICONV), but we did detect <iconv.h>.

2008-12-21  castaglia <castaglia>

	* doc/howto/Quotas.html: Add FAQ about how mod_quotatab handles file
	overwrites/appends.

2008-12-21  castaglia <castaglia>

	* src/auth.c: The key comparators for the UID/GID cache tables need
	to return zero if the keys match, not 1.  Oops.

2008-12-21  castaglia <castaglia>

	* src/auth.c: Fixed the caching of UIDs and GIDs in tables in the
	Auth API; the keys were not being copied before stashing in the
	respective tables, which meant that the key comparisons were being
	done on stale pointers, and thus the cached values were never found.
	Also fixed the key comparators to be even more efficient (i.e. no
	need to use memcmp(3) for comparing values like uid_t, gid_t).

2008-12-21  castaglia <castaglia>

	* src/table.c: Fix some edge cases that could lead to segfaults.

2008-12-18  castaglia <castaglia>

	* src/dirtree.c: Make sure that the cmd_rec returned by
	pr_cmd_alloc() has an instantiated cmd->notes table.

2008-12-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Fix typos.

2008-12-17  castaglia <castaglia>

	* src/encode.c: Workaround buggy nl_langinfo(3) implementations
	which return "646" as a way of indicating "US-ASCII".  The former is
	not acceptable to iconv_open(3), but the latter is.  Go figure.

2008-12-17  castaglia <castaglia>

	* contrib/mod_quotatab.c: It's not necessarily safe to use equality
	comparisons with floats; better to use less-than/greater-than
	instead.

2008-12-17  castaglia <castaglia>

	* doc/howto/TLS.html: Add a FAQ about the OpenSSL header/library
	version mismatch warning.

2008-12-17  castaglia <castaglia>

	* NEWS, modules/mod_facl.c: Bug#3150 - mod_facl erroneously assumes
	no permissions, rather than all permissions, in some cases.

2008-12-17  castaglia <castaglia>

	* src/encode.c: Guard the set_supports_telnet_iac() function in
	HAVE_ICONV macros, as that is the only time when the function is
	called.  On systems which have the iconv.h header but NOT the iconv
	function() (though I think this is an autoconf issue), the compiler
	will warn about this function being declared but not used.

2008-12-17  castaglia <castaglia>

	* doc/contrib/mod_wrap2_file.html: Clean up the example
	mod_wrap2_file configs a little.

2008-12-16  castaglia <castaglia>

	* locale/Makefile.in: Use -f instead of -e when checking for .po/.mo
	files.  It's more exact and, better, it works properly in Solaris'
	sh(1).  (I'm still not sure why -e did not work as expected in
	Solaris' sh(1), though.)

2008-12-16  castaglia <castaglia>

	* src/log.c, src/trace.c: Quell some compiler warnings on Solaris by
	using explicit casts, and by explicitly encompassing the tertiary
	expressions for those casts.

2008-12-16  castaglia <castaglia>

	* src/dirtree.c: Forgot to handle the case, in build_dyn_config(),
	where the path was just "/".

2008-12-16  castaglia <castaglia>

	* src/dirtree.c: A better fix for build_dyn_config()'s sending of
	empty strings to dir_match_path(); the previous solution could
	easily lead to segfaults.

2008-12-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm: Add unit test for the
	handling of decimal point (i.e. unsupported precision) in an MFMT
	command.

2008-12-16  castaglia <castaglia>

	* modules/mod_facts.c: Make sure that we restore the original
	timestamp argument of an MFMT command if we have changed it.  This
	is necessary for any POST_CMD/LOG_CMD handlers which may want to log
	the full argument sent by the client.

2008-12-14  castaglia <castaglia>

	* doc/howto/Tracing.html: Mention the trick of disabling some of the
	default trace channels.

2008-12-14  castaglia <castaglia>

	* modules/mod_facts.c: Fix the response strings in some cases such
	that the original input parameter is reflected in the response
	message.  Make sure that if we change the value of a character in a
	string (say from ';' to '\0'), we change it back before returning.

2008-12-14  castaglia <castaglia>

	* doc/howto/Sendfile.html: Correct the grammar.

2008-12-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Directory/Lookups.pm: Add another
	test, one for a creating deep directory layout (with corresponding
	<Directory> sections).  Like the wide layout, this test fails,
	timing out during the login process.  But I wanted to get this
	checked in, for future research.

2008-12-13  castaglia <castaglia>

	* src/auth.c: Make a note for my future self, when researching slow
	logins with configs with many <Directory> sections, where the
	slowness occurs (and why).

2008-12-13  castaglia <castaglia>

	* src/dirtree.c: Add handling of signals in a potentially
	long-running while loop (especially if recursion is requested).

2008-12-13  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3149 - Bad
	handling of %p, %V, and %v variables in mod_sql.

2008-12-12  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Fix the text for better legibility.

2008-12-12  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Mention that the
	SQL{Group,User}WhereClause directives support the same variables as
	SQLNamedQuery.

2008-12-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Added test
	for the SQLUserWhereClause directive.

2008-12-12  castaglia <castaglia>

	* contrib/mod_tls.c: The SSL_library_init() function registers SSL
	algorithms, but we might want to deal with other algorithms (as when
	dealing with PKCS#12 files).  Thus we need to
	OpenSSL_add_all_algorithms() to get the remaining algorithms
	registered.

2008-12-12  castaglia <castaglia>

	* tests/t/config/directory/lookups.t,
	tests/t/lib/ProFTPD/Tests/Config/Directory/Lookups.pm: Renamed the
	<Directory> lookups test code to Directory::Lookups.

2008-12-12  castaglia <castaglia>

	* tests/t/config/directory.t,
	tests/t/lib/ProFTPD/Tests/Config/Directory.pm: Starting a collection
	of cases that I'll be using for testing proftpd's <Directory> lookup
	code, particularly in the case of many (i.e. hundreds) of
	<Directory> sections and wide and/or deep directory layouts.  (I
	suspect there's quite a bit of lookup speed performance to be gained
	in this part of the code.)

2008-12-11  castaglia <castaglia>

	* src/dirtree.c: Add more commentary to build_dyn_config(), and add
	a paranoia check, in case we should be dealing with a path with
	absolutely no path separators.

2008-12-11  castaglia <castaglia>

	* src/dirtree.c: When build_dyn_config() is walking up the
	components of the given path (assuming the recurse flag is 'true'),
	it has a problem when it gets to "/".  Specifically, it will send
	the empty string to dir_match_path(), rather than "/".  Fix this
	case.

2008-12-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Fix Perl
	warnings about redeclared variables.

2008-12-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm,
	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/DELE.pm,
	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Disable handling
	of .ftpaccess files by default in the testsuite; those tests which
	handle .ftpaccess files need to use "AllowOverride on" explicitly in
	their configs.

2008-12-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Update the
	code here.  (By the way, it looks like Bug#2677 may still be present
	in the code, and fixing it involves a fair amount of code change.)

2008-12-11  castaglia <castaglia>

	* modules/mod_core.c: Style cleanups in the <Directory> config
	handler.

2008-12-11  castaglia <castaglia>

	* modules/mod_lang.c: Correct a few more LANG issues (mostly dealing
	with transformations of hyphens to underscores, population of the
	current and default languages everywhere, etc).

2008-12-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Quell some
	Perl warnings about redeclared variables.

2008-12-11  castaglia <castaglia>

	* modules/mod_lang.c: Stupid thinko: If "OPTS UTF8 on" is sent, do
	not disable encoding by the FS functions.

2008-12-11  castaglia <castaglia>

	* modules/mod_lang.c: Fix some of the problems found in mod_lang
	using the testsuite.

2008-12-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm,
	tests/t/modules/mod_lang.t, tests/tests.pl: Added tests for the
	commands provided by mod_lang.  This involved adding the lang() and
	opts() methods to the testsuite FTP class, and in fixing up the FEAT
	tests.

2008-12-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm: Make sure that the
	FEAT test can handle subtle differences in the underlying
	iconv/setlocale implementations.

2008-12-11  castaglia <castaglia>

	* modules/mod_core.c: Stylistic nit cleanup.

2008-12-11  castaglia <castaglia>

	* modules/mod_delay.c: Clean up some stylistic nits in mod_delay.

2008-12-11  castaglia <castaglia>

	* modules/mod_core.c, src/main.c: Fixed a bug with the handling of
	RLimitMemory: any 'hard' memory limits were not actually being set.  Set session resource limits _before_ module session init, not after.
	This means that session resource limits will apply to the modules
	during session init (as they should).  Favor RLIMIT_DATA over RLIMIT_AS.

2008-12-10  castaglia <castaglia>

	* doc/howto/Directory.html: Add another FAQ for the Directory howto,
	covering preventing a directory from being renamed.

2008-12-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Some cases
	where directory/file renaming works (as expected) or is denied (as
	expected).

2008-12-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Add a couple of
	test cases for HideFiles, using the per-user parameters.

2008-12-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_unique_id.pm,
	tests/t/modules/mod_unique_id.t, tests/tests.pl: Added test for the
	mod_unique_id module.

2008-12-10  castaglia <castaglia>

	* doc/howto/Chroot.html: Add FAQ about DefaultRoot and NFS mounts.

2008-12-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/GroupOwner.pm,
	tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm: Switch these tests to
	use the new 'norootprivs' test class, rather than having the tests
	do that check themselves.

2008-12-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add a 'norootprivs' test
	class, similar to the 'rootprivs' test class: any test marked as a
	'norootprivs' class will be skipped if the testsuite is being run
	with root privs.

2008-12-10  castaglia <castaglia>

	* tests/t/config/order.t,
	tests/t/lib/ProFTPD/Tests/Config/Order.pm, tests/tests.pl: Added
	tests for the Order directive.

2008-12-10  castaglia <castaglia>

	* tests/t/config/storeuniqueprefix.t,
	tests/t/lib/ProFTPD/Tests/Config/StoreUniquePrefix.pm,
	tests/tests.pl: Added test for the StoreUniquePrefix directive.

2008-12-10  castaglia <castaglia>

	* doc/howto/Scoreboard.html: Mention the "ScoreboardFile /dev/null"
	trick.

2008-12-10  castaglia <castaglia>

	* tests/t/config/deleteabortedstores.t,
	tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm,
	tests/tests.pl: Added test for the DeleteAbortedStores directive.

2008-12-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Remove debugging
	cruft.

2008-12-10  castaglia <castaglia>

	* tests/t/config/hiddenstores.t,
	tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm,
	tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm, tests/tests.pl: 
	Added unit test for the HiddenStores functionality.  Added more
	<Limit> cases.

2008-12-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ctrls.pm,
	tests/t/modules/mod_ctrls.t, tests/tests.pl: Start on tests for
	mod_ctrls.

2008-12-10  castaglia <castaglia>

	* contrib/mod_site_misc.c: Avoid descriptor leak by closing the
	directory descriptor before returning from site_misc_delete_dir().

2008-12-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm,
	tests/t/modules/mod_site_misc.t, tests/tests.pl: Added basic tests
	for the various SITE commands offered by mod_site_misc.

2008-12-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Pass along any other
	arguments for custom SITE commands.

2008-12-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm, tests/tests.pl: With these
	changes, it is now possible to use this tests.pl script, and the
	ProFTPD testsuite library of Perl modules, to run tests for a
	third-party module.  For example:   # cd /path/to/mod_sftp/tests   # perl ~/path/to/proftpd/tests.pl t/modules/mod_sftp.t This will help (me, anyway) when developing new modules, without
	having to write the new module test code in the proftpd source tree.

2008-12-09  castaglia <castaglia>

	* modules/mod_core.c: Remove redundant "<Directory>:" in error
	message displayed when proftpd detects a duplicate <Directory>
	configuration.

2008-12-09  castaglia <castaglia>

	* doc/howto/Directory.html: Add FAQ about matching multiple
	<Directory> sections to the same path, and which section wins.

2008-12-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Regression
	tests for Bug#3147.

2008-12-09  castaglia <castaglia>

	* NEWS, modules/mod_core.c, src/dirtree.c: Bug#3147 -
	Comma-delimited commands in <Limit> sections not handled properly.

2008-12-09  castaglia <castaglia>

	* doc/howto/Tracing.html: Mention the "directory" log channel, added
	as part of the fix for Bug#3146.

2008-12-09  castaglia <castaglia>

	* tests/t/config/directory/limits.t,
	tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm,
	tests/tests.pl: Added regression tests for Bug#3146.

2008-12-09  castaglia <castaglia>

	* NEWS, src/dirtree.c: Bug#3146 - <Directory> paths using glob
	characters may not match as expected.

2008-12-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Add checks
	of the tally values for more of the upload quotatab tests.

2008-12-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Add
	function for checking on the current tally; need to use this in more
	of the existing tests, for ensuring the mod_quotatab is updating the
	tallies properly.

2008-12-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Added
	mod_quotatab_sql tests for uploads and the 'all' limit.

2008-12-09  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Added
	mod_quotatab_sql tests for uploads and class quota.

2008-12-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Added
	mod_quotatab_sql tests for uploads and group quota.

2008-12-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm,
	tests/t/modules/mod_quotatab_sql.t, tests/tests.pl: Start of some
	tests for mod_quotatab_sql; there are *many* more tests for this
	module to come.

2008-12-08  castaglia <castaglia>

	* tests/t/config/groupowner.t,
	tests/t/lib/ProFTPD/Tests/Config/GroupOwner.pm, tests/tests.pl: 
	Added tests for the GroupOwner directive.

2008-12-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Allow zero IDs in the
	AuthUserFile and AuthGroupFile files.

2008-12-08  castaglia <castaglia>

	* tests/t/config/userowner.t,
	tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm, tests/tests.pl: Added
	tests for the UserOwner directive.

2008-12-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: When writing out
	AuthUserFiles and AuthGroupFiles, append to any file which may
	already be present.  This allows for the writing of multiple entries
	in those files.

2008-12-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Handle arrayrefs within
	hashrefs properly when writing out the config.

2008-12-08  castaglia <castaglia>

	* src/main.c: When handling SIGABRT, shut down properly.  Also
	include the signal number (as it can vary across platforms) for each
	signal in the trace logging.

2008-12-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Signals/ABRT.pm,
	tests/t/lib/ProFTPD/Tests/Signals/SEGV.pm, tests/t/signals/abrt.t,
	tests/t/signals/segv.t, tests/tests.pl: Added unit tests for the
	handling of SIGABRT and SIGSEGV in the daemon process.

2008-12-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Permit empty usernames,
	passwords (useful for certain tests).

2008-12-08  castaglia <castaglia>

	* doc/howto/TLS.html: Update the TLSProtocol example in light of
	Bug#3107.

2008-12-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MLST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/USER.pm,
	tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Cleaning up some test
	cases so that all pass when run as root, and that there are no Perl
	compiler warnings.

2008-12-08  castaglia <castaglia>

	* src/dirtree.c: Loosen the paranoid parameter sanity check in
	dir_hide_file() a little.

2008-12-08  castaglia <castaglia>

	* NEWS, modules/mod_ls.c, src/dirtree.c,
	tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Bug#2020 - HideFiles
	sometimes fails.  The accompanying unit tests prove that the fix
	works as intended.

2008-12-08  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Adding
	regression test for Bug#2461.

2008-12-08  castaglia <castaglia>

	* NEWS, locale/Makefile.in, locale/ru_RU.po: Bug#3065 - Russian
	translation for proftpd.

2008-12-08  castaglia <castaglia>

	* tests/t/config/directory/umask.t,
	tests/t/lib/ProFTPD/TestSuite/Utils.pm,
	tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm, tests/tests.pl: 
	Add regression tests/reproduction cases for Bug#2677.  This involved
	updating the config_write() function so that it can properly handled
	nested <Directory> and <Limit> sections.

2008-12-07  castaglia <castaglia>

	* doc/howto/Directory.html: Update the Directory howto to mention
	that <Directory> sections apply recursively (see Bug#2677).

2008-12-07  castaglia <castaglia>

	* tests/t/config/ftpaccess/dele.t,
	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/DELE.pm, tests/tests.pl: 
	Add regression tests for Bug#2321.

2008-12-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: More
	refinements to the Bug#2038 regression tests, proving that the
	.ftpaccess file is being honored as intended.

2008-12-07  castaglia <castaglia>

	* tests/t/config/ftpaccess/retr.t,
	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm, tests/tests.pl: 
	Added regression tests for Bug#2038, which doesn't seem to happen
	anymore.

2008-12-07  castaglia <castaglia>

	* contrib/mod_tls.c: Use a better context identifier for cached
	session IDs; the module name and version is much better than a
	simple "1" string.

2008-12-07  castaglia <castaglia>

	* tests/tests.pl: Add the mod_tls testcase to the testsuite.

2008-12-07  castaglia <castaglia>

	* tests/t/etc/modules/mod_tls/ca-cert.pem,
	tests/t/etc/modules/mod_tls/server-cert.pem,
	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add the required CA
	and server certs for the mod_tls tests.  These certs are good for 5
	years.

2008-12-07  castaglia <castaglia>

	* doc/howto/TLS.html: Fix typos in TLS howto.

2008-12-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm,
	tests/t/modules/mod_tls.t: Start a collection of mod_tls tests.
	This doesn't really work just yet; I need to generate a proper cert
	for use by the testsuite.

2008-12-07  castaglia <castaglia>

	* doc/howto/CreateHome.html: Update the CreateHome howto with an
	example of the feature added by Bug#3040.

2008-12-07  castaglia <castaglia>

	* tests/t/config/createhome.t,
	tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm, tests/tests.pl: Add
	tests verifying the fix for Bug#3040; more CreateHome tests are
	needed.

2008-12-07  castaglia <castaglia>

	* NEWS, modules/mod_auth.c, src/mkhome.c: Bug#3040 - Support for
	CreateHome parent directories owned by user.

2008-12-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql.pm: Update the set_up(),
	tear_down() methods in this file.  Even though it's currently empty,
	I use it as a template for new module testcase files.

2008-12-07  castaglia <castaglia>

	* RELEASE_NOTES: Mention the Sendfile, Rewrite howtos in the release
	notes.

2008-12-07  castaglia <castaglia>

	* doc/howto/Rewrite.html: Remove extraneous header.

2008-12-07  castaglia <castaglia>

	* doc/howto/Rewrite.html: Make the URLs in the doc be relative to
	the rest of the docs.

2008-12-07  castaglia <castaglia>

	* doc/howto/Rewrite.html, doc/howto/index.html: Adding a rewrite
	howto to the collection.

2008-12-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm,
	tests/t/logging/transferlog.t, tests/tests.pl: Added unit tests for
	the TransferLog format.

2008-12-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/Limit/XMKD.pm: Added more test
	cases to try to reproduce Bug#3138, to no avail.  Still useful to
	have these use cases in the testsuite.

2008-12-04  castaglia <castaglia>

	* NEWS, contrib/mod_dynmasq.c: Bug#3144 - mod_dynmasq returns same
	IP address, even though actual IP address has changed.

2008-12-04  castaglia <castaglia>

	* src/inet.c: After closing a connection, make sure the various
	fields are reset to NULL/-1 as appropriate.

2008-12-04  castaglia <castaglia>

	* modules/mod_core.c: Add a little bit of logging for the MKD/XMKD
	command, when it is denied because of a <Limit> config.  Also cache
	an errno value, so that the actual error reason is properly logged.

2008-12-04  castaglia <castaglia>

	* doc/howto/Directory.html: Update the Directory howto with the tip
	about using a <Directory> section to refer to a specific file,
	rather than just to a directory (Bug#3140).

2008-12-04  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm,
	tests/t/lib/ProFTPD/Tests/Config/Limit/XMKD.pm: Add more <Limit>
	test cases from the Bug#3138 investigation.  This involved adding
	support for <Class> sections in the testcase config files.

2008-12-03  castaglia <castaglia>

	* modules/mod_xfer.c: Cache the errno value for an aborted download,
	so that it can be reported properly.  This came out of investigating
	the cause for Bug#3143.

2008-12-03  castaglia <castaglia>

	* tests/t/commands/mff.t, tests/t/commands/mfmt.t,
	tests/t/lib/ProFTPD/Tests/Commands/MFF.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm, tests/tests.pl: Add some
	tests (not exhaustive) for the MFMT and MFF commands.

2008-12-03  castaglia <castaglia>

	* NEWS, modules/mod_facts.c: Bug#3142 - "Invalid number of arguments
	MFMT" due to spaces in path argument.

2008-12-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Support use of <Limit>
	sections in the testcase config files.

2008-12-03  castaglia <castaglia>

	* tests/t/config/limit/xmkd.t,
	tests/t/lib/ProFTPD/Tests/Config/Limit/XMKD.pm, tests/tests.pl: 
	Begin the collection of unit tests for various <Limit>
	configurations.

2008-12-03  castaglia <castaglia>

	* doc/modules/mod_facts.html: Updated URL to Draft for MFF/MFMT
	commands.

2008-12-03  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
	tests/t/logging/extendedlog.t, tests/tests.pl: Add regression tests
	for Bug#3137.

2008-12-03  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c, src/data.c: Bug#3137 - ProFTPD does not
	log filename %f for uploaded files.

2008-11-26  castaglia <castaglia>

	* tests/t/commands/mlsd.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm, tests/tests.pl: Adding
	tests for the MLSD command.

2008-11-26  castaglia <castaglia>

	* modules/mod_facts.c: Be able to distinguish failure responses for
	MLSD for using globs, versus something to do with the file itself
	(e.g. permissions, existence, etc).

2008-11-25  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Add the methods for the
	MLSD, MLST, MFF, MFMT commands.

2008-11-25  castaglia <castaglia>

	* tests/t/commands/mlst.t,
	tests/t/lib/ProFTPD/Tests/Commands/MLST.pm, tests/tests.pl: Adding
	tests for the MLST command.

2008-11-24  castaglia <castaglia>

	* tests/t/config/maxinstances.t,
	tests/t/lib/ProFTPD/TestSuite/Utils.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxInstances.pm, tests/tests.pl: 
	Added test for the MaxInstances directive.

2008-11-22  castaglia <castaglia>

	* modules/mod_lang.c: Make sure that, if no languages are explicitly
	configured, at least the default one (obtained via environment
	variables) is listed properly in the FEAT response.

2008-11-22  castaglia <castaglia>

	* src/fsio.c: Add signal handling in the potentially long-running
	while loops of the filesystem path resolution functions.

2008-11-22  castaglia <castaglia>

	* NEWS, contrib/mod_ratio.c: Bug#1636 - GroupRatio does not check
	user's supplemental group membership.

2008-11-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm,
	tests/t/modules/mod_rewrite.t, tests/tests.pl: Added some unit tests
	for the mod_rewrite module.  There will be many more to come for
	this module.

2008-11-22  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c: Bug#2915 - mod_rewrite does not work
	well for SITE commands.

2008-11-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Add a site() method, for
	sending arbitrary SITE commands.

2008-11-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add some nice features to
	the testsuite.  First, configs can be defined using arrayrefs, in
	addition to hashrefs, so that the ordering of config directives in
	the test config file can be detected (important in some cases).
	Second, the location of the `proftpd' being tested can be defined
	using the PROFTPD_TEST_BIN environment variable; useful (though not
	necessarily recommended) if you want to run the testsuite using an
	existing proftpd.

2008-11-22  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm,
	tests/t/lib/ProFTPD/Tests/Signals/TERM.pm, tests/t/signals/hup.t,
	tests/tests.pl: Add unit tests for the HUP signal, at least for the
	daemon process.

2008-11-22  castaglia <castaglia>

	* doc/howto/Sendfile.html, doc/howto/index.html: Adding doc covering
	sendfile and its issues.

2008-11-21  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#2045 -
	SQLShowInfo should not be displayed when query returns no data.

2008-11-20  castaglia <castaglia>

	* include/version.h: Updating version for CVS.

2008-11-20  castaglia <castaglia>

	* ChangeLog: Updated ChangeLog.

2008-11-20  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
	for RC3 release.

2008-11-20  castaglia <castaglia>

	* RELEASE_NOTES: Updating release notes, preparing for release.

2008-11-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Use the two-argument form of
	the Net::FTP constructor -- it works better with older Perls.

2008-11-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm,
	tests/t/lib/ProFTPD/Tests/Signals/TERM.pm: Get rid of a few places
	where we needed to use sleep() to delay between server shutdown and
	server startup, in order to make sure that the new server's PidFile
	and ScoreboardFile weren't deleted by the previous server while it
	was shutting down.  Instead, the server_stop() function will not
	return until it sees that the PidFile has been deleted.

2008-11-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm, tests/tests.pl: 
	Retrofit the module-specific unit tests to use test-specific scratch
	directories.  That should be all of the existing tests.

2008-11-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Quell Perl warnings
	about redeclared variables.

2008-11-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RETR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STOR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STOU.pm,
	tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm,
	tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm,
	tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm,
	tests/t/lib/ProFTPD/Tests/Config/RequireValidShell.pm,
	tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutLogin.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutNoTransfer.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutSession.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutStalled.pm,
	tests/t/lib/ProFTPD/Tests/Config/UseFtpUsers.pm,
	tests/t/lib/ProFTPD/Tests/Logins.pm,
	tests/t/lib/ProFTPD/Tests/Signals/TERM.pm: Retrofitted more of the
	testsuite to use more individualized per-test scratch directories.

2008-11-20  castaglia <castaglia>

	* contrib/mod_ban.c: Minor nits and improvements to mod_ban; no real
	functional changes.

2008-11-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
	tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm,
	tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/HELP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PASS.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PORT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/REST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm,
	tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STRU.pm,
	tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/USER.pm,
	tests/t/lib/ProFTPD/Tests/Logins.pm: Update some (but not all, yet)
	of the tests to use the new scratch directory function.  Will need
	to finish the rest later tonight.

2008-11-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm,
	tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: By fixing the daemon
	shutdown bug, I introduced some race conditions into the unit tests.
	Each unit test would use the same 'tmp/' directory; and sometimes
	the next test would have started (and used the same path for
	PidFile, ScoreboardFile) before the server may have removed those
	files.  To address this, each unit test will get its own unique scratch
	directory whose name will include the PID and a counter.  This will
	require retrofitting most of the existing tests, but is cleaner in
	the long run.

2008-11-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Signals/TERM.pm: Slight tweak to the
	shutdown test, to ensure that the server has enough time between
	startup and shutdown to write out the appropriate files.

2008-11-19  castaglia <castaglia>

	* NEWS, src/data.c: Bug#3135 - Aborting a download can lead to
	segfault in some cases.

2008-11-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm,
	tests/t/modules/mod_ban.t, tests/tests.pl: Added start of unit tests
	for the mod_ban module.

2008-11-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Provide a function for
	obtaining the reason, given by the server, why the initial
	connection might be denied.

2008-11-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Signals/TERM.pm,
	tests/t/signals/term.t, tests/tests.pl: Add a test for the SIGTERM
	signal handling of the daemon process, to ensure that the shutdown
	procedures (PidFile removal, ScoreboardFile removal) are indeed
	happening properly.

2008-11-19  castaglia <castaglia>

	* src/main.c: While working on unit tests for mod_ban, I noticed
	that mod_ban's shared memory segments were not being cleaned up.  I
	tracked it down to the fact that the check to see if you're the
	"master" process (assuming a ServerType of 'standalone') was
	failing, because the cached "master PID" value was for the process
	_prior to daemonizing_.  I suspect that many shutdown cleanups, such
	as PidFile removal and such, have not been happening for a while.

2008-11-19  castaglia <castaglia>

	* configure: Updated configure.

2008-11-19  castaglia <castaglia>

	* Make.rules.in, Makefile.in, configure.in, locale/Makefile.in: 
	Properly honor the --localedir configure option.

2008-11-19  castaglia <castaglia>

	* src/encode.c: Comment typo.

2008-11-18  castaglia <castaglia>

	* src/encode.c: Check in some of the fixes found while investigating
	Bug#3134, particularly ones which can cause segfaults (e.g. on
	FreeBSD) when an iconv_t handle is closed multiple times
	erroneously.

2008-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Be sure to clean up
	the generated log file.

2008-11-17  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm, tests/tests.pl: After
	all the work done on Bug#3131, these ABOR unit tests should
	definitely be checked in and added to the testsuite.

2008-11-17  castaglia <castaglia>

	* NEWS: Remove duplicate bug entry.

2008-11-17  castaglia <castaglia>

	* tests/tests.pl: Don't add the 'testsuite_empty_test' to the list
	of files, if that is what is returned by filtering for feature-based
	test files.

2008-11-17  castaglia <castaglia>

	* src/netio.c: Fix uploads; it had been inadvertently broken when
	trace logging of EOF was added.  The testsuite caught this
	regression; the testsuite is coming in handy!

2008-11-16  castaglia <castaglia>

	* NEWS, src/main.c: Bug#3073 - Command arguments not decoded
	properly in some places.

2008-11-15  castaglia <castaglia>

	* configure: Updated configure.

2008-11-15  castaglia <castaglia>

	* RELEASE_NOTES: Mention the change in TimeoutLinger default value
	in the release notes.

2008-11-15  castaglia <castaglia>

	* configure.in, include/options.h: Change the default linger timeout
	from 1.5 minutes (180 secs) to 30 secs.  Many command-line FTP
	clients have a timeout of 60 secs, after which they think the server
	has timed out, and will close the control connection.  We want to
	make sure that proftpd's lingering closes do not linger past that 60
	secs mark.

2008-11-15  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm: Make sure the EPRT tests
	are sensitive to whether the built proftpd supports IPv6.  Did the
	same for the EPSV tests, and added more tests for the optional EPSV
	arguments.

2008-11-15  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Allow the epsv() method to
	take an optional protocol number, as allowed in the EPSV command.

2008-11-15  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Apply the same Net::FTP
	internals muck to the epsv() and eprt() methods as used in the
	pasv() and port() methods.

2008-11-15  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Quell Perl warning about
	redeclared variable.

2008-11-15  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Make the pasv() and port()
	methods actually cause the client to use passive and active data
	transfers, respectively, rather than having to rely on a
	constructor-time setting.  Yuck.

2008-11-15  castaglia <castaglia>

	* NEWS, src/data.c, src/netio.c: Bug#3131 - Session process uses
	100% CPU after aborted transfer.

2008-11-14  castaglia <castaglia>

	* tests/Makefile.in: Fix typo.

2008-11-14  castaglia <castaglia>

	* modules/mod_lang.c: When calling setlocale(3) to get the LANG to
	advertise in the FEAT response, use LC_MESSAGES rather than LC_ALL;
	the latter can result in a string which includes the locales for
	every category when we just want the LC_MESSAGES category.

2008-11-14  castaglia <castaglia>

	* NEWS, src/main.c: Bug#3132 - Handling of SIGABRT signal leads to
	endless loop.

2008-11-14  castaglia <castaglia>

	* src/main.c, src/netio.c: Add trace logging of the handling of EOF,
	i.e. when a client closes (or shuts down) its control connection,
	causing proftpd to close that connection.  Also make the implementation of the poll callback a little nicer;
	rather than calling select(2) on an empty fd_set, pass NULL if that
	fd_set is empty.

2008-11-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Fix the feature-checking
	code so that tests using a "feature_X" class are properly handled.

2008-11-13  castaglia <castaglia>

	* tests/t/commands/abor.t,
	tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Check in some of the
	in-progress unit tests on the ABOR command (being driven by
	investigations for Bug#3131).  The tests are not part of the full
	testsuite yet.

2008-11-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm,
	tests/t/modules/mod_wrap2_sql.t, tests/tests.pl: Added unit tests
	for mod_wrap2_sql.

2008-11-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
	tests/t/modules/mod_wrap2_file.t, tests/tests.pl: Add unit tests for
	mod_wrap2_file.

2008-11-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add routine for checking
	the enabled features in the proftpd build.  Use this for disabling
	IPv6 support in the unit tests, if IPv6 support is enabled, unless
	explicitly requested otherwise in the test.

2008-11-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
	tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm,
	tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/HELP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PASS.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PORT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/REST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STRU.pm,
	tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/USER.pm,
	tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm,
	tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm,
	tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm,
	tests/t/lib/ProFTPD/Tests/Logins.pm: Remove unnecessary import of
	module-related functions.

2008-11-11  castaglia <castaglia>

	* contrib/mod_wrap2/mod_wrap2.c: Fix bug, found by unit tests, with
	evaluation of conditions for applying WrapGroupTables directive.
	The logic was incorrectly inverted.

2008-11-10  castaglia <castaglia>

	* tests/tests.pl: If there are no additional feature/module-specific
	test files to add, then don't add them, not even the
	'testsuite_empty_test' stub test.

2008-11-10  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm: Quell Perl
	compiler warnings about re-declared variables.

2008-11-08  castaglia <castaglia>

	* tests/t/config/maxretrievefilesize.t,
	tests/t/config/maxstorefilesize.t,
	tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
	tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm,
	tests/tests.pl: Added unit tests for the MaxRetrieveFileSize and
	MaxStoreFileSize directives.

2008-11-08  castaglia <castaglia>

	* tests/t/config/requirevalidshell.t, tests/t/config/useftpusers.t,
	tests/t/lib/ProFTPD/Tests/Config/RequireValidShell.pm,
	tests/t/lib/ProFTPD/Tests/Config/UseFtpUsers.pm, tests/tests.pl: 
	Added unit tests for the RequireValidShell and UseFtpUsers
	directives.

2008-11-08  castaglia <castaglia>

	* tests/t/config/timeoutidle.t, tests/t/config/timeoutlogin.t,
	tests/t/config/timeoutnotransfer.t,
	tests/t/config/timeoutsession.t, tests/t/config/timeoutstalled.t,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutLogin.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutNoTransfer.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutSession.pm,
	tests/t/lib/ProFTPD/Tests/Config/TimeoutStalled.pm, tests/tests.pl: 
	Added unit tests for the various Timeout directives.

2008-11-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Minor adjustment to
	make a RETR test pass; the File::Spec::rel2abs() Perl function can
	take *a lot* longer to run, than expected, in some cases.  Not sure
	why yet.

2008-11-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: The STOU tests now
	pass when run both as root and as non-root.

2008-11-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Update the STOR tests
	to pass when run as root and as non-root.

2008-11-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Make sure the RNTO
	tests pass when run as root and as non-root.

2008-11-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/RMD.pm: Adjust the RMD tests to
	pass when run as root and as non-root.

2008-11-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Make the RETR tests
	pass when run as both root and non-root.

2008-11-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Update the NLST tests
	to pass when run as root and as non-root.

2008-11-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Adjust the MKD tests so
	that using root and non-root users work, and the tests pass.

2008-11-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adjust the LIST tests
	so that they pass when run both as root and as non-root.

2008-11-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/DELE.pm: Rework the DELE unit
	tests so that they pass when run both as root and as non-root.

2008-11-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/APPE.pm: Rework the APPE tests
	so that they always pass, whether run as root or not.

2008-11-07  castaglia <castaglia>

	* doc/howto/Testing.html: Mention that some integration tests are
	skipped if not run with root privs.

2008-11-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add a
	regression test for Bug#2922.

2008-11-07  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/TestSuite/Utils.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm,
	tests/t/modules/mod_sql_sqlite.t: Adding some regressions tests for
	Bugs #3116, #3124, and #3126.

2008-11-06  castaglia <castaglia>

	* NEWS, src/dirtree.c: Bug#3130 - HideFiles can cause segfault.

2008-11-06  castaglia <castaglia>

	* tests/t/config/hidefiles.t,
	tests/t/lib/ProFTPD/TestSuite/Utils.pm,
	tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm, tests/tests.pl: Added
	unit test for reproducing Bug#3130 (and preventing regressions).

2008-11-06  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql.pm,
	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm,
	tests/t/modules/mod_sql.t, tests/t/modules/mod_sql_sqlite.t,
	tests/tests.pl: Make the tests.pl script "interrogate" the compiled
	proftpd, and start adding tests based on the compiled features (e.g.
	modules included, features enabled, etc).  Add stub module files for mod_sql and mod_sql_sqlite; these will be
	the first module-specific test files; they will be
	demonstrations/examples for creating test files for other modules.

2008-11-06  castaglia <castaglia>

	* doc/howto/Testing.html: Update the Testing howto to reflect
	changes made to the 'make check' target.

2008-11-06  castaglia <castaglia>

	* tests/.cvsignore, tests/Makefile.in,
	tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: Run the integration
	tests after the API tests, as part of the 'make check' target.  Fix some Perl warnings in the STOU tests.  Make sure that the cvs
	commands ignore all generated log files (e.g. cvs diff won't
	complain about unknown .log files).

2008-11-06  castaglia <castaglia>

	* doc/howto/index.html: Add a link to the Testing howto in the howto
	index.

2008-11-06  castaglia <castaglia>

	* doc/howto/Testing.html: The Testing howto is now in a mostly
	usable form.

2008-11-06  castaglia <castaglia>

	* modules/mod_xfer.c, src/data.c: Fix a problem with the handling of
	STOU.  This problem was detected by the testsuite, as it should.

2008-11-06  castaglia <castaglia>

	* tests/api/tests.c: Make sure that the testsuite log name is kept
	in sync with what is displayed in the error message.

2008-11-03  castaglia <castaglia>

	* contrib/mod_sql_sqlite.c: Explain why sqlite3_shutdown() is not
	called when the mod_sql_sqlite module is being unloaded.

2008-11-03  castaglia <castaglia>

	* contrib/mod_sql_sqlite.c: Stylistic nits; no functional change.

2008-11-03  castaglia <castaglia>

	* NEWS, contrib/mod_sql_sqlite.c: Bug#3126 - Segfault in
	mod_sql_sqlite when user belongs to multiple groups.

2008-10-31  castaglia <castaglia>

	* NEWS, contrib/mod_ldap.c, contrib/mod_sql.c, src/log.c: Bug#2767 -
	gcc 4.0/amd64 warnings.

2008-10-31  castaglia <castaglia>

	* NEWS, include/fsio.h, src/fsio.c: Bug#3092 - FSIO API needs
	mechanism for allowing registered FS handlers to permit atomic
	renames.

2008-10-30  castaglia <castaglia>

	* modules/mod_xfer.c, src/data.c: Turns out that not _all_ data
	connections are allocated from session.xfer.p; some are allocated
	from session.pool.  The previous changes had inadvertently broken
	passive data transfers.  For passive data transfers, then, use
	session.pool for allocating the connection object (session.d),
	rather than session.xfer.p; thus making consistent the pool that is
	used for allocating session.d.  Also clean up some of the error responses for failed uploads; they
	might have referenced NULL pointers, which would subsequently cause
	segfaults/crashes on platforms whose printf(3) functions don't
	handle the case well.

2008-10-29  castaglia <castaglia>

	* RELEASE_NOTES: Start prepping the RC3 release notes.

2008-10-28  castaglia <castaglia>

	* contrib/mod_sql.c: Add a comment about why the nested
	sql_prepare_where() function calls are the way they are (to prevent
	future developers from regressing Bug#3124).

2008-10-28  castaglia <castaglia>

	* include/data.h, modules/mod_xfer.c, src/data.c: Improve on the fix
	for Bug#3089 by creating a new function specifically to clear the
	session.xfer.p pool and any associated structures; this function
	refactors all of the associated code into a single location.

2008-10-28  castaglia <castaglia>

	* doc/howto/Testing.html: Adding slightly more substance to the
	Testing howto; hopefully I can muster the motivation to finish it
	later tonight.

2008-10-28  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c, src/data.c, src/inet.c: Bug#3089 -
	Memory pool double-free on session exit after aborted data transfer.

2008-10-28  castaglia <castaglia>

	* include/inet.h, src/inet.c: Remove the pr_inet_associate()
	function; nothing was using it.

2008-10-27  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#3124 - mod_sql improperly substitutes
	variables in user/group names.

2008-10-21  castaglia <castaglia>

	* configure: Updated configure.

2008-10-21  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, src/encode.c: Bug#3122: iconv()
	not detected properly on FreeBSD when --enable-nls is used.

2008-10-20  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/PASS.pm: Make sure that the
	PASS unit tests expected the proper response message.

2008-10-20  castaglia <castaglia>

	* include/glibc-glob.h: Fix compiler detection to deal with other
	compilers.

2008-10-20  castaglia <castaglia>

	* tests/t/config/maxloginattempts.t,
	tests/t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm,
	tests/tests.pl: Added unit tests for the MaxLoginAttempts directive.

2008-10-20  castaglia <castaglia>

	* locale/en_US.po, locale/it_IT.po, locale/proftpd.pot,
	locale/zh_CN.po: Removing redundant (and now absent) entry for
	"Login incorrect"; there is already a "Login incorrect." (note the
	period) entry.

2008-10-20  castaglia <castaglia>

	* contrib/mod_ban.c: Make mod_ban use the same "Login incorrect."
	string, including period, like the rest of mod_auth.
	Inconsistencies in responses constitute information leaks, albeit
	minor.

2008-10-19  castaglia <castaglia>

	* modules/mod_auth.c: Fixed failed login message to be consistent
	with other instances of the "Login incorrect" string.

2008-10-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PASV.pm: Make the regexes tigher
	for checking the expected EPSV and PASV responses.

2008-10-19  castaglia <castaglia>

	* tests/t/commands/eprt.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm, tests/tests.pl: Added
	tests for the EPRT command.

2008-10-19  castaglia <castaglia>

	* tests/t/commands/epsv.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm, tests/tests.pl: Added
	tests for the EPSV command.

2008-10-19  castaglia <castaglia>

	* tests/t/commands/feat.t, tests/t/commands/help.t,
	tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/HELP.pm, tests/tests.pl: Added
	tests for the FEAT and HELP commands.

2008-10-19  castaglia <castaglia>

	* tests/t/commands/pass.t, tests/t/commands/user.t,
	tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PASS.pm,
	tests/t/lib/ProFTPD/Tests/Commands/USER.pm, tests/tests.pl: Added
	tests for the USER and PASS commands.

2008-10-19  castaglia <castaglia>

	* tests/t/config/displaylogin.t,
	tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm, tests/tests.pl: 
	Added tests for the DisplayLogin directive.

2008-10-19  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm: Forgot to
	clean up a test file that's outside of the tmp/ directory.

2008-10-19  castaglia <castaglia>

	* tests/t/config/displayconnect.t,
	tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm, tests/tests.pl: 
	Added tests for the DisplayConnect directive.

2008-10-19  castaglia <castaglia>

	* tests/t/config/serverident.t,
	tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm, tests/tests.pl: 
	Added first unit tests for config directives; we're starting with
	ServerIdent.

2008-10-18  castaglia <castaglia>

	* tests/t/commands/appe.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/APPE.pm, tests/tests.pl: Added
	tests for the APPE command.

2008-10-18  castaglia <castaglia>

	* tests/t/commands/stou.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RETR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STOR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STOU.pm, tests/tests.pl: Added
	tests for the STOU command.  Cleaned up handling of FTP response
	messages.

2008-10-18  castaglia <castaglia>

	* tests/t/commands/stor.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STOR.pm, tests/tests.pl: Added
	some tests for the STOR command.

2008-10-18  castaglia <castaglia>

	* modules/mod_xfer.c: Preserve the error code for a failing to open
	the file to be uploaded; errno was being overwritten by subsequent
	function calls before being reported back to the client.

2008-10-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Remove copy-n-pasted
	code from the RETR tests, and make them work more reliably.

2008-10-18  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Quell some annoying Perl
	warnings (coming from Net::Cmd and Net::FTP) by providing an
	initialized default value.  Makes running the testsuite using
	tests.pl much prettier.

2008-10-18  castaglia <castaglia>

	* tests/t/commands/retr.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RETR.pm, tests/tests.pl: Add some
	basic tests of the RETR command.

2008-10-17  castaglia <castaglia>

	* tests/t/commands/list.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/TestSuite/Utils.pm,
	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm, tests/tests.pl: Start of
	tests for the LIST command; expect more in the future.

2008-10-17  castaglia <castaglia>

	* contrib/mod_wrap2/mod_wrap2.c: Fix Bug#3120 for the
	WrapGroupTables and WrapUserTables directives as well.

2008-10-17  castaglia <castaglia>

	* NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#3120 - WrapTables not
	allowed in <Anonymous> context.

2008-10-16  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
	tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PORT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
	tests/t/lib/ProFTPD/Tests/Commands/REST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STRU.pm,
	tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm,
	tests/t/lib/ProFTPD/Tests/Logins.pm: Updated tests to use
	server_wait().

2008-10-15  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/TestSuite/Utils.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Retrofit some of the
	test classes to use server_wait().  Fixed up some of the NLST tests
	(due to the vagaries of the Perl Net::FTP class).

2008-10-15  castaglia <castaglia>

	* configure: Updated configure.

2008-10-15  castaglia <castaglia>

	* NEWS, config.h.in, configure.in: Bug#3119 - Search for libcap2 in
	addition to libcap for mod_cap support.

2008-10-15  castaglia <castaglia>

	* doc/modules/mod_cap.html: Mention the fact that some Linux distros
	use a package name of "libcap2-dev" as well as (or instead of)
	"libcap2".

2008-10-14  castaglia <castaglia>

	* modules/mod_dso.c: Log, at debug level 7, when we are loading a
	module.  This message is symmetric with the similar message when a
	module is unloaded.

2008-10-14  castaglia <castaglia>

	* contrib/mod_ifsession.c: Fix compilation error.

2008-10-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Revert the response
	message check changes made earlier; the discrepancy was caused by
	stale source code, not by platform/version differences.

2008-10-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: As per the Net::FTP
	documentation, the use of PASV vs PORT is done at instantiation
	time, oddly enough.  Make sure this feature is exposed in the
	testsuite.

2008-10-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add a function that
	encapsulates the server-wait part of the tests, including a timeout.

2008-10-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Looks like some of the
	errno strings differ across platforms and versions.

2008-10-14  castaglia <castaglia>

	* tests/t/commands/nlst.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm, tests/tests.pl: Added
	tests for NLST; still more tests to be added.

2008-10-14  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Make sure that lingering
	processes, if not killed properly, are timed out quickly.

2008-10-13  castaglia <castaglia>

	* tests/t/commands/rest.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/REST.pm, tests/tests.pl: Added
	tests for the REST command.

2008-10-13  castaglia <castaglia>

	* tests/t/commands/quit.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm, tests/tests.pl: Added
	test for the QUIT command.

2008-10-13  castaglia <castaglia>

	* tests/t/commands/rnfr.t, tests/t/commands/rnto.t,
	tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm, tests/tests.pl: Added
	tests for the RNFR, RNTO commands.

2008-10-13  castaglia <castaglia>

	* modules/mod_core.c: Preserve the actual errno value if the
	renaming fails; it was getting trounced in subsequent function
	calls.

2008-10-13  castaglia <castaglia>

	* tests/t/commands/noop.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm, tests/tests.pl: Added
	test for the NOOP command.

2008-10-13  castaglia <castaglia>

	* tests/t/commands/port.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PORT.pm, tests/tests.pl: Add
	tests for the PORT command.

2008-10-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Fixed regex matching of ALLO
	response code leading digit.

2008-10-13  castaglia <castaglia>

	* tests/t/commands/allo.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm, tests/tests.pl: Added
	test for the ALLO command.

2008-10-13  castaglia <castaglia>

	* tests/t/commands/stru.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/STRU.pm, tests/tests.pl: Added
	tests for the STRU command.

2008-10-13  castaglia <castaglia>

	* tests/t/commands/mode.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MODE.pm, tests/tests.pl: Add
	tests for the MODE command.

2008-10-13  castaglia <castaglia>

	* tests/t/commands/pasv.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PASV.pm, tests/tests.pl: Added
	tests for the PASV command.

2008-10-13  castaglia <castaglia>

	* tests/t/commands/cdup.t, tests/t/commands/cwd.t,
	tests/t/commands/dele.t, tests/t/commands/mdtm.t,
	tests/t/commands/mkd.t, tests/t/commands/pwd.t,
	tests/t/commands/rmd.t, tests/t/commands/size.t,
	tests/t/commands/syst.t, tests/t/commands/type.t,
	tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
	tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
	tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
	tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
	tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
	tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm, tests/tests.pl: Split
	the unit tests for FTP commands into separate files, one file per
	set of tests of a command.  The previous files were getting too
	large and unwieldy.

2008-10-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands.pm: Added tests for the TYPE,
	MDTM, and SIZE commands.

2008-10-13  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands.pm: Added tests for the DELE
	command.

2008-10-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands.pm,
	tests/t/lib/ProFTPD/Tests/Logins.pm: Added command test cases where
	failures (for different reasons) are expected.

2008-10-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands.pm: Added tests for the MKD,
	XMKD, RMD, and XRMD commands.

2008-10-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/TestSuite/Utils.pm,
	tests/t/lib/ProFTPD/Tests/Commands.pm,
	tests/t/lib/ProFTPD/Tests/Logins.pm: Added tests for CDUP, XCUP, and
	SYST commands.  Added better error messages (with location now) for
	failed assertions.  Fixed cases where failed login tests might allow
	the server to continue running.

2008-10-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/Tests/Commands.pm: Fixed use of assertions when
	checking response codes and messages.  Added tests for the XPWD, CWD, and XCWD commands.

2008-10-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/Tests/Commands.pm: Fix the PWD test so that it
	actually checks that the FTP response code and message are as
	expected, not just that they exist.

2008-10-12  castaglia <castaglia>

	* tests/t/commands.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/TestSuite/Utils.pm,
	tests/t/lib/ProFTPD/Tests/Commands.pm, tests/tests.pl: Start of test
	cases for the various FTP commands; PWD is simple, so it was first.  Also add support for writing AuthUserFiles and AuthGroupFiles; this
	makes it easier to log into the running proftpd without requiring
	root privs.

2008-10-12  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/TestSuite/Utils.pm: Fix the anonymous login unit
	test such that it passes (requires root privs).  Fix the FTP client
	wrapper so that it properly retrieves the FTP response code and
	message.  Update Utils so that the server identity (User/Group)
	retrieved are always non-root accounts.

2008-10-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Utils.pm,
	tests/t/lib/ProFTPD/Tests/Logins.pm: Fix the anonymous login test
	(it should fail, unless run with root privs).  Have defaults for the common config directives.  Exclude tests which
	require root privs unless we are being run with root privs.

2008-10-11  castaglia <castaglia>

	* tests/t/lib/ProFTPD/TestSuite/Child.pm,
	tests/t/lib/ProFTPD/TestSuite/FTP.pm,
	tests/t/lib/ProFTPD/TestSuite/Utils.pm,
	tests/t/lib/ProFTPD/Tests/Logins.pm, tests/t/logins.t,
	tests/tests.pl: Start of a collection of unit tests against a
	running proftpd server, using Perl.

2008-10-11  castaglia <castaglia>

	* modules/mod_facts.c: Fixed bug handling the MFMT command; found by
	a user in the online forums.

2008-10-08  castaglia <castaglia>

	* doc/howto/Translations.html, doc/howto/index.html: Adding a
	Translation mini-howto.

2008-10-07  castaglia <castaglia>

	* doc/modules/mod_lang.html: Typo.

2008-10-07  castaglia <castaglia>

	* tests/.cvsignore, tests/Makefile.in, tests/api/.cvsignore,
	tests/api/tests.c: Rename the executable used for testing the API
	(and the log file that executable generates) to be "api-tests", to
	differentiate it from the other tests I am working on.

2008-10-07  castaglia <castaglia>

	* tests/api/.cvsignore: Add .cvsignore file for the new tests/api/
	directory.

2008-10-07  castaglia <castaglia>

	* src/main.c: Need to use exit(), rather than end_login().
	Something about the latter makes it impossible to read stdout
	programmatically when using -vv.

2008-10-06  castaglia <castaglia>

	* modules/mod_auth_pam.c: Make mod_auth_pam reject the connection if
	it is unable to register itself as an auth-only module with the Auth
	API.  This check would have caught the Bug#2922 regression much
	earlier.  Ah, hindsight.

2008-10-06  castaglia <castaglia>

	* tests/Makefile.in, tests/api/array.c, tests/api/class.c,
	tests/api/env.c, tests/api/event.c, tests/api/expr.c,
	tests/api/feat.c, tests/api/modules.c, tests/api/netacl.c,
	tests/api/netaddr.c, tests/api/pool.c, tests/api/regexp.c,
	tests/api/scoreboard.c, tests/api/sets.c, tests/api/str.c,
	tests/api/stubs.c, tests/api/table.c, tests/api/tests.c,
	tests/api/tests.h, tests/api/timers.c, tests/api/var.c,
	tests/api/version.c: Moving the current API unit test source files
	into an api/ directory, to make room for a directory for integration
	unit tests (i.e. login tests, command tests, configuration tests,
	etc) which require an FTP client and a running proftpd.

2008-10-06  castaglia <castaglia>

	* NEWS, src/auth.c: Bug#3117 - Authentication improperly allowed
	(Bug#2922 regression).

2008-10-06  castaglia <castaglia>

	* contrib/mod_sql_sqlite.c: Add a header-vs-lib version check to
	mod_sql_sqlite, similar to the one that is in mod_tls.  Hopefully
	any discrepancies will get sysadmins to correct the software
	installations on their system.

2008-10-06  castaglia <castaglia>

	* contrib/mod_ldap.c: When mod_ldap is initialized, print out the
	LDAP vendor and LDAP API version.

2008-10-06  jwm <jwm>

	* contrib/mod_ldap.c: mod_ldap bzr r58:   typo

2008-10-06  jwm <jwm>

	* contrib/mod_ldap.c: mod_ldap bzr r57:   * Prevent the use of LDAPSearchScope or LDAPUseSSL when LDAPServer     specifies a URL. Instead, the desired search scope and SSL
	    setting should be specified by the URL.  mod_ldap bzr r56:   - remove extraneous includes   - free the LDAPURLDesc in ldap_getconf(), since we don't attach it
	    to the configuration directive any more

2008-10-06  castaglia <castaglia>

	* src/dirtree.c: Reduce the size of the pool allocated for
	config_recs; should reduce the memory footprint more without
	(hopefully) any adverse side effects.

2008-10-05  castaglia <castaglia>

	* modules/mod_auth_pam.c: Correct some of the terms in the trace
	messages from the PAM conversation callback.

2008-10-04  castaglia <castaglia>

	* modules/mod_auth_pam.c: Be less strict about AuthPAMOptions, and
	use case-insensitive checks.

2008-10-04  castaglia <castaglia>

	* modules/mod_core.c: Fix typo which made for a rather confusing
	comment.

2008-10-04  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#3116 - SQLNegativeCache with no group
	info can cause segfault.

2008-10-04  castaglia <castaglia>

	* src/main.c, src/netio.c: Apply a tag to the one unnamed subpool of
	permanent_pool.  Add comments about why that subpool (which isn't
	needed in the daemon process) is allocated.

2008-10-04  castaglia <castaglia>

	* src/class.c: Tag any pools allocated for class definitions.

2008-10-04  castaglia <castaglia>

	* src/pool.c: Fix the mechanism used to count the number of
	sub-pools in a pool; it was not recursing properly.

2008-10-04  castaglia <castaglia>

	* src/timers.c: It's high time the Timers API had its own memory
	pool, rather than using permanent_pool directly.

2008-10-04  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: Check in the control action which helps
	me to find pool use misbehaviors.  If proftpd is compiled using
	--enable-devel, and the mod_ctrs_admin module is used (which itself
	requires --enable-ctrls), then a 'debug memory' control action (via
	ftpdctl) is supported.

2008-10-04  castaglia <castaglia>

	* src/pool.c: Prettify, and update, the messages emitted when
	debugging pool usage.

2008-10-04  castaglia <castaglia>

	* src/main.c: Fix an egregious memory leak in the daemon process
	(but not in session processes).  On startup, proftpd would allocate
	a memory pool for the Netaddr API.  This pool was used, but never
	cleared.  And every restart would cause more allocations (for the
	netaddr objects used in the bindings) from this pool.  Thus a
	long-running proftpd, restarted occasionally (as is done for log
	rolling) would gradually leak quite a bit.  Slowly, to be sure, but
	noticeable for long-lived daemons.

2008-10-04  castaglia <castaglia>

	* src/modules.c: Reduce the size of the sub-pool used for symbols in
	the stash.  This reduces the memory footprint of the proftpd daemon
	process (and session processes) by quite a bit, given that there are
	quite a few symbols allocated.  Hopefully this won't cause any
	issues.

2008-10-04  castaglia <castaglia>

	* src/help.c: Minor label nit.

2008-10-04  castaglia <castaglia>

	* contrib/mod_sql.c: Allow the SQLEngine directive to be processed
	even if, for some reason, the user name config_rec can't be found.

2008-10-03  castaglia <castaglia>

	* doc/modules/mod_lang.html: Add a Usage section containing, for
	now, a description of the Cyrillic/Telnet issue, and how to use
	mod_lang to work around it.

2008-10-02  castaglia <castaglia>

	* modules/mod_auth.c: Minor change to test SourceForge's commit
	mail.

2008-10-02  castaglia <castaglia>

	* modules/mod_auth.c: Generate a few new events: one for when a root
	login is attempted, and one containing the authentication code
	value.  These events are added first for the use by mod_audit, a
	third-party module for auditing certain application events.

2008-10-01  castaglia <castaglia>

	* contrib/mod_tls.c: Minor tweaks to allow TLSPassPhraseProvider to
	work properly on Mac OSX.  Shouldn't harm anything.

2008-10-01  castaglia <castaglia>

	* contrib/mod_tls.c: When handling the exit event in the daemon
	process, the TLSLog is not open.  Thus use pr_log_pri() and
	pr_log_debug() rather than tls_log() there.

2008-09-30  castaglia <castaglia>

	* src/main.c, src/trace.c: Add trace logging of when the various
	signals are handled.  When handling a restart, be sure to close any open trace log fd.
	Also, to prevent issues with Solaris' stupid stdio fd limit of 256,
	make sure that the fallback fd used for the TraceLog is 255.

2008-09-30  castaglia <castaglia>

	* contrib/mod_dynmasq.c: Reduce the log verbosity of mod_dynmasq
	more, as per user request.

2008-09-29  castaglia <castaglia>

	* src/support.c: [no log message]

2008-09-29  castaglia <castaglia>

	* contrib/mod_dynmasq.c: Change the logging of mod_dynmasq slightly,
	so that it does not spam the system log with messages.

2008-09-26  castaglia <castaglia>

	* src/response.c: Add trace logging of the responses that are added,
	not just when the responses are flushed to the client.

2008-09-25  castaglia <castaglia>

	* src/main.c: Include the version status (e.g. "CVS", "devel",
	"stable") in the -V output, as well as the build timestamp.

2008-09-23  castaglia <castaglia>

	* INSTALL: Update the mailing list info in the INSTALL file.

2008-09-23  castaglia <castaglia>

	* tests/array.c: Add unit test for the clear_array() function added
	in 1.3.2rc2.

2008-09-20  castaglia <castaglia>

	* NEWS, src/main.c, src/netio.c: Bug#3115 - Cross-site request
	forgery.

2008-09-19  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#3114 - Bad handling of uid/gid
	parameters for CreateHome.

2008-09-17  castaglia <castaglia>

	* contrib/mod_sql.c: Quell a few more compiler warnings about
	signedness.

2008-09-17  castaglia <castaglia>

	* include/version.h: Bump to RC3 in CVS.

2008-09-17  castaglia <castaglia>

	* ChangeLog: Updated ChangeLog.

2008-09-17  castaglia <castaglia>

	* NEWS: Update release date in NEWS.

2008-09-17  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing for
	the release of 1.3.2rc2.

2008-09-17  castaglia <castaglia>

	* RELEASE_NOTES: Update the release notes with the highlights of the
	upcoming RC2 release.

2008-09-12  castaglia <castaglia>

	* modules/mod_auth.c: Minor formatting nit; I prefer to have strings
	from clients (e.g. user names) enclosed in quotes.

2008-09-12  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#3112 - Uploaded files are not
	removed if close() fails.

2008-09-11  castaglia <castaglia>

	* contrib/mod_tls.c: Stir in some additional entropy, using the
	secret passphrases of certs as sources.

2008-09-11  castaglia <castaglia>

	* src/mkhome.c: When scanning a skel directory, there's no need to
	build up the full paths (and using memory from the pool) if we're
	going to skip those paths.

2008-09-11  castaglia <castaglia>

	* contrib/mod_ban.c: Turns out that Mac OSX has the same semantics,
	with regard to reuse of getopt(3), as FreeBSD.

2008-09-09  castaglia <castaglia>

	* modules/Makefile.in: Cycle through a single combined list of
	subdirectories in which to invoke the `install' target, rather than
	two separate lists.

2008-09-09  castaglia <castaglia>

	* doc/howto/DSO.html: Update the example Makefile in the DSO howto,
	since the `install' target may be called even if the module is built
	as a static module (i.e. no .la file produced).

2008-09-08  castaglia <castaglia>

	* src/data.c: With the fix for Bug#2920 comes the possibility that
	clients can send NOOP commands on the control connection, while a
	data transfer is occurring.  This would cause the data transfer
	initiating command recorded in the scoreboard to be overwritten with
	the NOOP command.  While technically correct, this is probably not
	what the admins want.  So make proftpd handle such commands
	politely, responding 200 to them, without actually dispatching the
	command through the handlers.

2008-09-08  castaglia <castaglia>

	* Makefile.in, contrib/mod_load/Makefile.in,
	contrib/mod_wrap2/Makefile.in, modules/Makefile.in: Make sure that
	the `install' target is called for static modules that are built in
	their own directories, just as is done for shared modules.

2008-09-08  castaglia <castaglia>

	* contrib/mod_tls.c: Avoid cleaning up OpenSSL state if mod_sftp is
	present as well.

2008-09-08  jwm <jwm>

	* contrib/mod_ldap.c: mod_ldap bzr r55:   high time for a 2.8.19 release

2008-09-08  jwm <jwm>

	* contrib/mod_ldap.c: mod_ldap bzr r54:   log message wording fix

2008-09-08  jwm <jwm>

	* contrib/mod_ldap.c: mod_ldap bzr r53: * Fixed missing ldap_init() -> ldap_initialize() when updating for
	  latest LDAP C API. Fixes segfaults on (some?) 64-bit systems. (Bug
	#3046)

2008-09-08  castaglia <castaglia>

	* include/pool.h, src/pool.c: Add a clear_array() function, for
	clearing/resetting an array_header.

2008-09-08  castaglia <castaglia>

	* src/main.c: Try to give different sessions more different random
	seeds by multiplying the system time (was being used) with the PID.
	Bonus points for having the unsigned int value wrap around.

2008-09-07  castaglia <castaglia>

	* contrib/mod_tls.c: Refresh the builtin 2048-bit DH group.

2008-09-07  castaglia <castaglia>

	* contrib/mod_tls.c: Refresh the builtin DH groups in mod_tls.  Note
	that the 2048-bit DH group still needs to be updated.

2008-09-07  castaglia <castaglia>

	* src/main.c: Quell some compiler complaints about formatting.

2008-09-04  castaglia <castaglia>

	* src/encode.c: If the selected locale does not support the Telnet
	IAC character, be sure that the toggled setting is not overwritten.

2008-09-04  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#3109 - Errors with file uploads
	logged but not reported to clients.

2008-09-04  castaglia <castaglia>

	* src/parser.c: Get rid of small function that is only used in one
	place; simply move the code into the calling function.

2008-09-04  castaglia <castaglia>

	* src/inet.c, src/log.c, src/main.c, src/scoreboard.c, src/trace.c: 
	Change a few more places to using the cached session.pid, if
	available.

2008-09-03  castaglia <castaglia>

	* include/fsio.h, src/fsio.c: Remove the pr_find_fs() function; it
	was a bad idea.  Even if a caller could retrieve a registered FS
	object by name, that caller would not be able to do much with the
	FS.  The various callbacks are usually declared as static to the
	file defining them, which means that the caller probably won't have
	access to the memory addresses of the callbacks.

2008-09-03  castaglia <castaglia>

	* include/fsio.h, src/fsio.c: Add a pr_find_fs() function, for
	retrieving a registered FS object by name.

2008-09-02  castaglia <castaglia>

	* configure: Updated configure.

2008-09-02  castaglia <castaglia>

	* config.h.in, configure.in, modules/mod_ls.c: If the dirfd()
	function is available, use that instead of poking around the
	internals of a DIR structure.

2008-09-01  castaglia <castaglia>

	* include/proftpd.h, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_xfer.c, src/data.c, src/main.c, src/throttle.c: Make
	fewer getpid() system calls by caching the values (it's not going to
	change), and using the cached value for the
	pr_scoreboard_entry_update() calls.

2008-09-01  castaglia <castaglia>

	* doc/howto/DSO.html: Updated DSO howto with mention of prxs.

2008-09-01  castaglia <castaglia>

	* NEWS, doc/modules/mod_facts.html, modules/mod_facts.c: Bug#3108 -
	Support removing MLST from FEAT list.

2008-08-30  castaglia <castaglia>

	* contrib/mod_tls.c: Prettify some of the error messages emitted if
	the configuration is not correct.

2008-08-30  castaglia <castaglia>

	* contrib/mod_tls.c: Fix typos in fix for Bug#3107.

2008-08-30  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c, doc/contrib/mod_tls.html: Bug#3107 -
	TLSProtocol supports misleading "SSLv23" parameter.

2008-08-29  castaglia <castaglia>

	* Makefile.in: When installing prxs, do not ever attempt to strip
	it.  It is a Perl script, not a compiled binary, and strip(1) will
	complain about the file type.

2008-08-28  castaglia <castaglia>

	* configure: Updated configure.

2008-08-28  castaglia <castaglia>

	* include/data.h: Update copyright dates in just-modified header.

2008-08-28  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, include/data.h, src/data.c: 
	Bug#3106 - Add support for Mac OSX 10.5 sendfile.

2008-08-27  castaglia <castaglia>

	* locale/Makefile.in: Do not remove the .po files when cleaning the
	locale/ directory.

2008-08-27  jwm <jwm>

	* contrib/mod_ldap.c:   having to hand-edit mod_ldap.c to enable tls support is silly;
	  switch based on LDAP_OPT_X_TLS, which is the best thing i've found
	  given that i can't find an ldap sdk that support tls other than
	  openldap (sun's doesn't; are there any other major players around?)

2008-08-27  jwm <jwm>

	* contrib/mod_ldap.c:   fix LDAPServer url handling by re-parsing the ldap url in each
	  session rather than trying to keep track of the LDAPURLDesc struct   proftpd bug 3097

2008-08-27  jwm <jwm>

	* contrib/mod_ldap.c: use the configured ldap_port in "connected..."
	debug message, not LDAP_PORT

2008-08-27  jwm <jwm>

	* contrib/mod_ldap.c:   * Define LDAP_SCOPE_DEFAULT if not defined by the SDK, fixing
	    compilation with (recent?) Sun LDAP headers.

2008-08-27  jwm <jwm>

	* contrib/mod_ldap.c:   * Fix compilation with old LDAP SDKs (LDAP_API_VERSION < 2000).
	    Thanks to Saju Paul <saju.paul@messageway.com>.

2008-08-26  castaglia <castaglia>

	* src/prxs.in: Add license to prxs.  Support use of LIBTOOL
	environment variable to direct prxs to use a different libtool, if
	necessary.

2008-08-25  castaglia <castaglia>

	* src/inet.c: Extend the hack used for active ports to Mac OS 10.5
	as well.

2008-08-25  castaglia <castaglia>

	* configure: Updated configure.

2008-08-25  castaglia <castaglia>

	* Makefile.in, NEWS, configure.in, src/.cvsignore, src/prxs.in: 
	Bug#2991 - Need a `prxs' (ProFTPD Extensions) command-line tool for
	building shared modules without proftpd source.

2008-08-25  castaglia <castaglia>

	* lib/pr-syslog.c: Extend the fix for Bug#3104 to Mac OS 10.5 (i.e.
	DARWIN9) as well.

2008-08-24  castaglia <castaglia>

	* lib/Makefile.in: Turns out that the libsupp library does NOT need
	to be installed, as part of a proftpd installation, in order to
	support DSO modules built outside of proftpd's source tree.  All of
	the symbols of the libsupp library are statically linked into the
	proftpd binary, thus a dynamically loaded module which uses those
	symbols should have the symbols resolved successfuly at load time,
	without need to explicitly link against libsupp.  The installation
	of libsupp was added as part of Bug #2991.

2008-08-24  castaglia <castaglia>

	* NEWS, lib/pr-syslog.c: Bug#3104 - Syslog logging does not work on
	Mac OS X.

2008-08-24  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#2564 - Improper logging of "max
	connections per host".

2008-08-23  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c, doc/contrib/mod_sql.html: Bug#2537 -
	mod_sql does not support %{...}t variable.

2008-08-23  castaglia <castaglia>

	* NEWS, doc/howto/DisplayFiles.html, src/display.c: Bug#3055 -
	Support Display variable for specifying the timestamp format.  See
	doc/howto/DisplayFiles.html for more details.

2008-08-23  castaglia <castaglia>

	* lib/libcap/libcap.h: Fix typo (missing backslash).

2008-08-23  castaglia <castaglia>

	* src/display.c: A temporary pool was being allocated from
	session.pool for each Display file, and was not being cleaned up.
	Tsk.

2008-08-22  castaglia <castaglia>

	* lib/libcap/libcap.h: Try to handle the change in Linux capability
	version macro names for older kernels (which don't define/use the
	new names).

2008-08-21  castaglia <castaglia>

	* NEWS, src/log.c: Bug#3098 - Socket descriptor leak when using
	syslog logging, especially at SyslogLevel 'notice' or higher.

2008-08-20  castaglia <castaglia>

	* contrib/mod_site_misc.c: Add signal handling to a while() loop.

2008-08-20  castaglia <castaglia>

	* contrib/mod_load/Makefile.in: Make the mod_load Makefile
	consistent with other contrib module Makefiles.

2008-08-20  castaglia <castaglia>

	* NEWS, contrib/mod_load/Makefile.in, contrib/mod_wrap2/Makefile.in: 
	Bug#3101 - mod_wrap2 does not compile on FreeBSD with custom
	includes.  The fix was also needed in the mod_load Makefile.

2008-08-18  castaglia <castaglia>

	* NEWS, modules/mod_core.c, modules/mod_xfer.c: Bug#3030 -
	GroupOwner should work for all groups.

2008-08-18  castaglia <castaglia>

	* contrib/ftpmail: Forgot to add descriptions of the
	--ignore-users/--watch-users command-line options to the --help
	output, as part of the fix for Bug#3100.

2008-08-18  castaglia <castaglia>

	* NEWS, contrib/ftpmail, doc/contrib/ftpmail.html: Bug#3100 -
	Support ftpmail options for sending emails only for specific users.

2008-08-18  castaglia <castaglia>

	* doc/howto/Tracing.html: Mention the new "fileperms" trace log
	channel in the Trace logging howto.

2008-08-18  castaglia <castaglia>

	* NEWS, modules/mod_core.c, modules/mod_xfer.c: Bug#3099 - Add trace
	logging of filesystem permission errors.

2008-08-18  castaglia <castaglia>

	* contrib/mod_wrap2/.cvsignore: Ignore autoconf-generated cache
	file.

2008-08-16  castaglia <castaglia>

	* src/fsio.c: If we are out of memory, then we should exit as soon
	as possible, and skip any sending of events on the topic.

2008-08-16  castaglia <castaglia>

	* modules/mod_xfer.c: If we decline to use sendfile() for any
	reason, log this only once per RETR command.  Otherwise, the debug
	logs get spammed.

2008-08-15  castaglia <castaglia>

	* src/throttle.c: Include signal.h, for the signal-masking function
	declarations.

2008-08-15  castaglia <castaglia>

	* doc/contrib/index.html, doc/contrib/mod_ldap.html: Start a doc
	covering the mod_ldap directives.

2008-08-15  castaglia <castaglia>

	* configure: Updated configure.

2008-08-15  castaglia <castaglia>

	* configure.in: Be sure to include all of the libraries that the
	proftpd executable is linked against in the `proftpd -V' output.

2008-08-15  castaglia <castaglia>

	* contrib/mod_sql_sqlite.c: Log if there was an error closing the
	SQLite database as well.

2008-08-15  castaglia <castaglia>

	* contrib/mod_sql_sqlite.c: Log the error, if there is one, when
	opening the SQLite database file.

2008-08-15  castaglia <castaglia>

	* contrib/mod_sql_sqlite.c: Be sure to log the error string returned
	from SQLite when a query fails.  Otherwise, debugging issues is a
	lot harder.

2008-08-14  castaglia <castaglia>

	* contrib/mod_tls.c: Turns out that prompting for passphrases for
	protected SSL key files MUST happen during the 'core.postparse'
	event, and NOT during the 'core.startup' event.  The passphrase
	prompting requires use of the TTY, and by the time the
	'core.startup' event occurs, the process may have daemonized itself
	away from the TTY.

2008-08-13  castaglia <castaglia>

	* contrib/mod_tls.c: The change of timing of initializing the
	OpenSSL library, in order to better handle FIPS mode, broke the
	TLSPassphraseProvider functionality.  The problem is that using the
	OpenSSL library for loading certs/keys using passphrases, before the
	OpenSSL library has been initialized, does not work so well.  With
	this change, the loading of passphrase-protected certs/keys now
	happens in the 'core.startup' event handler, after OpenSSL has been
	initialized; this means there is no more need for a 'core.postparse'
	event handler.

2008-08-12  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3095 - TLSPassphraseProvider port
	number truncated.  Fixed by using 'sizeof(nbuf)', not 'sizeof(buf)',
	in the snprintf() call.

2008-08-12  castaglia <castaglia>

	* Makefile.in: If using the pkgconfig info to compile and link
	modules, it is not necessary to link against the libsupp library.
	This library is statically linked into the proftpd executable, which
	means that DSO modules that use any libsupp symbols will have those
	symbols successfully resolved at module load time.

2008-08-11  castaglia <castaglia>

	* src/pool.c: Change the "Attempt to free already freed" message,
	when clearing a pool, so that it logs the name of the pool being
	cleared; this will aid in debugging such occurrences.

2008-08-11  castaglia <castaglia>

	* configure: Updated configure.

2008-08-11  castaglia <castaglia>

	* Make.rules.in, Makefile.in, NEWS, configure.in: Bug#3074 - Support
	configure option for pkgconfig .pc file install location.

2008-08-10  castaglia <castaglia>

	* contrib/mod_sql_sqlite.c: Use root privs when opening the file
	configured for SQLite use.

2008-08-10  castaglia <castaglia>

	* configure: Updated configure.

2008-08-10  castaglia <castaglia>

	* configure.in: The use of the -Wno-long-double compiler flag is
	only needed on Mac machines; and using that flag on non-Mac, newer
	gcc versions causes problems.  The configure script thus will only
	check to see if that flag should be used if the compiling platform
	is a Mac.

2008-08-06  castaglia <castaglia>

	* contrib/mod_tls.c: Quell a compiler warning about signedness with
	an explicit cast.

2008-08-06  castaglia <castaglia>

	* NEWS, lib/libcap/cap_alloc.c, lib/libcap/cap_proc.c,
	lib/libcap/libcap.h: Bug#3096 - libcap version errors on newer Linux
	kernel.  Newer Linux kernels have a _LINUX_CAPABILITY_VERSION_2
	macro, and redefine the old _LINUX_CAPABILITY_VERSION macro.  To
	play better with such kernels, redefine the bundled libcap to use
	_LINUX_CAPABILITY_VERSION_1.

2008-08-06  castaglia <castaglia>

	* configure: Updated configure.

2008-08-06  castaglia <castaglia>

	* config.h.in, configure.in: Fix issue where configure script was
	detecting the presence of a linux/capability.h header, but was not
	defining the HAVE_LINUX_CAPABILITY_H macro in the config.h file.
	(It's a matter of using AC_CHECK_HEADERS vs AC_CHECK_HEADER; easy to
	miss, and insidious.)

2008-07-30  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3094 - Perform unidirectional SSL/TLS
	shutdown on data connections.

2008-07-17  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c: Bug#3036 - Quota information not
	persisted if session ends abruptly.

2008-07-17  castaglia <castaglia>

	* contrib/mod_quotatab.h: Remove stale and misleading comment;
	confstreams were an interesting idea, but will not be added.

2008-07-16  castaglia <castaglia>

	* doc/modules/mod_cap.html: Add a FAQ about the libcap1 warning
	(regarding 32-bit capabilities), and how to address the warning.

2008-06-19  castaglia <castaglia>

	* modules/mod_auth.c: Replace the specific "FTP login timed out"
	with the more generic "Session timed out".

2008-06-18  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#3077 - Transparently handle the
	X-variant commands when checking <Limit> permissions.

2008-06-17  castaglia <castaglia>

	* include/compat.h: Minor formatting change, no functional change.

2008-06-16  castaglia <castaglia>

	* src/main.c: If PR_DEVEL_COREDUMP support is enabled, then call
	abort() in the SIGABRT handler, rather than in the
	synchronously-handled handle_abort().  It works much better this
	way.

2008-06-16  castaglia <castaglia>

	* src/main.c: Always remove the scoreboard entry when handling a
	termination signal, not just when we receive SIGSEGV.

2008-06-16  castaglia <castaglia>

	* include/compat.h: Add comments noting when compat macros were
	added; these will be used for determining when the compat macros
	should be dropped.

2008-06-16  castaglia <castaglia>

	* contrib/mod_ban.c: Update to use newer PR_LOG_ macros.

2008-06-14  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c, include/dirtree.h, include/str.h,
	src/dirtree.c, src/str.c, tests/str.c: Refactor the pr_is_boolean()
	function into pr_str_is_boolean(), and place it in str.c with the
	other pr_str_*() functions.  Add an accompanying unit test.

2008-06-14  castaglia <castaglia>

	* tests/str.c: Add unit test for the pr_str_get_word() function.

2008-06-14  castaglia <castaglia>

	* include/dirtree.h, include/str.h, src/dirtree.c, src/str.c: 
	Refactor the pr_str_get_word() function from dirtree.c to str.c,
	along with the other pr_str_*() functions.

2008-06-14  castaglia <castaglia>

	* tests/modules.c, tests/tests.h: Fill in unit tests for the Module
	API functions.

2008-06-14  castaglia <castaglia>

	* src/modules.c: Clean up a few more style nits, and guard against
	bad arguments, in the Module API.

2008-06-13  castaglia <castaglia>

	* tests/modules.c: Add unit tests for the Stash API.

2008-06-13  castaglia <castaglia>

	* src/modules.c: Fix a few minor bugs and nits in the Stash API,
	discovered while writing unit tests for those functions.

2008-06-13  castaglia <castaglia>

	* tests/.cvsignore, tests/Makefile.in: Fix the dependency on the
	core proftpd object files in the Makefile.  Change the name of the
	testsuite executable to 'tests', as it is more accurate.

2008-06-13  castaglia <castaglia>

	* tests/tests.c: Add support for running check in nonforking mode,
	using the PR_TEST_NOFORK environment variable.  This makes tracking
	down of segfaults tickled by unit tests easier (I can use gdb now
	when they happen).

2008-06-13  castaglia <castaglia>

	* tests/Makefile.in, tests/modules.c, tests/stubs.c, tests/tests.c,
	tests/tests.h: Add stubs for units tests for the APIs (stash,
	module) in the modules.c source file.

2008-06-12  castaglia <castaglia>

	* contrib/mod_quotatab_ldap.c, contrib/mod_quotatab_radius.c,
	contrib/mod_quotatab_sql.c, contrib/mod_ratio.c,
	contrib/mod_wrap2_sql.c, include/compat.h, include/modules.h,
	modules/mod_core.c, modules/mod_site.c, src/auth.c, src/main.c,
	src/modules.c, src/parser.c: Since the call_module() function is
	used by contrib modules, it should be placed in the public API
	namespace.  Thus call_module() is now pr_module_call().  A macro
	redefining old code to use the new function has been added to
	compat.h.

2008-06-12  castaglia <castaglia>

	* tests/scoreboard.c: Fill in the remaining unit tests for the
	Scoreboard API.

2008-06-12  castaglia <castaglia>

	* src/scoreboard.c: Prevent errors in the scoreboard by preventing
	multiple entries from being added via pr_scoreboard_entry_add();
	only one entry at a time.  At the same time, make sure that
	pr_scoreboard_entry_del() only removes the active entry (if
	present).

2008-06-12  castaglia <castaglia>

	* contrib/mod_load/.cvsignore, contrib/mod_load/mod_load.c.in: Fix
	function definition.  Add more entries of autogenerated files, to be
	ignored by CVS.

2008-06-11  castaglia <castaglia>

	* tests/.cvsignore: More files to be ignored by CVS in the tests/
	directory.

2008-06-11  castaglia <castaglia>

	* tests/scoreboard.c: Fill in more of the unit tests for the
	Scoreboard API.

2008-06-11  castaglia <castaglia>

	* src/scoreboard.c: Fix some minor bugs found in the Scoreboard API
	while working on unit tests.

2008-06-10  castaglia <castaglia>

	* NEWS, doc/howto/Classes.html: Update the Classes howto to mention
	that "Satisfy all" is needed for Class definitions with multiple
	"not" rules.  Add Bug#3083 to NEWS.

2008-06-06  castaglia <castaglia>

	* src/scoreboard.c: Add better argument checking in
	pr_set_scoreboard().

2008-06-06  castaglia <castaglia>

	* tests/Makefile.in, tests/scoreboard.c, tests/stubs.c,
	tests/tests.c, tests/tests.h: Start writing unit tests for the
	Scoreboard API.

2008-06-06  castaglia <castaglia>

	* tests/sets.c: Avoid a compiler warning about a shadowed variable
	in the testsuite.

2008-06-05  castaglia <castaglia>

	* include/expr.h, src/expr.c, tests/expr.c: Fill in the Expression
	API unit tests, and fix the minor bugs in the API that were
	uncovered during the writing of the tests.

2008-06-05  castaglia <castaglia>

	* tests/stubs.c: Forgot to include these variables for unit tests.

2008-06-05  castaglia <castaglia>

	* tests/str.c: Add unit tests for the newly added functions to the
	String API.

2008-06-05  castaglia <castaglia>

	* Make.rules.in, contrib/mod_ifsession.c, include/conf.h,
	include/dirtree.h, include/expr.h, include/str.h,
	include/support.h, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_ident.c, modules/mod_xfer.c, src/auth.c, src/dirtree.c,
	src/expr.c, src/str.c, src/support.c: Refactoring work.  First, move
	the pr_expr_* functions into their own expr.c file.  Second, move
	some of the string-related functions from support.c into the str.c
	file.

2008-06-05  castaglia <castaglia>

	* src/throttle.c: Make sure to explicit require a TRUE return value
	from the pr_expr_* calls.

2008-06-05  castaglia <castaglia>

	* tests/Makefile.in, tests/expr.c, tests/regexp.c, tests/tests.c,
	tests/tests.h: Add unit tests for the Regexp API, and unit test
	stubs for the Expression API.

2008-06-05  castaglia <castaglia>

	* src/class.c, src/netacl.c: Bug#3083 - Multiple issues with
	handling of <Class> definitions.

2008-06-05  castaglia <castaglia>

	* tests/Makefile.in, tests/class.c, tests/netacl.c, tests/tests.c,
	tests/tests.h: Added unit tests for the NetACL and Class APIs.

2008-06-05  castaglia <castaglia>

	* doc/howto/Classes.html: Add more material to the Classes howto,
	covering the Satisfy directive and giving some examples.

2008-06-05  castaglia <castaglia>

	* tests/Makefile.in: Have different targets for creating the
	testsuite executable, versus running the testsuite executable.  It
	was getting tedious, having the testsuite executable re-linked every
	time I wanted to run a particular suite of tests.

2008-06-05  castaglia <castaglia>

	* src/netacl.c: When destroying the temporary pool in
	pr_netacl_match(), make sure we do it only when we're about to
	return from the function (and not before then).

2008-06-04  castaglia <castaglia>

	* src/netacl.c: Correct several nits in the NetACL API: free up the
	temporary pool that's allocated in pr_netacl_match(), make sure that
	pr_netacl_get_str() returns the same string for ALL/NONE ACLs,
	regardess of the casing of the ALL/NONE strings, clean up some of
	the string representations, etc.

2008-06-02  castaglia <castaglia>

	* NEWS, doc/howto/Tracing.html, src/trace.c: Bug#3082 - Use
	"DEFAULT" keyword instead of "ALL" for Trace directive.

2008-05-20  castaglia <castaglia>

	* contrib/mod_tls.c: Update mod_tls to properly enable FIPS mode
	(see Bug #3050) for both inetd and standalone modes.  The timing of
	when to call FIPS_mode_set() is a little tricky.

2008-05-17  castaglia <castaglia>

	* src/throttle.c: Make sure that the signal-handling functions (e.g.
	sigemptyset()) can be properly found on some platforms (e.g.
	Solaris).

2008-05-15  castaglia <castaglia>

	* modules/mod_core.c: Make sure that we honor the TimeoutIdle
	directive *before* authentication, as well as after.

2008-05-14  castaglia <castaglia>

	* include/auth.h, modules/mod_auth.c, src/auth.c: Move the functions
	which check /etc/ftpusers and /etc/shells out of the mod_auth
	module, and into the Auth API layer.  This makes it possible for
	other modules to use these checks when deciding to let users in.

2008-05-13  castaglia <castaglia>

	* include/table.h, src/main.c, src/table.c: Fix bug where proftpd
	could enter a recursive loop and eventually run out of stack memory.
	Turns out that if errno is EINTR when pr_signals_handle() was
	called, then pr_signals_handle() would call pr_trace_msg(), which
	would lead to a call to pr_signals_handle(), which would call
	pr_trace_msg(), etc etc.  To deal with this, the Table API now has an internal-use-only
	functionn, used by pr_signals_handle(), to indicate whether a signal
	is currently being handled or not.  If a signal is being handled,
	then the Table API code will not call pr_signals_handle().

2008-05-12  castaglia <castaglia>

	* modules/mod_dso.c: Work around compiler warnings about "nested
	extern declaration of lt_preloaded_symbols".  This was caused by the
	use of the LTDL_SET_PRELOADED_SYBMOLS libtool macro.  Instead, use
	the code to which the macro expands, and separate the code so that
	the declaration of the lt_preloaded_symbols is in the proper scope.

2008-05-12  castaglia <castaglia>

	* configure: Updated configure.

2008-05-12  castaglia <castaglia>

	* configure.in, modules/mod_dso.c: Make sure we use the libltdl
	shipped with proftpd, not the system libltdl.

2008-05-12  castaglia <castaglia>

	* modules/mod_xfer.c: Found more while loops without signal
	handling.  Tsk tsk.

2008-05-11  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c,
	src/main.c: Move the setting of the TimeoutIdle timer from
	src/main.c into mod_core.  The issue was that any vhost-specific
	TimeoutIdle timer was not being honored properly.  Another cause of
	this issue was that the handling of the PASS POST_CMD dispatch was
	faulty; the mod_auth and mod_xfer modules were both returning
	HANDLED for those POST_CMD handlers, which prevented other modules
	from receiving the dispatch.  Oops.

2008-05-11  castaglia <castaglia>

	* src/main.c: Make a lowercased version of the protocol name, in
	set_protocol_name(), for use in the WtmpLog entry.

2008-05-08  castaglia <castaglia>

	* modules/mod_core.c: As it turns out, the <Limit> section can
	handles commands for more than just FTP.

2008-05-08  castaglia <castaglia>

	* contrib/mod_load/mod_load.c.in: Mark a string used by mod_load as
	localisable.

2008-05-08  castaglia <castaglia>

	* include/support.h, src/main.c: Make it possible to change the
	protocol name used in some logging messages via a
	set_protocol_name() function.

2008-05-08  castaglia <castaglia>

	* src/main.c: Stylistic nits, no functional change.

2008-05-08  castaglia <castaglia>

	* src/main.c: Always have signal handling in while loops.

2008-05-07  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec: Bug#3076 - RPM build failing
	on 64 bit OS due to incomplete .spec.

2008-05-06  castaglia <castaglia>

	* include/response.h, src/response.c: Add new pr_response_block()
	API, for blocking the normal response chains from being sent to the
	client.  For use by modules which want to send their own data, as
	is, to clients.

2008-05-06  castaglia <castaglia>

	* doc/howto/Authentication.html: Typo.

2008-05-06  castaglia <castaglia>

	* configure: Updated configure.

2008-05-06  castaglia <castaglia>

	* config.h.in, configure.in, contrib/mod_site_misc.c,
	include/fsio.h, modules/mod_facts.c, src/fsio.c: Add two new FSIO
	API functions: pr_fsio_utimes() and pr_fsio_futimes().  These
	functions use the utimes(2) system call, which supercedes the old
	utime(2) system call.  Plus, this allows FSIO modules to provide
	their own implementations of these calls.  Update the mod_facts and mod_site_misc modules, which used utime(2)
	directly, to call these new FSIO APIs.

2008-05-06  castaglia <castaglia>

	* include/fsio.h, src/fsio.c: Add pr_fsio_fchmod() and
	pr_fsio_fchown() functions, for acting on already opened pr_fh_t
	objects rather than always requiring paths.

2008-05-06  castaglia <castaglia>

	* include/response.h, src/response.c: Add a new pr_response_clear()
	function, for clearing a response chain without having to flush that
	chain out to the client first.

2008-05-06  castaglia <castaglia>

	* src/main.c: If sending responses in pr_cmd_dispatch_phase(), be
	sure to flush the correct response chain.

2008-05-06  castaglia <castaglia>

	* Make.rules.in, include/conf.h, include/throttle.h,
	modules/mod_xfer.c, src/throttle.c: More refactoring.  This time,
	move the TransferRate handling out of mod_xfer and into a Throttle
	API.  Again, this is to expose this same functionality to other
	modules that may want throttling capabilities.

2008-05-06  castaglia <castaglia>

	* include/modules.h, src/main.c: Add a new function,
	pr_cmd_dispatch_phase().  This is very similar to pr_cmd_dispatch(),
	except that it allows callers to dispatch a cmd_rec to a specific
	phase of command handlers (e.g. LOG_CMD).  It also supports a flag
	for indicating whether the caller wishes the response chains to be
	flushed to the client.  This API allows modules to dispatch commands to specific handlers as
	needed.  Wondering about the utility?  Well, I have need for such a
	thing in my soon-to-be-released mod_sftp module for proftpd.

2008-05-06  castaglia <castaglia>

	* include/auth.h, modules/mod_auth.c, src/auth.c: Refactor the
	lockdown() function from mod_auth into the pr_auth_chroot()
	function, in the Auth API.  This makes it possible to reuse the same
	code from other modules.

2008-04-28  castaglia <castaglia>

	* NEWS, modules/mod_auth.c, modules/mod_log.c, src/dirtree.c,
	src/support.c: Bug#3073 - Command arguments not decoded properly in
	some places.

2008-04-26  castaglia <castaglia>

	* src/data.c: Apply the fix for Bug#3001 to a similar area of the
	code, this time in a non-Linux code path.

2008-04-25  castaglia <castaglia>

	* NEWS, locale/Makefile.in, locale/zh_CN.po: Adding Chinese
	translation.

2008-04-18  castaglia <castaglia>

	* configure: Updated configure.

2008-04-18  castaglia <castaglia>

	* configure.in: If the PR_USE_OPENSSL macro is defined, then the
	proftpd build would fail when linking the `proftpd' executable, due
	to an unresolved 'OPENSSL_cleanse' symbol.  There was a spot in the
	configure script which was not properly adding the OpenSSL libs to
	the library list.

2008-04-17  castaglia <castaglia>

	* NEWS: Had wrong bug number for IPv6-by-default change.

2008-04-17  castaglia <castaglia>

	* configure: Updating configure.

2008-04-17  castaglia <castaglia>

	* configure.in: Really fix Bug#2755 by making sure that IPv6 support
	is enabled by default.  Previously, it was only enabled *if* the
	--disable-ipv6 configure option was used -- not so helpful as a
	default.

2008-04-16  castaglia <castaglia>

	* NEWS: Forgot to mention the release date for 1.3.2rc1 in the NEWS
	file.

2008-04-16  castaglia <castaglia>

	* include/version.h: Update version for CVS.

2008-04-16  castaglia <castaglia>

	* Makefile.in: Clean up the locale/Makefile when handling the
	'distclean' target.

2008-04-16  castaglia <castaglia>

	* ChangeLog: Updating ChangeLog.

2008-04-16  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing to
	release 1.3.2rc1.

2008-04-16  castaglia <castaglia>

	* doc/howto/Tracing.html, src/main.c, src/trace.c: Remove the unused
	"l10n" trace channel, and add a "signal" trace channel.  Update the
	Tracing howto with these channel changes.  Use the "signal" channel,
	rather than debug logging, when logging about EINTR delaying.

2008-04-15  castaglia <castaglia>

	* contrib/ftpmail: Fix issue with handling of binary files as
	attachments.  Such attachments need to be base64-encoded, to protect
	them from CRLF translation/handling by Mail::Sendmail.

2008-04-15  castaglia <castaglia>

	* RELEASE_NOTES: Updating release notes.

2008-04-12  castaglia <castaglia>

	* modules/mod_lang.c: When scanning the LangPath for suitable
	languages, make sure that the languages are acceptable to
	setlocale(3), in addition to having a proftpd.mo file.

2008-04-10  castaglia <castaglia>

	* doc/howto/Limit.html: Mention that within <Limit> sections, limits
	are applied only based on names, not on IDs.

2008-04-09  castaglia <castaglia>

	* include/options.h: Make the default
	PR_TUNABLE_EINTR_RETRY_INTERVAL value be 0.2 secs, rather than 0, in
	order to prevent tightly-spinning EINTR retry loops.

2008-04-08  castaglia <castaglia>

	* locale/it_IT.po: Updated Italian translation.

2008-04-05  castaglia <castaglia>

	* locale/proftpd.pot: Fill in some descriptive details in the .pot
	file header.

2008-04-05  castaglia <castaglia>

	* configure: Updated configure.

2008-04-05  castaglia <castaglia>

	* configure.in: Yet another attempt to fix the writing of the
	PR_LOCALE_DIR string into config.h by the configure script (Bug
	#3066).

2008-04-05  castaglia <castaglia>

	* modules/mod_core.c: Don't set the UTF8 feature in mod_core; it's
	already handled by mod_lang.  Addresses Bug#3070.

2008-04-05  castaglia <castaglia>

	* modules/mod_lang.c: Missed one spot where the language needed to
	specified as "en_US" (to satiate setlocale(3)) instead of just "en".
	While I was at it, I made the fallback "en_US" string be a macro.

2008-04-05  castaglia <castaglia>

	* locale/Makefile.in: Add a `make check' target for the locale/
	directory, to run msgcmp on our .po files to see how out-of-date
	they might become.

2008-04-05  castaglia <castaglia>

	* locale/Makefile.in: Make sure that all .po files pass the msgfmt
	format check.

2008-04-05  castaglia <castaglia>

	* doc/modules/mod_lang.html, modules/mod_lang.c: Mention the
	requirement that the LangDefault language be listed in `locale -a'
	in the docs.  Change the default language from "en" to "en_US", as
	per the `locale -a' requirement.

2008-04-05  castaglia <castaglia>

	* locale/Makefile.in, locale/en_US.po, locale/it_IT.po: Turns out
	that setlocale(3) prefers the language tag to include the country
	code as well, hence "en_US" instead of just "en", "it_IT" instead of
	just "it", etc.  Picky, picky.

2008-04-05  castaglia <castaglia>

	* locale/proftpd.pot: Updated proftpd.pot to reflect changed line
	numbers.

2008-04-05  castaglia <castaglia>

	* modules/mod_lang.c: Add proper provisioning of the LANG FEAT, and
	handling of the LANG command.  Also addresses Bug#3067 with some
	explicit calls to bind_textdomain_codeset().

2008-04-04  castaglia <castaglia>

	* locale/proftpd.pot: Update proftpd.pot with the strings to be
	translated from mod_quotatab.

2008-04-04  castaglia <castaglia>

	* contrib/mod_quotatab.c: Tag a few more strings that need to be
	translated, when displaying quota limit/tallies to clients.

2008-04-04  castaglia <castaglia>

	* locale/Makefile.in: Add it.po (courtesy of Frankie) and en.po for
	default translations.

2008-04-04  castaglia <castaglia>

	* locale/Makefile.in, locale/files.txt, locale/proftpd.pot: Update
	the list of files to include contrib modules, and updated the .pot
	file accordingly.

2008-04-04  castaglia <castaglia>

	* contrib/mod_quotatab.c, contrib/mod_radius.c,
	contrib/mod_readme.c, contrib/mod_site_misc.c, contrib/mod_tls.c,
	contrib/mod_wrap2/mod_wrap2.c: Add tags for the response strings
	which need to be localised/translated in the contrib modules.

2008-04-04  castaglia <castaglia>

	* contrib/mod_wrap2/.cvsignore: More files to be ignored by CVS.

2008-04-04  castaglia <castaglia>

	* modules/mod_lang.c: Delay the call to setlocale() until the
	postparse event, after we have called bindtextdomain().

2008-04-04  castaglia <castaglia>

	* include/conf.h: Use dgettext() instead of gettext() when
	retrieving localised strings, so that we can explicitly specify the
	domain ("proftpd") to use.

2008-04-04  castaglia <castaglia>

	* locale/Makefile.in: When installing locale .mo files, actually do
	the installation into the proper directory structure.

2008-04-04  castaglia <castaglia>

	* modules/mod_lang.c: When requesting a locale change, it helps to
	actually use the locale provided by the caller.  Sheesh.

2008-04-04  castaglia <castaglia>

	* modules/mod_lang.c: Hook up handling of LangPath and LangDefault,
	and start trying to actually use the configured locale message
	catalogs.

2008-04-03  castaglia <castaglia>

	* configure: Updated configure.

2008-04-03  castaglia <castaglia>

	* configure.in: Fix the handling of the PR_LOCALE_DIR macro, so that
	it properly substitutes the variables.

2008-04-03  castaglia <castaglia>

	* locale/Makefile.in, locale/proftpd.pot: Provide a .pot file as a
	starting point for translators.

2008-04-03  castaglia <castaglia>

	* locale/Makefile.in: Older msginit versions do not support the
	--sort-by-file option.  Also, do not run msgfmt if msginit fails.

2008-04-03  castaglia <castaglia>

	* locale/.cvsignore: Ignore a few other generated files in the
	locale/ directory.

2008-04-03  castaglia <castaglia>

	* locale/files.txt: Update the list of files from which to extract
	strings via xgettext.

2008-04-03  castaglia <castaglia>

	* src/encode.c: Fix typo which breaks the solution for Bug#3064.

2008-04-03  castaglia <castaglia>

	* src/encode.c: Add a few more character sets to the list of those
	which override the value of the Telnet IAC value.

2008-04-03  castaglia <castaglia>

	* NEWS, include/encode.h, src/encode.c, src/netio.c: Bug#3064 -
	Better handling of 0xFF character for Cyrillic, non-UTF8 charsets.

2008-04-03  castaglia <castaglia>

	* modules/mod_lang.c: Bug#3063 - proftpd fails to start if LC_ALL
	environment variable is wrong.

2008-04-03  castaglia <castaglia>

	* NEWS: Bug#3056 - Support non-UTF8 encoding and character sets.

2008-04-03  castaglia <castaglia>

	* doc/howto/Tracing.html: The log channel name changed from "utf8"
	to "encode".

2008-04-03  castaglia <castaglia>

	* RELEASE_NOTES, doc/modules/mod_lang.html: Mention the new
	UseEncoding directive in the release notes, and add docs for
	UseEncoding to the mod_lang docs.

2008-04-03  castaglia <castaglia>

	* Make.rules.in, include/conf.h, include/encode.h, include/fsio.h,
	modules/mod_core.c, modules/mod_lang.c, src/encode.c, src/fsio.c,
	src/main.c, src/trace.c: Bug#3056 - Support non-UTF8 encoding and
	character sets.

2008-04-01  castaglia <castaglia>

	* doc/contrib/mod_quotatab.html, doc/howto/Quotas.html: Add more
	description of how mod_quotatab determines which group quota to use,
	when there are multiple applicable group quota to choose from (see
	Bug #3053).

2008-03-27  castaglia <castaglia>

	* src/scoreboard.c: In addition to logging the PID of the blocking
	lock owner, log the type of blocking lock (read/write).

2008-03-27  castaglia <castaglia>

	* src/scoreboard.c: If we're unable to get a read or write lock on
	the ScoreboardFile because some other process (e.g. ftptop) has a
	lock on it, look up the PID of that blocking lock owner, and log it.

2008-03-27  castaglia <castaglia>

	* contrib/mod_wrap2_sql.c: Replace some "magic numbers" with macros,
	and increase legibility.

2008-03-27  castaglia <castaglia>

	* contrib/mod_wrap2_sql.c: Make sure to allocate enough room for the
	SQL query names in the tab_data; the fact that this was working was
	highly dependent on the architecture and just dumb luck.

2008-03-27  castaglia <castaglia>

	* contrib/mod_wrap2_sql.c: Clear up a temporary pool before exiting
	early.

2008-03-27  castaglia <castaglia>

	* contrib/mod_wrap2/mod_wrap2.c: Quell compiler warning about
	partially-declared callback function signature.

2008-03-27  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab_sql.c: Bug#3061 - Segfault in
	mod_quotatab_sql if the SQL query returns NULL bytes/files values.

2008-03-27  castaglia <castaglia>

	* src/scoreboard.c: Further reduce possible race conditions when
	reading the scoreboard by NOT blocking signals while reading the
	scoreboard header.  If signals are blocked while entering a
	potentially endless loop, it's a very bad thing.

2008-03-26  castaglia <castaglia>

	* src/scoreboard.c: Add trace logging of scoreboard locking.

2008-03-26  castaglia <castaglia>

	* src/scoreboard.c, utils/scoreboard.c: Bug#3057 - ftptop can lock
	scoreboard, blocking proftpd.  Try not to lock as aggressively in
	ftptop.

2008-03-25  castaglia <castaglia>

	* NEWS, src/utf8.c: Bug#3059 - Wrong handling of UTF8 conversions.

2008-03-25  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#3058 - Handling of OPTS command
	results in badly set values in code.

2008-03-21  castaglia <castaglia>

	* tests/tests.c: Clarify that the tests.log file can be found in the
	tests/ directory.

2008-03-20  castaglia <castaglia>

	* src/netaddr.c: Unit tests caught regression where a NULL buffer
	was not being checked properly.  Yay unit testing!

2008-03-20  castaglia <castaglia>

	* .cvsignore: Ignore the generated proftpd.pc file.

2008-03-19  castaglia <castaglia>

	* contrib/mod_sql.c: When there is an unrecoverable SQL backend
	error, make sure to log this in the regular proftpd debug logs,
	along with a note prompting the admin to look in the SQLLogFile as
	well, as a reminder.

2008-03-19  castaglia <castaglia>

	* configure: Updated configure.

2008-03-19  castaglia <castaglia>

	* config.h.in, configure.in, modules/mod_auth_unix.c: Add autoconf
	support for checking for login.h and usersec.h; these headers are
	required for the AIX loginrestrictions() support in the
	mod_auth_unix module.

2008-03-17  castaglia <castaglia>

	* contrib/mod_tls.c: Protect some OCSP-specific code with checks
	against the OpenSSL version.

2008-03-17  castaglia <castaglia>

	* contrib/mod_tls.c: Make checking of the verification mechanism
	names (CRL, OCSP) case-insensitive.

2008-03-17  castaglia <castaglia>

	* RELEASE_NOTES: Be sure to mention TLSVerifyOrder in the release
	notes.

2008-03-17  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Add docs for the new TLSVerifyOrder
	directive.

2008-03-17  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#2840 - Online Certificate Status
	Protocol (OCSP) support.

2008-03-17  castaglia <castaglia>

	* contrib/mod_sql_odbc.c: Use the TOP clause when the driver name is
	"FreeTDS", or when the driver name contains "SQL Server".

2008-03-15  castaglia <castaglia>

	* include/inet.h, modules/mod_core.c, src/main.c: Add an API that
	allows a module to take full control of the command handling,
	including IO.  I'm working on a module which requires this ability.

2008-03-14  castaglia <castaglia>

	* contrib/mod_sql_odbc.c: Check for the FreeTDS driver; if so, use
	TOP instead of LIMIT.

2008-03-13  castaglia <castaglia>

	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Use pcalloc()
	rather than palloc() in the database backend modules.  Fix some
	inconsistent style while there.

2008-03-13  castaglia <castaglia>

	* contrib/mod_sql_odbc.c: Improve the error logging in mod_sql_odbc
	by calling the SQLGetDiagRec() function repeatedly, retrieving (and
	logging) all of the errors in the diag stack, not just the first
	error.

2008-03-13  castaglia <castaglia>

	* doc/contrib/mod_sql_odbc.html: Update instructions for configuring
	proftpd for using ODBC libraries.

2008-03-13  castaglia <castaglia>

	* contrib/mod_sql_odbc.c: When allocating the conn_t struct in
	mod_sql_odbc, be sure to use pcalloc(), so that the allocated memory
	is zeroed.  Also, add an sqlodbc_strerror() function, for displaying the string
	version of the SQLRETURN value returned by many of the ODBC
	functions.  Makes for slightly more legible logging.

2008-03-11  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c: Bug#3051 - mod_quotatab incorrectly
	reduces file count on rename.

2008-03-11  castaglia <castaglia>

	* configure: Updated configure.

2008-03-11  castaglia <castaglia>

	* RELEASE_NOTES: Mention the pkgconfig file.

2008-03-11  castaglia <castaglia>

	* Make.rules.in, Makefile.in, configure.in, lib/Makefile.in: When
	installing proftpd, be sure to install the libsupp library as well.  Also, supply a pkgconfig file (see
	http://pkgconfig.freedesktop.org/) for proftpd.  The generated
	proftpd.pc file is created during the `make install' step, and is
	installed into lib/pkgconfig/proftpd.pc.  These changes are for Bug #2991.

2008-03-08  castaglia <castaglia>

	* src/support.c: If we are linking with OpenSSL, and that OpenSSL is
	new enough, use its memory-cleansing function rather than our own.

2008-03-08  castaglia <castaglia>

	* contrib/mod_tls.c: If FIPS mode is requested, and the OpenSSL
	installation doesn't support FIPS, log a warning.

2008-03-08  castaglia <castaglia>

	* Makefile.in, NEWS, RELEASE_NOTES, contrib/mod_load/Makefile.in,
	contrib/mod_tls.c, contrib/mod_wrap2/Makefile.in,
	doc/howto/TLS.html, modules/Makefile.in, tests/Makefile.in: Bug#3050
	- Support use of OpenSSL in FIPS mode.

2008-03-06  castaglia <castaglia>

	* NEWS, RELEASE_NOTES: Add mention of ftpmail in the NEWS and in the
	release notes.

2008-03-06  castaglia <castaglia>

	* contrib/ftpmail, doc/contrib/ftpmail.html: Added ftpmail, a Perl
	script which reads a TransferLog FIFO and sends automatic email
	notifications for uploads.

2008-03-04  castaglia <castaglia>

	* doc/contrib/mod_ban.html: Update docs for the BanOnEvent
	directive.

2008-03-04  castaglia <castaglia>

	* NEWS, contrib/mod_ban.c: Bug#3047 - BanOnEvent should support
	optional ban message.

2008-03-03  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c: Bug#3045 - "QuotaOptions
	ScanOnLogin" does not work for 'class' or 'all' limits.

2008-03-03  castaglia <castaglia>

	* NEWS, contrib/mod_wrap2_file.c: Bug#3048 - mod_wrap2_file should
	support comma-delimited lists of clients.

2008-03-03  castaglia <castaglia>

	* modules/mod_core.c: Make the message about an AuthOrder module
	with no auth handlers a little more explicit.

2008-02-25  castaglia <castaglia>

	* src/inet.c: Forgot to remove the old pr_inet_validate() function
	from inet.c.

2008-02-24  castaglia <castaglia>

	* tests/Makefile.in, tests/netaddr.c, tests/stubs.c, tests/tests.c,
	tests/tests.h: Adding unit tests for the Netaddr API.  Note that
	some of the tests still need to be filled in.

2008-02-24  castaglia <castaglia>

	* src/netaddr.c: Fix minor bugs in the Netaddr API.

2008-02-24  castaglia <castaglia>

	* include/compat.h, include/inet.h, include/netaddr.h,
	src/ftpdctl.c, src/log.c, src/netaddr.c: Move the function for
	validating DNS strings from inet.c (pr_inet_validate) to netaddr.c
	(pr_netaddr_validate_dns_str).  Also remove the never-defined
	pr_inet_fqdn() function while I'm at it.

2008-02-24  castaglia <castaglia>

	* src/log.c: Set errno when appropriate, and catch a corner case
	where the caller might provide a null format string.

2008-02-20  castaglia <castaglia>

	* src/log.c: Log if ftruncate(3) fails.

2008-02-20  castaglia <castaglia>

	* modules/mod_delay.c: Add logging of when write() fails for the
	DelayTable, even for a single byte.  Also fix up some of the log
	messages where "warning" would be redundant (the message was already
	logged at the LOG_WARN level).

2008-02-20  castaglia <castaglia>

	* contrib/mod_ban.c: Make sure we provide a printf-like format
	string when necessary, rather than simply sending the intended
	string.  In this case, there is no way for a user to inject their
	own data into the message, but it's better to be paranoid.

2008-02-20  castaglia <castaglia>

	* src/fsio.c: Rather than relying on simple path comparison in
	pr_fs_copy_file(), for detecting when the source and destination
	files are the same, check for same path, same device, same inode,
	same size, and same mtime.

2008-02-20  castaglia <castaglia>

	* src/fsio.c: Make sure the pr_fs_copy_file() function properly
	handles NULL arguments, and detects when the source and destination
	paths are the same.

2008-02-19  castaglia <castaglia>

	* NEWS, modules/mod_delay.c: Bug#3044 - Segfault if mod_delay fails
	to load DelayTable.

2008-02-19  castaglia <castaglia>

	* tests/Makefile.in, tests/tests.c, tests/tests.h, tests/version.c: 
	Add unit tests for the new Version API functions.

2008-02-19  castaglia <castaglia>

	* Make.rules.in, include/version.h, src/version.c: Make it possible
	to get versions (number, string) at runtime, for runtime comparisons
	(e.g. by shared modules at load time).  These functions complement
	the existing buildtime version macros.

2008-02-18  castaglia <castaglia>

	* include/log.h: Use gcc's varargs checking for printf-like
	statements for the pr_log_auth() function.

2008-02-18  castaglia <castaglia>

	* tests/Makefile.in, tests/event.c, tests/tests.c, tests/tests.h: 
	Added unit tests for the Event API.

2008-02-18  castaglia <castaglia>

	* src/event.c: Event API bugfixes: Check for duplicate event
	handlers in pr_event_register().  Return ENOENT if the requested
	event was never registered, in pr_event_unregister().  Make sure the
	caller provides a dump function in pr_event_dump().

2008-02-18  castaglia <castaglia>

	* tests/Makefile.in, tests/feat.c, tests/tests.c, tests/tests.h: Add
	unit tests for the Feat API.

2008-02-18  castaglia <castaglia>

	* src/feat.c: Minor fixes, so that EPERM is returned (before
	EINVAL), if there are not features registered.  Also fix a bug where
	pr_feat_remove() would return ENOENT, even when the feature being
	removed had been registered; it was actually removed, but
	pr_feat_remove() was not doing the right thing.

2008-02-18  castaglia <castaglia>

	* tests/Makefile.in, tests/tests.c, tests/tests.h, tests/var.c: Add
	unit tests for the Var API.

2008-02-18  castaglia <castaglia>

	* include/var.h, src/var.c: Removed the duplicate pr_var_remove()
	function (pr_var_delete() did the same thing).  Fixed some cases
	where the functions would not behave properly if the Var API has not
	been initialized first, specifically pr_var_set().  Handle some bad
	arguments better.

2008-02-17  castaglia <castaglia>

	* tests/tests.c: Slightly more elegant way of iterating over all of
	the testsuites, without needing to use strcmp().

2008-02-17  castaglia <castaglia>

	* tests/Makefile.in, tests/table.c, tests/tests.c, tests/tests.h: 
	Add unit tests for the Table API.

2008-02-17  castaglia <castaglia>

	* src/table.c: Fix a few minor bugs related to checking for improper
	arguments.

2008-02-17  castaglia <castaglia>

	* doc/howto/Testing.html: Start of a doc that will describe
	ProFTPD's burgeoning testsuite, and how to use it.

2008-02-17  castaglia <castaglia>

	* tests/tests.c: Make it possible to specify the name of a single
	testsuite to run using the PR_TEST_SUITE environment variable.
	Makes it much easier when writing new testcases; now I don't have to
	run all previous testcases to get to the one I'm working on.

2008-02-17  castaglia <castaglia>

	* tests/tests.c: Emit a message to the user, asking them to send
	their tests.log and their configure info, whenever the testsuite
	fails for them.

2008-02-17  castaglia <castaglia>

	* tests/Makefile.in, tests/stubs.c, tests/tests.c, tests/tests.h,
	tests/timers.c: Adding unit tests for the Timers API.

2008-02-17  castaglia <castaglia>

	* src/timers.c: Fixing some issues found in the Timers API by unit
	testing.  Handle some null arguments better, and handle the case
	where there may be no registered timers when pr_timer_reset() is
	called.  Fixed up style in a few places.

2008-02-17  castaglia <castaglia>

	* tests/Makefile.in, tests/sets.c, tests/tests.c, tests/tests.h: 
	Adding unit tests for the Sets API.

2008-02-17  castaglia <castaglia>

	* include/sets.h, src/sets.c: Cleanup of the Sets API.  Removed the
	unused xaset_union() and xaset_subtract() functions.  Clean up the
	style/formatting of the sets.c file.  Make sure that the functions
	can properly handle NULL/bad arguments.  Have them return -1 on
	error, not zero on error.

2008-02-16  castaglia <castaglia>

	* Makefile.in: If --enable-tests has not been used, the
	tests/Makefile will not have been created.  Thus do not try to use
	this Makefile for the 'make clean' target unless --enable-tests has
	been used.

2008-02-16  castaglia <castaglia>

	* tests/str.c: Fill in the unit test for the sstrncpy() function.

2008-02-16  castaglia <castaglia>

	* tests/.cvsignore, tests/array.c, tests/env.c, tests/str.c,
	tests/tests.c: Capture testsuite output in `tests.log' file.  Make
	sure this file is ignored by CVS.  Use fixtures for the very common
	task of allocating and destroying the pool used by tests.

2008-02-16  castaglia <castaglia>

	* doc/contrib/mod_quotatab.html: Properly close the line item.

2008-02-16  castaglia <castaglia>

	* doc/contrib/mod_quotatab.html: Mention that mod_quotatab's
	ScanOnLogin behavior only kicks in if the quota limit for the user
	includes non-zero bytes-in or files-in.

2008-02-15  castaglia <castaglia>

	* doc/howto/CreateHome.html: Start a FAQ for CreateHome questions.

2008-02-14  castaglia <castaglia>

	* doc/howto/CreateHome.html: List the uid and gid parameters of
	CreateHome, and talk about them a little.

2008-02-14  castaglia <castaglia>

	* doc/howto/TLS.html: Add TLS FAQ on removing cert key passphrases.

2008-02-14  castaglia <castaglia>

	* contrib/mod_sql.c: Add logging of when mod_sql decides to use the
	SQLDefaultUID and/or SQLDefaultGID because the uid/gid falls below
	the SQLMinUserUID and/or SQLMinUserGID.

2008-02-13  castaglia <castaglia>

	* tests/.cvsignore: Ignore generated files.

2008-02-13  castaglia <castaglia>

	* configure: Updated configure.

2008-02-13  castaglia <castaglia>

	* config.h.in, configure.in: Update the autoconf support to define a
	PR_USE_TESTS macro, when testsuite support is enabled.  Some of the
	proftpd macro definitions will change when PR_USE_TESTS is true, to
	better support unit testing.

2008-02-13  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, modules/mod_cap.c: Bug#2000 -
	mod_cap should not use bundled libcap.  Updated autoconf to check
	for a system libcap, and to make proftpd NOT build and use the
	bundled libcap if a system libcap is present.

2008-02-13  castaglia <castaglia>

	* tests/str.c: Fill in the unit tests for more of the string
	manipulation functions.

2008-02-13  castaglia <castaglia>

	* src/str.c: Fix up the indentation/style in sreplace().  Guard
	against null/bad arguments.

2008-02-13  castaglia <castaglia>

	* tests/Makefile.in, tests/env.c, tests/tests.c, tests/tests.h: Add
	unit tests for the Env API.

2008-02-13  castaglia <castaglia>

	* include/pool.h, src/pool.c: Guard against bad/null inputs in the
	Array API, and change the signature to prevent negative counts and
	sizes (which would make no sense).

2008-02-13  castaglia <castaglia>

	* tests/Makefile.in, tests/array.c, tests/tests.c, tests/tests.h: 
	Adding unit tests for the Array API.

2008-02-13  castaglia <castaglia>

	* src/str.c: Guard against NULL arguments in sreplace().

2008-02-12  castaglia <castaglia>

	* configure: Updated configure.

2008-02-12  castaglia <castaglia>

	* configure.in: Try to describe the --enable-devel option such that
	packagers won't use it.

2008-02-11  castaglia <castaglia>

	* configure: Updated configure.

2008-02-11  castaglia <castaglia>

	* Make.rules.in, Makefile.in, config.h.in, configure.in: Added
	support for the --enable-tests configure option, autoconf checking
	for the `check' package, and support for a `make check' option.

2008-02-11  castaglia <castaglia>

	* tests/Makefile.in, tests/pool.c, tests/str.c, tests/stubs.c,
	tests/tests.c, tests/tests.h: Start of a testsuite for proftpd.
	Uses the 'check' package; see   http://check.sourceforge.net/ To enable, compile proftpd using --enable-tests.  Then run `make
	check' before installing.  Expect to see a lot of activity here, as proftpd gets the testsuite
	its desperately needed for years.

2008-02-11  castaglia <castaglia>

	* Make.rules.in, include/conf.h, include/pool.h, include/str.h,
	include/support.h, src/ftpdctl.c, src/pool.c, src/str.c,
	src/support.c: Moving some functions out of pool.c and support.c
	into a new str.c object.  This is some necessary refactoring.  "Why
	is it necessary?" you ask.  Good question.  Because I'm about to add
	some testsuite support to proftpd, and writing those unit tests
	required some basic, long-overdue code refactoring.

2008-02-10  castaglia <castaglia>

	* contrib/mod_ban.c, contrib/mod_ctrls_admin.c: Updated mod_ban and
	mod_ctrls_admin to use the re-named scoreboard entry reading
	function.

2008-02-10  castaglia <castaglia>

	* include/compat.h, include/scoreboard.h, modules/mod_auth.c,
	modules/mod_core.c, modules/mod_xfer.c, src/data.c, src/main.c,
	src/scoreboard.c, utils/ftpcount.c, utils/ftptop.c, utils/ftpwho.c,
	utils/scoreboard.c, utils/utils.h: Added a new
	pr_scoreboard_entry_get() function, and renamed some of the other
	scoreboard entry functions to match the naming convention.  This
	also meant adding some compatibility macros in compat.h for other
	modules, for now.  Also updated ftpwho and ftptop to properly display uploading,
	downloading, and listing commands (including handling the MLST and
	MLSD commands properly).  This work fell out of handling the case where dispatched commands on
	the control channel, while a data transfer is occurring, can change
	the scoreboard fields and thus cause erroneous/confusing output in
	ftpwho and ftptop.

2008-02-10  castaglia <castaglia>

	* include/proctitle.h, src/data.c, src/proctitle.c: Be sure to
	restore the previous process title after handling a command from the
	control channel whilst handling a data transfer.

2008-01-30  castaglia <castaglia>

	* include/response.h, src/data.c, src/main.c, src/response.c: Now
	that proftpd can handle commands on the control channel whilst doing
	a data transfer, it needs to be more careful of the memory pool used
	by the Response API.  Specifically, we don't want to lose the memory
	pool from the data-transferring command while handling the command
	from the the control channel.  Also, make sure that proftpd rejects any data transfer command from
	the control channel if we're already doing a data transfer.  The
	amount of re-plumbing that would be needed to support kicking off
	multiple simultaneous data transfers is quite a lot; FTP clients
	already work around this by establishing multiple simultaneous
	separate sessions.

2008-01-28  castaglia <castaglia>

	* contrib/mod_ifsession.c: Use the session.pool, rather than
	main_server->pool, for merging in configurations in mod_ifsession.
	The session.pool is assigned as part of setting up a connection; the
	latter memory pool is not.

2008-01-25  castaglia <castaglia>

	* contrib/mod_wrap.c: Quell some compiler warnings in mod_wrap.

2008-01-25  castaglia <castaglia>

	* src/proctitle.c: Silence a compiler warning about unused variables
	when PR_DEVEL_STACK_TRACE is defined.

2008-01-24  castaglia <castaglia>

	* src/netacl.c: Fix issue when trying to stringify an IP mask ACL;
	pstrcat() was being called with a number, not a string, as an
	argument.

2008-01-23  castaglia <castaglia>

	* src/netio.c: Hmm.  Maybe some of the lingering close changes I
	made yesterday weren't the best.  So, for now, pare it back to
	logging about any read data received during a lingering close.

2008-01-23  castaglia <castaglia>

	* src/netio.c: When performing a lingering close, the select() call
	actually return because there was data to be read on the socket
	being closed.  If that is the case, log the presence of that data
	using Tracing, and continue the lingering.  (Otherwise, such data will cause a premature lingering, which is not
	really what we want either.)

2008-01-21  castaglia <castaglia>

	* src/main.c: Remove some tabs; no functional change.

2008-01-21  castaglia <castaglia>

	* RELEASE_NOTES: Mention the inclusion of IPv6 support in the
	default build.

2008-01-21  castaglia <castaglia>

	* README.IPv6: Updated the IPv6 README.

2008-01-21  castaglia <castaglia>

	* configure: Updated configure.

2008-01-21  castaglia <castaglia>

	* NEWS, configure.in, sample-configurations/basic.conf: Bug#2577 -
	IPv6 support should be enabled by default.

2008-01-18  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c: Bug#3034 - Rewritten command
	parameters need to be set in multiple places.

2008-01-18  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: Silence compiler warning about unused
	variable.

2008-01-18  castaglia <castaglia>

	* NEWS, include/netacl.h, src/class.c, src/netacl.c: Bug#3033 -
	Class rules not honoring '!' negation character.

2008-01-18  castaglia <castaglia>

	* src/main.c: Make sure that the handling of any <Limit LOGIN>
	sections happens after the class of the session has been determined.
	Otherwise, any AllowClass/DenyClass directives within the <Limit>
	section will not be handled properly.

2008-01-17  castaglia <castaglia>

	* modules/mod_facts.c: Fix some issues with the formatting of
	entries for the MLST and MLSD responses.  MLST entries require a
	leading space, as per RFC -- but MLSD entries do not.  (Also add a
	missing newline character in the entries.) The data connection cleanup handler appeared not to be necessary;
	the MLSD command handler appears to be closing the connection
	itself, so no need for a cleanup POST_CMD/POST_CMD_ERR handler for
	that.

2008-01-17  castaglia <castaglia>

	* NEWS, src/netaddr.c: Bug#3031 - IPv4-mapped IPv6 connections not
	matched properly against IPv4 glob ACLs.

2008-01-16  castaglia <castaglia>

	* modules/mod_facts.c: The mod_facts module was not properly
	returning a type of "cdir" if the listed path was indeed the current
	directory.

2008-01-16  castaglia <castaglia>

	* src/main.c: Handle the case where the admin might define the
	tunable EINTR retry interval to be less than a second, e.g.:   ./configure CFLAGS=-DPR_TUNABLE_EINTR_RETRY_INTERVAL=0.5 ...  In the code which handles that value, break the defined value into
	usecs, and Do The Right Thing(tm).  The previous code simply assumed
	that the defined value would be in seconds.  The issue would only be
	noticed if compiler warnings were enabled and scanned; for example:   main.c:1527: warning: unsigned int format, double arg (arg 3)

2008-01-15  castaglia <castaglia>

	* doc/howto/Logging.html: Add more substance to the note about not
	logging to world-writable directories (i.e. mention that proftpd
	will NOT do this).

2008-01-15  castaglia <castaglia>

	* NEWS, include/modules.h, include/netio.h, src/data.c, src/main.c,
	src/netio.c: Bug#2999 - Data transfer not aborted when control
	connection is closed.  This patch adds polling of the control connection while transferring
	data on the data connection.  Commands sent on the control
	connection will be dispatched (thus delaying the data transfer);
	this allows handling of commands like ABOR during data transfer.  If
	the control connection closes during the data transfer, the data
	transfer is aborted.  Hopefully this will address quite a few issues
	related to aborting data transfers.

2008-01-15  castaglia <castaglia>

	* contrib/mod_ratio.c: Silence some compiler warnings about
	uninitialized variables.

2008-01-15  castaglia <castaglia>

	* src/data.c: Found a few more places where text needs to be marked
	for localisation.

2008-01-14  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Update TLSLog description to note
	requirement about parent directory permissions.

2008-01-14  castaglia <castaglia>

	* include/ftp.h, modules/mod_facts.c: Add definitions of the MLSD,
	MLST commands to ftp.h.

2008-01-12  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c: Bug#3027 - Unmatched backreferences
	are not handled properly in RewriteRules.

2008-01-12  castaglia <castaglia>

	* contrib/mod_rewrite.c: Additional changes needed for the full fix
	for Bug #3026.

2008-01-12  castaglia <castaglia>

	* configure: Updated configure.

2008-01-12  castaglia <castaglia>

	* configure.in: Copy-n-paste error in configure.in added erroneous
	line break.

2008-01-12  castaglia <castaglia>

	* modules/mod_xfer.c: The PRIO_MIN and PRIO_MAX macros may not be
	defined on some platforms (e.g.  Solaris 9), so define suitable
	values in such cases.

2008-01-12  castaglia <castaglia>

	* configure: Updated configure.

2008-01-12  castaglia <castaglia>

	* configure.in: Avoid an autoconf warning when checking for
	<security/pam_modules.h> by including <security/pam_appl.h>, if
	detected.  Without this, the configure script would throw an ugly
	warning (e.g. on Solaris 9) about not being able to compile
	<security/pam_modules.h>.

2008-01-11  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c: Bug#3026 - RewriteCondition does not
	negate -d -f -s tests.

2008-01-11  castaglia <castaglia>

	* contrib/mod_sql.c: Fix off-by-one error in mod_sql, which only
	cropped up in the case where a) a custom SQLUserInfo query was used, and b) that query neglected
	to provide a shell value.  This would lead to a segfault.

2008-01-10  castaglia <castaglia>

	* contrib/mod_ifsession.c: Add signal handling to mod_ifsession's
	while loops, as proper.  Some style cleanup.  Bump the mod_ifsession
	version number to 1.0; there have been few bugs reported with this
	module, showing that it's stable.

2008-01-10  castaglia <castaglia>

	* contrib/mod_sql.c: Remove the mod_sql code which used to support
	the (deprecated and removed) SQLHomedirOnDemand feature.

2008-01-10  castaglia <castaglia>

	* configure: Updated configure.

2008-01-10  castaglia <castaglia>

	* configure.in: Remove $0 from the PR_BUILD_OPTS; the
	$ac_configure_args variable already contains the string "configure",
	thus using $0 is redundant.

2008-01-09  castaglia <castaglia>

	* modules/mod_log.c: Copy the improvements in mod_sql for handling
	of certain SQLNamedQuery variables (Bug#2889, Bug#3025) into
	mod_log, so that ExtendedLogs benefit from the improvements as well.

2008-01-09  castaglia <castaglia>

	* contrib/mod_sql.c: Expand %F in SQLNamedQuery, for DELE, using
	dir_best_path(), rather than simply logging the name of the file as
	sent by the client.  (Do the same for %F and RNTO as well.)

2008-01-09  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#3025 - Using %b in a SQLNamedQuery
	does not properly log the file size for DELE.

2008-01-09  castaglia <castaglia>

	* contrib/mod_sql_odbc.c: Removed "IMHO" from comment describing
	Oracle library bug; it's been confirmed by Oracle.

2008-01-09  castaglia <castaglia>

	* contrib/mod_quotatab.c: If the DELE command fails, make sure to
	still clear the cached file size by registerting a POST_CMD_ERR
	handler.  And in the PRE_CMD handler for DELE, be sure to a) UTF8 decode any
	path the client might be sending, and b) be sure to cache the size
	of the symlink file, not the pointed-to file, if the file being
	deleted is indeed a symlink.

2008-01-09  castaglia <castaglia>

	* modules/mod_core.c: Explicit cast to avoid compiler warning.

2008-01-08  castaglia <castaglia>

	* modules/mod_core.c: If multiple addresses are given using the
	DefaultAddress directive, make sure the log message emitted reflects
	this, otherwise it can be confusing (see Bug#3024).

2008-01-08  castaglia <castaglia>

	* contrib/mod_sql_odbc.c: Work around an Oracle library bug in
	mod_sql_odbc, rather than in the core proftpd code, by using square
	brackets instead of parentheses in the process title.  More details
	on the issue can be found as comments in the mod_sql_odbc code.

2008-01-08  castaglia <castaglia>

	* src/main.c: Revert back to using parentheses in the process title;
	the Oracle bug workaround can be done, I think, from mod_sql_odbc
	rather than from the core code.

2008-01-08  castaglia <castaglia>

	* src/main.c: Change the name to which the process title is set when
	the daemon process is waiting to accept connections.  It's a hack, a
	workaround of an Oracle library bug.  Yuck.

2008-01-08  castaglia <castaglia>

	* README.modules, RELEASE_NOTES: Mention the new database backend
	modules: mod_sql_odbc and mod_sql_sqlite.

2008-01-08  castaglia <castaglia>

	* doc/contrib/mod_sql_odbc.html: Update the installation
	instructions for mod_sql_odbc; they are slightly different, and no
	longer require the use of an extra configure script.

2008-01-08  castaglia <castaglia>

	* contrib/mod_sql_sqlite.c: Turns out there's no need to guard the
	definition and registration of an event handler for the
	'core.module-unload' event; none of the other mod_sql backend
	modules have guards for their module-unload event handlers.

2008-01-08  castaglia <castaglia>

	* NEWS, contrib/mod_sql_odbc.c, doc/contrib/mod_sql_odbc.html: Add
	the mod_sql_odbc module to the contrib area.

2008-01-08  castaglia <castaglia>

	* configure: Updated configure.

2008-01-08  castaglia <castaglia>

	* configure.in: When checking for module-specific header files (and
	then creating symlinks to those header files into the include/
	area), test for existence of a file, rather than requiring both that
	the path exist AND be a regular file.  The difference is that a
	simple existence check allows for the header files to themselves be
	symlinks (for whatever reason).

2008-01-08  castaglia <castaglia>

	* contrib/mod_sql_sqlite.c, doc/contrib/mod_sql_sqlite.html: Make
	sure that mod_sql_sqlite acts properly when built as a shared
	module.  Update docs to mention the SQLBackend name provided by
	mod_sql_sqlite.

2008-01-08  castaglia <castaglia>

	* NEWS, contrib/mod_sql_sqlite.c, doc/contrib/mod_sql_sqlite.html: 
	Add the mod_sql_sqlite module to the contrib area.

2008-01-08  castaglia <castaglia>

	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Typo.

2008-01-08  castaglia <castaglia>

	* configure: Updated configure.

2008-01-08  castaglia <castaglia>

	* configure.in: Decided I do not need the leading '$' character in
	the configure invocation string, for I am capricious that way.

2008-01-08  castaglia <castaglia>

	* configure.in: I don't know why, but on this Ubuntu box, the
	configure arguments were not being properly written out to the
	generated config.h file.  I had to poke around a bit with the
	autoconf variables, but finally found a magic incantation to make it
	work.  Of course, this means it will probably stop working on some other
	platform; will check once this change propagates to the anon CVS
	server.

2008-01-07  castaglia <castaglia>

	* configure: Update configure.

2008-01-07  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Make clearer the distinction between
	Unix domain sockets and TCP sockets when discussing chroot() and its
	effects on database connection re-opening.  Remove any mention of long-deprecated directives; they will only
	serve to confuse people at this point in time.

2008-01-07  castaglia <castaglia>

	* NEWS, contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: 
	Bug#3022 - Timed SQL connections don't reconnect to database.

2008-01-05  castaglia <castaglia>

	* README.modules: Update README.modules to mention the new modules.

2008-01-05  castaglia <castaglia>

	* configure.in: Fix issue with configure script where the
	command-line options were not being properly captured (before being
	processed to find the system name), and thus not being preserved for
	-V output.  Also remove any occurrence of "your" in the configure
	output.

2008-01-05  castaglia <castaglia>

	* modules/mod_auth.c: There is no longer a need to stash the current
	class name in the config tree using the "CURRENT-CLASS" key; the
	current class information is available via the session.class
	pointer.

2008-01-05  castaglia <castaglia>

	* contrib/mod_sql.c: Remove the unused add_virtualbool() function.

2008-01-05  castaglia <castaglia>

	* Make.rules.in: Yet another place where we need to teach proftpd
	not to build the ident code as part of the core engine anymore.

2008-01-05  castaglia <castaglia>

	* include/conf.h: Delete the now unused core ident lookup code; this
	functionality has been moved to the mod_ident module, as per
	Bug#2453.

2008-01-05  castaglia <castaglia>

	* src/xferlog.c: Forgot to check in the changes for this file,
	relating to Bug#2453.  Without these, the build fails.

2008-01-05  castaglia <castaglia>

	* contrib/mod_ban.c, contrib/mod_wrap.c, modules/mod_auth.c: Fix a
	few more places where text needs to be localised.

2008-01-05  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#3023 - Allow uploading to /dev/null.

2008-01-05  castaglia <castaglia>

	* configure: Updated configure.

2008-01-05  castaglia <castaglia>

	* RELEASE_NOTES, doc/modules/mod_ident.html: Update documentation
	for the new mod_ident module.

2008-01-05  castaglia <castaglia>

	* NEWS, configure.in, contrib/mod_sql.c,
	contrib/mod_wrap2/mod_wrap2.c, include/proftpd.h,
	modules/mod_ident.c, modules/mod_log.c, src/display.c, src/main.c: 
	Bug#2453 - Separate RFC1413 code into mod_ident module.

2008-01-05  castaglia <castaglia>

	* src/table.c: Calling pr_table_add_dup() and supplying a
	zero-length value data size should Do The Right Thing(tm) by
	treating the value as a string, and automatically calculating the
	string length, just as pr_table_add() does.

2008-01-04  castaglia <castaglia>

	* configure: Updated configure.  (Upgraded to autoconf-2.61 as
	well.)

2008-01-04  castaglia <castaglia>

	* Make.rules.in, config.h.in, configure.in, contrib/mod_tls.c,
	include/conf.h, modules/mod_core.c, src/main.c: Add an autoconf
	check for the sys/resource.h header file; this is the file which, on
	BSD, defines the getpriority(2) and setpriority(2) functions.  This
	should help the current proftpd sources in CVS to compile properly
	on FreeBSD.

2008-01-04  castaglia <castaglia>

	* modules/mod_auth_unix.c: Fix compiler warning about using the
	wrong datatype when calling getgrouplist(2).

2008-01-04  castaglia <castaglia>

	* src/dirtree.c: Use socklen_t, not int, for getsockopt(2) calls.

2008-01-03  castaglia <castaglia>

	* configure: Updated configure.

2008-01-03  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, modules/mod_auth_unix.c: Bug#1896
	- Check AIX account status.

2008-01-03  castaglia <castaglia>

	* NEWS, contrib/mod_ratio.c: Bug#1973 - mod_ratio uses the too-small
	int datatype for tracking bytes.

2008-01-03  castaglia <castaglia>

	* NEWS, contrib/mod_ratio.c: Bug#1771 - mod_ratio compile warnings.  Add better formatting, error checking, function definition, etc.

2008-01-03  castaglia <castaglia>

	* utils/ftpcount.c, utils/ftpwho.c, utils/misc.c,
	utils/scoreboard.c, utils/utils.h: Clean up some unused function
	prototypes in the utils code, and consolidate all of the utils to
	use the same sstrncpy() implementation.

2008-01-03  castaglia <castaglia>

	* modules/mod_facts.c: Fix printf(3) format warning in mod_facts.

2008-01-03  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#3020 - Server replies to NLST with 450
	at the wrong time.  Only open a data connection, when handling NLST,
	when we know that we will most likely be sending some data.

2008-01-02  castaglia <castaglia>

	* RELEASE_NOTES: Mention the new TransferPriority directive.

2008-01-02  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2731 - Add ability to set process
	priority for file transfers.

2008-01-02  castaglia <castaglia>

	* modules/mod_xfer.c: Need to add the name of the timer added, as
	per the changed Timer API.

2008-01-02  castaglia <castaglia>

	* configure: Updated configure.

2008-01-02  castaglia <castaglia>

	* configure.in: Missing quotation mark broke the configure script.

2008-01-02  castaglia <castaglia>

	* contrib/mod_tls.c: Pay attention to the TLSRandomSeed file, if
	configured, and log whenever mod_tls does not have sufficient PRNG
	seed data (as per the RAND_status() OpenSSL API).

2008-01-02  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#2889 - Update SQLLog so that RNTO
	stores the path when using the %F variable.

2008-01-02  castaglia <castaglia>

	* NEWS, modules/mod_auth.c, src/auth.c: Bug#2997 - Uploading files
	with "~" causes harmless but annoying log message.

2008-01-01  jwm <jwm>

	* contrib/mod_ldap.c: happy new year

2008-01-01  jwm <jwm>

	* contrib/mod_ldap.c: release v2.8.18: * Remove all local caching code in favor of the recently added
	  caching in the ProFTPD Auth layer.  * Silence some compiler warnings.

2007-12-31  castaglia <castaglia>

	* include/proftpd.h, modules/mod_auth.c, modules/mod_xfer.c,
	src/data.c, src/main.c: Move the TIMER_ macros into the PR_
	namespace, for cleanliness.

2007-12-31  castaglia <castaglia>

	* NEWS, include/data.h, include/dirtree.h, modules/mod_core.c,
	modules/mod_xfer.c, src/data.c, src/dirtree.c, src/main.c: Bug#2741
	- Apply TimeoutNoTransfer, TimeoutStalled, TimeoutIdle to
	<Anonymous> section.

2007-12-31  castaglia <castaglia>

	* RELEASE_NOTES, doc/modules/mod_auth_pam.html: Updated
	documentation.

2007-12-31  castaglia <castaglia>

	* NEWS, modules/mod_auth_pam.c: Bug#3014 - Optionally set PAM_TTY
	item when using PAM.

2007-12-31  castaglia <castaglia>

	* doc/rfc/rfc2640.txt: Add RFC2640 to the docs collection.

2007-12-31  castaglia <castaglia>

	* configure: Updated configure.

2007-12-31  castaglia <castaglia>

	* modules/mod_facts.c: No need to include the URLs to the RFC and
	Draft implemented by this module; they are in the mod_facts module
	documentation now.

2007-12-31  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, include/dirtree.h,
	include/options.h, modules/mod_xfer.c, src/data.c, src/dirtree.c,
	src/main.c: Bug#2874 - Data transfer buffers should be allocated at
	startup, not at compile time.

2007-12-31  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#3003 - Fallback to normal
	transmission in case of sendfile EOVERFLOW error missing.

2007-12-31  castaglia <castaglia>

	* RELEASE_NOTES: Updating the release notes.

2007-12-31  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#2894 - Mark the AnonymousGroup
	directive as deprecated, to be removed in a future release.

2007-12-31  castaglia <castaglia>

	* doc/modules/mod_facts.html: Adding documentation (though brief)
	for the new mod_facts module.

2007-12-31  castaglia <castaglia>

	* doc/rfc/draft-somers-ftp-mfxx-03.txt, doc/rfc/rfc3659.txt: Adding
	RFC3659 (which supercedes an Internet Draft on MLST), and adding an
	Internet Draft defining the MFF and MFMT commands.

2007-12-31  castaglia <castaglia>

	* configure: Updated configure.

2007-12-31  castaglia <castaglia>

	* NEWS, configure.in, modules/mod_facts.c: Bug#3015 - Support for
	RFC3659.  The mod_facts module is now part of the default proftpd
	build, providing the MLSD, MLST commands from RFC3659 as well as the
	MFF and MFMT commands from an Internet Draft.

2007-12-31  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#3019 - DisplayLogin in <Anonymous>
	section not displayed properly.

2007-12-22  castaglia <castaglia>

	* modules/mod_lang.c: Pedantic correction of indentation, so that it
	is consistent with the style of the rest of the file.

2007-12-22  castaglia <castaglia>

	* src/inet.c: Enable the SO_KEEPALIVE option on sockets used by
	proftpd.  This will enable the TCP keepalive messages which help to
	determine if the peer host (as opposed to the peer program) have
	crashed.

2007-12-18  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#3013 - "TLSOptions AllowPerUser" not
	working as expected.

2007-12-18  castaglia <castaglia>

	* modules/mod_site.c: Typo.

2007-12-18  castaglia <castaglia>

	* modules/mod_auth.c: Make sure to localise strings sent via
	pr_response_send().

2007-12-15  castaglia <castaglia>

	* modules/mod_core.c: Update the comments for the MDTM handler,
	noting that it is an official command as per RFC3659.  Also make
	sure to initialize the entire buffer used to construct the response
	timestamp.

2007-12-12  castaglia <castaglia>

	* NEWS, contrib/mod_site_misc.c, doc/contrib/mod_site_misc.html: 
	Bug#3012 - SITE UTIME should support YYYYMMDDhhmmss format.

2007-12-10  castaglia <castaglia>

	* contrib/mod_tls.c: Bug#3011: "TLSRequired !data" configuration
	does not allow PROT C.  If the TLSRequired directive policy does not explicitly require
	SSL/TLS protection on the data channel, then allow any PROT C
	requests from clients.

2007-11-16  castaglia <castaglia>

	* NEWS, src/data.c: Bug#3001 - Incomplete downloads not logged
	properly in TransferLog if sendfile is used.

2007-11-16  castaglia <castaglia>

	* contrib/mod_site_misc.c: Thomas L. Shinnick rightly pointed out
	the bugs involved here, when using <Limit> configurations for the
	SITE commands provided by the mod_site_misc module.

2007-11-15  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c: Bug#3006 - 'ScanOnLogin' QuotaOption
	may try to update a nonexistent tally record.

2007-11-15  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c: Bug#3004 - 'ScanOnLogin' QuotaOption
	does not honor QuotaDirectoryTally directive.

2007-11-15  castaglia <castaglia>

	* src/main.c: Use REG_RIP for 64-bit machines, rather than REG_EIP,
	if the 'stacktrace' --enable-devel configure option is used.

2007-11-15  castaglia <castaglia>

	* NEWS, src/data.c, src/netio.c: Bug#3005 - OOB abort closes the
	control connection.

2007-10-26  castaglia <castaglia>

	* doc/modules/mod_lang.html: Update the LangEngine docs to mention
	that that is the directive which governs the appearance of "UTF8" in
	response to a FEAT command -- not the UseUTF8 directive.

2007-10-25  castaglia <castaglia>

	* modules/Makefile.in: Be sure to clean up any .a archive files
	around as well.

2007-10-22  castaglia <castaglia>

	* contrib/mod_ban.c, contrib/mod_dynmasq.c,
	contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c,
	contrib/mod_tls.c, include/timers.h, modules/mod_auth.c,
	modules/mod_core.c, modules/mod_ctrls.c, modules/mod_xfer.c,
	src/data.c, src/ident.c, src/main.c, src/timers.c: Changed the
	pr_timer_add() function to take a 'desc' string, for describing the
	timer being added.  This description is logged in the trace logging
	of timers.

2007-10-18  castaglia <castaglia>

	* NEWS: Typo.

2007-10-17  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#2996 - Requirement for same OpenSSL
	header, library version in mod_tls too restrictive.

2007-10-16  castaglia <castaglia>

	* RELEASE_NOTES: Add more release notes fragments, to be filled in
	more detail later.

2007-10-16  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2995 - The %f LogFormat variable
	expanded to same file for RNFR and RNTO.

2007-10-16  castaglia <castaglia>

	* src/main.c: Add some missing (albeit sometimes unnecessary)
	'break' statements.

2007-10-16  castaglia <castaglia>

	* src/main.c: Remove crufty unused ElectricFence code.

2007-10-15  castaglia <castaglia>

	* configure: Updated configure.

2007-10-15  castaglia <castaglia>

	* config.h.in, configure.in, src/main.c: Enhance the proftpd -V
	output to include the directory where the proftpd header files are
	installed, for DSO-enabled proftpds.  This will be used by the prxs
	tool (see Bug#2991).

2007-10-15  castaglia <castaglia>

	* NEWS, modules/mod_log.c: Bug#2992 - The %f LogFormat variable
	expanded improperly to "-" for SITE CHMOD.

2007-10-15  castaglia <castaglia>

	* configure: Updated configure.

2007-10-15  castaglia <castaglia>

	* NEWS, acconfig.h, config.h.in, configure.in: Bug#2993 - Unable to
	compile 1.3.1 on Debian unstable/amd64.

2007-10-15  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, include/modules.h, src/main.c, src/modules.c: 
	Bug#2937 - Should list modules (with versions) for modules loaded as
	DSOs.

2007-10-15  castaglia <castaglia>

	* doc/howto/DSO.html: Update the DSO doc with better instructions,
	after having run through them myself.

2007-10-14  castaglia <castaglia>

	* Make.rules.in, utils/ftpcount.c, utils/ftptop.c, utils/ftpwho.c,
	utils/misc.c, utils/utils.h: Factor out the function used to scan
	the config file for the ScoreboardFile directive from three of the
	utilities into a single common location.  This is groundwork for
	making it possible to scan the config file for other directives as
	well.

2007-10-14  castaglia <castaglia>

	* contrib/mod_tls.c: Explicitly cast one of the tls_log() arguments
	to an unsigned int, to silence compilers warning of mismatched
	printf arguments.

2007-10-14  castaglia <castaglia>

	* src/auth.c: Refactor the code for creating and adding to the
	idcache tables into separate functions.  This makes it easier to add
	to those caches in the auth_getpwnam() and auth_getgrnam()
	functions.

2007-10-13  castaglia <castaglia>

	* contrib/mod_tls.c: If the TLSCryptoDevice handling code is in the
	session initialization code path, then the directive can once again
	be vhost-specific.

2007-10-13  castaglia <castaglia>

	* configure: Update configure.

2007-10-13  castaglia <castaglia>

	* config.h.in, configure.in, modules/mod_ctrls.c, src/ctrls.c: More
	work towards Bug #2386.  In this, I found that Solaris 10 has a
	getpeerucred(3) function, which can be used for obtaining
	kernel-enforced credentials for the peer on the other end of a Unix
	domain socket.

2007-10-13  castaglia <castaglia>

	* contrib/mod_radius.c, include/auth.h, modules/mod_auth_pam.c,
	src/auth.c: More work towards Bug #2989.  Adds a new
	pr_auth_add_auth_only_module() function, to be used by modules that
	are auth-only "yes/no" style of modules (e.g. mod_auth_pam).  This
	presents a better solution for the issue.

2007-10-12  castaglia <castaglia>

	* NEWS, contrib/mod_radius.c, include/auth.h, src/auth.c: Bug#2989 -
	Unable to authenticate users if RadiusUserInfo is not configured.

2007-10-12  castaglia <castaglia>

	* contrib/mod_tls.c: Style cleanup; no functional changes.

2007-10-12  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#2990 - TLSCryptoDevice does not work.

2007-10-11  castaglia <castaglia>

	* doc/howto/ConfigurationTricks.html: Add note about how different
	PassivePorts are not needed for different proftpd instances.

2007-10-11  castaglia <castaglia>

	* RELEASE_NOTES: Mention mod_unique_id in the release notes.

2007-10-11  castaglia <castaglia>

	* doc/contrib/mod_unique_id.html: Update the mod_unique_id for its
	new home, and add an example of using the UNIQUE_ID environment
	variable in a SQL table.

2007-10-11  castaglia <castaglia>

	* NEWS, contrib/mod_unique_id.c, doc/contrib/index.html,
	doc/contrib/mod_unique_id.html: Added the mod_unique_id contrib
	module.

2007-10-11  castaglia <castaglia>

	* contrib/mod_dynmasq.c: Use the PR_ macro namespace.

2007-10-11  castaglia <castaglia>

	* contrib/mod_tls.c: Had checking for <Limit> on PROT command in the
	wrong place.  Oops.

2007-10-11  castaglia <castaglia>

	* RELEASE_NOTES, doc/contrib/mod_tls.html: Document the new
	TLSRequired policy configurations.

2007-10-11  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#2968 - Ability to allow protection on
	control channel, but reject protection on data channel.

2007-10-11  castaglia <castaglia>

	* RELEASE_NOTES: Start of a new release notes doc for the 1.3.2
	series.

2007-10-11  castaglia <castaglia>

	* doc/contrib/index.html: The mod_ban module was not in the contrib
	index list.  Oops.

2007-10-11  castaglia <castaglia>

	* doc/contrib/mod_dynmasq.html: Updating the mod_dynmasq docs for
	their new home.

2007-10-11  castaglia <castaglia>

	* NEWS, contrib/mod_dynmasq.c, doc/contrib/index.html,
	doc/contrib/mod_dynmasq.html: Adding the mod_dynmasq module to the
	source distribution.

2007-10-11  castaglia <castaglia>

	* doc/howto/ConfigurationTricks.html, doc/howto/index.html: Adding
	ConfigurationTricks doc to source distribution.

2007-10-11  castaglia <castaglia>

	* src/ctrls.c: Use "credentials" consistently, not the lazy "creds",
	in log messages.

2007-10-11  castaglia <castaglia>

	* configure: Updating configure.

2007-10-11  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, include/ctrls.h,
	modules/mod_ctrls.c, src/ctrls.c: Bug#2386 - Controls should use
	kernel-enforced credentials where possible.

2007-10-10  castaglia <castaglia>

	* src/ctrls.c: Revert back to using debug logging, rather than trace
	logging, for the Unix socket detection tests.  Trace logging will
	not have been initialized when Controls are initialized, so any
	trace logging done in init_ctrls() was being ignored/lost.

2007-10-10  castaglia <castaglia>

	* contrib/mod_ban.c: Turns out that testing for the _POSIX_SOURCE
	macro is a better way of knowing which typecast to use for shmdt(2).

2007-10-10  castaglia <castaglia>

	* contrib/mod_ban.c: Solaris' shmdt(2) wants a char *, not a const
	void * -- and the compiler complains every time mod_ban is compiled.
	Easy enough to fix that with a proper cast, but just for Solaris.

2007-10-10  castaglia <castaglia>

	* contrib/mod_ban.c: Seems that Solaris' getopt implementation
	prefers resetting the optind variable to 1, rather than zero, in
	order to reset the getopt(3) function.

2007-10-10  castaglia <castaglia>

	* modules/mod_auth_unix.c: Remove the caching that mod_auth_unix
	did, for the ID-to-name lookups.  This caching is now being handled
	at a higher layer, in the Auth API.

2007-10-09  castaglia <castaglia>

	* src/netaddr.c: Make sure that trace logging is done *before* the
	temporary pool (from which one of the netaddr objects may have been
	allocated) is freed.  Otherwise we might log garbage day, or trigger
	a segfault.

2007-10-09  castaglia <castaglia>

	* src/netaddr.c: Add trace logging for when comparing netaddrs
	yields no match, for completeness.

2007-10-09  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2982 - Support limit on number of
	simultaneous file transfers from one client.

2007-10-09  castaglia <castaglia>

	* NEWS, contrib/mod_wrap2_file.c: Bug#2988 - mod_wrap2_file ignores
	"ALL" keyword.

2007-10-08  castaglia <castaglia>

	* NEWS, src/auth.c: Bug#2986 - Authoritative PAM is not honored.

2007-10-08  castaglia <castaglia>

	* NEWS, contrib/mod_ban.c: Bug#2987 - Verbose ban information (i.e.
	'ftpdctl ban info -v') not working on FreeBSD.

2007-10-05  castaglia <castaglia>

	* doc/contrib/mod_ban.html: Document the new ClientConnectRate
	BanOnEvent rule.

2007-10-05  castaglia <castaglia>

	* NEWS, contrib/mod_ban.c: Bug#2979 - Ability to ban clients which
	connect too often.

2007-10-05  castaglia <castaglia>

	* modules/mod_core.c: Removing support for the deprecated
	DisplayFirstChdir directive; it has been replaced with the
	DisplayChdir directive.

2007-10-05  castaglia <castaglia>

	* contrib/mod_sql.c: Removing deprecated SQLHomedirOnDemand
	directive; it has been superceded by the CreateHome directive.

2007-10-05  castaglia <castaglia>

	* modules/mod_xfer.c: Removing support for the deprecated HiddenStor
	directive; it has been superceded by the HiddenStores directive.

2007-10-05  castaglia <castaglia>

	* doc/contrib/mod_ctrls_admin.html: Document the new 'dns clear
	cache' ftpdctl command.

2007-10-05  castaglia <castaglia>

	* NEWS, contrib/mod_ctrls_admin.c, include/netaddr.h,
	src/ftpdctl.c, src/main.c, src/netaddr.c: Bug#2925 - Add caching of
	IP address and DNS name lookups.

2007-10-05  castaglia <castaglia>

	* src/auth.c: Forgot semicolon.

2007-10-05  castaglia <castaglia>

	* NEWS, include/auth.h, src/auth.c, src/table.c: Bug#2984 -
	mod_auth_file uid2name() does not cache results causing slow LIST
	response.

2007-10-05  castaglia <castaglia>

	* configure: Updating configure.

2007-10-05  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, modules/mod_auth_unix.c: Bug#2983
	- Use getgrouplist(3) for group lookup, if available.

2007-10-05  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2969 - Allow APPE after REST.

2007-10-05  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Document the new EnableDiags TLSOption.

2007-10-05  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#2978 - Support more verbose OpenSSL
	diagnostic logging.

2007-10-05  castaglia <castaglia>

	* include/version.h: Start of a new release cycle (1.3.2).

2007-10-05  castaglia <castaglia>

	* NEWS: Forgot to update NEWS with the release time.

2007-10-05  castaglia <castaglia>

	* ChangeLog: Updating the ChangeLog.

2007-10-05  castaglia <castaglia>

	* doc/Configuration.html: Updating the HTML page with the
	configuration directives.  Also added a PDF copy of the same
	information (thanks Sven!).

2007-10-05  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec, include/version.h: Updating version
	for 1.3.1-stable.

2007-10-04  castaglia <castaglia>

	* contrib/mod_tls.c: Log a PID as an explicit unsigned int, not an
	implicit int.  Quells a compiler warning about mismatched printf
	arguments.

2007-10-04  castaglia <castaglia>

	* src/env.c: Quell a compiler warning about casting away the const
	qualifier, on systems which support the putenv(3) function.

2007-10-04  castaglia <castaglia>

	* RELEASE_NOTES: Updating the release notes, preparing for a
	release.

2007-10-04  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/ftp.pamd, contrib/dist/rpm/proftpd.spec: 
	Bug#2795 - Improvements to RPM .spec file to build more of the
	modules, plus better optional packaging organization.

2007-10-04  castaglia <castaglia>

	* include/table.h: Correct comment in table.h.

2007-10-02  castaglia <castaglia>

	* doc/howto/TLS.html: Add mention of RFC 2228, and URL, to TLS doc.

2007-10-01  castaglia <castaglia>

	* modules/mod_delay.c: Update the trace message for the other
	location in mod_delay where the DelayTable is mapped into memory.

2007-10-01  castaglia <castaglia>

	* modules/mod_delay.c: Log the table size, and the table fd, when
	attempting to map a DelayTable into memory.

2007-10-01  castaglia <castaglia>

	* doc/modules/mod_delay.html: Change to using relative URLs, so that
	the documentation can be used outside of a network connection.

2007-10-01  castaglia <castaglia>

	* doc/modules/mod_delay.html: Add notes about mod_delay usage to the
	mod_delay documentation.

2007-09-30  castaglia <castaglia>

	* src/timers.c: Catch edge case where the timers list may be
	empty/null.

2007-09-30  castaglia <castaglia>

	* NEWS, src/main.c: Bug#2981 - Command-line long options --ipv4 and
	--ipv6 do not work.

2007-09-28  castaglia <castaglia>

	* modules/mod_ls.c: If an FTP client aborted the data transfer
	during a directory listing, then a 226 response would be sent
	*twice*, e.g.:   226 Transfer complete   226 Abort successful would be seen, using the ftp(1) client.  The problem was that
	mod_ls, when closing its data connection, did not check to see if
	the transfer had been aborted.  Aborted transfers should cause the
	data connection to be closed "quietly", i.e. no sending of the
	"Transfer complete" message.  With this change, mod_ls now checks for an aborted transfer, and
	will close the data connection "quietly" when appropriate, thus
	eliminating the duplicate 226 responses.

2007-09-28  castaglia <castaglia>

	* modules/mod_ls.c: Cut down on logging an error if errno indicates
	"success"; usually this happens when the client aborted the
	directory listing.

2007-09-27  castaglia <castaglia>

	* modules/mod_xfer.c: Add some tracing to aborted transfers.

2007-09-27  castaglia <castaglia>

	* src/trace.c: Add the 'xfer' channel to the list of default trace
	channels.

2007-09-25  castaglia <castaglia>

	* contrib/mod_tls.c: No need to report on system call errors of
	"Success".

2007-09-25  castaglia <castaglia>

	* contrib/mod_tls.c: Allow handling of the PROT command after the
	CCC command has been used.  One particular FTPS client (lftp) is
	known to send PROT (again) after CCC.

2007-09-19  castaglia <castaglia>

	* doc/howto/TLS.html: Minor formatting tweak.

2007-09-19  castaglia <castaglia>

	* doc/howto/TLS.html: Add FAQ about a commonly-seen error in the
	TLSLog, and how using the NoCertRequest TLSOption may help.

2007-09-17  castaglia <castaglia>

	* NEWS, modules/Makefile.in: Bug#2974 - Install error if multiple
	modules, using their own build script, are built as shared modules.

2007-09-14  castaglia <castaglia>

	* modules/mod_core.c: When handling an EPSV command, close any
	existing data connection first.  Related to Bug #2900.

2007-09-13  castaglia <castaglia>

	* contrib/mod_tls.c: Just as we don't want to call EVP_cleanup(3) at
	session initialization time if there are other OpenSSL-using modules
	around, we don't want to unload the human-readable OpenSSL error
	strings, either.

2007-09-13  castaglia <castaglia>

	* contrib/mod_tls.c: Alter the conditions under which mod_tls calls
	EVP_cleanup(3).  Call the function when mod_tls is being unloaded,
	or when the session is exiting, without reservation.  If however the
	FTP session is being initialized, and mod_tls has been compiled but
	not enabled (i.e. the TLSEngine is off or not present), *and* any
	other known OpenSSL using modules (i.e.  mod_ldap and mod_sql) are
	present, do NOT call EVP_cleanup().  Doing so might deprive those
	other modules of OpenSSL functionality unnecessarily.  Patch suggested by Nigel Kukard a while ago.

2007-09-13  castaglia <castaglia>

	* contrib/mod_sql.c: Adding some logging about various error cases
	when using OpenSSL digests for authentication; these were
	contributed by Nigel Kukard a while ago.

2007-09-13  castaglia <castaglia>

	* modules/mod_dso.c: Fix compiler warning about redeclaring a
	variable if Controls support is enabled.

2007-09-12  castaglia <castaglia>

	* doc/howto/Vhost.html: Remove mention of the now-deprecated Bind
	directive.

2007-09-12  castaglia <castaglia>

	* contrib/mod_tls.c: When initializing mod_tls, check the version of
	the OpenSSL headers used against the version of the OpenSSL library
	used.  Refuse to load the module unless the versions match properly.
	(This will help catch systems where mismatched versions of headers
	and libraries are used inadvertently.)

2007-09-11  castaglia <castaglia>

	* modules/mod_dso.c: Add trace logging of the succesful loading of
	modules/files.

2007-09-11  castaglia <castaglia>

	* modules/mod_core.c: If the admin has specified "UseUTF8 off" in
	the proftpd.conf file, be sure to remove the UTF8 listing from the
	FEAT output.  Otherwise, clients might be a little confused.

2007-09-11  castaglia <castaglia>

	* contrib/mod_sql.c: Cast the off_t value of total_xfer_bytes
	properly, and quell warnings from picky compilers.

2007-09-11  castaglia <castaglia>

	* src/log.c: When writing to utmp/wtmp logs, we're really not
	concerned if we fail to truncate the file as requested.

2007-09-11  castaglia <castaglia>

	* modules/mod_log.c: If there was a problem writing to the
	ExtendedLog fd, be sure to log it using proftpd's logging (and hope
	that that write() succeeds).

2007-09-11  castaglia <castaglia>

	* modules/mod_delay.c: Inform picky compilers that we will be
	ignoring the return value from write(2).  This may not be the best
	behavior, but it is what we are doing.

2007-09-11  castaglia <castaglia>

	* modules/mod_xfer.c: Make sure to cast the restart_pos value (an
	off_t), in order to satisfy picky compilers.

2007-09-10  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: Fix syntax of RPM options for some
	modules.

2007-09-08  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: Update the RPM spec file to include
	the mod_wrap2 modules, mod_ban, mod_ctrls_admin, mod_site_misc, and
	the NLS capability.

2007-09-07  jwm <jwm>

	* contrib/mod_ldap.c: Fix anonymous binds when
	draft-ietf-ldapext-ldap-c-api-04 functions are used.  Submitted by: Quentin Garnier <cube@cubidou.net>

2007-09-04  castaglia <castaglia>

	* contrib/mod_tls.c: The implementation of the fix for Bug #2686
	missed a few places where we need to lookup one of the TLSRequired
	settings.

2007-08-30  castaglia <castaglia>

	* modules/mod_xfer.c: Clean up the code style in the xfer_stor()
	function.  Also add logging of the case where an lseek() fails for
	some reason.

2007-08-29  castaglia <castaglia>

	* doc/howto/SQL.html: Added SQL FAQ about shared library loader
	errors.

2007-08-24  castaglia <castaglia>

	* doc/howto/Debugging.html: Mention using `proftpd -V' in the
	Debugging howto.

2007-08-22  castaglia <castaglia>

	* src/fsio.c, src/netio.c: Surround the invocation of function
	pointers with parentheses, to help some (broken, IMHO) code
	introspection tools to be able to read the code better.

2007-08-22  jwm <jwm>

	* contrib/mod_ldap.c: missed version number

2007-08-21  castaglia <castaglia>

	* NEWS, lib/sstrncpy.c: Bug#2964 - Building RPM fails because of
	*snprintf trying to be redefined.

2007-08-17  jwm <jwm>

	* contrib/mod_ldap.c: release 2.8.17

2007-08-09  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#2963 - Use of -A option for LIST/NLST
	commands not cleared for subsequent commands.

2007-08-09  castaglia <castaglia>

	* README.facl: Remove extraneous whitespace.

2007-08-03  castaglia <castaglia>

	* NEWS, contrib/mod_wrap2/mod_wrap2.c,
	contrib/mod_wrap2/mod_wrap2.h.in, contrib/mod_wrap2_file.c,
	contrib/mod_wrap2_sql.c: Bug#2958 - mod_wrap2 does not handle
	multiple rules in access files.

2007-07-31  castaglia <castaglia>

	* modules/mod_auth.c: Coding style changes; no functional change.

2007-07-31  castaglia <castaglia>

	* NEWS, modules/mod_delay.c: Bug#2955 - Undeclared identifier
	MAP_FAILED for mod_delay on AIX.

2007-07-24  castaglia <castaglia>

	* NEWS, src/dirtree.c: Bug#2950 - Hostname with multiple IP
	addresses might cause "ai_family not supported" error if IPv6
	support enabled.

2007-07-19  castaglia <castaglia>

	* NEWS, src/proctitle.c: Bug#2947 - SIGBUS on Mac OS X when
	dynamically loading shared libs.  The solution is to set argv
	elements to the empty string, rather than NULL, so that stupid
	libraries which grovel around in argv without checking for NULL
	pointers don't crash.  Silly libraries.

2007-07-18  castaglia <castaglia>

	* NEWS, modules/mod_facl.c: Bug#2946 - Anonymous logins fail if the
	mod_facl module is enabled.

2007-07-07  jwm <jwm>

	* contrib/mod_ldap.c:   mod_ldap 2.8.17-20070707:     fix LDAPServer handling; config_rec argv arrays don't contain
	    the directive name in index 0.

2007-07-06  castaglia <castaglia>

	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Correct
	misspellings.

2007-07-06  castaglia <castaglia>

	* NEWS, contrib/mod_sql_mysql.c: Bug#2944 - mod_sql_mysql fails to
	compile due to missing quotation.

2007-07-05  castaglia <castaglia>

	* NEWS, include/version.h: Reset files for 1.3.1rc4.

2007-07-04  castaglia <castaglia>

	* ChangeLog: Updating ChangeLog.

2007-07-04  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing for
	1.3.1rc3 release.

2007-07-04  castaglia <castaglia>

	* RELEASE_NOTES: Updating the release notes, getting ready for a
	release.

2007-07-04  castaglia <castaglia>

	* contrib/mod_wrap2_file.c: A recent innocuous change to
	mod_wrap2_file turned out to be not so innocuous; a static buffer
	was made non-static, and terror and madness ensued.  To fix this
	(and avoid the distasteful static buffer), mod_wrap2_file now makes
	duplicates of the parsed buffers using the table pool (for just such
	purposes).  This patch also cleans up the handling of the service
	and client lists in the file.

2007-07-02  jwm <jwm>

	* contrib/mod_ldap.c: 2.8.17-20070701:   don't use a separate directive (LDAPURL) to specify LDAP URLs;
	  support them in LDAPServer instead - add ldap url support, via the LDAPURL directive - add ldaps (ldap over ssl) support, via the LDAPUseSSL directive
	  and ldaps:// scheme to LDAPURL - refine tls debugging statement

2007-07-02  castaglia <castaglia>

	* RELEASE_NOTES: Updating release notes.

2007-07-02  castaglia <castaglia>

	* contrib/mod_wrap2/mod_wrap2.c: Make sure that mod_wrap2 honors the
	runtime UseIPv6 configuration directive.

2007-06-28  castaglia <castaglia>

	* doc/howto/Timestamps.html: Add a little more substance to the
	Timestamps howto, to remind readers that they need to think for
	themselves a little, and read their system docs.

2007-06-28  castaglia <castaglia>

	* modules/mod_auth.c: The clearing of any cached directory config
	pointers, as a fix for Bug #2939, was a little too aggressive.  We
	only need to clear those pointers once, prior to calling
	setup_env().

2007-06-25  castaglia <castaglia>

	* contrib/mod_wrap2_file.c: Attempt to log a more informative
	message if a too-long multiline is found.  Also add support for
	allocating a larger buffer for such lines at compile time.

2007-06-25  castaglia <castaglia>

	* NEWS, contrib/mod_ban.c: Bug#2942 - BanLog directive does not
	accept "none" parameter.

2007-06-25  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#2939 - Anonymous restrictions apply
	after a failed anonymous login followed by a successful normal user
	login.

2007-06-19  castaglia <castaglia>

	* NEWS: Fix typos.

2007-06-18  castaglia <castaglia>

	* doc/howto/Quotas.html: Add a FAQ about group quota determination.

2007-06-12  castaglia <castaglia>

	* src/auth.c: Yet another patch, working on the PAM-related fallout
	from Bug #2922.

2007-06-12  castaglia <castaglia>

	* modules/mod_auth_file.c: Remove some debug logging which
	inadvertently crept into mod_auth_file.

2007-06-12  castaglia <castaglia>

	* contrib/mod_sql.c: For symmetry, log a message in the SQLLogFile
	when a particular SQLAuthType handler fails.  This complements the
	log message already written when the handler indicates success.

2007-06-11  castaglia <castaglia>

	* NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#2938 - mod_wrap2 does not
	honor WrapTables for <Anonymous> logins.

2007-06-07  castaglia <castaglia>

	* contrib/mod_ifsession.c, contrib/mod_rewrite.c: Add reporting of
	the module version for the mod_ifsession and mod_rewrite modules.

2007-06-04  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2935 - DELE command doesn't check
	file stat result before logging.

2007-06-04  jwm <jwm>

	* contrib/mod_ldap.c: 2.8.17-20070603: * Use non-deprecated LDAP API functions if the LDAP SDK is new
	  enough to comply with draft-ietf-ldapext-ldap-c-api-04.

2007-05-30  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2900 - Some kernels incorrectly
	reuse IPv6 ports for EPSV command.  Rather than relying on untrusted
	kernel behavior (i.e. assigning a random _unused_ port if port zero
	is used in a bind() call), proftpd now explicitly chooses a random
	port (using the same technique as used for PassivePorts) when
	handling the EPSV command.  Note that the PassivePorts directive
	still works properly for this port selection.

2007-05-26  castaglia <castaglia>

	* doc/howto/Quotas.html: Add a FAQ about the QuotaExcludeFilter
	directive.

2007-05-24  castaglia <castaglia>

	* doc/howto/Tracing.html: No need for the quotations -- they're a
	bit much.

2007-05-24  castaglia <castaglia>

	* RELEASE_NOTES, doc/howto/Tracing.html, doc/howto/index.html: 
	Adding tracing howto.

2007-05-24  castaglia <castaglia>

	* src/help.c: The list of commands displayed for the HELP command
	was being truncated.  Fix suggested by Richard Gray.

2007-05-23  castaglia <castaglia>

	* README.PAM: Update the PAM readme with notes for Linux, per
	Bug#2907.

2007-05-22  castaglia <castaglia>

	* NEWS, utils/ftptop.1.in, utils/ftptop.c: Bug#2923 - ftptop display
	flickers if delay is greater than 25 seconds.  Simply accept only
	delay values between zero and 15 seconds.

2007-05-22  castaglia <castaglia>

	* configure: Updating configure.

2007-05-22  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, src/fsio.c: Bug#2934 - Function
	perm_copy_fd() not in older Linux libacl versions.  Test for that
	function, and use acl_get_fd(3) and acl_set_fd(3) if not present.

2007-05-22  castaglia <castaglia>

	* include/options.h: Minor style nit.  No functional change.

2007-05-21  castaglia <castaglia>

	* src/inet.c: Use tracing to log if there was a problem using
	getsockopt() to get the IPV6_V6ONLY option.

2007-05-21  castaglia <castaglia>

	* NEWS, src/inet.c: Bug#2932 - Syslog contains "error setting
	IPV6_V6ONLY: Protocol not available".

2007-05-21  castaglia <castaglia>

	* doc/howto/Directory.html: Include RNTO in the list of FTP commands
	affected by trailing "/*" suffixes in <Directory> lines.

2007-05-21  castaglia <castaglia>

	* src/auth.c: Additional patch for Bug#2922, to check for and use
	mod_auth_pam for authentication, if present (and usable).

2007-05-21  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#2890 - SystemLog permission errors on
	SIGHUP when mod_tls is enabled.

2007-05-19  castaglia <castaglia>

	* modules/mod_facl.c: Use the event handler defined for the
	"core.module-unload" event, when compiled as a DSO module.

2007-05-16  castaglia <castaglia>

	* modules/mod_facl.c: Declare the facl_module variable before using
	it.  This isn't a problem for most builds, but for proftpds built
	with DSO support and with a DSO mod_facl, it's a compilation error.

2007-05-15  castaglia <castaglia>

	* src/netio.c: More work towards Bug#2920.  Hopefully this will be
	the last of that particular issue.

2007-05-15  castaglia <castaglia>

	* modules/mod_xfer.c: Short-circuit out of xfer_rate_throttle()
	early, if the transfer has already been aborted.

2007-05-15  castaglia <castaglia>

	* doc/howto/Timestamps.html: Adjust link to mod_site_misc docs to
	use the local copy.

2007-05-15  castaglia <castaglia>

	* doc/howto/Timestamps.html: Start adding a FAQ section about
	timezones and timestamps.

2007-05-15  castaglia <castaglia>

	* modules/mod_xfer.c, src/data.c: More checks of XFER_ABORTED, in
	pursuit of a solution for Bug#2920.

2007-05-14  castaglia <castaglia>

	* modules/mod_xfer.c: Attempt to handle aborted transfers that were
	in the midst of being throttled.

2007-05-14  castaglia <castaglia>

	* modules/mod_xfer.c: Do not block SIGURG (used to abort transfers)
	when handling throttled transfers.

2007-05-10  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c, src/data.c, src/inet.c, src/netio.c: 
	Bug#2920 - ABOR command not handled during data transfer.  Bug#2924
	- DeleteAbortedStores doesn't work when the ABOR command is used.

2007-05-10  castaglia <castaglia>

	* src/inet.c, src/netio.c: Add tracing of aborted connections.  Also
	corrects an issue where a lingering close was happening *twice*,
	once per stream (input and output), whereas only one lingering close
	(or lingering abort) is needed.  Came out of investigating Bug#2920.

2007-05-10  castaglia <castaglia>

	* src/main.c: Add tracing of received FTP commands.

2007-05-09  castaglia <castaglia>

	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Check to see
	if the SQL backend module (either MySQL or Postgres) has been
	properly initialized, prior to attempting to use the connection
	pool.  Failure to do so, in inadvertently misconfigured proftpds,
	was leading to NULL pointer dereference segfaults.

2007-05-07  castaglia <castaglia>

	* NEWS, modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c: 
	Bug#2864 - DisplayLogin should work regardless of chroot.  This
	feature includes DisplayQuit and DisplayTransferFiles as well.  To make this work, the configured Display files must use absolute
	paths.  ProFTPD will then open an fd on those files, prior to
	chroot(2), such that the fds, on paths outside of the chroot(), are
	accessible once the process has been chrooted.

2007-05-04  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#2921 - NLST fails if using POSIX ACLs.

2007-05-04  castaglia <castaglia>

	* modules/mod_facl.c: Add more tracing of POSIX ACL functions,
	particularly on BSD and Linux, in order to get better views of
	errors.  Fix some stupid printf format thinkos.  Add function to
	convert between a mode_t, used for access(2), to an acl_perm_t, used
	for acl_get_perm(2) on BSD and Linux.  Hopefully this clears up some of the issues for Bug #2661.

2007-04-30  castaglia <castaglia>

	* modules/mod_facl.c: Fix the initialization of mod_facl's
	configuration directives.  Oops.

2007-04-24  castaglia <castaglia>

	* src/netio.c: Guard against using negative numbers when calling
	FD_SET.  The FD_SET macro expects an fd, and if that fd is less than
	zero, the results are unpredictable (crashes, silent failures, just
	works, hangs, etc).

2007-04-18  castaglia <castaglia>

	* modules/mod_facl.c: More tracing of POSIX ACLs on Solaris.  Looks
	like the implementation changed on Solaris 10 for certain
	filesystems (ZFS, NFSv4).

2007-04-17  castaglia <castaglia>

	* NEWS, include/auth.h, modules/mod_core.c, src/auth.c: Bug#2922 -
	Auth API allows one auth module to authenticate user data provided
	by a different auth module.

2007-04-17  castaglia <castaglia>

	* src/fsio.c: Include the paths in the trace messages about which FS
	is used for a given filesystem access call.  This will be useful in
	developing and debugging FSIO modules, e.g. mod_facl.

2007-04-16  castaglia <castaglia>

	* sample-configurations/mod_sql.conf: Do not use 'Plaintext' as a
	example SQLAuthTypes parameter, since too many people blindly copy
	examples as-is, then blame you for the consequences.

2007-04-02  castaglia <castaglia>

	* src/inet.c: Allow data transfers on low-numbered sockets to work
	on SCO Unix.

2007-04-02  castaglia <castaglia>

	* NEWS, modules/mod_ls.c, src/data.c: Bug#2911 - NLST on a
	nonexistent path, followed by an NLST on an existing file, causes
	segfault.

2007-03-28  castaglia <castaglia>

	* src/parser.c: Cleanup pr_parser_cleanup().  First, return EPERM if
	the parser stack is not in a state when it can be properly cleaned
	up.  Second, reset stack pointers to NULL even when there is no
	parser pool provided.

2007-03-28  castaglia <castaglia>

	* src/parser.c: Tag the temporary pool right after its creation, not
	after it has been used.

2007-03-28  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2913 - TYPE command does not clear
	ASCII flag from LIST/NLST commands.

2007-03-28  castaglia <castaglia>

	* contrib/mod_rewrite.c: Updating coding style in a few places.  No
	functional change.

2007-03-27  castaglia <castaglia>

	* config.guess, config.sub, contrib/mod_load/config.guess,
	contrib/mod_load/config.sub, lib/libltdl/config.guess: Updated the
	config.guess and config.sub scripts, used by the configure script
	for platform detection, to the versions shipped with autoconf-2.61.

2007-03-22  castaglia <castaglia>

	* src/dirtree.c: Formatting tweaks, no functional change.

2007-03-09  castaglia <castaglia>

	* sample-configurations/anonymous.conf,
	sample-configurations/basic.conf,
	sample-configurations/complex-virtual.conf,
	sample-configurations/mod_sql.conf: Update the example config files
	to use DisplayChdir, rather than the deprecated DisplayFirstChdir
	directive.

2007-03-09  castaglia <castaglia>

	* modules/mod_core.c: Bar configurations like:   PassivePorts 2222 2222 where the max and min port numbers are the same; it's a useless
	configuration.

2007-03-06  castaglia <castaglia>

	* doc/contrib/mod_ban.html: Add a FAQ about using a delay, rather
	than session termination, for banned clients, and why that is a bad
	idea.

2007-03-06  castaglia <castaglia>

	* README.PAM: Typo.

2007-03-01  castaglia <castaglia>

	* NEWS: Fix typo noted by Sven.

2007-02-21  jwm <jwm>

	* contrib/mod_ldap.c: - bump version - previous commit wrt LDAPAttr fetching was submitted by TJ Saunders   <tj@castaglia.org>; got a little fresh with my editor and missed
	  the paste

2007-02-21  jwm <jwm>

	* contrib/mod_ldap.c: fetch attribute redefinitions (LDAPAttr)
	before using any attribute names, such as when generating the
	default search filters

2007-02-21  jwm <jwm>

	* contrib/mod_ldap.c: wordwrap, error message tweak

2007-02-20  castaglia <castaglia>

	* doc/contrib/mod_quotatab_radius.html, doc/contrib/mod_radius.html: 
	Fix the documentation for the RadiusQuotaInfo.

2007-02-20  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c: Bug#2906 - RewriteCondition
	backreferences not properly substituted.

2007-02-20  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2902 - Stack read overrun in
	mod_xfer on 32bit platform.  Use an explicit compiler cast to ensure
	that the proper data type size is used in the arguments for a
	variadic function.

2007-02-20  castaglia <castaglia>

	* contrib/mod_quotatab_radius.c: Need to include mod_quotatab.h,
	which includes the ProFTPD headers, before doing the ProFTPD version
	check.

2007-02-16  castaglia <castaglia>

	* doc/howto/TLS.html: Add FAQ about SSL/TLS renegotiations, and how
	some FTPS clients do not handle them well.

2007-02-15  castaglia <castaglia>

	* RELEASE_NOTES: Note new doc for 1.3.1rc3 release, whenever that
	is.

2007-02-15  castaglia <castaglia>

	* doc/howto/Timestamps.html, doc/howto/index.html: Add a document
	talking about timestamps and chroots (see Bug #2717, Bug #2896).

2007-02-15  castaglia <castaglia>

	* configure: Updated configure.

2007-02-15  castaglia <castaglia>

	* lib/pr-syslog.c, src/support.c: Use the feature macro to determine
	if tzname is actually present to be guarded.

2007-02-15  castaglia <castaglia>

	* config.h.in, configure.in: We're really only concerned with the
	tzname global variable, not with the timezone and daylight global
	variables.  For now, anyway.

2007-02-15  castaglia <castaglia>

	* config.h.in, configure.in: Be defensive, and add autoconf
	detection for the tzname, timezone, and daylight global variables.

2007-02-15  castaglia <castaglia>

	* contrib/mod_quotatab.c, contrib/mod_radius.c,
	contrib/mod_rewrite.c, contrib/mod_sql.c, contrib/mod_tls.c,
	contrib/mod_wrap2/mod_wrap2.c, modules/mod_ctrls.c, src/support.c,
	src/trace.c: Replace calls to localtime(3) throughout the proftpd
	code with calls to pr_localtime().

2007-02-15  castaglia <castaglia>

	* src/log.c: Missed a call to localtime(3) that needs to replaced
	with pr_localtime().

2007-02-15  castaglia <castaglia>

	* modules/mod_log.c, src/ftpdctl.c, src/log.c: Update mod_log and
	the core logging to use pr_localtime(), which guards against
	localtime(3) resetting the tzname global variable to an
	unexpected/wrong timezone (i.e. GMT) in a chrooted process.

2007-02-15  castaglia <castaglia>

	* src/support.c: Update pr_localtime() so that it no longer requires
	a pool.  If a pool is provided, it will be used, otherwise, the
	struct tm * from localtime(3) will be returned as is.

2007-02-15  castaglia <castaglia>

	* src/support.c: For functions which use pr_localtime() (and there
	should be more of them), protect the tzname global variable values,
	to guard against localtime(3) twiddling with the tzname variable.
	This twiddling causes weird values once the process is chrooted.

2007-02-15  castaglia <castaglia>

	* modules/mod_log.c: Remove a section of code which relies on a
	macro, HAVE_GMTOFF, which has not be defined by proftpd's configure
	script in who knows how long.  This investigation was prompted by looking into Bug #2896.

2007-02-15  castaglia <castaglia>

	* src/ftpdctl.c, src/log.c: When writing to the log fd, check for
	errors, and specifically try the write(2) call again if the call was
	interrupted.

2007-02-13  castaglia <castaglia>

	* modules/mod_xfer.c: Forgot to log one of the reasons for not using
	sendfile(): UseSendfile set to 'off'.

2007-02-13  castaglia <castaglia>

	* modules/mod_xfer.c: Add debug logging, level 10, showing when
	sendfile is used, or isn't used.  And if sendfile isn't used, log
	the reason.

2007-02-13  castaglia <castaglia>

	* src/dirtree.c: Fix typo.

2007-02-12  castaglia <castaglia>

	* src/dirtree.c: A further optimization, suggested by Glenn Nielsen.
	In the find_best_dir() function, the paths being compared always
	come from c->name, which means that it's actually OK to do direct
	pointer comparison, rather than using strcmp().  Only time will tell
	whether this is a too-clever optimization.

2007-02-12  castaglia <castaglia>

	* src/dirtree.c: Make some minor optimizations to the
	dir_match_path() function.  Specifically, call strlen() only once
	when necessary (rather than multiple times), and reorder checks such
	that strcmp() checks, the most expensive of the checks, are done
	*last*, rather than first.  The goal is to scan the directory path
	string as few times as possible; given many such directory path
	strings, each scan adds up.

2007-02-12  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c: Bug#2897 - mod_quotatab subtracts
	size of deleted file from bytes-transferred tally.

2007-02-08  castaglia <castaglia>

	* modules/mod_auth.c: Add explanatory comment about checks for
	session.gids, session.groups.

2007-02-08  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#2893 - ProFTPD can use the wrong
	group data if the user name changes.

2007-01-19  castaglia <castaglia>

	* NEWS, modules/mod_lang.c: Bug#2883 - Problem with locale and SQL
	database queries.

2007-01-19  castaglia <castaglia>

	* locale/files.txt: Update the list of source files in
	locale/files.txt.

2007-01-19  castaglia <castaglia>

	* locale/Makefile.in: Fixed typos in command used to generate
	files.txt.

2007-01-19  castaglia <castaglia>

	* NEWS, include/modules.h, modules/mod_core.c, modules/mod_lang.c,
	src/main.c, src/modules.c: Bug#2881 - ProFTPD does not support OPTS
	UTF8 command when --enable-nls is used.

2007-01-18  castaglia <castaglia>

	* src/trace.c: The list of channel names should be named
	'trace_channels', not 'trace_levels'.  What was I thinking?

2007-01-18  castaglia <castaglia>

	* NEWS, include/conf.h, include/log.h: Bug#2878 - Error compiling
	proftpd on Solaris 2.9 using --with-lastlog.

2007-01-18  castaglia <castaglia>

	* contrib/mod_tls.c: Update mod_tls to use the pr_env_* functions.
	This also eliminates a lot of #ifdef PR_USE_DEVEL checks in the
	mod_tls code -- hooray!

2007-01-18  castaglia <castaglia>

	* include/env.h, src/env.c: Add some documentation to the pr_env_*
	functions in the header.  Also beef up the code in env.c, such that
	it is prepared for memory checker programs (e.g. Valgrind) in cases
	where --enable-devel is used.  This makes it possible to clean up
	some ugly #ifdef checks elsewhere (e.g.  mod_tls).

2007-01-17  castaglia <castaglia>

	* contrib/mod_sql.c: Update mod_sql.c to use pr_env_get() rather
	than getenv(3).

2007-01-17  castaglia <castaglia>

	* configure: Updated configure.

2007-01-17  castaglia <castaglia>

	* configure.in, contrib/mod_tls.c, src/main.c, src/proctitle.c: The
	proper macro to use is PR_USE_DEVEL, not PR_DEVEL.

2007-01-17  castaglia <castaglia>

	* configure: Updated configure.

2007-01-17  castaglia <castaglia>

	* configure.in: Add printing of "checking for" messages when
	scanning for the list of usual suspects of lastlog locations.  Related to Bug #2878.

2007-01-17  castaglia <castaglia>

	* configure: Updated configure.

2007-01-17  castaglia <castaglia>

	* configure.in: Fix the configure script to properly use the
	pr_lastlog_path variable (it was using spaces around the '='
	operator, which the shell may not like).  Part of Bug #2878.

2007-01-17  castaglia <castaglia>

	* NEWS, src/inet.c: Bug#2877 - ServerType 'inetd' results in
	"getnameinfo error: ai_family not supported" errors in log.

2007-01-17  castaglia <castaglia>

	* src/main.c: Remove the redundant is_standalone variable; it can be
	replaced with checks against the global variable ServerType.

2007-01-16  castaglia <castaglia>

	* Makefile.in: The -lsupp LIBS flag is now populated in the
	UTILS_LIBS variable, so there is no need for the hardcoded flag as
	well.

2007-01-16  castaglia <castaglia>

	* src/main.c: A bad patch mixed up the ordering of settings
	displayed via show_settings().

2007-01-16  castaglia <castaglia>

	* src/env.c: Fix bug in pr_env_set() on systems that have putenv(3)
	rather than setenv(3).

2007-01-15  castaglia <castaglia>

	* configure: Updated configure.

2007-01-15  castaglia <castaglia>

	* configure.in: Do not scan a mod_foo.h.in file, assuming a
	module-specific subdirectory, for build system hints.  A .in file
	needs to be processed (as via the module's own configure script),
	and should not be scanned until after that processing.

2007-01-15  castaglia <castaglia>

	* NEWS: Forgot to list Bug #2875 in the NEWS file.

2007-01-15  castaglia <castaglia>

	* modules/mod_ctrls.c: Use a socklen_t, rather than a size_t, for
	accept(2).

2007-01-15  castaglia <castaglia>

	* configure: Updated configure.

2007-01-15  castaglia <castaglia>

	* configure.in: Bug#2875 - Malformed getopt checks cause compilation
	errors in getopt.c.

2007-01-14  castaglia <castaglia>

	* configure: Updated configure.

2007-01-14  castaglia <castaglia>

	* configure.in: There's no need to define PR_USE_SENDFILE as zero.

2007-01-13  castaglia <castaglia>

	* include/proctitle.h, src/main.c, src/proctitle.c: Move the
	proctitle functions into the 'pr_' namespace, just to be safe (and
	consistent).

2007-01-13  castaglia <castaglia>

	* doc/contrib/mod_quotatab.html: Specify what I mean when I say
	"groups" and "classes".

2007-01-13  castaglia <castaglia>

	* include/pidfile.h, src/main.c, src/pidfile.c: Move the pidfile
	functions into the 'pr_' namespace, so that they don't collide with
	functions of the same names on systems whose <libutil.h> system
	header defines them (with conflicting prototypes).  Yay portability.

2007-01-13  castaglia <castaglia>

	* locale/.cvsignore: Another .cvsignore file for locale/.

2007-01-12  castaglia <castaglia>

	* contrib/mod_load/.cvsignore, contrib/mod_wrap2/.cvsignore: Add
	.cvsignore files for the mod_load/ and mod_wrap2/ directories.

2007-01-12  castaglia <castaglia>

	* include/version.h: Back to CVS status, for the next RC release.

2007-01-12  castaglia <castaglia>

	* ChangeLog: Updated ChangeLog.

2007-01-12  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
	for 1.3.1rc2 release.

2007-01-12  castaglia <castaglia>

	* RELEASE_NOTES: Adding release notes for 1.3.1rc2.

2007-01-12  castaglia <castaglia>

	* doc/howto/TLS.html: Add a mod_tls FAQ about the "no shared cipher"
	error.

2007-01-12  castaglia <castaglia>

	* src/fsio.c: In the case of successful chown() and chmod() calls,
	clear the statcache, as the cached data may now be stale.

2007-01-12  castaglia <castaglia>

	* src/env.c, src/pidfile.c, src/proctitle.c: Correct the license
	wording to mention The ProFTPD Project as primary copyright holder.

2007-01-12  castaglia <castaglia>

	* Make.rules.in, include/conf.h, include/env.h, include/support.h,
	src/env.c, src/support.c: Refactored the pr_env_* routines into
	their own source and header files.

2007-01-11  castaglia <castaglia>

	* src/ftpdctl.c: Since src/ftpdctl.c has its own copy of sstrcat()
	and sstrncpy() (itself a bad sign), it needs to have the same
	paranoid checks added to those functions as were added to the core
	implementations.

2007-01-11  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: When 'ftpdctl shutdown' is used,
	include the number of sessions being summarily terminated (after a
	grace period) in the ControlsLog message.

2007-01-11  castaglia <castaglia>

	* Make.rules.in, include/conf.h, include/pidfile.h, src/main.c,
	src/pidfile.c: More refactoring of src/main.c.  Now the PID file
	routines (writing and removing the pidfile) are separated out.

2007-01-11  castaglia <castaglia>

	* Make.rules.in, include/conf.h, include/proctitle.h, src/main.c,
	src/proctitle.c: The src/main.c file is a bit hairy mess, and in
	desperate need of refactoring.  This moves the process title
	functions into their own proctitle.c file, with accompanying header.

2007-01-11  castaglia <castaglia>

	* contrib/mod_sql.c: Another in the series of patches for Bug#2869,
	this one makes sure that sites which use the 'fast' parameter in
	SQLAuthenticate still operate properly.

2007-01-11  castaglia <castaglia>

	* src/pool.c: The bytes_in_block_list() function should be #ifdef'd
	as well behind PR_USE_DEVEL.

2007-01-11  castaglia <castaglia>

	* include/compat.h, include/dirtree.h, include/fsio.h,
	include/pool.h, src/dirtree.c, src/fsio.c, src/main.c, src/pool.c: 
	Move a lot of functions, either existing or new, behind PR_USE_DEVEL
	checks, since a lot of functions are meant only for the debugging
	purposes of proftpd developers.  (Hopefully this will make the
	resulting proftpd executable slightly smaller.)  There will be more
	such debugging functions added; they are meant as hooks utilized by
	a mod_debug module (again, only for developer use).  The only user-visible change in this is that the SIGUSR2 signal,
	when sent to a proftpd process, would cause that process to print
	out a trace of its memory pool usage.  Now, a SIGUSR2 signal will
	cause an event to be generated -- but the printing of the memory
	pool usage is gone.  I may add that back at some point, if/when
	there is a hue and cry raised.

2007-01-10  castaglia <castaglia>

	* configure: Updated configure.

2007-01-10  castaglia <castaglia>

	* configure.in: Thinko.

2007-01-10  castaglia <castaglia>

	* Make.rules.in, lib/Makefile.in: Put the declarations for ar and
	ranlib in a place that's visible to contrib modules (namely,
	Make.rules).  Update the lib/Makefile to use that location; while
	I'm at it, remove the stale dependency listings from lib/Makefile.

2007-01-10  castaglia <castaglia>

	* configure: Updated configure.

2007-01-10  castaglia <castaglia>

	* contrib/mod_load/config.guess, contrib/mod_load/config.sub: The
	configure script for the mod_load module requires the config.sub and
	config.guess helper scripts.

2007-01-10  castaglia <castaglia>

	* configure.in: Check for the existence of the file before trying to
	cat it.

2007-01-10  castaglia <castaglia>

	* configure: Updated configure.

2007-01-10  castaglia <castaglia>

	* Make.rules.in, Makefile.in, configure.in: Even more build system
	magic.  With this change, we add support for a new "hint" tag:
	$Archive$.  This particular tag is *only* honored in a very
	particular situation: the contrib module uses its own subdirectory
	(e.g.  contrib/mod_foo/) *and* that module is being built as a
	static module.  Contrib modules built as shared modules fall into
	different linking rules.  The purpose of this $Archive$ tag is to allow the Makefile for that
	mod_foo module to be built from multiple source files, which would
	result in multiple object files.  All of those object files would
	need to be part of the command to link the final `proftpd'
	executable.  (A shared module would not need to present for this
	link step.) Rather than have multiple object files from contrib modules, it
	involves less files (though at the cost of more complexity) to use a
	single archive file, e.g. mod_foo.a.  The Makefile for the contrib
	module, for its "static" target, will thus need to assemble a
	mod_foo.a archive from the various .o files.  When this happens, the
	contrib module uses the $Archive$ hint (similar to the $Libraries$
	hint) to let proftpd's module build system know to expect that
	archive file.

2007-01-09  castaglia <castaglia>

	* configure: Updating configure.

2007-01-09  castaglia <castaglia>

	* configure.in: More build system magic.  This allows contrib module
	developers, who use their own module-specific subdirectory e.g.
	contrib/mod_foo/, to have the $Libraries$ tags in their mod_foo.c,
	mod_foo.h, or mod_foo.h.in files be properly picked up by proftpd's
	build system, just as happens for a module in contrib/mod_foo.c.

2007-01-09  castaglia <castaglia>

	* configure: Updating configure.

2007-01-09  castaglia <castaglia>

	* contrib/mod_load/Makefile.in, contrib/mod_wrap2/Makefile.in: 
	There's no need to redefine LIBS, then use it in the link command.
	Just use SHARED_MODULE_LIBS directly, and don't obfuscate the
	matter.

2007-01-09  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: Add DSO and lastlog support to the
	RPM spec.

2007-01-09  castaglia <castaglia>

	* Make.rules.in, configure.in, contrib/mod_load/Makefile.in,
	contrib/mod_wrap2/Makefile.in: Tweak the build system so that any
	LIBS specified on the command-line are picked up when building
	shared modules whose sources are in their own directory (e.g.
	mod_load, mod_wrap2).  This may sound like a bit of an edge case,
	but I suspect that it will become a necessity once proftpd supports
	having contrib modules that come with their own message catalogs
	(i.e. NLS support), and thus may need to be linked against the
	libintl library (which provides gettext() support).

2007-01-09  castaglia <castaglia>

	* src/modules.c: Set errno to EINVAL, when appropriate, in a few
	places.

2007-01-09  castaglia <castaglia>

	* src/parser.c: Paranoid checking of signals within a while loop, in
	case the loop should decide to continue endlessly.

2007-01-08  castaglia <castaglia>

	* src/auth.c: Make sure that dispatch_auth() does not loop
	endlessly, if there are never any ERROR or HANDLED returns from the
	auth module handlers.  Simply keep track of the starting table, and
	watch the iterator table; when the two match, we have looped through
	the auth handlers, and will assume that the entire auth command has
	been DECLINED.

2007-01-08  castaglia <castaglia>

	* modules/Makefile.in, src/Makefile.in, utils/Makefile.in: Remove
	crufty, outdated, and unnecessary dependency listings.

2007-01-08  castaglia <castaglia>

	* configure: Updated configure.

2007-01-08  castaglia <castaglia>

	* config.h.in, configure.in, include/support.h, lib/getopt.h: I
	discovered last night that proftpd's build system was not doing as
	advertised.  Specifically, it continued to build the bundled getopt
	implementation regardless of whether the host system had its own
	getopt support.  (I discovered this on Mac OS X, whose linker is
	apparently more picky that the one on my Linux machine, and which
	was complaining of multiply defined _opt* symbols.) This changes updates the build system so that it does as stated: if
	the host system does not have getopt support, we use our own.

2007-01-08  castaglia <castaglia>

	* src/auth.c: Yet another while loop in need of signal handling.

2007-01-07  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: Add controls support to the RPM
	spec.

2007-01-07  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: Include the installed header files
	in the RPM spec.  Add ability for specifying mod_quotatab_file.

2007-01-06  castaglia <castaglia>

	* doc/howto/TLS.html: Add documentation mentioning the CCC command,
	and how to configure mod_tls such that command is allowed for FTPS
	clients.

2007-01-06  castaglia <castaglia>

	* contrib/mod_tls.c: If the TLSRequired setting is such that the
	control connection *cannot* be unprotected, then be sure to deny any
	CCC commands.

2007-01-04  castaglia <castaglia>

	* src/support.c: Fix dir_abs_path() such that it does not tack on
	redundant directories to the end of a relative path.

2007-01-03  castaglia <castaglia>

	* modules/mod_auth_file.c: Remember to use PR_DECLINED rather than
	DECLINED.

2007-01-03  castaglia <castaglia>

	* modules/mod_auth_file.c: Paranoid checking for a NULL return value
	from crypt(3), just in case.  One user's debug logs suggest a
	segfault in mod_auth_file's "check" routine.  Might end up be a red
	herring, but this code is still useful.

2007-01-03  castaglia <castaglia>

	* contrib/mod_sql.c: Make sure that "SQLAuthenticate groupset" works
	properly.

2007-01-03  castaglia <castaglia>

	* Make.rules.in: Make sure the LIBS environment variable is honored
	when linking the utility programs (i.e. ftptop, ftpwho).

2007-01-02  castaglia <castaglia>

	* doc/contrib/mod_quotatab_ldap.html: Minor clarification.

2006-12-28  castaglia <castaglia>

	* NEWS, src/mkhome.c: Bug#2872 - CreateHome doesn't recreate
	symlinks from skeleton properly.

2006-12-27  castaglia <castaglia>

	* src/parser.c: Fix a nasty bug where a <Directory> section which
	contained a <Limit> section, but no other directives, e.g.:   <Directory /path>     <Limit LIST>       DenyAll     </Limit>   </Directory> was handled as being "empty", and thus ignored; the <Limit> would
	not take effect.

2006-12-22  castaglia <castaglia>

	* contrib/mod_sql.c: Paranoid NULL termination of vararg lists to
	the sql_prepare_where() variadic function.

2006-12-22  castaglia <castaglia>

	* contrib/mod_sql.c: Additional work toward Bug #2869, trying to
	preserve the functionality added for Bug #2828.  (That is, make sure
	that variables within the user-defined SQLGroupWhereClause are still
	processed/resolved properly.)

2006-12-22  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#2869 - mod_sql botches WHERE clauses.

2006-12-21  castaglia <castaglia>

	* contrib/mod_ratio.c, include/dirtree.h, src/dirtree.c: It's past
	time to get rid of get_param_int().  This function was very naught,
	and used the size of a void * for storing int values.  The rest of
	the proftpd code has been cleansed of its use (replaced with
	get_param_ptr()); mod_ratio was the last holdout.

2006-12-21  castaglia <castaglia>

	* src/dirtree.c: "Temporary" fix has been in place for years; remove
	the misleading comment and commented-out code, since it's proven
	itself to not be needed.

2006-12-20  castaglia <castaglia>

	* contrib/mod_load/install-sh, contrib/mod_wrap2/install-sh,
	include/install-sh, locale/install-sh, modules/install-sh: For
	platforms which don't have a standard `install' program, we provide
	the install-sh script.  On those platforms, though, this script
	needs to be in the same directories as the Makefiles which use
	install, rather than just in the top-level directory.

2006-12-20  castaglia <castaglia>

	* modules/mod_core.c, src/trace.c: Fixing two issues with this
	change: 1) Once set in a config file, the Trace/TraceLog directives were
	   always being honored, even after those directives had been removed
	   from the config file and proftpd restarted.  2) After a restart, the TraceLog fd would often be the same as used
	   for connected clients, with the result that the clients would
	   receive some of the trace log messages.  To address this, we need to
	   ensure that the TraceLog fd is never one of the major three (stdin,
	   stdout, or stderr).

2006-12-19  castaglia <castaglia>

	* src/parser.c, src/trace.c: Adding tracing of the parser, using the
	'config' trace channel.

2006-12-19  castaglia <castaglia>

	* src/netaddr.c: More tracing of netaddr functions, particularly in
	the reverse DNS resolution code.

2006-12-19  castaglia <castaglia>

	* modules/mod_auth_pam.c: Adding tracing of PAM.

2006-12-19  castaglia <castaglia>

	* src/netaddr.c: Adding tracing of netaddr functions, using the
	trace channel name 'dns'.

2006-12-19  castaglia <castaglia>

	* modules/mod_facl.c, src/trace.c: Adding tracing of POSIX ACLs.

2006-12-19  castaglia <castaglia>

	* contrib/mod_quotatab.c: Make sure we remove mod_quotatab's custom
	FS, if registered, when the module is being unloaded (as a shared
	module).

2006-12-19  castaglia <castaglia>

	* NEWS, src/event.c: Bug#2857 - Failure to properly unregister event
	handlers leads to segfault after restarts.  When scanning the lists of event handlers to find the handlers to
	remove, we need to make sure we cover all lists, not short-circuit
	out when we don't find any matching handlers on the first list
	examined.

2006-12-18  castaglia <castaglia>

	* src/netacl.c: Adding tracing of NetACLs.

2006-12-18  castaglia <castaglia>

	* src/ident.c: Add tracing of ident lookups.

2006-12-18  castaglia <castaglia>

	* contrib/mod_ban.c: Get in the habit of setting pools to NULL after
	destroying them.  Update to use newer Timer API.

2006-12-18  castaglia <castaglia>

	* modules/mod_core.c: The handling of TraceLog was done well; after
	a restart, the TraceLog might very well have opened on a
	low-numbered fd, one assumed to be used for a connecting client.
	This means that after a restart, connecting clients might
	inadvertently receive TraceLog messages on their client, as if they
	were FTP response messages from proftpd.  Oops.

2006-12-18  castaglia <castaglia>

	* src/inet.c: FreeBSD 7 on its way.

2006-12-18  castaglia <castaglia>

	* src/support.c: The pickier compiler on my Linux laptop caught this
	thinko.

2006-12-17  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_log.c, src/parser.c: Use
	pr_env_get() rather than getenv(3).

2006-12-17  castaglia <castaglia>

	* contrib/mod_wrap2/mod_wrap2.c, modules/mod_auth.c,
	modules/mod_core.c: Update modules to use pr_env_set() rather than
	setenv().  This is mostly for the benefit of systems which may
	provide putenv() rather than setenv().

2006-12-17  castaglia <castaglia>

	* configure: Updated configure.

2006-12-17  castaglia <castaglia>

	* config.h.in, configure.in, include/support.h, src/support.c: 
	Rather than using setenv(3) and unsetenv(3) directly, provide
	pr_env() wrappers.  This is particularly useful for Solaris systems,
	which may not provide setenv(3) but *do* provide putenv(3);
	pr_env_set() handles this transparently.  (If present, setenv(3) is
	used, otherwise if putenv(3) is present, that is used, otherwise
	ENOSYS.)

2006-12-16  castaglia <castaglia>

	* modules/mod_ctrls.c, src/ctrls.c: Add tracing of controls.

2006-12-15  castaglia <castaglia>

	* modules/mod_dso.c: Adding tracing of DSO modules.

2006-12-15  castaglia <castaglia>

	* doc/contrib/mod_ctrls_admin.html: Documentation for the 'trace
	info' ftpctl action.

2006-12-15  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: Fix the handling of a 'trace info'
	control action, so that the list of trace channels and their
	respective log levels is comprehensibly displayed.

2006-12-15  castaglia <castaglia>

	* src/fsio.c: Add more handling of possible signals within while()
	loops.

2006-12-15  castaglia <castaglia>

	* modules/mod_ls.c: Style changes, and some additional
	pr_signals_handle() calls in while() loops.

2006-12-15  castaglia <castaglia>

	* src/event.c: Use tracing for logging of events, rather than debug
	logging.

2006-12-15  castaglia <castaglia>

	* src/fsio.c: Add tracing of the FSIO API, no longer using
	pr_log_debug().

2006-12-15  castaglia <castaglia>

	* src/auth.c: Moving more logging out of the main error log, and
	into the TraceLog.  A lot of this level detail isn't always
	necessary.

2006-12-15  castaglia <castaglia>

	* doc/contrib/mod_ctrls_admin.html: Add docs for the 'trace' control
	action.

2006-12-15  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2849 - Error msg "Not owner"
	returned by "SIZE in ASCII mode" is misleading.

2006-12-15  castaglia <castaglia>

	* src/utf8.c: Make sure that utf8_init() and utf8_free() are present
	for use by the linker, even if they return ENOSYS.

2006-12-15  castaglia <castaglia>

	* lib/getopt.c: Make sure to reference the gettext() function only
	when NLS support has been requested.  Otherwise, confusing linker
	errors result.

2006-12-15  castaglia <castaglia>

	* src/timers.c: Add timer tracing.

2006-12-15  castaglia <castaglia>

	* include/compat.h, include/timers.h: Compatibility macros should
	all be collected in compat.h.

2006-12-14  castaglia <castaglia>

	* locale/Makefile.in: Using the --sort-by-file option when
	generating message catalogs.

2006-12-14  castaglia <castaglia>

	* modules/mod_delay.c: Move a lot of the debug logging in mod_delay
	out of proftpd's main error log into the TraceLog using tracing.

2006-12-14  castaglia <castaglia>

	* src/inet.c: Use tracing to log when we have successfully bound an
	address/port to a socket.

2006-12-14  castaglia <castaglia>

	* configure: Updated configure.

2006-12-14  castaglia <castaglia>

	* Make.rules.in, Makefile.in, configure.in: The utilities (ftptop,
	ftpwho, etc) also need to be linked with libintl, if NLS support is
	enabled and libintl is present.

2006-12-13  castaglia <castaglia>

	* NEWS, contrib/mod_radius.c, doc/contrib/mod_radius.html: Bug#2856
	- Support for RADIUS NAS-Identifier attribute.

2006-12-13  castaglia <castaglia>

	* configure: Updated configure.

2006-12-13  castaglia <castaglia>

	* configure.in: Better checking for the required libintl support
	when --enable-nls is selected.  If the requisite functions (e.g.
	bindtextdomain(), gettext()) aren't found in libintl, then libc is
	checked.  If not there either, then configure will abort.

2006-12-13  castaglia <castaglia>

	* modules/mod_ls.c: Use strcoll(3) both when NLS is enabled and when
	strcoll(3) is actually present.

2006-12-13  castaglia <castaglia>

	* modules/mod_lang.c: Make sure that mod_lang can compile if libintl
	support is absent.

2006-12-13  castaglia <castaglia>

	* src/utf8.c: Make sure utf8.c can compile and run, even when iconv
	support is lacking.

2006-12-12  castaglia <castaglia>

	* doc/modules/mod_delay.html: Typo.

2006-12-12  castaglia <castaglia>

	* include/version.h: Back to CVS mode, for the next RC release.

2006-12-12  castaglia <castaglia>

	* ChangeLog: Updated ChangeLog.

2006-12-12  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
	for 1.3.1rc1 release.

2006-12-12  castaglia <castaglia>

	* RELEASE_NOTES: Finish polishing up these release notes.

2006-12-12  castaglia <castaglia>

	* NEWS, src/ctrls.c: Bug#2867 - Local authorized user buffer
	overflow in Controls request handling.

2006-12-11  castaglia <castaglia>

	* src/var.c: Handle the case where the retrieved variable is NULL.

2006-12-11  castaglia <castaglia>

	* modules/mod_ls.c: More pedantic checks for NULL pointers.

2006-12-11  castaglia <castaglia>

	* contrib/mod_sql.c: Use pr_log_debug() to handle cases where the
	database-specific SQL backend module is chosen, as a SQLLogFile may
	not have been opened at the time of backend selection.

2006-12-11  castaglia <castaglia>

	* doc/howto/TLS.html: Add a mod_tls FAQ about linker errors related
	to libdl.

2006-12-11  castaglia <castaglia>

	* modules/mod_core.c: More safety checking of possibly NULL return
	values.

2006-12-11  castaglia <castaglia>

	* modules/mod_core.c: Move the check for a NULL path earlier, before
	we actually try to use path by calling pr_fsio_fstat() on it.

2006-12-11  castaglia <castaglia>

	* src/log.c: Handle a possible return value of NULL from
	localtime(3).

2006-12-11  castaglia <castaglia>

	* src/fsio.c: Check for NULL return values from strdup(3).

2006-12-11  castaglia <castaglia>

	* src/dirtree.c: Paranoid checks for NULL pointers, to ensure we
	don't accidentally pass them to library functions (e.g. strstr(3) or
	substr(3)).

2006-12-11  castaglia <castaglia>

	* modules/mod_ls.c, modules/mod_site.c, src/fsio.c, src/trace.c: Off
	by one.

2006-12-11  castaglia <castaglia>

	* lib/glibc-glob.c: Paranoid null pointer check.  Useful, since we
	do use the ALTDIRFUNC flag.

2006-12-11  castaglia <castaglia>

	* src/fsio.c: Make sure pr_fs_dircat() doesn't attempt to operate on
	NULL pointers.

2006-12-11  castaglia <castaglia>

	* modules/mod_log.c: More insurance that a possible NULL value isn't
	passed to a library call, e.g. strftime(3).

2006-12-11  castaglia <castaglia>

	* modules/mod_log.c: Ensure we don't inadvertently attempt to lookup
	a NULL environment variable name, or copy a NULL environment
	variable value.

2006-12-11  castaglia <castaglia>

	* src/trace.c: Paranoid check for improper indices into the
	allocated buffer.

2006-12-11  castaglia <castaglia>

	* src/support.c: Ensure that we don't accidentally go past the end
	of the allocated array.

2006-12-11  castaglia <castaglia>

	* modules/mod_site.c: Another possible negative array index catch.

2006-12-11  castaglia <castaglia>

	* modules/mod_ls.c: Catch another possible situation where the index
	used may inadvertently be -1.

2006-12-11  castaglia <castaglia>

	* src/fsio.c: Pedantically fix some edge cases where an index of -1
	might accidentally be used.

2006-12-07  castaglia <castaglia>

	* src/main.c: I think that the majority of sites don't use Classes
	so much, so move the log message about connections from unknown
	classes up a few debug log levels.

2006-12-07  castaglia <castaglia>

	* modules/mod_ls.c: If sorting of directory listings by file name is
	requested, and NLS support is enabled, be sure to use the
	locale-sensitive strcoll(3) function for comparison, rather than
	strcmp(3).

2006-12-06  castaglia <castaglia>

	* configure: Updated configure.

2006-12-06  castaglia <castaglia>

	* config.h.in, configure.in, include/conf.h: NLS support requires
	checking for the locale.h header, and including it if necessary.

2006-12-06  castaglia <castaglia>

	* doc/howto/DisplayFiles.html: Renamed DisplayFirstChdir to
	DisplayChdir, and added mention of the new DisplayFileTransfer.

2006-12-06  castaglia <castaglia>

	* include/display.h, src/display.c: Add the ability to display files
	via filehandles, using pr_display_fh(), in addition to displaying
	files via paths using pr_display_file().  Why would we want pr_display_fh()?  Many sites, especially those
	with lots of users, like DisplayLogin, but they also want to chroot
	their users.  The handling of DisplayLogin could be changed to open
	a filehandle prior to the chroot, if necessary, and thus continue to
	display a file whilst allowing chrooted users.  That's the goal,
	anyway.

2006-12-06  castaglia <castaglia>

	* src/display.c: Use tracing, rather than debug level 10, for
	logging about unresolved variables in Display files.

2006-12-06  castaglia <castaglia>

	* src/trace.c: Add a default trace channel for logging from the
	Variables API layer.

2006-12-06  castaglia <castaglia>

	* lib/sstrncpy.c: Include the library support header libsupp.h, at
	least, since that is what its purpose is.

2006-12-06  castaglia <castaglia>

	* lib/sstrncpy.c: No need to pull in all of proftpd's configuration
	for sstrncpy().

2006-12-05  castaglia <castaglia>

	* contrib/mod_wrap2/mod_wrap2.c: More updates to the current APIs.

2006-12-05  castaglia <castaglia>

	* contrib/mod_ban.c, contrib/mod_wrap2/mod_wrap2.c: Updating
	mod_ban, mod_wrap2 to use newer module API names and macros.

2006-12-05  castaglia <castaglia>

	* include/log.h: Use GCC pragmas for checking callers of
	pr_log_writefile() as well.

2006-12-05  castaglia <castaglia>

	* modules/mod_ls.c: Since the sendline() arguments were giving us
	such trouble, I decided to make use of GCC's attribute pragma to
	warn about printf-like functions, as is done in other places in the
	proftpd code (e.g. the Response API header).

2006-12-05  castaglia <castaglia>

	* src/support.c: Typo.

2006-12-05  castaglia <castaglia>

	* src/trace.c: Add 'data' as one of the built-in trace channel
	names.

2006-12-05  castaglia <castaglia>

	* contrib/mod_tls.c: Add some comments reminding me why I see
	gibberish in the debug logging, depending on the mod_tls
	configuration.

2006-12-04  castaglia <castaglia>

	* contrib/mod_tls.c: Rather than logging when CRLs have not been
	configured, log when CRLs *are* present and being used.

2006-12-04  castaglia <castaglia>

	* contrib/mod_tls.c: More paranoia.  Also some minor style changes.

2006-12-04  castaglia <castaglia>

	* contrib/mod_tls.c: Increase the size of the buffer used to log
	X509 names from the client cert to 1KB If the client certificate cannot be verified because of an invalid
	purpose, log the purposes of the client certificate.

2006-12-04  castaglia <castaglia>

	* contrib/mod_tls.c: X509_STORE_CTX_init() did not return a value in
	versions of OpenSSL prior to 0.9.7.  Also conditionalize the use of the tls_crypto_device variable as per
	supporting OpenSSL version.

2006-12-04  castaglia <castaglia>

	* modules/mod_ls.c: Correct one case where sendline() was being
	called with two format parameters but only one argument (led to
	garbage being sent to client in directory listing).  Also, make sure
	that all callers of sendline() use NULL as the last argument, as is
	proper for any variadic function.

2006-12-04  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#2862 - NLST / returns a listing of the
	current directory.

2006-12-04  castaglia <castaglia>

	* modules/mod_ls.c: More paranoia.  Make sure that the length
	returned from readlink() isn't too large for our buffers.

2006-12-04  castaglia <castaglia>

	* src/support.c: More defensive checking of input arguments, in
	pr_memscrub() and sstrcat().

2006-12-04  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#2863 - LIST of nonexistent file causes
	RST on data channel.  As with a similar issue with the NLST command,
	make sure the data channel is opened before closing it, lest the
	client receive a RST on their end of the data channel.

2006-12-04  castaglia <castaglia>

	* locale/Makefile.in: Be more specific about the language support
	right now: en_US instead of en.

2006-12-02  castaglia <castaglia>

	* RELEASE_NOTES: More release notes.

2006-12-02  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Document the SQLOptions directive.

2006-12-02  castaglia <castaglia>

	* locale/Makefile.in: Don't forget to include the step that actually
	compiles a .po into a machine-readable .mo file.  The .mo file is
	what will be installed into the locale/ directory, and used by the
	gettext library.

2006-12-02  castaglia <castaglia>

	* modules/mod_lang.c: Call bindtextdomain(3), using the configured
	LangPath (or PR_LOCALE_DIR if not configured), in order to use the
	translated message catalogs for proftpd there.

2006-12-02  castaglia <castaglia>

	* RELEASE_NOTES: More documentation for the release notes.

2006-12-02  castaglia <castaglia>

	* configure: Updating configure.

2006-12-01  castaglia <castaglia>

	* Make.rules.in, Makefile.in, configure.in: Only try to build the
	locale-related message catalogs etc if the --enable-nls configure
	option is used.

2006-12-01  castaglia <castaglia>

	* RELEASE_NOTES: Start adding more substance to the release notes,
	in preparation for a release.

2006-12-01  castaglia <castaglia>

	* locale/Makefile.in: Make errors with creating translation catalogs
	non-fatal during the build process.

2006-12-01  castaglia <castaglia>

	* locale/Makefile.in, locale/files.txt: More work on the Makefile
	for generating the template message catalog for translation.

2006-11-30  castaglia <castaglia>

	* contrib/ftpquota: If opening a quota table for displaying records
	only, open the table in read-only mode, rather than read-append
	mode.

2006-11-30  castaglia <castaglia>

	* src/ftpdctl.c: Return a value, since the function definition
	requires it.

2006-11-29  castaglia <castaglia>

	* contrib/mod_radius.c: Make sure that the attribute length for UIDs
	and GIDs does not exceed the size of the variable used for holding
	the UID and GID.

2006-11-29  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#2860 - Failure to check for data
	length in mod_tls could lead to remote buffer overwriting.  (Also add entry for Bug #2858.)

2006-11-29  castaglia <castaglia>

	* contrib/mod_tls.c: Prevent some possible NULL pointer dereferences
	by checking for tls_pkey before using it.  Use root privileges when checking for the existence of certificate
	and key files, during the config handler runs.  These files are
	opened with root privs later in the module, so the checks for the
	existence should also use root privs.

2006-11-29  castaglia <castaglia>

	* contrib/mod_radius.c: Fix typo in declaration of static
	MD5_Update() function.  Also add paranoid check for size of attribute length, in RADIUS
	packet, which exceeds the maximum size of the data type.

2006-11-28  jwm <jwm>

	* src/support.c: use the version that was released as part of
	1.3.0a; these integer "overflows" aren't exploitable, so there is no
	prophylactic difference

2006-11-27  jwm <jwm>

	* src/support.c: Bug #2858 - CVE-2006-5815: remote code execution in
	ProFTPD

2006-11-17  jwm <jwm>

	* src/main.c: - avoid passing a NULL pointer to pr_log_pri() as it can causes
	  segfaults on some platforms.  - make the 'invalid CommandBufSize' error message a litle  clearer

2006-11-01  castaglia <castaglia>

	* lib/glibc-glob.c: Catch a few cases, from code borrowed from
	glibc, where the return value from realloc(3) was not being checked
	to see if it's NULL before using it.

2006-11-01  castaglia <castaglia>

	* lib/sstrncpy.c, src/support.c, utils/misc.c: Prevent sstrcat() and
	sstrncpy() from working on buffers if the length argument is zero.

2006-11-01  castaglia <castaglia>

	* modules/mod_ls.c: Since readlink(2) is not guaranteed to
	NUL-terminate the provided buffer, we need to save space for the NUL
	terminator.

2006-11-01  castaglia <castaglia>

	* src/netio.c: Require that callers of pr_netio_gets() and
	pr_netio_telnet_gets() specify a non-zero buffer length.

2006-11-01  castaglia <castaglia>

	* lib/pwgrent.c, modules/mod_auth_file.c: Check if realloc(3)
	returned NULL or not before blindly assigning the return value to
	our pointer.

2006-10-31  castaglia <castaglia>

	* src/main.c: Fix an issue where the cmd_buf_size variable, for the
	size of the buffer used for reading FTP commands sent by clients,
	was not being properly set to the size configured via the
	CommandBufferSize directive.

2006-10-30  castaglia <castaglia>

	* doc/howto/SQL.html: Add an example of using Python to generate an
	OpenSSL-encoded mod_sql password string.

2006-10-25  castaglia <castaglia>

	* src/ftpdctl.c: Add stub for pr_trace_msg(), so that linking
	ftpdctl does not fail.

2006-10-24  castaglia <castaglia>

	* src/event.c: Allocate a larger event pool (ref Bug #2850).

2006-10-24  castaglia <castaglia>

	* NEWS, src/pool.c: Bug#2850 - Small event pool allocation on 64-bit
	machine leads to segfault on startup.  See the bug report for an
	excellent analysis of the issue.

2006-10-24  castaglia <castaglia>

	* src/ctrls.c, src/event.c: Add tracing of when control action
	handlers and event handlers are registered and unregistered.

2006-10-24  castaglia <castaglia>

	* contrib/mod_ban.c: Update the mod_ban module to be better behaved
	as a shared module.

2006-10-24  castaglia <castaglia>

	* src/trace.c: Be sure to set the trace table pointer to NULL after
	clearing the pool from which it was allocated.

2006-10-24  castaglia <castaglia>

	* contrib/mod_wrap2/mod_wrap2.c, contrib/mod_wrap2/mod_wrap2.h.in: 
	Updated mod_wrap2 to be better behaved when compiled as a shared
	module.

2006-10-20  jwm <jwm>

	* contrib/mod_ldap.c: add much more extensive debugging output

2006-10-13  castaglia <castaglia>

	* src/parser.c: Treat a trailing LF as the eol marker; no need to
	treat any CRs before that LF as eol markers.

2006-10-13  castaglia <castaglia>

	* src/parser.c: Typo.

2006-10-13  castaglia <castaglia>

	* src/parser.c: If we don't find an end-of-line marker (LF or CRLF)
	in the line of configuration data read in, issue a warning, so that
	the admin knows that any configuration error may be caused by data
	truncation.

2006-10-11  castaglia <castaglia>

	* doc/modules/mod_facl.html: Add small doc for the mod_facl module.

2006-10-11  castaglia <castaglia>

	* RELEASE_NOTES, modules/mod_facl.c: Add a runtime directive for
	disabling mod_facl, if needed.

2006-10-05  castaglia <castaglia>

	* src/parser.c: Style cleanup.  Sprinkle more "pr_signals_handle()"
	around within the while loops, too.

2006-10-05  castaglia <castaglia>

	* NEWS, src/parser.c: Bug#2848 - Unable to properly parse config
	files using Windows-style line endings.

2006-10-04  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2847 - HiddenStores files not
	properly removed if data transfer times out.

2006-09-29  castaglia <castaglia>

	* RELEASE_NOTES: A little more about UseIPv6, and the command-line
	options.

2006-09-29  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, include/netaddr.h, modules/mod_core.c,
	src/bindings.c, src/dirtree.c, src/inet.c, src/main.c,
	src/netacl.c, src/netaddr.c, src/proftpd.8.in: Bug#2817 - Ability to
	disable IPv6 support at runtime.

2006-09-27  castaglia <castaglia>

	* src/main.c: Reset the handler for the SIGUSR2 signal (and NOT the
	SIGHUP signal) in the sig_evnt() handler.

2006-09-18  castaglia <castaglia>

	* configure: Updating configure.

2006-09-18  castaglia <castaglia>

	* Makefile.in, configure.in, locale/Makefile.in: Renaming the po/
	directory to locale/.

2006-09-14  castaglia <castaglia>

	* NEWS, src/fsio.c: Bug#2842 - Filesystem statcache is not correctly
	caching return value of stat().

2006-09-13  castaglia <castaglia>

	* configure: Updated configure.

2006-09-13  castaglia <castaglia>

	* Makefile.in, configure.in, po/Makefile.in: Start of a po/Makefile,
	for building .po files (localised message strings).  Part of the
	support for RFC2640.

2006-09-12  castaglia <castaglia>

	* modules/mod_auth.c: If MaxLoginAttempts is exceeded, mention in
	the generated log message that we are refusing the client's
	connection.

2006-09-12  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Remove mention of SQLHomedirOnDemand, as
	that directive is now deprecated.

2006-09-12  castaglia <castaglia>

	* NEWS, RELEASE_NOTES: There is no 'SQLWhereClause' directive.
	Oops.

2006-09-12  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#2828 - Support
	variables in SQL Where directives.

2006-09-11  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Document the syntax for refering to
	environment variables in a SQLNamedQuery.

2006-09-11  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#2799 - SQLNamedQuery
	should support environment variables.

2006-09-11  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Add documentation for the new
	TLSPassPhraseProvider directive.

2006-09-11  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#2756 - Support for
	TLSPassPhraseProvider.

2006-09-11  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2839 - ProFTPD seems to re-read the
	file two times in RETR command.

2006-09-11  castaglia <castaglia>

	* configure: Updating configure.

2006-09-11  castaglia <castaglia>

	* Make.rules.in, Makefile.in, config.h.in, configure.in: Add support
	for a PR_LOCALE_DIR, which will contain the localised string files
	for different locales.  The location of this directory can be set,
	at compile-time, using the --datadir configure option.  Run-time
	configuration of this path is done using mod_lang's LangPath
	directive.

2006-09-09  castaglia <castaglia>

	* README.modules, doc/modules/mod_lang.html: Add mostly-done
	documentation for mod_lang module, and mention mod_lang in the
	README.modules file.  (Note that I still need to write README.NLS.)

2006-09-09  castaglia <castaglia>

	* configure: Updated configure.

2006-09-09  castaglia <castaglia>

	* RELEASE_NOTES, configure.in, modules/mod_lang.c: Adding mod_lang
	to the mix, for supporting the LANG command, as part of implementing
	RFC2640.

2006-09-08  castaglia <castaglia>

	* NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c,
	src/main.c: Bug#2837 - Defines improperly persist across daemon
	restarts.

2006-09-08  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c: Bug#2835 - Group quotas not honored
	for supplemental group membership.

2006-09-07  castaglia <castaglia>

	* RELEASE_NOTES: Typo.

2006-09-07  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#2825 - SSL/TLS CRLs are not working
	properly.

2006-09-07  castaglia <castaglia>

	* contrib/mod_ldap.c: Check for PR_USE_OPENSSL as well as
	HAVE_OPENSSL.

2006-09-07  castaglia <castaglia>

	* contrib/mod_sql.c: Correct the checks for HAVE_OPENSSL and
	PR_USE_OPENSSL in mod_sql.

2006-09-07  castaglia <castaglia>

	* contrib/mod_radius.c: Make the ordering of OpenSSL header
	inclusion a little more legible.

2006-09-07  castaglia <castaglia>

	* contrib/mod_radius.c: When proftpd has been compiled to use
	OpenSSL, then mod_radius has no need for using it's own MD5
	routines; we can use those from OpenSSL instead.

2006-09-07  castaglia <castaglia>

	* configure: Updated configure.

2006-09-07  castaglia <castaglia>

	* configure.in: Make sure the USE_OPENSSL macro is set if mod_tls is
	compiled in.

2006-09-07  castaglia <castaglia>

	* src/bindings.c: Style changes; no functional change.

2006-09-07  castaglia <castaglia>

	* NEWS: Added mod_wrap2 to the distro.

2006-09-07  castaglia <castaglia>

	* README.modules, RELEASE_NOTES: Updating docs for mention of
	mod_wrap2.  Needs to fleshed out more.

2006-09-07  castaglia <castaglia>

	* contrib/mod_wrap2/configure: Adding configure script for
	mod_wrap2.

2006-09-07  castaglia <castaglia>

	* contrib/mod_wrap2_file.c, contrib/mod_wrap2_sql.c: Adding
	mod_wrap2 submodules.

2006-09-06  castaglia <castaglia>

	* contrib/mod_wrap2/Makefile.in, contrib/mod_wrap2/configure.in,
	contrib/mod_wrap2/mod_wrap2.c, contrib/mod_wrap2/mod_wrap2.h.in: 
	Adding mod_wrap2 to the contrib/ area.

2006-09-06  castaglia <castaglia>

	* doc/contrib/index.html, doc/contrib/mod_wrap2.html,
	doc/contrib/mod_wrap2_file.html, doc/contrib/mod_wrap2_sql.html: 
	Adding documentation for the mod_wrap2 et al modules.

2006-09-05  castaglia <castaglia>

	* include/modules.h: The privdata structure is no longer used.

2006-08-24  castaglia <castaglia>

	* contrib/mod_sql.c: When determining the backend database module to
	use, mod_sql was using the *first* entry in the list of backends,
	rather than the *last*, as is documented.  Updated the default
	behavior to properly use the last entry (which is the first module
	loaded).

2006-08-17  castaglia <castaglia>

	* modules/mod_ls.c: Fix an issue noticed by Daniel, using lftp (but
	not ftp).  When handling an NLST command on an empty directory, lftp would
	receive a TCP RST from proftpd, rather than the more polite FIN.
	This would happen because proftpd did a lazy opening of the data
	connection; the connection would be opened only when proftpd, when
	listing the contents of the directory, encountered something to
	list.  In the case of an empty directory, there would be nothing to
	list.  Hence no accept(2) for the client's data connection, followed
	by a close() on the socket.  In the TCP world, this is "slamming the
	connection closed", and hence the client would receive a RST -- the
	initial handshake was not completed before the socket was closed.  The fix, then, is trivial: always open the data connection,
	regardless of whether there is data to be sent, when handling NLST
	commands.  (For some reason this issue does not seem to affect the
	LIST command.)

2006-08-16  jwm <jwm>

	* contrib/mod_ldap.c: fix debug message format (thanks to mathew
	<meta@pobox.com>)

2006-08-09  castaglia <castaglia>

	* modules/mod_core.c: Prevent users from misconfiguring their
	servers silently by trying to use something like "<Global ~user>" in
	their proftpd.conf.

2006-08-04  castaglia <castaglia>

	* doc/howto/Limit.html: Mention that <Limit LOGIN> does not work as
	expected within <Directory> sections.

2006-08-02  castaglia <castaglia>

	* NEWS, include/options.h, src/main.c: Bug#2774 - Idle clients
	exhibit excessive usage of system resources.

2006-07-20  castaglia <castaglia>

	* RELEASE_NOTES, include/fsio.h, modules/mod_core.c, src/fsio.c: At
	Michael's suggestion, add a UseUTF8 directive, for run-time
	disabling of UTF8 support.

2006-06-29  castaglia <castaglia>

	* modules/mod_auth_unix.c: Not only was the persistent_passwdf
	variable never used, neither was the _get_ppw_info() function.

2006-06-29  castaglia <castaglia>

	* Makefile.in: Fix missing dependency of the `install-proftpd'
	target on the $(includedir).  There was a dependency already on
	$(includedir)/proftpd -- but that is not the same.

2006-06-28  castaglia <castaglia>

	* NEWS, contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: 
	Bug#2809 - conf.h should be included before mysql.h in
	mod_sql_mysql.c.  The mod_sql_postgres module was similarly updated.

2006-06-28  castaglia <castaglia>

	* NEWS, modules/mod_auth_file.c: Bug#2803 - mod_auth_file does not
	properly iterate through AuthUserFile entries.  The issue was one of
	rewinding an already open AuthUserFile, every time
	pr_auth_getpwent() was called.  The mod_auth_file module has been
	restructured to avoid this.  The code was also substantially
	changed, removing a lot of dead code for a never-used feature (that
	of supporting multiple AuthUserFiles within the same server
	context).

2006-06-28  castaglia <castaglia>

	* NEWS, contrib/mod_wrap.c: Bug#2810 - Incorrect use of assignment
	instead of comparison in mod_wrap.

2006-06-22  castaglia <castaglia>

	* include/lastlog.h, src/lastlog.c: Oops.  Forgot to check these
	files in.  They're for Bug #2610.

2006-06-22  jwm <jwm>

	* modules/mod_ctrls.c: auth_(uid|gid)2name have become
	pr_auth_(uid|gid)2name

2006-06-22  castaglia <castaglia>

	* include/proftpd.h, modules/mod_auth_unix.c: There's absolutely no
	reason for the pwdfname and grpfname variables to be visible outside
	of mod_auth_unix.

2006-06-22  castaglia <castaglia>

	* modules/mod_auth_pam.c: Explicitly set the size of the authtable
	array.  Some picky compilers apparently don't like array
	declarations without the size.

2006-06-20  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#2807 - mod_sql processes SQLLog QUIT
	query twice.

2006-06-16  castaglia <castaglia>

	* modules/mod_auth_unix.c: Remove unused variables and simplify the
	code.

2006-06-16  castaglia <castaglia>

	* contrib/mod_ldap.c: auth_check() -> pr_auth_check()

2006-06-16  castaglia <castaglia>

	* contrib/mod_sql.c: Style cleanup.

2006-06-16  castaglia <castaglia>

	* configure: Updating configure.

2006-06-16  castaglia <castaglia>

	* config.h.in, configure.in, src/main.c: Enhance the -V output to
	include the CFLAGS, LDFLAGS, and LIBS used to compile proftpd.

2006-06-16  castaglia <castaglia>

	* contrib/mod_site_misc.c: Updating mod_site_misc to handle
	UTF8-encoded paths.

2006-06-16  castaglia <castaglia>

	* NEWS: Bug#2626 - "ERROR" macro collision can cause compiler errors
	on HP-UX.

2006-06-16  castaglia <castaglia>

	* Makefile.in: There is no real need to clean the include/
	directory.

2006-06-16  castaglia <castaglia>

	* contrib/mod_ban.c, contrib/mod_ctrls_admin.c,
	contrib/mod_ifsession.c, contrib/mod_ldap.c,
	contrib/mod_quotatab.c, contrib/mod_radius.c, contrib/mod_ratio.c,
	contrib/mod_readme.c, contrib/mod_rewrite.c,
	contrib/mod_site_misc.c, contrib/mod_sql.c,
	contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c,
	contrib/mod_tls.c, contrib/mod_wrap.c: Updating contrib modules to
	use PR_ERROR, PR_DECLINED, and PR_HANDLED.

2006-06-16  castaglia <castaglia>

	* contrib/mod_load/mod_load.c.in: Update mod_load to use PR_HANDLED.

2006-06-16  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_auth_file.c,
	modules/mod_auth_pam.c, modules/mod_auth_unix.c, modules/mod_cap.c,
	modules/mod_core.c, modules/mod_ctrls.c, modules/mod_delay.c,
	modules/mod_dso.c, modules/mod_log.c, modules/mod_ls.c,
	modules/mod_site.c, modules/mod_xfer.c: Updating the core modules to
	use the PR_ERROR, PR_DECLINED, and PR_HANDLED macros.  Also includes
	style changes.

2006-06-16  castaglia <castaglia>

	* doc/mod_sample.c: Updating the sample module to reflect ongoing
	changes in the core code.

2006-06-16  castaglia <castaglia>

	* modules/mod_auth.c: To enable lastlog support requires
	--with-lastlog, not --enable-lastlog.

2006-06-16  castaglia <castaglia>

	* include/compat.h, include/dirtree.h, include/modules.h: Start work
	towards Bug #2626 -- renaming the ERROR macro to PR_ERROR, to avoid
	namespace collisions on some platforms (i.e. HP-UX).  The DECLINED
	and HANDLED macros will be similarly renamed to PR_DECLINED and
	PR_HANDLED.  Compatibility redefines in compat.h will help to make the transition
	transparent (hopefully).

2006-06-16  castaglia <castaglia>

	* src/main.c: Forgot a few places where SIG_REHASH was renamed to
	SIG_RESTART.

2006-06-16  castaglia <castaglia>

	* configure: Updating configure.

2006-06-16  castaglia <castaglia>

	* include/proftpd.h, src/main.c: Remove all the old "struct rehash"
	callback stuff.  Replace mention of "rehash" with "restart".

2006-06-16  castaglia <castaglia>

	* include/proftpd.h, src/main.c: Remove the deprecated
	pr_rehash_register_handler() function.  This functionality is now
	available via the Events API, by registering an event handler for
	the 'core.restart' event.

2006-06-16  castaglia <castaglia>

	* Make.rules.in, Makefile.in, NEWS, configure.in,
	include/Makefile.in: Bug#2719 - ProFTPD should install its header
	files into the installation location.

2006-06-15  castaglia <castaglia>

	* include/.cvsignore: Preparing to ignore the generated Makefile
	that will appear in the include/ directory.

2006-06-15  castaglia <castaglia>

	* configure: Updating configure.

2006-06-15  castaglia <castaglia>

	* Make.rules.in, NEWS, RELEASE_NOTES, config.h.in, configure.in,
	include/conf.h, modules/mod_auth.c, src/main.c: Bug#2610 - Support
	for logging to /var/log/lastlog.

2006-06-15  castaglia <castaglia>

	* src/dirtree.c: Change fixup_globals() so that it operates on the
	same list as given to fixup_servers(), rather than using the global
	server_list variable.  (There are cases where the two lists may not
	be the same.)

2006-06-15  castaglia <castaglia>

	* include/pool.h, src/pool.c: Removing unused pool code.

2006-06-15  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Update the mod_sql docs, as per changes
	for Bug #2784.  Remove the list of deprecated directives from ancient mod_sql
	versions.

2006-06-15  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sql_mysql.c: Bug#2784 - Ability
	to specify MySQL Unix domain socket path.

2006-06-15  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, modules/mod_core.c: Bug#2798 - MDTM should
	return time in GMT.

2006-06-14  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#2687 - Support for
	more efficient group table schema.

2006-06-14  castaglia <castaglia>

	* src/utf8.c: Use "C" as a default local character set, if we cannot
	determine a better one.

2006-06-14  castaglia <castaglia>

	* src/utf8.c: Add a trace message of the character set to which UTF8
	conversion will be done.

2006-06-14  castaglia <castaglia>

	* src/netaddr.c: Use separate log messages for the cases where
	getaddrinfo(3) and getnameinfo(3) fail, to differentiate between
	syscall errors (in which case, log errno) and errors with the
	functions themselves (in which case, use gai_strerror(3)).

2006-06-14  castaglia <castaglia>

	* NEWS, src/log.c: Bug#2801 - Error compiling proftpd on NetBSD
	3.0/sparc64.

2006-06-14  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#2800 - free_proc_title() in developer
	build tries to free strings from pool allocated by mod_tls.

2006-06-13  castaglia <castaglia>

	* src/scoreboard.c: Silence compiler warning (seen under
	--enable-devel) by renaming variable.

2006-06-12  castaglia <castaglia>

	* doc/howto/DSO.html: Update example Makefile to include DESTDIR.

2006-06-12  castaglia <castaglia>

	* contrib/mod_load/Makefile.in: Make sure that mod_load's Makefile
	honors DESTDIR.  Thanks to Ken Zalewski for pointing this out.

2006-06-09  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Typo.

2006-06-09  castaglia <castaglia>

	* RELEASE_NOTES: Updating the release notes.

2006-06-09  castaglia <castaglia>

	* NEWS, contrib/mod_ctrls_admin.c,
	doc/contrib/mod_ctrls_admin.html, include/scoreboard.h,
	modules/mod_core.c, src/scoreboard.c: Bug#2797 - Add ability to
	force cleaning the scoreboard.

2006-06-08  castaglia <castaglia>

	* contrib/mod_sql.c: Restore the use of CF_MERGEDOWN_MULTI on SQLLog
	and SQLShowInfo directives, but only when mod_ifsession is in use.

2006-06-08  castaglia <castaglia>

	* contrib/mod_sql.c: No need to set CF_MERGEDOWN_MULTI on directives
	that cannot appear in <Directory> sections, i.e. SQLLog and
	SQLShowInfo.

2006-06-08  castaglia <castaglia>

	* configure: Updating configure.

2006-06-08  castaglia <castaglia>

	* configure.in: Fixing typo in handling of --enable-devel=profile
	configure option.

2006-06-07  castaglia <castaglia>

	* doc/howto/Chroot.html: Bug#1323: DefaultRoot not working with nfs
	root squash + protected directories.

2006-05-26  castaglia <castaglia>

	* configure: Updated configure script.

2006-05-26  castaglia <castaglia>

	* modules/mod_core.c: Modify mod_core for handling UTF8 paths, and
	mark it for i18n.

2006-05-26  castaglia <castaglia>

	* config.h.in, configure.in, include/fsio.h, modules/mod_ls.c,
	modules/mod_site.c, modules/mod_xfer.c, src/fsio.c, src/main.c,
	src/netio.c: Marking more places in the source for gettext
	manipulation.  Added two new functions, pr_fs_decode_path() and
	pr_fs_encode_path(), which are to be used for encoding to/from UTF8
	paths (or not).

2006-05-26  castaglia <castaglia>

	* src/trace.c: Change the format of the TraceLog: The log entry does
	not need to contain any server information.

2006-05-26  castaglia <castaglia>

	* src/table.c, src/trace.c: Miscellaneous improvements: when dumping
	a table, include the length of the value data (for cases where the
	value is binary, and not a string); when adding new trace channels,
	make a copy of the channel name, as callers will not do so.

2006-05-26  castaglia <castaglia>

	* NEWS: Correct a bug number.

2006-05-25  castaglia <castaglia>

	* configure: Updating configure.

2006-05-25  castaglia <castaglia>

	* Make.rules.in, config.h.in, configure.in, include/conf.h,
	include/dirtree.h, include/utf8.h, modules/mod_auth.c,
	modules/mod_core.c, modules/mod_ls.c, modules/mod_site.c,
	modules/mod_xfer.c, src/data.c, src/help.c, src/main.c, src/utf8.c: 
	Adding UTF8 encoding/decoding functions.  Marking source, preparing
	it for use with the gettext utilities.  Part of the work towards making the proftpd source i18n/l10n ready.

2006-05-25  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, modules/mod_log.c: Bug#2793 - LogFormat
	variable for the ProFTPD version.

2006-05-25  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, modules/mod_xfer.c: Bug#2775 - Support for
	DisplayFileTransfer directive.

2006-05-24  castaglia <castaglia>

	* README.AIX: Updating the AIX notes with remarks about gcc versions
	which do and don't work.

2006-05-23  castaglia <castaglia>

	* NEWS, modules/mod_ctrls.c: Bug#2792 - ProFTPD fails after SIGHUP
	signal when Controls support is enabled.

2006-05-23  castaglia <castaglia>

	* src/dirtree.c: Style tweaks.  Add handling of signals to a while()
	loop.

2006-05-23  castaglia <castaglia>

	* configure: Updating configure script.

2006-05-23  castaglia <castaglia>

	* configure.in: Fix the --without-getopt configure option so that it
	properly disables checks for the getopt_long() function and getopt.h
	header, in addition to disabling the check for the getopt()
	function.  This was causing a problem on FreeBSD 4.x builds, where
	the libgnugetopt package would install a getopt.h header (picked up
	by proftpd's configure script) that had a conflicting redefinition
	of the getopt struct.

2006-05-23  castaglia <castaglia>

	* configure.in: Fix a bug, reported via the Debian bug system, where
	the paths from which proftpd would look for shared libraries
	included the --sbindir.  The issue was the use of the -rpath linker parameter when linking
	the proftpd executable; it is not necessary.  Loading of DSO modules
	does not seem to be affected by the removal of that -rpath.

2006-05-22  castaglia <castaglia>

	* contrib/mod_tls.c: Remove Perlism causing a broken module.  Add
	handling of signals to a potentially long-running while loop.

2006-05-22  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#2514 - Trouble with mod_tls and DSA
	certificates.

2006-05-19  castaglia <castaglia>

	* src/netaddr.c: Fix some compiler warnings, and a syntax error.

2006-05-18  castaglia <castaglia>

	* src/trace.c: If pr_trace_msg() is used with an unknown channel,
	return -1 rather than 0.

2006-05-18  castaglia <castaglia>

	* configure: Updating configure script.

2006-05-18  castaglia <castaglia>

	* Make.rules.in, NEWS, RELEASE_NOTES, config.h.in, configure.in,
	contrib/mod_ctrls_admin.c, include/conf.h, include/trace.h,
	modules/mod_core.c, src/main.c, src/response.c, src/trace.c: 
	Bug#2506 - Better ability to configure what sort of debug output to
	generate.

2006-05-18  castaglia <castaglia>

	* src/netaddr.c: Add debug logging (level 10) of when the ACL
	comparison functions pr_netaddr_cmp() and pr_netaddr_ncmp() are
	comparing an IPv4 address against an IPv4-mapped IPv6 address.

2006-05-17  castaglia <castaglia>

	* NEWS, README.IPv6, src/netacl.c, src/netaddr.c: More work on
	Bug#2785.

2006-05-15  castaglia <castaglia>

	* doc/howto/DSO.html: Make note of some of the errors you might
	encounter when using DSO modules.

2006-05-15  castaglia <castaglia>

	* NEWS, README.IPv6, README.PAM, README.classes, RELEASE_NOTES,
	modules/mod_core.c, modules/mod_xfer.c, src/netacl.c: Getting the
	restored SourceForge devel CVS repository back up to sync, after
	their hard disk failure.  Joy.

2006-05-12  castaglia <castaglia>

	* README.AIX: Document that some versions of AIX have sendfile
	issues.

2006-05-05  castaglia <castaglia>

	* contrib/mod_tls.c: Clean up the handling of the
	TLSCACertificatePath directive.

2006-04-21  castaglia <castaglia>

	* contrib/mod_quotatab.c, doc/contrib/mod_quotatab.html: Forgot to
	add the description for the QuotaExcludeFilter directive.

2006-04-21  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_quotatab.c,
	contrib/mod_quotatab.h, doc/contrib/mod_quotatab.html,
	doc/howto/Quotas.html: Bug#2713 - Ability to check a user's existing
	disk bytes/files usage and update tally accordingly.

2006-04-21  castaglia <castaglia>

	* contrib/mod_sql.h: Update the mod_sql header.  Crufty information,
	and a typo.

2006-04-21  castaglia <castaglia>

	* include/feat.h, src/feat.c: Change the way the Feat API stores
	features to be listed, from using an array to using a table.  This
	makes it much easier to remove features from the listing.

2006-04-21  castaglia <castaglia>

	* contrib/mod_sql.c, contrib/mod_sql_mysql.c,
	contrib/mod_sql_postgres.c: Expanding the HOOKs exposed by mod_sql,
	so that other contrib modules can run their own SQL statements
	without having to reinvent mod_sql's wheel.

2006-04-21  castaglia <castaglia>

	* NEWS, README.modules, RELEASE_NOTES, contrib/mod_ban.c,
	doc/contrib/mod_ban.html: Adding mod_ban.

2006-04-20  castaglia <castaglia>

	* NEWS, src/inet.c: Bug#2733 - IP TOS not being set for data
	transfers.

2006-04-20  castaglia <castaglia>

	* src/parser.c: Adding some sanity checks for NULL pointers, pointed
	out by Coverity scans.  Also remove some unnecessary conditionals.

2006-04-20  castaglia <castaglia>

	* modules/mod_log.c: "writeable" -> "writable".

2006-04-20  castaglia <castaglia>

	* modules/mod_xfer.c: Clean up dead code spotted by Coverity scan.

2006-04-20  castaglia <castaglia>

	* modules/mod_auth.c: Clean up dead code spotted by Coverity scan.
	Also fixup some formatting issues while I'm here.

2006-04-20  castaglia <castaglia>

	* modules/mod_auth_file.c, src/data.c: Clean up dead code spotted by
	Coverity scan.

2006-04-20  castaglia <castaglia>

	* contrib/mod_sql.c: Clean up dead code spotted by Coverity.

2006-04-19  castaglia <castaglia>

	* RELEASE_NOTES, modules/mod_xfer.c: Get the ball rolling on
	deprecating HiddenStor, in favor of HiddenStores.

2006-04-19  castaglia <castaglia>

	* configure: Updating configure.

2006-04-19  castaglia <castaglia>

	* NEWS, configure.in: As part of addressing Bug #2447, make use of
	the --enable-openssl autoconf option automatically add libssl and
	libcrypto to the library list.

2006-04-19  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, contrib/mod_ldap.c,
	contrib/mod_sql.c, src/main.c: Bug#2447 - HAVE_OPENSSL should be
	managed in configure.

2006-04-17  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, modules/mod_log.c: Bug#2651 - LogFormat
	should support variable for logging the response message.

2006-04-17  castaglia <castaglia>

	* doc/contrib/mod_quotatab.html,
	doc/contrib/mod_quotatab_radius.html: Update mod_quotatab docs with
	links to RADIUS submodule.

2006-04-17  castaglia <castaglia>

	* NEWS, README.modules, RELEASE_NOTES,
	contrib/mod_quotatab_radius.c, contrib/mod_radius.c,
	doc/contrib/mod_quotatab_radius.html: Bug#2627 - Support for RADIUS
	quotatab module.

2006-04-17  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Mention in NEWS that CreateHome should be
	used instead of SQLHomedirOnDemand.  Mark the SQLHomedirOnDemand
	config handler as deprecated in the mod_sql source.

2006-04-17  castaglia <castaglia>

	* modules/mod_core.c: As per the warnings in the 1.3.0 release
	cycle, the Bind directive was deprecated, and is now removed.

2006-04-17  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#2628 -
	SQLHomedirOnDemand should be deprecated.

2006-04-17  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_tls.c, doc/contrib/mod_tls.html: 
	Bug#2686 - Allow CCC command but still require SSL/TLS protection
	during authentication.

2006-04-17  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, doc/howto/CreateHome.html,
	doc/howto/index.html, modules/mod_auth.c, src/mkhome.c: Bug#2611 -
	CreateHome should allow non-root-owned parent directories.

2006-04-17  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_tls.c, doc/contrib/mod_tls.html: 
	Bug#2599 - Support for using OpenSSL "engines".

2006-04-17  castaglia <castaglia>

	* configure: Updating configure.

2006-04-17  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, modules/mod_auth_pam.c: Bug#2769
	- mod_auth_pam needs a patch to allow pam_group to work.

2006-04-17  castaglia <castaglia>

	* NEWS, doc/modules/mod_delay.html, modules/mod_delay.c: Bug#2664 -
	Add 'delay info' ftpdctl action for showing DelayTable values.

2006-04-17  castaglia <castaglia>

	* NEWS, src/inet.c: Bug#2777 - ProFTPD does handle data sockets
	properly on FreeBSD 6.

2006-04-16  castaglia <castaglia>

	* modules/mod_xfer.c: At some point in the future, proftpd will
	support the MODE Z command.  When that happens, mod_xfer will need
	to not use sendfile() if MODE Z has been requested.

2006-04-16  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2740 - TYPE command not allowed
	before USER/PASS, causes problem for `ftp -n'.

2006-04-16  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2654 - FEAT command should be
	subject to <Limit>.

2006-04-16  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#2753 - CCC not closing SSL/TLS
	connection correctly.

2006-04-16  castaglia <castaglia>

	* NEWS, include/dirtree.h, include/table.h, src/dirtree.c,
	src/table.c: Bug#2535 - Compare directives using integer comparisons
	when possible to improve performance.

2006-04-16  castaglia <castaglia>

	* NEWS, modules/mod_auth_unix.c: Bug#2721 - mod_auth_unix does not
	behave properly when first in AuthOrder.

2006-04-16  castaglia <castaglia>

	* NEWS, modules/mod_auth_file.c, modules/mod_auth_unix.c: Bug#2714 -
	mod_auth_file munges AuthUserFile, AuthGroupFile records.

2006-04-16  castaglia <castaglia>

	* doc/howto/Debugging.html: Adding mention of the stack trace
	logging to the Debugging howto.

2006-04-16  castaglia <castaglia>

	* configure: Updating configure.

2006-04-16  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, config.h.in, configure.in,
	include/options.h, src/main.c: Bug#2766 - Support for automatic
	stack trace if SIGSEGV is received.

2006-04-16  castaglia <castaglia>

	* include/version.h: Now that 1.3.0 is out, we can start on 1.3.1.

2006-04-16  castaglia <castaglia>

	* ChangeLog: Updating the ChangeLog.

2006-04-16  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
	for release of 1.3.0-final.

2006-04-10  castaglia <castaglia>

	* lib/glibc-mkstemp.c: Fix typo in mkstemp() implementation, noted
	by Charles Seeger.

2006-04-08  castaglia <castaglia>

	* doc/howto/ConfigFile.html: Update the description of the
	User/Group directives to mention effective versus real privs, and
	how some programs report on real instead of effective privs.

2006-03-22  castaglia <castaglia>

	* NEWS, lib/glibc-glob.c, lib/pwgrent.c, src/fsio.c: Quell several
	compiler warnings: Bug#2770 - FreeBSD compiler warning that "__GLIBC__" is not defined.
	Bug#2771 - FreeBSD compiler warning about undeclared
	           fgetpwent/fgetgrent functions.  Bug#2772 - FreeBSD compiler warning
	that "_FILE_OFFSET_BITS" is not defined.

2006-03-22  castaglia <castaglia>

	* Make.rules.in, NEWS: Bug#2733 - libtool requires sh/bash.

2006-03-22  castaglia <castaglia>

	* utils/ftptop.c, utils/scoreboard.c: Minor fixes to ftptop: use
	snprintf(3) rather than sprintf(3), and make sure that any
	scoreboard path set via the -f command-line option actually exists.

2006-03-18  castaglia <castaglia>

	* ChangeLog: Updated ChangeLog.

2006-03-18  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec,
	include/version.h: Rolling up RC5 release.

2006-03-17  castaglia <castaglia>

	* NEWS, modules/mod_delay.c: Bug#2723 - mod_delay causes process to
	hang on OS X when proftpd exits.

2006-03-17  castaglia <castaglia>

	* RELEASE_NOTES: Updating the release notes for the RC5 release.

2006-03-16  castaglia <castaglia>

	* README.controls, doc/howto/Controls.html: Make notes about how
	Controls are affected by ServerType.

2006-03-15  castaglia <castaglia>

	* src/main.c: We need to copy the session addresses into memory
	after any reverse DNS resolution is performed, not before.

2006-03-15  castaglia <castaglia>

	* NEWS, modules/mod_log.c, modules/mod_xfer.c, src/main.c: Bug#2765
	- Child process segfaults while handling a SIGTERM.  A field from a
	structure whose memory had been freed by the time the field was
	referenced was tickling the segfault.

2006-03-15  castaglia <castaglia>

	* modules/mod_auth.c: Remove slightly misleading (and outdated)
	comment.

2006-03-15  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Make the workaround for Bug#2717 be
	specific to glibc-2.3 or greater, not to Linux in general.

2006-03-15  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#2717 - Wrong timestamp in logs for
	chrooted processes.

2006-03-14  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2764 - REST command does not return
	an error for negative numbers.

2006-03-12  castaglia <castaglia>

	* include/privs.h: Remove some duplicating logging in the
	PRIVS_RELINQUISH macro definition.

2006-03-11  castaglia <castaglia>

	* include/version.h: Forgot to change the status back to "CVS", for
	now.

2006-03-09  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Add description of the SQLBackend
	directive.

2006-03-09  castaglia <castaglia>

	* configure: Updating configure.

2006-03-09  castaglia <castaglia>

	* configure.in: Updating changes made for fixing Bug#2759 so that
	the libsupp library can be found.

2006-03-08  castaglia <castaglia>

	* configure: Updating configure.

2006-03-08  castaglia <castaglia>

	* NEWS, configure.in: Bug#2759 - Adding --with-includes to configure
	can cause problems when building with other packages.

2006-03-06  castaglia <castaglia>

	* doc/howto/NAT.html: Add a description of what can happen if the
	configured PassivePorts range is too small.

2006-03-06  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec: Bug#2757 - Add support for
	quota modules to RPM spec.

2006-03-01  castaglia <castaglia>

	* RELEASE_NOTES: Updating release notes.

2006-03-01  castaglia <castaglia>

	* ChangeLog, NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: 
	Preparing for release of 1.3.0rc4.

2006-02-23  castaglia <castaglia>

	* doc/rfc/rfc4217.txt: The old IETF Draft which defined FTPS was
	finally upgraded to a full-fledged RFC in Nov 2005, as RFC4217.

2006-02-23  castaglia <castaglia>

	* doc/howto/SQL.html: Added FAQ about libz linker errors to SQL
	howto.

2006-02-21  castaglia <castaglia>

	* modules/mod_delay.c: Add more debug logging, level 10, for when
	mod_delay mmaps or munmaps.  This is for tracking down Bug #2723.
	Also handle the case where munmap(2) fails.

2006-02-21  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2752 - FEAT reply not RFC 2389
	compliant.

2006-02-08  castaglia <castaglia>

	* NEWS, src/data.c: Bug#2746 - Data transfer function does not
	return error condition in case of read errors.  Now the
	pr_data_xfer() loop will error out if there is an error returned by
	pr_netio_read(), just as is already done if there is an error
	returned by pr_netio_write().

2006-01-11  castaglia <castaglia>

	* doc/howto/AuthFiles.html, doc/howto/index.html: Added the
	AuthFiles howto (it was referenced by the ConfigFile howto).

2006-01-04  castaglia <castaglia>

	* modules/mod_xfer.c: Fix a warning about an unused variable.  The
	tcp_level variable is really only used if TCP_CORK is defined; thus
	it should be declared within an #ifdef TCP_CORK block.

2005-12-27  castaglia <castaglia>

	* RELEASE_NOTES: Mention the OSX tweaks in the Release Notes.

2005-12-27  castaglia <castaglia>

	* src/main.c: Initialise the session.proc_prefix string upon client
	connection.  There was a strange edge case, involving
	mod_wrap-2.0.x, where proftpd was calling set_proc_title() using a
	NULL session.proc_prefix.  GNU libc handles printfs of NULLs
	gracefully, but other libc implementations (e.g. Solaris) are not as
	forgiving; this edge case was leading to segfaults on those
	platforms.

2005-12-19  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2735 - Allow REST 0 in ASCII mode.

2005-12-13  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#2709 - mod_sql improperly strips
	spaces from names, allowing for confusing authentication.

2005-12-07  castaglia <castaglia>

	* NEWS, modules/mod_auth_pam.c: Bug#2729 - Authorative PAM
	authentication doesn't work.

2005-12-05  castaglia <castaglia>

	* RELEASE_NOTES, doc/howto/Quotas.html, doc/howto/index.html: Adding
	Quotas howto to doc/ area.

2005-12-02  jwm <jwm>

	* contrib/mod_ldap.c: some overdue cleanup: - use braces everywhere. honestly, i don't know why i wrote code
	this way.  - now that we're using strtoul() sanity checking on default [UG]IDs,
	  we don't need the isdigit() checking - use get_param_ptr for single-argument directives instead of
	find_config() - if a directive is present (get_param_ptr() returns non-NULL),
	  assign its value to the config variable; we don't want to assume
	  default values in the variable initialization as well as the getconf
	handler.

2005-12-02  jwm <jwm>

	* contrib/mod_ldap.c: - complain about invalid default [UG]IDs - only allocate enough arguments in the config_rec for LDAPDoAuth
	  and LDAPDoUIDLookups to cover the arguments specified

2005-12-02  jwm <jwm>

	* contrib/mod_ldap.c: - remove get_param_int() usage; store values in an allocated pointer
	intsead - config handlers now take their directive name from c->argv[0],
	  saving a few bytes of static strings

2005-11-29  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Adding more specific instructions for
	what a TLSCertificateChainFile should contain.

2005-11-29  castaglia <castaglia>

	* NEWS, src/inet.c: Bug#2374 revisited, for the sake of updated Mac
	OSX releases.  When is a regression not a regression?  When it's the
	fault of the host system, not the application code.  Sigh.

2005-11-19  castaglia <castaglia>

	* doc/howto/DSO.html: Adding more comments to the DSO howto, based
	on user feedback/questions.

2005-11-16  jwm <jwm>

	* contrib/mod_ldap.c: release 2.8.16

2005-11-15  castaglia <castaglia>

	* doc/contrib/mod_quotatab.html: Formatting changes.

2005-11-15  castaglia <castaglia>

	* doc/contrib/mod_quotatab.html: Improve the mod_quotatab doc,
	emphasizing the definitions of limit and tally tables.  Also add
	HTML anchors, for easier referencing from the upcoming Quotas howto.

2005-11-14  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Update description of AllowDotLogin
	TLSOption, as proftpd now will not prompt for a password if none is
	required.

2005-11-14  castaglia <castaglia>

	* NEWS, include/pr-syslog.h, lib/pr-syslog.c, src/log.c: Bug#2705 -
	proftpd fails to log anything to syslog after dropping privs on
	Solaris.  Since proftpd has custom syslog routines, we can simply add an
	accessor function for setting the static log_facility variable.
	libc-based syslogging cannot do this; proftpd used libc syslog
	routines in the past, hence the need to call openlog() again if the
	facility changed.  Thanks to Kostantinos Koukopoulos for the patch.

2005-11-12  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2712 - DisplayFirstChdir directive
	does not work.

2005-11-11  castaglia <castaglia>

	* NEWS, include/ctrls.h, modules/mod_ctrls.c, src/ctrls.c: Bug#2711
	- Controls socket detection broken.

2005-11-10  castaglia <castaglia>

	* src/ctrls.c: Copy the full length of the socket path, including
	the terminating NUL.

2005-11-08  castaglia <castaglia>

	* contrib/mod_tls.c: Make the log messages generated during
	certificate verification a little cleaner.  Also add explicit
	handling of the INVALID_PURPOSE error case.

2005-11-08  castaglia <castaglia>

	* configure: Updating configure.

2005-11-08  castaglia <castaglia>

	* NEWS, configure.in: Bug#2708 - configure cannot detect some
	headers.

2005-11-04  castaglia <castaglia>

	* NEWS, src/log.c: Bug#2706 - utmp/wtmp logging on NetBSD needs some
	tweaks.

2005-11-04  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2703 - Disk quota exceeded for small
	files not being triggered.

2005-10-31  castaglia <castaglia>

	* include/version.h: Bump version to 1.3.0rc4 (hopefully will turn
	out to be 1.3.0-stable).

2005-10-31  castaglia <castaglia>

	* ChangeLog: One more update.

2005-10-31  castaglia <castaglia>

	* src/fsio.c: Correct usage of pr_fsio_readlink().

2005-10-31  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
	for 1.3.0rc3 roll.

2005-10-31  castaglia <castaglia>

	* ChangeLog: Updating ChangeLog.

2005-10-28  castaglia <castaglia>

	* RELEASE_NOTES: Updating release notes.

2005-10-26  castaglia <castaglia>

	* src/fsio.c: Drat.  Forgot to replace all occurrences of
	->readlink() with pr_fsio_readlink().

2005-10-26  castaglia <castaglia>

	* modules/mod_facl.c: Use direct pointer assignment rather than
	acl_copy_entry(); the latter is not needed.  Patch supplied by
	Patrick McHardy.

2005-10-26  castaglia <castaglia>

	* src/fsio.c: When cleaning the path in pr_insert_fs(), only add a
	trailing path separator if the original path had one _and_ the
	current cleaned path does _not_ have one.  Thanks to Patrick McHardy
	for pointing this out.

2005-10-26  castaglia <castaglia>

	* src/fsio.c: Patrick McHardy pointed out that in a couple of
	places, the FSIO API uses the readlink function pointer, registered
	for an fs_t, directly.  However, it is not required for registered
	fs_ts to provide any particular FSIO function.  Thus
	pr_fsio_readlink(), which iterates through the fs layers in order to
	find the first that does provide a readlink function, should be
	used.

2005-10-23  castaglia <castaglia>

	* contrib/mod_sql.c: Fix a segfault expanding the '%h' sequence for
	an SQLLog EXIT command by using the proper API.  Related to Bug
	#2695.

2005-10-20  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Fixed example installation instructions
	for mod_tls.

2005-10-19  castaglia <castaglia>

	* configure: Updating configure.

2005-10-19  castaglia <castaglia>

	* config.h.in, configure.in, include/ctrls.h, modules/mod_ctrls.c,
	src/ctrls.c: Change the location of the logic used to determine
	whether the platform prefers S_ISFIFO or S_ISSOCK for detecting Unix
	domain sockets.  Rather than using a test program as part of the
	configure script, move the check into the init_ctrls() code, so that
	it can be done at run-time.

2005-10-18  castaglia <castaglia>

	* contrib/mod_sql.c, modules/mod_log.c: Fix handling of the %f log
	variable for the RNTO command.  Both mod_log and mod_sql were using
	session.xfer.path for %f, when in the case of RNTO, the %f that is
	desired is actually the argument of the command, cmd->arg, not
	session.xfer.path.

2005-10-18  castaglia <castaglia>

	* contrib/mod_sql.c, modules/mod_log.c: When expanding the %J log
	variable (for command arguments), be sure to hide the arguments for
	the PASS command.

2005-10-10  castaglia <castaglia>

	* README.IPv6, src/netacl.c: Only use the full range of characters
	which appear in an IPv6 (and IPv4) address when IPv6 support is
	enabled.  Also, document the case where, when IPv6 support *is* enabled,
	certain DNS names are not handled as one would expect, due to the
	heuristics used by the ACL parser.

2005-10-08  castaglia <castaglia>

	* RELEASE_NOTES, doc/howto/Filters.html, doc/howto/Regex.html,
	doc/howto/index.html: Add the regular expression tutorial to the
	doc/howto/ area.

2005-10-08  castaglia <castaglia>

	* RELEASE_NOTES: Add some notes to the RELEASE_NOTES file for the
	upcoming 1.3.0rc3 release.

2005-10-08  castaglia <castaglia>

	* configure: Updating configure.

2005-10-08  castaglia <castaglia>

	* config.h.in, configure.in, modules/mod_ctrls.c: Add an autoconf
	check to see if the platform prefers S_ISFIFO or S_ISSOCK for Unix
	domain sockets.  It seems that some systems (e.g. UnixWare) prefer
	S_ISFIFO, even though the file is created/bound using
	socket(2)/bind(2) rather than mknod(2).  Isn't portability grand.  The added test defines a PR_ISSOCK_UNIX macro, defined to the
	appropriate S_IS* macro, for use in proftpd code.

2005-09-28  castaglia <castaglia>

	* doc/howto/Limit.html: Style.

2005-09-28  castaglia <castaglia>

	* src/dirtree.c, src/support.c: Style.

2005-09-27  castaglia <castaglia>

	* src/response.c: Style.

2005-09-27  castaglia <castaglia>

	* NEWS, src/response.c: Bug#2692 - R_DUP response messages can break
	the FTP protocol responses.

2005-09-27  castaglia <castaglia>

	* NEWS, include/privs.h: Bug#2682 - Signals can interrupt privilege
	switching.  To guard against this, the PRIVS macros now all contain
	pr_signals_block()/pr_signals_unblock() guards.

2005-09-26  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#2697 - Improper SSL session shutdown
	sequence used for some FTPS clients.

2005-09-21  castaglia <castaglia>

	* modules/mod_core.c: Clean up the debug logging done when handling
	config directive regexes.  No need to report on the memory location
	for the allocated regex.

2005-09-21  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Typo.

2005-09-21  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Use of the StdEnvVars TLSOption does not
	necessarily increase the process memory footprint; it depends on the
	various memory allocator caching strategies involved.

2005-09-20  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Enhancing the explanations of the
	TLSCACertificateFile and TLSRandomSeed directives.

2005-09-20  castaglia <castaglia>

	* doc/contrib/mod_tls.html: Minor updates to mod_tls doc.

2005-09-19  castaglia <castaglia>

	* NEWS, contrib/mod_radius.c, contrib/mod_sql.c, include/netaddr.h,
	src/log.c, src/main.c, src/netaddr.c: Bug#2695 - Client IP/host is
	not logged when client exits.

2005-09-19  castaglia <castaglia>

	* modules/mod_xfer.c: Style.

2005-09-08  castaglia <castaglia>

	* README.modules: Minor corrections to the location of contrib
	module documentation, thanks to Sven Hoexter.

2005-09-08  castaglia <castaglia>

	* contrib/mod_tls.c: Log in the TLSLog when mod_tls denies FTP
	commands because of the configured security policy.

2005-09-05  castaglia <castaglia>

	* src/netaddr.c: When reporting DNS resolution errors, report the
	type of address requested, i.e. IPv4 or IPv6.

2005-09-04  castaglia <castaglia>

	* NEWS, include/parser.h, src/main.c, src/parser.c: Bug#2689 -
	Parser does not complain about unclosed configuration sections.

2005-08-30  castaglia <castaglia>

	* RELEASE_NOTES: Fix typo.

2005-08-28  castaglia <castaglia>

	* src/fsio.c: After cleaning the path given to pr_insert_fs(), we
	make sure it has a trailing '/' path separator character.  However,
	this is only necessary if the path being inserted is not '/' itself.
	Check for that case, and make sure to not add the trailing '/' if it
	is not needed.

2005-08-25  castaglia <castaglia>

	* contrib/mod_tls.c: The mod_tls version information was missing
	from a couple of log messages.

2005-08-24  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#2685 - ListOptions' max parameters
	cannot be set higher than 255.

2005-08-23  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_core.c, src/main.c: Log, at debug
	level 6, if there was an error displaying a Display file.

2005-08-23  castaglia <castaglia>

	* src/dirtree.c: Add explanatory comment.  When researching a
	problem earlier, I was a bit confused by the reuse of a pool
	variable; the comment is a reminder of what is going on.

2005-08-16  castaglia <castaglia>

	* INSTALL: Update the section of the INSTALL doc that talks about
	xinetd configuration; as of xinetd-2.3.11, the 'RECORD' logging
	option has been deprecated.

2005-08-10  jwm <jwm>

	* README.LDAP: update README.LDAP; oops, i've been forgetting about
	this

2005-08-07  castaglia <castaglia>

	* modules/mod_core.c: When reporting on use or nonuse of <IfModule>
	and <IfDefine> sections, correctly report the "!" character.
	Otherwise, the reporting is confusing.

2005-08-07  castaglia <castaglia>

	* contrib/mod_tls.c: When handling any error returned by
	SSL_shutdown(3) (after it has been called the second time), and the
	error is not explicitly handled by the switch statement, log the
	error code.  This will help in debugging certain cases where
	tls_get_error() returns "(unknown)", which possibly indicates no
	error occurred.

2005-08-07  castaglia <castaglia>

	* configure: Updating configure.

2005-08-07  castaglia <castaglia>

	* NEWS, configure.in: Bug#2676 - configure option --disable-ipv6
	enables IPv6.

2005-08-04  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#2674 - mod_sql string escape problem
	during group lookups.

2005-08-03  castaglia <castaglia>

	* contrib/mod_radius.c: Pad the size of the radius_packet_t
	structure.

2005-08-03  castaglia <castaglia>

	* NEWS, contrib/mod_radius.c: Bug#2669 - mod_radius segfaults if
	PASS command sent with no USER command.

2005-08-02  castaglia <castaglia>

	* doc/howto/ListOptions.html: Fix documentation for "-a" ListOption.

2005-08-02  castaglia <castaglia>

	* NEWS, modules/mod_ctrls.c: Bug#2668 - mod_ctrls fails to open
	socket during SIGHUP.

2005-08-02  castaglia <castaglia>

	* modules/mod_facl.c: Add debugging output, level 6, showing when
	mod_facl has successfully registered its FS handler.

2005-08-01  castaglia <castaglia>

	* modules/mod_ctrls.c: Display the mod_ctrls version when using
	`proftpd -vv'.

2005-08-01  castaglia <castaglia>

	* src/ftpdctl.c: Display the name of the socket path being contacted
	when `ftpdctl -v' is used.

2005-08-01  castaglia <castaglia>

	* NEWS: Bug#2667 - mod_tls handles SIGHUP badly.  Stop registering
	the handler for the "core.postparse" event in the "core.restart"
	event handler; such multiple registrations cause the
	"core.postparse" event handler to be invoked multiple times.

2005-07-31  castaglia <castaglia>

	* contrib/mod_tls.c: The "core.restart" event handler for mod_tls
	was registering a handler for the "core.postparse" event; however,
	one was already being registered.  The duplicate "core.postparse"
	registrations would cause the handler to be called repeatedly,
	leading to locking of key passphrases into memory multiple times and
	other unintended funniness.

2005-07-27  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2662 - OpenSolaris/Solaris 11 has
	TCP_CORK but not SOL_TCP.

2005-07-27  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec: Bug#2660 - Add mod_facl in
	rpm spec file.

2005-07-27  castaglia <castaglia>

	* contrib/mod_tls.c: Explicitly mention that $SSL_CERT_DIR is an
	environment variable.

2005-07-24  castaglia <castaglia>

	* include/version.h: Updating version.

2005-07-24  castaglia <castaglia>

	* ChangeLog: Updating ChangeLog.

2005-07-24  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
	for release of 1.3.0rc2.

2005-07-24  castaglia <castaglia>

	* NEWS, contrib/mod_radius.c: Bug#2658 - Segfault in mod_radius when
	using long password.

2005-07-21  castaglia <castaglia>

	* RELEASE_NOTES: Fix typo.

2005-07-21  castaglia <castaglia>

	* contrib/mod_tls.c: Slight paranoia about calling BIO_free() on
	possibly NULL pointer.

2005-07-21  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#2657 - Segfault in tls_get_error()
	function in mod_tls.

2005-07-19  castaglia <castaglia>

	* doc/howto/Classes.html, doc/howto/SQL.html: Updating Class and SQL
	howtos.

2005-07-15  castaglia <castaglia>

	* NEWS: Minor rewording of NEWS, with respect to POSIX ACLs.

2005-07-08  castaglia <castaglia>

	* RELEASE_NOTES: Updating the release notes.

2005-07-08  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2653 - When MaxStoreFileSize is
	reached, error should be EDQUOT rather than EPERM.

2005-07-07  castaglia <castaglia>

	* NEWS, src/data.c: Bug#2560 - Reporting errors when user filesystem
	quota is exceeded.

2005-07-07  castaglia <castaglia>

	* modules/mod_log.c: With the fixing of Bug #1965, the mod_log
	module no longer needs a PRE_CMD handler in order to properly log
	the QUIT command; the POST_CMD C_ANY handler suffices.  In fact, the
	PRE_CMD C_QUIT handler currently in place means that the QUIT
	command would be logged twice in an ExtendedLog.

2005-07-05  castaglia <castaglia>

	* doc/howto/DNS.html, doc/howto/VirtualUsers.html,
	doc/howto/index.html: Adding DNS, VirtualUsers howtos.

2005-07-05  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#2645 - SQLShowInfo format string
	vulnerability.

2005-07-05  castaglia <castaglia>

	* NEWS, src/response.c: Bug#2646 - ftpshut format string
	vulnerability.

2005-07-03  castaglia <castaglia>

	* contrib/mod_ldap.c, contrib/mod_radius.c, contrib/mod_sql.c,
	contrib/mod_tls.c, modules/mod_auth.c, modules/mod_auth_file.c,
	modules/mod_auth_pam.c, modules/mod_auth_unix.c: Update the auth
	modules to set the session.auth_mech member with the name of the
	module which successfully authenticates a user.

2005-07-03  castaglia <castaglia>

	* NEWS: Bug#2375 - Slow directory listing with several blank
	.ftpaccess files.

2005-07-03  castaglia <castaglia>

	* src/dirtree.c: When parsing .ftpaccess files, check that the size
	of the .ftpaccess file is non-zero before handling it.  This is
	related to Bug #2375, if not _the_ culprit.  I suspect that there
	are more improvements to be made with regards to .ftpaccess file
	processing, though.

2005-07-02  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Fix segfault where using SQLLog to
	execute a SQLNamedQuery (which uses %L or %a) for the EXIT command
	would attempt to use freed memory.

2005-07-02  castaglia <castaglia>

	* modules/mod_xfer.c: Set the current working directory, in the FSIO
	layer, before an open() call.  This may be the cause of some strange
	behaviors seen with some of my FSIO modules (i.e. mod_md5).

2005-07-02  castaglia <castaglia>

	* modules/mod_delay.c: More bounds checking in mod_delay, as part of
	an investigation into Bug #2621 using valgrind.

2005-06-30  castaglia <castaglia>

	* NEWS, include/conf.h: Bug#2647 - Improper "socklen_t" redefine for
	HP-UX when using X/Open.

2005-06-29  castaglia <castaglia>

	* doc/modules/mod_delay.html: This document covers mod_delay, not
	mod_dso.  Fix typo.

2005-06-27  castaglia <castaglia>

	* NEWS, contrib/mod_sql_mysql.c: Bug#2644 - mod_sql_mysql should
	handle old MySQL password format more gracefully.

2005-06-27  castaglia <castaglia>

	* configure: Updating configure.

2005-06-27  castaglia <castaglia>

	* config.h.in, configure.in: Check for the size of a time_t.  We do
	not need this immediately, but we will soon.

2005-06-23  castaglia <castaglia>

	* contrib/mod_quotatab_sql.c: Fix a rather broken assignment.  Newer
	versions of gcc, being less lenient, choke on this assignment
	whereas older versions of gcc let it pass.

2005-06-22  castaglia <castaglia>

	* contrib/mod_tls.c: Always set the tls_pkey_list pointer to NULL
	after scrubbing the list.  Also, be sure to scrub that list at
	session initialization time if TLSEngine is not on for the session.

2005-06-22  castaglia <castaglia>

	* src/fsio.c: The changes in the FSIO API to support chained FS
	objects changed some things; the lookup_file_fs() function made
	assumptions which were broken by those changes.  Update
	lookup_file_fs() to properly deal with FS objects whose stat or
	lstat function pointers may be NULL.

2005-06-22  castaglia <castaglia>

	* src/fsio.c: Off by one in my calculation; PR_TUNABLE_PATH_MAX-1 is
	the last usable index in the buffer.  Of course, I may still be
	wrong here, but I'd rather be wrong by too large of a difference,
	rather than too small.

2005-06-21  castaglia <castaglia>

	* src/fsio.c: Tracking down a bug in my crufty mod_md5fs module
	revealed the cause to be a subtle bug in pr_insert_fs().  The path
	provided by the caller was being cleaned via pr_fs_clean_path(),
	which would remove any trailing path separators.  However, in the
	case of FSIO FS objects, that trailing separator is important.
	Re-add it if it was there.

2005-06-21  castaglia <castaglia>

	* configure: Update configure.

2005-06-21  castaglia <castaglia>

	* src/bindings.c: The ipv6_supported variable need only be defined
	if --enable-ipv6 is used.

2005-06-21  castaglia <castaglia>

	* configure.in: If the --enable-ctrls configure option is used,
	mod_ctrls will be built as a static module.  To get mod_ctrls to be
	built as a shared module, use --enable-ctrls and list mod_ctrls in
	the --with-shared list.  However, I have not tested how well
	mod_ctrls behaves as a shared module...

2005-06-21  castaglia <castaglia>

	* src/main.c: Display the default libexec/ directory for the -V
	option, if DSO support is enabled.

2005-06-21  castaglia <castaglia>

	* configure: Updating configure.

2005-06-21  castaglia <castaglia>

	* configure.in, src/bindings.c: Undo yesterday's autoconf change for
	IPv6 support detection.  Instead, move that detection into
	init_bindings(), although I suspect that it will be needed in other
	places of the code as well.  At least this way, though, a proftpd
	compiled using --enable-ipv6 on an IPv4 box will still start up
	properly and accept connections.

2005-06-21  castaglia <castaglia>

	* NEWS: Update the description of Bug #2573, making note of the
	changed behavior and how to address it (as per Bug #2640).

2005-06-20  castaglia <castaglia>

	* configure: Updating configure.

2005-06-20  castaglia <castaglia>

	* configure.in: Have autoconf check for IPv6 support when the
	--enable-ipv6 configure option is used.  It is completely possible
	for an IPv4-only box to be used to compile a proftpd configured
	using --enable-ipv6.  When that proftpd is started on the IPv4-only
	box, it would choke inexplicably.  This is due to changes made for
	Bug #2758.

2005-06-20  castaglia <castaglia>

	* src/netaddr.c: Log when we are looking for IPv4 addresses via DNS,
	and when we're looking for IPv6 addresses.

2005-06-20  castaglia <castaglia>

	* src/mkhome.c: Make sure to reset the umask in the case where
	mkdir() could fail.  Otherwise, the umask of the process will be
	left in the wrong state.

2005-06-20  castaglia <castaglia>

	* doc/contrib/mod_ifsession.html: Updating mod_ifsession docs.

2005-06-18  castaglia <castaglia>

	* contrib/mod_tls.c: OpenSSL 0.9.8 changed some macro names (and did
	not document it *sigh*).  Update mod_tls to use the new names as
	necessary.

2005-06-18  castaglia <castaglia>

	* NEWS, modules/mod_delay.c: Bug#2630 - Use of mmap in mod_delay may
	be problematic on HP-UX.

2005-06-16  castaglia <castaglia>

	* include/table.h, src/table.c: Add a new table flag,
	PR_TABLE_FL_USE_CACHE.  By default, this flag is off.  The caching
	behavior of previously-looked up keys in the table accessors was a
	bit confusing (which itself indicates the need for better table
	documentation).  Make use of that lookup cache disabled by default,
	so that the behavior is least surprising to developers.  Callers
	that require higher performance tables can enable the flag as
	needed.

2005-06-16  castaglia <castaglia>

	* src/table.c: Added some missing pr_signals_handle() calls in while
	loops.

2005-06-15  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2639 - HiddenStores does not work.

2005-06-15  castaglia <castaglia>

	* src/dirtree.c: Set a valid errno for pr_is_boolean().

2005-06-14  castaglia <castaglia>

	* src/auth.c: Add debugging, level 10, of retrieved user/group names
	and UIDs/GIDs, similar to what is done during in
	pr_auth_getgroups().

2005-06-14  castaglia <castaglia>

	* contrib/mod_radius.c, contrib/mod_sql.c, contrib/mod_tls.c,
	include/compat.h, include/log.h, modules/mod_core.c,
	modules/mod_ctrls.c, modules/mod_log.c, src/log.c, src/xferlog.c: 
	Move the LOG_* macros (for indicating writable dirs, symlinks, and
	permission modes) into the PR_ namespace.  Provide compatibility
	macros for source compatibility for other modules, for now.

2005-06-13  castaglia <castaglia>

	* include/log.h, modules/mod_core.c, modules/mod_log.c, src/log.c: 
	Move the log_str2sysloglevel() function into the 'pr_' namespace.

2005-06-13  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c, src/data.c: Bug#2636 - Data connection
	failure when handling STOR does not trigger error response.

2005-06-12  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#2637 - <Limit STAT> does not work.

2005-06-12  castaglia <castaglia>

	* include/compat.h, include/dirtree.h: Moving some macro (name
	redefinitions) into the more appropiate compat.h header.

2005-06-11  castaglia <castaglia>

	* contrib/mod_tls.c: Style consistency and cleanup.

2005-06-11  castaglia <castaglia>

	* contrib/mod_tls.c: Comment typo.

2005-06-10  castaglia <castaglia>

	* contrib/mod_tls.c, include/auth.h, modules/mod_auth.c, src/auth.c: 
	Removing the overloaded use of pr_auth_authenticate() in mod_auth
	for allowing RFC2228 modules to authenticate a user using non-PASS
	means.  Instead, there is a new Auth API function, pr_auth_requires_pass().
	All modules have a chance to provide handlers for this auth command;
	if any module can successfully authenticate the client without
	requiring the PASS command, then pr_auth_requires_pass() will return
	FALSE.  If and only if pr_auth_requires_pass() returns FALSE will
	mod_auth send the 232 response code to the client, indicating that
	no PASS command is required.

2005-06-10  castaglia <castaglia>

	* NEWS, lib/pr-syslog.c: Bug#2632 - Invalid application of `sizeof'
	to an incomplete type on AIX.

2005-06-10  castaglia <castaglia>

	* doc/howto/NAT.html: Provide an example configuration for the
	LAN/WAN MasqueradeAddress issue.

2005-06-09  castaglia <castaglia>

	* doc/howto/SQL.html: Fix typo.

2005-06-08  castaglia <castaglia>

	* NEWS, contrib/mod_radius.c: Bug#2631 - Segfault when using
	RadiusAcctServer.

2005-06-08  castaglia <castaglia>

	* doc/howto/SQL.html: Grégoire COLBERT contributed a snippet of PHP
	code that can be used to generate base64-encoded MD5-digested
	password strings, suitable for use by mod_sql.

2005-06-07  castaglia <castaglia>

	* contrib/mod_radius.c: Minor style cleanup.

2005-06-06  castaglia <castaglia>

	* doc/contrib/mod_rewrite.html: No need for the trailing /, as the
	closing } serves as the delimiter.

2005-06-06  castaglia <castaglia>

	* doc/contrib/mod_rewrite.html: The example RewriteRule directive
	provided had a problem.  One of its parameters contained an embedded
	whitespace, and the example did not enclose that parameter in
	quotations, which meant that the config parser would split that
	parameter incorrectly.

2005-06-05  castaglia <castaglia>

	* NEWS, README.FreeBSD: Bug#2250 - Add ports, compiling info to
	FreeBSD README.

2005-06-05  castaglia <castaglia>

	* README: Updated README to use "1.3.x" as ProFTPD version, rather
	than "1.2.x".

2005-06-03  castaglia <castaglia>

	* NEWS, include/fsio.h: Bug#2624 - "fh_data" macro collision causes
	compiler error on Tru64 V5.1A.

2005-06-02  castaglia <castaglia>

	* contrib/mod_radius.c: Since mod_radius is distributed with the
	proftpd source, it should not have an "RC" version.  It will now be
	officially version 0.8.

2005-06-02  castaglia <castaglia>

	* modules/mod_delay.c: Bug#2622 - Segfault seen randomly in
	mod_delay.  This patch changes the bounds check for the j variable, which is
	decrementing, to be as necessary.

2005-06-01  castaglia <castaglia>

	* modules/mod_core.c: Add better logging of when PORT, PASV, EPRT,
	and EPSV are denied because of <Limit> configurations.  Minor code
	style changes.

2005-06-01  castaglia <castaglia>

	* doc/contrib/mod_radius.html: Remove extraneous space.

2005-06-01  castaglia <castaglia>

	* doc/contrib/mod_radius.html: Updating mod_radius documentation.

2005-06-01  castaglia <castaglia>

	* README.Solaris2.5x: Use "ProFTPD", not "ProFTP".

2005-06-01  castaglia <castaglia>

	* contrib/mod_radius.c: More strict checking of the number of
	parameters for the RadiusLog directive.  In general, this a problem with the CHECK_ARGS macro.  It allows >=
	n parameters, where it should check strictly for == n.

2005-06-01  castaglia <castaglia>

	* NEWS, src/bindings.c, src/netaddr.c: Bug#2578 - ProFTPD does not
	listen on IPv6 addresses on FreeBSD.

2005-05-31  castaglia <castaglia>

	* NEWS, modules/mod_delay.c: Bug#2622 - Segfault seen randomly in
	mod_delay.

2005-05-31  castaglia <castaglia>

	* NEWS, modules/mod_delay.c: Bug#2601 - mod_delay sometimes delays
	for a long time.

2005-05-21  castaglia <castaglia>

	* modules/mod_auth.c: If we are unable to resolve a user's home
	directory, try to interpolate it (as when the home dir is "~"), in
	order to provide a more informative log message to the admin.  This
	will greatly help in debugging.

2005-05-10  castaglia <castaglia>

	* NEWS, lib/pr-syslog.c: Bug#2585 - Proftpd does not write RFC 3164
	compliant messages into /dev/log.

2005-05-08  castaglia <castaglia>

	* configure: Updated configure.

2005-05-08  castaglia <castaglia>

	* NEWS, configure.in: Bug#2598 - Build system should check for
	duplicate module requests.

2005-05-07  castaglia <castaglia>

	* Makefile.in, modules/Makefile.in: Make the use of `test' in the
	Makefiles non-silent, to aid in debugging build issues.

2005-05-07  castaglia <castaglia>

	* contrib/mod_load/Makefile.in: Make mod_load's Makefile portable.
	Related to Bug#2589.

2005-05-07  castaglia <castaglia>

	* NEWS: Wrong bug number.

2005-05-07  castaglia <castaglia>

	* NEWS, modules/Makefile.in: Bug#2589 - Makefile in modules/
	directory is not portable.

2005-05-07  castaglia <castaglia>

	* src/netaddr.c: Typo; we were checking the wrong variable, which
	causes the wrong error message to (possibly) be displayed if there
	were resolver errors.

2005-05-06  castaglia <castaglia>

	* NEWS, modules/mod_core.c, modules/mod_ctrls.c, src/table.c: 
	Bug#2605 - Compiler warnings/errors about missing typecasts on
	HP-UX.

2005-05-06  castaglia <castaglia>

	* contrib/mod_tls.c: Bug#2607 - Compiler warnings about missing
	typecasts in mod_tls on HP-UX.

2005-05-06  castaglia <castaglia>

	* contrib/mod_rewrite.c: Bug#2606 - Compiler warnings about missing
	typecasts in mod_rewrite on HP-UX.

2005-05-01  castaglia <castaglia>

	* src/netaddr.c: Log, at debug level 10, if we're returning an IP
	address when a DNS name was requested because of the UseReverseDNS
	setting.

2005-04-30  castaglia <castaglia>

	* configure: Updating configure.

2005-04-30  castaglia <castaglia>

	* configure.in: Removed --disable-auth-unix configure option.  It
	isn't very useful; trying to actually use a proftpd compiled with
	that option would not work well.  Perhaps it will come back later,
	in a better/more usable fashion.

2005-04-30  castaglia <castaglia>

	* NEWS, contrib/mod_ctrls_admin.c, doc/contrib/mod_ctrls_admin.html: 
	Add new 'dns' control action to mod_ctrls_admin, for setting
	UseReverseDNS at runtime.

2005-04-30  castaglia <castaglia>

	* src/bindings.c: Add debugging denoting when there is no exactly
	matching vhost configured for an incoming connection and we end up
	using the DefaultServer.

2005-04-30  castaglia <castaglia>

	* NEWS, modules/mod_auth_unix.c: Bug#2582 - ProFTPD on Tru64 with
	SIA does not call sia_ses_estab().

2005-04-29  castaglia <castaglia>

	* configure: Updating configure.

2005-04-29  castaglia <castaglia>

	* config.h.in, configure.in, modules/mod_auth_unix.c: Systems with
	shadow library support (e.g. Solaris) may require that the
	setspent(3) function be called prior to calling getspent(3) et al.

2005-04-27  castaglia <castaglia>

	* configure: Updating configure.

2005-04-27  castaglia <castaglia>

	* NEWS, config.h.in, configure.in: Bug#2588 - AIX requires _USE_IRS
	#define to use hstrerror().

2005-04-25  castaglia <castaglia>

	* src/bindings.c: It's possible for pr_ipbind_listen() to be called
	without any calls to pr_ipbind_create().  The ipbind_pool was being
	initialized in pr_ipbind_create() if it didn't already exist.
	pr_ipbind_listen() tries to use ipbind_pool, but did not check to
	see if ipbind_pool was initialized.  So when pr_ipbind_listen() was
	called without any prior calls to pr_ipbind_create(), proftpd would
	segfault.  Oops.

2005-04-24  castaglia <castaglia>

	* config.h.in: Typo.

2005-04-23  castaglia <castaglia>

	* modules/mod_delay.c: Have mod_delay log the random value it adds
	to the delay factor, at debug level 10.  Is this where the
	extra-long delays are coming from?  Perhaps...

2005-04-23  castaglia <castaglia>

	* contrib/mod_quotatab.c: More formatting tweaks for mod_quotatab's
	display in response to a SITE QUOTA command.

2005-04-23  castaglia <castaglia>

	* contrib/mod_quotatab.c: Fix minor formatting/spacing issue seen
	when QuotaDisplayUnits is set to something other than 'b' and the
	number of units to be displayed is not "unlimited".

2005-04-23  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#2596 - STAT command can cause
	segfault.

2005-04-22  castaglia <castaglia>

	* contrib/mod_sql.c: Be consistent in the style/formatting of the
	"cache hit for" messages by quoting the group name, too.

2005-04-21  castaglia <castaglia>

	* NEWS, modules/Makefile.in: Bug#2593 - `make install-modules' does
	not honour DESTDIR enviroment variable.

2005-04-21  jwm <jwm>

	* .cvsignore, lib/libltdl/.cvsignore: update for libtool

2005-04-21  jwm <jwm>

	* modules/.cvsignore: - ignore libtool-generated files - mod_linuxprivs is gone

2005-04-17  castaglia <castaglia>

	* NEWS, modules/mod_delay.c, modules/mod_xfer.c: Bug#2590 - AIX uses
	unsigned int for ULONG_MAX, causing printf format warning Bug#2591 -
	wrong argument type in call to pr_log_debug in mod_delay.c on AIX

2005-04-15  castaglia <castaglia>

	* NEWS, src/dirtree.c: Bug#2587 - HideNoAccess does not work for
	DefaultRoot/<Anonymous> logins.

2005-04-15  castaglia <castaglia>

	* include/auth.h, include/compat.h, include/conf.h, include/log.h: 
	Add a header whose role is to hold preprocessor directives for
	backward compatibility.  Function renames, macro changes, etc, that
	sort of thing.

2005-04-11  castaglia <castaglia>

	* NEWS, contrib/mod_sql_postgres.c: Bug#2584 - mod_sql_postgres
	missing end-of-comment character.

2005-04-11  castaglia <castaglia>

	* include/version.h: Update version.

2005-04-10  castaglia <castaglia>

	* NEWS: Updating release date for 1.3.0rc1.

2005-04-10  castaglia <castaglia>

	* src/data.c: As per comments in Bug #2509, it seems that Linux
	x86_64 environments do not support sendfile() for more than 2^31
	bytes.  I don't know if Solaris suffers from the same design.  Have I ever mentioned how much I find the sendfile API to be broken?

2005-04-10  castaglia <castaglia>

	* NEWS, modules/mod_delay.c: Bug#2554 - mod_delay gets
	segfault-signal on several logins.

2005-04-04  castaglia <castaglia>

	* NEWS, modules/mod_auth_unix.c: Bug#2580 - ProFTPD on Tru64 with
	SIA allows login with blank password.

2005-03-26  castaglia <castaglia>

	* ChangeLog, NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: 
	Preparing for release of 1.3.0rc1.

2005-03-26  jwm <jwm>

	* RELEASE_NOTES: mod_ldap is now 2.8.15

2005-03-26  castaglia <castaglia>

	* RELEASE_NOTES: Updating release notes, preparing for release of
	1.3.0rc1.

2005-03-25  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#2493 - mod_tls should support CCC
	command.

2005-03-18  castaglia <castaglia>

	* NEWS, src/support.c: Bug#2576 - PWD command does not handle "
	character properly.

2005-03-17  castaglia <castaglia>

	* modules/mod_auth.c: Call PRIVS_ROOT before PRIVS_REVOKE, to make
	absolutely sure that the real and effective UIDs are as needed in
	order for privs revocation to work.

2005-03-16  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#2551 - Recursive LIST with symlinked
	directories gives duplicate results.

2005-03-16  castaglia <castaglia>

	* modules/mod_ls.c: Cruft removal.

2005-03-12  castaglia <castaglia>

	* modules/mod_ls.c: Fix an unreported bug where attempting to use
	the -t directory listing option would trigger a segfault.

2005-03-11  jwm <jwm>

	* contrib/mod_ldap.c: [no log message]

2005-03-08  castaglia <castaglia>

	* NEWS, src/pool.c: Bug#2567 - Segmentation fault with 64-bit binary
	due to structure layout difference.

2005-03-06  castaglia <castaglia>

	* contrib/mod_quotatab.c: More consistent log messages.

2005-03-05  castaglia <castaglia>

	* contrib/mod_quotatab.c: Fixed quotatab_fsio_write() to check the
	xfer limit as well as the upload limit.

2005-03-05  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab.c: Bug#2515 - mod_quotatab should
	enforce hard limits at the filesystem level.

2005-03-05  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c, modules/mod_auth.c, src/auth.c: Bug#2164
	- Support non-PASS response codes.

2005-03-05  castaglia <castaglia>

	* NEWS, src/inet.c: Bug#2559 - IPv6 socket option should be set for
	ServerType inetd.

2005-03-04  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug #2573 - TLSProtocol directive in
	proftpd.conf is ignored.

2005-03-02  castaglia <castaglia>

	* modules/mod_delay.c: Allow for <IfClass>-based tweaks of the
	DelayEngine directive.

2005-02-28  castaglia <castaglia>

	* README.DSO: Mention the DSO howto.

2005-02-27  castaglia <castaglia>

	* README.modules: List mod_facl in the modules README.

2005-02-27  castaglia <castaglia>

	* README.facl: Fleshing out the POSIX ACL doc.

2005-02-27  castaglia <castaglia>

	* README.DSO: Update the DSO doc with information on where to find
	more documentation for the mod_dso module.

2005-02-27  castaglia <castaglia>

	* README.DSO: Adding more substance to the DSO doc.

2005-02-26  castaglia <castaglia>

	* RELEASE_NOTES: Mention the new --enable-facl configure option,
	mod_facl module in the release notes.

2005-02-26  castaglia <castaglia>

	* src/fsio.c: Fix missing variable declaration.

2005-02-26  castaglia <castaglia>

	* configure: Updating configure.

2005-02-26  castaglia <castaglia>

	* NEWS, README.facl, config.h.in, configure.in, include/conf.h,
	include/dirtree.h, include/fsio.h, include/privs.h,
	include/proftpd.h, include/support.h, modules/mod_auth.c,
	modules/mod_facl.c, modules/mod_ls.c, src/dirtree.c, src/fsio.c,
	src/main.c, src/support.c: Bug #2331: Proftpd does not honor POSIX
	ACLs.

2005-02-25  castaglia <castaglia>

	* NEWS, contrib/mod_sql_mysql.c: Bug #2563: Linking fails on Solaris
	with libz and libmysqlclient.

2005-02-25  castaglia <castaglia>

	* ChangeLog: Updated ChangeLog.

2005-02-15  jwm <jwm>

	* contrib/dist/rpm/proftpd.spec: i don't have access to red hat
	machines anymore, so i'm no longer maintaining this

2005-02-07  castaglia <castaglia>

	* include/inet.h, src/inet.c: Use "const char *" where appropriate.

2005-02-04  castaglia <castaglia>

	* NEWS, src/fsio.c: Bug#2556: Rename of directory across devices
	fails.

2005-01-25  castaglia <castaglia>

	* NEWS, lib/libcap/cap_sys.c: Bug#2503 - Bundled libcap library does
	not compile on IA64 machine.

2005-01-13  castaglia <castaglia>

	* modules/mod_ls.c: The fix for Bug #2229 (rev 1.119 of
	modules/mod_ls.c) inadvertently broke globbing; it was calling
	globfree(3) on a struct whose members had been allocated from memory
	that was not obtained via glob(3).  This is a bad combination.

2005-01-06  castaglia <castaglia>

	* contrib/mod_load/mod_load.c.in, contrib/mod_radius.c,
	modules/mod_delay.c: Fix compiler warnings (generated by gcc-3.4.2
	on an AMD64 machine running Linux 2.6.9).

2005-01-06  castaglia <castaglia>

	* src/bindings.c: Fix segfault caused by a NULL listener_list.

2005-01-03  castaglia <castaglia>

	* doc/howto/Stopping.html: Updating FAQ URL.

2005-01-03  castaglia <castaglia>

	* INSTALL: Apparently configure scripts don't pass env vars very
	well to sub-configure scripts.

2005-01-02  jwm <jwm>

	* lib/glibc-hstrerror.c: silence ranlib's 'object contains no
	symbols' warning if the host OS already has hstrerror()

2005-01-02  castaglia <castaglia>

	* RELEASE_NOTES: Make a note to describe the addition of mod_delay
	to the module list.

2005-01-01  castaglia <castaglia>

	* doc/contrib/mod_load.html: Updating the mod_load docs to mention
	the provided Display variables.

2005-01-01  castaglia <castaglia>

	* doc/howto/DisplayFiles.html: Mention that other modules can add
	their own Display variables.

2005-01-01  castaglia <castaglia>

	* contrib/mod_load/mod_load.c.in: Enhance mod_load to use the
	Variables API.

2005-01-01  castaglia <castaglia>

	* contrib/mod_load/configure: Updating configure.

2005-01-01  castaglia <castaglia>

	* doc/contrib/mod_load.html: Eliminated the need for Solaris users
	to do anything special when building mod_load; its configure script
	handles everything.

2005-01-01  castaglia <castaglia>

	* contrib/mod_load/configure.in, contrib/mod_load/getloadavg.c,
	contrib/mod_load/mod_load.c, contrib/mod_load/mod_load.c.in: 
	Modified the configure script to detect when additional libraries
	are needed, and to generate mod_load.c from mod_load.c.in, with the
	$Libraries$ tag properly populated.  Note that newer autoconf treatment of the AC_FUNC_GETLOADAVG macro
	requires that a getloadavg.c file be present, even if empty.  How
	annoying.

2005-01-01  castaglia <castaglia>

	* contrib/mod_load/mod_load.c: No need for mod_load's getloadavg()
	function to be visible outside of the source file.

2005-01-01  castaglia <castaglia>

	* contrib/mod_load/mod_load.c: Fix some compiler warnings about
	formats.  Add an empty $Libraries$ tag.  Soon, mod_load's configure script
	will process the mod_load source, and substitute in a list of
	libraries that mod_load conditionally requires (e.g. libkstat on
	Solaris).

2005-01-01  castaglia <castaglia>

	* contrib/mod_load/mod_load.c: Slightly prettier code organization.

2005-01-01  castaglia <castaglia>

	* contrib/mod_load/mod_load.c: Updating mod_load source style.

2005-01-01  castaglia <castaglia>

	* doc/contrib/index.html: Update doc/contrib index to include
	mod_load reference.

2005-01-01  castaglia <castaglia>

	* README.modules, RELEASE_NOTES: Add mod_load to the list of
	modules.

2005-01-01  castaglia <castaglia>

	* NEWS, contrib/mod_load/Makefile.in, contrib/mod_load/configure,
	contrib/mod_load/configure.in, contrib/mod_load/mod_load.c,
	contrib/mod_load/mod_load.h.in, doc/contrib/mod_load.html: Bug#1651
	- Add contrib module to limit connection acceptance based on system
	load.

2005-01-01  castaglia <castaglia>

	* configure: Updating configure.

2005-01-01  castaglia <castaglia>

	* modules/Makefile.in: Fix the install target when handling only
	shared modules that install themselves.

2005-01-01  castaglia <castaglia>

	* .autom4te.cfg, Make.rules.in, Makefile.in, NEWS, configure.in,
	modules/Makefile.in: Bug#2549 - Allow contrib modules to be built
	from multiple source files.

2004-12-31  castaglia <castaglia>

	* doc/howto/FTP.html: Updating the list of SITE commands supported
	by ProFTPD.

2004-12-31  castaglia <castaglia>

	* doc/howto/FTP.html: Updating the list of FTP commands supported by
	ProFTPD.

2004-12-30  castaglia <castaglia>

	* contrib/mod_sql_mysql.c: Log if mod_sql_mysql fails to
	authenticate a password using the 'backend' SQLAuthType because of a
	password mismatch.

2004-12-30  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2541 - <Directory ~user> path
	resolved at startup time, rather than at session time.

2004-12-30  castaglia <castaglia>

	* NEWS, modules/mod_delay.c: Bug#2540 - Fails to disable mod_delay
	if no DelayTable file exists.

2004-12-23  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c: More
	prettification of error messages.

2004-12-23  castaglia <castaglia>

	* contrib/mod_sql.c: Makes for nicer error messages.

2004-12-23  castaglia <castaglia>

	* INSTALL: Updating the installation notes.

2004-12-17  castaglia <castaglia>

	* modules/Makefile.in: Make the Makefile for the modules/ directory
	nicer, so that when developing shared modules within the source
	directory, make picks up on the updated source file and does The
	Right Thing.

2004-12-17  castaglia <castaglia>

	* modules/mod_dso.c: Avoid compiler warning about unused function.

2004-12-17  castaglia <castaglia>

	* NEWS, contrib/mod_ifsession.c: Bug#2536 - mod_ifsession does not
	properly merge in all directives.

2004-12-17  castaglia <castaglia>

	* src/sets.c: Update xaset_insert_end() so that it updates the
	'next' field of the previous member in the set.

2004-12-17  castaglia <castaglia>

	* contrib/mod_ifsession.c: Hide some of the label strings used by
	mod_ifsession by prefacing their names with an underscore.  Such
	names are not displayed by pr_config_dump().

2004-12-17  castaglia <castaglia>

	* contrib/mod_ldap.c: Typo.

2004-12-16  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: Support being unloaded as a shared
	module.

2004-12-16  castaglia <castaglia>

	* contrib/mod_rewrite.c: Support being unloaded as a shared module.

2004-12-16  castaglia <castaglia>

	* contrib/mod_radius.c: Add code to support being unloaded as a
	shared module.

2004-12-16  castaglia <castaglia>

	* contrib/mod_quotatab.c, contrib/mod_quotatab.h,
	contrib/mod_quotatab_file.c, contrib/mod_quotatab_ldap.c,
	contrib/mod_quotatab_sql.c: Add a new quotatab_unregister_backend()
	function to the mod_quotatab API, and rename quotatab_register() to
	quotatab_register_backend().  This makes it consistent with
	mod_sql's backend API, and also makes it possible to unregister a
	quotatab backend module.  Adds support for graceful unloading of mod_quotatab et al as shared
	modules.

2004-12-16  castaglia <castaglia>

	* contrib/mod_tls.c: Add code to mod_tls to support being unloaded
	as a shared module.

2004-12-16  castaglia <castaglia>

	* modules/mod_dso.c, src/main.c: Rather than having the core engine
	unload modules during a restart, have them unloaded by mod_dso.
	That's only fair, since a) mod_dso was responsible for loading the
	modules in the first place, and b) mod_dso also handles the unloaded
	of the handles from libltdl, about which the core engine knows
	nothing.

2004-12-16  castaglia <castaglia>

	* contrib/mod_sql.c, contrib/mod_sql_mysql.c,
	contrib/mod_sql_postgres.c: Tweak the SQL modules to better handle
	being built as shared modules.

2004-12-16  castaglia <castaglia>

	* src/main.c: During a restart (e.g. SIGHUP), unload all non-static
	modules, i.e. all shared modules that have been dynamically loaded.
	This is to handle the case where an admin removes a LoadModule
	directive from proftpd.conf, then issues a SIGHUP.  Note that this requires changes to shared modules, to make sure they
	unload themselves properly.  Such changes for the contrib/ modules
	will follow shortly.

2004-12-16  castaglia <castaglia>

	* include/event.h, src/event.c: Tweak the Event API to allow blanket
	unregistration of all a module's event listeners in one
	pr_event_unregister() call.  Gracefully avoid a possible segfault during pr_event_register().

2004-12-16  castaglia <castaglia>

	* src/auth.c: 'login' is a global variable somewhere, so compiling
	under --enable-devel kicks up compiler warnings.

2004-12-16  castaglia <castaglia>

	* Makefile.in: The shell's test function prefers to operate on
	single strings, so enclose the expanded $SHARED_MODULE_OBJS list
	within quotations.

2004-12-16  castaglia <castaglia>

	* doc/howto/DisplayFiles.html: Updating the DisplayFiles doc with
	the newly added Display variables.

2004-12-16  castaglia <castaglia>

	* doc/howto/DisplayFiles.html, doc/howto/index.html: Adding a doc
	covering the Display directives.

2004-12-12  castaglia <castaglia>

	* doc/howto/DSO.html: Grammatical nicety.

2004-12-12  castaglia <castaglia>

	* doc/howto/ListOptions.html: Updating URL for current location
	under doc/howto/.

2004-12-12  castaglia <castaglia>

	* doc/howto/ListOptions.html, doc/howto/index.html: Adding the
	ListOptions howto to the source distribution.

2004-12-12  castaglia <castaglia>

	* RELEASE_NOTES: Update the release notes.

2004-12-12  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#2534 - Add suport for -S ListOption,
	for sorting files by file size.

2004-12-12  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#2229 - NLST and LIST behave
	differently e.g. when listing an empty directory.  Make the behavior
	between LIST and LIST consistent with respect to empty directories,
	and when listing nonexistent directories.

2004-12-12  castaglia <castaglia>

	* doc/howto/DSO.html, doc/howto/index.html: Adding DSO howto to
	source distribution.

2004-12-12  castaglia <castaglia>

	* doc/contrib/mod_sql.html: Add documentation for the SQLEngine
	directive.

2004-12-12  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#2406 - Add a SQLEngine
	directive.

2004-12-12  castaglia <castaglia>

	* modules/mod_ctrls.c, modules/mod_site.c: Use the Auth API
	functions in the 'pr_' namespace.

2004-12-12  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2027 - Add log message for timed out
	passive transfers.

2004-12-08  castaglia <castaglia>

	* doc/contrib/mod_quotatab.html: Explicitly mention that only one
	type of limit is in effect at a time, and that applicable limits for
	a given user are not combined.

2004-12-05  castaglia <castaglia>

	* src/main.c: Yet another place where main_server needs to be set to
	NULL before calling free_pools().  Only affects servers built using
	the --enable-devel=nodaemon option.

2004-12-05  castaglia <castaglia>

	* src/main.c: If main_server is not set to NULL before freeing all
	of the pools (from which main_server is allocated), segfaults can
	occur if something tries to log a message.  Note that this only
	happens if the --enable-devel configure option is used, so it
	doesn't affect most users.

2004-12-05  castaglia <castaglia>

	* src/main.c: Properly set session.c and session.d to NULL once
	we've closed them.

2004-12-05  castaglia <castaglia>

	* doc/howto/Authentication.html: Correct the RequireValidShell FAQ
	URL.

2004-12-05  castaglia <castaglia>

	* include/auth.h, modules/mod_auth.c, src/auth.c: Move that code
	responsible for looking up the anonymous configuration for a given
	user name, if applicable, out of mod_auth.c and into the Auth API.
	The main reason for this is to allow contrib modules that may need
	to determine whether a given login is to be handled anonymously
	(e.g.  mod_wrap, mod_sql) the ability to use the same code as
	mod_auth, rather than having to duplicate it themselves.  A nice
	side benefit as that the Auth API function added,
	pr_auth_get_anon_config(), more legibly describes what the function
	does.  This will help to make the mod_auth code slightly easier to
	understand (for some value of "easier").

2004-12-05  castaglia <castaglia>

	* doc/howto/Limit.html: Add examples of blocking PORT or PASV
	commands.

2004-12-04  castaglia <castaglia>

	* doc/howto/Upgrade.html, doc/howto/index.html: Add an Upgrade
	mini-HOWTO to doc/howto/.

2004-12-04  castaglia <castaglia>

	* doc/contrib/mod_quotatab.html: Fix up the links to the quotatab
	submodule docs.

2004-12-04  castaglia <castaglia>

	* doc/contrib/mod_quotatab.html: Update the mod_quotatab
	installation instructions.

2004-12-04  castaglia <castaglia>

	* contrib/mod_quotatab.c, contrib/mod_quotatab.h,
	doc/contrib/mod_quotatab.html: Add some Display variables for
	mod_quotatab:   %{mod_quotatab.limit.bytes_in}   %{mod_quotatab.limit.bytes_out}   %{mod_quotatab.limit.bytes_xfer}   %{mod_quotatab.limit.files_in}   %{mod_quotatab.limit.files_out}   %{mod_quotatab.limit.files_xfer}   %{mod_quotatab.tally.bytes_in}   %{mod_quotatab.tally.bytes_out}   %{mod_quotatab.tally.bytes_xfer}   %{mod_quotatab.tally.files_in}   %{mod_quotatab.tally.files_out}   %{mod_quotatab.tally.files_xfer} These are documented in the mod_quotatab documentation under
	doc/contrib/.

2004-12-04  castaglia <castaglia>

	* src/var.c: Pass the exact pointers provided by callers of
	pr_var_set(), rather than copies of the pointed-to data.

2004-12-04  castaglia <castaglia>

	* modules/mod_core.c: Reduce complexity of code needed for
	displaying byte/file Variables by reducing the number of callbacks
	to two (as opposed to six).

2004-12-04  castaglia <castaglia>

	* src/display.c: Fix displaying of variables.

2004-12-04  castaglia <castaglia>

	* RELEASE_NOTES: Mention the new Display variables in the release
	notes.

2004-12-04  castaglia <castaglia>

	* NEWS, include/proftpd.h, modules/mod_core.c, modules/mod_xfer.c,
	src/display.c: Bug#2170 - Add byte count variables, similar to the
	file count Display variables.

2004-12-04  castaglia <castaglia>

	* modules/mod_core.c: Handle the case where there's only one name
	provided in the Allow/Deny rule.

2004-12-02  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2528 - Incorrect username 'and'
	parsing in AllowUser.

2004-12-02  castaglia <castaglia>

	* src/main.c: Close the control and data connections before running
	any registered 'core.exit' event handlers.

2004-12-02  castaglia <castaglia>

	* contrib/mod_tls.c: Unregister the NetIO streams registered by
	mod_tls during its 'core.exit' handler.  This prevents segfaults
	that can happen when a session is exiting (as when ABORting an
	in-progress data transfer).

2004-12-01  castaglia <castaglia>

	* contrib/mod_rewrite.c, modules/mod_core.c, modules/mod_xfer.c: 
	Correct a few lingering cases where pr_log_pri() was being called
	with a log level that wasn't in the PR_ namespace.

2004-11-29  castaglia <castaglia>

	* src/dirtree.c: Style cleanup.

2004-11-29  castaglia <castaglia>

	* doc/howto/Debugging.html: Updating URL.

2004-11-25  jwm <jwm>

	* modules/mod_delay.c: include signal.h to fix the build under
	Solaris 8

2004-11-24  castaglia <castaglia>

	* src/support.c: More old-style exit handler cruft.

2004-11-23  castaglia <castaglia>

	* src/display.c: Extraneous #include (and at the bottom of a file).

2004-11-23  castaglia <castaglia>

	* modules/mod_core.c: We were calling pr_display_file() on
	DisplayQuit files with the arguments in the wrong order.

2004-11-22  castaglia <castaglia>

	* doc/contrib/mod_ctrls_admin.html: Fix the mod_ctrls_admin
	documentation.  First, there was a duplicate entry for the 'down'
	control action.  Second, the 'shutdown' entry had gone completely
	missing.

2004-11-22  castaglia <castaglia>

	* NEWS: Bug#2510 - Use of ExportCertData TLSOption leads to
	segfault.

2004-11-22  castaglia <castaglia>

	* contrib/mod_tls.c: Since we stuff an SSL * in the strm_data slot
	for each NetIO stream, and there are two streams for a connection,
	when closing a connection, we want to call tls_end_session() (which
	ends up freeing that SSL *) only once per connection.  I chose to do
	this always for the write stream of a connection.  Should help with
	some of the OpenSSL reference counter issues we've been seeing.  This patch is also part of the solution for Bug #2313.

2004-11-22  castaglia <castaglia>

	* contrib/mod_tls.c: Adding some missing logic; pointers that have
	been free()'d should always be set to NULL afterwards.

2004-11-22  castaglia <castaglia>

	* Makefile.in: As per Michael's suggestion, remove the .libs/
	directory, and libtool, during the 'distclean' target.

2004-11-22  castaglia <castaglia>

	* src/support.c: More old-style exit handler cruft.

2004-11-22  castaglia <castaglia>

	* src/main.c: Straggler run_exit_handlers() call.  Be gone with ye!

2004-11-22  castaglia <castaglia>

	* include/support.h, src/main.c, src/support.c: No more support for
	the old-style exit handlers.

2004-11-21  castaglia <castaglia>

	* modules/mod_delay.c: Allow SIGTERM to interrupt mod_delay.

2004-11-21  castaglia <castaglia>

	* modules/mod_delay.c: Since mod_delay uses mmap(), any updates it
	makes to the DelayTable won't be reflected in the mtime field of the
	file's metadata.  To help alleviate this perception, add a
	'core.exit' event handler that explicitly writes out the DelayTable
	to disk.  Fix up some memory problems spotted under valgrind.  Also, if the
	expected DelayTable is smaller than the current table, make sure we
	truncate the file.

2004-11-21  castaglia <castaglia>

	* doc/contrib/mod_ifsession.html: Forgot to list MaxInstances as not
	being alterable by mod_ifsession.

2004-11-21  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#2520 - Turning on AuthAliasOnly
	disables MaxClientsPerHost.  ProFTPD was not using the TOPLEVEL_CONF
	macro, as it should have been.

2004-11-20  castaglia <castaglia>

	* NEWS, include/timers.h, src/main.c, src/timers.c: Bug#2516 -
	Getting "421 Login Timeout" immediately upon connect.  The child
	processes were inheriting the values of static Timer API variables,
	including the parent's timer list.  This causes problems when, in
	the parent process, one of those static variables stops being
	properly updated.  I'm not convinced that the root cause of this bug
	has been found, but this patch addresses the problematic behavior,
	so that at least session processes aren't affected so badly.

2004-11-20  castaglia <castaglia>

	* src/timers.c: Be a little more paranoid: don't set the indispatch
	flag until after alarms have been blocked.

2004-11-20  castaglia <castaglia>

	* README.IPv6: Remove mention of the Bind directive.  We want it
	gone.

2004-11-20  castaglia <castaglia>

	* NEWS, README.IPv6, RELEASE_NOTES, include/bindings.h,
	modules/mod_core.c, src/bindings.c, src/dirtree.c: Bug#2454 - Extend
	<VirtualHost> to honor multiple addresses.

2004-11-20  castaglia <castaglia>

	* RELEASE_NOTES: Adding a comment about how use of sendfile() causes
	download transfer speeds not to be displayable.

2004-11-17  castaglia <castaglia>

	* doc/howto/Controls.html: Mention that only primary groups, not
	supplemental groups, are used.

2004-11-17  castaglia <castaglia>

	* configure: Updating configure.

2004-11-17  castaglia <castaglia>

	* configure.in: Tweak the configure script to always use our bundled
	version of getaddrinfo() on HP-UX 11.x, since HP-UX's getaddrinfo()
	(among many other things) is busted.

2004-11-15  castaglia <castaglia>

	* README.modules: Updating README.modules.

2004-11-15  castaglia <castaglia>

	* modules/mod_core.c, modules/mod_xfer.c: Deny the SIZE command if
	we're in ASCII mode, as we do for REST.  Be sure to add debug
	logging for both of these cases.

2004-11-14  castaglia <castaglia>

	* modules/mod_core.c: Check that a scoreboard entry's PID is
	non-zero before sending the zero signal to that PID.

2004-11-14  castaglia <castaglia>

	* NEWS, doc/howto/ASCII.html, doc/howto/index.html,
	modules/mod_xfer.c: Bug#2471 - Restart command (REST) is not working
	correctly for text files.

2004-11-14  castaglia <castaglia>

	* doc/howto/Scoreboard.html, doc/howto/index.html: Adding a
	ScoreboardFile mini-HOWTO.

2004-11-13  castaglia <castaglia>

	* ltmain.sh: Increase the max allowed command line length in the
	libtool script to be 4K.  I'd rather we encounter the system limit
	before an arbitrarily imposed one.

2004-11-13  castaglia <castaglia>

	* include/fsio.h, src/fsio.c: Beginnings of support for stackable
	FSIO layers.  Rather than allowing only a one-to-one mapping between
	paths and FS objects, this patch allows for one-to-many mappings,
	linking FS objects together in a linked list for the same path.  At present, only the top layer on the stack, for a given FSIO
	operation, will be used.  I anticipate that it will be the
	responsibility of the called FSIO handler to decide whether it wants
	to act as a filter handler, and pass the parameters farther down the
	stack, or whether it wants to act as a source/sink handler and
	handle the parameters entirely by itself.  This behavior allows for
	backward compatibility with existing FSIO modules.

2004-11-13  castaglia <castaglia>

	* modules/mod_delay.c: Use proper grammar.

2004-11-11  castaglia <castaglia>

	* RELEASE_NOTES, modules/mod_log.c: Make "SECURE" an alias for "SEC"
	when configuring ExtendedLog logging classes.

2004-11-11  castaglia <castaglia>

	* include/table.h, src/main.c, src/table.c: Add a function,
	pr_table_nalloc(), to the Table API which allows for allocating a
	table with the given number of chains.  Previously, callers would
	need to call pr_table_alloc(), then pr_table_ctl() to resize the
	number of chains, and in doing so there would be a slight memory
	leak.  Now such callers can allocate the number of chains (usually
	smaller than the default of 32) as they need.

2004-11-10  castaglia <castaglia>

	* configure: Updating configure.

2004-11-10  castaglia <castaglia>

	* RELEASE_NOTES: Mention the new UseSendfile directive.

2004-11-10  castaglia <castaglia>

	* NEWS, configure.in, modules/mod_xfer.c: Bug#2507 - Enable use of
	sendfile by default.

2004-11-10  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_tls.c, include/modules.h,
	modules/mod_log.c: Bug#2518 - Ability to log SSL/TLS commands in an
	ExtendedLog.

2004-11-10  castaglia <castaglia>

	* src/timers.c: Prevent callers from providing a negative number of
	seconds when adding a timer.

2004-11-09  castaglia <castaglia>

	* NEWS: Add a header to the NEWS file indicating the Bugzilla URL to
	use for looking up the mentioned bug reports.

2004-11-09  castaglia <castaglia>

	* modules/mod_delay.c: Use PR_RUN_DIR, not RUN_DIR.

2004-11-09  castaglia <castaglia>

	* configure: Updating configure.

2004-11-09  castaglia <castaglia>

	* NEWS: Bug#2480 - Remote users discovery.

2004-11-09  castaglia <castaglia>

	* configure.in: Make mod_delay one of the default modules.

2004-11-09  castaglia <castaglia>

	* doc/modules/mod_delay.html, modules/mod_delay.c: Adding mod_delay
	to the distribution.  Part of Bug #2480.

2004-11-08  castaglia <castaglia>

	* modules/Makefile.in: Found a case where make(1) was not providing
	$(RM).  How annoying.

2004-11-06  castaglia <castaglia>

	* configure: Updating configure.

2004-11-06  castaglia <castaglia>

	* configure.in: I prefer, if possible, to see the functions checked
	in alphabetical order.

2004-11-05  castaglia <castaglia>

	* README.DSO: Adding reminder note.

2004-11-05  castaglia <castaglia>

	* configure: Updated configure.

2004-11-05  castaglia <castaglia>

	* config.h.in, configure.in: Check for the fdatasync(2) function.

2004-11-04  castaglia <castaglia>

	* NEWS, include/data.h, modules/mod_xfer.c, src/data.c: Bug#2509 -
	sendfile() usage fails with > 2GB files.

2004-11-04  castaglia <castaglia>

	* configure: Updating configure.

2004-11-04  castaglia <castaglia>

	* config.h.in, configure.in: Add checks for iconv() and
	nl_langinfo(), which will be needed for i18n support.

2004-11-03  castaglia <castaglia>

	* doc/contrib/index.html: Adding an index to the doc/contrib/
	directory.

2004-11-03  castaglia <castaglia>

	* doc/contrib/ftpasswd.html, doc/contrib/ftpquota.html,
	doc/contrib/mod_ctrls_admin.html, doc/contrib/mod_ifsession.html,
	doc/contrib/mod_quotatab.html, doc/contrib/mod_quotatab_file.html,
	doc/contrib/mod_quotatab_ldap.html,
	doc/contrib/mod_quotatab_sql.html, doc/contrib/mod_radius.html,
	doc/contrib/mod_rewrite.html, doc/contrib/mod_site_misc.html,
	doc/contrib/mod_sql.html, doc/contrib/mod_tls.html,
	doc/contrib/mod_wrap.html: Moving the HTML documentation from
	contrib/ to doc/contrib/.

2004-11-03  castaglia <castaglia>

	* modules/mod_auth_pam.c, modules/mod_core.c, modules/mod_ls.c,
	modules/mod_xfer.c: Removing deprecated directives.

2004-11-03  castaglia <castaglia>

	* contrib/mod_sql.c: Cleaning up the style of code in mod_sql.  It
	still needs work, as it's inconsistent and thus harder to read and
	maintain.

2004-11-03  castaglia <castaglia>

	* config.h.in, configure.in: Check for, and record, the size of a
	size_t.

2004-11-03  castaglia <castaglia>

	* include/table.h, src/table.c: When removing keys and entries from
	the table, rather than destroying their pools, add them to free
	lists, associated with the table itself.  Check these free lists
	when adding new keys and entries.  Thus the total memory for a table
	is proportional to the total number of entries ever used at one
	time, and we don't have as much memory churn from the destroying of
	pools.  The pool members of the key and entry structs have thus been
	removed.  Also handle signals while iterating through the table chains in
	pr_table_empty().

2004-11-03  castaglia <castaglia>

	* include/default_paths.h: Remove an unused macro, and its
	accompanying crufty comment.

2004-11-02  castaglia <castaglia>

	* config.h.in, configure.in, contrib/mod_ctrls_admin.c,
	contrib/mod_radius.c, include/conf.h, include/default_paths.h,
	include/mod_ctrls.h, include/netaddr.h, include/scoreboard.h,
	modules/mod_auth.c, modules/mod_auth_unix.c, modules/mod_core.c,
	modules/mod_ctrls.c, modules/mod_dso.c, src/ctrls.c, src/dirtree.c,
	src/ftpdctl.c, src/inet.c, src/log.c, src/main.c, src/netacl.c,
	src/netaddr.c, src/scoreboard.c, src/support.c, utils/ftpcount.c,
	utils/ftpshut.c, utils/ftptop.c, utils/ftpwho.c,
	utils/scoreboard.c, utils/utils.h: Moving many of the macros
	defining default paths into the 'PR_' namespace.  This isn't an
	issue now, but will become one when proftpd installs its header
	files into the production location, which will allow DSO modules to
	be built outside of the proftpd source tree.  When that happens, the
	likelihood of symbol collisions between ProFTPD macros/names and
	other files increases.

2004-11-02  castaglia <castaglia>

	* Makefile.in: No need to invoke modules/Makefile's 'shared-modules'
	target if there are no shared module to build.

2004-11-02  castaglia <castaglia>

	* Makefile.in, lib/Makefile.in, modules/Makefile.in: More tweaks to
	get builds using just --with-modules to work again.

2004-11-02  castaglia <castaglia>

	* configure: Updating configure.

2004-11-02  castaglia <castaglia>

	* Makefile.in, configure.in, lib/Makefile.in, modules/Makefile.in: 
	Need to properly handle the case where the user might specify
	--with-modules, and no --with-shared.  In this case, the
	$(SHARED_MODULE_OBJS) variable will be empty, which was not being
	handled.

2004-11-01  castaglia <castaglia>

	* NEWS, README.DSO: Mention the addition of DSO support in NEWS, and
	start on an accompanying README.DSO.  There will eventually appear a
	DSO mini-HOWTO as well.

2004-11-01  castaglia <castaglia>

	* configure: Updating configure.

2004-11-01  castaglia <castaglia>

	* Make.rules.in, Makefile.in, configure.in, modules/Makefile.in: 
	Adding support for a --with-shared configure option, for building
	DSO (aka shared) modules.

2004-11-01  castaglia <castaglia>

	* modules/mod_dso.c: Calling lt_dlexit() in a 'core.exit' event
	handler caused proftpd to segfault when shutting down.  All of the
	stashed module *m pointers for dynamically loaded modules become
	invalid after a call to lt_dlexit(), and those pointers can be used
	after mod_dso's exit handler.  The solution (though not clean) is to
	not call lt_dlexit().

2004-11-01  castaglia <castaglia>

	* src/display.c: Bad reuse of variable name.

2004-11-01  castaglia <castaglia>

	* include/var.h: Forgot to declare the pr_var_delete() function.

2004-10-31  castaglia <castaglia>

	* modules/mod_dso.c: The dso_unload_module() function is only used
	if the 'rmmod' control action is used, which means that it requires
	Controls support.  Otherwise, we don't need it.

2004-10-31  castaglia <castaglia>

	* modules/mod_dso.c: Remove an unnecessary function.

2004-10-31  castaglia <castaglia>

	* modules/mod_core.c: Report the line number of the <IfDefine>,
	<IfModule> sections used or skipped.

2004-10-31  castaglia <castaglia>

	* include/parser.h, src/parser.c: Add a function to the Parser API
	for getting the current line number.  This is useful for better
	reporting.

2004-10-31  castaglia <castaglia>

	* modules/mod_dso.c: Some of the loop variables are only used if
	Controls support is enabled.

2004-10-31  castaglia <castaglia>

	* configure: Updating configure.

2004-10-31  castaglia <castaglia>

	* aclocal.m4: Update our local autoconf macros, specifically those
	dealing with libtool.  This should fix the warning:   libtool: link: warning: `AC_LIBTOOL_DLOPEN' not used. Assuming no
	  dlopen support.  that I was seeing.

2004-10-31  castaglia <castaglia>

	* src/table.c: Quell a compiler warning about "use of cast
	expressions as lvalues" by being explicit.

2004-10-31  castaglia <castaglia>

	* config.h.in, include/conf.h: The configure script was checking for
	<inttypes.h>, but we were not recording whether it was present or
	not, or including the header if it was present.  Shame on us.

2004-10-31  castaglia <castaglia>

	* modules/Makefile.in: The building of modules should require the
	libltdl header or library.  Just libtool to handle the linking.

2004-10-31  castaglia <castaglia>

	* src/main.c: Add the display of PR_TUNABLE_RCVBUFSZ,
	PR_TUNABLE_SNDBUFSZ to the -V output.

2004-10-31  castaglia <castaglia>

	* configure: Updating configure.

2004-10-31  castaglia <castaglia>

	* Makefile.in, configure.in: Attempting to get a DSO-enabled proftpd
	to link properly on platforms other than Linux by linking with
	libltdl as an object file, rather than linking against it as a
	library.

2004-10-31  castaglia <castaglia>

	* modules/mod_log.c: Since we're using %ld as a format, explicitly
	cast the value as a long int, rather than as a time_t.

2004-10-31  castaglia <castaglia>

	* configure: Updating configure.

2004-10-31  castaglia <castaglia>

	* Make.rules.in, configure.in: Let's move the definition of
	HAVE_CONFIG_H into Make.rules.  The ordering of HAVE_CONFIG_H in the
	flags is therefore nicer.

2004-10-31  castaglia <castaglia>

	* configure: Updating configure.

2004-10-31  castaglia <castaglia>

	* configure.in: Define HAVE_CONFIG_H when compiling proftpd.  Some
	of the files under lib/ require this, in order to pull in
	<config.h>, and subsequently some of the system headers needed.

2004-10-31  castaglia <castaglia>

	* lib/Makefile.in: If LIB_DEPS happens to be the empty string (as
	needed for Solaris), provide a target for it which does nothing.
	Otherwise make will be cranky.

2004-10-31  castaglia <castaglia>

	* configure: Updating configure.

2004-10-31  castaglia <castaglia>

	* src/var.c: Quell a compiler warning about a label with no
	expressions.

2004-10-31  castaglia <castaglia>

	* config.h.in, configure.in: Check for the <string.h> header.

2004-10-31  castaglia <castaglia>

	* configure: Updating configure.

2004-10-31  castaglia <castaglia>

	* configure.in: Initialize the socket buffer sizes, just to be safe.

2004-10-31  castaglia <castaglia>

	* RELEASE_NOTES, include/version.h: As Daniel noted, it should be
	"1.3.0", not just "1.3".

2004-10-31  castaglia <castaglia>

	* configure: Updating configure.

2004-10-31  castaglia <castaglia>

	* configure.in: Bourne shell tests on Solaris don't like testing
	empty values; they prefer the empty string if nothing else.

2004-10-31  castaglia <castaglia>

	* configure: Updating configure.

2004-10-31  castaglia <castaglia>

	* config.h.in, configure.in, include/options.h, src/data.c,
	src/dirtree.c: First, fix a bug where session.xfer.buf was allocated
	as PR_TUNABLE_BUFFER_SIZE, rather than PR_TUNABLE_XFER_BUFFER_SIZE.  Next, try to be smarter about the default value for
	PR_TUNABLE_XFER_BUFFER_SIZE.  The configure script now runs a small
	test program that uses getsockopt(2) to determine the sizes of a TCP
	socket's send and receive buffers.  The smaller of the two buffer
	sizes is used as the default value for PR_TUNABLE_XFER_BUFFER_SIZE;
	the --enable-transfer-buffer-size option will override this test.
	The test program also records those send/receive buffer sizes in
	PR_TUNABLE_RCVBUFSZ and PR_TUNABLE_SNDBUFSZ, which were previously
	hardcoded to be 8K.

2004-10-31  castaglia <castaglia>

	* modules/mod_xfer.c, src/data.c: Style nits: struct stat variables
	should be named 'st', and the 'xlate' name for the ASCII handling
	routines is not appropriate in light of the i18n translation we will
	be needing.  It's more of a transformation, really.

2004-10-31  castaglia <castaglia>

	* NEWS: Updating NEWS.

2004-10-31  castaglia <castaglia>

	* Make.rules.in, include/conf.h, include/display.h,
	include/modules.h, include/var.h, modules/mod_auth.c,
	modules/mod_core.c, src/display.c, src/main.c, src/var.c: Bug#2701 -
	Add Variables API.  This also separates the code used for handling Display* files into
	its own file; src/main.c was calling into modules/mod_core.c for
	that function, which is bad design.  Core code should not be using
	functions implemented in modules.

2004-10-31  castaglia <castaglia>

	* config.h.in, configure.in, src/main.c: Make sure that if
	--enable-dso is used, it shows up when the -V command-line option is
	used.

2004-10-31  castaglia <castaglia>

	* RELEASE_NOTES: Updating the release notes.  These still need some
	work.

2004-10-31  castaglia <castaglia>

	* src/inet.c: Typo.

2004-10-31  castaglia <castaglia>

	* src/parser.c: Update the license to reflect the proper original
	copyright holder(s).

2004-10-31  castaglia <castaglia>

	* Make.rules.in, contrib/mod_ifsession.c, include/conf.h,
	include/dirtree.h, include/parser.h, modules/mod_core.c,
	src/dirtree.c, src/main.c, src/parser.c: Separating the parser code
	out from src/dirtree.c into its own file, src/parser.c, with a
	proper header file documenting the API (include/parser.h).  Update
	the rest of the core code to use the new API as needed.

2004-10-31  castaglia <castaglia>

	* contrib/mod_ifsession.c: There is not enough information to call
	resolve_deferred_dirs() at session init time.  This function is
	usually for expanding the tilde in path names, and at session init
	time, we don't know the user name for expansion.

2004-10-30  castaglia <castaglia>

	* src/main.c: Use pr_auth_getgroups(), not auth_getgroups().

2004-10-30  castaglia <castaglia>

	* contrib/mod_tls.c, contrib/mod_wrap.c, src/dirtree.c, src/fsio.c,
	src/support.c: Use the Auth API functions in the 'pr_' namespace.

2004-10-30  castaglia <castaglia>

	* modules/mod_core.c: Use the Auth API functions in the 'pr_'
	namespace rather than relying on the compatibility macros.

2004-10-30  castaglia <castaglia>

	* configure: Updating configure.

2004-10-30  castaglia <castaglia>

	* configure.in: Tweaking the configure script a bit, providing more
	complete path information in flags, etc.  Not really needed for the
	default build process which we all know and love, but will become
	necessary when building DSO modules.

2004-10-30  castaglia <castaglia>

	* src/timers.c: This struct is no longer typedef'd.

2004-10-30  castaglia <castaglia>

	* include/timers.h: Include some redefines for supporting legacy
	modules that may not have been updated to use the 'pr_' namespace
	Timer API.

2004-10-30  castaglia <castaglia>

	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c,
	contrib/mod_tls.c, modules/mod_ctrls.c: Update the contrib/ modules
	to use the Timer API in the 'pr_' namespace (and mod_ctrls, too).

2004-10-30  castaglia <castaglia>

	* include/timers.h, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_xfer.c, src/data.c, src/ident.c, src/inet.c,
	src/main.c, src/timers.c: Moving the Timer API into the 'pr_'
	namespace.

2004-10-30  castaglia <castaglia>

	* include/ftp.h: In the near future, a module will implement support
	for RFC2640's LANG command.

2004-10-30  castaglia <castaglia>

	* include/version.h: With the addition of DSO support, ProFTPD is
	now moving into the 1.3.x series.  Whee!

2004-10-29  castaglia <castaglia>

	* ltmain.sh: Yet another bug in GNU's ltmain.sh script -- yet
	another undeclared variable.

2004-10-29  castaglia <castaglia>

	* doc/modules/mod_dso.html: Typo (spotted by Michael).

2004-10-29  castaglia <castaglia>

	* doc/modules/mod_dso.html: Adding documentation for mod_dso.

2004-10-29  castaglia <castaglia>

	* src/event.c: As a comment to myself indicated, it is necessary to
	pstrdup() the name of the event for which a listener is being
	registered, rather than stashing a pointer to the given name
	directly.  This was causing a segfault when the pointer to the name
	given was part of a dynamically loaded module.

2004-10-29  castaglia <castaglia>

	* modules/mod_core.c: The DebugLevel configuration handler was not
	recognizing 10 as a valid debug level.

2004-10-29  castaglia <castaglia>

	* doc/modules/mod_ctrls.html: Grammar fix.

2004-10-29  castaglia <castaglia>

	* modules/mod_dso.c: Removing debugging cruft.

2004-10-29  castaglia <castaglia>

	* configure: Updating configure.

2004-10-29  castaglia <castaglia>

	* lib/libltdl/Makefile.in: Disable the actions that try to use
	autoheader and automake.  These aren't installed on every system,
	and we don't really use them.

2004-10-29  castaglia <castaglia>

	* configure.in, lib/Makefile.in: Only configure, build, and clean
	the libltdl/ directory if --enable-dso is selected.  Otherwise, let
	the build proceed as usual, and let the normal 'clean' target work
	without throwing an error.

2004-10-29  castaglia <castaglia>

	* configure: Updating configure.

2004-10-29  castaglia <castaglia>

	* Make.rules.in, Makefile.in, config.h.in, configure.in,
	include/default_paths.h, lib/Makefile.in, modules/Makefile.in: More
	DSO support changes.

2004-10-29  castaglia <castaglia>

	* ltmain.sh, modules/mod_dso.c: Adding a (slightly modified) copy of
	ltmain.sh, which is responsible for creating the libtool executable.
	Also adding mod_dso.c.  All part of the preparations for adding DSO
	support to ProFTPD.

2004-10-29  castaglia <castaglia>

	* aclocal.m4: Adding GNU libtool M4 definitions to our aclocal.m4.

2004-10-29  castaglia <castaglia>

	* lib/libltdl/COPYING.LIB, lib/libltdl/Makefile.am,
	lib/libltdl/Makefile.in, lib/libltdl/README,
	lib/libltdl/acinclude.m4, lib/libltdl/aclocal.m4,
	lib/libltdl/config-h.in, lib/libltdl/config.guess,
	lib/libltdl/config.sub, lib/libltdl/configure,
	lib/libltdl/configure.ac, lib/libltdl/install-sh,
	lib/libltdl/ltdl.c, lib/libltdl/ltdl.h, lib/libltdl/ltmain.sh,
	lib/libltdl/missing: Adding GNU libtool's libltdl files to ProFTPD.

2004-10-29  castaglia <castaglia>

	* modules/mod_core.c: The checks for <IfDefine>, </IfDefine>,
	<IfModule>, and </IfModule>, within the respective directive
	handlers, need to be case-insensitive.

2004-10-28  castaglia <castaglia>

	* NEWS, utils/ftptop.c: Bug#2484 - Better ftptop formatting.

2004-10-27  castaglia <castaglia>

	* modules/mod_xfer.c: Typo.

2004-10-26  castaglia <castaglia>

	* include/dirtree.h, include/modules.h, include/proftpd.h,
	modules/mod_site.c, modules/mod_xfer.c, src/main.c, src/modules.c: 
	Removing old privdata_t structures in favor of table entries, using
	the new Table API.

2004-10-26  castaglia <castaglia>

	* configure: Updating configure.

2004-10-26  castaglia <castaglia>

	* config.h.in, configure.in: Define CONFIG_DIR to point to the
	hardcoded directory containing the proftpd.conf file.

2004-10-26  castaglia <castaglia>

	* Make.rules.in, include/conf.h, include/table.h, src/table.c: 
	Adding the Table API source.

2004-10-20  castaglia <castaglia>

	* contrib/mod_tls.c: It is possible for SSL_read() to return
	SSL_ERROR_WANT_WRITE as well, so handle that case the same way as
	handling SSL_ERROR_WANT_READ: select() on the socket until it is
	available for writing, then call SSL_read() again.  Note that this happens (ideally) only when a renegotiation is
	occuring on the underlying SSL session.  So set the
	SSL_MODE_AUTO_RETRY mode too (if the OpenSSL version supports it),
	which will hopefully keep renegotiations from causing SSL_read() to
	return SSL_ERROR_WANT_WRITE.

2004-10-18  castaglia <castaglia>

	* modules/mod_xfer.c: A few cases where log_pri() was being used,
	rather than pr_log_pri().

2004-10-17  castaglia <castaglia>

	* doc/howto/Directory.html: Mention using quotations to enclose
	directory paths that contain spaces.

2004-10-17  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#1965 - Change timing of handling of
	QUIT command.

2004-10-17  castaglia <castaglia>

	* contrib/mod_sql.c: Extraneous redeclaration of a variable.

2004-10-17  castaglia <castaglia>

	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Fixing bad
	reuse of variable name from outer scope.

2004-10-17  castaglia <castaglia>

	* RELEASE_NOTES: Mention the new MaxConnectionsPerHost directive in
	the release notes.

2004-10-17  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#2273 - Ability to limit number of
	unauthenticated clients from a single host.

2004-10-16  castaglia <castaglia>

	* NEWS, modules/mod_auth_pam.c: Bug#2497 - Users can login without
	password if pam_start() fails.

2004-10-15  castaglia <castaglia>

	* NEWS, src/auth.c, src/dirtree.c: Bug#2499 - make_cmd() does not
	NULL-terminate cmd->argv[].

2004-10-15  castaglia <castaglia>

	* modules/mod_auth.c: Move the handling of the AccessGrantMsg and
	DisplayLogin directives into the POST_CMD handler for PASS, rather
	than in the CMD handler.  This is aesthetically where such handling
	should occur, and it makes it possible for future enhancements where
	contrib modules can add their own variables to be interpolated into
	the DisplayLogin file.

2004-10-12  castaglia <castaglia>

	* src/inet.c: Nicer error message.

2004-10-11  castaglia <castaglia>

	* src/bindings.c: Avoid an infinite loop problem with Bind is used
	by stashing pointers to the bindings to use, when accepting a client
	connection, in an array_header, rather than overloading the 'next'
	field in the conn_t struct.

2004-10-11  castaglia <castaglia>

	* src/dirtree.c: Fix case where the config tree was not dumped if
	the server_rec had an empty set of config_recs.  The name of the
	server_rec should still be dumped in such cases.

2004-10-09  castaglia <castaglia>

	* doc/howto/TLS.html: Update link to FTPS Draft.

2004-10-09  castaglia <castaglia>

	* src/dirtree.c: The parser internals are crufty, and are in need of
	rewriting and prettification.  Until then, make the code a little
	more legible (to me, at least).

2004-10-09  castaglia <castaglia>

	* NEWS, include/inet.h, include/netio.h, src/data.c, src/inet.c,
	src/netio.c: Bug#2494 - ABOR problem with Cisco routers copy ftp
	flash.

2004-10-09  castaglia <castaglia>

	* src/main.c: Generate a 'core.connect' event after a client has
	connected and we've forked, but before we lookup the server_rec for
	the session.

2004-10-09  jwm <jwm>

	* contrib/mod_ldap.c: release 2.8.14

2004-10-07  castaglia <castaglia>

	* contrib/ftpasswd: Explicitly mention "RequireValidShell off" if
	the given shell is not in /etc/shells.

2004-10-07  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#2496 - NLST off-by-one bug when
	handling relative paths in a chrooted session.

2004-10-07  castaglia <castaglia>

	* modules/mod_ls.c: Use the Auth API in the 'pr_' namespace.

2004-10-02  castaglia <castaglia>

	* contrib/mod_tls.c: Handle signals when in potentially infinite
	gotos, so that the process can be interrupted.  Expand the TLSLog entry for refused PROT commands a little more, to
	explain why the PROT command was refused (e.g. 'PROT C' was sent,
	but TLSRequired setting requires data protection).

2004-10-02  castaglia <castaglia>

	* doc/howto/TLS.html: Adding two more FAQs to the TLS howto.

2004-10-02  castaglia <castaglia>

	* contrib/mod_tls.c: Fix the logic when reporting on syscall errors,
	so that the errors are properly reported.

2004-10-02  castaglia <castaglia>

	* modules/mod_auth.c: Stop sending 232 as a response code to the
	PASS command; it is valid only in response to a USER command.  Part
	of Bug #2164.

2004-10-02  castaglia <castaglia>

	* contrib/mod_tls.c: Remove code that is never compiled.

2004-10-01  castaglia <castaglia>

	* NEWS, modules/mod_auth_pam.c: Bug#2492 - Off-by-one error in
	FreeBSD PAM username length check.

2004-09-29  castaglia <castaglia>

	* NEWS, src/dirtree.c: Bug#2490 - <Limit ALL> affects PORT command.
	The EPRT, EPSV, PORT, and PASV commands are now explicitly excluded
	from the ALL command group.

2004-09-28  jwm <jwm>

	* NEWS, contrib/mod_ldap.c: new mod_ldap 2.8.13

2004-09-27  castaglia <castaglia>

	* contrib/mod_quotatab_ldap.c: mod_ldap now looks for a HOOK, rather
	than a CMD, for the mod_quotatab_ldap lookup symbol, as per John's
	request.

2004-09-26  castaglia <castaglia>

	* modules/mod_auth_file.c, modules/mod_auth_unix.c: Use the 'pr_'
	namespace of the Auth API.

2004-09-26  castaglia <castaglia>

	* modules/mod_auth.c: Removing code that should not have been
	committed.  Oops.

2004-09-26  castaglia <castaglia>

	* include/auth.h, include/conf.h, include/modules.h,
	modules/mod_auth.c, src/auth.c: Moving the Auth API into the 'pr_'
	namespace, and creating a separate header file defining the pr_auth
	function prototypes.

2004-09-26  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
	contrib/mod_sql_postgres.c: Bug#2485 - SQL backend modules close all
	open connections too early.

2004-09-26  castaglia <castaglia>

	* NEWS: Mention the new init.d script for SuSE.

2004-09-26  castaglia <castaglia>

	* NEWS, RELEASE_NOTES, contrib/mod_sql.c, contrib/mod_sql.h,
	contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Bug#2392 -
	mod_sql needs better handling of its backend modules.

2004-09-26  castaglia <castaglia>

	* src/mkhome.c: Generate a 'core.create-home' event when creating a
	home directory; the event_data is currently the name of the user
	whose home is being created.  And correct a typo.

2004-09-25  jwm <jwm>

	* contrib/dist/rpm/proftpd.init.d.suse: suse init script Submitted
	by: Daniel Weuthen <dw@megabit.net>

2004-09-23  castaglia <castaglia>

	* NEWS, include/privs.h: Bug#2488 - Wrong order of privs calls on HP
	generates "unable to setregid()" error.

2004-09-18  castaglia <castaglia>

	* contrib/mod_quotatab.c: When handling the 'core.restart' event, do
	not bounce the log file descriptor.  Restarts are processed by the
	daemon process, and mod_quotatab only logs in session processes;
	bouncing the log descriptor in the daemon process was causing
	mod_quotatab to open a descriptor onto stdout, which then wreaked
	havoc with the rest of the system.

2004-09-18  castaglia <castaglia>

	* src/proftpd.8.in: Document the new -N option in the proftpd(8) man
	page.

2004-09-18  castaglia <castaglia>

	* NEWS, include/proftpd.h, modules/mod_core.c, src/main.c: Bug#2468
	- Ability to disable address/port collision checking.

2004-09-17  castaglia <castaglia>

	* contrib/mod_quotatab.c: Explicitly use the more modern
	'pr_log_openfile' symbol.

2004-09-15  castaglia <castaglia>

	* include/conf.h: Typo (log -> long).

2004-09-14  castaglia <castaglia>

	* NEWS, contrib/mod_ldap.c, contrib/mod_radius.c,
	contrib/mod_sql.c, include/conf.h, include/modules.h,
	modules/mod_auth.c, modules/mod_auth_file.c,
	modules/mod_auth_unix.c, modules/mod_core.c, modules/mod_ctrls.c,
	modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c,
	modules/mod_xfer.c, src/auth.c, src/data.c, src/xferlog.c: Bug#2389
	- 64-bit compilation warnings.

2004-09-13  castaglia <castaglia>

	* src/support.c: Add an explicit typecast to quell warnings on
	64-bit platforms.

2004-09-13  castaglia <castaglia>

	* modules/mod_auth_pam.c: Quell a compiler warning on Solaris with
	an explicit typecast.

2004-09-13  castaglia <castaglia>

	* doc/howto/Limit.html: Add example of using <Class> and
	mod_ifsession to configure a user so that they can only login from a
	certain IP range.

2004-09-12  castaglia <castaglia>

	* doc/howto/FXP.html: Add text noting the ISPs may filter FTP ports,
	blocking FXP.

2004-09-11  castaglia <castaglia>

	* src/main.c: Typo.

2004-09-08  castaglia <castaglia>

	* contrib/mod_quotatab.c: Add logging of the non-ENOENT cases when
	the uploaded file has disappeared.

2004-09-07  castaglia <castaglia>

	* src/main.c: Settings display format tweak.

2004-09-07  castaglia <castaglia>

	* src/main.c: Add --settings option to the long getopt() list.

2004-09-07  castaglia <castaglia>

	* src/main.c: Update the long descriptions for the -n, -d
	command-line parameters.

2004-09-07  castaglia <castaglia>

	* include/proftpd.h: Removing cruft.

2004-09-07  castaglia <castaglia>

	* contrib/mod_quotatab.c: Handle the case where, after an upload,
	the file to which bytes have been added has disappeared (as when
	MaxStoreFileSize and DeleteAbortedStores are in effect).

2004-09-07  castaglia <castaglia>

	* src/proftpd.8.in: Mention debug level 10 in the proftpd(8) man
	page.

2004-09-05  castaglia <castaglia>

	* src/event.c: More graceful handling of NULL evh->module pointers.

2004-09-05  castaglia <castaglia>

	* doc/mod_sample.c: Update the sample module to include registering
	the module version.

2004-09-05  castaglia <castaglia>

	* configure: Updating configure script.

2004-09-05  castaglia <castaglia>

	* src/main.c: Display the --enable-scoreboard-updates setting in the
	-V output.

2004-09-05  castaglia <castaglia>

	* NEWS, config.h.in, configure.in: Add autoconf support for a
	--enable-scoreboard-updates option.

2004-09-05  castaglia <castaglia>

	* NEWS, include/options.h, modules/mod_xfer.c: Bug#2455 - Allow
	fine-tuning of how often mod_xfer updates the scoreboard.

2004-09-05  castaglia <castaglia>

	* RELEASE_NOTES: Update release notes for 1.2.11 release cycle.

2004-09-05  castaglia <castaglia>

	* src/proftpd.8.in: Remove extra space.

2004-09-05  castaglia <castaglia>

	* src/proftpd.8.in: Document the new -V command-line option in the
	proftpd(8) man page.

2004-09-05  castaglia <castaglia>

	* configure: Updating configure script.

2004-09-05  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, src/main.c: Add support for a -V
	command-line option, which displays various compile-time settings, a
	la Apache.

2004-09-05  castaglia <castaglia>

	* config.h.in, include/conf.h: Move the HPUX socklen_t bug fix to
	include/conf.h, a header file that is not preprocessed by autoconf.
	The autoconf preprocessing was causing the #undef in the generated
	config.h header file to be commented out, which would result in
	complaints from stringent compilers.

2004-09-05  castaglia <castaglia>

	* contrib/mod_sql.c, contrib/mod_sql_mysql.c,
	contrib/mod_sql_postgres.c: Remove the _MOD_VERSION #define from
	mod_sql, as it was not doing as was intended, I think.  Much better,
	cleaner, and more explicit to have each module #define its own
	VERSION string, and to use that version string consistently within
	the module.

2004-09-05  castaglia <castaglia>

	* modules/mod_log.c: Convert mod_log to use the Events API.

2004-09-05  castaglia <castaglia>

	* contrib/mod_rewrite.c: Convert mod_rewrite to use the Events API.

2004-09-05  castaglia <castaglia>

	* src/regexp.c: The Regexp API need not use the core_module pointer
	for registering its callbacks; registered events can have a NULL
	module pointer.

2004-09-05  castaglia <castaglia>

	* src/regexp.c: Convert the Regexp API to use the Events API for
	cleanup.

2004-09-05  castaglia <castaglia>

	* modules/mod_xfer.c: Update mod_xfer to use the Events API a little
	more.

2004-09-05  castaglia <castaglia>

	* modules/mod_auth_unix.c: Convert mod_auth_unix to use the Events
	API.

2004-09-05  castaglia <castaglia>

	* modules/mod_auth_pam.c: Convert mod_auth_pam to use the Events
	API.

2004-09-05  castaglia <castaglia>

	* contrib/mod_sql.c: Convert mod_sql to use the Events API.

2004-09-05  castaglia <castaglia>

	* contrib/mod_radius.c: Convert mod_radius to use the Events API.

2004-09-05  castaglia <castaglia>

	* contrib/mod_quotatab.c: Convert mod_quotatab to using the Events
	API.

2004-09-04  castaglia <castaglia>

	* NEWS, src/fsio.c: Bug#2476 - Incorrect detection of symbolic link
	loop across devices.  The algorithm used for loop detection relied
	solely on the inode number, which does not account for the
	possibility that different devices may reuse inode numbers.  This
	patch adds the device number to the detection algorithm.

2004-09-04  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2463 - mod_xfer doesn't check how
	many bytes it has written to disk.

2004-09-04  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#2458 - Bad handling of CreateHome
	parameters.

2004-09-04  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#2457 - Directory listing provides bad
	info when path ends with /.

2004-09-04  castaglia <castaglia>

	* NEWS, src/main.c: Bug#2449 - ProFTPD silently ignores extra
	command-line parameters.

2004-09-04  castaglia <castaglia>

	* include/version.h: Update version, indicating CVS status once
	more.

2004-09-04  castaglia <castaglia>

	* ChangeLog: Updating ChangeLog.

2004-09-04  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
	to release 1.2.10-final.

2004-08-25  castaglia <castaglia>

	* src/data.c: When using sendfile(), only reset the transmission
	timers if bytes have actually been written out.  sendfile() can
	return zero, indicating that it wrote zero bytes -- we do not want
	to reset the timers in this case, for it could indicate other issues
	with the file descriptor from which data are being read.  This fixes an endless loop seen at a particular site involving use
	of sendfile() and NFS/SAN-shared files.

2004-08-24  castaglia <castaglia>

	* modules/mod_xfer.c: Reset the 'have_prot' flag to false when a
	successful PROT C command is processed.

2004-08-12  castaglia <castaglia>

	* modules/mod_xfer.c: Update to patch to mod_xfer for Bug #2444: the
	PROT command is allowed before authentication.  The patch was
	required authentication first, causing issutes for FTPS clients that
	sent PROT before USER.

2004-08-07  castaglia <castaglia>

	* NEWS, src/log.c, src/main.c: Bug#2427 - proftpd gets a memory
	fault when run from ssh batch mode.

2004-08-07  castaglia <castaglia>

	* src/main.c: Two more cases where the IP address contacted by the
	client should be used, if present, rather than the ServerAddress
	field of the relevant server_rec.

2004-08-07  castaglia <castaglia>

	* src/main.c: Fix a minor bug in the reporting of ServerIdent, where
	the wrong IP address may be displayed.  For example, with the
	following configuration:   <VirtualHost 127.0.0.1>     Bind 1.2.3.4     ...    </VirtualHost> a client connecting to 1.2.3.4 should see "[127.0.0.1]" at the tail
	end of the default ServerIdent displayed, rather than the more
	appropriate "[1.2.3.4]".  The fix is to use the IP address to which
	the client connected, rather than the ServerAddress field of the
	server_rec to which the client connected.  As the case with Bind
	shows, multiple IP addresses may be associated with the same
	server_rec, and the IP address displayed to the connecting client
	should not "leak" this fact.

2004-08-06  castaglia <castaglia>

	* src/main.c: Reorder the timing of calling pr_ident_lookup(),
	making it occur after modules have been initialized.  This makes it
	possible for mod_ifsession, for example, to alter if ident lookups
	will be enabled, e.g.:   <IfClass foo>     IdentLookups off   </IfClass> so that ident lookups can be enabled/disabled selectively.

2004-08-06  castaglia <castaglia>

	* doc/howto/Limit.html: Add description of applying <Limit> sections
	to SITE commands.

2004-08-05  castaglia <castaglia>

	* RELEASE_NOTES: Updating the release notes.

2004-08-04  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Add support for automatically scrubbing
	the scoreboard for stale sessions on session init time, for inetd
	proftpds.  Scrubbing is already done periodically for standalone
	proftpds.

2004-08-03  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2444 - Use of sendfile() does not
	interoperate well with RFC2228 security mechanisms.

2004-08-03  castaglia <castaglia>

	* contrib/mod_sql.c: Convert mod_sql to using ProFTPD's sstrcat()
	function, rather than strcat(3).

2004-08-01  castaglia <castaglia>

	* NEWS, modules/mod_auth_file.c: Bug#2445 - AuthUserFile in <Global>
	context overrides <VirtualHost> setting.  Note that this bug will be
	revisited in the next release cycle, and fixed The Right Way(tm).

2004-07-31  castaglia <castaglia>

	* modules/mod_core.c: Store the original name configured by a
	MasqueradeAddress directive in the config_rec, along with the
	resolved netaddr object.  This will make it possible to re-resolve
	the original name at a later date.

2004-07-31  castaglia <castaglia>

	* doc/howto/Limit.html: Add example <Limit LOGIN> configuration that
	allows only anonymous logins.

2004-07-30  castaglia <castaglia>

	* modules/mod_core.c: Make certain that all occurrences of an
	environment variable are removed when handling the UnsetEnv
	directive; a environment variable can appear multiple times in the
	environ array.

2004-07-28  castaglia <castaglia>

	* doc/howto/Authentication.html: Updating the section on "Resolving
	~", fixing mention of mod_auth_pam.

2004-07-22  castaglia <castaglia>

	* NEWS, modules/mod_auth_pam.c: Bug#2442 - Segfault in FreeBSD PAM
	library with long login names.

2004-07-22  castaglia <castaglia>

	* README.PAM: Update the PAM docs about AuthPAMAuthoritative, and
	add an Issues section.

2004-07-22  castaglia <castaglia>

	* contrib/mod_ldap.c, contrib/mod_sql.c: Apply the same criteria for
	including <crypt.h> to mod_ldap and mod_sql as are used for
	mod_auth_unix and mod_auth_file.

2004-07-21  castaglia <castaglia>

	* NEWS, modules/mod_auth_file.c, modules/mod_auth_unix.c: Bug #2411
	- AIX5 portability bug with mod_auth_unix, mod_auth_file.  Using gcc
	on AIX5, these files compile without complaint.  However, using the
	IBM compiler and following the instructions in README.AIX, they will
	fail on AIX5.  The fix is to extend for AIX5 the portability hack
	that is done for AIX4.

2004-07-20  castaglia <castaglia>

	* NEWS, include/modules.h, modules/mod_core.c, src/auth.c: Bug #2440
	- Unable to use PAM authentication properly.  As explained in the
	bug report, the deprecation of all *Authoritative directives causes
	an issue with modules like mod_auth_pam.  This patch makes use of an
	unused flag variable in the authtable structure in order to
	implement the setting of auth module authoritativeness via the
	AuthOrder directive.

2004-07-15  castaglia <castaglia>

	* modules/mod_ctrls.c: We were forgetting to remove our previous
	timer before adding a new one.

2004-07-15  castaglia <castaglia>

	* src/timers.c: Prevent add_timer() from adding multiple timers that
	use the same timerno.

2004-07-14  castaglia <castaglia>

	* modules/mod_ctrls.c: We don't want child processes handling these
	events for mod_ctrls.

2004-07-14  castaglia <castaglia>

	* include/version.h: Let's try this again.

2004-07-13  castaglia <castaglia>

	* ChangeLog: Updating ChangeLog.

2004-07-13  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: How
	embarassing.  A typo broke 1.2.10rc2, necessitating a release of
	rc3.

2004-07-13  castaglia <castaglia>

	* modules/mod_core.c: Typo.

2004-07-13  castaglia <castaglia>

	* include/version.h: Bump version for CVS checkouts.

2004-07-13  castaglia <castaglia>

	* ChangeLog: Updating ChangeLog.

2004-07-13  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
	for release of 1.2.10rc2.

2004-07-13  castaglia <castaglia>

	* modules/mod_core.c: Variable name collision from different scopes;
	fix to quell a compiler warning.

2004-07-13  castaglia <castaglia>

	* src/support.c: Quell a warning about reusing a global symbol name
	'dup'.

2004-07-13  castaglia <castaglia>

	* modules/mod_core.c: Rest of patch for Bug#2439.

2004-07-11  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2439 - <Limit CWD> doesn't work.

2004-07-09  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2438 - Display variable %z not
	expanded properly.

2004-07-08  castaglia <castaglia>

	* contrib/mod_ifsession.c: Only perform <Limit LOGIN> checks if
	we've actually merged something in.  Also, when performing this
	check, use the TOPLEVEL_CONF macro (which correctly handles
	<Anonymous> contexts) to avoid inadvertently checking the wrong
	<Limit LOGIN> block.

2004-07-06  castaglia <castaglia>

	* doc/howto/TLS.html: Update the link to the most current FTPS
	Draft.

2004-07-01  castaglia <castaglia>

	* src/dirtree.c: Fix pr_expr_eval_class_and() and
	pr_expr_eval_class_or() to properly handle the case where
	session.class may be NULL (as when there is no <Class> definition
	that matches the connecting client).  Previously, if there was no
	matching <Class> for a client, a rule such as:   <IfClass !name> would evaluate to false.  It _should_ evaluate to true; this change
	makes it so.  This fixes a problem Michael was encountering with mod_ifsession and
	Classes.

2004-07-01  castaglia <castaglia>

	* src/dirtree.c: When handling <Global> contexts in fixup_globals(),
	only handle contexts that have both the right config_type
	(CONF_GLOBAL) _and_ the right name ("<Global>").  Contrib modules
	(e.g. mod_ifsession) might create their own contexts that use the
	CONF_GLOBAL flag; in the case of mod_ifsession, the fact that
	fixup_globals() was handling the mod_ifsession-created context
	config_recs was causing a bug when <If*> sections were used within
	<Global> contexts.  This change also includes some style cleanup.

2004-07-01  castaglia <castaglia>

	* src/dirtree.c: Style.

2004-07-01  castaglia <castaglia>

	* contrib/mod_tls.c: Improve mod_tls' error reporting by displaying
	the paths that are given in the configuration data for various
	files, in the cases where mod_tls determines that those paths do not
	exist.

2004-06-30  castaglia <castaglia>

	* doc/howto/TLS.html: Updating the mod_tls docs, and the TLS howto,
	to mention the new AllowPerUser TLSOption, and the risks involved in
	its use.

2004-06-30  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#2419 - Ability to disable TLSRequired
	on per-user basis (e.g. for anonymous logins).

2004-06-30  castaglia <castaglia>

	* NEWS, src/class.c, src/netacl.c, src/netaddr.c: Bug#2303 - Problem
	evaluating multiple <Class> rules.

2004-06-23  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#2431 - mod_sql does not use UID/GID
	properly in cache lookups.  For the most part this is an issue only
	if you define a user account with UID of zero, or a group account
	with GID of zero, in your SQL user tables.

2004-06-17  castaglia <castaglia>

	* NEWS, include/dirtree.h, src/dirtree.c, src/main.c: Bug#2418 -
	chmod returns 550 with filename containing multiple spaces.

2004-06-17  castaglia <castaglia>

	* NEWS: Typo.

2004-06-15  castaglia <castaglia>

	* src/netio.c: Style.

2004-06-12  castaglia <castaglia>

	* src/modules.c: Removal of symbols (e.g. AuthOrder) was not working
	properly without this change.

2004-06-11  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#2422 - %v not working in
	SQLNamedQuery.

2004-06-10  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2411 - Caching effects cause RNTO to
	fail if AllowOverwrite is off and target path does not exist.

2004-06-10  castaglia <castaglia>

	* contrib/mod_sql.c: Remove debugging cruft.

2004-06-10  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#2424 - SQLDefaultHomedir overrides
	column value.

2004-06-08  castaglia <castaglia>

	* doc/howto/ServerType.html: ProFTPD is now IPv6-capable; it simply
	needs the proper configure option.  Update the ServerType howto to
	reflect this (relevant for Solaris users).

2004-06-07  castaglia <castaglia>

	* contrib/mod_quotatab.h, contrib/mod_sql.c: Increment versions of
	mod_quotatab, mod_sql.

2004-06-07  castaglia <castaglia>

	* NEWS, contrib/mod_quotatab_sql.c, contrib/mod_sql.c,
	include/support.h, src/support.c: Bug#2420 - Name field is not
	escaped before querying database.  This patch fixes mod_quotatab_sql to escape the name string used.
	To do this, several changes were made: the _sql_strip_spaces()
	function of mod_sql.c was made a public ProFTPD API string function
	(pr_str_strip), so that that code need not be duplicated in both
	mod_sql.c and mod_quotatab_sql.c, a new HOOK to mod_sql's
	sql_escapestring function was added, under the symbol
	'sql_escapestr', to avoid further code duplication, and
	mod_quotatab_sql was updated to make use of the new API.

2004-06-06  castaglia <castaglia>

	* contrib/mod_tls.c: Fix scrubbing of passphrases when a session
	process exits.

2004-05-31  castaglia <castaglia>

	* include/dirtree.h, include/event.h, src/dirtree.c, src/event.c: 
	Add a pr_event_dump() function, for dumping internal Events info.
	Adjust config-dumping function names to match (i.e.
	pr_config_dump()).

2004-05-31  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: Removing the 'dump' control action from
	mod_ctrls_admin.  A new module, mod_dumper, will implement this
	control action.  I anticipate the audience for mod_dumper to be much
	smaller than for mod_ctrls_admin.

2004-05-31  castaglia <castaglia>

	* src/modules.c: Slightly cleaner structure.

2004-05-31  castaglia <castaglia>

	* src/dirtree.c: Attempting to dump the config for a minimally
	configured server_rec (i.e.  server_rec->conf is NULL) would
	segfault.

2004-05-31  castaglia <castaglia>

	* src/modules.c: When iterating through the stash for removing
	symbols, be sure to pass in the previously-found entry, not NULL.
	Otherwise, symbols can inadvertently be skipped.

2004-05-31  castaglia <castaglia>

	* src/modules.c: Fix removal of a module from the loaded_modules
	list.

2004-05-31  castaglia <castaglia>

	* src/modules.c: Fix a bug introduced in the handling of HOOK vs CMD
	symbols.  Fix handling of loaded_modules pointer when unloading a
	module.  Add signal handling where appropriate.

2004-05-31  castaglia <castaglia>

	* src/modules.c: Missed a case where the PR_SYM_CONF hashing needed
	to be handled differently.

2004-05-31  castaglia <castaglia>

	* src/modules.c: The changes made earlier, to have processing of
	configuration directives use the stash directly, caused a problem.
	The prior structure allowed for case-insensitive comparisons between
	the directive name in the config file and the name defined by the
	processing module.  By switching to doing lookups from the stash
	directly, such case-insensitive comparisons became difficult.  So, for now, whenever a PR_SYM_CONF symbol is added or requested
	from the stash, its hash value is calculated not from the symbol
	name directly, but from a lowercased version of the name (and only
	for PR_SYM_CONF symbols).  In order to make this work, there is now
	special-case handling of PR_SYM_CONF, and the stash_lookup()
	functions use strcasecmp() rather than strcmp().  I hope this
	doesn't cause any problems with other symbols.  In the future, when the proposed Tables API is complete, I'd like to
	have completely separate tables for the different symbol types.
	This will (hopefully) make lookups faster (smaller namespace to search) and
	allow customized hashing/comparison functions (PR_SYM_CONF symbols
	needing different treatment from other symbols in this case) on a
	per-table basis.

2004-05-30  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c, include/modules.h, modules/mod_core.c,
	src/modules.c: Add pr_module_load() and pr_module_unload()
	functions, for loading and unloading modules (and their symbols)
	from the stash.  Rework the rest of the code to work with the
	changes (i.e. removed crufty globals).

2004-05-30  castaglia <castaglia>

	* NEWS: Bug#2125 - -vv command line switch should list versions of
	modules.

2004-05-30  castaglia <castaglia>

	* modules/mod_cap.c, src/main.c: Minor formatting tweak.  Update
	mod_cap to report its version.  Other modules will follow.

2004-05-30  castaglia <castaglia>

	* src/main.c: Typo.

2004-05-30  castaglia <castaglia>

	* src/main.c: Bug#2125 - -vv command line switch should list
	versions of modules.  With this change, modules _can_ report their version (or other short
	descriptor)in such a way that it will be listed if the -vv command
	line option is used.  It is not required for modules to do so; if
	they do not, just the module name is displayed.

2004-05-30  castaglia <castaglia>

	* include/modules.h: Extend the module structure to include fields
	for module version, and an opage handle for the module (for libltdl
	pointers).  This extension do not break the currently-defined module
	structures in module files.

2004-05-30  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c, src/dirtree.c, src/modules.c,
	src/sets.c: More prep work for loadable modules.  This change
	removes use of the m_conftable global variable, shifting the users
	of that variable to using the stash directly, via
	pr_stash_get_symbol().  For example, mod_ctrls_admin was using
	m_conftable for supporting the 'get directives' control action.  Now
	that handler iterates through the stash directly for PR_SYM_CONF
	symbols (which required some adjusting of the stash internals to
	allow for such interating).

2004-05-29  castaglia <castaglia>

	* src/event.c: Make pr_event_unregister() function as documented if
	given a NULL callback argument.

2004-05-29  castaglia <castaglia>

	* include/modules.h, modules/glue.sh, modules/mod_core.c,
	src/modules.c: More fun with the loaded_modules list.  Initially,
	the loaded_modules linked list will be NULL; it is the job of
	modules_init() to initialize the modules in the static_modules list,
	and add a pointer to the loaded module to the loaded_modules list.  More work needs to be done on abstracting the process of loading of
	a module.

2004-05-29  castaglia <castaglia>

	* modules/mod_ctrls.c: Clean up the ControlsLog entries when
	encountering a stale connection: we don't need to know the full
	timestamps, just the difference as compared to the
	ControlsAuthFreshness.

2004-05-29  castaglia <castaglia>

	* include/modules.h, src/main.c, src/modules.c: Use "modules",
	plural, to indicate that the function acts on multiple modules, not
	just one.

2004-05-29  castaglia <castaglia>

	* src/modules.c: Add sane errno values.

2004-05-29  castaglia <castaglia>

	* include/modules.h, modules/glue.sh, modules/mod_core.c,
	modules/mod_ctrls.c, src/main.c, src/modules.c: Beginning work on
	supporting loadable modules.  The modules/glue.sh file autogenerates
	a file that defines the static_modules array, which contains the
	module structure pointers from all the statically compiled modules.
	This list cannot be modified.  For loadable modules, we need a
	modifiable list, which I've added to the script: loaded_modules.
	Initially, loaded_modules is identical to static_modules.  A
	pr_module_get() function has been added, to lookup a module pointer
	given its name.

2004-05-29  castaglia <castaglia>

	* modules/mod_ctrls.c: Add more info to the ControlsLog when the
	ControlsAuthFreshness is exceeded, to help in debugging why this
	happens.

2004-05-29  castaglia <castaglia>

	* contrib/mod_tls.c: Typo (thanks John!).

2004-05-29  castaglia <castaglia>

	* doc/howto/Directory.html: Wording update.

2004-05-29  castaglia <castaglia>

	* contrib/mod_tls.c: Fix handling of memory passed to mlock(2).  It
	seems that mlock(2) is very picky, and wants a page-aligned address
	only.  malloc(3)/calloc(3) do not return page-aligned addresses by
	default (although FreeBSD's man page suggests that for a sufficient
	size request, they will), so we help them along by adding some
	page-alignment code.  We still want to stash the pointer returned by
	malloc(), not the aligned address, so that we can properly free the
	allocated memory later.  Also use pr_log_debug(), rather than logging to the TLSLog, when
	locking passphrases into memory, for at that point in the server
	lifecycle, the TLSLog has not yet been opened.

2004-05-29  castaglia <castaglia>

	* contrib/mod_tls.c: Silence a compiler warning by providing a
	default value.

2004-05-29  castaglia <castaglia>

	* contrib/mod_tls.c: Typo.

2004-05-29  castaglia <castaglia>

	* src/scoreboard.c: Unblock signals properly.

2004-05-28  castaglia <castaglia>

	* README.modules: Update this README.

2004-05-27  castaglia <castaglia>

	* contrib/mod_tls.c: Registering for the wrong event: we want
	'core.postparse', not 'core.restart'.  Close the TLSLog during a
	restart, so that it can be rolled.  The TLSLog will be reopened by
	the next session.

2004-05-26  castaglia <castaglia>

	* src/ctrls.c: Make sure that the destination ctrl object has a
	valid temporary pool from which to copy arguments.

2004-05-26  castaglia <castaglia>

	* src/dirtree.c: Reset the sid (server ID) counter when preparing to
	parse a configuration.

2004-05-26  castaglia <castaglia>

	* configure: Updating configure script.

2004-05-26  castaglia <castaglia>

	* config.h.in, configure.in: Check if intptr_t is defined.

2004-05-25  castaglia <castaglia>

	* modules/mod_ctrls.c: When closing fds, set them to -1, to make
	sure that a cached fd value is not inadvertently used somewhere it
	shouldn't be.  Also, block alarms when handling the 'core.restart'
	event.

2004-05-25  castaglia <castaglia>

	* contrib/mod_tls.c: Check the return value of
	SSL_CTX_set_default_verify_locations(), and log the error (if any).

2004-05-25  castaglia <castaglia>

	* doc/howto/BCP.html: Wording.

2004-05-25  castaglia <castaglia>

	* src/main.c: Make sure that fixup_servers() happens before
	generating the 'core.postparse' event (mod_tls' 'core.postparse'
	handler was tickling a segfault because one of the server_recs had a
	NULL ServerName field; fixup_servers() sets all of the server_rec
	fields appropriately).

2004-05-24  castaglia <castaglia>

	* modules/mod_ctrls.c: Fix a problem when restarting a proftpd with
	mod_ctrls.  Some variables were allocated from the module pool, and
	then being used after that pool had been destroyed/reallocated.
	This meant that different configurations and interactions might (or
	might not) work.

2004-05-24  castaglia <castaglia>

	* lib/pr-syslog.c: Mention the Sun bug number that caused the
	/dev/log kernel memory leak.

2004-05-23  castaglia <castaglia>

	* contrib/mod_quotatab_sql.c: Typo.

2004-05-22  castaglia <castaglia>

	* contrib/mod_quotatab_sql.c: Don't complain about being unable to
	delete a nonexistent QuotaLock.

2004-05-21  castaglia <castaglia>

	* RELEASE_NOTES: Style.

2004-05-21  castaglia <castaglia>

	* RELEASE_NOTES: Update the release notes with mention of
	TimeoutLinger.

2004-05-21  castaglia <castaglia>

	* NEWS, include/data.h, modules/mod_core.c, src/data.c: Add a
	TimeoutLinger option.  It's just simpler to change this value via
	the config file, for those sites that encounter troubles with
	lingering closes, rather than requiring a reconfigure and recompile.

2004-05-20  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: Check for signals while waiting for all
	kids to end when handling a graceful shutdown.

2004-05-20  castaglia <castaglia>

	* doc/howto/Controls.html, doc/howto/index.html: Add a Controls
	howto.

2004-05-19  castaglia <castaglia>

	* modules/mod_auth.c: Make sure a Class has been assigned before
	attempting to use it.

2004-05-19  castaglia <castaglia>

	* NEWS, lib/pr-syslog.c, src/main.c: Bug#2336 - Use of /dev/log on
	Solaris leads to kernel memory leak.

2004-05-19  castaglia <castaglia>

	* src/dirtree.c: Style.

2004-05-17  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_xfer.c, src/data.c, src/main.c: 
	Generate events when the Timeout* callbacks cause the session to
	time out.

2004-05-15  castaglia <castaglia>

	* src/data.c: Fix an edge case when handling ASCII translation: if
	this buffer ends in a CR, and the next buffer starts with an LF, we
	need not add a CR in front of the LF.  Prior to this change, though,
	proftpd would forget about that dangling CR in the previous buffer,
	treat the LF as a bare LF, and add a CR, resulting in a CR-CR-LF
	sequence in the output stream rather than the proper CR-LF.

2004-05-13  castaglia <castaglia>

	* contrib/mod_tls.c, include/modules.h, src/main.c, src/modules.c: 
	Remove the explicit postparse callback registration code in favor of
	the new Events API.

2004-05-13  castaglia <castaglia>

	* contrib/mod_tls.c: Use more future-proof APIs to access the X509v3
	subjectAltNames in the client cert.  Properly NUL-terminate strings
	obtained from memory BIOs.

2004-05-13  castaglia <castaglia>

	* NEWS, modules/mod_auth.c, src/mkhome.c: Bug#2410 - CreateHome
	always copies skel directory.

2004-05-12  castaglia <castaglia>

	* src/main.c: I don't think this is valid anymore, if it ever was.
	The IPV6_ADDRFORM socket option is not supported on FreeBSD or
	Solaris, and looks to be deprecated (if not removed entirely) in
	later Linux kernels.

2004-05-11  castaglia <castaglia>

	* NEWS, modules/mod_auth_file.c, modules/mod_auth_unix.c: Bug#2407 -
	mod_auth_file does not allow for proper cascading of "end" and "set"
	auth requests

2004-05-11  castaglia <castaglia>

	* include/modules.h, src/main.c, src/modules.c: Removing the daemon
	startup registration handlers; these have been superceded by Events
	(e.g. the "core.startup" event).

2004-05-10  castaglia <castaglia>

	* NEWS, src/main.c: Bug#2332 - SO_OOBINLINE error after upgrading
	proftpd from 1.2.6 to 1.2.9.  Attempt to fix by moving the setting
	of these socket options to happen earlier in the session.

2004-05-09  castaglia <castaglia>

	* src/data.c: When opening a data connection, check for the ESPV ALL
	mode as well.

2004-05-09  castaglia <castaglia>

	* src/fsio.c: When looking up the FS to use for a path, always start
	with the root FS ("/") as the best FS to handle the path.  This
	fixes a bug where the FS handlers registered by modules like
	mod_md5fs or mod_gzipfs were being used for paths other than those
	for which they were registered.  Also fix a bug where an FS that did not start with a '/', such as
	one used by mod_conf_sql, would cause the FSIO API to prepend the
	current location when it shouldn't have; the FSIO API simply needed
	to use the proper check for whether the given path was an absolute
	path or not.

2004-05-08  castaglia <castaglia>

	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Style cleanup
	of the SQL backend modules.  Also updating them to use an event
	handler for the "core.exit" event.  Fixed their session initialization routines to always allocate a new
	conn_pool and a new conn_cache.  Eventually the mod_sql API will be
	revamped to handle these structures a little better.

2004-05-07  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#2366 - Add support for -h list option.

2004-05-07  castaglia <castaglia>

	* modules/mod_ls.c: Redeclaring a variable isn't a good thing to do.

2004-05-07  castaglia <castaglia>

	* src/child.c: Include <signal.h> so that the kill(2) function
	prototype is visible.

2004-05-06  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#2405 - "LIST *" should not list
	dotfiles.

2004-05-05  castaglia <castaglia>

	* src/child.c: Fix the logic determining when to create a new child
	list.  Also, when creating that list, use a subpool of the
	child_pool, rather than passing child_pool itself; the list
	allocator assigns the given pool into the list's 'pool' member,
	rather than creating a subpool from the given pool and allocating
	the list from what (which is how I would expect it to be done).

2004-05-04  castaglia <castaglia>

	* lib/glibc-glob.c: The buffer length should be PR_TUNABLE_LOGIN_MAX
	+ 1.

2004-05-04  castaglia <castaglia>

	* lib/glibc-glob.c: Patch the bundled glob implementation to use
	PR_TUNABLE_LOGIN_MAX when the _SC_LOGIN_MAX sysconf variable is not
	available.  This brings the implementation more in line with the
	rest of proftpd.

2004-05-03  castaglia <castaglia>

	* NEWS, include/class.h, src/class.c, src/main.c: Bug#2403 - Sending
	SIGHUP to proftpd stops it when using Classes.

2004-05-02  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c: Bug#2082 - Add mod_rewrite
	"replaceall" builtin function.

2004-05-02  castaglia <castaglia>

	* NEWS, contrib/mod_ctrls_admin.c: Bug#2399 - Rename start/stop
	control actions to up/down.

2004-05-02  castaglia <castaglia>

	* include/glibc-glob.h: Quell some warnings seen on FreeBSD by
	checking that a preprocessor symbol (_FILE_OFFSET_BITS) is defined
	before using its value in a comparison.

2004-05-01  castaglia <castaglia>

	* contrib/mod_tls.c: Only report the version of OpenSSL being used
	at debug level 2 or higher.

2004-05-01  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#2401 - MaxClientsPerClass only
	checks first directive in config file.

2004-05-01  castaglia <castaglia>

	* NEWS, src/class.c: Bug#2400 - <Class> search order is wrong.

2004-04-30  castaglia <castaglia>

	* NEWS, contrib/mod_ctrls_admin.c, include/child.h, src/child.c,
	src/main.c: Bug#2034 - Add support for a "graceful shutdown" signal.
	Includes adding a convenience function to the Child API,
	child_signal(), for sending a given signal to all child processes.

2004-04-29  castaglia <castaglia>

	* Make.rules.in, include/child.h, include/conf.h, src/child.c,
	src/main.c: Move the handling of child objects into their own file.
	This will help by letting modules be able to know how many existing
	sessions there are.  However, the child list routines will not be in
	the public "pr_" namespace, as they are not currently suitable for
	general consumption.

2004-04-29  castaglia <castaglia>

	* contrib/mod_ldap.c, include/sets.h, modules/mod_auth_unix.c,
	src/dirtree.c, src/main.c, src/sets.c, src/support.c: Rename crufty
	'mempool' symbol to be 'pool', which is more consistent with the
	pool members of other proftpd structures.

2004-04-29  castaglia <castaglia>

	* README.IPv6: Note the sysctl names that affect handling of
	wildcard sockets and IPv6 binds.  The current code should override
	these sysctl settings, but it is still good to have the sysctl names
	noted for reference.

2004-04-29  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#2396 - NLST command doesn't understand
	options.

2004-04-28  castaglia <castaglia>

	* modules/mod_core.c: When using pr_fs_copy_file() to handle
	RNFR/RNTO across device mounts, make sure to unlink the source path.

2004-04-28  castaglia <castaglia>

	* include/version.h: Set version back to CVS status for rc2.

2004-04-28  castaglia <castaglia>

	* ChangeLog: Updating ChangeLog.

2004-04-28  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
	to roll 1.2.10rc1 tarball.

2004-04-28  castaglia <castaglia>

	* README, RELEASE_NOTES: Add a RELEASE_NOTES file (name may change
	in the future) that will track the sort of comments usually
	mentioned in the release announcement email, including new and
	deprecated configuration directives, new and deprecated modules,
	upgrade notes, etc.  Add a note about RELEASE_NOTES to the README.

2004-04-27  castaglia <castaglia>

	* modules/mod_xfer.c: Make the error message returned here
	consistent with the other occurrences of 500 responses in mod_xfer.

2004-04-26  castaglia <castaglia>

	* include/dirtree.h, src/dirtree.c: Split the Boolean checking code
	into a public function, so that it can be used for checking strings
	from sources other than cmd_recs.

2004-04-24  castaglia <castaglia>

	* modules/mod_auth.c: Do not warn about a successful root login
	until after root has indeed successfully logged in.

2004-04-24  castaglia <castaglia>

	* doc/modules/mod_auth_pam.html: Add HTML docs for mod_auth_pam.

2004-04-23  castaglia <castaglia>

	* modules/mod_ls.c: The prior fix for Bug#2367 has some unintended
	(i.e. _bad_) consequence, spotted by Michael.  This fixes it up
	properly (hopefully for good).

2004-04-23  castaglia <castaglia>

	* src/netacl.c: The '{' character is also used in globs.

2004-04-23  castaglia <castaglia>

	* modules/mod_ls.c: Write a debug message, level 1, when NLST
	commands with options (as from ncftp) are received.

2004-04-23  castaglia <castaglia>

	* contrib/mod_sql.c: Protect against a possible segfault that occurs
	when mod_sql assumes that a query has data, by checking for a valid
	data pointed in the returned modret_t object.

2004-04-22  castaglia <castaglia>

	* src/inet.c: Only set the TOS (Type Of Service) flags on IPv4
	sockets; IPv6 sockets don't support TOS flags, as far as I know.
	This should fix the   error setting write fd IP_TOS: Option not supported by protocol errors seen on some platforms (e.g. Solaris).

2004-04-21  castaglia <castaglia>

	* doc/howto/Classes.html, doc/howto/index.html: Add a howto for the
	new <Class> format.

2004-04-21  castaglia <castaglia>

	* src/main.c: Style cleanup.

2004-04-21  castaglia <castaglia>

	* src/main.c: Capture the actual errno value, rather than assuming
	that intervening functions will not change errno.

2004-04-20  castaglia <castaglia>

	* doc/howto/Limit.html: Consistency of style is a Good Thing.

2004-04-20  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: If the 'dump classes' control action is
	requested, make sure that the Class dump output includes the Satisfy
	setting.

2004-04-20  castaglia <castaglia>

	* src/log.c: Fix the logging of IP addresses in the utmp/wtmp log on
	Linux.  Formatting cleanup.

2004-04-19  castaglia <castaglia>

	* include/class.h, modules/mod_core.c, src/class.c: Add a Satisfy
	directive.  Note that this directive does NOT function like Apache's
	Satisfy directive.  This current implementation is to be used when
	defining a class, to specify how to evaluate all of the rules of the
	class: any, or all.  Future work will overload this directive to work as users would like
	(see Bug#1898) for the <Limit> context.

2004-04-19  castaglia <castaglia>

	* src/dirtree.c: Report line numbers when parsing .ftpaccess files,
	too.

2004-04-18  castaglia <castaglia>

	* src/dirtree.c: Have the fatal messages reported during
	configuration parsing report the line number and configuration file,
	for easier fixing of broken configs.

2004-04-16  castaglia <castaglia>

	* NEWS, include/privs.h: Bug#2317 - Wrong order of privs calls on HP
	generates "unable to setregid()".  error.  The problem turned out to
	be a call to setregid() before a call to setreuid(), but only in the
	HP privs code (non-seteuid() case).  The fix was trivial: call
	setreuid() first, to make sure the proper UIDs are set, then call
	setregid().

2004-04-16  castaglia <castaglia>

	* NEWS: Mention in NEWS the new doc/modules/ directory.

2004-04-16  castaglia <castaglia>

	* doc/modules/mod_ctrls.html: Updating mod_ctrls' installation
	instructions.

2004-04-16  castaglia <castaglia>

	* doc/modules/mod_auth_file.html, doc/modules/mod_cap.html,
	doc/modules/mod_ctrls.html: Add a 'doc/modules/' directory, for core
	module documentation.  Add the docs for mod_auth_file, mod_cap, and
	mod_ctrls.

2004-04-15  castaglia <castaglia>

	* include/ctrls.h: These changes should've been part of an earlier
	commit.

2004-04-15  castaglia <castaglia>

	* contrib/mod_tls.c: Much improved handling of OpenSSL's error
	queue, so that the TLSLog can properly show all of the errors in the
	queue (rather than just the top error, which is usually not too
	helpful in pinpointing the actual problem).

2004-04-15  castaglia <castaglia>

	* sample-configurations/basic.conf: The default configuration file
	should not allow use of SITE CHMOD.

2004-04-15  castaglia <castaglia>

	* src/main.c: Cleanup the error reported if the PidFile cannot be
	opened.

2004-04-14  castaglia <castaglia>

	* modules/mod_core.c: Michael suggested that this log message be at
	the INFO level.

2004-04-14  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c, modules/mod_ctrls.c, src/ctrls.c: 
	Remove the unused 'set' control action from mod_ctrls_admin.  Make
	the 'lsctrl' control action list only enabled control actions.
	Initialize the ControlsSocketACL such that access to the socket is
	allowed to everyone by default; access to individual control actions
	still defaults to "deny" unless access is explicitly granted via
	configuration.

2004-04-13  castaglia <castaglia>

	* doc/howto/Filters.html: Emphasize _not_ using both an Allow and a
	Deny Filter at the same time.

2004-04-13  castaglia <castaglia>

	* include/privs.h: Revert part of my previous update to privs.h; it
	included a possible fix for Bug#2317, but that fix is not ready to
	be committed just yet.

2004-04-13  castaglia <castaglia>

	* NEWS, include/privs.h: Bug#2387 - PRIVS_USER macro should set
	effective GID to user's primary GID.

2004-04-13  castaglia <castaglia>

	* include/dirtree.h, src/dirtree.c: Add a SID (Server ID) to every
	server_rec.  This SID is a unique ID that is automatically assigned
	to each generated server_rec when proftpd parses its configuration.
	SIDs are useful for tracking purposes, particularly for contrib
	modules that want to track which vhost caused something to happen.  Format/style cleanups, removed unused CLASS_USER #define.

2004-04-13  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: Update the proftpd version required by
	mod_ctrls_admin.

2004-04-12  castaglia <castaglia>

	* modules/mod_auth.c: Have AnonRejectPasswords generate an event.

2004-04-12  castaglia <castaglia>

	* modules/mod_ctrls.c: Consistent use of strcmp().  Use ANY_MODULE
	where appropriate, rather than NULL.

2004-04-12  castaglia <castaglia>

	* src/fsio.c: Fix pr_fsio_getline() to handle the case where a
	config line, broken across several lines in the config file using
	line continuations, has one of the lines commented out, e.g.:    SomeDirective \      foo \    #  bar \      baz Without this patch, pr_fsio_getline() would return the '#'
	character, which is not what most people would think would happen.

2004-04-12  castaglia <castaglia>

	* src/dirtree.c: Be a little more strict when checking for
	"${env:...}" strings in the config file.  Format/style cleanup.

2004-04-11  castaglia <castaglia>

	* doc/howto/BCP.html, doc/howto/Globbing.html, doc/howto/index.html: 
	Add the Globbing and BCP howtos.

2004-04-11  castaglia <castaglia>

	* include/options.h: Updating outdated comments.

2004-04-11  castaglia <castaglia>

	* modules/mod_xfer.c: Typo.

2004-04-11  castaglia <castaglia>

	* modules/mod_xfer.c: Make the 'core.signal.USR2' event handler
	check for new TransferRates when involved in any of the file data
	transfer commands (APPE, RETR, STOR, STOU), not just RETR.  Update
	comments as well.

2004-04-11  castaglia <castaglia>

	* NEWS, modules/mod_ctrls.c, src/ctrls.c: Bug#2383 - mod_ctrls.c:
	ctrls_listen(): Invalid size in bind() argument.

2004-04-11  castaglia <castaglia>

	* modules/mod_xfer.c: Add a handler for the event 'core.signal.USR2'
	to mod_xfer.  The handler causes mod_xfer, if and only if the RETR
	command is currently being handled, to rescan the config tree for
	TransferRate entries.  The 'core.signal.USR2' event is only generated when Controls have
	been enabled, so in most cases this won't change anything.  Its
	purpose is mainly to help the mod_shaper module be able to change
	the TransferRate for a session in mid-transfer.

2004-04-11  castaglia <castaglia>

	* include/dirtree.h, src/dirtree.c: Add a new merge flag, CF_SILENT.
	Unlike the rest of the CF_ flags, this flag is handled by
	fixup_dirs(); the other CF_ flags are handled by the internal
	_reorder_dirs() function.  When fixup_dirs() sees CF_SILENT, it will
	not print a debug configuration dump, which is its default behavior.

2004-04-11  castaglia <castaglia>

	* src/event.c: Make sure that the order of event registration
	matches module load order.  This helps when the same event may be
	handled by multiple modules, and the order of handling is important.

2004-04-11  castaglia <castaglia>

	* modules/mod_core.c: This copy of copy_file() is no longer needed.

2004-04-10  castaglia <castaglia>

	* doc/howto/FXP.html, doc/howto/index.html: Add FXP howto.

2004-04-10  castaglia <castaglia>

	* doc/howto/NAT.html, doc/howto/index.html: Add NAT howto.

2004-04-10  castaglia <castaglia>

	* doc/howto/SQL.html: Update the SQL howto to mention using
	SQLLogFile.

2004-04-10  castaglia <castaglia>

	* doc/howto/index.html: Add an index page for these howtos.

2004-04-10  castaglia <castaglia>

	* doc/howto/Directory.html: Typo.

2004-04-10  castaglia <castaglia>

	* doc/howto/Directory.html: Add paragraph describing how the * glob
	within a path is matched (i.e.  only for single directory level, not
	multiple directory levels).

2004-04-10  castaglia <castaglia>

	* doc/howto/Authentication.html, doc/howto/Chroot.html,
	doc/howto/ConfigFile.html, doc/howto/Debugging.html,
	doc/howto/Directory.html, doc/howto/FTP.html,
	doc/howto/Filters.html, doc/howto/Limit.html, doc/howto/SQL.html,
	doc/howto/ServerType.html, doc/howto/Stopping.html,
	doc/howto/TLS.html, doc/howto/Umask.html, doc/howto/Vhost.html: 
	Standardize on "Last Updated" in the footer.

2004-04-10  castaglia <castaglia>

	* doc/howto/Logging.html: Add Logging doc.

2004-04-10  castaglia <castaglia>

	* doc/howto/Authentication.html, doc/howto/ConfigFile.html,
	doc/howto/Filters.html, doc/howto/Limit.html,
	doc/howto/ServerType.html, doc/howto/Stopping.html,
	doc/howto/Vhost.html: Modifying links in docs to reference other
	docs in this area, rather than the pages on www.castaglia.org.

2004-04-10  castaglia <castaglia>

	* doc/howto/Stopping.html: Add doc for starting/stopping proftpd.

2004-04-10  castaglia <castaglia>

	* doc/howto/FTP.html: Add doc covering FTP commands supported by
	proftpd.

2004-04-10  castaglia <castaglia>

	* doc/howto/ServerType.html: Adding ServerType doc.

2004-04-10  castaglia <castaglia>

	* modules/mod_auth_unix.c: When compiling on a HP-UX box which
	supports bigcrypt(), the following warning is seen:   passing arg 1 of `bigcrypt' discards qualifiers from pointer
	  target type Quell this warning by explicitly casting the arguments to bigcrypt()
	to be char *.

2004-04-10  castaglia <castaglia>

	* doc/howto/SSH.html: Add FTP-over-SSH mini-HOWTO.

2004-04-10  castaglia <castaglia>

	* doc/howto/Authentication.html, doc/howto/Chroot.html,
	doc/howto/ConfigFile.html, doc/howto/Debugging.html,
	doc/howto/Directory.html, doc/howto/Filters.html,
	doc/howto/Limit.html, doc/howto/SQL.html, doc/howto/TLS.html,
	doc/howto/Umask.html, doc/howto/Vhost.html: Adjusting footers for
	consistency.

2004-04-10  castaglia <castaglia>

	* doc/howto/Umask.html: Add the Umask mini-HOWTO.

2004-04-09  castaglia <castaglia>

	* doc/howto/Filters.html: Add the Filters mini-HOWTO to the source
	distro.

2004-04-09  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: Add ability to kick entire Classes via
	the 'kick' action.

2004-04-09  castaglia <castaglia>

	* include/fsio.h, modules/mod_core.c, src/fsio.c, src/mkhome.c: The
	CreateHome code also included a static copy_file() function.  This
	change refactors the code so that both CreateHome and the
	rename-across-mount-points code both use the same function, added to
	the FSIO code as pr_fs_copy_file().  Code reuse good.

2004-04-09  castaglia <castaglia>

	* contrib/mod_ifsession.c: Removing this HOOK, as it won't work as
	intended.  May re-add in the future.

2004-04-09  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2385 - Renames fail with error
	"Invalid cross-device link".  In the case of EXDEV from rename(2),
	mod_core now manually copies the file from the source to the
	destination location.  Any content existing at the destination
	location is lost.

2004-04-08  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: Add the 'kick' action to
	mod_ctrls_admin, for disconnecting clients by user or host names.

2004-04-07  castaglia <castaglia>

	* doc/howto/Authentication.html: Add note about avoiding use of
	mod_auth.c and mod_auth_pam.c in AuthOrder directives.

2004-04-07  castaglia <castaglia>

	* contrib/mod_quotatab.c: Add a QuotaLog message warning that when
	per_session is true, the QuotaTallyTable will not be updated.

2004-04-06  castaglia <castaglia>

	* NEWS, config.h.in: Bug#2221 - proftpd on hp-ux 11.22.  Override
	the default socklen_t detection on HP-UX 11 to be an int.  APR
	suffers from this same problem (the bug is ultimately an HP-UX
	problem).

2004-04-06  castaglia <castaglia>

	* src/ctrls.c: Fix a format warning on Solaris.

2004-04-05  castaglia <castaglia>

	* contrib/mod_tls.c: Make sure and clear the relevant bits in
	tls_flags when the control and data channels are closed.

2004-04-05  castaglia <castaglia>

	* src/ctrls.c: Remove a hardcoded maximum limit on the size of
	request strings that can be sent using the Controls API.  Uncovered
	when trying to send messages larger than 8 Kb via SysV message
	queues.

2004-04-05  castaglia <castaglia>

	* modules/mod_auth.c, src/scoreboard.c: Check for an error return
	value from pr_rewind_scoreboard().  Keep track of the process which opened the cached scoreboard fd.
	It's possible to have the daemon process open the fd, and then fork,
	which means the child will have that same fd.  However, the child
	may fdopen() another file onto that fd (e.g. if the fd is 0), thus
	losing the scoreboard fd.  This patch also prevents the possibility
	of a file descriptor leak by having the same process open the
	scoreboard multiple times (e.g. when multiple modules call
	pr_open_scoreboard()).

2004-04-05  castaglia <castaglia>

	* NEWS: Mention the adding of mini-HOWTOs in NEWS.

2004-03-25  castaglia <castaglia>

	* configure: Updating configure.

2004-03-25  castaglia <castaglia>

	* configure.in: Remove checks for README.mod_sql from configure.

2004-03-25  castaglia <castaglia>

	* contrib/mod_tls.c: Report the version of OpenSSL used in server
	debugging output.

2004-03-24  castaglia <castaglia>

	* NEWS, contrib/ftpasswd: Bug#2371 - ftpasswd should have option to
	compare password against value in passwd file.

2004-03-23  castaglia <castaglia>

	* contrib/mod_tls.c: Be more explicit about the expected return
	value from SSL_CTX_load_verify_locations(3).  Handle the cases where
	the pointers to the CA file or CA path may be NULL, as some libcs do
	not handling printing of NULL pointers gracefully, unlike glibc.

2004-03-23  castaglia <castaglia>

	* modules/mod_ls.c: Add a comment explaining the fix for Bug#2367.

2004-03-23  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#2367 - LIST *.* strange behaviour.

2004-03-22  castaglia <castaglia>

	* doc/howto/Authentication.html, doc/howto/Chroot.html,
	doc/howto/ConfigFile.html, doc/howto/Debugging.html,
	doc/howto/Directory.html, doc/howto/Limit.html, doc/howto/TLS.html,
	doc/howto/Vhost.html: Adding more howtos.

2004-03-22  castaglia <castaglia>

	* doc/howto/SQL.html: Adding an HTML SQL howto to the doc/ area, to
	replace the README.mod_sql (which is now terribly outdated).

2004-03-19  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2369 - EPSV should not send network
	address when MasqueradeAddress is used.  RFC 2428 is not very clear
	on this point, for it introduces a discrepancy in the possible
	responses to PASV versus EPSV.  Until this can be cleared up, do not
	honor MasqueradeAddress when EPSV is used by the client.

2004-03-16  castaglia <castaglia>

	* contrib/mod_sql.c: Mark the SQLLog and SQLShowInfo config_recs as
	CF_MERGEDOWN_MULTI.  This doesn't affect how mod_sql processes these
	directives, but it does make them work properly within mod_ifsession
	blocks.

2004-03-11  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2363 - ABOR response RFC 959
	compliance.

2004-03-11  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#2361 - Second USER command causes
	problems with chrooted session.  The PRE_CMD handler for C_USER
	should check to see if a user is already logged in before doing any
	processing.

2004-03-11  castaglia <castaglia>

	* NEWS: Typos.

2004-03-10  castaglia <castaglia>

	* include/privs.h: Typo.

2004-03-09  castaglia <castaglia>

	* src/netaddr.c: Add some debug logging, level 10, showing when a
	name is being resolved to its IP addresses, including when DNS is
	used.  At debug level 10, things are getting quite verbose; we should start
	looking into debugging output masks.

2004-03-08  castaglia <castaglia>

	* README.controls: Clarify that using --enable-ctrls means not using
	--with-modules=mod_ctrls.

2004-03-05  castaglia <castaglia>

	* modules/mod_core.c: On second thought, setting errno to ENOENT in
	these cases may not be the best idea.

2004-03-05  castaglia <castaglia>

	* modules/mod_core.c: Make sure that errno has an appropriate value
	in the case where a resolved path may actually be NULL.  Also,
	report on failed paths using cmd->arg, rather than cmd->argv[1], to
	handle the case where the client may have specified a path
	containing whitespace characters.

2004-03-05  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2321 - FTP permission checks
	inconsistent for DELE and RMD when symlink in directory path.  For
	future reference, if dir_canonical_path() is used to obtain a path,
	use dir_check_canon() for checking <Limit> permissions on that
	returned path, instead of using dir_check().  The dir_* namespace
	could use some cleaning up, to make this sort of relationship a
	little clearer.

2004-03-05  castaglia <castaglia>

	* NEWS, utils/ftptop.c: Bug#2357 - ftptop should use COLS for
	determining display width.

2004-03-05  castaglia <castaglia>

	* configure: Updating configure.

2004-03-05  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, modules/mod_xfer.c: Bug#2353 -
	REST doesn't handle offsets greater than 2 GB.

2004-03-04  castaglia <castaglia>

	* modules/mod_core.c: Change handling of the SetEnv, UnsetEnv
	directives so that that they can be set on a per-vhost basis.

2004-03-04  castaglia <castaglia>

	* contrib/mod_tls.c: Didn't mean to commit those debugging changes.
	Oops.

2004-03-04  castaglia <castaglia>

	* contrib/mod_tls.c: No need to be that verbose.

2004-03-03  castaglia <castaglia>

	* contrib/mod_tls.c: Handle the case where mod_tls has been
	configured to set environment variables but the client does not
	present a certificate (e.g. when not verifying clients).
	Previously, this would cause a segfault.

2004-03-03  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#2355 - Send error message to client
	when 'TLSRequired both' is in effect.

2004-03-02  castaglia <castaglia>

	* contrib/mod_tls.c: Typo.

2004-03-01  castaglia <castaglia>

	* include/conf.h: Doesn't help to check for <utime.h> if we don't
	include it.

2004-03-01  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: Typo.  Eventually, mod_ctrls_admin's
	dump control will handling list of variables in the (as yet
	uncommitted) Variables API.

2004-03-01  castaglia <castaglia>

	* configure: Updating configure.

2004-03-01  castaglia <castaglia>

	* config.h.in, configure.in: Check for the <utime.h> system header.

2004-03-01  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c, src/netacl.c: Complete the 'dump
	classes' control for mod_ctrls_admin.  Also adds the missing
	pr_netacl_get_type() function.

2004-03-01  castaglia <castaglia>

	* src/event.c: Add some basic caching of the last valid event
	generated, as a minor optimization.

2004-02-27  castaglia <castaglia>

	* modules/mod_ls.c: STAT is an INFO command more than it is a DIRS
	command (for logging purposes).

2004-02-27  castaglia <castaglia>

	* contrib/mod_sql.c: Add handling of the %L (local IP address) and
	%V (local DNS name) tags.  Fix formatting.

2004-02-27  castaglia <castaglia>

	* modules/mod_cap.c: Bug#2348 prompted this addition of handling
	CAP_DAC_OVERRIDE and CAP_DAC_READ_SEARCH, in addition to CAP_CHOWN.

2004-02-27  castaglia <castaglia>

	* NEWS, README.modules: Bug#2257 - Add SITE SYMLINK command to
	mod_site.  Added a new contrib module, mod_site_misc, instead.

2004-02-27  castaglia <castaglia>

	* contrib/mod_site_misc.c: New contrib module that implements
	miscellaneous SITE commands (e.g. SITE SYMLINK, SITE UTIME, etc)
	that other ftpds may recognize (e.g. ncftpd).

2004-02-24  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#2339 - STAT command doesn't follow
	RFC959.

2004-02-24  castaglia <castaglia>

	* sample-configurations/basic.conf: It's a little more efficient to
	have AllowOverwrite in the server config context, rather than in a
	<Directory> context that covers the entire filesystem.

2004-02-24  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#2311 - MaxClients counts
	unauthenticated users.

2004-02-24  castaglia <castaglia>

	* contrib/mod_sql.c: Oops.  My previous commit included my
	work-in-progress patch for SQLShowInfo, which isn't ready yet.

2004-02-24  castaglia <castaglia>

	* contrib/mod_sql.c: Fixed a bug in mod_sql in the show_group()
	function, where a large list of users that belonged to a single
	group could tickle a segfault.  There was a hardcoded buffer size of
	2K that was being exceeded.  Better to use pstrcat() and build up
	the needed string.  Also add some typecasts to unsigned longs for reporting IDs.

2004-02-24  castaglia <castaglia>

	* modules/mod_core.c: Typos.

2004-02-24  castaglia <castaglia>

	* modules/mod_xfer.c: Allow uploading to FIFOs.  Should we allow
	uploading to symlinks, too?

2004-02-23  castaglia <castaglia>

	* modules/mod_site.c: mod_site no longer uses a configuration
	handler table.

2004-02-23  castaglia <castaglia>

	* src/dirtree.c: Quell a minor compiler warning on OSX.

2004-02-23  castaglia <castaglia>

	* README.modules: Adding mod_quotatab et al to the list of modules
	that accompany proftpd.

2004-02-20  castaglia <castaglia>

	* NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c,
	src/main.c: Bug#1696 - Include directive should support directories.

2004-02-20  castaglia <castaglia>

	* contrib/ftpasswd: When the --not-system-password option is used,
	it's possible for there to be no entry in the system password files
	for the user being created, in which case $hash and $syspasswd will
	both be the empty string -- and will match, making ftpasswd think
	that a different password is needed.  Fix this by checking for the
	empty strings.

2004-02-19  castaglia <castaglia>

	* README.IPv6: Updating the IPv6 notes.

2004-02-19  castaglia <castaglia>

	* contrib/mod_ifsession.c: Add a check for <Limit LOGIN> to
	mod_ifsession, after all the configuration merging is done.  This
	allows for configurations like:   <IfUser foo>     <Limit LOGIN>       DenyAll     </Limit>   </IfUser>

2004-02-17  castaglia <castaglia>

	* NEWS, modules/mod_auth_pam.c: Bug#2105 - Remove Authoritative
	directives.

2004-02-17  castaglia <castaglia>

	* NEWS, contrib/ftpasswd: Bug#2171 - Add delete options to ftpasswd.

2004-02-17  castaglia <castaglia>

	* Make.rules.in, contrib/mod_tls.c, include/conf.h, include/help.h,
	modules/mod_auth.c, modules/mod_core.c, modules/mod_ls.c,
	modules/mod_site.c, modules/mod_xfer.c, src/help.c: Adding a new API
	so that modules can declare, for the HELP response list, which FTP
	commands they support.  This makes it easier/cleaner for contrib
	modules, e.g. mod_tls, to declare their support for FTP commands
	that may not be handled by the core code.

2004-02-16  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2237 - HiddenStores does not check
	for existing file in edge case.

2004-02-15  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#2327 - SQLNegativeCache causes
	unnecessary errors in server logging.

2004-02-15  castaglia <castaglia>

	* contrib/mod_sql.c: Note the directive name when warning of
	deprecated * usage.

2004-02-15  castaglia <castaglia>

	* contrib/mod_sql.c: Disable the "*" functionality in
	SQLAuthenticate, which was used to configure mod_sql to be
	authoritative.  This conflicts with the AuthOrder configuration
	directive, which should be used instead.

2004-02-15  castaglia <castaglia>

	* NEWS: Mention in the NEWS file that Class and Classes are now
	deprecated.

2004-02-13  castaglia <castaglia>

	* contrib/mod_quotatab.h: Update mod_quotatab's
	PROFTPD_VERSION_NUMBER check.

2004-02-13  castaglia <castaglia>

	* contrib/mod_ifsession.c: Update the PROFTPD_VERSION_NUMBER check.

2004-02-13  castaglia <castaglia>

	* contrib/mod_rewrite.c: Updating mod_rewrite for Class code
	changes.

2004-02-13  castaglia <castaglia>

	* contrib/mod_quotatab.c: Updating mod_quotatab for Class code
	changes.

2004-02-13  castaglia <castaglia>

	* contrib/mod_ifsession.c: Updating mod_ifsession to reflect Class
	changes.

2004-02-12  castaglia <castaglia>

	* Makefile.in, NEWS: Bug#2340 - Problem with parallel builds.

2004-02-10  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#2337 - TLSRenegotiate parameters not
	processed correctly.

2004-02-10  castaglia <castaglia>

	* contrib/mod_tls.c: When walking the server_list list, we need to
	start with server_list->xas_list, not just server_list.  This is a
	subtle and easy to miss bug, and was causing the list-walking code
	to attempt to access inaccessible memories (not good).  This highlights a need for a good list/set-iterating API, rather
	than relying on details of the actual structures.

2004-02-08  castaglia <castaglia>

	* contrib/mod_readme.c: Update mod_readme to use the new pr_gmtime()
	function.

2004-02-08  castaglia <castaglia>

	* NEWS, utils/ftpcount.c: Bug#2306 - ftpcount output should handle
	case of no users.

2004-02-08  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2324 - Directories whose names
	contain whitespace are inaccessible.  The problem was that the
	dir_check() call was using cmd->argv[0], rather than cmd->arg; the
	former is the first parameter of the command (where the parameters
	are assumed to be whitespace-separated) whereas the latter is the
	entire parameter list as a single string.  The rest of the patch
	cleans up the formatting in the chdir() handling code.

2004-02-04  castaglia <castaglia>

	* src/xferlog.5.in: Document in the xferlog(5) man page that any
	space or control characters in a filename will be converted to an
	underscore in TransferLogs.

2004-02-03  castaglia <castaglia>

	* NEWS, modules/mod_core.c, src/dirtree.c: Bug#2315 - Overlapping
	virtual server causes error.  Also changes the collision check log messages to say "warning"
	rather than "error".

2004-02-01  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#2322 - NLST -a returns listing
	formatted for LIST -a.

2004-01-31  castaglia <castaglia>

	* src/log.c: Addition of PID was redundant.  Oops.

2004-01-30  castaglia <castaglia>

	* src/netaddr.c: "dup" is an already used global variable in some
	system headers.  How annoying.

2004-01-30  castaglia <castaglia>

	* src/main.c: Remove an annoying "FTP session closed." message from
	being logged when doing a simple syntax check of a proftpd.conf
	whose ServerType is inetd.

2004-01-30  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#2295 - mod_tls returns multi-line
	response to AUTH commands.

2004-01-30  castaglia <castaglia>

	* README.classes: Explicitly mention that the Class and Classes
	directives are deprecated.

2004-01-29  castaglia <castaglia>

	* Make.rules.in, NEWS, contrib/mod_sql.c, include/class.h,
	include/conf.h, include/dirtree.h, include/netacl.h,
	include/proftpd.h, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_log.c, src/class.c, src/dirtree.c, src/main.c,
	src/netacl.c: Bug#1925 - Clean up of Class code.

2004-01-29  castaglia <castaglia>

	* src/log.c: If --enable-devel is used, add the PID to the server
	debugging lines.  This might be useful enough to use all of the
	time, but for now it'll be restricted to developer use.

2004-01-29  castaglia <castaglia>

	* include/netaddr.h, src/netaddr.c: Add a new function,
	pr_netaddr_dup(), for convenience.

2004-01-29  castaglia <castaglia>

	* contrib/mod_quotatab.c: The SITE QUOTA command should be marked as
	a CL_MISC class command, so that ExtendedLogs that wish to log MISC
	commands record it.

2004-01-21  cyberrobo <cyberrobo>

	* .cvsignore: adding ftpdctl to the ignorelist

2004-01-19  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c, modules/mod_ctrls.c: No need to
	re-register the controls themselves, just reallocate the ACLs from
	the new module pools.

2004-01-19  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c, modules/mod_ctrls.c: When handling the
	"core.restart" event, the module pools for both mod_ctrls and
	mod_ctrls_admin are destroyed/recreated.  Since the ACLs for the
	registered controls are allocated from these module pools, the ACLs
	need to be recreated as well.  Also, when building mod_ctrls_admin, make sure that Controls support
	has been enabled.

2004-01-19  castaglia <castaglia>

	* src/log.c: Make pr_log_writefile() a little more robust, by
	checking whether the given fd is valid before doing any work.

2004-01-18  castaglia <castaglia>

	* utils/ftptop.c, utils/utils.h: No need to include <sys/types.h> in
	these files, as it is already included in config.h.

2004-01-18  castaglia <castaglia>

	* modules/mod_ctrls.c: Change the usage of PRIVS macros in some of
	mod_ctrls' config handlers.  Michael found that this was causing
	problems when restarting a proftpd with Controls enabled (see
	Bug#2242).

2004-01-18  castaglia <castaglia>

	* modules/mod_ctrls.c: No need to log the error using root privs.

2004-01-18  cyberrobo <cyberrobo>

	* src/.cvsignore: added ftpdctl manpage to ignore list

2004-01-17  castaglia <castaglia>

	* configure: Updating configure script.

2004-01-17  castaglia <castaglia>

	* NEWS, configure.in: Bug#2320 - autoconf check for socklen_t
	doesn't work on FreeBSD 4.8-RELEASE.

2004-01-17  castaglia <castaglia>

	* Makefile.in, NEWS: Bug#2319 - Build scripts have owner-only
	execute permission.

2004-01-17  castaglia <castaglia>

	* config.sub: No, that didn't work.

2004-01-17  castaglia <castaglia>

	* config.sub: Checking to see how to get permissions changed in CVS.
	I think CVS requires that the file itself (not just the mode)
	differ.

2004-01-16  castaglia <castaglia>

	* README.classes: First draft of a README describing the new <Class>
	syntax.  Edits/additions welcome.

2004-01-16  castaglia <castaglia>

	* modules/mod_core.c: Have the emitted vhost collision message say
	"warning", rather than "error".

2004-01-16  castaglia <castaglia>

	* modules/mod_auth.c: The current CreateHome description has the
	following examples:   CreateHome on skel /etc/ftpd/skel   CreateHome on dirmode 755   CreateHome on skel /etc/ftpd/skel dirmode 700 However, the current CreateHome implementation assumes that the
	parameter after the Boolean will always be the mode.  This change
	makes the config handler check for any preceding 'skel' or 'dirmode'
	keywords before trying to process that parameter as the mode.
	Hopefully now the examples will work properly.

2004-01-15  castaglia <castaglia>

	* contrib/mod_quotatab.c: Christian Schulte <cs@schulte.it> noticed
	that the handling of locks by mod_quotatab is not right.  The
	quotatab_write() function would obtain a write-lock, then call
	quotatab_read() to refresh its data, and quotatab_read() would
	degrade that write-lock to a read-lock, then release it completely,
	leaving the actual write operation unprotected by a lock.  This
	patch fixes the contention in the locking routinese by having them
	check and set a static variable.

2004-01-15  castaglia <castaglia>

	* README.controls: Updating/fixing this document.

2004-01-14  castaglia <castaglia>

	* README.controls: Add a README describing the new Controls code.
	It's a work in progress.

2004-01-14  castaglia <castaglia>

	* modules/mod_auth.c: Fix compiler warning.

2004-01-13  castaglia <castaglia>

	* NEWS: Add comment that bug 2183 is the same as bug 2165.

2004-01-12  castaglia <castaglia>

	* modules/mod_xfer.c: Consistency.

2004-01-12  castaglia <castaglia>

	* modules/mod_xfer.c: Report errors when closing a file that has
	been written.  Such errors normally don't occur, but can happen with
	a disk is full.  Fix a typo.

2004-01-11  castaglia <castaglia>

	* NEWS, contrib/mod_sql_mysql.c: Bug#2307 - MySQL 4.1.1 API change
	causes mod_sql_mysql compilation failure.

2004-01-09  castaglia <castaglia>

	* src/pool.c: The logic for handling new_block()'s exact argument
	was accidentally inverted.

2004-01-09  castaglia <castaglia>

	* include/pool.h, src/pool.c: Be consistent with the argument data
	types.  These probably should be size_ts, but ints suffice.

2004-01-09  castaglia <castaglia>

	* include/pool.h, src/pool.c: Adding some new functions to the Pool
	API.  These new functions allow for pools to be allocated for a
	specific size, rather than always having the requested size be
	rounded up to the nearest BLOCK_MINFREE (usu. 512 bytes).  These
	will be handy in cases where pools smaller than 512 bytes can be
	used (e.g. stash pools).

2004-01-02  jwm <jwm>

	* NEWS: - Bug 2267 - Broken IP subnet matching. Added new ACL
	parsing/matching code.

2003-12-30  castaglia <castaglia>

	* contrib/mod_sql.c: Make mod_sql a little less noisy.  This "no
	SQLAuthTypes" message would be logged for every connection to a
	vhost that has not been configured for mod_sql (when mod_sql is
	present), which can be very annoying for those configurations where
	only some vhosts, not all, need to authenticate using SQL.

2003-12-30  castaglia <castaglia>

	* src/main.c: Style.

2003-12-26  jwm <jwm>

	* Makefile.in, NEWS: Bug 2305 - Compile Problems since > 1.2.9 Link
	ftpdctl against libsocket and libnsl to pick up dependency functions

2003-12-19  castaglia <castaglia>

	* contrib/mod_quotatab.c: Don't subtract xfer bytes when deleting a
	directory.  Found and fixed by Christian Schulte <cs@schulte.it>

2003-12-16  castaglia <castaglia>

	* NEWS, src/netio.c: Bug#2300 - poll() returns 1 and read returns 0,
	inifinite loop.

2003-12-14  jwm <jwm>

	* contrib/dist/rpm/proftpd.spec: [Bug 2301] New: (s)rpms should
	require "/sbin/chkconfig" instead of package "chkconfig"

2003-12-11  castaglia <castaglia>

	* contrib/mod_quotatab.h: Bump the mod_quotatab version, for
	clarity.

2003-12-11  castaglia <castaglia>

	* modules/mod_auth.c: Forgot to add strerror() to the DefaultRoot
	resolution debugging.

2003-12-11  castaglia <castaglia>

	* modules/mod_auth.c: Add some debugging to the function which
	determines the actual path to use for DefaultRoot.

2003-12-09  castaglia <castaglia>

	* contrib/mod_quotatab.c: More minor quotatab bugs fixed by
	Christian Schulte <cs@schulte.it>.

2003-12-09  castaglia <castaglia>

	* contrib/mod_quotatab_sql.c: Bug found by Christian Schulte
	<cs@schulte.it>: delta values are signed, and can be negative.

2003-12-03  castaglia <castaglia>

	* NEWS, contrib/ftpquota, contrib/mod_quotatab.c,
	contrib/mod_quotatab.h, contrib/mod_quotatab_file.c,
	contrib/mod_quotatab_ldap.c, contrib/mod_quotatab_sql.c: Adding
	mod_quotatab to the contrib area.

2003-12-03  castaglia <castaglia>

	* NEWS, src/netaddr.c: Bug#2288 - ServerFQDN set to 255.255.255.255
	and not hostname.  This was due to the bundled inet_ntop()
	implementation not correctly handling the INADDR_NONE return value.

2003-12-02  castaglia <castaglia>

	* modules/mod_core.c: Adjust mod_core.c to use the pr_* wrappers for
	gmtime(), localtime().

2003-12-02  castaglia <castaglia>

	* NEWS, include/support.h, modules/mod_ls.c, src/support.c: Bug#2290
	- gmtime() static storage may be overwritten by modules.  A portable
	solution is to use wrappers that memcpy() the gmtime() and
	localtime() results.

2003-11-19  castaglia <castaglia>

	* include/inet.h, include/netaddr.h, src/inet.c, src/netaddr.c: 
	Moving the declaration and definition of pr_get{addr,name}info,
	pr_freeadrinfo, pr_inet_{ntop,pton} from inet to netaddr, as netaddr
	is the file that uses those functions most.  Also, it solves some
	linking problems on older systems that do not have the
	get{addr,name}info(2) functions.

2003-11-19  castaglia <castaglia>

	* Makefile.in, NEWS: Bug#1635 - Older systems' chown(1) does not
	support -h option.

2003-11-17  castaglia <castaglia>

	* src/netaddr.c: Adding comments to clarify the purpose/usage of the
	get_v4inaddr() function.

2003-11-16  castaglia <castaglia>

	* src/netacl.c: Forgot to change this function name.

2003-11-16  castaglia <castaglia>

	* src/netacl.c: Typo.

2003-11-16  castaglia <castaglia>

	* include/netacl.h, src/dirtree.c, src/netacl.c: Making the ACL type
	publically available via an accessor.

2003-11-16  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: Split the 'debug config|memory' stuff
	into a new control action, 'dump'.  In the future, the 'dump' action
	will also support dumping of <Class> and <Directory> information.

2003-11-15  castaglia <castaglia>

	* Make.rules.in, include/conf.h, include/dirtree.h,
	include/netacl.h, include/netaddr.h, modules/mod_core.c,
	src/dirtree.c, src/netacl.c, src/netaddr.c: Adding new ACL
	parsing/matching code.  This is flexible enough to handle IPv6
	addresses, and will be used in the new <Class> definition code
	(coming soon).  This should also fix the ACL checking that was
	broken (Bug#2267) in 1.2.9's IPv6 changes.

2003-11-15  castaglia <castaglia>

	* modules/mod_core.c: Need to set the ServerAddress field of the
	main_server as well when handling the DefaultAddress directive,
	because fixup_servers() later checks that field.

2003-11-15  castaglia <castaglia>

	* src/dirtree.c: Bad grammar.

2003-11-15  castaglia <castaglia>

	* NEWS, src/dirtree.c: Bug#2048 - Add ability to get configuration
	file values from environment.

2003-11-15  castaglia <castaglia>

	* NEWS, include/dirtree.h, src/dirtree.c: Bug#2274 - Default server
	only binds to one IP address of host if --enable-ipv6 is used.

2003-11-15  castaglia <castaglia>

	* modules/mod_core.c: Handle IPv4 address Binds properly for
	DefaultAddress when IPv6 is in use.

2003-11-15  castaglia <castaglia>

	* configure: Updating configure.

2003-11-15  castaglia <castaglia>

	* configure.in: When checking for the security and sec libs on Tru64
	Unix, we need to check for the libs before checking for the
	functions via AC_CHECK_FUNC, not after.

2003-11-13  castaglia <castaglia>

	* src/netaddr.c: Should be using pcalloc() not palloc().

2003-11-12  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: Use '#' as the address/port delimiter,
	rather than '/'.

2003-11-12  castaglia <castaglia>

	* NEWS, src/inet.c: Updating code for Mac OS X 10.3 (Darwin 7).

2003-11-10  castaglia <castaglia>

	* configure: Updating configure.

2003-11-10  castaglia <castaglia>

	* config.h.in, configure.in: Add a check for the getenv(3) function.

2003-11-10  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c, include/dirtree.h, src/dirtree.c: 
	Rearrange the config-dumping code a little and provide a public
	function for it, so that mod_ctrls_admin can support a 'debug
	config' action.

2003-11-10  castaglia <castaglia>

	* src/pool.c: Better name for this printf-like function pointer
	variable.

2003-11-10  castaglia <castaglia>

	* configure: Updating configure.

2003-11-10  castaglia <castaglia>

	* configure.in: Some systems (e.g. FreeBSD) declare getaddrinfo(2)
	in <sys/socket.h>.

2003-11-10  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: Update mod_ctrls_admin to use events.

2003-11-10  castaglia <castaglia>

	* contrib/mod_ctrls_admin.c: Controls are useless without something
	implementing some control actions; add the mod_ctrls_admin module
	(was mod_ctrls_common) to contrib.

2003-11-09  castaglia <castaglia>

	* src/auth.c, src/ctrls.c, src/data.c, src/dirtree.c, src/event.c,
	src/fsio.c, src/ident.c, src/log.c, src/main.c, src/mkhome.c,
	src/netaddr.c, src/scoreboard.c, src/support.c: Updating the source
	code to use pr_log_debug() rather than log_debug().

2003-11-09  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_auth_file.c, modules/mod_cap.c,
	modules/mod_core.c, modules/mod_ctrls.c, modules/mod_log.c,
	modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c: Updating
	modules to use pr_log_debug() rather than log_debug().

2003-11-09  castaglia <castaglia>

	* include/privs.h: Use pr_log_debug() rather than log_debug().

2003-11-09  castaglia <castaglia>

	* doc/mod_sample.c: Updating the sample module mod_sample.c to use
	pr_log_*() rather than log_*().

2003-11-09  castaglia <castaglia>

	* modules/mod_core.c: unsetenv(3) returns void, not int.

2003-11-09  castaglia <castaglia>

	* src/main.c: Typo.

2003-11-09  castaglia <castaglia>

	* src/main.c: Forgot to cleanup one sig_debug() reference.

2003-11-09  castaglia <castaglia>

	* include/proftpd.h, src/main.c: Tweak the handling of SIGUSR2 a
	little.  If controls are not enabled, keep the current behavior: the
	proftpd process will print a memory dump.  If controls are enabled,
	generate a "core.signal.USR2" event, which will allow modules to
	register multiple handlers for this same event.  This way,
	mod_ctrls_common can use SIGUSR2 to get other proftpd processes to
	print memory dumps, and thus keeping the ability to get memory dumps
	from any proftpd process.  Without this change, if controls are
	enabled, we can only get a memory dump of the daemon process (and
	most of the time, it is the session processes in which we are
	interested).

2003-11-09  castaglia <castaglia>

	* Make.rules.in, include/conf.h, include/log.h, include/support.h,
	include/xferlog.h, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_xfer.c, src/log.c, src/main.c, src/support.c,
	src/xferlog.c: Splitting the TransferLog routines into their own
	source file, and moving the functions into a nonpublic xferlog_
	namespace.

2003-11-09  castaglia <castaglia>

	* contrib/mod_ldap.c: Updating mod_ldap.c to use pr_log_*() rather
	than log_*().

2003-11-09  castaglia <castaglia>

	* contrib/mod_ratio.c: Updating mod_ratio.c to use pr_log_*() rather
	than log_*().

2003-11-09  castaglia <castaglia>

	* contrib/mod_wrap.c: Updating mod_wrap.c to use pr_log_*() rather
	than log_*().

2003-11-09  castaglia <castaglia>

	* contrib/mod_tls.c: Updating mod_tls.c to use pr_log_*() rather
	than log_*().

2003-11-09  castaglia <castaglia>

	* contrib/mod_sql_postgres.c: Updating mod_sql_postgres to use
	pr_log_*() rather than log_*().

2003-11-09  castaglia <castaglia>

	* modules/mod_core.c, src/main.c: The function is now
	pr_log_setdebuglevel(), not log_setdebuglevel().

2003-11-09  castaglia <castaglia>

	* contrib/mod_sql_mysql.c: Updating mod_sql_mysql.c to use
	pr_log_*() rather than log_*().

2003-11-09  castaglia <castaglia>

	* contrib/mod_sql.c: Updating mod_sql.c to use pr_log_*() rather
	than log_*().

2003-11-09  castaglia <castaglia>

	* contrib/mod_rewrite.c: Updating mod_rewrite.c to use pr_log_*()
	rather than log_*().

2003-11-09  castaglia <castaglia>

	* contrib/mod_readme.c: Updating mod_readme to use pr_log_debug()
	rather than log_debug().

2003-11-09  castaglia <castaglia>

	* contrib/mod_radius.c: Updating mod_radius.c to use pr_log_pri()
	rather than log_pri().

2003-11-09  castaglia <castaglia>

	* contrib/mod_ifsession.c: Updating mod_ifsession to use
	pr_log_debug() rather than log_debug().

2003-11-09  castaglia <castaglia>

	* include/privs.h: Updating privs.h to use the pr_log_* functions.
	Also cleans up some cruft related to checking of when
	session.login_uid is set.

2003-11-09  castaglia <castaglia>

	* include/bindings.h, include/log.h, lib/pwgrent.c,
	modules/mod_auth.c, modules/mod_auth_file.c,
	modules/mod_auth_pam.c, modules/mod_auth_unix.c, modules/mod_cap.c,
	modules/mod_core.c, modules/mod_ctrls.c, modules/mod_log.c,
	modules/mod_ls.c, modules/mod_xfer.c, src/auth.c, src/bindings.c,
	src/ctrls.c, src/data.c, src/dirtree.c, src/fsio.c, src/inet.c,
	src/log.c, src/main.c, src/mkhome.c, src/modules.c, src/netaddr.c,
	src/pool.c, src/regexp.c, src/scoreboard.c, src/support.c: Moving
	the log_*() functions into the pr_ namespace.  Let the terror and
	madness begin!  Actually, log.h includes some transitional macros,
	so that the old symbols will be redefined properly.

2003-11-09  castaglia <castaglia>

	* NEWS: Note the affect of the logging class change for RNFR and
	RNTO.

2003-11-09  castaglia <castaglia>

	* src/ftpdctl.8.in: Still not quite right.  Trying to get the
	action-parameters to be properly shown as optional parameters to the
	action part of the command.

2003-11-09  castaglia <castaglia>

	* src/ftpdctl.8.in: Tweak the ftpdctl man page a little.

2003-11-09  castaglia <castaglia>

	* configure: Updating configure.

2003-11-09  castaglia <castaglia>

	* Makefile.in, configure.in, src/ftpdctl.8.in: Adding ftpdctl man
	page.

2003-11-09  castaglia <castaglia>

	* src/ctrls.c: Tag pools allocated in the Controls API.  Style
	cleanup.

2003-11-09  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2046 - Change RFNR and RNTO logging
	class to WRITE.

2003-11-09  castaglia <castaglia>

	* contrib/mod_wrap.c: Wrong function name.

2003-11-09  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c: 
	Updating the rest of the core code to use the newer Expressions API.

2003-11-09  castaglia <castaglia>

	* contrib/mod_wrap.c: Updating mod_wrap for the newer Expressions
	API.

2003-11-09  castaglia <castaglia>

	* contrib/mod_ifsession.c: Updating mod_ifsession to use the new
	Expressions API.  Fixed a compiler warning issued under
	--enable-devel.

2003-11-09  castaglia <castaglia>

	* include/dirtree.h, src/dirtree.c: Cleaning up the API for
	evaluating user, group, and class expressions.  This commit gives
	the API a consistent pr_expr_ prefix.  It also provides some
	transitional macros.

2003-11-09  castaglia <castaglia>

	* configure: Updating configure.

2003-11-09  castaglia <castaglia>

	* contrib/mod_ifsession.c: Adjust mod_ifsession to use the same
	expression indicator values as the core code.

2003-11-09  castaglia <castaglia>

	* NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c: 
	Bug#2015 - Add AND, OR keywords to Allow/DenyUser directives.  This
	affects the AllowGroup and DenyGroup directives as well.

2003-11-09  castaglia <castaglia>

	* modules/mod_ctrls.c: Register a handler for the "core.exit" event,
	rather than using pr_exit_register_handler().  The latter function
	will be being phased out.

2003-11-09  castaglia <castaglia>

	* modules/mod_auth.c: Generate events when the MaxClients* and
	MaxHostsPerUser limits are hit.

2003-11-09  castaglia <castaglia>

	* include/event.h, src/event.c, src/main.c: Add generation of
	"core.exit" event.  Adjust the event unregistration function to
	handle the needs of the core code when doing exit handler
	processing.

2003-11-09  castaglia <castaglia>

	* modules/mod_ctrls.c: Modify mod_ctrls to use the new Event API (as
	all new modules should).

2003-11-09  castaglia <castaglia>

	* Make.rules.in, Makefile.in, NEWS, config.h.in, configure.in,
	include/bindings.h, include/conf.h, include/ctrls.h,
	include/mod_ctrls.h, include/pool.h, modules/mod_ctrls.c,
	src/Makefile.in, src/bindings.c, src/ctrls.c, src/ftpdctl.c,
	src/main.c, src/modules.c, src/pool.c: Bug#2072 - Add Controls API.
	Still to be done: a man page for ftpdctl, better documentation for
	mod_ctrls.

2003-11-09  castaglia <castaglia>

	* src/bindings.c: Remove (now) unused variable.

2003-11-08  castaglia <castaglia>

	* NEWS, modules/mod_core.c, src/bindings.c: Bug#2272 - Address/port
	collision check needs to handle DefaultAddress. The problem was that
	the address assigned by DefaultAddress was being assigned _after_
	the addr/port collision check.

2003-11-08  castaglia <castaglia>

	* include/fsio.h, src/fsio.c: Cleanup the FSIO API a little:   + some of the directory operation flags were improperly
	    overloading file operation flags   + change the prototype of the open/creat handlers to take a
	    pointer to a pr_fh_t (filehandle) rather than a pointer to a
	    pr_fs_t (filesystem), which allows the open/creat handlers to store
	    file-specific data in the handle (fh->fh_data), which was not
	    possible when using the filesystem pointer.    + added a new function, pr_remove_fs(), for removing a filesystem
	    from the map without explicitly destroying that filesystem object
	    (as pr_unregister_fs() will do automatically).    + some internal function stylistic renaming, which does not affect
	    any code outside of this file.

2003-11-08  castaglia <castaglia>

	* modules/mod_auth.c, src/main.c: Using the new Event API, generate
	some events when key limits are exceeded.  Modules that register
	handlers for these events can now take appropriate action (such as
	blacklisting a client that has exceeded the MaxLoginAttempts).

2003-11-08  castaglia <castaglia>

	* src/event.c: When unregistering an event handler, be sure to honor
	the module argument, if any.

2003-11-08  castaglia <castaglia>

	* Make.rules.in, NEWS, include/conf.h, include/event.h,
	modules/mod_core.c, src/event.c, src/main.c: Adding Event API.

2003-11-08  castaglia <castaglia>

	* NEWS, contrib/mod_radius.c: Bug#2255 - RADIUS Service-Type should
	reflect attribute expectations.

2003-11-08  castaglia <castaglia>

	* configure: Updating configure.

2003-11-08  castaglia <castaglia>

	* NEWS, configure.in: Bug#2271 - Improper autoconf check for
	getaddrinfo() on Tru64 UNIX 5.1.

2003-11-08  castaglia <castaglia>

	* Make.rules.in: Bug#2270 - Linkers can be quite picky about the
	order in which flags appear.

2003-11-06  castaglia <castaglia>

	* modules/mod_auth_file.c: The new group membership debugging found
	a bug: mod_auth_file, when scanning an AuthGroupFile, would only add
	the group name if the ID for the group was different from the user's
	primary GID.  For GID stuff, this is fine; however, for group
	expressions in proftpd.conf that may rely on those group names, it's
	a bug.  This allows for an interesting situation: assign a user to multiple
	groups with different names, but the same GID.  Thus you can
	workaround the NGROUPS_MAX system limit using a long list of group
	names; the operating system won't notice, and proftpd will happily
	check the names.  Nice.

2003-11-06  castaglia <castaglia>

	* src/auth.c: Add debugging output for group name/ID retrieval.

2003-11-06  castaglia <castaglia>

	* src/auth.c: Add debugging that shows the group IDs that end up
	being set via setgroups().

2003-11-06  castaglia <castaglia>

	* configure: Updating configure.

2003-11-06  castaglia <castaglia>

	* config.h.in, configure.in, modules/mod_core.c: Some platforms
	don't have setenv()/unsetenv().  Bummer.

2003-11-04  castaglia <castaglia>

	* src/scoreboard.c: When deleting the scoreboard file (usu. when a
	standalone proftpd starts up), log a message if there is an existing
	scoreboard file that is being unlinked.

2003-11-03  jwm <jwm>

	* contrib/dist/rpm/proftpd.spec: - Bug 2265 - correct path to mysql headers   Submitted by: ncroiset@vdldiffusion.com (Nicolas Croiset) - note in the %changelog that it isn't updated often - use the CVS   revision history

2003-11-01  castaglia <castaglia>

	* Makefile.in: When preparing a distribution using the 'dist'
	target, be sure to clean up the .bak files generated by the 'clean'
	target.

2003-11-01  castaglia <castaglia>

	* include/pool.h, modules/mod_core.c, modules/mod_log.c,
	modules/mod_ls.c, src/auth.c, src/bindings.c, src/data.c,
	src/dirtree.c, src/feat.c, src/fsio.c, src/inet.c, src/log.c,
	src/main.c, src/modules.c, src/pool.c, src/regexp.c, src/support.c: 
	Introduce a new function, pr_pool_tag().  This function is used to
	"tag" a given pool with an arbitrary label (given as a string
	constant).  The pool tags are shown in a pool dump (currently
	triggered using SIGUSR2).

2003-11-01  castaglia <castaglia>

	* include/log.h: Add 10 as a debugging level.  I plan to use this
	level for debugging output about DNS resolution and supplemental
	group membership issues.

2003-10-31  castaglia <castaglia>

	* src/dirtree.c: Add to proftpd's debugging verbosity by showing the
	dispatch/handling of configuration directives to the modules which
	handle that directive.

2003-10-31  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2098 - Add SetEnv, UnsetEnv
	directives.

2003-10-31  castaglia <castaglia>

	* NEWS, modules/mod_auth_unix.c: Bug#2174 - mod_auth_unix should not
	act authoritatively.

2003-10-31  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2086 - Add <Limit> support for PORT,
	PASV, EPRT, EPSV.

2003-10-31  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#2135 - Add ability to handle
	passphrase-protected server keys.

2003-10-31  castaglia <castaglia>

	* src/data.c, src/dirtree.c, src/fsio.c, src/main.c, src/netio.c: 
	Silencing some valgrind complaints.  Style fixups.

2003-10-31  castaglia <castaglia>

	* include/version.h: Woohoo! The start of a new release cycle...

2003-10-31  castaglia <castaglia>

	* ChangeLog: Preparing for 1.2.9 release.

2003-10-31  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
	for the release of 1.2.9.

2003-10-31  castaglia <castaglia>

	* NEWS: Mention the memory leak fixes.

2003-10-31  castaglia <castaglia>

	* contrib/mod_sql.c: Always expand %U to the USER name given, not
	just when session.user is NULL.

2003-10-31  castaglia <castaglia>

	* modules/mod_auth.c: Undoing part of change made earlier: rather
	than removing a C_USER config_rec during both the LOG_CMD (success)
	and LOG_CMD_ERR (failure) command phases of the PASS command, only
	do the removal in LOG_CMD_ERR, which was the originally intended
	effect.  Doing the removal in the LOG_CMD handler causes trouble for
	modules that may want to use %U (e.g. mod_rewrite).

2003-10-30  flyhmstr <flyhmstr>

	* doc/Configuration.html, doc/Configuration.sgml, doc/faq.html: ML:
	    New userguide (html & sgml) and faq built from current pdd sources
	committed.

2003-10-28  castaglia <castaglia>

	* README.FreeBSD: Adding FreeBSD package installation docs from
	Bug#2250.

2003-10-22  castaglia <castaglia>

	* src/main.c: Removing duplicate sanity check.

2003-10-22  castaglia <castaglia>

	* src/fsio.c: Fixing comments.  Have pr_insert_fs() set errno on
	error, for reporting purposes.

2003-10-21  castaglia <castaglia>

	* utils/utils.h: It helps to make sure that the utils (ftpcount,
	ftpwho, ftptop) expect that the scoreboard entry has the same format
	as the core code (cf. size of the sce_client_addr field).

2003-10-20  castaglia <castaglia>

	* include/scoreboard.h: Forgot to increase the size of the IP
	address buffer in the scoreboard if --enable-ipv6 is used.

2003-10-20  castaglia <castaglia>

	* modules/mod_log.c: More paranoid checking of snprintf() usage.

2003-10-20  castaglia <castaglia>

	* contrib/mod_radius.c, contrib/mod_sql.c, contrib/mod_tls.c: Minor
	paranoia changes: make certain the buffer is NUL-terminated before
	calling strlen() on its contents.

2003-10-20  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Check for excessive length of symlink
	directory listing entries, when ShowSymlinks is on.  This also
	requires that the platform _not_ provide MAXPATHLEN.  Added some
	style/spacing changes as well.

2003-10-19  jwm <jwm>

	* NEWS, contrib/dist/rpm/proftpd.spec: Bug 2197 - The RPM .spec has
	been updated for easy RPM builds from CVS snapshots.

2003-10-19  jwm <jwm>

	* contrib/dist/rpm/proftpd.spec: rpm doesn't like empty
	BuildPreReqs, add a static dep on pam-devel

2003-10-18  castaglia <castaglia>

	* src/fsio.c: Fixing a memory leak in the handling of structures
	used for tracking open directories.

2003-10-18  castaglia <castaglia>

	* src/dirtree.c: Fixing a rather major memory pool leak.  A
	temporary pool was being allocated in dir_hide_file() (which is
	called rather often), but in the case where no HideFiles directive
	was configured (very common), that pool was not being destroyed.
	Oops.

2003-10-17  castaglia <castaglia>

	* NEWS, include/netaddr.h, modules/mod_core.c, modules/mod_log.c,
	src/netaddr.c: Bug#2204 - More reverse DNS resolutions problems.  A
	previous fix for systems that use gethostbyname2() (e.g. the BSDs,
	some Linux distributions) was not properly checking the return value
	from pr_netaddr_is_v4mapped(), and thus IPv4 addresses were not
	being resolved to their names.  Bug#2242 - Parsing during rehashing was failing with an EPERM.  The
	problem was that configuration directive handlers (specifically,
	SyslogFacility and SystemLog) were using PRIVS_RELINQUISH, which
	caused later Includes to fail.  Configuration handlers should not
	use the PRIVS macros.

2003-10-17  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2181: fixing this bug (again) to
	work correctly in all cases.

2003-10-17  castaglia <castaglia>

	* include/fsio.h, include/inet.h, include/netio.h, src/fsio.c,
	src/inet.c, src/main.c, src/netio.c: Removing the pr_ prefix from
	some API initialization functions; they are not really appropriate
	for module use.

2003-10-16  castaglia <castaglia>

	* include/version.h: Updating the version for CVS status.

2003-10-15  castaglia <castaglia>

	* ChangeLog: Updating ChangeLog.

2003-10-15  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
	for release of 1.2.9rc3.

2003-10-15  jwm <jwm>

	* contrib/dist/rpm/proftpd.spec: only include xinetd support in the
	-xinetd RPM

2003-10-14  castaglia <castaglia>

	* src/netaddr.c: Fixed pr_netaddr_get_dnsstr() to use the right
	family value when calling gethostbyname2().

2003-10-14  castaglia <castaglia>

	* src/main.c: The free_proc_title() function is currently only used
	when --enable-devel has been configured.

2003-10-14  jwm <jwm>

	* contrib/dist/rpm/proftpd.spec: we're "The ProFTPD Project"

2003-10-13  castaglia <castaglia>

	* configure: Updating configure.

2003-10-13  castaglia <castaglia>

	* configure.in, include/libsupp.h, lib/glibc-hstrerror.c: Adding
	bundled glibc implementation of hsterror(), for those systems that
	don't have it already.

2003-10-13  castaglia <castaglia>

	* configure: Updating configure.

2003-10-13  castaglia <castaglia>

	* config.h.in, configure.in: Not all systems have the hsterror()
	function, for converting resolver error codes (h_errno) to strings.
	Thus, we need to check for it, and provide a bundled replacement if
	it is not present.  I'll be adding the glibc implementation of
	hstrerror() soon.

2003-10-13  castaglia <castaglia>

	* src/netaddr.c: This get_v4inaddr() function is only called from
	one place (at present), and all the necessary sanity checks have
	already been performed, so there is no need to do them again.

2003-10-11  castaglia <castaglia>

	* src/netaddr.c: Typo.

2003-10-11  castaglia <castaglia>

	* src/netaddr.c: The retrieval of the IPv4 portion of an IPv4-mapped
	IPv6 address is only necessary when gethostbyname2() is being used,
	rather than gethostbyname() (I think...this may need to change in
	the future).

2003-10-11  castaglia <castaglia>

	* src/netaddr.c: When performing reverse DNS lookups on IPv4-mapped
	IPv6 addresses, we need to be a little more careful about which
	checks are performed.  This change alters the call to
	gethostbyname2() (when it is present) to be AF_INET if the netaddr
	is an IPv4-mapped IPv6 address, rather than using AF_INET6 as was
	done previously.  The subsequent memcmps need to be adjusted
	accordingly.  This should hopefully resolve Bug#2204.

2003-10-11  castaglia <castaglia>

	* src/netaddr.c: The BSDs are not the only systems that might
	provide gethostbyname2().  It seems that some Linux kernels have
	been patched to have that function as well.

2003-10-11  castaglia <castaglia>

	* include/netaddr.h, modules/mod_core.c, src/netaddr.c: Since
	pr_netaddr_v4mappedv6() returns TRUE or FALSE (or -1 on error), I've
	renamed it to be pr_netaddr_is_v4mappedv6().

2003-10-10  castaglia <castaglia>

	* src/main.c: Report the cause of error if configuration parsing
	fails.

2003-10-10  castaglia <castaglia>

	* modules/mod_core.c: If processing an Included file fails, log the
	reason.

2003-10-10  castaglia <castaglia>

	* src/netaddr.c: Adding note about a use of gethostbyname() that may
	need to be gethostbyname2() in the future.

2003-10-10  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2222 - Overlapping vhosts should
	warn instead of die.

2003-10-10  castaglia <castaglia>

	* src/dirtree.c: No need to keep the server_recs of vhosts that
	cannot be resolved.

2003-10-10  castaglia <castaglia>

	* include/netaddr.h, src/dirtree.c, src/netaddr.c: Removing the
	pr_netaddr_get_fqdn() function.  It was only being used in one
	place: to set the main_server->ServerFQDN member.  ServerFQDN is
	used in the logging prefix, and for vhosts, was usually the IP
	address.  With this change, the log prefix for entries generated by
	vhosts will be their DNS names (if possible).  It also removes a
	call to gethostbyname() which on *BSDs might not have performed as
	expected for IPv6 strings.

2003-10-10  castaglia <castaglia>

	* src/netaddr.c: Make the logging of badly configured DNS name/IP
	address mappings a little less noisy.

2003-10-09  castaglia <castaglia>

	* configure: Updating configure.

2003-10-09  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, src/netaddr.c: Bug#2204 - Reverse
	DNS lookups not happening properly on connected clients on FreeBSD.
	We need to use gethostbyname2() on FreeBSD (and possibly the other
	BSDs).

2003-10-09  castaglia <castaglia>

	* NEWS, configure.in, src/netaddr.c: Bug#2188 - Wildcard sockets not
	properly handled on FreeBSD.  Need to set sin_len/sin6_len struct
	sockaddr members, if present, for wildcard sockets.

2003-10-08  castaglia <castaglia>

	* NEWS, src/log.c: Bug#2202 - AllowLogSymlinks check is flawed.

2003-10-08  castaglia <castaglia>

	* modules/mod_core.c: Style cleanup (whitespace).

2003-10-08  castaglia <castaglia>

	* src/inet.c: Adding note to pr_inet_set_proto_opts() about
	setsockopt() problems on IPv6 sockets.

2003-10-08  castaglia <castaglia>

	* configure: Updating configure.

2003-10-08  castaglia <castaglia>

	* configure.in: autoconf on FreeBSD was not properly reporting the
	headers it detected (or didn't): specifically, <netinet/in_systm.h>
	and <netinet/ip.h> were not being reported as found and useable in
	config.h.  The fix is to include a few more header dependencies in
	autoconf, so that autoconf's tests pass and the headers are properly
	reported as found.

2003-10-06  castaglia <castaglia>

	* contrib/mod_tls.c: Be a little more careful in tls_blinding_on():
	it's possible that SSL_get_privatekey() returns NULL, which I didn't
	check for.  This, I think, is causing segfaults on some systems
	(depending on the certificates used).

2003-10-06  castaglia <castaglia>

	* include/netaddr.h, src/data.c, src/main.c, src/netaddr.c: Change
	pr_netaddr_reverse_dns() to be pr_netaddr_set_reverse_dns(), so that
	it has a verb in the function name (style nit, I know).  Also
	includes some capitalization and spacing cleanup in data.c.

2003-10-06  castaglia <castaglia>

	* NEWS: Updating NEWS so that people can see that Bug#2183 (and all
	its friends) has been fixed.

2003-10-03  castaglia <castaglia>

	* Makefile.in: Remove the generated 'stamp-h' file as well for the
	distclean target.

2003-10-01  castaglia <castaglia>

	* NEWS, contrib/mod_sql_mysql.c: Bug#2191 - Segfault in
	mod_sql_mysql when using 'Backend' SQLAuthType.  This only happens
	for MySQL 4.1.  The MySQL make_scrambled_password() function changed
	in 4.1, and the wrong variable value was being used.

2003-10-01  castaglia <castaglia>

	* configure: Updating configure.

2003-10-01  castaglia <castaglia>

	* config.h.in, configure.in: Style cleanup in config.h.  Add check
	for <sys/mman.h> header file (will be needed if/when something wants
	to use the mmap(2) system call).

2003-10-01  castaglia <castaglia>

	* src/main.c: Style cleanup, comment correction.  Also removed a
	double signal(SIGIO) call; first one set a handler for the signal,
	the second one caused the signal to be ignored.  Weird.

2003-10-01  castaglia <castaglia>

	* src/main.c: Style cleanup.  Add a comment about needing PRIVS (or
	not) when disconnecting sessions.

2003-09-29  castaglia <castaglia>

	* src/bindings.c: Fixed thinko highlighted by Bug#2188.

2003-09-29  castaglia <castaglia>

	* include/bindings.h, src/bindings.c, src/main.c: The
	init_bindings() and free_bindings() functions are not suitable for
	use in modules, and so should not be in the pr_ namespace.

2003-09-28  castaglia <castaglia>

	* modules/mod_auth_unix.c: It's possible for UID/GID lookups to
	occur outside of a session.  When this happens, session.pool is not
	valid.  Check for and handle this situation.  (This was causing
	segfaults when I attempt to use mod_ctrls.)

2003-09-28  castaglia <castaglia>

	* include/regexp.h, src/main.c, src/regexp.c: The regexp init
	function shouldn't be in the pr_ namespace, as it is not suitable
	for use in module code.

2003-09-28  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_auth_unix.c: Style cleanup.

2003-09-28  castaglia <castaglia>

	* src/dirtree.c: One of the changes I made to quell a valgrind
	warning (something about reading possibly uninitialized memory,
	probably due to a zero-length path variable in this case) had
	disastrous side effects on directive lookups.  This highlights that
	the build_dyn_config() function needs comments and/or to be
	rewritten entirely.  Also includes some style cleanup.

2003-09-27  castaglia <castaglia>

	* configure: Updating configure.

2003-09-27  castaglia <castaglia>

	* configure.in, src/main.c: Some of the pedantic memory cleanups
	added in 1.2.9rc2, after some time spent under valgrind, turn out to
	affect performance, when a session exits, particularly on busy
	machines.  So I've made these checks enabled only when proftpd is
	compiled using the --enable-devel flag.

2003-09-27  castaglia <castaglia>

	* NEWS, src/bindings.c: Bug#2024 - DefaultServer not functioning
	properly.  The addition of the Bindings API in 1.2.8rc1 broke the
	DefaultServer directive in many configurations.  For inetd-run
	proftpds, all configured <VirtualHost> servers were being treated
	like they had "DefaultServer on", which meant that the last such
	configured server would be used, instead of the true DefaultServer.
	For both inetd- and standalone-run proftpds, if no exactly matching
	vhost was found for a client, the localhost server (i.e. the "server
	config" vhost) would be used before the DefaultServer vhost.  Both
	problems are fixed by this change.

2003-09-27  castaglia <castaglia>

	* NEWS, src/data.c: Bug#2200 - Correct segfaults with
	xlate_ascii_write() on IRIX.  Some of the last of the remaining code
	(whose I understood only partially, such as the session.xfer.buf++
	increment) is now removed, as well as a potentially dangerous
	NUL-termination statement.

2003-09-26  jwm <jwm>

	* contrib/dist/rpm/proftpd.spec: Bug 2197 - Spec file enhancements
	and fixes Submitted by: pb@bieringer.de (Dr. Peter Bieringer)

2003-09-26  castaglia <castaglia>

	* modules/mod_core.c: Correcting a misleading/outdated comment.

2003-09-23  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2181 - Active IPv4 ftp doesn't work
	when using --enable-ipv6.  The fix was to build up an IPv6 netaddr
	from the PORT argument, rather than an IPv4 netaddr, in the case of
	--enable-ipv6.

2003-09-23  castaglia <castaglia>

	* NEWS: Mention fixing of ASCII handling exploit.

2003-09-23  castaglia <castaglia>

	* src/data.c: Fixing remote exploit in ASCII handling, discovered by
	X-Force at ISS:   http://xforce.iss.net/xforce/alerts/id/154

2003-09-23  jwm <jwm>

	* contrib/dist/rpm/proftpd.spec: * Tue Sep 23 2003 Daniel Roesen <dr@proftpd.org> - Added "--with ipv6" to enable IPv6 support while building the RPM

2003-09-22  castaglia <castaglia>

	* README.IPv6: Daniel has confirmed that IPv6 and FTP over SSL/TLS
	works just fine, for both active and passive transfers.

2003-09-19  castaglia <castaglia>

	* NEWS, include/privs.h: Bug#2179 - ROOT_UID instead of ROOT_GID
	used in setegid() call.  This affects Cygwin installations.

2003-09-18  castaglia <castaglia>

	* src/netaddr.c: Using EPERM makes more sense, I think, than EACCES
	in most of the pr_netaddr* cases.

2003-09-18  castaglia <castaglia>

	* NEWS, src/netaddr.c: Bug#2176 - getnameinfo() error on Cygwin
	during startup.  The sa_family member of some addresses was not
	being properly initialized in some instances.

2003-09-14  castaglia <castaglia>

	* src/scoreboard.c: Actually check for error return values when
	locking the scoreboard.  A recently reported issue with the
	scoreboard on Solaris, under high load, may be related to this:
	fcntl() on Solaris is known to return ENOLCK under high load, if the
	requested lock hits the system lock limit.  By checking for the
	return values, proftpd can at least log if this ENOLCK is indeed the
	case.

2003-09-13  castaglia <castaglia>

	* configure: Updating configure.

2003-09-13  castaglia <castaglia>

	* NEWS, README.IPv6, config.h.in, configure.in, src/netaddr.c: 
	Bug#2167 - getnameinfo() on FreeBSD doesn't support IP address
	lookups.  FreeBSD's struct sockaddr_in and struct sockaddr_in6 have the
	sin_len and sin6_len members.  The code in pr_netaddr_get_addr() was
	not properly initializing these members, and so when those structs
	were given to getnameinfo(), getnameinfo() didn't handle them well.
	Solaris and Linux don't have these _len members, so the problem
	didn't crop up there.  IPv6 systems whose structs have these _len members are supposed to
	define the SIN6_LEN symbol, by RFC design.  However, it's possible
	that a system not support IPv6 and yet have the sin_len member and
	the getnameinfo() function.  So rather than just rely on SIN6_LEN
	being present, I added an autoconf check for the sin_len member, and
	an IPv4 SIN_LEN symbol.

2003-09-12  castaglia <castaglia>

	* README: Just some pointers/notes about user questions.

2003-09-12  castaglia <castaglia>

	* README.IPv6: Seems that perhaps FreeBSD's getnameinfo(3) doesn't
	like IP addresses, but it does handle DNS names correctly.
	Interesting.

2003-09-11  castaglia <castaglia>

	* configure: Updating configure.

2003-09-11  castaglia <castaglia>

	* configure.in: Add another --enable-devel option: 'profile'.  When
	this option is used, compiler and linker flags for generating
	profile output (as for gprof(1)) are generated.  For this to work
	properly, one also needs to use the 'nodaemon' and 'nofork' options
	as well, e.g.:   ./configure --enable-devel=nodaemon:nofork:profile ...

2003-09-11  castaglia <castaglia>

	* include/version.h: Updating version for CVS snapshots.

2003-09-11  castaglia <castaglia>

	* ChangeLog: Updating ChangeLog.

2003-09-11  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Let's get
	this rc2 show on the road.

2003-09-11  castaglia <castaglia>

	* include/conf.h: Add note about possibly using sockaddr_storage in
	the future.

2003-09-10  castaglia <castaglia>

	* src/main.c: Fixing PR_DEVEL_NO_DAEMON.

2003-09-09  castaglia <castaglia>

	* src/log.c: Log the client's IP address in the brackets, not the
	DNS name.

2003-09-09  castaglia <castaglia>

	* src/netaddr.c: When doing reverse DNS lookups, actually use the
	looked up name.  Oops.

2003-09-09  castaglia <castaglia>

	* utils/ftpshut.c: Fix grammar in comment.

2003-09-09  castaglia <castaglia>

	* NEWS: ftpshut's option -R (for remove), not -D (for delete).

2003-09-09  castaglia <castaglia>

	* NEWS, src/netio.c: Bug#2122 - EAGAIN on Solaris can cause an
	infinite loop.

2003-09-09  castaglia <castaglia>

	* include/netaddr.h, modules/mod_core.c, src/inet.c, src/netaddr.c: 
	Rename pr_netaddr_initialize() to be pr_netaddr_clear(), as that is
	what is really happening.

2003-09-09  castaglia <castaglia>

	* src/inet.c: Remove duplicate comment.

2003-09-09  castaglia <castaglia>

	* src/inet.c: Use the netaddr allocator where appropriate.

2003-09-09  castaglia <castaglia>

	* src/dirtree.c: Remove cruft.  The multiple addresses for a server
	are handled elsewhere.

2003-09-09  castaglia <castaglia>

	* include/netaddr.h, src/netaddr.c: Provide a netaddr allocator.

2003-09-09  castaglia <castaglia>

	* include/netaddr.h, modules/mod_core.c, src/inet.c, src/netaddr.c: 
	Forgot to properly initialize pr_netaddr_t structs declared on the
	stack.  Provide a wrapper function for this, in case any of the
	default settings for a pr_netaddr_t need to change (in which case,
	providing an allocator as well, for pr_netaddr_t * declarations,
	will be necessary).  Also fixed some tabs that crept into inet.c.

2003-09-08  castaglia <castaglia>

	* configure: Updating configure.

2003-09-08  castaglia <castaglia>

	* include/inet.h, modules/mod_core.c, src/inet.c, src/netaddr.c: 
	Bug#2162 - Move pr_inet_ntop definition to include/inet.h.  Code
	cleanup.

2003-09-08  castaglia <castaglia>

	* configure.in: Clean up configure.in a little, and just use
	LIB_OBJS (rather than both pr_lib_objs and LIB_OBJS).

2003-09-08  castaglia <castaglia>

	* configure: Updating configure.

2003-09-08  castaglia <castaglia>

	* NEWS, configure.in: Bug#2161 - Duplicate autoconf check for sia.h.

2003-09-08  castaglia <castaglia>

	* src/main.c: Add a function to free up the memory allocated when
	moving the environment "out of the way" for use by setproctitle() et
	al; valgrind was complaining about this lost memory.  Also free up
	the permanent pool, and the free block list, when the daemon shuts
	down.

2003-09-08  castaglia <castaglia>

	* modules/mod_auth_unix.c: Changing permanent_pool to session.pool
	where appropriate.  Also add a session exit callback that will call
	endpwent()/endgrent(), freeing up any memory that may have been
	allocated via setpwent()/setgrent().  Symmetry is a Good Thing.

2003-09-08  castaglia <castaglia>

	* modules/mod_auth_pam.c: Removed an unnecessary check for a NULL
	pointer that will be given to free(3): the POSIX standard says that
	free() can handle a NULL pointer without choking.  Also, since
	mod_auth_pam handles the password, when the buffer which holds the
	password is freed, it should be scrubbed, rather than just using
	memset().

2003-09-08  castaglia <castaglia>

	* src/main.c: Removing cruft, updating calls to subsystem
	initializers.

2003-09-08  castaglia <castaglia>

	* include/dirtree.h, src/dirtree.c: Cleanup.  Fixed some timing and
	usages of sub pools, particularly in get_dir_ctxt().  Changed
	permanent_pool to be session.pool where appropriate.  Changed
	!strcmp() to be strcmp() == 0, and added some checks for paths of
	zero length (spotted by valgrind).

2003-09-08  castaglia <castaglia>

	* src/auth.c: Removing cruft.  Also added some comments on the
	difference between the static make_cmd() function in this file, and
	the public pr_cmd_alloc() function.

2003-09-08  castaglia <castaglia>

	* src/fsio.c: Style cleanup, mostly.  Using strcmp() == 0 rather
	than !strcmp() is a little clearer to most people.  Also fixed a bug
	where a pool was not being destroyed at the proper time.

2003-09-08  castaglia <castaglia>

	* src/data.c: Use memcpy() rather than memmove(), as memcpy() is a
	little more efficient (it doesn't have to check the overlapping
	buffers).  Also, allocate one space for one more character, to
	account for the possibility of a LF as the first character in the
	buffer being adjusted (it would then need to be prefaced by a CR).

2003-09-08  castaglia <castaglia>

	* modules/mod_auth_file.c, modules/mod_core.c, modules/mod_log.c: 
	Changed uses of permanent_pool to session.pool, as is more
	appropriate in most module code.

2003-09-08  castaglia <castaglia>

	* modules/mod_auth.c: Changed some uses of permanent_pool here to be
	session.pool, as is more appropriate in most module code.

2003-09-08  castaglia <castaglia>

	* include/modules.h, src/modules.c: Removing cruft.  The
	call_module_auth() and call_module_cmd() functions were duplicates
	of call_module(), so there is no need to keep them around.  Also
	fixed some of the pools being used when adding symbols to the stash.
	Fixed a bug where the stash pool was not being properly allocated
	from permanent_pool (valgrind found this).

2003-09-08  castaglia <castaglia>

	* include/pool.h, src/pool.c: Cleaning up the pool interface.  The
	pr_ prefix for initializing the pool code, as many of the subsystem
	initializers are not meant to be called by module code; the pr_
	suffix is meant to denote the API for use by module authors.  Also
	fixed a possible alarm-blocking bug in destroy_pool().

2003-09-08  castaglia <castaglia>

	* include/inet.h, src/inet.c: Removing cruft.  The iplist/niplist
	members of the conn_t struct were not being used anymore.  Also
	removed some unnecessary complexities (a macro, a cleanup handler).

2003-09-08  castaglia <castaglia>

	* contrib/mod_ratio.c: Removing some cruft from the source code,
	which involves removing mod_ratio's use of one of the crufty
	functions.

2003-09-07  castaglia <castaglia>

	* modules/mod_cap.c: A weekend with valgrind proved very
	enlightening.  This patch corrects several small leaks that were
	occurring when handling POSIX capabilities.

2003-09-07  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#2154 - SQL query loses shell
	information.

2003-09-06  castaglia <castaglia>

	* modules/mod_ls.c: Another leak fixed.  In this case, listdir() was
	(inappropriately) setting pointers in the array--allocated and
	returned by sreaddir()--to NULL.  Those pointers were allocated
	using calloc() in sreaddir(), which meant that later, when listdir()
	went to free the memory, it couldn't -- the address was lost.  All
	better now.

2003-09-06  castaglia <castaglia>

	* src/data.c: Fixing subtle off-by-one bug (thank you valgrind!).

2003-09-05  castaglia <castaglia>

	* src/pool.c: Rename xmalloc, xcalloc, and xrealloc to be smalloc,
	scalloc, and srealloc ("s" for "safe", just like sstrncpy and
	sstrcat).  This moves these functions out of the way of dmalloc's
	symbols (and doesn't hurt proftpd at all).

2003-09-05  castaglia <castaglia>

	* include/conf.h: Add conditional include for <dmalloc.h>, for use
	when using dmalloc to track memory usage.

2003-09-05  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#2153 - Small error in handling
	PR_AUTH_RFC2228 authentication code.

2003-09-03  castaglia <castaglia>

	* configure: Updating configure.

2003-09-03  castaglia <castaglia>

	* NEWS, configure.in: Bug#2007 - autoconf header detection problem.

2003-08-30  castaglia <castaglia>

	* configure: Updating configure.

2003-08-30  castaglia <castaglia>

	* configure.in, include/libsupp.h, lib/glibc-gai_strerror.c,
	src/netaddr.c: Partial fix for issues mentioned in Bug#2143:
	bundling gai_strerror(3) implementation (from glibc) in libsupp.a,
	to be used if the system does not provide a gai_strerror(3) function
	itself.

2003-08-29  castaglia <castaglia>

	* include/bindings.h, include/dirtree.h, src/bindings.c: Add
	comments about the duplicate
	ipbind->ib_server->listen/ipbind->ib_listener pointers.  Also,
	correct the patch for Bug#2146 so that ib_server->listen is still
	handled properly (as it prior to the patch) in the Bindings API.

2003-08-29  castaglia <castaglia>

	* NEWS, include/bindings.h, src/bindings.c: Bug#2146 - DNS names not
	handled properly when --enable-ipv6 is used.  As mentioned in the
	report, this was caused by a design assumption revealed by the
	addition of IPv6 support: that of a one-to-one association between a
	server_rec and its listening connection.  For DNS names resolving to
	A and AAAA records, there can be two listening connections for a
	given server_rec.  The fix occurs in the Bindings API, where a
	server_rec's listeners are now associated with the bindings for the
	server_rec, rather than with the server_rec itself.  Multiple
	bindings can point to the same server_rec.

2003-08-29  castaglia <castaglia>

	* src/netaddr.c: Using uninitialized memory can be bad.

2003-08-29  castaglia <castaglia>

	* src/inet.c: Only one type of IPv4 service at time: either
	IPTOS_LOWDELAY or IPTOS_THROUGHPUT but not both.  Some discussion on IPng mailing list archives mention that using
	IP_TOS may be a problem on IPv6 connections...

2003-08-28  castaglia <castaglia>

	* README.ports: Adding FreeBSD 4.9-PRERELEASE to the list.
	Apparently the source works out-of-the-box.

2003-08-28  jwm <jwm>

	* NEWS: - Bug 2108 - IgnoreHidden should not hide dotfiles   Dotfiles are now displayed when the -a argument is supplied, even
	  when the IgnoreHidden directive is enabled. To replicate the old
	  behavior of hiding dotfiles no matter what, use either of the
	    following directives: ListOptions "" strict     HideFiles ^\..*

2003-08-28  jwm <jwm>

	* modules/mod_ls.c: Bug 2108 - IgnoreHidden should not hide dotfiles

2003-08-28  jwm <jwm>

	* NEWS: - Bug 1804 - RPM spec file improvements   The spec file now has xinetd support, builds under newer version
	  of RPM, installs standalone support with the main proftpd RPM, and
	  accepts --with mod_modname arguments during the build process.  - Bug 2127 - Entry in the file section   The RPM spec's %files section now honors the install prefix.

2003-08-28  jwm <jwm>

	* contrib/dist/rpm/proftpd.spec: Bug 2127 - Entry in the file
	section

2003-08-28  jwm <jwm>

	* contrib/dist/rpm/xinetd: add xinetd configuration to go with new
	.spec

2003-08-28  jwm <jwm>

	* contrib/dist/rpm/proftpd.spec: - don't reset servertype on upgrade - don't explicitly install docs - %doc should include them submitted by: Ivan F. Martinez <ivanfm@os2brasil.com.br> Peter
	Bieringer <pb@bieringer.de>

2003-08-22  castaglia <castaglia>

	* README.ports: Adding NetBSD 1.6.1 to the list.

2003-08-20  castaglia <castaglia>

	* README.IPv6: Add note about FreeBSD 4.8 and getnameinfo(3).

2003-08-18  castaglia <castaglia>

	* NEWS, src/dirtree.c: Bug#2141 - Glob Allow/Deny parameters cause
	extraneous log messages when comparing addresses.

2003-08-16  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#2148 - Enforce PR_TUNABLE_LOGIN_MAX.

2003-08-16  castaglia <castaglia>

	* sample-configurations/mod_sql.conf: Add comment in mod_sql sample
	config about SQLAuthTypes being required.

2003-08-16  castaglia <castaglia>

	* contrib/mod_sql.c: Add log messages to session init if no
	SQLAuthTypes configured.

2003-08-16  castaglia <castaglia>

	* contrib/mod_sql.c: Using mod_sql for authentication, but not
	configuring a SQLAuthTypes directive, would result in a segfault in
	the session process.  This patch catches the segfault, and adds a
	log message concerning the problem.

2003-08-15  castaglia <castaglia>

	* NEWS, contrib/mod_ifsession.c: Fixed mod_ifsession's handling of
	multiple configuration sets.  The problem was that mod_ifsession,
	after merging in the configuration from a config_rec, would call
	xaset_remove() and remove that config_rec from the main server's
	configuration sets.  This had the side effect of making other
	config_recs in the set, in the set after the removed config_rec, no
	longer visible by the iterating function.  As in Perl: don't change
	the items in a list while iterating over it.  Instead, queue up the
	changes you want to make while iterating, wait until finished
	iterating, and then change the list.

2003-08-14  castaglia <castaglia>

	* include/netaddr.h, src/netaddr.c: Rather than using typecasts to
	silence the compiler warnings about loss of the 'const' modifier in
	pr_netaddr_fnmatch(), simply remove the 'const' from the function
	signature.

2003-08-14  castaglia <castaglia>

	* NEWS, src/data.c: Bug#2147 - Segmentation fault processing file in
	ASCII mode.

2003-08-13  castaglia <castaglia>

	* src/netaddr.c: Silence some compiler warnings.

2003-08-13  castaglia <castaglia>

	* configure: Updating configure script.

2003-08-13  castaglia <castaglia>

	* NEWS, configure.in: Bug#2144 - Rework autoconf handling of
	--enable-sia option.

2003-08-13  castaglia <castaglia>

	* configure: Updating configure script.

2003-08-13  castaglia <castaglia>

	* config.h.in, configure.in: Check for gai_strerror(3).  We'll also
	need to provide an implementation if gai_strerror() is not present.

2003-08-13  castaglia <castaglia>

	* configure: Updating configure script.

2003-08-13  castaglia <castaglia>

	* NEWS, configure.in, include/libsupp.h, include/support.h,
	lib/sstrncpy.c, src/support.c: Bug#2142 - sstrncpy() not available
	to lib/vsnprintf.c.

2003-08-13  castaglia <castaglia>

	* src/inet.c: It seems the 'sa_family' symbol is a macro on IRIX.

2003-08-12  castaglia <castaglia>

	* include/conf.h, include/inet.h: Move the conditional definitions
	of INET(6)_ADDRSTRLEN to conf.h, so that the definition of
	pr_netaddr_t can use them.  Sigh.

2003-08-12  castaglia <castaglia>

	* include/conf.h: Can't use INET6_ADDRSTRLEN until include/inet.h is
	included, but the pr_netaddr_t needs to be typedef'd before then.
	So we do it manually.

2003-08-11  castaglia <castaglia>

	* contrib/mod_sql.c: Removing use of get_param_int() from mod_sql.

2003-08-11  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#2137 - NLST and IgnoreHidden causes
	segfault.

2003-08-11  castaglia <castaglia>

	* src/main.c: Oops.  Calling of the postparse callbacks should
	happen after all the servers have been fixed up, in order to make
	sure that the modules see the "correct" server configuration data.

2003-08-11  castaglia <castaglia>

	* src/main.c: Postparse callbacks should be called after the
	configuration has been parsed during a rehash, too.  Modules that
	wish to have postparse callbacks invoked during a rehash will need
	to have rehash handlers that register the postparse callback.

2003-08-09  castaglia <castaglia>

	* modules/mod_auth.c: Previous changes to auth_scan_scoreboard()
	removed some checks that really needed to be there, to prevent
	segfaults when using configurations that did not use Classes.

2003-08-09  castaglia <castaglia>

	* src/inet.c: Fixed function signature to match declared prototype.
	Fixed variable name.

2003-08-09  castaglia <castaglia>

	* contrib/mod_ifsession.c, include/dirtree.h, modules/mod_auth.c,
	src/dirtree.c: Spelling correction.

2003-08-09  castaglia <castaglia>

	* src/bindings.c: Removed debugging cruft.

2003-08-09  castaglia <castaglia>

	* include/proftpd.h, src/netaddr.c: Comment clarification, style
	fixups, fixing compiler warnings.

2003-08-08  castaglia <castaglia>

	* modules/mod_auth_file.c: Fixed position of use of pr_signals()
	handle, so as not to occur before variable declaration in the case
	where HAVE_FGETPWENT is false/undef.

2003-08-08  castaglia <castaglia>

	* NEWS: Fixed wrong bug report number.

2003-08-08  castaglia <castaglia>

	* include/netaddr.h: Complete the description of
	pr_netaddr_fnmatch().

2003-08-07  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#2130 - %y in DisplayLogin is not
	updated correctly.  The problem was that the auth_scan_scoreboard()
	function, which scanned the scoreboard and tallied up the variables
	used when filling in %y/%N, was only being called if the
	DisplayConnect directive was used.  Instead, auth_scan_scoreboard()
	should always be called, to handle any of the Display* directives.

2003-08-07  castaglia <castaglia>

	* src/netaddr.c: Added implementation of pr_netaddr_fnmatch().

2003-08-07  castaglia <castaglia>

	* include/netaddr.h, src/netaddr.c: Added implementation (untested)
	of pr_netaddr_ncmp().  Changed the pr_netaddr*() routines to return
	  EACCES if for some reason the netaddrs on which they operate do not
	  have a recognizable family (AF_INET or AF_INET6).

2003-08-07  castaglia <castaglia>

	* include/netaddr.h, src/bindings.c, src/netaddr.c: Added a
	pr_netaddr_get_inaddr_len(), to provide sizes of struct in{6}_addr,
	matching the pr_netaddr_get_sockaddr_len() function.  Added a stub for pr_netaddr_fnmatch(), to be implemented soon.

2003-08-07  castaglia <castaglia>

	* include/netaddr.h, src/inet.c, src/netaddr.c: Changed
	pr_netaddr_get_addrlen() to pr_netaddr_get_sockaddr_len(), to more
	clearly reflect the length returned.  Added stub for pr_netaddr_ncmp(), to be implemented shortly.

2003-08-07  castaglia <castaglia>

	* README.IPv6: Clarifying that IPv6 sockets handling IPv4 packets
	only occurs when it is an wildcard IPv6 socket.

2003-08-07  castaglia <castaglia>

	* NEWS: Mention the --enable-ipv6 configure option.

2003-08-07  castaglia <castaglia>

	* include/netaddr.h: Adding descriptions of the netaddr API
	functions.

2003-08-06  castaglia <castaglia>

	* include/inet.h: Add some comments about the handling of
	get{addr,name}info symbols.  I'm not quite sure I have all the
	preprocessor logic for these symbols done correctly yet.

2003-08-06  castaglia <castaglia>

	* src/netaddr.c: Typos.

2003-08-06  castaglia <castaglia>

	* configure: Updating configure.

2003-08-06  castaglia <castaglia>

	* ChangeLog, Make.rules.in, NEWS, README.IPv6, config.h.in,
	configure.in, contrib/mod_ifsession.c, contrib/mod_radius.c,
	contrib/mod_ratio.c, contrib/mod_rewrite.c, contrib/mod_sql.c,
	contrib/mod_tls.c, include/bindings.h, include/conf.h,
	include/dirtree.h, include/ftp.h, include/inet.h, include/log.h,
	include/netaddr.h, include/proftpd.h, modules/mod_auth.c,
	modules/mod_core.c, modules/mod_log.c, src/bindings.c, src/data.c,
	src/dirtree.c, src/ident.c, src/inet.c, src/log.c, src/main.c,
	src/netaddr.c, src/scoreboard.c, utils/misc.c: Bug#1711 - IPv6
	support.  Let the IPv6 fun begin.

2003-08-06  castaglia <castaglia>

	* modules/mod_auth_file.c: Fix code in case where fgetgrent(3) is
	not present on the system.

2003-08-02  castaglia <castaglia>

	* contrib/mod_sql_mysql.c: MySQL-4.1.0 changed the signature for the
	make_scrambled_password() function, so we handle it by checking the
	MySQL version.  This commit also includes some style changes.

2003-08-01  castaglia <castaglia>

	* modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c,
	src/data.c, src/dirtree.c, src/main.c, src/pool.c, src/support.c: 
	Style.

2003-08-01  castaglia <castaglia>

	* contrib/mod_radius.c, contrib/mod_rewrite.c, modules/mod_auth.c,
	modules/mod_auth_file.c, src/netio.c: Adding signal handling in
	while() loops.

2003-07-30  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#2118 - %F doesn't work for DELE
	command; %f is inconsistent.  This is exactly the reason why we
	really need a unified cookie/variable handling interface.  Too much
	code duplicated around in modules leads to out-of-sync code bugs
	like this.

2003-07-30  castaglia <castaglia>

	* contrib/mod_tls.c: Removing unused code.

2003-07-30  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Close files that have been fopen()'d
	always, not just when conditions mean that no errors are
	encountered.

2003-07-29  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2119 - FEAT response format does not
	conform to RFC2389.

2003-07-29  castaglia <castaglia>

	* doc/rfc/rfc2228.txt, doc/rfc/rfc2389.txt, doc/rfc/rfc2428.txt: 
	Style.

2003-07-28  castaglia <castaglia>

	* NEWS: Mention fix of mod_tls directives.

2003-07-28  castaglia <castaglia>

	* contrib/mod_tls.c: TLSCACertificateFile and TLSCACertificatePath
	are documented to be allowed in all server contexts, not just
	"server config"; the code was wrong.

2003-07-25  castaglia <castaglia>

	* sample-configurations/anonymous.conf,
	sample-configurations/complex-virtual.conf,
	sample-configurations/mod_sql.conf,
	sample-configurations/virtual.conf: Style.

2003-07-25  jwm <jwm>

	* include/pr-syslog.h: silence warning

2003-07-24  castaglia <castaglia>

	* Makefile.in, NEWS: Bug#2115 - ftptop depends on snprintf but
	doesn't link in lib/libsupp.a

2003-07-24  castaglia <castaglia>

	* doc/rfc/rfc2428.txt: IPv6 support _is_ going to be added Real Soon
	Now(tm), so we might as well as the relevant RFC.

2003-07-21  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#2113 - mod_sql default uses mysql
	keyword.

2003-07-18  castaglia <castaglia>

	* include/proftpd.h, src/main.c: Add two new members to the session
	struct: curr_cmd and curr_phase.  These are for storing pointers to
	the current FTP command name and current command handler phase,
	respectively.  They are useful for places like the FSIO API, where
	callbacks may want to take conditional action depending on the FTP
	command/phase at the time.

2003-07-16  castaglia <castaglia>

	* NEWS, include/dirtree.h, src/dirtree.c, src/main.c: Bug#2110 -
	Segfault if gethostname(2) returns NULL.  When code was added to
	simply remove a server_rec whose name could not be resolved from the
	list, rather than halting the process there (which allows a more
	Apache-like handling of badly configured vhosts by logging/skipping,
	rather than choking), an edge case became possible where, after
	looping through all the server_recs, _none_ remained in the list.
	This case was not being handled, and lead to a segfault later in the
	processing.  This patch checks for the case where no valid
	server_recs remain in the list.

2003-07-16  castaglia <castaglia>

	* contrib/mod_sql_mysql.c: Spacing nit.

2003-07-15  castaglia <castaglia>

	* modules/mod_xfer.c: Cruft.

2003-07-11  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#2103 - AuthAliasOnly in server
	context causes hang.

2003-07-10  jwm <jwm>

	* contrib/mod_ldap.c: release 2.8.12

2003-07-07  castaglia <castaglia>

	* contrib/mod_sql_mysql.c: Typo.

2003-07-07  castaglia <castaglia>

	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Updating
	module names in comments.

2003-07-07  castaglia <castaglia>

	* NEWS: Correcting handling of mod_tls TLSCertificateChainFile
	directive.

2003-07-07  castaglia <castaglia>

	* contrib/mod_tls.c: Change the semantics of TLSCertificateChainFile
	slightly.  Now, this directive can be used to explicitly configure
	the chain of certs given to a peer during the TLS handshake.  Any
	server certs, configured using either CertificateFile or
	CertificatePath, are added to the list of CAs allowed for clients,
	but not for servers.

2003-07-07  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#2100 - Invalid domain in
	<VirtualHost> tag causes segmentation fault.

2003-07-03  castaglia <castaglia>

	* sample-configurations/anonymous.conf,
	sample-configurations/complex-virtual.conf: Don't forget the
	X-variants of FTP commands in <Limit> examples.

2003-06-28  castaglia <castaglia>

	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Add comments
	about provide proper escapestring implementations.  Failure to do so
	allows SQL injection.

2003-06-27  castaglia <castaglia>

	* modules/mod_core.c: Be a little more verbose about the exact error
	cause of log_opensyslog() fails.

2003-06-27  castaglia <castaglia>

	* lib/pr-syslog.c: Fix some inadvertently inverted #ifdefs.

2003-06-24  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c, include/conf.h: Bug#2090 -
	mod_rewrite doesn't compile on Solaris 8.

2003-06-23  castaglia <castaglia>

	* contrib/mod_radius.c: Use USHRT_MAX rather than 65535 (and fix a
	typo).

2003-06-17  castaglia <castaglia>

	* contrib/mod_sql_postgres.c: Removing POSTGRES_NO_ESCAPESTRING
	#define from mod_sql_postgres.  See Bug#2087.

2003-06-17  castaglia <castaglia>

	* configure: Updating configure.

2003-06-17  castaglia <castaglia>

	* config.h.in, configure.in, include/conf.h: Configure detection/use
	for <netinet/in_systm.h> header; this fixes compile errors on BSD
	platforms.  Patch contributed by Daniel Svensson.

2003-06-16  castaglia <castaglia>

	* NEWS, src/dirtree.c, src/sets.c: Bug#2088: proftpd -t segfault.
	The functional change of this patch is using parent_pool, rather
	than c_pool, in start_sub_config() when allocating a new xaset *.
	The rest of the patch is style cleanup.

2003-06-12  castaglia <castaglia>

	* contrib/mod_tls.c: Better handling of too long certificate
	verification chains.

2003-06-12  castaglia <castaglia>

	* src/inet.c, src/modules.c: Missing $Id$ keyword.

2003-06-11  castaglia <castaglia>

	* src/ident.c: Match debug levels with what's in main.c for ident
	lookups.

2003-06-11  castaglia <castaglia>

	* src/ident.c, src/main.c: Add some debugging routines to the ident
	lookups.

2003-06-11  castaglia <castaglia>

	* config.h.in: Missing entry for <netinet/ip.h> header file, checked
	by configure.

2003-06-10  castaglia <castaglia>

	* contrib/mod_tls.c: Need to be consistent about names of variables
	used.

2003-06-10  castaglia <castaglia>

	* contrib/mod_tls.c: Better handling of possible errors when loading
	certs from a CertificateChainFile.

2003-06-10  castaglia <castaglia>

	* contrib/mod_tls.c: Fixed typo that prevent TLSCertificateChainFile
	from working properly.

2003-06-09  castaglia <castaglia>

	* NEWS, modules/mod_auth_file.c: Bug#2083 - "550 Access denied" on
	group permission with AuthGroupFile.

2003-06-06  castaglia <castaglia>

	* src/main.c: Add debug output (level 6) for use/nonuse of RFC1413
	lookups.

2003-06-05  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_core.c: Match variable data types.

2003-06-05  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Some inappropriate/ill-timed Class
	functionality check was preventing %N/%y from being properly counted
	for DisplayConnect files.

2003-06-04  castaglia <castaglia>

	* include/options.h: Increase default PR_TUNABLE_LOGIN_MAX size (and
	don't use _POSIX_LOGIN_NAME_MAX, even if it is defined).  Should fix
	Bug#2079.

2003-06-04  castaglia <castaglia>

	* configure: Updating configure.

2003-06-04  castaglia <castaglia>

	* config.h.in, configure.in: Add autoconf checks for mlock(2),
	mlockall(2), munlock(2), and munlockall(2).

2003-06-04  castaglia <castaglia>

	* src/inet.c: Typo in inet_setnonblock() (Bug#2077).

2003-06-03  castaglia <castaglia>

	* modules/mod_log.c, src/log.c, src/main.c: Changing variable names
	to avoid pedantic compiler warnings emitted by gcc-3.3.

2003-06-03  castaglia <castaglia>

	* NEWS, include/conf.h, include/fsio.h, include/options.h,
	include/proftpd.h, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_ls.c, modules/mod_xfer.c, src/dirtree.c, src/fsio.c,
	src/log.c, src/netio.c, src/response.c, src/scoreboard.c,
	src/support.c, utils/scoreboard.c, utils/utils.h: Bug#2069: Long MKD
	path causes truncated server response.

2003-06-03  castaglia <castaglia>

	* src/fsio.c: Change related to Bug#2043: files always need to be
	opened using the O_BINARY flag on Cygwin, not just for ASCII
	transfers.

2003-06-03  castaglia <castaglia>

	* configure: Updating configure.

2003-06-03  castaglia <castaglia>

	* NEWS, config.h.in, configure.in: Bug#2076 - The
	--enable-transfer-buffer-size configure option doesn't work
	properly.

2003-06-02  castaglia <castaglia>

	* NEWS, src/fsio.c: Bug#2075 - ls / fails under Cygwin.

2003-06-02  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2074: MaxStoreFileSize restriction
	capabilities ignored.  The find_maxnbytes() function in
	modules/mod_xfer.c was not checking the argc of the configured
	config_recs properly, and so was ignoring any configured classifiers
	on Max{Retrieve,Store}FileSize directives.  This also fixes the
	handling of a single "*" configuration parameter, which is
	documented as being allowed.

2003-05-31  castaglia <castaglia>

	* contrib/mod_rewrite.c: Changed referenced to deprecated
	make_named_sub_pool() to make_sub_pool().

2003-05-31  castaglia <castaglia>

	* contrib/mod_sql.c, modules/mod_log.c: Adding new LogFormat
	variable, %J (and mod_sql support for it).  This variable expands to
	the arguments given in an FTP command.  Currently, there is %m for
	just the command, %r for the full command (command + arguments), but
	nothing for just the arguments.  Hence the need for a new variable.

2003-05-31  castaglia <castaglia>

	* modules/mod_core.c: Changed handling of RNTO slightly.  It would
	clear session.xfer.p at the end of the CMD phase.  Unfortunately,
	this meant that for ExtendedLog/SQLLog, which might want to use %f
	for RNTO, the path allocated from that pool would be gone.  Now, a
	LOG_CMD/LOG_CMD_ERR handler for RNTO does the clearing of
	session.xfer.p for RNTO, thus letting mod_log/mod_sql have a chance
	to do their stuff.

2003-05-29  castaglia <castaglia>

	* README.cygwin: Adding note to Cygwin README to use Cygwin 1.3.22
	or later, in order to prevent/quell ENOTSOCK errors (Bug#2064).

2003-05-29  castaglia <castaglia>

	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Add some
	sanity checks to the backend init handlers. (Note: this actually
	makes a difference for a different module I'm working on, but the
	logic is still worthwhile for the existing code.)

2003-05-28  jwm <jwm>

	* contrib/dist/rpm/proftpd.spec: build fixup from Ivan Martinez
	<ivanfm@os2brasil.com.br>

2003-05-28  castaglia <castaglia>

	* Makefile.in: Add an 'all' dependency to the install target, to
	catch those unsuspecting admins that might skip the 'make' and go
	straight for the 'make install'.

2003-05-27  castaglia <castaglia>

	* lib/pr-syslog.c: UnixWare 7.1 seems to have STREAMS support for
	/dev/log, similar to Solaris and IRIX.  It's not quite the same,
	though.  Patch contributed by Olivier PRENANT.

2003-05-27  jwm <jwm>

	* contrib/dist/rpm/proftpd.spec: logrotate script should be
	config(noreplace)

2003-05-27  jwm <jwm>

	* contrib/dist/rpm/proftpd.spec: Apparently RPM doesn't like
	user-defined options with dashes in them (--with-module -> --with)

2003-05-26  castaglia <castaglia>

	* src/data.c: Style/spacing.

2003-05-26  jwm <jwm>

	* NEWS: I really should pay attention to what I'm doing when I
	resolve conflicts...

2003-05-26  jwm <jwm>

	* NEWS: Bug 1804 - Permit selection of additional contrib modules
	when building the RPM

2003-05-26  jwm <jwm>

	* contrib/dist/rpm/proftpd.spec: change the flag name

2003-05-26  jwm <jwm>

	* contrib/dist/rpm/proftpd.spec: Bug 1804 - RPM spec file
	improvements

2003-05-23  castaglia <castaglia>

	* src/log.c: Make the error about logging to world-writeable
	directories a little more prominent.

2003-05-22  castaglia <castaglia>

	* NEWS, src/fsio.c: Bug#2043 - Proftpd converts LF to CRLF on PUT
	(Cygwin)

2003-05-22  castaglia <castaglia>

	* modules/mod_xfer.c: Fix missing case for .ftpaccess files bearing
	Max{Retrieve,Store}FileSize directives.

2003-05-20  castaglia <castaglia>

	* contrib/mod_sql.c: Correcting thinko in mod_sql that affected
	proper lookup of shell values.  Minor log message correction.

2003-05-19  castaglia <castaglia>

	* modules/mod_xfer.c: Make sure that for the TransferRate, when
	updating the scoreboard, the actual number of bytes sent (not
	adjusted for free bytes) is used.

2003-05-19  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2051 - freebytes in TransferRate
	does not work properly.

2003-05-16  castaglia <castaglia>

	* include/version.h: Bumping the version for CVS.

2003-05-16  castaglia <castaglia>

	* ChangeLog: Updating ChangeLog.

2003-05-16  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
	for 1.2.9rc1 release.

2003-05-15  castaglia <castaglia>

	* lib/libcap/Makefile, lib/libcap/cap_alloc.c,
	lib/libcap/cap_text.c, lib/libcap/include/sys/capability.h,
	lib/libcap/libcap.h, modules/mod_cap.c: Bug#2000 - mod_cap should
	not use bundled libcap.  This patch updates the bundled libcap; I
	won't be closing the bug report just yet.

2003-05-14  castaglia <castaglia>

	* modules/mod_xfer.c: We don't want to call regerror(3) when
	regexec(3) matches -- we want to call regerror() when it _doesn't_
	match.  Seeing "Success" in the debugging output is not very useful.

2003-05-14  castaglia <castaglia>

	* NEWS: Wrong bug report number.

2003-05-14  castaglia <castaglia>

	* NEWS, include/dirtree.h, modules/mod_auth.c, modules/mod_core.c,
	src/dirtree.c: Bug#1977 - Add %u variable support in configuration
	file.

2003-05-14  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c: Bug#2031 - Add support for flags for
	RewriteCondition, RewriteRule (a la Apache's mod_rewrite)

2003-05-14  castaglia <castaglia>

	* NEWS, src/dirtree.c, src/fsio.c: Bug#2047 - 1024 or more chars in
	.ftpaccess causes lockup.

2003-05-12  castaglia <castaglia>

	* lib/pr-syslog.c: Fix logic.

2003-05-12  castaglia <castaglia>

	* lib/pr-syslog.c: Add an Id tag.

2003-05-09  jwm <jwm>

	* lib/pr-syslog.c: centralize STREAMS defines

2003-05-09  castaglia <castaglia>

	* configure: Updating.

2003-05-09  castaglia <castaglia>

	* configure.in: Minor wording correction/change.

2003-05-08  castaglia <castaglia>

	* configure: Updating configure.

2003-05-08  castaglia <castaglia>

	* configure.in: Cygwin installation patch (contributed by Jason
	Tishler <jason@tishler.net>).

2003-05-02  castaglia <castaglia>

	* README.cygwin: Add note about Cygwin's lack of largefile support
	(sizeof(off_t) is only 4, rather than 8, on Cygwin).

2003-05-02  castaglia <castaglia>

	* configure: Updating configure.

2003-05-02  castaglia <castaglia>

	* config.h.in, configure.in, include/conf.h: Adjusting the check for
	%llu support a little: we only want to use %llu if a) printf(3)
	supports it _and b) the size of off_t (hopefully defined to be an
	unsigned long long) is 8 bytes.  Otherwise, use %lu.

2003-04-30  castaglia <castaglia>

	* include/dirtree.h, include/support.h, modules/mod_auth.c,
	modules/mod_auth_unix.c, src/dirtree.c, src/support.c: Moving the
	handling of authentication for Cygwin from mod_auth to
	mod_auth_unix.

2003-04-30  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_core.c: get_param_ptr() lookup
	logic thinkos.

2003-04-30  castaglia <castaglia>

	* contrib/mod_rewrite.c: More explicit handling of RewriteEngine
	lookup.

2003-04-30  castaglia <castaglia>

	* modules/mod_auth_file.c: Style/placement.

2003-04-30  castaglia <castaglia>

	* NEWS, modules/mod_auth_file.c: Bug#2032 - AuthOrder not working
	when first option is mod_auth_file.c.

2003-04-30  castaglia <castaglia>

	* configure: Updating.

2003-04-30  castaglia <castaglia>

	* config.h.in, configure.in, include/conf.h: Try to determine
	whether %llu or %lu should be used in the configure script by
	actually testing use of printf(3), rather than relying on
	_FILE_OFFSET_BITS (which some platforms don't use) or
	SIZEOF_OFFSET_T (which doesn't convey the host printf()'s ability to
	support %llu).

2003-04-30  castaglia <castaglia>

	* contrib/mod_tls.c: Forgot to decrement the reference count to the
	peer cert properly.

2003-04-30  castaglia <castaglia>

	* modules/mod_xfer.c: Fix some cases where a filehandle was not
	being closed properly, or the wrong filehandle was being closed.  In
	all honesty, I think this patch may be a bit paranoid, as these
	cases are probably caught by xfer_err_cleanup().  Still, at least
	the code will be more consistent (and less confusing if you don't
	know where to look) with these changes.

2003-04-29  castaglia <castaglia>

	* NEWS: Oops...wrong credit. =/

2003-04-29  castaglia <castaglia>

	* NEWS: Add credit for AllowForeignAddress fix.

2003-04-29  castaglia <castaglia>

	* modules/mod_core.c, src/inet.c: Transition to using
	get_param_ptr() instead of get_param_int() resulted in bad logic
	when handling AllowForeignAddress.

2003-04-26  jwm <jwm>

	* src/.cvsignore, utils/.cvsignore: ignore autogenerated man pages

2003-04-25  castaglia <castaglia>

	* NEWS, README.cygwin, include/privs.h, modules/mod_auth.c,
	src/main.c: Cygwin portability fixes: on Cygwin, the root UID/GID is
	not 0/0, but 18/544:   http://cygwin.com/ml/cygwin/2003-04/msg01918.html Also updating the Cygwin README with feedback from Jason Tishler
	<jason at tishler.net>.

2003-04-25  castaglia <castaglia>

	* NEWS, include/bindings.h, src/bindings.c, src/main.c: Fixed minor
	fd leak/messiness where listening fds were not being properly closed
	in a session process, when the session is first starting.  Michael
	noticed symptoms of this manifesting as a problem handling HUPs.  (I
	can't believe this behavior has gone on for so long in the code with
	no one noticing...oh well).

2003-04-24  castaglia <castaglia>

	* contrib/mod_rewrite.c: Fixing bug where a RewriteRule with no
	conditions was not being executed properly.

2003-04-24  castaglia <castaglia>

	* INSTALL, README.modules: Module name changes.

2003-04-24  castaglia <castaglia>

	* README.modules: Updating the module list.

2003-04-23  castaglia <castaglia>

	* contrib/mod_rewrite.c: Pedantic change -- bad grammar in variable
	name.

2003-04-23  castaglia <castaglia>

	* configure: Updating.

2003-04-23  castaglia <castaglia>

	* configure.in, include/privs.h, modules/mod_auth.c,
	modules/mod_cap.c, modules/mod_core.c, src/auth.c, src/main.c: 
	Adding more stuff to the --enable-devel option: first, the ability
	to generate core dumps (thank you, Michael!) Second, the ability to
	specify developer options in the configure --enable-devel parameter,
	rather than using CFLAGS.  For example, rather than doing:   CFLAGS="-DPR_DEVEL_NO_FORK -DPR_DEVEL_COREDUMP" ./configure
	  --enable-devel ...  you can now do:   ./configure --enable-devel=nofork:coredump ...  At present, only three developer options are supported: nodaemon,
	nofork, and coredump.

2003-04-23  castaglia <castaglia>

	* src/pool.c: Sanity checking.

2003-04-23  castaglia <castaglia>

	* lib/glibc-glob.c: Fixing compiler warning.

2003-04-23  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c: Bug#2029 - Rewrite rule may execute
	more than once if multiple rewrite conditions exist.

2003-04-22  castaglia <castaglia>

	* NEWS: Bug#2003 - mod_auth.c does not compile for cygwin on W2K.

2003-04-22  castaglia <castaglia>

	* modules/mod_auth.c: Slight modification of Cygwin stuff, as per
	Bug#2003.  Cygwin doesn't/shouldn't use the normal proftpd auth
	handlers for checking passwords (it's done by Cygwin's
	cygwin_logon_user() function).

2003-04-22  castaglia <castaglia>

	* include/proftpd.h, lib/pr_fnmatch_loop.c, modules/mod_auth.c,
	modules/mod_auth_unix.c: Bug#2003 - mod_auth.c does not compile for
	cygwin on W2K.  There may be more work needed on this bug, but this
	patch at least compiles correctly.

2003-04-18  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#1532 - [patch] Human readable disk
	free.

2003-04-17  castaglia <castaglia>

	* src/inet.c: Cruft removal.

2003-04-16  castaglia <castaglia>

	* src/fsio.c: Add Solaris 2.5.1 to the list of Solaris versions that
	use struct statvfs for its statvfs(2) call.

2003-04-16  castaglia <castaglia>

	* src/fsio.c: Typo.

2003-04-16  castaglia <castaglia>

	* configure: Updating configure script.

2003-04-16  castaglia <castaglia>

	* configure.in: Tweaking the configure.in file to fix some things
	that cause trouble on Tru64 Unix (and probably other picky
	platforms).

2003-04-16  castaglia <castaglia>

	* src/fsio.c: Reworking the #ifdefs around statvfs a little; now, if
	we're a Solaris 2.6 or 2.7 box, we'll use struct statvfs, otherwise,
	statvfs_t.  We'll deal with those poor souls still using 2.5.1 or
	older later.  (Thanks for the info about statvfs64 on Solaris 2.7,
	Noah).

2003-04-16  castaglia <castaglia>

	* src/fsio.c: Silencing compiler warnings about statvfs64(2) on
	LFS-enabled Solaris.

2003-04-15  castaglia <castaglia>

	* modules/mod_core.c: "HideFiles none" config_recs did not contain
	the proper CF_MERGEDOWN_MULTI flag, unlike their regex-bearing
	config_rec siblings.

2003-04-15  castaglia <castaglia>

	* NEWS, src/main.c: Bug#2021 - Inetd mode and scoreboard format
	changes.  Now, if ServerType is inetd and the server encounters a
	scoreboard version mismatch on startup, the old scoreboard file will
	be unlinked and a new blank one written.

2003-04-15  castaglia <castaglia>

	* NEWS, modules/mod_auth.c, modules/mod_core.c: Added RootRevoke
	configuration directive.

2003-04-15  castaglia <castaglia>

	* src/modules.c: Minor adjustment, to make sure that PRE_CMD,
	POST_CMD et al are not inadvertently forgotten.

2003-04-14  castaglia <castaglia>

	* src/modules.c: HOOK commands need to be properly inserted into the
	stash if they are to be later looked up.

2003-04-14  castaglia <castaglia>

	* modules/mod_xfer.c: Michael found a bug where the REST position
	was not properly being cleared between uploads/downloads.

2003-04-09  castaglia <castaglia>

	* src/inet.c: Typo.

2003-04-09  castaglia <castaglia>

	* src/inet.c: IRIX doesn't need this ioctl(2) call, it seems.

2003-04-09  castaglia <castaglia>

	* NEWS, modules/mod_core.c, modules/mod_site.c, modules/mod_xfer.c: 
	Bug#2002 - Per-<Directory> PathAllowFilter/PathDenyFilter.

2003-04-08  castaglia <castaglia>

	* contrib/mod_ifsession.c: Fixing bug with mod_ifsession's
	searching/handling of multiple <If*> contexts.

2003-04-08  castaglia <castaglia>

	* configure: Updating configure.

2003-04-08  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, include/data.h, src/data.c: 
	Bug#1813 - configure code: mistake in BSD sendfile semantic
	detection. The autoconf test for Linux simply needed to #include
	<sys/sendfile.h>.  Bug#2019 - proftpd support for Solaris 8/9 native sendfile.  A
	native Solaris sendfile() implementation became available via patch
	for Solaris 8, and is included by default in Solaris 9.  I don't
	know how stable or esoteric the implementation is, so this may have
	bugs lurking.

2003-04-08  castaglia <castaglia>

	* modules/mod_ls.c: Fix segfault in NLST.

2003-04-07  castaglia <castaglia>

	* src/main.c: Minor buglet: actually honor RLIM_INFINITY if
	USE_DEVEL is defined when setting the RLIMIT_CORE rlimit.

2003-04-07  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#2018: Incorrect caching of
	TransferRate values.

2003-04-04  castaglia <castaglia>

	* lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: Quell some compiler
	warnings when --enable-devel flags are used.

2003-04-04  castaglia <castaglia>

	* configure: Updating.

2003-04-04  castaglia <castaglia>

	* configure.in: Oops...forgot an important part. =P

2003-04-04  castaglia <castaglia>

	* configure: Updating.

2003-04-04  castaglia <castaglia>

	* NEWS, configure.in, src/proftpd.8.in, src/xferlog.5.in,
	utils/ftpcount.1.in, utils/ftpshut.8.in, utils/ftptop.1.in,
	utils/ftpwho.1.in: Bug#2016 - man pages should be autogenerated to
	reflect the --prefix used.  The man pages are now generated by the
	configure script.

2003-04-03  castaglia <castaglia>

	* modules/mod_core.c: Scrub the scoreboard during a rehash (SIGHUP),
	too.

2003-04-03  castaglia <castaglia>

	* configure: Updating configure script for curses/ncurses library
	detection changes.

2003-04-03  castaglia <castaglia>

	* configure.in: Bug#2009: ncurses/ftptop linker problem on Solaris.
	The system in question has curses.h, libcurses, and libncurses.  The
	configure script used libncurses when linking ftptop (as ncurses is
	preferred if we can get it) without checking to see if ncurses.h was
	present.  Now, the library is checked only if the corresponding
	header is present.

2003-04-03  castaglia <castaglia>

	* configure: Updating configure script.

2003-04-03  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, utils/ftptop.c: Added new
	--disable-{curses,ncurses} configure options.

2003-04-02  castaglia <castaglia>

	* README.PAM: Updating Linux PAM configuration examples.

2003-04-02  castaglia <castaglia>

	* NEWS, src/main.c: Bug#2011 - No "FTP session closed." msgs written
	to logfile.  The check for when to write the message ("!is_master")
	only checks if the current process is a child process, not an
	existing daemon process.  This works well for standalone daemons,
	but not inetd-run daemons, which have no "master" process.  The fix,
	then, is to log the message if either !is_master or if the
	servertype is inetd.

2003-04-01  castaglia <castaglia>

	* include/modules.h, src/modules.c: Removing crufty auth_priority
	variable.

2003-04-01  castaglia <castaglia>

	* contrib/mod_sql.c: Pedantic orthography correction.

2003-04-01  castaglia <castaglia>

	* contrib/mod_sql.c: Add typecasting, to quell compiler warnings.

2003-04-01  castaglia <castaglia>

	* modules/mod_core.c: This module needs to include signal.h, so that
	it picks up the prototype for kill(2).

2003-03-29  castaglia <castaglia>

	* src/scoreboard.c: Be a little more careful about interrupted
	system calls.  In some cases, we wrap the system calls in while()
	loops, handling EINTRs.  In others, we simply block all signals that
	might interrupt the system call.  Also, lock the scoreboard when
	writing a new header for it (this was not being done).

2003-03-29  castaglia <castaglia>

	* modules/mod_auth.c: Remove spurious logged complaints about the
	scoreboard, causing by logging on any return value from
	pr_open_scoreboard(), not just the error return values.  Oops.

2003-03-29  castaglia <castaglia>

	* modules/mod_ls.c: Prevent a segfault in some situations by making
	sure the pointer exists before dereferencing it.

2003-03-29  castaglia <castaglia>

	* src/fsio.c: Be a little more accurate when reporting the name of
	the FS whose callback is being invoked.

2003-03-28  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#1998 - Add ListOptions for setting
	limits on -R listings.

2003-03-28  castaglia <castaglia>

	* src/main.c: Every command needs to have its logging class, unless
	otherwise explicitly set, default to CL_ALL.

2003-03-28  castaglia <castaglia>

	* contrib/ftpasswd: Make explicit the fact that --group --member
	parameters are user names.

2003-03-26  castaglia <castaglia>

	* src/mkhome.c: Quell compiler warnings on Solaris by explicitly
	casting mode_t to an unsigned int.

2003-03-25  cyberrobo <cyberrobo>

	* modules/mod_ls.c: small typo

2003-03-25  castaglia <castaglia>

	* NEWS, src/inet.c: Bug#1997 - UnixWare 7.1.3 & port 20.

2003-03-24  castaglia <castaglia>

	* src/inet.c: Typo.

2003-03-24  castaglia <castaglia>

	* src/inet.c: More setsockopt(2) fun: *BSD want IPPROTO_IP for
	setting IP_TOS options, Linux wants SOL_IP.

2003-03-24  castaglia <castaglia>

	* modules/mod_auth.c, src/main.c, src/scoreboard.c,
	utils/ftpcount.c, utils/ftptop.c: Fixing the messages reported when
	opening the scoreboard (and making all such messages consistent).  Note: we'll need to document, probably in the release announcement,
	when the scoreboard format (include/scoreboard.h's
	PR_SCOREBOARD_VERSION) is increment.  For standalone-run daemons,
	there is no problem; for inetd-run daemons, though, the old
	scoreboard file will need to be deleted before the new daemon is
	started, else the new daemon will complain of the scoreboard being
	too old.  (I think this is what we are seeing now with people
	upgrading from 1.2.7 to 1.2.8; it's the first time in who knows how
	long that the scoreboard version number was increment.)

2003-03-24  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#1935 - mod_ls memory leak.

2003-03-24  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Fixing mod_tls' use of SSL_shutdown() to
	properly shutdown an SSL session when talking to some clients that
	don't want to shutdown properly.

2003-03-23  castaglia <castaglia>

	* src/netio.c: A shutdown() is not a close(); shutdown should not be
	freeing the netio stream's pool.

2003-03-23  castaglia <castaglia>

	* contrib/mod_sql.c: More error checking when a custom SQLUserInfo
	query is used.

2003-03-22  castaglia <castaglia>

	* utils/utils.h: Cruft.

2003-03-22  castaglia <castaglia>

	* configure: Updating.

2003-03-22  castaglia <castaglia>

	* configure.in: For now, require that --enable-ipv6 be used at
	configure time.  Once IPv6 support has had all its bugs worked out,
	then we can make IPv6 support the default.

2003-03-22  castaglia <castaglia>

	* configure: Updating.

2003-03-22  castaglia <castaglia>

	* config.h.in, configure.in, modules/mod_auth_unix.c: Change
	AUTO_SHADOW to be USE_AUTO_SHADOW, to be more consistent.  Add a --disable-ipv6 configure option, and a corresponding USE_IPV6
	define.  Add check for getnameinfo(3) function.

2003-03-22  castaglia <castaglia>

	* configure: Updating.

2003-03-22  castaglia <castaglia>

	* aclocal.m4, config.h.in, configure.in: Check for a defined struct
	sockaddr_storage.  I don't know if this is really necessary, or if
	we can assume that all platforms will define this struct.  I think
	it better to have the check, just in case.

2003-03-22  castaglia <castaglia>

	* contrib/mod_sql.c: Check the number of fields in the returned set
	of a SQLUserInfo query.  Hopefully this will quell some
	mod_sql/shell-related segfaults.

2003-03-21  castaglia <castaglia>

	* NEWS: Should mention mod_radius changes here.

2003-03-21  castaglia <castaglia>

	* contrib/mod_radius.c: Changing way mod_radius looks up custom
	attributes in response packets; now, rather than using RADIUS
	attribute type IDs, mod_radius will use VSA IDs.  The new
	RadiusVendor directive is used to configure the vendor for which
	mod_radius will search.  The new RadiusGroupInfo complements the
	existing RadiusUserInfo directive; as expected, RadiusGroupInfo is
	used to configure RADIUS user group membership information.

2003-03-21  castaglia <castaglia>

	* src/scoreboard.c: Report the scoreboard path anyway.

2003-03-21  castaglia <castaglia>

	* src/scoreboard.c: Add debug logging of the path used if opening
	the scoreboard file fails.

2003-03-21  castaglia <castaglia>

	* src/fsio.c, src/main.c: Making the checking of the configuration
	file path actually work.  Getting rid of #PR_HACK_DISABLE_MEM_VHOST_FREE, and commenting out
	the freeing code completely.  Copy-on-write semantics means that
	that freeing of memory, which would not be used or changed anyway,
	probably adds load unnecessarily.  I doubt anyone will miss that
	code.

2003-03-20  castaglia <castaglia>

	* contrib/mod_sql.c, contrib/mod_sql.h, contrib/mod_sql_mysql.c,
	contrib/mod_sql_postgres.c: Added the ability to construct custom
	user information queries with mod_sql.  The mod_sql docs will be
	updated accordingly.  Various style cleanups included in this patch.

2003-03-20  castaglia <castaglia>

	* NEWS: Typo.

2003-03-20  castaglia <castaglia>

	* src/fsio.c: Minor correction of bug introduced by last night's
	pr_fs_valid_path() addition (forgot to handle case where no modules
	registered an FS).

2003-03-20  castaglia <castaglia>

	* NEWS, utils/ftptop.c: Bug#1995 - ftptop: no curses or ncurses
	library on this system.

2003-03-20  castaglia <castaglia>

	* contrib/mod_sql_mysql.c: One minor cast needed to compile/link
	without warnings against MySQL-4.0 client libraries.

2003-03-20  castaglia <castaglia>

	* include/fsio.h, modules/mod_core.c, src/fsio.c, src/main.c: 
	Modifying the checking of configuration paths slightly.  Rather than
	now only accepting absolute paths (criterion: string begins with
	'/'), paths that start with any of the paths registered with the
	FSIO layer will be accepted.  This allows FSIO modules to register
	handlers for paths that may not necessarily be local filesystem
	paths (e.g. "sql://" paths).  This change affects the paths accepted
	by the Include configuration directive as well.

2003-03-19  castaglia <castaglia>

	* configure: Updating.

2003-03-19  castaglia <castaglia>

	* aclocal.m4, config.h.in, configure.in: More IPv6-related autoconf
	detection.

2003-03-19  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Patching mod_tls to use RSA blinding in
	installations of OpenSSL older than 0.9.7b, in order to prevent
	  certain RSA-based timing attacks:
	http://www.openssl.org/news/secadv_20030317.txt

2003-03-19  castaglia <castaglia>

	* modules/mod_auth.c: Another off-by-one bug, this time afflicting
	MaxClientsPerUser.

2003-03-18  castaglia <castaglia>

	* src/inet.c: Portability fun with socket options. =P

2003-03-18  castaglia <castaglia>

	* configure: Updating.

2003-03-18  castaglia <castaglia>

	* config.h.in, configure.in: Start autoconf checks for some
	functions we'll need for IPv6 support.

2003-03-18  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c: Bug#1987 - mod_rewrite seems not to
	handle more than one backreference (only $1).

2003-03-18  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c: Bug#1986 - mod_rewrite backreferences
	not zero-based (use $1 not $0?).

2003-03-17  castaglia <castaglia>

	* src/data.c: Trying to make sure that an interrupted sendfile(2) on
	Linux has its signals handled properly.

2003-03-17  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#1989 - SQLLog '*' doesn't match any
	commands.

2003-03-17  castaglia <castaglia>

	* modules/mod_xfer.c: Add handling of signals if sendfile() is
	interrupted.

2003-03-15  castaglia <castaglia>

	* NEWS, contrib/mod_sql_mysql.c: Bug#1730 - mod_mysql logging of
	long transfers fails.

2003-03-15  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c: Bug#1985 - mod_rewrite fails to build
	on platforms without flock().

2003-03-14  castaglia <castaglia>

	* contrib/mod_sql.c, contrib/mod_sql.h, contrib/mod_sql_mysql.c,
	contrib/mod_sql_postgres.c: Adding $Id$ tags to the mod_sql files.

2003-03-14  castaglia <castaglia>

	* src/dirtree.c: Be a little more thorough in checking how to handle
	the given path in get_dir_ctxt().

2003-03-14  castaglia <castaglia>

	* src/dirtree.c: Correct get_dir_ctxt() when operating within a
	chroot.

2003-03-14  jwm <jwm>

	* README.LDAP: forgot to update this for 2.8.11

2003-03-13  castaglia <castaglia>

	* NEWS, include/dirtree.h, src/dirtree.c, src/main.c: Bug#1983 -
	filenames beginning with # fail to upload / download.

2003-03-13  castaglia <castaglia>

	* include/fsio.h, src/fsio.c: Changing a few of the FSIO functions
	(close, read, write, lseek) so that they operate on file handles,
	rather than on filesystem objects.  This is done primarily so that
	they can get access to the newly-added fh_data member of a file
	handle, used for storing file-specific data.  Also added two new FSIO functions, for fstat and ftruncate.

2003-03-12  castaglia <castaglia>

	* NEWS, contrib/mod_sql_mysql.c: Bug#1982: fixing how mod_sql_mysql
	reads MySQL .cnf files.  Looks like there's a bug in MySQL's
	(undocumented) load_defaults() functions.  Hrmf.

2003-03-12  castaglia <castaglia>

	* modules/mod_auth.c: Change the timing of when C_USER is removed
	from the config tree; this allows modules that want to lookup the
	USER name sent by the client (e.g.  for substituting %U) a chance to
	do so.

2003-03-12  castaglia <castaglia>

	* Makefile.in: Pass LDFLAGS on to ftpcount and ftpshut, too.

2003-03-12  castaglia <castaglia>

	* contrib/mod_ifsession.c, include/dirtree.h, modules/mod_core.c,
	src/dirtree.c, src/sets.c: Updating code that checks for empty
	configuration contexts, and removes them.  (Empty contexts within
	another context were causing segfaults).  Also, add code to report,
	upon ending of a configuration context, if the ended context is
	being ignored (at debug level 3).

2003-03-09  castaglia <castaglia>

	* NEWS, include/scoreboard.h, modules/mod_auth.c,
	modules/mod_core.c, src/scoreboard.c, utils/utils.h: Bug#1915 -
	Unsafe pointer usage in scoreboard file format.

2003-03-09  castaglia <castaglia>

	* NEWS, contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: 
	Bug#1849 - Compile can have trouble finding mysql.h.

2003-03-09  castaglia <castaglia>

	* configure: Updating the configure script.

2003-03-09  castaglia <castaglia>

	* NEWS, configure.in, include/conf.h, include/dirtree.h,
	include/inet.h, include/options.h, modules/mod_core.c,
	modules/mod_xfer.c, src/bindings.c, src/data.c, src/dirtree.c,
	src/inet.c, src/main.c: Bug#1921 - Socket-level performance tweaks.

2003-03-09  castaglia <castaglia>

	* src/inet.c: Portability fix for letting active/inetd function
	properly on Mac OSX (Darwin).

2003-03-09  castaglia <castaglia>

	* src/main.c, utils/ftpcount.c, utils/ftpwho.c: Minor change: list
	the short form of options first, then the long form.

2003-03-09  castaglia <castaglia>

	* NEWS, include/options.h, modules/mod_core.c: Bug#1969 - Add
	scoreboard-scrubbing timer.

2003-03-09  castaglia <castaglia>

	* src/main.c: Oops.  Had these function calls, for running through
	the registered daemon startup callbacks, in the inetd startup code
	-- not too useful there.  Now in the standalone startup code, where
	they belong.

2003-03-09  castaglia <castaglia>

	* modules/mod_core.c: Actually, let's hold off on the idea of
	barring use of 0.0.0.0, for now.  We can revisit it later.

2003-03-09  castaglia <castaglia>

	* include/modules.h, src/main.c, src/modules.c: Adding yet another
	module callback registration set of functions.  This set is for
	allowing modules to register callbacks that are invoked just before
	the daemon starts up, after it has (possibly) daemonized.  One would
	want to have something done at this point when you want to make sure
	that the daemon process is affected, e.g. adding a timer.  Calling
	alarm(3) in a module_init function won't work for standalone
	daemons, for part of the daemonizing process involves forking()
	twice (to dissociate the process completely from the terminal), and
	all pending alarms are cleared for a child process.

2003-03-09  castaglia <castaglia>

	* NEWS: Making note of new handling/checking for IP address/port
	collisions.

2003-03-09  castaglia <castaglia>

	* modules/mod_core.c: This patch prevents two specific vhost
	misconfigurations: 1) trying to use "0.0.0.0", which no client could
	ever reach, and 2) IP address/port collisions.  The second is the
	more likely of the misconfigurations, particularly when DNS names,
	rather than IP addresses, are used in <VirtualHost> lines (as when
	new proftpd uses think to configure name-based vhosts).

2003-03-09  castaglia <castaglia>

	* contrib/mod_tls.c, include/feat.h, modules/mod_core.c, src/feat.c: 
	Pedantic namespace change: pr_{add,get}_feat -> pr_feat_{add,get}.
	This provides consistency in the pr_* function namespace.

2003-03-09  castaglia <castaglia>

	* README.ports: Updating.

2003-03-09  castaglia <castaglia>

	* include/modules.h: Cruft.

2003-03-09  castaglia <castaglia>

	* include/proftpd.h: Cruft.

2003-03-07  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#1932 - Make Max* checks a PASS
	POST_CMD handler.

2003-03-06  castaglia <castaglia>

	* contrib/mod_sql_postgres.c: Postgres added a string-escaping
	function at some point, so just as mod_sql_mysql does, now
	mod_sql_postgres will make use of its library-provided function.  Note that a manual #define had to be used, to ensure backward
	compatibility with Postgres installations that don't have the escape
	function.  Ideally a configure script could check for the function;
	this is yet another case for having proftpd's build system support
	per-module build directories and scripts.

2003-03-06  jwm <jwm>

	* contrib/mod_ldap.c: upgrade to 2.8.11

2003-03-06  castaglia <castaglia>

	* NEWS, contrib/mod_ifsession.c: Bug#1933 - Add mod_ifsession
	contrib module.

2003-03-06  castaglia <castaglia>

	* NEWS, contrib/mod_radius.c: Bug#1980 - Login with incorrect
	password POSSIBLE when using mod_radius.

2003-03-05  castaglia <castaglia>

	* NEWS, utils/ftpcount.c, utils/ftptop.c, utils/ftpwho.c: Bug#1869 -
	Add option "--server/-s" to ftpwho&ftpcount&ftptop.

2003-03-05  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#1979 - Add TLSTimeoutHandshake
	directive.

2003-03-05  castaglia <castaglia>

	* NEWS, include/scoreboard.h, src/main.c, src/scoreboard.c,
	utils/ftptop.c, utils/ftpwho.c, utils/utils.h: Bug#1794 - Scoreboard
	format changes.  This commit splits the cmd (i.e. the FTP command
	used) from the command arguments in the scoreboard.

2003-03-05  castaglia <castaglia>

	* modules/mod_auth.c: Fixing shadowing variable name.

2003-03-05  castaglia <castaglia>

	* include/privs.h: Make the PRIVS_ROOT macro change the egid to 0 as
	well as the euid, to be consistent.

2003-03-04  castaglia <castaglia>

	* modules/mod_xfer.c: Re-add the missing setsockopt(TCP_CORK) to
	uncork the socket after sending data.

2003-03-04  castaglia <castaglia>

	* modules/mod_xfer.c: Still working on this.

2003-03-04  castaglia <castaglia>

	* modules/mod_xfer.c: Fixing use of TCP_CORK.

2003-03-04  castaglia <castaglia>

	* NEWS, modules/mod_log.c: Bug#1972 - %T not correctly shows time at
	performance of a command "rename".

2003-03-04  castaglia <castaglia>

	* NEWS, utils/ftpshut.c: Added -D option to ftpshut, to be used to
	delete the /etc/shutmsg file (rather than having to manually remove
	it).

2003-03-04  castaglia <castaglia>

	* modules/mod_xfer.c, src/inet.c: Add use of TCP_CORK setsockopt(2)
	option on platforms that define it (e.g.  Linux).

2003-03-04  castaglia <castaglia>

	* contrib/mod_sql.c, include/modules.h, src/modules.c: Formalizing
	the use of "hooks", which are custom cmdtable entries that contrib
	modules can add.  mod_sql started the trend with its "sql_lookup"
	and "sql_change" hooks.  This patch makes sure that any such hooks
	will not be accidentally used; it was possible, if a custom hook was
	entered that has an all uppercase name, for a client to send an FTP
	command that matched that name, leading to a possible bad
	interaction.  This patch avoids the above scenario by defining a new symbol tag,
	PR_SYM_HOOK, to be used for "hook" cmdtable entries.  I'll add
	documentation about this in the Developer's Guide as appropriate.

2003-03-04  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Added AnonRejectPasswords.

2003-03-04  castaglia <castaglia>

	* NEWS, include/scoreboard.h, modules/mod_auth.c,
	modules/mod_auth_unix.c, src/main.c, src/scoreboard.c,
	utils/ftpcount.c, utils/ftptop.c, utils/ftpwho.c,
	utils/scoreboard.c, utils/utils.h: Bug#1967: Add display of uptime
	to ftpwho, ftptop.

2003-03-04  castaglia <castaglia>

	* NEWS, contrib/mod_sql_mysql.c, include/version.h,
	modules/mod_core.c: Bugs 1828 and 1960.

2003-03-04  castaglia <castaglia>

	* ChangeLog: Updating.

2003-03-04  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
	for release of 1.2.8.

2003-03-04  castaglia <castaglia>

	* README.PAM: Updating PAM information for FreeBSD.

2003-03-03  castaglia <castaglia>

	* src/inet.c: Fixed #if check.

2003-03-03  castaglia <castaglia>

	* src/main.c: Changing code back to its original setting; when doing
	the modifications for mod_unixpw -> mod_auth_unix, this code was
	incorrectly modified.

2003-03-03  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#1976 - Login hangs, spawned process
	runs in endless loop in mod_auth.

2003-03-03  castaglia <castaglia>

	* NEWS, src/inet.c: Adding FreeBSD-5.0 to the #defines for the
	socket/privs fun.

2003-03-01  castaglia <castaglia>

	* contrib/mod_tls.c: Playing with logged messages...

2003-03-01  castaglia <castaglia>

	* contrib/mod_tls.c: Bad grammar.

2003-03-01  castaglia <castaglia>

	* contrib/mod_tls.c: Pedantic changes of "SSL" to "TLS" adding
	logging for when mod_tls starts a TLS handshake on the data
	connection

2003-02-26  castaglia <castaglia>

	* src/inet.c: Modify the use of ioctl() such that it will be used on
	platforms known to use STREAMS (i.e. Solaris and IRIX, at present).

2003-02-26  castaglia <castaglia>

	* include/dirtree.h, src/dirtree.c: Added pr_class_and_expression(),
	for symmetry (and yes, there are cases where having a list of class
	names evaluated in a Boolean AND fashion can be useful).

2003-02-25  castaglia <castaglia>

	* configure: Updating configure script.

2003-02-25  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, include/conf.h, lib/pr-syslog.c,
	src/inet.c, src/netio.c: Bug#1964 - When uploading to an NFS mounted
	file system in passive mode read() get EAGAIN and closes connection.

2003-02-25  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#1937 - transfer hangs when using
	transferrate limits on a resumed download.

2003-02-24  castaglia <castaglia>

	* modules/mod_xfer.c: Cleanup of missed code for Bug#1970.

2003-02-24  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c, utils/ftptop.c, utils/ftpwho.c: Bug#1970
	- Transfer time wraps around and causes problems with transfer speed
	calculation.

2003-02-24  castaglia <castaglia>

	* modules/mod_ls.c: Removing unused cruft.

2003-02-24  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#1953 - STAT -R does not work.

2003-02-24  castaglia <castaglia>

	* NEWS, src/inet.c: Bug#1966 - SCO OpenServer 5.0.5 and inetd (not
	passive mode).

2003-02-24  castaglia <castaglia>

	* NEWS, modules/mod_log.c, src/dirtree.c: Bug#1908 - ExtendedLog to
	work properly in <Anonymous> context.

2003-02-20  castaglia <castaglia>

	* NEWS, utils/ftpwho.c: Bug#1958 - ftpwho -o oneline has newlines
	when client is idle.

2003-02-19  castaglia <castaglia>

	* modules/mod_xfer.c: Minor variable name change; seems to collide
	with variable used in Tru64 5.1b's headers.

2003-02-18  castaglia <castaglia>

	* configure: Updating configure script.

2003-02-18  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, modules/mod_auth_unix.c,
	modules/mod_ls.c: Bug#1941 - SCO OpenServer 5.0.5

2003-02-18  castaglia <castaglia>

	* sample-configurations/basic.conf: Adding some comments to the
	default config file.  Hopefully this will stem some of the more
	common questions on the users mailing list.

2003-02-18  jwm <jwm>

	* configure: update

2003-02-18  jwm <jwm>

	* configure.in: typo

2003-02-18  jwm <jwm>

	* configure: update

2003-02-18  jwm <jwm>

	* configure.in: expend as little effort as possible if mod_cap is
	explicitly disabled

2003-02-17  castaglia <castaglia>

	* configure: Updating configure script.

2003-02-17  castaglia <castaglia>

	* configure.in: Add to output at end of configure --help
	instructions describing LIBS environment variable.

2003-02-17  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#1956 - Upload transfer rate broken.

2003-02-14  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Added FTPS FEAT responses, as per the
	Draft.

2003-02-13  castaglia <castaglia>

	* modules/mod_xfer.c: Helps if I get the variable names right...

2003-02-12  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#1948 - mod_xfer relinquishes privs
	before chmod takes place.

2003-02-12  castaglia <castaglia>

	* NEWS, include/log.h, modules/mod_xfer.c, src/data.c, src/log.c: 
	Bug#1916 - Transfers hang with strange transfertime in logfile.

2003-02-12  castaglia <castaglia>

	* include/ident.h, include/timers.h, src/netio.c, src/pool.c,
	src/sets.c: Adding more $Id$ keywords.

2003-02-12  castaglia <castaglia>

	* src/feat.c: Added $Id$ keyword.

2003-02-10  castaglia <castaglia>

	* contrib/mod_sql.c, modules/mod_auth.c: Add logging of the problem
	if an admin configured a valid shell column in a SQL table, but the
	value of the shell in the table was NULL.

2003-02-10  castaglia <castaglia>

	* NEWS, src/dirtree.c: Bug#1952 - Umask Bug: Server Not Honoring
	VirtualHost Umask.

2003-02-10  castaglia <castaglia>

	* configure: Updating configure script.

2003-02-10  castaglia <castaglia>

	* NEWS, aclocal.m4, configure.in, modules/mod_xfer.c: Bug#1949 -
	Compiler warns of 'long double' usage on OSX.

2003-02-07  castaglia <castaglia>

	* README: Add a line to the REAME pointing out the doc/ directory.
	Not that anyone will notice.  *sigh*

2003-02-06  castaglia <castaglia>

	* configure: Updated configure script.

2003-02-06  castaglia <castaglia>

	* NEWS, aclocal.m4, config.h.in, configure.in,
	modules/mod_auth_unix.c: Bug#1950 - OSX setgrent(3) returns int,
	causing compiler warning.

2003-02-05  castaglia <castaglia>

	* include/privs.h: Oops.  I said DEBUG9, but had DEBUG0.  Should've
	been DEBUG9 in code.  Fixed.

2003-02-05  castaglia <castaglia>

	* include/privs.h: Add debug output, level 9, for PRIVS macros when
	they are disabled (will help cut down on confusion when proftpd is
	built on Linux, and admins forget that mod_cap is now enabled by
	default, and that mod_cap will disable id switching).

2003-02-01  castaglia <castaglia>

	* NEWS, include/glibc-glob.h: Bug#1943 - Unable to install on
	FreeBSD 5.0.

2003-01-31  castaglia <castaglia>

	* configure: Updating configure script.

2003-01-31  castaglia <castaglia>

	* configure.in: Only check for the linux/capability.h header if
	mod_cap has not already been explicitly disabled in the configure
	options.

2003-01-30  jwm <jwm>

	* NEWS, configure, configure.in: Bug 1863 - Unable to build under
	UnixWare 7

2003-01-30  castaglia <castaglia>

	* modules/mod_xfer.c: Changed TransferRate handler to use strtod()
	rather than strtoul() when parsing the kbps rate parameter.
	strtold() would be better...but FreeBSD doesn't seem to have
	strtold().  *sigh*

2003-01-30  castaglia <castaglia>

	* include/version.h: Updating version.h for CVS status.

2003-01-30  jwm <jwm>

	* Makefile.in: build deps before we get rid of the Makefiles we need
	to generate them :-)

2003-01-29  flyhmstr <flyhmstr>

	* doc/Configuration.html: ML: updated build of configuration.html

2003-01-29  castaglia <castaglia>

	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Marking
	Bug#1911 fixed (I think the fix was committed when I was working on
	Bug#1931).  Also updating the version and spec files, preparing for
	rc2 release.

2003-01-28  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#1939 - RLimitMemory seems broken.

2003-01-25  castaglia <castaglia>

	* src/dirtree.c: Michael noticed that the parse_config_file()
	function was failing to close the opened configuration file handle,
	leaking descriptors.  This started happening in 1.2.8rc1, with the
	introduction of the FSIO patch.  Fixed.  Good catch, Michael!

2003-01-25  castaglia <castaglia>

	* NEWS, src/support.c: Bug#1938 - upload to root directory fails.

2003-01-24  castaglia <castaglia>

	* contrib/mod_radius.c: Fixed misordered parameters to
	pr_rehash_register_handler() call.

2003-01-23  castaglia <castaglia>

	* src/modules.c: Actually check for a negative return value from the
	module initialization callback, if one is provided, and report an
	error if the initialization failed.  Previously, the code would only
	check for a -1 return value, and would silently load the module to
	the internal lists if the returned value was not -1; just as
	silently would -1 returns be handled.

2003-01-23  castaglia <castaglia>

	* include/conf.h: Wrapping _GNU_SOURCE definition in an #ifndef.
	It's possible that, depending on the CFLAGS options given, some
	other included file may already define it, in which case the
	compiler will throw an "already defined" warning.

2003-01-22  castaglia <castaglia>

	* modules/mod_ls.c: As discovered when looking into Bug#1931, some
	of the response codes used when handling NLST are not legal viz.
	RFC959.  This patch changes the 550s to 450s.

2003-01-21  castaglia <castaglia>

	* src/inet.c: Fixing inet_getname() so that, when doing reverse DNS
	checks, the two related calls, gethostbyaddr() and gethostbyname(),
	don't overwrite the same data.  This was happening under Tru64 Unix,
	and could have happened under Linux.

2003-01-20  jwm <jwm>

	* NEWS, modules/mod_auth.c: Bug 1734 - Cygwin - Unable to set uid

2003-01-18  castaglia <castaglia>

	* Make.rules.in, NEWS, include/conf.h, include/mkhome.h,
	modules/mod_auth.c, src/mkhome.c: Bug#1241 - Additional
	functionality: HomedirOnDemand.  Added as CreateHome directive.

2003-01-18  castaglia <castaglia>

	* configure: Updating configure, again. =P

2003-01-18  castaglia <castaglia>

	* configure.in: Argh.  John had it right the first time.  My
	mistake. =P

2003-01-18  castaglia <castaglia>

	* configure: Updating configure script.

2003-01-18  castaglia <castaglia>

	* configure.in: Changing check of UnixWare's libgen a little, to add
	-lgen to LIBS if libgen is present.

2003-01-18  castaglia <castaglia>

	* config.h.in: Adding HAVE_LIBGEN to config.h, corresponding to
	added AC_CHECK_LIB(gen) in configure.in.

2003-01-18  castaglia <castaglia>

	* modules/mod_auth_file.c, src/auth.c: Adding proper UID/GID->name
	translation to mod_auth_file.c

2003-01-18  castaglia <castaglia>

	* NEWS, modules/mod_auth_file.c: Bug#1918 - AuthUserFile not works
	normally.

2003-01-18  castaglia <castaglia>

	* src/fsio.c: Some of the FSIO routines are manually returning
	ENOENT, rather than letting errno propagate up properly.

2003-01-17  castaglia <castaglia>

	* modules/mod_auth_file.c, modules/mod_core.c, src/modules.c: Fixed
	broken pr_stash_remove_symbol() (AuthOrder still wasn't working
	quite right).  Removed devel cruft from mod_auth_file, and added
	some more debugging output to it.

2003-01-17  castaglia <castaglia>

	* NEWS, contrib/mod_ratio.c, contrib/mod_sql.c, include/dirtree.h,
	include/modules.h, modules/mod_core.c, src/auth.c, src/main.c,
	src/modules.c: Bug#1926 - AuthOrder doesn't work.  Also did a lot of style cleanup along the way.

2003-01-17  castaglia <castaglia>

	* NEWS, utils/ftptop.c: Adding displaying of transfer rates to
	ftptop.

2003-01-16  castaglia <castaglia>

	* Make.rules.in: The patch for Bug#1904 added building of
	utils/misc.o for ftpwho rather than ftptop.  ftptop may need it, but
	it doesn't link against -lsupp, whereas ftpwho does.

2003-01-16  castaglia <castaglia>

	* src/regexp.c: Missing Id keyword.

2003-01-16  castaglia <castaglia>

	* NEWS, contrib/mod_sql_mysql.c, include/support.h,
	modules/mod_core.c, modules/mod_log.c, src/dirtree.c,
	src/support.c, utils/misc.c: Bug#1922 - Server allows RNTO an
	existing file even with AllowOverwrite turned off Some logging bugs in mod_log also corrected.

2003-01-14  castaglia <castaglia>

	* include/inet.h, src/data.c, src/inet.c, src/main.c: Adding
	checking for, and logging of, errors when calling setsockopt(2).

2003-01-14  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#1923 - %N magic cookie reports
	incorrectly.

2003-01-14  castaglia <castaglia>

	* NEWS, modules/mod_log.c: Fixing problem with using %f for DELE
	logging, as mentioned on -user.

2003-01-13  castaglia <castaglia>

	* NEWS: Forgot to mention tcp{Receive,Send}Window fix in NEWS.

2003-01-13  castaglia <castaglia>

	* src/data.c: Fixing the timing of setting of socket options.  The
	tcpReceiveWindow and tcpSendWindow configuration directives were not
	taking effect properly because setsockopt(2) was being called, for
	the data connection, _after_ the TCP handshake was done.  As it is
	during the handshake when such things as window sizes are
	negotiated, this timing rendered any configuration settings useless.

2003-01-13  castaglia <castaglia>

	* src/main.c: As John pointed out, it's better to have run-time
	generated files, much like coredumps, to be under RUN_DIR
	(/var/run/proftpd), or CORE_DIR (although CORE_DIR is #defined to be
	RUN_DIR).  So now, the profiling gmon.out and bb.out files will be
	found there, rather than /tmp.  Thanks, John! =)

2003-01-13  castaglia <castaglia>

	* Make.rules.in, modules/mod_core.c, src/main.c: Added
	DEVEL_NO_DAEMON define, and changed other DEBUG_* defines to match.
	The purpose for these is to be able to build a proftpd daemon that
	can be profiled.  Now, one can have a configure statement such as:   CFLAGS="-DDEVEL_NO_DAEMON -DDEVEL_NO_FORK -g -pg -a" \     LIBS="-pg" ./configure ...  The resulting daemon will only handle one session.  The bb.out and
	gmon.out profiling files will be written to /tmp.

2003-01-13  castaglia <castaglia>

	* configure: Updating configure script.

2003-01-13  castaglia <castaglia>

	* configure.in: Removing -Wfloat-equal, for now.  This warning flag
	was introduced with gcc-3.0, and so we'll need to check the gcc
	version being used (if indeed it is gcc being used) before using
	this flag.

2003-01-13  castaglia <castaglia>

	* modules/mod_xfer.c: Floating point numbers are best compared using
	greater/less than, not equals.  Thanks to Steve Grubb for pointing
	this out.

2003-01-13  jwm <jwm>

	* NEWS: Add -Wundef and -Wfloat-equal to CFLAGS (Suggested by Steve
	Grubb <linux_4ever@yahoo.com>)

2003-01-13  jwm <jwm>

	* configure: update with autoconf 2.57; I'm curious if this changes
	the LFS problems I'm currently working on

2003-01-13  castaglia <castaglia>

	* configure.in: Add -Wfloat-equal and -Wundef to the warning flags
	enabled by using the --enable-devel configure option.

2003-01-13  jwm <jwm>

	* configure: update

2003-01-13  castaglia <castaglia>

	* NEWS, modules/mod_core.c, src/main.c: Bug#1910 - ProFTPD hangs on
	SIGHUP.

2003-01-11  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#1919 - <Directory> section already
	configured for $dir needs clarification.

2003-01-09  jwm <jwm>

	* configure: update

2003-01-09  jwm <jwm>

	* modules/mod_cap.c: EnableCapabilities -> CapabilitiesSet

2003-01-09  jwm <jwm>

	* README.capabilities, configure.in: OS-neutrality

2003-01-08  castaglia <castaglia>

	* contrib/mod_radius.c: Corrected typo in session accouting
	variables.  Bumped version number.

2003-01-08  castaglia <castaglia>

	* NEWS, lib/pr-syslog.c: Bug#1891 - SGI syslog isn't being written
	to.

2003-01-07  castaglia <castaglia>

	* contrib/mod_radius.c: Use cmd->arg, rather than cmd->argv[1], from
	the C_PASS command.

2003-01-07  castaglia <castaglia>

	* modules/mod_core.c, src/timers.c: Correcting minor bugs.

2003-01-07  castaglia <castaglia>

	* configure: Updated configure script.

2003-01-07  castaglia <castaglia>

	* configure.in: Add enable/disable configure option, for excluding
	mod_cap from Linux builds, for those sites that wish to have
	minimalist builds (e.g. every automatic inclusion should have an
	optional switch for disabling that inclusion).

2003-01-05  jwm <jwm>

	* NEWS: style nit

2003-01-05  jwm <jwm>

	* Make.rules.in, NEWS: Bug 1904 - Tru64 UNIX 4.0D and sstrncpy()

2003-01-05  jwm <jwm>

	* modules/glue.sh: style

2003-01-05  jwm <jwm>

	* configure: update

2003-01-05  jwm <jwm>

	* Make.rules.in, Makefile.in, NEWS, configure.in, lib/Makefile.in,
	modules/Makefile.in, src/Makefile.in, utils/Makefile.in: Bug 1826 -
	Makefiles are a bit icky. This gives the build system a nice tidying
	up; I don't seem to have broken anything.  The only noticable change is that the dist/distclean/cvsclean
	targets have been cleaned up: cvsclean: is no more. Use distclean instead.  distclean: return the
	           source tree to its pristine condition (don't touch CVS state
	directories).  dist: prepare the source tree for distribution. Move
	      the RPM spec file into place and blow away any CVS state
	directories.

2003-01-05  jwm <jwm>

	* config.guess, config.sub: part of Bug 1826 - Makefiles are a bit
	icky: updated config.{guess,sub}

2003-01-05  jwm <jwm>

	* Makefile.in: Part of #1826 - ftptop doesn't need to link against
	$(LIBS)

2003-01-05  jwm <jwm>

	* configure: update

2003-01-05  jwm <jwm>

	* NEWS: credit for #1893

2003-01-05  jwm <jwm>

	* NEWS, configure.in: Bug 1893 - Apple likes to move things

2003-01-05  jwm <jwm>

	* lib/glibc-mkstemp.c, lib/pr-syslog.c, lib/pwgrent.c,
	lib/strsep.c, lib/vsnprintf.c, modules/mod_auth.c,
	modules/mod_auth_file.c, modules/mod_core.c, modules/mod_ls.c,
	modules/mod_site.c, utils/ftpcount.c, utils/ftpshut.c,
	utils/ftptop.c, utils/ftpwho.c, utils/misc.c, utils/scoreboard.c: 
	nuke trailing whitespace

2003-01-03  jwm <jwm>

	* NEWS: credit where credit is due

2003-01-03  jwm <jwm>

	* src/Makefile.in: utils.c doesn't seem to be needed anymore...

2003-01-03  jwm <jwm>

	* NEWS: mod_cap announcement

2003-01-03  jwm <jwm>

	* README.capabilities, contrib/dist/rpm/proftpd.spec: mod_linuxprivs
	-> mod_cap

2003-01-03  jwm <jwm>

	* README.modules: mod_linuxprivs is now the official module mod_cap

2003-01-03  jwm <jwm>

	* contrib/dist/rpm/proftpd.spec: we don't have to explicitly include
	mod_linuxprivs anymore; mod_cap will be included automatically

2003-01-03  jwm <jwm>

	* configure: update

2003-01-03  jwm <jwm>

	* config.h.in, configure.in, modules/mod_cap.c: fix the build :-)
	This now autodetects and cleanly builds mod_cap into proftpd if the
	host OS (Linux) supports it

2003-01-03  jwm <jwm>

	* configure: update

2003-01-03  jwm <jwm>

	* config.h.in, configure.in: fixing linux/capability.h detection

2003-01-03  jwm <jwm>

	* configure: update

2003-01-03  jwm <jwm>

	* modules/mod_cap.c: removing debugging cruft

2003-01-03  jwm <jwm>

	* configure.in, modules/mod_cap.c: removing last Linux-specific bits
	of mod_cap

2003-01-03  jwm <jwm>

	* modules/mod_cap.c: getting rid of some linux references

2003-01-03  jwm <jwm>

	* configure: update

2003-01-03  jwm <jwm>

	* configure.in, contrib/README, modules/mod_cap.c: mod_linuxprivs ->
	mod_cap

2003-01-03  jwm <jwm>

	* configure.in, lib/libcap/.cvsignore, lib/libcap/Makefile,
	lib/libcap/_makenames.c, lib/libcap/cap_alloc.c,
	lib/libcap/cap_extint.c, lib/libcap/cap_file.c,
	lib/libcap/cap_flag.c, lib/libcap/cap_proc.c, lib/libcap/cap_sys.c,
	lib/libcap/cap_text.c, lib/libcap/include/sys/capability.h,
	lib/libcap/libcap.h: Turning mod_linuxprivs into a core module,
	mod_cap. This is by no means complete.

2003-01-02  castaglia <castaglia>

	* contrib/mod_sql.c: Added handling of %U to mod_sql, so that it can
	be used in SQLNamedQuery directives; part of the addition of
	Bug#1482.

2003-01-02  jwm <jwm>

	* doc/license.txt: update copyright year

2003-01-02  castaglia <castaglia>

	* configure: Updated configure script.

2003-01-02  castaglia <castaglia>

	* config.h.in, configure.in, contrib/mod_radius.c,
	contrib/mod_rewrite.c, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
	contrib/mod_sql_postgres.c, contrib/mod_tls.c, include/data.h,
	include/ident.h, include/pool.h, include/proftpd.h,
	include/response.h, include/support.h, modules/mod_auth.c,
	modules/mod_auth_pam.c, modules/mod_core.c, modules/mod_log.c,
	modules/mod_ls.c, modules/mod_xfer.c, src/bindings.c, src/data.c,
	src/ident.c, src/inet.c, src/main.c, src/netio.c, src/pool.c,
	src/regexp.c, src/response.c, src/scoreboard.c, src/support.c,
	src/timers.c: More namespace/API changes, for consistency:   data_*() -> pr_data_*()   register_rehash() ->  pr_rehash_register_handler()   add_exit_handler() -> pr_exit_register_handler()   (un)block_alarms() -> pr_alarms_(un)block()   (un)block_signals() -> pr_signals_(un)block()   pr_handle_signals() -> pr_signals_handle() The distinction for which I am striving is to have all the functions
	that module developers should use to be prefixed with pr_; public
	functions may be available without a pr_ prefix, but such functions
	will be intended for use by the core code only.  Also, more in the RFC2228 support department:   session_t has a new field, rfc2228_mech.  This is to be filled in
	  by the RFC2228 module that handles an AUTH command, so that other   RFC2228 modules, should they be higher in the module load order,
	  know not to process RFC2228 commands meant for the handling
	module.    The response formatting callback function now takes an additional   parameter, a pool pointer, as the first argument.  The pool that
	  will be passed to that function will be the same pool used by the
	  other response functions.

2003-01-02  castaglia <castaglia>

	* configure.in, contrib/ftpasswd, contrib/mod_radius.c,
	contrib/mod_readme.c, contrib/mod_rewrite.c, contrib/mod_tls.c,
	contrib/mod_wrap.c, doc/mod_sample.c, include/bindings.h,
	include/conf.h, include/data.h, include/default_paths.h,
	include/dirtree.h, include/feat.h, include/fsio.h, include/ftp.h,
	include/ident.h, include/inet.h, include/libsupp.h, include/log.h,
	include/modules.h, include/netio.h, include/options.h,
	include/pool.h, include/pr-syslog.h, include/privs.h,
	include/proftpd.h, include/regexp.h, include/response.h,
	include/scoreboard.h, include/sets.h, include/support.h,
	include/timers.h, modules/mod_auth.c, modules/mod_auth_file.c,
	modules/mod_auth_unix.c, modules/mod_core.c, modules/mod_log.c,
	modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c,
	src/auth.c, src/bindings.c, src/data.c, src/dirtree.c, src/feat.c,
	src/fsio.c, src/ident.c, src/inet.c, src/log.c, src/main.c,
	src/modules.c, src/netio.c, src/pool.c, src/regexp.c,
	src/response.c, src/scoreboard.c, src/sets.c, src/support.c,
	src/timers.c, utils/ftpcount.c, utils/ftpshut.c, utils/ftptop.c,
	utils/ftpwho.c, utils/misc.c, utils/scoreboard.c, utils/utils.h: 
	Updating the copyright notice in the file headers for the new year.

2003-01-02  castaglia <castaglia>

	* Makefile.in: Adding man page for ftptop.

2003-01-01  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c, contrib/mod_sql.h,
	contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Bug#1671 - new
	directive SQLLogFile.

2003-01-01  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#1272 - Requested Addition:
	DenyFilter by User or DenyFilter by Directory.

2002-12-31  castaglia <castaglia>

	* utils/ftptop.c: Actually calculate and display the TIME value
	(duration of session, in seconds).

2002-12-31  castaglia <castaglia>

	* src/main.c: Make sure that the configuration file specified using
	the -c command-line option is an absolute path.  Bug noted by
	Michael Renner.

2002-12-31  castaglia <castaglia>

	* NEWS, src/fsio.c: Bug#1894 - Double chdir into self-referencing
	symlink fails with "No such file or directory".

2002-12-31  castaglia <castaglia>

	* include/scoreboard.h, modules/mod_auth.c, src/scoreboard.c,
	utils/ftptop.c, utils/ftpwho.c, utils/utils.h: Portion of changes
	requested in Bug#1794.

2002-12-31  castaglia <castaglia>

	* modules/mod_auth.c: Yet another missing word ("the").

2002-12-31  castaglia <castaglia>

	* modules/mod_auth.c: Missing "of" in message string (noted by
	Michael).

2002-12-28  castaglia <castaglia>

	* include/version.h: Updating version for CVS.

2002-12-28  castaglia <castaglia>

	* ChangeLog, NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: 
	Preparing for 1.2.8rc1 release.

2002-12-27  castaglia <castaglia>

	* configure: Updating configure script.

2002-12-27  castaglia <castaglia>

	* NEWS, configure.in: Bug#1906 - Add description strings to
	AC_DEFINE

2002-12-27  jwm <jwm>

	* NEWS: style, date formatting

2002-12-27  jwm <jwm>

	* src/auth.c, src/data.c, src/dirtree.c, src/inet.c, src/log.c,
	src/main.c, src/modules.c, src/pool.c, src/support.c, src/timers.c: 
	style

2002-12-27  jwm <jwm>

	* NEWS: whitespace cleanup

2002-12-27  jwm <jwm>

	* configure: update

2002-12-27  jwm <jwm>

	* NEWS, configure.in: Bug 1863 - Unable to build under UnixWare 7

2002-12-27  jwm <jwm>

	* Makefile.in, NEWS: Bug 1903 - ftpwho depends on snprintf but
	doesn't link in lib/libsupp.a

2002-12-27  jwm <jwm>

	* NEWS, src/timers.c, utils/ftptop.c: Bug 1905 - AIX needs
	"config.h" included before *anything* else.

2002-12-27  castaglia <castaglia>

	* src/main.c: Removing the internal_abort() code, which was only
	enabled by using the --enable-devel switch.  It's more useful to use
	gdb in this case.

2002-12-27  jwm <jwm>

	* contrib/README: cruft removal, cleanup, style, grammar

2002-12-27  castaglia <castaglia>

	* NEWS: Bug#1888: Increase mod_linuxprivs configurability.

2002-12-27  castaglia <castaglia>

	* src/main.c: Change the reporting of "Invalid argument" when
	deleting a scoreboard slot to be DEBUG1.  This message can appear
	for reasons other than scoreboard issues (e.g. a module bars a
	client from completely connecting, misconfigurations, etc).

2002-12-26  jwm <jwm>

	* modules/mod_auth_file.c: silence compiler warning about crypt()

2002-12-26  castaglia <castaglia>

	* NEWS, utils/ftpwho.c: Bug#1900 - ftpwho's output on uploads.

2002-12-26  castaglia <castaglia>

	* modules/mod_xfer.c: Add debug call when failing to open a file for
	writing/uploading.  This should help pinpoint upload failures.

2002-12-20  castaglia <castaglia>

	* modules/mod_auth_file.c, modules/mod_core.c, modules/mod_xfer.c: 
	Style cleanups.

2002-12-19  castaglia <castaglia>

	* configure: Updating configure script.

2002-12-19  castaglia <castaglia>

	* modules/mod_auth_file.c: Putting the copyright in the project's
	name.

2002-12-19  castaglia <castaglia>

	* NEWS: Forgot to update NEWS with description of
	Bug#1837/mod_auth_file addition.

2002-12-19  castaglia <castaglia>

	* config.h.in, configure.in, modules/mod_auth_file.c,
	modules/mod_auth_pam.c, modules/mod_auth_unix.c,
	modules/mod_core.c, src/main.c: Bug#1837 - Add module specifically
	for handling Auth*Files, providing finer-grained control.  This
	patch also renames mod_unixpw.c to mod_auth_unix.c, and mod_pam.c to
	mod_auth_pam.c.  Configure options have --disable-auth-file,
	--disable-auth-unix, --enable-auth-pam, as appropriate.

2002-12-19  castaglia <castaglia>

	* contrib/mod_sql.c, contrib/mod_sql_mysql.c,
	contrib/mod_sql_postgres.c, contrib/mod_tls.c: Cleaning up some
	warnings, seen under --enable-devel, in some contrib modules.
	Pointed out by Michael.  Just to note: a lot of the warnings generated by mod_tls
	(specifically, by the OpenSSL files #include'd by mod_tls) cannot be
	fixed by us.  Quite a few of the warnings are about function
	prototypes; the OpenSSL developers don't have complete prototype
	declarations for a lot of the function pointer callback struct
	slots.  Oh well.

2002-12-19  castaglia <castaglia>

	* src/dirtree.c: In tracking down an unrelated bug last night, I
	discovered that, at present, proftpd's parser will gladly handle
	empty contexts, such as when:   <Directory blah>   </Directory> or   <Global>   </Global> appear in the configuration file.  These empty sets are useless, and
	serve only to use up memory unnecessarily; that memory usage is
	compounded when directives are merged down into these sets.  This patch checks for such empty contexts (in end_sub_config()), and
	removes them from the configuration tree.

2002-12-19  castaglia <castaglia>

	* contrib/mod_tls.c: Forgot a parameter to tls_log().

2002-12-19  castaglia <castaglia>

	* contrib/mod_tls.c: Change handling of PROT in tls_prot() slightly.

2002-12-19  castaglia <castaglia>

	* contrib/mod_tls.c: More instances where mod_tls was being
	impolite, and returning ERROR where it should be returning DECLINED,
	in order to allow other modules a chance at handling some of the
	RFC2228 commands.

2002-12-19  castaglia <castaglia>

	* contrib/mod_tls.c: Changed mod_tls' handling of AUTH command to
	allow other RFC2228 modules a change at processing that command.

2002-12-19  castaglia <castaglia>

	* modules/mod_ls.c, src/dirtree.c, src/main.c: Minor
	style/formatting changes.

2002-12-18  castaglia <castaglia>

	* configure: Updating configure script.

2002-12-18  castaglia <castaglia>

	* NEWS, config.h.in, configure.in: Bug#1667 - Integrate ProFTPD with
	C2/SIA on Tru64 Unix.

2002-12-18  castaglia <castaglia>

	* contrib/mod_radius.c: Fixing several bugs in mod_radius'
	accounting code.

2002-12-18  jwm <jwm>

	* NEWS, src/main.c: Bug 1885 - -q/--quiet option for use with the
	-n/--nodaemon flag. Useful for running proftpd from inittab or with
	daemontools.

2002-12-17  castaglia <castaglia>

	* modules/mod_auth.c: The cleanup of variable names done by the
	adding of the --enable-devel option caused a problem here, where a
	variable "c" was used a little too often, causing
	MaxClients/MaxHosts* lookups to fail.  Thanks to Michael Renner for
	the help in tracking this one down.

2002-12-17  castaglia <castaglia>

	* include/modules.h, include/privs.h, src/main.c, src/modules.c: The
	module init dispatch functions aren't public, and hence do not need
	the pr_ prefix.  Change the debug level for privs changes to 9 (was 8).

2002-12-17  jwm <jwm>

	* include/conf.h, include/data.h, include/default_paths.h,
	include/dirtree.h, include/ftp.h, include/ident.h, include/inet.h,
	include/libsupp.h, include/modules.h, include/netio.h,
	include/options.h, include/privs.h, include/proftpd.h,
	include/sets.h: nuke trailing whitespace

2002-12-17  castaglia <castaglia>

	* modules/mod_core.c: Add the RFC2228 commands to the HELP output,
	but listed as "not supported".  A means for RFC2228 modules (e.g.
	mod_tls, mod_gss) to change the supported flag from FALSE to TRUE
	for these commands is needed.

2002-12-17  castaglia <castaglia>

	* modules/mod_core.c: Oops.  Not quite ready to commit these changes
	yet.

2002-12-17  castaglia <castaglia>

	* contrib/mod_rewrite.c, modules/mod_core.c, modules/mod_ls.c,
	src/dirtree.c, src/support.c, utils/ftpcount.c, utils/ftptop.c,
	utils/ftpwho.c: Changed some buffers to use PR_TUNABLE_BUFFER_SIZE
	(and not to use hardcoded numbers).

2002-12-16  castaglia <castaglia>

	* include/modules.h: Returning ERROR from an auth handler
	(specifically, in an "auth" or a "check" auth handler) will not
	produce the desired result; the ERROR macro sets a value of 1, and
	the switch() case in mod_auth looks for negative values.  So, to
	handle this case, I've added PR_AUTH_ERROR return value (-1) for
	auth handlers that encounter errors, and adjusted the other
	PR_AUTH_* values accordingly.

2002-12-16  castaglia <castaglia>

	* include/modules.h, src/main.c: Make the function for dispatching
	commands a public function: pr_cmd_dispatch().  Some RFC2228 modules
	may need to "unwrap" encrypted commands and then dispatch the
	unwrapped commands themselves.  (This also allows for greater games
	to be played by third-party modules...muahahaha...) *grin*

2002-12-16  castaglia <castaglia>

	* src/main.c: Changing buffer used for storing commands read in from
	client to be of PR_TUNABLE_BUFFER_SIZE, rather than hardcoded to
	1024.

2002-12-16  jwm <jwm>

	* src/main.c: er, yeah. pointer and all that.

2002-12-16  jwm <jwm>

	* src/main.c: cleanup

2002-12-15  jwm <jwm>

	* configure: updated configure

2002-12-15  jwm <jwm>

	* NEWS, acconfig.h, config.h.in, configure.in, src/inet.c: Bug 1883
	- socklen_t patch. Thanks to Andy Igoshin <ai@vsu.ru> for the patch.

2002-12-13  castaglia <castaglia>

	* src/dirtree.c, src/fsio.c, src/inet.c, src/modules.c: Being
	pedantic, and making sure that pcalloc() is used, to make sure that
	memory is zeroed before use (helps to cut down on heap bugs).

2002-12-13  castaglia <castaglia>

	* utils/ftpwho.c: Correcting placement of newline (from Bug#1886).

2002-12-13  castaglia <castaglia>

	* Make.rules.in, contrib/mod_ratio.c, contrib/mod_readme.c,
	contrib/mod_sql.c, contrib/mod_tls.c, doc/mod_sample.c,
	include/conf.h, include/dirtree.h, include/proftpd.h,
	include/response.h, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c,
	modules/mod_xfer.c, src/data.c, src/main.c, src/response.c: 
	Reworking of response functions.

2002-12-12  castaglia <castaglia>

	* NEWS, contrib/mod_radius.c: Bug#1875 - same radius packet id for
	start- and stop-accounting record.

2002-12-12  jwm <jwm>

	* utils/ftptop.c: make the display a bit prettier and make the best
	use of an 80-column screen

2002-12-12  castaglia <castaglia>

	* NEWS, utils/ftpwho.c: Bug#1886 - Ftpwho uses too many lines when
	authenticating.

2002-12-12  castaglia <castaglia>

	* include/options.h, lib/glibc-glob.c: These changes make it
	possible to tune the maximum number of recursion levels supported
	when globbing.  A better way of dealing with possible DoS attacks
	via globbing is via the RLimit* directives, or to disable globbing
	support altogether by using the UseGlobbing directive.  However, in
	some cases it may be necessary to support globbing, but to do so in
	as restrictive a manner as possible.  The default maximum number of levels supported by GNU's globbing is
	8.  This patch keeps that default, but allows the administrator, if
	need be, to tune that level lower by means of the
	PR_TUNABLE_GLOBBING_MAX macro, defined in include/options.h.  When
	compiling proftpd, it can be defined to some lower value, e.g.:   CFLAGS="-DPR_TUNABLE_GLOBBING_MAX=2" ./configure ...

2002-12-12  castaglia <castaglia>

	* include/modules.h: Set PR_AUTH_RFC2228_OK to be 2, to avoid the
	value 1 (that is used by the ERROR macro).

2002-12-12  castaglia <castaglia>

	* contrib/mod_tls.c, include/netio.h, src/netio.c: Added a shutdown
	callback to the NetIO API, allowed netio modules (e.g.  mod_gss) to
	perform a shutdown as they needed, rather than simply calling
	shutdown(2).

2002-12-12  jwm <jwm>

	* modules/mod_auth.c: typo Noticed by: Mihai RUSU <dizzy@roedu.net>

2002-12-11  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#1881 - Bug in Function MaxClients.

2002-12-11  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_core.c, src/support.c: Some of
	these files' handling of configuration parameters was not thorough
	with respect to get_param_int() to get_param_ptr() changes (shame on
	me), and it was causing a segfault when handling some Display*
	files.

2002-12-11  castaglia <castaglia>

	* contrib/mod_wrap.c, include/dirtree.h, modules/mod_auth.c,
	modules/mod_core.c, modules/mod_xfer.c, src/dirtree.c: Forgot to
	prefix the expression functions with pr_.

2002-12-11  castaglia <castaglia>

	* NEWS, modules/mod_site.c: Bug#1882 - SITE chmod 777
	file<space>name.

2002-12-11  castaglia <castaglia>

	* NEWS, contrib/mod_wrap.c, include/dirtree.h, include/modules.h,
	modules/mod_auth.c, modules/mod_core.c, modules/mod_site.c,
	modules/mod_xfer.c, src/dirtree.c: Bug#1507 - regex pattern matching
	in [Allow/Deny][User/Group].  This patch also adjusts the handling
	of user- and class-expressions, so that they are evaluated as OR
	expression, rather than as AND expression (AND evaluation for users
	and classes do not make sense).

2002-12-11  jwm <jwm>

	* doc/Configuration.html, doc/Configuration.sgml: updated docs

2002-12-10  castaglia <castaglia>

	* configure: Updating configure script.

2002-12-10  castaglia <castaglia>

	* configure.in: Forgot a comma.

2002-12-10  castaglia <castaglia>

	* configure: Updating configure script.

2002-12-10  castaglia <castaglia>

	* Makefile.in, NEWS, config.h.in, configure.in, include/dirtree.h,
	include/fsio.h, include/libsupp.h, include/log.h,
	include/modules.h, include/netio.h, include/pool.h,
	include/support.h, include/timers.h, lib/glibc-glob.c,
	lib/glibc-mkstemp.c, lib/pr_fnmatch.c, lib/vsnprintf.c,
	modules/mod_auth.c, modules/mod_log.c, modules/mod_ls.c,
	modules/mod_site.c, modules/mod_xfer.c, src/bindings.c,
	src/dirtree.c, src/fsio.c, src/inet.c, src/log.c, src/main.c,
	src/modules.c, src/netio.c, src/regexp.c, src/scoreboard.c,
	src/sets.c, src/support.c, utils/ftpwho.c, utils/utils.h: This patch
	adds an --enable-devel configure option, which does the following:   install won't use -s, so that object files aren't stripped   core dumps should be allowed (although I'm having trouble
	    producing them...I'm sure I'm missing something obvious)   CFLAGS is changed to use quite a few of the -W options The rest of the patch is code cleanup, fixing things brought to
	light by the -W options.  The one remaining warning is about the K&R
	style pam function in mod_pam.c -- I think that may be required.

2002-12-10  castaglia <castaglia>

	* configure: Updating configure script.

2002-12-10  castaglia <castaglia>

	* NEWS, modules/mod_core.c, src/main.c: Bug#1858 - move "session
	closed" logging from graceful quit to child exit sequence.

2002-12-09  jwm <jwm>

	* lib/vsnprintf.c: silence compiler warning

2002-12-09  jwm <jwm>

	* lib/vsnprintf.c: style

2002-12-09  jwm <jwm>

	* lib/vsnprintf.c: need ctype.h for is*()

2002-12-09  jwm <jwm>

	* lib/pr_fnmatch_loop.c: need to include ctype.h for is*()

2002-12-07  jwm <jwm>

	* NEWS: credit where credit is due

2002-12-07  jwm <jwm>

	* modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c,
	src/auth.c, src/dirtree.c, src/inet.c, src/main.c, src/modules.c,
	src/pool.c, src/sets.c, src/support.c: style

2002-12-07  jwm <jwm>

	* modules/mod_auth.c, modules/mod_core.c, src/dirtree.c, src/main.c: 
	style

2002-12-07  jwm <jwm>

	* NEWS, acconfig.h, config.h.in, configure.in, include/data.h,
	src/data.c: AIX sendfile support

2002-12-07  jwm <jwm>

	* contrib/dist/rpm/proftpd.init.d: * add /usr/local/sbin/ to $PATH * don't assume ftpshut is in /usr/sbin/, let the shell's PATH figure
	it out * style

2002-12-07  jwm <jwm>

	* src/auth.c, src/bindings.c, src/data.c, src/dirtree.c,
	src/feat.c, src/fsio.c, src/ident.c, src/inet.c, src/log.c,
	src/main.c, src/modules.c, src/netio.c, src/pool.c, src/regexp.c,
	src/scoreboard.c, src/sets.c, src/support.c, src/timers.c: style

2002-12-07  jwm <jwm>

	* modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c,
	modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c: nuke
	trailing whitespace, style

2002-12-07  jwm <jwm>

	* src/bindings.c: trailing whitespace

2002-12-07  castaglia <castaglia>

	* modules/mod_xfer.c: Inadvertently changed the default handling of
	AllowRetrieveRestart in the get_param_int() -> get_param_ptr()
	changes.

2002-12-07  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c, include/log.h, modules/mod_core.c,
	modules/mod_log.c, src/log.c, src/main.c: Bug#1515 - Enable mod_log
	to log into default log / syslog.

2002-12-07  jwm <jwm>

	* src/bindings.c: Fix bidings for DefaultServer-affected and
	localhost connections.  pr_ipbind_get_server() would never find the default server because
	it was hashing an address (say, 127.0.0.1) different from the
	address used by the main server (0.0.0.0). Instead, store a pointer
	to the default and localhost bindings and fall back to them if the
	explicit lookup fails.

2002-12-07  castaglia <castaglia>

	* src/dirtree.c: Removing a get_param_int() that crept back in
	(probably from the Bindings patch).

2002-12-07  castaglia <castaglia>

	* Make.rules.in, NEWS, include/bindings.h, include/conf.h,
	include/dirtree.h, include/inet.h, modules/mod_core.c,
	src/bindings.c, src/dirtree.c, src/main.c: Committing the Bindings
	API.

2002-12-06  castaglia <castaglia>

	* include/ftp.h, include/proftpd.h, modules/mod_auth.c,
	modules/mod_core.c, modules/mod_ls.c, modules/mod_xfer.c,
	src/data.c, src/main.c: More RFC2228 support.

2002-12-06  castaglia <castaglia>

	* modules/mod_core.c, modules/mod_xfer.c: Provide configuration
	handlers that remark on deprecated directives, rather than simply
	having those directives removed (for now).

2002-12-06  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#1789 - Add ability to block recursive
	directory listings.

2002-12-06  jwm <jwm>

	* include/proftpd.h: tabs -> spaces

2002-12-06  castaglia <castaglia>

	* src/fsio.c: *sigh* One of these days I'll get this correct. =P

2002-12-06  castaglia <castaglia>

	* src/fsio.c: The FS API patch had some of the older, broken code
	w.r.t BSD and statfs().

2002-12-06  castaglia <castaglia>

	* NEWS, include/scoreboard.h, modules/mod_xfer.c, src/scoreboard.c,
	utils/ftpwho.c, utils/utils.h: Committing TransferRate patch to CVS.

2002-12-06  castaglia <castaglia>

	* contrib/mod_radius.c, contrib/mod_sql.c, include/proftpd.h,
	modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c,
	modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c,
	src/data.c, src/dirtree.c, src/inet.c, src/log.c, src/main.c: A
	stack of changes, related to removing get_param_int() from the core
	code, in favor of get_param_ptr().  I tried to test each affected
	directive as I went, but, of course, there may be bugs still
	lingering...

2002-12-06  castaglia <castaglia>

	* contrib/mod_sql.c: Removed erroneous/extraneous #include "fs.h"

2002-12-06  jwm <jwm>

	* lib/pwgrent.c: fix the build (PR_LOG_ERR isn't defined here
	because this is in libsupp)

2002-12-06  castaglia <castaglia>

	* modules/mod_log.c: Use C_* command macros.

2002-12-06  castaglia <castaglia>

	* NEWS, modules/mod_log.c: Bug#1605 - MKD and RMD do not log
	filepaths with %f or %F option in ExtendedLog.

2002-12-05  castaglia <castaglia>

	* NEWS, modules/mod_log.c: Bug#1403 - per-server system logs via
	ServerLog directive.

2002-12-05  castaglia <castaglia>

	* NEWS, contrib/mod_rewrite.c: Adding mod_rewrite to the mix.

2002-12-05  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#1205 - Add debug option to
	SystemLog.

2002-12-05  castaglia <castaglia>

	* NEWS, include/modules.h, include/options.h, modules/mod_core.c,
	src/main.c, src/modules.c: Bug#1788 - Add ability to configure auth
	module checking order.

2002-12-05  castaglia <castaglia>

	* configure: Updated configure script.

2002-12-05  castaglia <castaglia>

	* configure.in: Update configure.in to use AC_HELP_STRING macro for
	pretty-printing of --enable and --with options.

2002-12-05  castaglia <castaglia>

	* NEWS: Adding thanks (well deserved!) to Peter Runestig for his
	work on mod_tls.

2002-12-05  castaglia <castaglia>

	* NEWS, contrib/mod_tls.c: Bug#1712 - TLS support.

2002-12-05  castaglia <castaglia>

	* Make.rules.in, NEWS, contrib/mod_ldap.c, contrib/mod_ratio.c,
	contrib/mod_readme.c, contrib/mod_sql.c, contrib/mod_wrap.c,
	include/conf.h, include/dirtree.h, include/fsio.h, include/netio.h,
	include/proftpd.h, include/support.h, lib/Makefile.in,
	modules/Makefile.in, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c,
	src/Makefile.in, src/dirtree.c, src/fsio.c, src/main.c,
	src/netio.c, src/support.c, utils/Makefile.in: Bug#1653 - Complete
	the FS API abstraction implementation.

2002-12-05  castaglia <castaglia>

	* NEWS, include/proftpd.h, modules/mod_core.c, modules/mod_xfer.c: 
	Bug#1743 - No magic cookie for number of files transfered.

2002-12-05  castaglia <castaglia>

	* NEWS, include/modules.h, include/version.h, src/main.c,
	src/modules.c, src/support.c: Bug#1833 - Add ability to have add'l
	module initialization callback.

2002-12-05  castaglia <castaglia>

	* Make.rules.in, NEWS, doc/rfc/rfc2389.txt, include/conf.h,
	include/dirtree.h, include/feat.h, include/ftp.h,
	include/modules.h, include/regexp.h, lib/Makefile.in,
	modules/Makefile.in, modules/mod_core.c, src/Makefile.in,
	src/dirtree.c, src/feat.c, src/main.c, src/modules.c: Bug#1806 - Add
	RFC2389 support.

2002-12-05  castaglia <castaglia>

	* NEWS, contrib/mod_ldap.c, contrib/mod_radius.c,
	contrib/mod_sql.c, contrib/mod_sql_mysql.c,
	contrib/mod_sql_postgres.c, include/modules.h, modules/mod_auth.c,
	src/auth.c: Bug#1825 - AUTH macro namespace cleanup.

2002-12-05  castaglia <castaglia>

	* contrib/mod_radius.c, contrib/mod_sql.c, contrib/mod_wrap.c,
	include/privs.h, lib/pwgrent.c, modules/mod_auth.c,
	modules/mod_core.c, modules/mod_log.c, modules/mod_xfer.c,
	src/main.c: Making sure that all LOG_* macros have PR_ prefix, for
	consistency.

2002-12-05  castaglia <castaglia>

	* NEWS, src/dirtree.c: Bug#1683 - Handling of VirtualHosts on
	startup.

2002-12-05  castaglia <castaglia>

	* NEWS, modules/mod_log.c: Bug#1482 - Add new %U meta to LogFormat,
	for logging original username.

2002-12-05  castaglia <castaglia>

	* configure: Updated configure script.

2002-12-05  castaglia <castaglia>

	* NEWS, config.h.in, configure.in: Bug#1597 - Problems with HP-UX
	10/11 trusted systems, mod_pam, and mod_unixpw.

2002-12-05  castaglia <castaglia>

	* include/version.h: Now that 1.2.7 has been released, update the
	version info in CVS.

2002-12-05  castaglia <castaglia>

	* doc/mod_sample.c: Correcting typos.

2002-12-05  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.spec: Updating version for 1.2.7 release.

2002-12-05  castaglia <castaglia>

	* ChangeLog, NEWS, include/version.h: Preparing for release of
	1.2.7.

2002-12-04  castaglia <castaglia>

	* modules/mod_auth.c: Patching to fix off-by-one bug in
	MaxHostsPerUser directive handling.

2002-12-04  castaglia <castaglia>

	* NEWS, include/support.h, modules/mod_auth.c, src/support.c: Adding
	memory scrubber for memset() issue mentioned here:   http://online.securityfocus.com/archive/1/298598

2002-12-03  castaglia <castaglia>

	* NEWS, utils/ftpcount.c: Bug#1868 - Wrong cmdopts in ftpcount.c

2002-12-02  castaglia <castaglia>

	* NEWS, utils/ftpwho.c: Bug#1861 - 'ftpwho -v -o oneline' print all
	connections in one line.

2002-12-02  castaglia <castaglia>

	* src/dirtree.c: Minor preprocessor changes.

2002-12-02  castaglia <castaglia>

	* src/dirtree.c: Removed unused variable.

2002-12-02  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c, src/pool.c: Bug#1846 - File overwrites
	fail.  Thanks to Sergei Rozinov for tracking down this bug.

2002-11-26  castaglia <castaglia>

	* src/support.c: Minor style change: use macros for FTP commands.

2002-11-26  castaglia <castaglia>

	* NEWS, lib/pr-syslog.c: Bug#1853 - SyslogFacility: unable to open
	syslog.

2002-11-25  castaglia <castaglia>

	* modules/mod_auth.c: Moving hcur increment to a more appropriate
	location.  There still seems to be lingering issues with these
	limits, though.  Yay.

2002-11-25  castaglia <castaglia>

	* modules/mod_core.c: Oops.  A little too zealous on the previous
	change -- mg_size should always be filled, even if get_fs_size() is
	not supported on the host.

2002-11-25  castaglia <castaglia>

	* modules/mod_core.c: Adjust core_display_file() to use
	get_param_ptr() when looking up a MaxClients setting to display.
	The MaxClients configuration handler had been changed to storing a
	pointer, but this function hadn't been updated to reflect that
	configuration handler change.

2002-11-25  castaglia <castaglia>

	* include/dirtree.h: Removing unused struct members.

2002-11-25  castaglia <castaglia>

	* contrib/mod_radius.c, modules/mod_auth.c, modules/mod_ls.c,
	src/dirtree.c, src/ident.c, src/support.c, utils/ftpshut.c: Removed
	use of UCHAR cast from core code.  It is meant specifically for the
	fnmatch code, and is a #define to an unsigned char -- but the ANSI C
	standards define the parameter to many of the is*() functions to be
	an int, and the UCHAR cast was being used with those is*()
	functions.  Instead, those UCHAR casts have been replaced with int
	casts.

2002-11-25  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#1856 - TimesGMT acts like default is
	'off'.

2002-11-25  castaglia <castaglia>

	* modules/mod_xfer.c: %lu crept back in when PR_LU is needed...

2002-11-25  castaglia <castaglia>

	* NEWS, modules/mod_site.c: Bug#1852 - Proftpd gets signal 11 on
	"quote site".

2002-11-25  castaglia <castaglia>

	* doc/mod_sample.c, include/netio.h, src/ident.c, src/netio.c: 
	Updating my documentation this weekend,  and came across some minor
	inconsistencies...

2002-11-25  castaglia <castaglia>

	* modules/mod_xfer.c: Datatype overflow.

2002-11-23  jwm <jwm>

	* modules/mod_ls.c, utils/ftpshut.c, utils/ftptop.c: Silence
	remaining compiler warnings under Solaris 8 (save for the utmp code,
	bug Bug 1824 will address that).  The nlink_t/pid_t casts will be unnecessary once the Solaris _LP64
	ABI is the default (see sys/isa_defs.h for more info on the Solaris
	ABIs). I didn't want to move from _ILP32 (the historical default) to
	_LP64 because I wasn't sure of the ramifications. We don't have any
	DSOs to worry about, but I'm not sure what else would change/break.

2002-11-23  jwm <jwm>

	* NEWS, contrib/dist/rpm/proftpd.init.d: Bug 1680 - Error in startup
	script

2002-11-22  jwm <jwm>

	* configure: updated configure

2002-11-22  jwm <jwm>

	* NEWS, config.h.in, configure.in, src/support.c: Bug 1839 -
	undefined reference to `get_fs_size'

2002-11-22  castaglia <castaglia>

	* NEWS, utils/ftptop.c: Bug#1848 - undefined reference to
	`halfdelay'.

2002-11-21  castaglia <castaglia>

	* NEWS, modules/mod_log.c: Bug#1812 - Double logging lines for
	ExtendedLog.

2002-11-19  castaglia <castaglia>

	* NEWS, include/dirtree.h, modules/mod_auth.c, modules/mod_core.c,
	src/dirtree.c: Bug#1838 - Since 1.2.6: in add_useralias() setting
	flag CF_MERGEDOWN breaks aliased anonymous functionality.

2002-11-18  castaglia <castaglia>

	* modules/mod_xfer.c: Minor problem with HiddenStores (related to
	the making of HiddenStores a synonym for HiddenStor, with the
	eventual goal of deprecating HiddenStor in favor of HiddenStores).

2002-11-18  castaglia <castaglia>

	* modules/mod_auth.c: Handling of ShowSymlinks in this module still
	used get_param_int() rather than get_param_ptr().

2002-11-18  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Bug#1844 - DisplayLogin %y macro is off
	by 1.

2002-11-18  castaglia <castaglia>

	* NEWS, include/pr-syslog.h: Bug#1840 - Problem with syslog default
	destination on HP-UX.

2002-11-17  jwm <jwm>

	* utils/.cvsignore: ignore ftptop

2002-11-17  jwm <jwm>

	* lib/pr-syslog.c: cast the return value from getpid() to silence a
	compiler warning under solaris

2002-11-15  jwm <jwm>

	* contrib/dist/rpm/proftpd.spec: d'oh - /etc/logrotate.d/ should
	exist in $RPM_BUILD_ROOT before I try to put stuff in it...

2002-11-15  castaglia <castaglia>

	* ChangeLog, NEWS, include/version.h: Ramping up for 1.2.7rc3
	release.

2002-11-15  castaglia <castaglia>

	* utils/ftptop.c: Portability/compiler warning hack.  *sigh*

2002-11-15  castaglia <castaglia>

	* modules/mod_xfer.c: Necessary typecasts to avoid compiler warnings
	(seen on Solaris 2.8).

2002-11-15  castaglia <castaglia>

	* modules/mod_log.c: Style cleanup.

2002-11-14  castaglia <castaglia>

	* modules/mod_auth.c: More hassle/work with MaxClientsPerHost (see
	Bug#1830, Bug#1831).

2002-11-14  castaglia <castaglia>

	* contrib/ftpasswd: Forgot to increment the displayed $version.

2002-11-14  castaglia <castaglia>

	* NEWS: Attributing proper credit. =)

2002-11-14  castaglia <castaglia>

	* contrib/ftpasswd: Minor doc change.

2002-11-14  castaglia <castaglia>

	* NEWS, contrib/ftpasswd: Adding/changing ftpasswd error exit
	values.

2002-11-14  jwm <jwm>

	* Makefile.in: we don't need to worry about removing the
	autoconf-processed proftpd.spec anymore (this wasn't even the right
	path to it, anyway)

2002-11-13  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#1830 - MaxClientsPerHost (small)
	Bug.

2002-11-13  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#1810 - Wrong permissions assigned to
	uploaded file

2002-11-13  castaglia <castaglia>

	* NEWS, utils/ftpwho.c: Bug#1815 - Patch to add class information to
	ftpwho (with verbose on)

2002-11-13  castaglia <castaglia>

	* src/dirtree.c: Add debugging output mentioning the configuration
	file being parsed at debug level 2.

2002-11-12  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c: Fix
	handling/lookup of Timeouts.

2002-11-12  castaglia <castaglia>

	* configure: Updating configure script.

2002-11-12  castaglia <castaglia>

	* configure.in: Minor whitespace quibble.

2002-11-12  jwm <jwm>

	* .cvsignore: ignore ftptop, autom4te.cache

2002-11-12  jwm <jwm>

	* configure: updated configure

2002-11-12  jwm <jwm>

	* Make.rules.in, configure.in: oops, accidentally reverted TJ's
	changes

2002-11-12  jwm <jwm>

	* Make.rules.in, Makefile.in, NEWS, configure.in: Only link ftptop
	with lib{n,}curses - it isn't needed in any other binaries

2002-11-12  castaglia <castaglia>

	* configure: Updating the configure script.

2002-11-12  castaglia <castaglia>

	* Make.rules.in, NEWS, configure.in: Bug#1703 - mod_sql_mysql
	compile error.

2002-11-12  castaglia <castaglia>

	* NEWS, modules/mod_core.c, modules/mod_xfer.c: Bug#1760 -
	AllowOverwrite not operational.

2002-11-11  jwm <jwm>

	* utils/.cvsignore: ignore Makefile, object and editor backup files

2002-11-05  jwm <jwm>

	* NEWS, include/modules.h, modules/mod_auth.c, src/auth.c: Bug 1818
	- proftpd doesn't compile on hpux11

2002-11-04  jwm <jwm>

	* configure: updated configure

2002-11-04  jwm <jwm>

	* NEWS, config.h.in, configure.in, utils/ftptop.c: ftptop can now
	use either curses or ncurses Based on a submission by: Ayamura KIKUCHI <ayamura@ayamura.org>

2002-11-03  jwm <jwm>

	* NEWS, src/scoreboard.c: Bug 1814 - class names are truncated in
	scoreboard entry

2002-11-02  jwm <jwm>

	* contrib/dist/rpm/proftpd.spec: forgot to add logrotate to %files

2002-11-02  jwm <jwm>

	* NEWS: update

2002-11-02  jwm <jwm>

	* contrib/dist/rpm/proftpd.logrotate, contrib/dist/rpm/proftpd.spec: 
	Bug 1398 - there is no log rotate for /var/log/xferlog

2002-11-02  jwm <jwm>

	* modules/mod_auth.c: style, whitespace

2002-11-02  jwm <jwm>

	* contrib/mod_ratio.c: clean up compiler warnings

2002-11-02  jwm <jwm>

	* NEWS, contrib/dist/rpm/proftpd.spec: Bug 1772 - Docs fixup in RPM
	spec file

2002-11-02  jwm <jwm>

	* configure: update configure

2002-11-02  jwm <jwm>

	* configure.in: don't preprocess the rpm spec

2002-11-02  jwm <jwm>

	* contrib/dist/rpm/proftpd.spec: having autoconf process
	proftpd.spec.in is silly - it's only that way to substitute the
	@VERSION@ tag.

2002-11-02  jwm <jwm>

	* NEWS: update

2002-11-02  jwm <jwm>

	* README.PAM, config.h.in: Bug 1805 - PAM support under Mac OS X

2002-11-02  jwm <jwm>

	* README.PAM: style

2002-11-02  jwm <jwm>

	* NEWS, config.h.in, configure.in, include/conf.h: Bug 1803 - Check
	for SIZEOF_UNSIGNED_LONG_LONG to determine LFS support breaks some
	Linux installations

2002-10-30  castaglia <castaglia>

	* NEWS: Typo.

2002-10-30  castaglia <castaglia>

	* NEWS, contrib/mod_wrap.c: Bug#1800 - Proftpd child segfaults when
	ussing a PASS without no USER first.

2002-10-30  castaglia <castaglia>

	* NEWS: Typos.

2002-10-30  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Fixing broken AuthAliasOnly, so that it
	does as described in the docs (it had been broken by Bug#1567).

2002-10-29  castaglia <castaglia>

	* utils/ftpcount.c, utils/ftpwho.c, utils/utils.h: Modifying the
	handling of struct option in these files.  A change had been made
	earlier in CVS to get these utilities to compile properly under IRIX
	(which has a <getopt.h> that does not define struct option);
	unfortunately, that change made it such that on Solaris, the
	utilities did not compile.  The modifications committed bring the
	handling of struct option in the utilities to be like that of the
	main proftpd binary, which consequently is handled properly under
	Solaris, IRIX, BSD, and Linux.  Hopefully this concludes this getopt
	issue in the utilities.

2002-10-29  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_core.c: More get_param_int()
	cleanup (this function will cause grief on LP64 architectures, where
	pointer sizes are different and passing pointers to stack values is
	a Bad Thing).  This patch moves all the MaxClients*/MaxHosts*
	directives into mod_auth, makes them all consistently use pointers,
	and corrects a small datatype underflow bug that crept in with the
	introduction of MaxClientsPerUser (oops).

2002-10-29  jwm <jwm>

	* src/data.c: * style * Make sure session.xfer uses cleared memory so unset structure
	  members won't contain random values.

2002-10-29  jwm <jwm>

	* NEWS: Make sure session.xfer uses cleared memory so unset
	structure members won't contain random values.

2002-10-28  castaglia <castaglia>

	* configure: Updating configure script.

2002-10-28  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, include/support.h,
	modules/mod_core.c, src/support.c: Bug#1722 - Can't work magic
	cookie %F on FreeBSD.

2002-10-28  castaglia <castaglia>

	* src/data.c: Removed unnecessary log_debug() calls from
	data_sendfile().  Part of this is because of the headache involved
	with getting the proper format specifiers into the log_debug() calls
	-- too much effort for little return.

2002-10-28  castaglia <castaglia>

	* modules/mod_xfer.c, src/dirtree.c, src/inet.c, src/log.c,
	src/main.c, utils/ftpcount.c, utils/ftptop.c, utils/ftpwho.c: Added
	typecast to int in is*() functions for picky Solaris.

2002-10-28  castaglia <castaglia>

	* include/conf.h: Adding some necessary function prototypes for AIX,
	when compiled using -D_NO_PROTO.

2002-10-26  castaglia <castaglia>

	* modules/mod_auth.c, utils/utils.h: Fixing signedness variable
	check in mod_auth Fixed a missing definition in utils/utils.h which
	afflicted systems that don't have the getopt_long() function.

2002-10-25  castaglia <castaglia>

	* include/modules.h, modules/mod_log.c, src/main.c,
	utils/ftpcount.c: Fixing some function pointer scopes, removing
	unused variables -- general cleanup due to compiler complaints on
	IRIX.

2002-10-25  castaglia <castaglia>

	* src/main.c: Re-adding logging of SIGSEGVs.

2002-10-24  castaglia <castaglia>

	* modules/mod_auth.c: Correcting an off-by-one error concerning the
	enforcement of MaxClients.

2002-10-24  castaglia <castaglia>

	* NEWS: Forgot to note that Bug#1745 was fixed in 1.2.7rc1.

2002-10-24  castaglia <castaglia>

	* configure: Updating configure script.

2002-10-24  castaglia <castaglia>

	* NEWS, configure.in: Bug#1287 - Error compile with autoshadow
	option

2002-10-24  castaglia <castaglia>

	* configure: Updating configure script.

2002-10-24  castaglia <castaglia>

	* configure.in: Fixing up the configure script to handle the case
	where the admin forgets to (or just plain doesn't) provide a value
	for the new --enable-* tunable configure options.  It was simply
	writing the "yes"/"no" strings into the headers -- not what I
	wanted.  Now, configure will emit a warning if no values are
	explicitly provided, and will use the default numbers.  Otherwise,
	it will use the value provided.

2002-10-24  castaglia <castaglia>

	* README.AIX: Adding remark reminding AIX users to avoid use of
	--enable-autoshadow and --enable-shadow in their configure options.

2002-10-23  castaglia <castaglia>

	* configure: Updating configure script to match changes/fixes to
	configure.in.

2002-10-23  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, include/options.h,
	include/scoreboard.h, utils/utils.h: Fixed configure script handling
	  of ncurses detection (was not #define'ing HAVE_LIBNCURSES properly)
	Added --enable-scoreboard-buffer-size option to the other "tunable"
	  configure options, for tuning the size of sce_cmd, sce_cwd.

2002-10-23  castaglia <castaglia>

	* modules/mod_site.c: Fixing requirement of auth chk for SITE
	commands CHGRP and CHMOD.

2002-10-22  castaglia <castaglia>

	* include/version.h: Making CVS look ready for rc3.

2002-10-22  castaglia <castaglia>

	* ChangeLog, NEWS, include/version.h: Preparing for release of
	1.2.7rc2.

2002-10-21  castaglia <castaglia>

	* contrib/mod_wrap.c: Fixed a minor file descriptor leak in mod_wrap
	(affects only the child process, not the daemon process).

2002-10-21  castaglia <castaglia>

	* configure: Updating configure script for added --enable* options.

2002-10-21  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, contrib/mod_radius.c,
	contrib/mod_ratio.c, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
	contrib/mod_sql_postgres.c, doc/license.txt, include/dirtree.h,
	include/options.h, include/pool.h, lib/pr-syslog.c, lib/pwgrent.c,
	modules/mod_auth.c, modules/mod_core.c, modules/mod_ls.c,
	modules/mod_site.c, modules/mod_xfer.c, src/data.c, src/dirtree.c,
	src/ident.c, src/inet.c, src/log.c, src/main.c, src/modules.c,
	src/netio.c, src/pool.c, src/regexp.c, src/support.c: Large style
	  cleanup: - added PR_ prefix to TUNABLE_ macros   - renamed command handlers in some modules (from cmd_* to
	    <module-name>_*) in order to better exemplify module namespace
	  conventions - removed extraneous make_named_sub_pool() (added macro for backward     compatibility for contrib modules)   - lots of trivial whitespace changes Hopefully I didn't break anything too major with this.

2002-10-19  flyhmstr <flyhmstr>

	* doc/faq.html: ML: new FAQ issue

2002-10-18  castaglia <castaglia>

	* src/auth.c: Fixed a bad bug, introduced with the Cygwin changes (I
	think).  setgid() will not be called if the platform doesn't have
	setgroups() due to the placement of the HAVE_SETGROUPS #ifdefs.  I
	don't know if this change will break stuff under Cygwin, but the
	current placement of those #ifdefs won't do.

2002-10-18  castaglia <castaglia>

	* NEWS, modules/mod_core.c: Fixed typo in NEWS Added handler for
	 ScoreboardPath directive, which will report on the deprecated nature
	 of the directive, and inform the admin of using the newer
	 ScoreboardFile instead.  Hopefully this will help ease (somewhat)
	the upgrade to 1.2.7.

2002-10-18  castaglia <castaglia>

	* NEWS, utils/ftptop.c: Bug#1778 - 1.2.7rc1 fails to link on OpenBSD
	3.2-current

2002-10-18  flyhmstr <flyhmstr>

	* doc/Configuration.html: ML: updated to include mod_radius stuff

2002-10-18  flyhmstr <flyhmstr>

	* doc/Configuration.html, doc/faq.html: ML: updated directivelist
	and faq

2002-10-18  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#1785 - Bad handling of symlinks

2002-10-17  castaglia <castaglia>

	* src/auth.c, src/data.c, src/dirtree.c, src/inet.c, src/log.c,
	src/main.c, src/modules.c, src/pool.c, src/regexp.c,
	src/scoreboard.c, src/support.c: Cleanliness/style: changing core
	code to use PR_LOG_* instead of LOG_*.  Contrib modules may need to
	be changed to use PR_LOG_* in the future.

2002-10-16  castaglia <castaglia>

	* NEWS, modules/mod_log.c: Bug#1644 - LogFormat local IP and FQDN
	tags missing

2002-10-15  castaglia <castaglia>

	* README.AIX: Updating this README with the CFLAGS that seem to work
	with the newer proftpd versions.

2002-10-15  castaglia <castaglia>

	* modules/mod_xfer.c: Missed the assignment of session.xfer.path in
	cmd_stor() in the previous commit.

2002-10-15  castaglia <castaglia>

	* include/proftpd.h, modules/mod_xfer.c, src/data.c: Removing some
	cruft from session.xfer, fixing some whitespace styling.
	Significant change is moving session.xfer.path so that it is not
	allocated from session.xfer.p (a pool with a bad name =P), but
	rather is the string originally allocated in the PRE_CMD handler,
	from cmd->pool.  There is no reason for the path to be reallocated
	again from session.xfer.p (unless any functions manipulate that
	buffer, which they shouldn't, and which none currently do), and, in
	some cases, ASCII CRLF handling was causing corruption of that
	buffer.

2002-10-15  castaglia <castaglia>

	* src/log.c: Make sure log_openfile() returns the same error values
	as #defined in include/log.h.

2002-10-15  castaglia <castaglia>

	* src/auth.c: Need to handle case in set_groups() where suppl_gids
	might be non-NULL, but the contained number of gids
	(suppl_gids->nelts) is zero.  This was causing a segfault, for
	memory was being allocated (of length zero) which was then being
	cleared.

2002-10-14  castaglia <castaglia>

	* NEWS, modules/mod_auth.c, src/main.c, src/modules.c: Changing
	place in code where switching to the User/Group for a vhost occurs,
	so that it happens prior to the calling of any modules' session
	initialization callbacks.

2002-10-10  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#1770 - Forgetting to check for no IP
	in string

2002-10-09  castaglia <castaglia>

	* NEWS, modules/mod_auth.c, src/auth.c, src/dirtree.c,
	src/support.c: Bug#1769 - Lack of supplemental groups can cause
	segfault.

2002-10-09  flyhmstr <flyhmstr>

	* doc/Configuration.html: ML: updated directive list ready for
	1.2.7rc2

2002-10-08  castaglia <castaglia>

	* modules/mod_xfer.c: Oops.  Should always use the FS API functions
	for FS operations.

2002-10-08  castaglia <castaglia>

	* modules/mod_xfer.c: Clean up files created by mkstemp(3) if other
	checks (e.g. <Limit>) fail.  Discrepancy noticed by Joao Gouveia
	<tharbad@kaotik.org>.

2002-10-08  castaglia <castaglia>

	* NEWS, src/main.c: Bug#1759 - ftpwho shows much more connections
	than realy is.

2002-10-08  jwm <jwm>

	* README, README.AIX, README.modules: style nit

2002-10-08  castaglia <castaglia>

	* CREDITS, INSTALL, Makefile.in, README, README.AIX,
	README.modules, README.ports: Updating documentation, fixing 'make
	clean' target.  Thanks to Michael Renner for these patches.

2002-10-07  castaglia <castaglia>

	* INSTALL, README.modules: Removing references to crufty old
	mod_test.

2002-10-07  castaglia <castaglia>

	* INSTALL: Changing mention of ScoreboardPath to ScoreboardFile.

2002-10-07  castaglia <castaglia>

	* sample-configurations/complex-virtual.conf: Updating more example
	configs.

2002-10-07  castaglia <castaglia>

	* sample-configurations/PFTEST.shadow: Match username 'proftpd' in
	the test passwd file.

2002-10-07  castaglia <castaglia>

	* sample-configurations/PFTEST.conf.in: Updating config for 1.2.7
	release cycle (ScoreboardPath -> ScoreboardFile).

2002-10-04  castaglia <castaglia>

	* utils/ftptop.c: Adding kludge to ftptop that scans the config file
	for a non-default ScoreboardFile directive.

2002-10-04  castaglia <castaglia>

	* src/scoreboard.c: Amend the addition of using fchmod() on the
	scoreboard to make the mode 0644, rather than 0444.  This allows for
	non-root daemons to still be able to use the scoreboard.  Thanks to
	Michael Renner for noting this.

2002-10-04  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#1735 - Proftpd 1.2.6 compiled on
	FreeBSD 4.6.2 exits on signal 11

2002-10-04  castaglia <castaglia>

	* src/scoreboard.c: Addition borne of paranoia inspired by recent
	Apache scoreboarding vulnerability.

2002-10-03  castaglia <castaglia>

	* modules/mod_auth.c: Fixing off-by-one error in MaxClientsPerHost
	check.

2002-10-03  castaglia <castaglia>

	* CREDITS: Adding thanks/credits for unnamed users who contribute to
	the project.

2002-10-03  castaglia <castaglia>

	* modules/mod_site.c, src/main.c: Some style-related cleanups.
	Still working on that HELP SITE code - had the tertiary operator
	parameters in the wrong order (and it was apparently causing a
	segfault).

2002-10-02  castaglia <castaglia>

	* NEWS, src/netio.c: Bug#1757 - non-ANSI Syntax in netio.c

2002-10-02  castaglia <castaglia>

	* include/version.h: Updating the version, preparing for the next
	CVS/release.

2002-10-02  castaglia <castaglia>

	* modules/mod_site.c: Fixing support for 'HELP SITE' (common) in
	addition to 'SITE HELP' (proper).

2002-10-02  castaglia <castaglia>

	* src/main.c: Cleaning up a badly-written preprocessor directive (my
	fault).

2002-10-02  castaglia <castaglia>

	* utils/scoreboard.c: Prevent egregious ENOENT error when reading
	the scoreboard.

2002-10-01  castaglia <castaglia>

	* ChangeLog, NEWS, include/version.h: Preparing for release of
	1.2.7rc1.

2002-10-01  castaglia <castaglia>

	* modules/mod_auth.c: Minor wording correction for default
	MaxClientsPerUser message.

2002-10-01  castaglia <castaglia>

	* NEWS, modules/mod_auth.c: Bug#1675 - add new MaxClientsPerUser
	           configuration option.  Works just like MaxHostsPerUser.

2002-10-01  jwm <jwm>

	* configure: updated configure

2002-10-01  jwm <jwm>

	* configure.in: Fix for broken headers in OS X 10.1 Submitted by:
	Thomas Ganter <tganter@mac.com>

2002-09-30  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#1694 - SQLLog QUIT doesn't execute on
	connection close.  With the various changes to mod_sql (SQLNegativeCache, etc), I'm
	bumping its version to 4.10.

2002-09-30  castaglia <castaglia>

	* NEWS: Forgot to note that Bug#1748 had been fixed.

2002-09-30  castaglia <castaglia>

	* NEWS, include/modules.h, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_site.c, src/main.c: Bug#1475 - Minor changes to SITE
	command handling.

2002-09-28  castaglia <castaglia>

	* modules/mod_site.c: Helps if I put the full code from the fix in
	CVS, doesn't it?

2002-09-28  castaglia <castaglia>

	* include/privs.h, modules/mod_site.c: Casting and variable type fun
	(based on compiler complaints).

2002-09-28  castaglia <castaglia>

	* utils/ftptop.c: With the addition of the sce_server_addr field to
	the scoreboard entry struct, ftptop no longer needs to use
	inet_ntoa(3) to stringify the server IP address.

2002-09-27  castaglia <castaglia>

	* NEWS: Bug#1572 - Need to use pam_end() to close session on Solaris
	8.  The cause turned out to be a need to always call pam_end() after
	pam_authenticate().

2002-09-27  castaglia <castaglia>

	* include/scoreboard.h, src/scoreboard.c, utils/utils.h: Seems that
	gcc-3 has some quirks when it comes to variadic functions.
	Adjusting to compensate.

2002-09-27  castaglia <castaglia>

	* src/scoreboard.c: Try to handle cases where NULLs might be
	(inappropriately) sent to pr_scoreboard_update_entry().

2002-09-27  castaglia <castaglia>

	* utils/ftptop.c, utils/utils.h: Make sure that the utils compile on
	platforms that don't have <getopt.h>

2002-09-26  castaglia <castaglia>

	* include/scoreboard.h, modules/mod_auth.c, src/scoreboard.c,
	utils/ftptop.c, utils/ftpwho.c, utils/utils.h: Adding display of
	server (IP address/port) string to ftpwho (when -v is used).

2002-09-26  castaglia <castaglia>

	* utils/ftptop.c: Removed an unused variable.

2002-09-26  castaglia <castaglia>

	* utils/utils.h: Keeping this in sync with include/scoreboard.h

2002-09-26  castaglia <castaglia>

	* src/main.c: Make clearing the scoreboard slot one of the first
	things that happens when a child exits.

2002-09-26  castaglia <castaglia>

	* utils/ftpwho.c: Adjusting the spacing of ftpwho fields, trying to
	make the output prettier.

2002-09-26  castaglia <castaglia>

	* include/scoreboard.h, src/main.c, src/scoreboard.c: Adjusting some
	of the scoreboard entry sizes to be smaller (we can always make them
	larger later, if need be).  Also adding the clearing of a scoreboard
	slot in the case of a SIGSEGV in the signal handler itself.

2002-09-26  castaglia <castaglia>

	* NEWS, contrib/mod_radius.c: Bug#1687 - Add contrib module for
	RADIUS authentication, accounting

2002-09-26  castaglia <castaglia>

	* NEWS, src/dirtree.c: Bug#1732 - No checking for NULL at inet_ascii
	and pr_fnmatch.  The fix for this now allows for "inline" comments
	in the lines of a proftpd.conf file, e.g.:     Port 21 # Some comment here whereas before, that "# Some comment here" would be tokenized and
	treated as normal input into the configuration directive handler.

2002-09-26  castaglia <castaglia>

	* NEWS, include/privs.h: Bug#1395 - Check return values in PRIVS
	calls

2002-09-26  castaglia <castaglia>

	* src/main.c: No need to complain of scoreboard slot cleaning error
	when we're not a child process (e.g. when the daemon is shutting
	down).

2002-09-25  castaglia <castaglia>

	* configure: And the necessary delayed commit of the new configure
	script, to match the configure.in tweaks.

2002-09-25  castaglia <castaglia>

	* configure.in: Needing to tweak this, in order to get the
	timestamps on configure.in and configure files in the CVS repository
	to be what we need them to be.

2002-09-25  castaglia <castaglia>

	* utils/Makefile.in, utils/ftpcount.c, utils/ftpshut.c,
	utils/ftptop.c, utils/ftpwho.c, utils/misc.c, utils/scoreboard.c,
	utils/utils.h: Populating the new utils/ sub-directory with the
	source code files for the ftpcount, ftpwho, ftptop, ftpshut
	utilities.

2002-09-25  castaglia <castaglia>

	* NEWS: Forgot to update the NEWS file for the scoreboard changes.

2002-09-25  castaglia <castaglia>

	* Make.rules.in, Makefile.in, config.h.in, configure, configure.in,
	contrib/mod_sql.c, include/conf.h, include/log.h, include/privs.h,
	include/scoreboard.h, include/version.h, lib/Makefile.in,
	modules/Makefile.in, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_xfer.c, src/Makefile.in, src/log.c, src/main.c,
	src/scoreboard.c, src/support.c: Bug#1713 - Scoreboard changes.
	This simple statement covers quite a few changes.

2002-09-25  jwm <jwm>

	* modules/mod_xfer.c: * style * silence a compiler warning with a cast (the Cast Nazi yields
	  ground: film at eleven)

2002-09-25  jwm <jwm>

	* src/sets.c: style

2002-09-25  jwm <jwm>

	* lib/glibc-mkstemp.c, lib/strsep.c, lib/vsnprintf.c: * style * silence ranlib warnings if the host OS already has the appropriate   functions

2002-09-23  castaglia <castaglia>

	* src/main.c: Corrections in comments.

2002-09-23  castaglia <castaglia>

	* src/main.c: Make necessary modification to handling of SIGCHLD, in
	order to prevent nasty segfaults under non-POSIX, SVR4 systems (e.g.
	IRIX).  Explanatory comments in sig_child() handler.

2002-09-21  jwm <jwm>

	* README.LDAP: * update for 2.8.10 * postcard-ware

2002-09-21  jwm <jwm>

	* contrib/mod_ldap.c: mod_ldap is now postcard-ware

2002-09-19  castaglia <castaglia>

	* sample-configurations/basic.conf: Fix the grammar in the default
	configuration file a little, and make a minor optimization:
	<Directory /*> is not really needed, as <Directory /> suffices.

2002-09-16  castaglia <castaglia>

	* contrib/mod_sql.c: Changed this logging level, so that it does not
	show up at DEBUG0 (which is the default log level, or at least
	included in the default logging levels).

2002-09-15  jwm <jwm>

	* Makefile.in, NEWS: Bug 1726 - Cygwin's Makefile inconsistency

2002-09-13  castaglia <castaglia>

	* Make.rules.in, NEWS, include/conf.h, include/inet.h,
	include/netio.h, lib/Makefile.in, modules/Makefile.in,
	modules/mod_core.c, modules/mod_ls.c, modules/mod_xfer.c,
	src/Makefile.in, src/data.c, src/ident.c, src/inet.c, src/main.c,
	src/netio.c: Adding the NetIO API.

2002-09-13  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#1736 - RETR does not handle an
	inappropriate REST

2002-09-13  castaglia <castaglia>

	* NEWS, include/dirtree.h, modules/mod_core.c, modules/mod_ls.c,
	src/dirtree.c: Bug#1737 - Enhance file hiding via regular
	expressions

2002-09-13  castaglia <castaglia>

	* contrib/mod_sql.c: Make this particular mod_sql log message a
	little less urgent.

2002-09-13  castaglia <castaglia>

	* modules/mod_auth.c: Slight correction in the config context used
	for looking up any configured TimeoutSession.

2002-09-13  castaglia <castaglia>

	* NEWS, modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c,
	src/data.c, src/dirtree.c: Bug#1436 - Feature Enhancement: Timeouts
	on a <Virtualhost> basis

2002-09-13  castaglia <castaglia>

	* modules/mod_auth.c: When unable to chdir to a directory, when
	logging in, add reporting of errno.

2002-09-13  castaglia <castaglia>

	* NEWS, include/proftpd.h, modules/mod_core.c, src/main.c: Bug#1658
	- Separate session/daemon resource limit settings.

2002-09-13  jwm <jwm>

	* configure: Updated configure from last configure.in commit

2002-09-13  jwm <jwm>

	* configure.in: You can't explicitly include sys/sendfile.h when
	compiling with large file support.  Submitted by: Jan Kasprzak <kas@informatics.muni.cz>
	http://www.geocrawler.com/lists/3/SourceForge/9189/0/9566710/

2002-09-13  jwm <jwm>

	* contrib/mod_ratio.c: * anonymous ratios are now looked up by the e-mail address used * make sure g.user is defined so the ratio is recorded for
	*something* Submitted by: Benjamin Schieder <bs1544@bingo-ev.de>
	http://www.geocrawler.com/lists/3/SourceForge/9190/75/9539913/

2002-09-12  castaglia <castaglia>

	* modules/mod_log.c: Missed a Boolean...

2002-09-12  castaglia <castaglia>

	* modules/mod_log.c: Fixed minor problem with duplicate logging:
	mod_log was a) looking in the wrong context, and b) recursing
	through configuration subsets in an attempt to fix its wrong context
	starting point.  Should be remedied now.

2002-09-11  castaglia <castaglia>

	* doc/mod_sample.c: Updating the code in the mod_sample.c file to
	demonstrate things a little better.

2002-09-10  castaglia <castaglia>

	* modules/mod_xfer.c: Helps if uploads/downloads actually
	work...oops. =P

2002-09-10  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#1065 - Added MaxRetrieveFileSize,
	MaxStoreFileSize directives.

2002-09-10  castaglia <castaglia>

	* NEWS, modules/mod_log.c: Bug#1669 - Filename meta (%f) not
	           correctly expanded for some commands in WRITE logging class.  This
	           will necessitate discussion on the current state of proftpd's
	logging variables.

2002-09-10  castaglia <castaglia>

	* src/main.c: Removed an unused variable.

2002-09-10  jwm <jwm>

	* modules/mod_xfer.c: fixup

2002-09-10  castaglia <castaglia>

	* NEWS, modules/mod_core.c, modules/mod_ls.c, src/data.c,
	src/support.c: Bug#1486 - lots of changes made to code, adding
	           buffers in an attempt to optimize directory listings and ASCII file
	           translation.  We'll see how many bugs are added with this commit =).

2002-09-10  castaglia <castaglia>

	* NEWS, include/conf.h: Bug#1662 - #define _GNU_SOURCE, which will
	           quell some compiler warnings (e.g. the crypt() warning when using
	mod_sql).

2002-09-10  jwm <jwm>

	* modules/mod_xfer.c: minor format-type fixups

2002-09-09  jwm <jwm>

	* src/main.c: style

2002-09-09  castaglia <castaglia>

	* src/main.c: No comment.

2002-09-09  castaglia <castaglia>

	* src/main.c: Spoke too soon. =P

2002-09-09  castaglia <castaglia>

	* src/main.c: Don't forget to append the "proftpd: " prefix for
	non-setproctitle(2) platforms.  Hopefully this ends our fun with
	Bug#1649.

2002-09-09  uid43859 <uid43859>

	* lib/pr-syslog.c: Solaris doesn't have the macro LOG_PRI()

2002-09-09  uid43859 <uid43859>

	* src/main.c: fixed & cleaned up #defines

2002-09-09  jwm <jwm>

	* src/main.c: Fixing the fix for Bug#1649 - the #ifdefs didn't
	actually change anything

2002-09-07  castaglia <castaglia>

	* lib/pr-syslog.c: Forgot to bracket use of __progname in #ifdefs,
	as not every platform's libc supports __progname.

2002-09-07  castaglia <castaglia>

	* src/main.c: Need to match datatypes for the unixpw_persistent
	variable in main.c and mod_unixpw.c

2002-09-07  castaglia <castaglia>

	* NEWS: Oops.  Wrong bug number.

2002-09-07  castaglia <castaglia>

	* modules/mod_core.c: Oops.  Forgot to cleanup my debugging/logging.

2002-09-06  castaglia <castaglia>

	* NEWS, modules/mod_core.c, src/main.c: Bug#1652 - add a
	           MaxConnectionRate directive, for configuration a connection rate
	           limiting mechanism.  This mechanism is really only effective when
	           running proftpd in standalone mode; if using inet/xinetd, those
	           daemons have their own connection rate limiting mechanisms.

2002-09-06  castaglia <castaglia>

	* NEWS, src/main.c: Bug#1432 - adding check to function handling FTP
	           commands received from clients to be more strictly RFC959-compliant:
	           leading whitespace before the FTP command is now not allowed.

2002-09-06  castaglia <castaglia>

	* NEWS, modules/mod_core.c, src/main.c: Bug#1253 - added a
	           DefaultAddress directive, for explicitly configuring the IP address
	to which the "default" server listens.

2002-09-06  castaglia <castaglia>

	* NEWS, src/dirtree.c: Bug#1725 - Still fixing the bugs I introduced
	           into match_ip() as a consequence of Bug#1701.  This particular bug
	           was caused by an assumption; I'd forgotten to take into account
	           globbing characters attached to address strings in the case of a '.'
	           suffix/prefix.  The manipulated string was used as an argument to
	           inet_getaddr(), which returns a pointer.  I forgot to check for that
	           pointer being NULL.

2002-09-06  castaglia <castaglia>

	* NEWS, modules/mod_core.c, modules/mod_site.c: Bug#1663 - Add SITE
	CHGRP command

2002-09-06  castaglia <castaglia>

	* NEWS, include/ftp.h, include/modules.h, modules/mod_auth.c,
	src/auth.c: Bug#1719 - Adding RFC2228-defined FTP commands and
	           response codes; made minor adjustments to allow future RFC2228
	           modules (will not change current/default behavior).

2002-09-06  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#1593 - added a new mod_sql directive,
	           SQLNegativeCache, to toggle whether mod_sql caches negative lookups.
	Documentation to be forthcoming.

2002-09-06  castaglia <castaglia>

	* contrib/mod_sql.c, contrib/mod_sql.h, contrib/mod_sql_mysql.c,
	contrib/mod_sql_postgres.c: Correcting the OpenSSL exemption clause
	to list the proper copyright holder for these files.

2002-09-05  castaglia <castaglia>

	* NEWS: Bug#1724 - The AuthPAM* directive lookups were using
	  TOPLEVEL_CONF as their config context lookup, but the directives
	  themselves were only allowed in the server config contexts ("server
	  config", <VirtualHost>, and <Globa>).  This had the consequence of
	  those directives not being properly seen when doing <Anonymous>
	  logins.  The fix was to use main_server->conf as the lookup context,
	rather than TOPLEVEL_CONF.

2002-09-05  castaglia <castaglia>

	* NEWS, modules/mod_auth.c, modules/mod_core.c, src/dirtree.c: 
	Bug#1076 - Adding an AllowOverride directive, to provide
	           finer-grained control over which users, if any, have their
	           .ftpaccess files parsed/honored.

2002-09-05  castaglia <castaglia>

	* Make.rules.in, NEWS, include/conf.h, include/log.h,
	include/pr-syslog.h, lib/pr-syslog.c, modules/mod_core.c,
	src/log.c, src/main.c: Bug#1682 - Use of chroot(2) and external
	           libraries made necessary the implementing of an internal syslog
	           client routine for use by proftpd.

2002-09-04  castaglia <castaglia>

	* Makefile.in, NEWS: Bug#1654 - Add DESTDIR in Makefile

2002-09-04  castaglia <castaglia>

	* NEWS, include/version.h, src/auth.c, src/main.c: Starting in on
	the work for the 1.2.7 version: Bug#1649 - setproctitle() prepends and appends process name. This is
	           a FreeBSD-specific bug (yay portability).  Bug#1666 - Auth modules
	can return duplicate supplemental groups

2002-09-04  flyhmstr <flyhmstr>

	* doc/Configuration.html: ML: more fixme's gone

2002-09-04  castaglia <castaglia>

	* ChangeLog, NEWS, include/version.h: Ramping up for the release of
	1.2.6.

2002-09-04  flyhmstr <flyhmstr>

	* doc/Configuration.html: ML: updated directive list

2002-09-02  castaglia <castaglia>

	* NEWS: Note version increment of mod_ldap; add processing of
	signals in the io_poll() loop.

2002-08-31  jwm <jwm>

	* contrib/mod_ratio.c: openssl exemption

2002-08-31  jwm <jwm>

	* contrib/mod_ldap.c: 2.8.10 - replacement for ldap_build_filter()

2002-08-31  jwm <jwm>

	* src/main.c: would someone please give me an elementary lesson in
	checking what exactly i'm committing before committing it?

2002-08-31  jwm <jwm>

	* src/main.c, src/pool.c: style, removing cruft

2002-08-29  castaglia <castaglia>

	* contrib/mod_readme.c: Added OpenSSL exemption clause to this
	contrib module's license.

2002-08-28  castaglia <castaglia>

	* NEWS, src/dirtree.c: Fixed bug introduced by bad use of
	inet_ntoa(3) in fix for Bug#1701.

2002-08-24  jwm <jwm>

	* contrib/mod_ldap.c: * openssl exemption * version bump to 2.8.9

2002-08-19  jwm <jwm>

	* doc/Configuration.sgml: adding the sgml version of the directive
	docs

2002-08-15  castaglia <castaglia>

	* ChangeLog, NEWS, include/version.h: Preparing to release 1.2.6rc2

2002-08-15  castaglia <castaglia>

	* NEWS, src/dirtree.c: Bug#1701 - Reverse lookups not working

2002-08-14  castaglia <castaglia>

	* modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c: Updating
	copyright notices.

2002-08-14  castaglia <castaglia>

	* include/inet.h, include/proftpd.h, modules/mod_core.c,
	modules/mod_ls.c, modules/mod_xfer.c, src/data.c, src/inet.c,
	src/main.c, src/support.c: Code cleanup:  - moved ShowSymlinks from mod_core to mod_ls  - changed PassivePorts, AllowForeignAddress, ShowSymlinks, TimesGMT
	   to not use get_param_int() (which uses addresses of stack variables
	   instead of heap variables), and using get_param_ptr() instead.   - minor renaming

2002-08-13  castaglia <castaglia>

	* src/log.c: Added minor, but necessary check when reading the
	scoreboard header on AIX platforms.  Portability is a PITA.

2002-08-12  castaglia <castaglia>

	* modules/mod_ls.c, src/main.c: Added signal processing for
	recursive directory listings Added masking of SIGCHLD in the SIGCHLD
	processing function Added debug logging, at level 7, of module
	session initialization callbacks

2002-08-05  castaglia <castaglia>

	* config.sub: Added case to handle ELF NetBSD on a shark.

2002-08-01  castaglia <castaglia>

	* src/log.c: Added logging of TransferLog file opening at level 6;
	this will aid in debugging errors involving the default TransferLog
	("/var/log/xferlog") on systems which may have troubles (e.g. no
	/var/log directory, which shows up in the logs as "unable to stat()
	/var/log" -- not indicative of the culprit [TransferLog]).

2002-08-01  castaglia <castaglia>

	* include/dirtree.h, src/dirtree.c: Minor fix, matching up datatypes
	in function declaration to actual datatype used (caused a complaint
	under AIX's xlc).

2002-07-26  castaglia <castaglia>

	* src/main.c: Minor cleanup from previous commit.

2002-07-26  castaglia <castaglia>

	* src/dirtree.c, src/main.c, src/support.c: Fixed minor HUP memory
	leak, caused by use of schedule() to schedule an invocation of
	main_rehash().  A sched_t object is allocated for the scheduling
	from permanent_pool, but that object is never freed.  The fix was to
	add a pool member to the sched_t struct, allocated a subpool from
	permanent_pool, allocate the sched_t struct from that subpool, and
	assign the subpool to the struct's pool member.  That way, the
	sched_t object can be destroyed once the scheduled callback has been
	invoked.  Also cleaned up some of the main_rehash() code, to make it
	more legible.

2002-07-25  jwm <jwm>

	* include/regexp.h: typo/style

2002-07-24  castaglia <castaglia>

	* Make.rules.in, NEWS, include/conf.h, include/pool.h,
	include/regexp.h, modules/mod_core.c, src/inet.c, src/main.c,
	src/pool.c, src/regexp.c: Bug#1697 - Memory leak involving regexp
	and SIGHUP

2002-07-22  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_core.c: Oops.  Realized that
	DeferWelcome should've stayed in mod_core.

2002-07-22  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c: 
	Rearranging the placement of several configuration directive
	handlers, placing the handler functions in the module that actually
	uses the configured directive (many were bunched into mod_core).

2002-07-19  castaglia <castaglia>

	* NEWS, lib/pwgrent.c: Bug#1674 - fgetbufline passes NULL pointer to
	fgets()

2002-07-18  castaglia <castaglia>

	* modules/mod_core.c, src/main.c: Miscellaneous configuration
	handler cleanup.

2002-07-15  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: Bug#1645 - HiddenStor should close file
	before renaming

2002-07-15  castaglia <castaglia>

	* NEWS, modules/mod_core.c, src/dirtree.c: Bug#1681 - Multiple
	Include directives in a single file do not get parsed

2002-07-09  castaglia <castaglia>

	* include/proftpd.h, include/support.h, include/timers.h,
	src/main.c, src/support.c, src/timers.c: Committed the latest patch
	attached to Bug#1556.

2002-07-03  jwm <jwm>

	* configure: new configure

2002-07-03  jwm <jwm>

	* Makefile.in, README.cygwin, configure.in: attach 1428 to bug 1569
	- cygwin EXEEXT fixups

2002-07-02  castaglia <castaglia>

	* ChangeLog, NEWS, include/version.h: Preparing for release of
	1.2.6rc1

2002-07-02  castaglia <castaglia>

	* include/inet.h, include/options.h, src/data.c, src/inet.c: Fixing
	consequences of Bug#1502 and ABOR causing some clients to wait
	indefinitely.

2002-07-01  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#1543 - Usernames with spaces,
	problems to authenticate

2002-07-01  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#1628 - group mods (DefaultRoot) only
	work for primary group w/mysql

2002-06-30  castaglia <castaglia>

	* src/inet.c: Fixed potential loop problem I inadvertently
	introduced in the previous check-in.  Oops.

2002-06-28  castaglia <castaglia>

	* include/proftpd.h, modules/mod_xfer.c, src/data.c, src/inet.c,
	src/main.c: Fixing consequences of signal handler changes of
	Bug#1556, allowing for child processes to process their received
	signals as well (all noted in the bug report).

2002-06-28  castaglia <castaglia>

	* contrib/mod_sql.c: Correctly check cmap.grpgidfield, rather than
	cmap.gidfield, when looking up groups by ID.  This was my fault.

2002-06-27  castaglia <castaglia>

	* configure: Updated configure script

2002-06-27  castaglia <castaglia>

	* NEWS, config.h.in, configure.in: Bug#1667 - Move USESHADOW,
	AUTOSHADOW defines from command line into config.h

2002-06-27  castaglia <castaglia>

	* contrib/mod_sql.c: Convert some of the configuration handlers to
	allocating memory for passing numeric values, rather than squeezing
	them into void *.  This fixes a border case where using 0 as the
	value for SQLDefault{UID,GID} or SQLMinUser{ID,UID,GID} would cause
	that directive setting to not be honored; a value of zero cast as a
	void * means that that void * would most likely be interpreted as
	NULL upon retrieval.

2002-06-27  castaglia <castaglia>

	* contrib/mod_sql.c: Removed extraneous parameters from logging
	calls (caught by __attribute__).

2002-06-27  castaglia <castaglia>

	* NEWS: Removed mod_quota.c due to lack of maintainership, bugs.

2002-06-27  flyhmstr <flyhmstr>

	* doc/Configuration.html: ML:   Updated directive list

2002-06-27  flyhmstr <flyhmstr>

	* modules/mod_core.c: ML: fixing minor typo :)

2002-06-27  castaglia <castaglia>

	* include/log.h, include/proftpd.h, modules/mod_auth.c,
	modules/mod_xfer.c: Committed the use of gcc's __attribute__ pragma
	for printf-style function argument checking from Bug#1643.  Fixed
	the minor printf issues this pragma subsequently found in the
	TimeoutSession code, throttling code.

2002-06-27  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Bug#1664 - mod_sql segfaults on cache
	miss for bogus user.

2002-06-26  castaglia <castaglia>

	* src/inet.c: Use the IPPROTO_TCP macro (that's what it's there
	for!) for initializing the value of tcp_proto, instead of manually
	setting it to 6.

2002-06-26  jwm <jwm>

	* Makefile.in: #1569 - EXEEXT support

2002-06-26  castaglia <castaglia>

	* NEWS, include/inet.h, src/data.c, src/inet.c: Bug#1502 - 226
	Transfer Complete sent out before data connection is closed

2002-06-25  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#1655 - Add -n listing option to mod_ls

2002-06-25  castaglia <castaglia>

	* config.h.in: Solaris already defines _FILE_OFFSET_BITS in its
	system headers (at least 2.8 does); check for a defined
	_FILE_OFFSET_BITS before redefining it.

2002-06-25  castaglia <castaglia>

	* src/main.c, src/support.c: Put proper #ifdefs around things to
	avoid some compiler warnings.

2002-06-25  castaglia <castaglia>

	* config.h.in: Added lines for endprotoent, setgroups, setprotoent
	detection performed by autoconf, removed duplicate HAVE_SETPROCTITLE
	line.

2002-06-25  castaglia <castaglia>

	* include/conf.h: Add checking of SIZEOF_UNSIGNED_LONG_LONG to the
	list of macros used for determining when to use %lu and when to use
	%llu.  FreeBSD does not require the other macros used
	(_FILE_OFFSET_BITS or _LARGE_FILES), and so this additional check
	(which assumes that if the size of an unsigned long long is 8 bytes,
	the underlying platform will support use of %llu -- and we all know
	what happens when one assumes) is required for proper LFS detection
	and support on FreeBSD (and perhaps other platforms?).

2002-06-25  castaglia <castaglia>

	* contrib/mod_sql.c: Added LFS-specific format macro, fixed
	NULL/'\0' comparison (was causing a compiler warning).

2002-06-25  castaglia <castaglia>

	* modules/mod_xfer.c: One more minor LFS-related modification.

2002-06-25  castaglia <castaglia>

	* src/auth.c: Fixed minor indentation/spacing.

2002-06-25  jwm <jwm>

	* contrib/mod_ldap.c: #1659 - LDAP config handlers should use
	c->pool instead of permanent_pool

2002-06-24  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_core.c: Changed use of
	permanent_pool to c->pool in configuration handlers where
	appropriate.

2002-06-24  castaglia <castaglia>

	* modules/mod_ls.c: Forgot to remove the ShowDotFiles configuration
	handler function.

2002-06-24  castaglia <castaglia>

	* NEWS, modules/mod_ls.c, modules/mod_site.c: Removed the deprecated
	AllowChmod and ShowDotFiles directives.

2002-06-23  castaglia <castaglia>

	* NEWS, include/dirtree.h, src/dirtree.c: Bug#1171 - Add ability to
	handle backslash-escaped lines in configuration file

2002-06-23  jwm <jwm>

	* NEWS: where the hell did I get 1304? this is #1569...

2002-06-23  jwm <jwm>

	* NEWS: updates

2002-06-23  castaglia <castaglia>

	* NEWS: Noting addition/work on Cygwin stuff.

2002-06-23  castaglia <castaglia>

	* README.cygwin: Minor spelling correction.

2002-06-23  jwm <jwm>

	* configure: updated configure for #1304 - Cygwin support

2002-06-23  jwm <jwm>

	* README.cygwin: #1304 - README.cygwin Thanks to Stanislav Sinyagin
	<ssinyagin@yahoo.com>

2002-06-23  castaglia <castaglia>

	* include/conf.h, include/data.h, include/default_paths.h,
	include/dirtree.h, include/ident.h, include/inet.h,
	include/libsupp.h, include/log.h, include/modules.h,
	include/options.h, include/pool.h, include/privs.h,
	include/proftpd.h, include/sets.h, include/support.h,
	include/timers.h, src/auth.c, src/data.c, src/dirtree.c,
	src/ident.c, src/inet.c, src/log.c, src/main.c, src/modules.c,
	src/pool.c, src/sets.c, src/support.c, src/timers.c: Updated
	copyrights.

2002-06-23  jwm <jwm>

	* configure.in, src/auth.c, src/inet.c, src/log.c: cleaned up
	versions of #1304 - Cygwin support

2002-06-22  jwm <jwm>

	* modules/mod_xfer.c: minor LFS fix

2002-06-22  jwm <jwm>

	* config.guess, config.sub: update config.guess and config.sub from
	http://subversions.gnu.org/cgi-bin/viewcvs/config/config/;
	parisc-linux support wasn't in our copies

2002-06-22  castaglia <castaglia>

	* NEWS, lib/Makefile.in, lib/glibc-glob.c, src/data.c,
	src/dirtree.c, src/log.c, src/main.c, src/pool.c, src/timers.c: 
	Bug#1650 - Code cleanup

2002-06-22  castaglia <castaglia>

	* modules/mod_auth.c: Fixed bad patching of the new TimeoutSession
	code.

2002-06-22  castaglia <castaglia>

	* NEWS, include/proftpd.h, modules/mod_auth.c: Bug#1306 - Add
	timeout for entire session

2002-06-22  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c,
	modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c,
	src/dirtree.c: In the aftermath of Bug#1650, I went through most of
	the configuration directive handlers, looking for similar possible
	mergedown bugs.  I corrected the lurking mergedown bugs I saw, and
	fixed other cases where merging down was inappropriately being
	requested.  More cleanup and code consolidation is possible, and
	indeed recommended.

2002-06-21  castaglia <castaglia>

	* modules/mod_core.c: Fixed instance of pstrcat() call that did not
	properly have NULL as the last argument.

2002-06-21  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#1650 - LsDefaultOptions doesn't work
	inside anon context

2002-06-21  castaglia <castaglia>

	* NEWS, modules/mod_ls.c: Bug#1647 - Unnecessary use of umode_t in
	mod_ls

2002-06-14  jwm <jwm>

	* Makefile.in: these symlinks aren't needed

2002-06-14  jwm <jwm>

	* contrib/mod_ldap.c: LDAPHomedirOnDemand cleanup/fixes

2002-06-14  castaglia <castaglia>

	* Makefile.in: Added .cvsignore files to the list of files cleaned
	up by 'make distclean'

2002-06-12  castaglia <castaglia>

	* modules/mod_ls.c: Corrected spacing

2002-06-11  castaglia <castaglia>

	* configure: Updated configure script for LFS support detection.

2002-06-11  castaglia <castaglia>

	* NEWS, config.h.in, configure.in, include/conf.h, include/data.h,
	include/log.h, include/proftpd.h, include/support.h,
	modules/mod_core.c, modules/mod_log.c, modules/mod_ls.c,
	modules/mod_xfer.c, src/data.c, src/log.c, src/support.c: Bug#1534 -
	Large File Support

2002-06-11  castaglia <castaglia>

	* configure: Updated configure script

2002-06-11  castaglia <castaglia>

	* Make.rules.in, NEWS, config.h.in, configure.in,
	include/libsupp.h, include/proftpd.h, lib/glibc-mkstemp.c,
	modules/mod_core.c, modules/mod_xfer.c, src/data.c: Bug#1258 - STOU
	not implemented

2002-06-11  castaglia <castaglia>

	* NEWS, src/auth.c: Bug#1463 - Add auth handler dispatch reporting
	at new debug level (level 6)

2002-06-11  castaglia <castaglia>

	* src/main.c: Removed relic function prototype (not needed).

2002-06-11  castaglia <castaglia>

	* NEWS, include/options.h, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_ls.c, modules/mod_xfer.c, src/dirtree.c, src/log.c,
	src/main.c, src/pool.c: Bug#1556 - Signal handlers use unsafe
	functions

2002-06-11  castaglia <castaglia>

	* NEWS, include/dirtree.h, include/modules.h, modules/mod_core.c,
	src/dirtree.c, src/main.c, src/modules.c: Added Define, <IfDefine>,
	<IfModule> configuration directives, -D command-line option

2002-06-11  castaglia <castaglia>

	* NEWS, include/version.h, modules/mod_xfer.c, src/data.c: Bug#1407
	- ftp protocol differences

2002-06-09  castaglia <castaglia>

	* NEWS: Fixed version number.  Sheesh.

2002-06-09  castaglia <castaglia>

	* ChangeLog: Updated ChangeLog

2002-06-09  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
	include/version.h: Bug#1379 - Replace bzero/bcopy with memset/memcpy
	Bug#1576 - SQLHomedirOnDemand segfaults in certain circumstances
	Bug#1586 - Bad row count assumption in _sql_getgroup() Bug#1625 -
	Compile problem with mod_sql module Preparing for release of 1.2.5 (stable).

2002-06-06  castaglia <castaglia>

	* NEWS, contrib/mod_sql.c: Added the mod_sql-4.08 from Andrew's site

2002-05-30  castaglia <castaglia>

	* NEWS: Updated NEWS

2002-05-30  castaglia <castaglia>

	* include/version.h: Damn, I forgot to update this file.

2002-05-30  castaglia <castaglia>

	* ChangeLog: Updating ChangeLog

2002-05-30  castaglia <castaglia>

	* NEWS, contrib/xferstats.holger-preiss: Bug#1394: ftpstats program
	          is not working, cust says "There was no data to process."

2002-05-30  jwm <jwm>

	* contrib/mod_ldap.c: a few memory management fixes

2002-05-29  jwm <jwm>

	* doc/rfc/draft-ietf-ftpext-mlst-15.txt: new version of mlst draft.
	the changes don't appear to change anything we currently implement.

2002-05-27  jwm <jwm>

	* contrib/README.ratio, contrib/mod_ratio.c: new mod_ratio from
	James Dogopoulos

2002-05-22  flyhmstr <flyhmstr>

	* doc/Configuration.html: ML: replacing the directive guide

2002-05-21  castaglia <castaglia>

	* NEWS, contrib/mod_readme.c, include/data.h, include/dirtree.h,
	include/ident.h, include/inet.h, include/libsupp.h, include/log.h,
	include/modules.h, include/pool.h, include/proftpd.h,
	include/sets.h, include/support.h, include/timers.h,
	lib/glibc-glob.c, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c,
	modules/mod_xfer.c, src/data.c, src/dirtree.c, src/inet.c,
	src/log.c, src/main.c, src/modules.c, src/pool.c, src/support.c,
	src/timers.c: Bug#1379 - Replace bzero/bcopy with memset/memcpy
	Bug#1521 - Function prototype cleanup

2002-05-21  castaglia <castaglia>

	* NEWS, src/timers.c: Bug#1627 - Sessions not timing out

2002-05-21  castaglia <castaglia>

	* configure: TJ: updated configure script to match configure.in
	    (necessary delay in commits *sigh*)

2002-05-21  castaglia <castaglia>

	* configure.in: TJ: changing configure script to check for
	    $Libraries$ line in mod_<name>.h files, if present, as well as
	    mod_<name>.c files (which are currently scanned)

2002-05-19  castaglia <castaglia>

	* NEWS, modules/mod_xfer.c: TJ: Bug#1595 - ProFTPD closes connection
	when accessed from Lynx browser

2002-05-19  castaglia <castaglia>

	* NEWS, include/proftpd.h, src/log.c, src/main.c: TJ: Bug#1612 -
	missing/broken ident logging

2002-05-19  jwm <jwm>

	* Makefile.in, contrib/mod_ldap.c: #1626 - install_user is not used
	everywhere

2002-05-18  jwm <jwm>

	* contrib/dist/rpm/ftp.pamd: language cleanup/clarification

2002-05-18  jwm <jwm>

	* contrib/dist/rpm/proftpd.init.d: cleanup

2002-05-15  jwm <jwm>

	* contrib/mod_ldap.c: 2.8.4: fix for segfaults when optional
	arguments are omitted from LDAPDoGIDLookups directive

2002-05-13  castaglia <castaglia>

	* ChangeLog: TJ: latest ChangeLog

2002-05-13  castaglia <castaglia>

	* NEWS, include/version.h: TJ: updated NEWS, version.h with date of
	1.2.5rc2 release

2002-05-13  castaglia <castaglia>

	* configure: TJ: here's the new configure to go with the
	configure.in

2002-05-13  castaglia <castaglia>

	* configure.in: TJ: being pedantic, changing the order of functions
	    check to be alphabetical.  Also, I need to check configure.in
	    separately from, and before, configure.  This is so that when users
	    download from CVS, and run ./configure && make, the make program's
	    check of the timestamp on configure.in shows an earlier date on
	    configure.in than on configure (if both configure.in and configure
	    are checked into CVS simultaneously, they will have the same
	timestamps, and make will cause the configure script to be run
	    again).  What a pain.

2002-05-13  castaglia <castaglia>

	* configure.in: TJ: updated configure.in's copyright information

2002-05-12  castaglia <castaglia>

	* contrib/README.mod_wrap: TJ: updated README for mod_wrap-1.2.3.

2002-05-12  castaglia <castaglia>

	* CREDITS: TJ: updated PGP key fingerprint

2002-05-12  flyhmstr <flyhmstr>

	* doc/Configuration.html, doc/faq.html: ML: updated directive list
	and FAQ for rc2

2002-05-12  castaglia <castaglia>

	* config.h.in, configure, configure.in, include/proftpd.h,
	modules/mod_xfer.c: TJ: Added missing checks for functions/headers
	    to configure, needed/used by include/glibc-glob.c.  Also made small
	    amendments to code (volatility of flag variables and minor spacing).

2002-05-11  flyhmstr <flyhmstr>

	* doc/Configuration.html: ML: updated directive list

2002-05-11  flyhmstr <flyhmstr>

	* CREDITS, NEWS: ML: updated NEWS and CREDITS

2002-05-11  flyhmstr <flyhmstr>

	* NEWS: ML: news update

2002-05-11  flyhmstr <flyhmstr>

	* doc/faq.html: ML: adding new format FAQ

2002-05-10  castaglia <castaglia>

	* NEWS: Bug#1580 - RPM can't be built by non-root user

2002-05-10  flyhmstr <flyhmstr>

	* CREDITS, NEWS: ML: updated credits and news

2002-05-10  castaglia <castaglia>

	* NEWS, configure, configure.in: Bug#1546 - PF_ARGV_WRITABLE,
	PF_ARGV_WRITEABLE are used mixed.

2002-05-10  castaglia <castaglia>

	* NEWS, modules/mod_core.c, src/dirtree.c: Bug#1608 - src/dirtree.c
	produces two unnecessary warnings Bug#1610 - compiling mod_core.c
	gives an unneeded/dazzling msg

2002-05-10  flyhmstr <flyhmstr>

	* NEWS: ML: updating NEWS

2002-05-10  flyhmstr <flyhmstr>

	* include/ftp.h: ML: updating licence

2002-05-10  flyhmstr <flyhmstr>

	* doc/license.txt, doc/mod_sample.c: ML:   Removed legacy files   The FAQ is removed because it's superceed by the main FAQ.    Updated the base licence text with additional copyright info,   consistancy typo and the SSL exclusion clause.

2002-05-10  jwm <jwm>

	* NEWS: updating for mod_ldap 2.8.3 release

2002-05-10  jwm <jwm>

	* ChangeLog: updating changelog

2002-05-10  jwm <jwm>

	* contrib/mod_ldap.c: updating to 2.8.3

2002-05-10  jwm <jwm>

	* README.LDAP: new mod_ldap README

2002-05-10  castaglia <castaglia>

	* src/ident.c, src/inet.c: TJ: dealing with consequences of Bug#1588
	    fix, which happens to affect identd lookups.  Hopefully these
	    changes clear up any remaining difficulties while still retaining
	the efficacy of Bug#1588's patch.

2002-05-09  castaglia <castaglia>

	* src/ident.c: TJ: cleaned up get_ident(), adding proper
	    cleanup/resource-freeing code at various exit points from the
	function

2002-05-09  castaglia <castaglia>

	* src/ident.c: TJ: fixed get_ident() to check for NULL return value
	    from inet_openrw(); this was causing segfaults in the case where an
	    identd server was not returning a response

2002-05-09  castaglia <castaglia>

	* src/main.c: TJ: mistakenly changed default setting of IdentLookups
	    to "off" with prior changes, setting default back to "on"

2002-05-09  castaglia <castaglia>

	* modules/mod_auth.c, modules/mod_core.c, src/main.c, src/timers.c: 
	TJ: fixed remove_timer() call to check for NULL timers list before
	      cycling through the list     changed IdentLookups handler to use pointers (and thus avoid
	      compiler warnings about typecasts)     minor reformatting

2002-05-09  castaglia <castaglia>

	* NEWS: TJ: updated NEWS

2002-05-09  castaglia <castaglia>

	* configure, configure.in, include/log.h, include/modules.h,
	include/privs.h, modules/mod_auth.c, modules/mod_core.c,
	src/dirtree.c, src/main.c: #1544 - Daemon does not switch to
	        configured User/Group identity in <VirtualHost> as documented #1581
	- uid_t and get_param_int result size

2002-05-08  flyhmstr <flyhmstr>

	* NEWS: ML: news update

2002-05-08  flyhmstr <flyhmstr>

	* doc/Configuration.html: ML: adding new version of the directive
	list

2002-05-08  flyhmstr <flyhmstr>

	* doc/Configuration.html: ML: removing old version of directive list

2002-05-08  castaglia <castaglia>

	* ChangeLog: Updated ChangeLog

2002-05-08  castaglia <castaglia>

	* NEWS: TJ: added NEWS entries for recently committed patches for
	    (fixed?) bug reports

2002-05-08  castaglia <castaglia>

	* modules/mod_auth.c, src/dirtree.c, src/inet.c, src/main.c,
	src/pool.c: #1523 - "Umask" presented in <Global> block messes up
	file permissions #1566 - FXP not working properly #1578 - RootLogin
	directive does not mergedown properly

2002-05-08  castaglia <castaglia>

	* contrib/dist/rpm/proftpd.init.d, modules/mod_auth.c,
	modules/mod_core.c, src/dirtree.c, src/inet.c: #1563 - Proftpd
	1.2.4. keeps core dumping sig11 on start #1567 - AuthAliasOnly
	parsed incorrectly #1570 - MasqueradeAddress contexts do not match
	documentation #1579 - Contrib init.d script makes inappropriate use
	of ftpshut #1588 - Port scan of TCP/21 causes segmentation fault
	#1601 - Rename terminates ProFTPD (signal 11)

2002-03-06  flood <flood>

	* ChangeLog: Updated ChangeLog.

2002-03-06  flood <flood>

	* NEWS, doc/Configuration.html, modules/mod_core.c, src/main.c: 
	#1445: PID file contents change when attempting to start        the daemon a second time #1539: losing SGID bit on created
	       directories w/ {User,Group}Owner in effect #1537: doc update

2002-03-01  flood <flood>

	* src/log.c: possible sigsegv introduced by patch for bug 1520

2002-02-28  flood <flood>

	* NEWS, src/dirtree.c: #1468 - segfault with empty .ftpaccess

2002-02-28  flood <flood>

	* ChangeLog: Updated ChangeLog.

2002-02-28  flood <flood>

	* NEWS, doc/Configuration.html, include/privs.h, lib/getopt.c,
	lib/getopt.h, lib/getopt1.c, modules/mod_auth.c,
	modules/mod_core.c, src/dirtree.c, src/main.c, src/support.c: #1459
	- server fails to send response in some cases #1533 - use memset
	correctly #1517 - doc update #1461 - modules/mod_unixpw.c
	pw_getgroups() makes dangerous assumption #1512 - Minor credentials
	cleanups #1516 - wrong response to CDUP/XCUP/XCWD #1451 -
	add_config_param_str() no longer uses permanent_pool #1523 - umask
	allocation in <Global> moved to permanent_pool #1380 - updated
	getopt library for Tru64/AIX

2002-02-28  flood <flood>

	* NEWS, doc/Configuration.html, include/dirtree.h, include/log.h,
	lib/pwgrent.c, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_log.c, modules/mod_xfer.c, src/dirtree.c, src/log.c: 
	#1476 doc updates #1520 security checks for TransferLogs #1435
	AccessDenyMsg for <Anonymous> not working #1492 Bad interaction
	between HiddenStor and UserOwner #1493 incorrect parsing of
	AuthUserFile #1485 Adds CF_MERGEDOWN_MULTI config_rec flag

2002-02-26  flood <flood>

	* NEWS, include/glibc-glob.h, lib/glibc-glob.c, modules/mod_auth.c,
	src/data.c, src/dirtree.c, src/inet.c, src/log.c, src/main.c,
	src/support.c: #1378 Replace alloca stuff in glibc-glob.c with
	something more standard #1498 <Limit LOGIN> block failing with
	mod_ldap #1381 include/glibc-glob.h fix for Tru64 UNIX #1465 can't
	      bind to port that hasn't been closed by forked child process #1379
	replace bzero/bcopy with memset/memcpy

2002-02-14  flood <flood>

	* NEWS, contrib/ftpasswd: added contrib/ftpasswd utility script
	(contributed by TJ)

2002-02-14  flood <flood>

	* NEWS, contrib/INSTALL.mod_wrap, contrib/README.mod_wrap,
	contrib/mod_wrap.c: New mod_wrap (1.2.3) removed contrib/genuser.pl
	(per TJ)

2002-01-24  flood <flood>

	* ChangeLog: Updated ChangeLog.

2002-01-24  flood <flood>

	* NEWS, src/data.c, src/dirtree.c, src/timers.c: #1318 sendfile()
	semantics incorrect under Linux #1450 Timers removed
	immediately/alarm() return no longer used for timing #1446
	DefaultServer overrides SocketBindTight

2001-12-18  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-12-18  flood <flood>

	* NEWS, include/version.h: bumped version

2001-12-18  flood <flood>

	* NEWS, doc/Configuration.html, modules/mod_ls.c: New Directive:
	UseGlobbing, allows glibc-based filepath globbing to be disabled.

2001-12-17  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-12-17  flood <flood>

	* ChangeLog, NEWS, modules/mod_xfer.c: - Check retr_file for validity when RESToring

2001-12-17  flood <flood>

	* NEWS, modules/mod_xfer.c: - Bug 1391 - ABOR handler now clears session.xfer

2001-12-17  flood <flood>

	* NEWS, modules/mod_ls.c, modules/mod_xfer.c, src/data.c: - Bug 1392 - Added LOG_CMD_ERR cleanup handler for LIST/NLST/RETR/              STOR/APPE/STOU, to defer clearing of transfer counters.

2001-12-17  flood <flood>

	* NEWS, README.LDAP, contrib/mod_ldap.c: New mod_ldap (2.8.1)

2001-12-13  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-12-13  flood <flood>

	* NEWS, configure, configure.in, doc/Configuration.html,
	include/modules.h, include/support.h, modules/mod_auth.c,
	modules/mod_core.c, modules/mod_log.c, modules/mod_ls.c,
	modules/mod_xfer.c, src/auth.c, src/dirtree.c, src/inet.c,
	src/main.c, src/support.c, src/timers.c: - Bug 1364 - Immediate chown() after file creation - Bug 1415 - Change allowed contexts for Include - Bug 1430 - Possible bad handling of Directory contexts - Bug 1426 - sigsegv on `ls ///////////' - Bug 1360 - Add getgroups abstraction for auth modules - Bug 1289 - Increase information passed to timer callbacks - Bug 1341 - Bad tracking of forked processes - Bug 1400 - Improper use of MODRET_HASDATA macro - Bug 1416 - PidFile in <Global> context is unnecessary, even
	wasteful - Bug 1429 - Trivial fixes to dispatch reporting - Bug 1419 - Remove unnecessary colons from PRIVS_ macros - Bug 1418 - Slight change to exithandler handling to allow module              finalization slot

2001-12-13  flood <flood>

	* contrib/mod_sql.h: forgot to add contrib/mod_sql.h in previous
	commit

2001-11-30  flood <flood>

	* ChangeLog: updated ChangeLog

2001-11-30  flood <flood>

	* NEWS, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
	contrib/mod_sql_postgres.c, sample-configurations/mod_sql.conf: new
	mod_sql (4.07)

2001-11-29  flood <flood>

	* NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c,
	src/main.c, src/support.c: #1396 DenyFilter works only in server
	config scope #1410 SIGIO now conditionally compiled #1281 Improper
	checking of server context

2001-11-29  flood <flood>

	* ChangeLog: updated ChangeLog

2001-11-29  flood <flood>

	* NEWS, include/modules.h, modules/mod_core.c, src/dirtree.c,
	src/main.c: #1368 umask bug hopefully squashed for good #1389 fixed
	hang on PWD #1355 added POST_CMD_ERR handler to API

2001-11-08  flood <flood>

	* NEWS, configure, configure.in: #1113-Make.rules for HPUX
	incorrectly generated

2001-11-08  flood <flood>

	* NEWS, contrib/README.mod_wrap, contrib/mod_wrap.c: new mod_wrap
	(1.2.2) from tj

2001-11-08  flood <flood>

	* NEWS, modules/mod_auth.c: #1334-MaxClients none forbids connect

2001-10-19  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-10-19  flood <flood>

	* include/version.h: 1.2.4

2001-10-19  flood <flood>

	* NEWS, modules/mod_core.c, src/dirtree.c: 1348-umask argument not
	stored correctly

2001-10-18  flood <flood>

	* ChangeLog: Updated ChangeLog

2001-10-18  flood <flood>

	* NEWS, include/version.h: 1.2.3-release

2001-10-18  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-10-18  flood <flood>

	* NEWS, doc/Configuration.html, modules/mod_core.c,
	modules/mod_log.c, modules/mod_site.c, src/main.c: 1344-ExtendedLog
	now logs QUIT command 1332-Doc patch 1335-Doc patch 1334-Max* none
	fix 1343-better reporting of command dispatching 1242-more verbose
	logging of regex

2001-10-18  flood <flood>

	* NEWS, src/dirtree.c: #1247 - Fix Allow/Deny boolean logic.

2001-09-26  flood <flood>

	* NEWS, modules/mod_core.c: #1327 AllowForeignAddress mergedown

2001-09-26  flood <flood>

	* NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c: #1280
	datatype fixups

2001-09-26  flood <flood>

	* NEWS, modules/mod_ls.c: #1311 - sigsegv under DirFake* directives

2001-09-26  flood <flood>

	* NEWS, include/conf.h: #1305 - limits.h now included

2001-09-26  flood <flood>

	* NEWS, src/inet.c: #1331 - forward-resolve reverse dns

2001-08-24  flood <flood>

	* src/main.c: patched to not display PASS password on proctitle

2001-08-17  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-08-17  flood <flood>

	* NEWS, include/version.h: 1.2.2-final

2001-08-16  flood <flood>

	* include/conf.h: Double license in header conf.h

2001-08-16  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-08-16  flood <flood>

	* ChangeLog, NEWS, doc/Configuration.html: Updated docs, moved
	mod_test.c to attic

2001-08-16  flood <flood>

	* NEWS, modules/mod_ls.c, modules/mod_xfer.c, src/support.c: 1273 -
	DirFakeGroup merges down 1286 - mod_ls displays set[ug]id bits 1266
	- APPE could corrupt files 1278 - access_check() does not set errno
	properly

2001-08-16  flood <flood>

	* NEWS, contrib/mod_sql.c: new mod_sql

2001-08-01  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-08-01  flood <flood>

	* NEWS: README.mod_sql update from author

2001-08-01  flood <flood>

	* INSTALL, NEWS, doc/Configuration.html, modules/mod_ls.c: #1187
	Upstream update to mod_quota #1217,1262,1111,1216 Documentation
	updates #1145 DirFakeUser now applies to STAT as well as LIST/NLST

2001-08-01  flood <flood>

	* NEWS, include/proftpd.h, modules/mod_core.c, modules/mod_xfer.c,
	src/dirtree.c, src/main.c: #1219 - gcc 3.0 fix #1232 - UserOwner
	changes both uid and gid

2001-07-04  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-07-04  flood <flood>

	* NEWS, src/log.c: #1230 - size mismatch struct utmpx in Solaris 8
	(sparcv9)

2001-07-03  flood <flood>

	* NEWS, modules/mod_auth.c: #1098 - Non~* DefaultRoot bug

2001-07-03  flood <flood>

	* NEWS, modules/mod_xfer.c: #1234 ABOR must always return 226

2001-07-02  flood <flood>

	* NEWS, contrib/mod_sql.c: New mod_sql

2001-06-20  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-06-20  flood <flood>

	* NEWS, include/version.h: Bump version, final commit for 1.2.2rc3

2001-06-20  flood <flood>

	* NEWS, src/main.c: #1215 - Removes setpgid from fork_server

2001-06-20  flood <flood>

	* NEWS, modules/mod_ls.c: #1145 - DirFakeUser can display currently
	logged in user

2001-06-20  flood <flood>

	* NEWS, doc/Configuration.html: #1164,1020,1134,1190,1207 - Doc
	updates

2001-06-19  flood <flood>

	* NEWS, src/data.c: #1210 Possible silent truncation in net-ascii
	mode

2001-06-18  flood <flood>

	* NEWS, modules/mod_ls.c, src/dirtree.c: #1212 Special files in
	directory listings

2001-06-18  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-06-18  flood <flood>

	* NEWS, modules/mod_core.c: #1189 Directory dups allowed in
	Anonymous

2001-06-18  flood <flood>

	* NEWS, modules/mod_auth.c, modules/mod_core.c, modules/mod_ls.c,
	src/dirtree.c, src/main.c, src/support.c: #1155 - non rfc behavior
	#1193 ~ files not handled correctly #1203 - '!' ACL negation logic
	changed #1161 - %F displays free space on CWD #1151 - <Limit>
	searching fix for Anon/Vhost root

2001-06-18  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-06-18  flood <flood>

	* NEWS, include/conf.h, include/data.h, include/default_paths.h,
	include/dirtree.h, include/ident.h, include/inet.h,
	include/libsupp.h, include/log.h, include/modules.h,
	include/options.h, include/pool.h, include/privs.h,
	include/proftpd.h, include/sets.h, include/support.h,
	include/timers.h, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c,
	modules/mod_xfer.c, src/auth.c, src/data.c, src/dirtree.c,
	src/ident.c, src/inet.c, src/log.c, src/main.c, src/modules.c,
	src/pool.c, src/sets.c, src/support.c, src/timers.c: Updated
	Copyright/License to allow linking to OpenSSL

2001-06-03  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-06-03  flood <flood>

	* NEWS, modules/mod_auth.c, modules/mod_core.c, src/main.c: #1185 -
	homedir symlink dereference #1189 - duplicated <Directory> contexts
	not allowed #1183 - removed redundant find_class()

2001-06-03  flood <flood>

	* NEWS, contrib/dist/rpm/proftpd.init.d,
	contrib/xferstats.holger-preiss, include/glibc-glob.h,
	modules/mod_core.c, src/main.c: #1201 - Feature addition to
	contrib/xferstats.holger-preiss #1132 - glibc2.0 compilation #1090 -
	ExtendedLog not reporting errors on all events #1149 - Modification
	in rpm init script

2001-05-31  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-05-31  flood <flood>

	* NEWS, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
	contrib/mod_sql_postgres.c: New mod_sql and friends

2001-05-21  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-05-21  flood <flood>

	* NEWS, contrib/mod_readme.c, include/conf.h, modules/mod_core.c: 
	Bug 1175 - GNU HURD portability Bug 1177 - mod_readme.c moved to
	contrib/ Bug 1176 - PWD/XPWD now G_DIRS and limitable

2001-05-21  flood <flood>

	* NEWS, lib/glibc-glob.c: Bug 1155 - conditional HPUX headers in
	glibc-glob.c

2001-05-17  flood <flood>

	* ChangeLog: Updated ChangeLog

2001-05-17  flood <flood>

	* NEWS, include/proftpd.h, lib/getopt.c, lib/pr_fnmatch.c,
	lib/pr_fnmatch_loop.c, modules/mod_auth.c, src/inet.c, src/main.c: 
	#1156 - usernames w/ spaces #1160 - svr4.2mp;UX/4800 has bsd root
	socket semantics #1168 - cleanup #1169 - DefaultRoot/DefaultChdir no
	longer mutually exclusive #1170 - cleanup #1172 - cleanup

2001-05-16  flood <flood>

	* NEWS, src/inet.c: Bug #1152 - integer array overflow w.r.t.
	PassivePorts

2001-04-24  flood <flood>

	* NEWS, modules/mod_ls.c: Bug 1137 - NLST displayed hidden files

2001-04-23  flood <flood>

	* NEWS: Final NEWS update for 1.2.2rc2 (old)

2001-04-20  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-04-20  flood <flood>

	* NEWS, include/version.h, src/main.c: Bug 1112 - removed in_addr
	cast for better compilation on IRIX 6.2.

2001-04-20  flood <flood>

	* NEWS, modules/mod_site.c: Log warning when AllowChmod is used.

2001-04-18  flood <flood>

	* src/data.c: Ooops.  sendfile() Linux subtraction was backwards. ;)

2001-04-18  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-04-18  flood <flood>

	* NEWS, src/data.c: Bug #1128 - Incorrect sendfile() semantics.

2001-04-13  flood <flood>

	* modules/mod_core.c: Fixed sigsegv on SITE bug, only in cvs
	versions.

2001-04-11  flood <flood>

	* modules/mod_log.c, src/dirtree.c, src/log.c: small fixes to dr's
	case insensitivity patch.  case sensitivity is actually required in
	some places. ;)

2001-04-11  flood <flood>

	* NEWS, lib/glibc-glob.c, src/main.c: Bug 1119 - IRIX6 fix for
	glibc-glob.c Bug 1090 - logging now works with PRE_CMD failed
	handlers

2001-04-11  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-04-11  flood <flood>

	* src/dirtree.c: MasqueradeAddress now prints LOG_INFO message.

2001-04-11  flood <flood>

	* NEWS, include/log.h, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_log.c, modules/mod_ls.c, src/dirtree.c, src/log.c: Bug
	#1093 - world writable log/symlinked log files Bug #1094 -
	Auth{User,Group}File disallow relative paths Bug #1096 - Case
	insensitivity/RLimit* args

2001-03-27  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-03-27  flood <flood>

	* doc/Configuration.html: Bugs #1088, 1058 & 1041 - Doc updates for
	1.2.2.

2001-03-27  flood <flood>

	* NEWS: Updated NEWS version

2001-03-24  flood <flood>

	* ChangeLog: Final commit for 1.2.2rc1.

2001-03-24  flood <flood>

	* include/version.h: Bumped version number to 1.2.2rc1.

2001-03-24  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-03-24  flood <flood>

	* NEWS, modules/mod_auth.c: Bug #1085: better logging of two auth
	messages in mod_auth.

2001-03-24  flood <flood>

	* NEWS, doc/Configuration.html, modules/mod_xfer.c: Bug #1043:
	Possible inf. loop in throttle code.  Bug #1074: Doc fixes Bug
	#1070: Doc fixes

2001-03-23  flood <flood>

	* NEWS, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
	include/proftpd.h, modules/mod_core.c, src/dirtree.c, src/main.c: 
	Bug #1075 - Fix for short copy of sub-contexts from <Global> New
	mod_sql and mod_sql docs from maintainer New RLimit* directives used
	to control resource limits

2001-03-23  flood <flood>

	* modules/mod_core.c, src/auth.c, src/main.c: Slightly better
	handling of uid/gid type casts and conversions.

2001-03-22  flood <flood>

	* NEWS, modules/mod_auth.c: Bug #1049 - passwd/group files are now
	close/re-opened at USER/PASS.

2001-03-22  flood <flood>

	* src/dirtree.c: Added debugging to umask code.

2001-03-22  flood <flood>

	* include/glibc-glob.h: glibc glob header should now be more
	portable

2001-03-17  flood <flood>

	* Make.rules.in, NEWS, acconfig.h, config.h.in, configure,
	configure.in, include/conf.h, include/glibc-glob.h,
	include/libsupp.h, lib/glibc-glob.c: Bug #1066 - new GNU glob which
	protects against DoS attacks.

2001-03-13  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-03-13  flood <flood>

	* contrib/mod_sql.c: New mod_sql from maintainer.

2001-03-11  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-03-11  flood <flood>

	* NEWS, modules/mod_core.c, src/main.c: Added MasqueradeAddress
	feature.

2001-03-09  flood <flood>

	* NEWS, modules/mod_auth.c, modules/mod_core.c: Bug #1044 - New
	directive: AccessDenyMsg

2001-03-09  flood <flood>

	* src/main.c: Bug #1056 (second part) - SIGSEGV is no longer handled
	when inside the SIGSEGV handler.

2001-03-09  flood <flood>

	* NEWS: Bug #1055 - ftpwho/ftpcount scan proftpd.conf for scoreboard
	path.

2001-03-09  flood <flood>

	* NEWS, config.h.in, configure, configure.in, src/pool.c: Bug #1042
	- Directory matching for / Bug #1051 - man pages reference
	proftpd.net instead of .org New proftpd.spec.in from RPM maintainer
	configure now tests for the limits.h header file

2001-03-01  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-03-01  flood <flood>

	* NEWS: New NEWS

2001-03-01  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-03-01  flood <flood>

	* README, README.ports: Updated READMEs.

2001-03-01  flood <flood>

	* NEWS, configure, configure.in, contrib/mod_sql.c,
	contrib/mod_sql_mysql.c, include/version.h, modules/mod_core.c: New
	mod_sql maintainer stuff.  Attempting to use classes without
	"Classes On" emits a warning.

2001-02-28  flood <flood>

	* include/pool.h, modules/mod_auth.c, src/inet.c, src/pool.c: Bug
	#1037 - Fix for netbsd sockets.  Bug #1039 - proper copying of
	session.groups New MLST draft proposal

2001-02-28  flood <flood>

	* NEWS, configure, configure.in, modules/mod_xfer.c: Bug #1036 -
	--disable-shadow now works.  More informative message for REST w/
	HiddenStor.  Default CFLAGS changed from -O6 to -O2

2001-02-27  flood <flood>

	* contrib/mod_ldap.c, contrib/mod_sql.c: Updated RPM spec (again) as
	well as new mod_ldap and mod_sql contrib modules.

2001-02-27  flood <flood>

	* contrib/mod_sql.c, include/version.h: New RPM .spec and mod_sql.c

2001-02-26  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-02-26  flood <flood>

	* Makefile.in, NEWS, include/version.h: Final commit to 1.2.0-final
	release

2001-02-26  flood <flood>

	* src/support.c: access_check() always succeeds for root now.

2001-02-26  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-02-26  flood <flood>

	* contrib/mod_ldap.c: New mod_ldap.c

2001-02-25  flood <flood>

	* contrib/mod_sql.c: Patch from mod_sql maintainer.

2001-02-25  flood <flood>

	* CREDITS, doc/Configuration.html: Bug #1034 - Final clean-up for
	docs.  CREDITS - added Chuck

2001-02-24  flood <flood>

	* Makefile.in, configure, configure.in, modules/mod_auth.c: Bug
	#1033 - access denied text fix Minor tweaks to configure, updates
	distclean rule in Makefile

2001-02-24  flood <flood>

	* configure, configure.in, contrib/mod_sql.c: Bug #1031 - update
	from mod_sql maintainer New README.mod_sql configure no longer
	duplicates additional modules' libraries.

2001-02-24  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-02-24  flood <flood>

	* CREDITS: Removed mod_sql docs per AAH.  New docs will be added
	with more appropriate filenames.

2001-02-23  flood <flood>

	* CREDITS, README, README.ports, configure, configure.in,
	contrib/mod_ratio.c, contrib/mod_sql.c, contrib/mod_sql_postgres.c,
	lib/Makefile.in: Bug #1024 - minor doc changes.  Bug #1025 - stop
	assuming the system has ranlib.  Bug #1028 - mod_sql_postgres.c
	patch from maintainer.  Bug #1029 - mod_sql.c patch from maintainer.
	Bug #1030 - mod_ratio.c should compile again.

2001-02-23  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-02-23  flood <flood>

	* NEWS, config.h.in, configure, configure.in, include/modules.h,
	include/proftpd.h, modules/mod_auth.c, src/auth.c, src/dirtree.c,
	src/main.c: Bug #259 - supplemental groups should now work better
	for anonymous logins.

2001-02-23  flood <flood>

	* include/inet.h, src/inet.c, src/main.c: Bug #370 - race condition
	under heavy load at child startup

2001-02-23  flood <flood>

	* contrib/mod_sql.c: New mod_sql 3.01 from Andrew Houghton
	<aah@acm.org>

2001-02-23  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-02-23  flood <flood>

	* INSTALL, README, README.AIX, README.FreeBSD, README.modules,
	README.ports, configure, configure.in, doc/Configuration.html,
	sample-configurations/PFTEST.conf.in,
	sample-configurations/PFTEST.group,
	sample-configurations/PFTEST.install,
	sample-configurations/PFTEST.passwd,
	sample-configurations/PFTEST.shadow: Bug #1006 - Fixes in
	configure.in  Bug #1022 - Docs updated for mod_sql. Bug #1024 -
	Updated INSTALL, README and new READMEs and PFTEST files.

2001-02-22  flood <flood>

	* modules/mod_ls.c: Bug #1016 - Listing "." files should work again
	+ tweak to IgnoreHidden.

2001-02-22  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-02-22  flood <flood>

	* NEWS, include/dirtree.h, modules/mod_core.c, modules/mod_ls.c,
	modules/mod_xfer.c, src/dirtree.c: Bug #1023 - Fix for IgnoreHidden
	boolean patch problem introduced in rc2.

2001-02-22  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-02-22  flood <flood>

	* Make.rules.in, Makefile.in, include/.cvsignore,
	include/version.h, src/main.c: Build timestamp is now reported at
	startup and with --version-status.  Removing includes from CFLAGS
	(CPPFLAGS is enough), changed uid/gid cast from unsigned long long
	to unsigned long.

2001-02-22  flood <flood>

	* configure: configure needs a new timestamp :)

2001-02-22  flood <flood>

	* ChangeLog: Updated ChangeLog, re-ran autoconf

2001-02-22  flood <flood>

	* NEWS, src/log.c: Logging is now done with a single write() syscall

2001-02-22  flood <flood>

	* modules/mod_core.c, src/main.c: Bug #1009 - FTP logins are now
	logged to match logouts.

2001-02-21  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-02-21  flood <flood>

	* CREDITS, src/log.c: Bug #1021 - fix for ftpwho/ftpcount not
	working (_pid_exists() in log.c)

2001-02-21  flood <flood>

	* modules/mod_xfer.c: Bug #1015 - Format string for long long uids.
	REST command now returns failure message if used where HiddenStor is
	enabled.

2001-02-21  flood <flood>

	* ChangeLog, NEWS: Updated NEWS

2001-02-21  flood <flood>

	* NEWS, doc/Configuration.html, include/ftp.h, modules/mod_xfer.c,
	src/log.c: Bug #1003/1017 documentation fixes.  Bug #463 - no longer
	possible to REST past the end of a file.  kill(pid,SIGCONT) in log.c
	switched to kill(pid,0)

2001-02-20  flood <flood>

	* configure, configure.in, include/version.h, src/main.c: Added
	--version-status which displays extended version information.

2001-02-20  flood <flood>

	* src/main.c: Timeout and normal logout syslog messages are now
	logged at LOG_INFO instead of LOG_NOTICE.

2001-02-20  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-02-20  flood <flood>

	* modules/mod_xfer.c: Bug #1012 - Fixed "Unable to throttle
	bandwidth: Interrupted system call" issue.

2001-02-19  flood <flood>

	* contrib/mod_sql.c, contrib/mod_sql_mysql.c,
	contrib/mod_sql_postgres.c: Added AAH's newly-maintained mod_sql 3.0
	back in to CVS.

2001-02-18  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-02-16  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-02-16  flood <flood>

	* modules/mod_core.c, src/dirtree.c: Bug #1008 - Port 21 is now
	default w/out Port directive.

2001-02-15  flood <flood>

	* src/data.c: spurious #ifdef removed, sendfile() should compile
	again

2001-02-14  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-02-14  flood <flood>

	* acconfig.h, config.h.in, configure, configure.in, src/data.c: 
	sendfile configure code fixed, HP/UX support for sendfile removed
	because HP/UX's implementation is just plain wrong.  Might be added
	back in 1.3.

2001-02-14  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-02-14  flood <flood>

	* modules/mod_xfer.c: Bug #462 - sendfile works again on freebsd

2001-02-13  flood <flood>

	* modules/mod_ls.c, src/dirtree.c: Bug #1007 - IgnoreHidden can now
	be turned off.

2001-02-05  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-02-05  flood <flood>

	* CREDITS, INSTALL, NEWS, README, doc/Configuration.html: Minor doc
	changes

2001-02-05  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-02-05  flood <flood>

	* NEWS: moved mod_tar.c, mod_sqlpw.c, mod_mysql.c and mod_pgsql.c to
	attic, mod_test.c to contrib/.  Adjusted README.sqlpw accordingly.

2001-02-05  flood <flood>

	* configure, configure.in, contrib/mod_ratio.c, modules/mod_auth.c,
	modules/mod_xfer.c: Bug #279 - Correct use of sendfile. #29 -
	updated rpm spec. #433 - initial .ftpaccess in cwd. #453 mod_ratio
	now uses new dir_check().  initgroups/getgroups use now requires
	--enable-initgroups.

2001-02-05  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-02-05  flood <flood>

	* src/log.c: Bug #455 - SyslogLevel now works as documented.

2001-02-05  flood <flood>

	* README, configure, configure.in, lib/Makefile.in: Bug #293 -
	Compilation under OSX.

2001-02-03  flood <flood>

	* src/data.c: Minor fixes to bug 399's patch. ;)

2001-02-02  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-02-02  flood <flood>

	* modules/mod_core.c: Bug #407 - Include pathnames must now be
	absolute

2001-02-02  flood <flood>

	* include/options.h, modules/mod_xfer.c, src/data.c: Bug #399 -
	incorrect handling of CRs during ascii transfers, also made default
	buffer size a macron in options.h: TUNABLE_BUFFER_SIZE

2001-02-02  flood <flood>

	* CREDITS, INSTALL, NEWS: Updated minor documentation

2001-02-01  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-02-01  flood <flood>

	* include/version.h, src/auth.c: Bug #435 - uid/gid checking for -1,
	updated version string to 1.2.0rc3

2001-02-01  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-02-01  flood <flood>

	* src/main.c: Bug #451 - check uid/gid after PRIVS_SETUP

2001-01-31  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-01-31  flood <flood>

	* configure, configure.in, modules/mod_xfer.c: Bug #35 - call
	_aborT() funcs in exit handler.  sendfile() support is now disabled
	by default, enable with --enable-sendfile

2001-01-31  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-01-31  flood <flood>

	* include/dirtree.h, modules/mod_core.c, modules/mod_ls.c,
	modules/mod_xfer.c, src/dirtree.c: Bug #410 - IgnoreHidden fix and
	cleanup/changes of hiding code.

2001-01-31  flood <flood>

	* modules/mod_auth.c, modules/mod_core.c: Bug #422 - fixed handling
	of get_boolean() in config handles #410 - HideNoAccess now takes
	boolean argument

2001-01-29  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-01-29  flood <flood>

	* contrib/mod_ldap.c: New mod_ldap.c from jwm@horde.net

2001-01-29  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-01-29  flood <flood>

	* modules/mod_core.c, src/dirtree.c: Bug #353 - Allows use of '!'
	negation operator in Allow/Deny.

2001-01-29  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-01-29  flood <flood>

	* doc/Configuration.html, include/inet.h, modules/mod_core.c,
	src/inet.c, src/main.c: Bug #188 - Removed use of NAME_MAX in
	mod_tar and mod_test.  #349 - Final implementation of PassivePorts.

2001-01-28  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-01-28  flood <flood>

	* modules/mod_core.c: Bug #436 - MaxClients* directives now merge
	downward.

2001-01-28  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-01-28  flood <flood>

	* doc/Configuration.html, modules/mod_auth.c, src/main.c: Bug #350 -
	Enabling classes but not defining a class no longer segfaults. #360
	- Proftpd now logs if passwd/group files cannot be opened. #417 -
	Command filter regexps no longer apply to the PASS command.

2001-01-26  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-01-26  flood <flood>

	* modules/mod_core.c: Bug #390 - Added ifdef to regex code in
	mod_core

2001-01-26  flood <flood>

	* contrib/dist/rpm/proftpd.init.d: Bug #347 - RPM problem in
	contrib/

2001-01-26  flood <flood>

	* src/dirtree.c: Bug #397 - Fixed problem with incorrect config file
	line count

2001-01-26  flood <flood>

	* src/support.c: Bug #441 - off-by-one error when reading month from
	/etc/shutmsg

2001-01-26  flood <flood>

	* doc/Configuration.html: Bug #429 - Documentation changes

2001-01-26  flood <flood>

	* src/inet.c, src/main.c: Bug #398 - overwriting file descriptor in
	inet_openrw()

2001-01-25  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-01-25  flood <flood>

	* ChangeLog, configure: Updated ChangeLog.

2001-01-25  flood <flood>

	* config.h.in, configure.in, modules/mod_auth.c: Bug #365 - Removed
	jail() code from mod_auth.c

2001-01-25  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-01-25  flood <flood>

	* ChangeLog: Updated ChangeLog.

2001-01-25  flood <flood>

	* ChangeLog: [no log message]

2001-01-24  flood <flood>

	* ChangeLog: [no log message]

2001-01-24  flood <flood>

	* ChangeLog, contrib/mod_ratio.c, src/main.c: Bug #430 - format
	string fixes in log_pri and mod_ratio.

2001-01-24  flood <flood>

	* src/dirtree.c, src/log.c, src/main.c: Bug #408 (1) -
	add_config_set fix to prevent USER/pool overwrite DoS Bug #408 (2) -
	scoreboard memory leak in log_open_run fixed Bug #408 (3) - Fixed
	potential format string bug in main.c Bug #434     - Added pool to
	pidrec_t to fix large server memory leak

2000-10-08  macgyver <macgyver>

	* acconfig.h, config.h.in, configure, configure.in,
	include/support.h, modules/mod_ls.c, src/support.c: Correctly use
	NAME_MAX and fpathconf() when appropriate.

2000-10-08  macgyver <macgyver>

	* contrib/README.mod_wrap, contrib/mod_wrap.c: Added in mod_wrap
	into contrib.

2000-10-08  macgyver <macgyver>

	* modules/mod_core.c: Correctly log the full path of deleted files.

2000-10-08  macgyver <macgyver>

	* modules/mod_auth.c, modules/mod_core.c: Added in support for
	MaxHostsPerUser and fixed a problem with AnonRequirePassword.

2000-10-08  macgyver <macgyver>

	* src/inet.c: Lots of little cleanups.

2000-10-08  macgyver <macgyver>

	* contrib/mod_ratio.c: Fixed a bounds issue when checking the SITE
	command.

2000-08-19  macgyver <macgyver>

	* configure, configure.in: Fixed ordering in library duplication
	detection code.

2000-08-18  macgyver <macgyver>

	* NEWS: Updates.

2000-08-18  macgyver <macgyver>

	* ChangeLog: Updated ChangeLog.

2000-08-18  macgyver <macgyver>

	* README.PAM: Updated PAM documentation for FreeBSD.

2000-08-18  macgyver <macgyver>

	* src/dirtree.c: Don't only partially match directory names.  This
	annoying bug allowed for directory-level configurations to sometimes
	not work right.

2000-08-18  macgyver <macgyver>

	* configure, configure.in: Fixed a small typo in PAM detection.

2000-08-18  macgyver <macgyver>

	* acconfig.h, config.h.in, configure, configure.in: PAM and path
	modifications.

2000-08-13  macgyver <macgyver>

	* Make.rules.in, acconfig.h, config.h.in, configure, configure.in,
	include/conf.h: Some configure and compilation cleanups.

2000-08-08  macgyver <macgyver>

	* include/data.h, modules/mod_xfer.c, src/data.c: Cleaned up
	sendfile() implementation to make it simpler and more managable.

2000-08-07  macgyver <macgyver>

	* modules/mod_core.c: Fixed a typo in set_sysloglevel.

2000-08-05  macgyver <macgyver>

	* modules/mod_auth.c: Be a little more anal retentive about cleaning
	up after ourselves when it comes to USER/PASS attempts.

2000-08-05  macgyver <macgyver>

	* src/data.c: Formatting cleanups.

2000-08-05  macgyver <macgyver>

	* modules/mod_xfer.c: Removed spurious #if 0.

2000-08-04  macgyver <macgyver>

	* configure, configure.in: Updated HP/UX sendfile() to only actually
	check on HP/UX platforms. :)

2000-08-04  macgyver <macgyver>

	* ChangeLog: Updated ChangeLog.

2000-08-04  macgyver <macgyver>

	* doc/Configuration.html: Updated documentation.

2000-08-03  macgyver <macgyver>

	* contrib/README.ratio, contrib/mod_ratio.c: Updated to mod_ratio.

2000-08-03  macgyver <macgyver>

	* contrib/mod_ldap.c: Updated to mod_ldap 2.7.3 to remove
	LDAPSearchFilter.

2000-08-03  macgyver <macgyver>

	* modules/mod_auth.c: Oops...more compilation fixes for jail(). :)

2000-08-03  macgyver <macgyver>

	* doc/Configuration.html: Updated documentation.

2000-08-03  macgyver <macgyver>

	* modules/mod_auth.c: Correctly obtain the IP address in jail().

2000-08-03  macgyver <macgyver>

	* modules/mod_auth.c: Typos in jail() support.

2000-08-03  macgyver <macgyver>

	* ChangeLog: Updated ChangeLog.

2000-08-03  macgyver <macgyver>

	* modules/mod_auth.c: Added some debug logging to lockdown().

2000-08-03  macgyver <macgyver>

	* NEWS, config.h.in, configure, configure.in, modules/mod_auth.c: 
	Added in support for jail() on platforms that support it (currently
	FreeBSD 4.x+).

2000-08-03  macgyver <macgyver>

	* ChangeLog, NEWS: Updated ChangeLog and NEWS.

2000-08-02  macgyver <macgyver>

	* doc/Configuration.html: Updated documentation.

2000-08-02  macgyver <macgyver>

	* ChangeLog, NEWS: Updated NEWS and ChangeLog.

2000-08-02  macgyver <macgyver>

	* Make.rules.in, configure, configure.in: Added in --with-libraries
	for posterity.

2000-08-02  macgyver <macgyver>

	* configure.in: Added copyright info to the configure scripts.

2000-08-02  macgyver <macgyver>

	* src/log.c: Only log to WTMP or WTMPX, not both.  Modern systems
	should all use WTMPX.

2000-08-02  macgyver <macgyver>

	* stamp-h.in: Added in stamp-h.in support.

2000-08-02  macgyver <macgyver>

	* .cvsignore, Makefile.in, configure, configure.in: Added support
	for stamp-h.in and automagic rebuilds whenever configure is updated.

2000-08-02  macgyver <macgyver>

	* acconfig.h, config.h.in, configure, configure.in: More sendfile
	detection tweaks. :)

2000-08-02  macgyver <macgyver>

	* modules/mod_core.c: Forgot to return HANDLED in add_sysloglevel.

2000-08-02  macgyver <macgyver>

	* ChangeLog: Updated ChangeLog.

2000-08-02  macgyver <macgyver>

	* configure, configure.in: Reworked sendfile detection to be cleaner
	and better cached.

2000-08-02  macgyver <macgyver>

	* Make.rules.in, NEWS, configure, configure.in: Added in
	--with-includes and made the PAM check for -ldl cache its results.

2000-08-02  macgyver <macgyver>

	* NEWS, include/conf.h, include/data.h, include/default_paths.h,
	include/dirtree.h, include/ftp.h, include/ident.h, include/inet.h,
	include/libsupp.h, include/log.h, include/modules.h,
	include/options.h, include/pool.h, include/privs.h,
	include/proftpd.h, include/sets.h, include/timers.h,
	modules/mod_core.c, src/log.c: Added SyslogLevel directive, and
	cleaned up some header files.

2000-08-01  macgyver <macgyver>

	* modules/mod_core.c, src/main.c: Added support for the PidFile
	directive, to make ProFTPD more Apache-like.

2000-08-01  macgyver <macgyver>

	* ChangeLog: Updated ChangeLog.

2000-08-01  macgyver <macgyver>

	* include/proftpd.h, modules/mod_auth.c, src/main.c: 
	AnonRequirePassword should prevent the password from being displayed
	in ftpwho/ftpcount/ps.

2000-08-01  macgyver <macgyver>

	* ChangeLog: Updated ChangeLog.

2000-08-01  macgyver <macgyver>

	* NEWS, modules/mod_log.c: Honor ExtendedLog NONE.

2000-08-01  macgyver <macgyver>

	* NEWS, doc/Configuration.html, modules/mod_site.c: AllowChmod
	defaults to 'on' now, to be backward compatible.

2000-08-01  macgyver <macgyver>

	* ChangeLog: Updated ChangeLog.

2000-08-01  macgyver <macgyver>

	* NEWS, modules/mod_auth.c: Moved code around to eliminate a race
	with MaxClients.

2000-08-01  macgyver <macgyver>

	* NEWS, contrib/mod_ratio.c, modules/mod_site.c: Fixed a minor bug
	in SITE HELP.

2000-08-01  macgyver <macgyver>

	* NEWS, modules/mod_core.c, modules/mod_xfer.c: Added in
	DeleteAbortedStores and did some minor cleanups.

2000-08-01  macgyver <macgyver>

	* NEWS: Solaris requires you to have PAM_TTY and PAM_RHOST defined
	before you call pam_open_session.  No, it doesn't make sense to me
	either. :)

2000-07-28  macgyver <macgyver>

	* lib/pr_fnmatch.c: Optimizations for fnmatch() implementation.

2000-07-28  macgyver <macgyver>

	* contrib/mod_ldap.c: Updated mod_ldap to 2.7.2.

2000-07-28  macgyver <macgyver>

	* modules/mod_xfer.c: Don't check for PORT in cmd_stor if we're in
	passive mode.

2000-07-28  macgyver <macgyver>

	* NEWS, modules/mod_site.c: AllowChmod now works in almost any
	context.

2000-07-28  macgyver <macgyver>

	* ChangeLog: Updated ChangeLog.

2000-07-28  macgyver <macgyver>

	* NEWS, modules/mod_site.c: AllowChmod works right now.

2000-07-28  macgyver <macgyver>

	* NEWS, acconfig.h, config.h.in, configure, configure.in,
	src/data.c: Added --disable-pam, allowing you to disable PAM at
	configure-time.  Reorganized sendfile detection a bit and added
	support for HP/UX.

2000-07-27  macgyver <macgyver>

	* modules/mod_auth.c: Work around HP/UX's broken compiler in
	_do_user_counts().

2000-07-27  macgyver <macgyver>

	* contrib/mod_ldap.c: Updated mod_ldap to latest/greatest.

2000-07-26  macgyver <macgyver>

	* src/main.c: Remove spurious \r\n from various send_response()s.

2000-07-26  macgyver <macgyver>

	* src/main.c: Be verbose about /etc/shutmsg.

2000-07-26  macgyver <macgyver>

	* include/proftpd.h, modules/mod_core.c, modules/mod_ls.c,
	modules/mod_xfer.c, src/data.c, src/log.c: Fixed a crash when STOR
	called before PORT being issued.  Fixed a crash related to STAT.

2000-07-26  macgyver <macgyver>

	* lib/pwgrent.c: Fixed some warnings on FreeBSD.

2000-07-26  macgyver <macgyver>

	* src/main.c: Better checking for empty strings before attempting to
	call a regex.  Handle empty commands cleaner.

2000-07-26  macgyver <macgyver>

	* README.LDAP, contrib/mod_ldap.c: Updated mod_ldap to 2.7.1.

2000-07-26  macgyver <macgyver>

	* lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: fnmatch.c was renamed to
	pr_fnmatch.c, as well as importing the new fnmatch code from glibc.

2000-07-26  macgyver <macgyver>

	* Make.rules.in, config.h.in, configure, configure.in,
	include/libsupp.h, lib/Makefile.in, modules/Makefile.in,
	src/Makefile.in, src/dirtree.c: New fnmatch code in ProFTPD.
	Updated from the latest and greatest glibc code.  ProFTPD now always
	uses our builtin fnmatch to eliminate problems with incompatible
	implementations as well as namespace collisions.

2000-07-26  macgyver <macgyver>

	* contrib/mod_ratio.c: Transitioned to the new fnmatch() function,
	and corrected an error where hosts were being treated in a
	case-sensitive fashion.

2000-07-26  macgyver <macgyver>

	* configure, configure.in: Made fnmatch check more robust and
	cleaned up gcc detection a bit.

2000-07-26  macgyver <macgyver>

	* configure, configure.in, src/dirtree.c: Hostname checks should be
	case insensitive.  Added FNM_CASEFOLD to fnmatch check.

2000-07-26  macgyver <macgyver>

	* config.guess, config.sub: Updated config.guess and config.sub
	scripts.

2000-07-21  macgyver <macgyver>

	* ChangeLog: Updated changelog.

2000-07-21  macgyver <macgyver>

	* ChangeLog, NEWS, config.h.in, configure, configure.in,
	modules/mod_auth.c: Portability fixes and additions on various
	platforms.  Also corrected a problem in configure where a piece of
	code was completely bypassed.

2000-07-21  macgyver <macgyver>

	* doc/Configuration.html: Updated configuration documentation.

2000-07-21  macgyver <macgyver>

	* src/main.c: Check for getopt_long was backwards.

2000-07-21  macgyver <macgyver>

	* modules/mod_core.c: Removed unused variables thanks to gcc -Wall.

2000-07-21  macgyver <macgyver>

	* src/main.c: Removed 2 printfs that were just plain wrong in a
	situation where a site is administratively shutdown (ala shutmsg,
	etc).  Also corrected a getopt_long related issue in show_usage.

2000-07-21  macgyver <macgyver>

	* NEWS: Updated news.

2000-07-21  macgyver <macgyver>

	* ChangeLog: Updated changelog.

2000-07-21  macgyver <macgyver>

	* src/main.c: Command line options are constants.

2000-07-21  macgyver <macgyver>

	* src/main.c: Be mindful of systems without getopt_long.

2000-07-21  macgyver <macgyver>

	* configure, configure.in: Added in better PAM detection for -ldl.

2000-07-21  macgyver <macgyver>

	* README.LDAP, contrib/mod_ldap.c, doc/Configuration.html: Latest
	LDAP updates (mod_ldap 2.7).

2000-07-21  macgyver <macgyver>

	* src/data.c: Added many more descriptions around various error
	conditions for better RFC compliance.

2000-07-11  macgyver <macgyver>

	* modules/mod_core.c: Fixed a minor typo when there is no regex
	engine around.

2000-07-11  macgyver <macgyver>

	* ChangeLog: Updated ChangeLog.

2000-07-11  macgyver <macgyver>

	* NEWS, src/data.c, src/main.c: Don't ignore ServerUseReverseDNS.

2000-07-11  macgyver <macgyver>

	* ChangeLog, contrib/mod_ldap.c, contrib/mod_ratio.c,
	lib/pwgrent.c, lib/vsnprintf.c, modules/mod_auth.c,
	modules/mod_core.c, modules/mod_log.c, modules/mod_ls.c,
	modules/mod_site.c, modules/mod_xfer.c, src/auth.c, src/dirtree.c,
	src/ident.c, src/inet.c, src/log.c, src/pool.c, src/support.c: Minor
	updates and buffer cleanups.

2000-07-11  macgyver <macgyver>

	* include/default_paths.h, src/main.c: Added in support for core
	file debugging.

2000-07-11  macgyver <macgyver>

	* doc/Configuration.html: Latest and greatest documentation updates.

2000-07-09  macgyver <macgyver>

	* include/log.h, modules/mod_core.c, modules/mod_xfer.c, src/log.c: 
	Added in support for a completion field in xferlog.

2000-07-09  macgyver <macgyver>

	* doc/Configuration.html: Updated LDAP documentation.

2000-07-09  macgyver <macgyver>

	* contrib/mod_ldap.c: Added in -lresolv.

2000-07-09  macgyver <macgyver>

	* src/support.c: Try to address potential memory issues with people
	trying to overflow large path buffers.

2000-07-08  macgyver <macgyver>

	* src/inet.c: Added in some sanity checking so things like
	getsockname() don't crash on Solaris when called with invalid
	descriptors.

2000-07-07  macgyver <macgyver>

	* ChangeLog, include/version.h: Updated ChangeLog as well as
	version.

2000-07-07  macgyver <macgyver>

	* contrib/README.ratio, contrib/mod_ratio.c: Updated to mod_ratio.

2000-07-07  macgyver <macgyver>

	* NEWS, modules/mod_ls.c, src/auth.c, src/data.c, src/log.c,
	src/support.c: Fixed various MAXPATHLEN buffers.

2000-07-07  macgyver <macgyver>

	* modules/mod_ls.c: Use access_check to properly check permissions.
	More consistent handling of '.' and '..'.  I can't wait to rewrite
	this module.

2000-07-07  macgyver <macgyver>

	* modules/mod_core.c, src/support.c: Handle symlinks more
	appropriately...follow the link, not the file.

2000-07-07  macgyver <macgyver>

	* NEWS, include/support.h, src/dirtree.c, src/support.c: Added
	access_check() to handle correct permission checking.

2000-07-07  macgyver <macgyver>

	* src/auth.c: Minor correction to auth_uid_name and auth_gid_name.

2000-07-07  macgyver <macgyver>

	* src/log.c: Documented design decision behind utmp entries and
	strings.

2000-07-06  macgyver <macgyver>

	* doc/Configuration.html: Updates to documentation.

2000-07-06  macgyver <macgyver>

	* modules/Makefile.in: Removed mod_mysql.h dependency.

2000-07-06  macgyver <macgyver>

	* NEWS, doc/Configuration.html, include/proftpd.h,
	modules/mod_core.c, modules/mod_xfer.c: Fixed GroupOwner and added
	UserOwner.

2000-07-06  macgyver <macgyver>

	* NEWS, config.h.in, configure, configure.in, modules/mod_auth.c,
	src/main.c: Added in support to handle large groups efficiently.
	This should take care of the 'hangs forever on login' bug.

2000-07-06  macgyver <macgyver>

	* modules/mod_auth.c: Fixed a bug when classes weren't enabled and
	DisplayConnect is used.

2000-07-06  macgyver <macgyver>

	* include/inet.h, src/data.c, src/inet.c: AllowForeignAddress
	directives now work on passive connections as well.

2000-07-06  macgyver <macgyver>

	* modules/mod_site.c: Typo in AllowChmod implementation. :)

2000-07-06  macgyver <macgyver>

	* Make.rules.in: Minor cleanups.

2000-07-06  macgyver <macgyver>

	* src/main.c: Added in set_proc_title duirng login.

2000-07-06  macgyver <macgyver>

	* modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c: Stubs
	for unimplemented commands.  Bleh...we need to overhaul this
	protocol.

2000-07-06  macgyver <macgyver>

	* doc/Configuration.html: Updated classes documentation.

2000-07-06  macgyver <macgyver>

	* NEWS, modules/mod_xfer.c: Minor typo in cmd_stor.

2000-07-06  macgyver <macgyver>

	* modules/mod_auth.c: Fixed a minor race condition in classes.

2000-07-06  macgyver <macgyver>

	* NEWS, modules/mod_ls.c: Fixed a minor permissions display problem
	when DirFakeMode is not in use.

2000-07-06  macgyver <macgyver>

	* src/main.c: Fixed use of 500 instead of R_500.

2000-07-06  macgyver <macgyver>

	* NEWS, config.h.in, configure, configure.in, lib/vsnprintf.c: Made
	portable *snprintf libraries more so by supporting floating point
	operations and updated ftpcount accordingly.

2000-07-06  macgyver <macgyver>

	* lib/pwgrent.c: A fix for dealing with FreeBSD's (IMO **BROKEN**)
	passwd scheme that allows comments and blank lines in passwd files.

2000-07-06  macgyver <macgyver>

	* NEWS, modules/mod_site.c: Added AllowChmod directive.

2000-07-06  macgyver <macgyver>

	* NEWS, doc/Configuration.html, modules/mod_ls.c: DisplayReadme now
	accepts patterns.

2000-07-06  macgyver <macgyver>

	* Make.rules.in, NEWS, include/default_paths.h, src/main.c: A PID
	file is now created in standalone mode.

2000-07-06  macgyver <macgyver>

	* acconfig.h, config.h.in, configure, configure.in, include/conf.h,
	modules/mod_ls.c: Fixed a POSIX issue regarding NAME_MAX usage.

2000-07-06  macgyver <macgyver>

	* NEWS: Updated news.

2000-07-06  macgyver <macgyver>

	* INSTALL: Updated documentation.

2000-07-03  macgyver <macgyver>

	* modules/mod_ls.c: Fixed potential buffer problem in dolist().

2000-07-03  macgyver <macgyver>

	* modules/mod_log.c: Cleaned up mod_log slightly, and added in some
	comments about potential buffer problems to be fixed after 1.2.0.

2000-07-03  macgyver <macgyver>

	* README.PAM: Updated PAM documentation to reflect AuthPAM.

2000-07-03  macgyver <macgyver>

	* src/main.c: Security fix in setproctitle().

2000-03-06  macgyver <macgyver>

	* CREDITS: Updated CREDITS

2000-03-06  macgyver <macgyver>

	* INSTALL: An even cooler INSTALL file

2000-03-06  macgyver <macgyver>

	* INSTALL, doc/Configuration.html: Documentation updates

2000-03-06  macgyver <macgyver>

	* NEWS, modules/mod_ls.c: Added in -L option for things like mirror
	to work with symlinks

2000-03-06  macgyver <macgyver>

	* configure, configure.in: Fixed a bug in link-testing for -ldl

2000-03-03  macgyver <macgyver>

	* config.h.in, configure, configure.in: Minor cleanups of configure
	scripts to remove dependencies on -ldl

2000-03-01  macgyver <macgyver>

	* NEWS, modules/mod_ls.c: Put in a better optimized sreaddir
	function

2000-03-01  macgyver <macgyver>

	* modules/mod_auth.c: Cleanup of a couple of typos, and removed some
	redundant code

2000-03-01  macgyver <macgyver>

	* include/conf.h: Moved the NAME_MAX stuff into conf.h, for
	portability

2000-03-01  macgyver <macgyver>

	* src/pool.c: Commented out references to symbol information in pool
	allocations

2000-02-29  macgyver <macgyver>

	* NEWS, acconfig.h, config.h.in, configure, configure.in,
	src/main.c: Added in support for tzset, to preserve timezone
	information across a chroot

2000-02-29  macgyver <macgyver>

	* NEWS, lib/vsnprintf.c, src/log.c: Removed spurious alloca calls

2000-02-28  macgyver <macgyver>

	* NEWS, doc/Configuration.html, modules/mod_auth.c,
	modules/mod_log.c: Added in %A, %F, and %m to LogFormat so we can do
	CLF-style logs now

2000-02-28  macgyver <macgyver>

	* ChangeLog, NEWS, src/dirtree.c, src/main.c: Added -t option to
	allow for syntax checking of a config file and made config file
	errors give line and file information on failure

2000-02-28  macgyver <macgyver>

	* modules/mod_auth.c, modules/mod_core.c: Minor cosmetic cleanups

2000-02-28  macgyver <macgyver>

	* NEWS, modules/mod_core.c: Add %k directive to show amount of data
	in a user-friendly way in DisplayQuit

2000-02-28  macgyver <macgyver>

	* modules/mod_auth.c: Make root logins louder

2000-02-28  macgyver <macgyver>

	* NEWS, README.Unixware, config.guess, config.sub: Unixware support
	and updated config.guess, config.sub files

2000-02-28  macgyver <macgyver>

	* NEWS, src/inet.c: FreeBSD 4.0 support added

2000-02-28  macgyver <macgyver>

	* NEWS: Added mod_quota

2000-02-28  macgyver <macgyver>

	* modules/mod_xfer.c: Include sys/sendfile.h

2000-02-28  macgyver <macgyver>

	* modules/mod_core.c: Minor cleanups of unused variables

2000-02-28  macgyver <macgyver>

	* NEWS, modules/mod_log.c: Logging of transfer times is more precise

2000-02-28  macgyver <macgyver>

	* modules/mod_core.c: Fixed a typo that called VirtualHost a
	VirtualServer

2000-02-28  macgyver <macgyver>

	* NEWS, modules/mod_log.c: Add a warning for invalid classes in
	ExtendedLog

2000-02-28  macgyver <macgyver>

	* NEWS, src/main.c: Save environment before doing anything with
	set_proc_title.

2000-02-26  macgyver <macgyver>

	* NEWS, contrib/mod_ldap.c: Updated mod_ldap to 2.5.2.

2000-02-26  macgyver <macgyver>

	* NEWS, modules/mod_xfer.c: Updated bandwidth code to use select
	instead of usleep.

2000-02-16  macgyver <macgyver>

	* NEWS, src/dirtree.c: Fixed Umask handling for directories.

2000-02-16  macgyver <macgyver>

	* NEWS, modules/mod_xfer.c: Correct the case where there is no
	second argument to TYPE L X.

2000-02-15  macgyver <macgyver>

	* src/support.c: Correct calc_fs to actually make the right
	calculation when using statvfs.

2000-02-01  macgyver <macgyver>

	* modules/mod_auth.c: Fixed a NULL dereference when AuthUsingAlias
	is used outside of <Anonymous> directives.

2000-01-24  macgyver <macgyver>

	* NEWS, modules/mod_auth.c: Fixed a small group permissions problem.

2000-01-24  macgyver <macgyver>

	* src/dirtree.c, src/main.c: Removed references to the fastpathing
	of limits.  This topic is too complex to deal with for 1.2.0.

2000-01-24  macgyver <macgyver>

	* src/main.c: This is a stupid message...just disabled my
	fastpath...needs more work, and I need to step out for a while. :)

2000-01-24  macgyver <macgyver>

	* src/main.c: Added a fastpath for denying commands in the dispatch
	loop.

2000-01-24  macgyver <macgyver>

	* include/proftpd.h, modules/mod_auth.c, modules/mod_core.c: Support
	for class listing in ftpcount.  Support for full use of % options in
	DisplayConnect.

2000-01-23  macgyver <macgyver>

	* doc/Configuration.html: Documentation for Include directive.

2000-01-23  macgyver <macgyver>

	* modules/mod_core.c: Added 'Include' directive.

2000-01-23  macgyver <macgyver>

	* modules/mod_core.c: DisplayConnect now supports all the % options.
	Correct a bug with %z printing in classes.

2000-01-23  macgyver <macgyver>

	* modules/mod_ls.c: Added TimesGMT, and made our listing output more
	consistent.

2000-01-23  macgyver <macgyver>

	* doc/Configuration.html: Added documentation for Class/Classes and
	TimeGMT.

2000-01-23  macgyver <macgyver>

	* NEWS, modules/mod_ls.c: Fix a stupid dereference in mod_ls.

2000-01-18  macgyver <macgyver>

	* CREDITS: Added a CREDITS file.

2000-01-18  macgyver <macgyver>

	* README: Updated with new web site.

2000-01-18  macgyver <macgyver>

	* ChangeLog, include/version.h: Updated for pre10.

2000-01-18  macgyver <macgyver>

	* NEWS: Updated for pre10 release.

2000-01-18  macgyver <macgyver>

	* doc/Configuration.html, include/dirtree.h, modules/mod_core.c,
	src/dirtree.c: Corrected some errors in .ftpaccess handling.

2000-01-18  macgyver <macgyver>

	* config.sub: Recognize BSDI on an UltraSPaRC

2000-01-18  macgyver <macgyver>

	* NEWS, src/inet.c: inet_getname no longer returns NULL in bad host
	entry cases.

2000-01-18  macgyver <macgyver>

	* NEWS: Corrected ~ reporting.

2000-01-15  macgyver <macgyver>

	* lib/pwgrent.c: Corrected an allocation error in pwgrent.

2000-01-03  macgyver <macgyver>

	* include/privs.h, include/proftpd.h, modules/mod_auth.c: Added
	Simon's patch to handle chdir-ing properly into user accounts.

2000-01-03  macgyver <macgyver>

	* modules/mod_xfer.c: Handle a case with a zero-length file for BSD.

1999-12-30  macgyver <macgyver>

	* src/data.c: Fixed total calculation.

1999-12-30  macgyver <macgyver>

	* NEWS, include/dirtree.h, modules/mod_auth.c, modules/mod_core.c: 
	Fixed error messages in cases where it's an invalid number of
	arguments.

1999-12-30  macgyver <macgyver>

	* ChangeLog, src/data.c: Added a fix for BSD's strange sendfile
	behavior.

1999-12-29  macgyver <macgyver>

	* src/data.c: Minor correction to sendfile() semantics on FreeBSD.

1999-12-28  macgyver <macgyver>

	* modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c,
	modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c: Ensured
	that cmdtable structs remained static to the files they're defined
	in.

1999-12-28  macgyver <macgyver>

	* ChangeLog: Updated ChangeLog.

1999-12-28  macgyver <macgyver>

	* src/support.c: Cleaned up sstrncpy properly and backed out
	previous incorrect cleanup.

1999-12-28  macgyver <macgyver>

	* NEWS: Updated again.

1999-12-28  macgyver <macgyver>

	* NEWS: Updated NEWS.

1999-12-28  macgyver <macgyver>

	* src/support.c: Cleaned up the implementation of sstrncpy slightly.

1999-12-28  macgyver <macgyver>

	* modules/mod_xfer.c: Disable sendfile() if we're using bandwidth
	control.

1999-12-28  macgyver <macgyver>

	* modules/mod_auth.c: Fixed a missing variable in a log_auth entry.

1999-12-28  macgyver <macgyver>

	* INSTALL, README, doc/Configuration.html: Updated documentation to
	reflect new web site.

1999-12-28  macgyver <macgyver>

	* configure, configure.in: Fixed the detection of hpsecurity.h

1999-12-27  macgyver <macgyver>

	* NEWS, README.LDAP, contrib/mod_ldap.c, doc/Configuration.html: 
	Updated mod_ldap.

1999-12-27  macgyver <macgyver>

	* configure, configure.in: Fixed a minor typo in a test case.

1999-12-27  macgyver <macgyver>

	* modules/mod_auth.c: Group handling fixed for complex groups.

1999-12-27  macgyver <macgyver>

	* modules/mod_xfer.c: Corrected a minor misdefinition in
	xfer_init_parent.

1999-12-23  macgyver <macgyver>

	* NEWS, lib/pwgrent.c: Generate a meaningful error for bad group
	entries.

1999-12-23  macgyver <macgyver>

	* modules/mod_xfer.c: Added more caught cases in sendfile().

1999-12-09  macgyver <macgyver>

	* src/support.c: Small Y2K fix.

1999-11-29  macgyver <macgyver>

	* NEWS, src/data.c: sendfile() doesn't log spurious errors unless in
	debug mode.

1999-10-27  macgyver <macgyver>

	* configure, configure.in: Corrected intall_group handling.

1999-10-27  macgyver <macgyver>

	* modules/mod_xfer.c: Minor optimization in sendfile() detection on
	Linux.

1999-10-27  macgyver <macgyver>

	* modules/mod_xfer.c: Minor log cleanup for data_sendfile.

1999-10-27  macgyver <macgyver>

	* modules/mod_xfer.c: Moved around some logging for data_sendfile.

1999-10-27  macgyver <macgyver>

	* contrib/.cvsignore: Updated for proftpd.spec.

1999-10-27  macgyver <macgyver>

	* modules/mod_xfer.c: sendfile() should take a more graceful and
	tolerant approach to slow connections.  It seems that the problem is
	that its too fast.

1999-10-27  macgyver <macgyver>

	* Makefile.in: Minor path correction for proftpd.spec.

1999-10-27  macgyver <macgyver>

	* ChangeLog: Updated.

1999-10-27  macgyver <macgyver>

	* NEWS: Minor cleanups.

1999-10-27  macgyver <macgyver>

	* NEWS, README.LDAP, doc/Configuration.html, include/version.h: 
	Documentation updates and version bump to pre9.

1999-10-27  macgyver <macgyver>

	* modules/mod_xfer.c: Added support for TYPE L for RFC 959
	compliance.

1999-10-27  macgyver <macgyver>

	* doc/rfc/draft-bonachea-sftp-00.txt,
	doc/rfc/draft-ietf-ftpext-sec-consider-02.txt, doc/rfc/rfc0959.txt,
	doc/rfc/rfc2228.txt: Added RFCs to the documentation.

1999-10-27  macgyver <macgyver>

	* configure, configure.in: Fixed my stupid typo in FreeBSD
	setpassent.

1999-10-27  macgyver <macgyver>

	* doc/Configuration.html: Added more directives.

1999-10-25  macgyver <macgyver>

	* doc/Configuration.html: More additions, courtesy of Ben Ritcey.

1999-10-23  macgyver <macgyver>

	* NEWS: Added AuthUsingAlias.

1999-10-23  macgyver <macgyver>

	* doc/Configuration.html, modules/mod_auth.c, modules/mod_core.c: 
	Added in AuthUsingAlias.

1999-10-23  macgyver <macgyver>

	* configure, configure.in, contrib/dist/rpm/ftp.pamd,
	contrib/dist/rpm/proftpd.init.d: Moved around RPM build files.

1999-10-23  macgyver <macgyver>

	* ChangeLog: Updated.

1999-10-23  macgyver <macgyver>

	* NEWS, modules/mod_xfer.c: Minor updates.

1999-10-23  macgyver <macgyver>

	* NEWS, README, acconfig.h, config.h.in, configure, configure.in,
	modules/mod_auth.c: Updates for FreeBSD's brokenness with respect to
	setpassent.

1999-10-23  macgyver <macgyver>

	* modules/mod_xfer.c: FreeBSD cleanups for sendfile().

1999-10-23  macgyver <macgyver>

	* contrib/mod_ldap.c: Updated mod_ldap.

1999-10-21  macgyver <macgyver>

	* doc/Configuration.html: Updated configuration documentation.

1999-10-18  macgyver <macgyver>

	* NEWS, doc/Configuration.html, include/dirtree.h,
	modules/mod_core.c, src/dirtree.c: Added a second argument to the
	Umask directive to handle directories.

1999-10-18  macgyver <macgyver>

	* modules/mod_xfer.c: sendfile() now deprecates politely on Linux
	2.0.x.

1999-10-17  macgyver <macgyver>

	* doc/Configuration.html: Added in documentation for DisplayReadme.

1999-10-11  macgyver <macgyver>

	* NEWS, config.h.in, configure, configure.in, include/conf.h: Added
	in support for setgroupent.

1999-10-11  macgyver <macgyver>

	* modules/mod_auth.c: Fixed the 'no names, just UIDs' bug.

1999-10-11  macgyver <macgyver>

	* ChangeLog: Updated.

1999-10-11  macgyver <macgyver>

	* Make.rules.in, Makefile.in, NEWS, src/Makefile.in: Corrected a
	couple of grammatical errors in ftpcount/ftpwho, and seperated them
	into their own binaries.

1999-10-11  macgyver <macgyver>

	* NEWS, configure, contrib/mod_ldap.c, contrib/mod_ratio.c,
	modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c,
	modules/mod_ls.c, modules/mod_xfer.c, src/log.c, src/main.c: Updated
	logging to be more consistent, and generally be more informative.

1999-10-11  macgyver <macgyver>

	* README.PAM: Updated some information for FreeBSD, SuSE, and
	others.

1999-10-10  macgyver <macgyver>

	* NEWS, configure.in: install_group slightly more portable.

1999-10-10  macgyver <macgyver>

	* contrib/mod_ldap.c: Updated author/copyright info.

1999-10-10  macgyver <macgyver>

	* contrib/mod_ldap.c, doc/Configuration.html: Added in mod_ldap.

1999-10-07  macgyver <macgyver>

	* NEWS: Updated.

1999-10-07  macgyver <macgyver>

	* modules/mod_auth.c, modules/mod_core.c, src/main.c: Added in some
	better/clearer logging support.

1999-10-06  macgyver <macgyver>

	* NEWS, README.PAM: Fixed FreeBSD documentation.

1999-10-06  macgyver <macgyver>

	* modules/mod_auth.c: Fixed potential segfault in
	group_expression().

1999-10-06  macgyver <macgyver>

	* doc/Configuration.html: Removed Bandwidth from docs.

1999-10-06  macgyver <macgyver>

	* NEWS: Updated.

1999-10-05  macgyver <macgyver>

	* NEWS: Added a news file.

1999-10-05  macgyver <macgyver>

	* acconfig.h, config.h.in, configure, configure.in, include/data.h,
	src/data.c: Added in support for sendfile on BSD platforms.

1999-10-05  macgyver <macgyver>

	* ChangeLog, Makefile.in, doc/mod_sample.c: Miscellaneous
	reshuffling.

1999-10-05  macgyver <macgyver>

	* configure, configure.in: Fixed a small typo.

1999-10-04  macgyver <macgyver>

	* ChangeLog: Updated.

1999-10-04  macgyver <macgyver>

	* ChangeLog: [no log message]

1999-10-04  macgyver <macgyver>

	* ChangeLog: Updated the ChangeLog.

1999-10-04  macgyver <macgyver>

	* contrib/mod_ratio.c: Fixed a typo in an snprintf.

1999-10-04  macgyver <macgyver>

	* include/version.h: Updated to pre8.

1999-10-04  macgyver <macgyver>

	* configure, configure.in: Enhanced configure to automagically
	create the necessary symlinks.

1999-10-04  macgyver <macgyver>

	* contrib/mod_ratio.c: Added in Johnie Ingram's latest mod_*sql
	patches, along with some slight buffer fixes of my own.

1999-10-01  macgyver <macgyver>

	* src/support.c: Fixed a typo with statvfs.

1999-10-01  macgyver <macgyver>

	* ChangeLog: Moved to cvs2cl generation of ChangeLogs.

1999-10-01  macgyver <macgyver>

	* ChangeLog: Updated ChangeLog

1999-10-01  macgyver <macgyver>

	* config.h.in, configure, configure.in, include/data.h,
	include/dirtree.h, include/log.h, include/proftpd.h,
	modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c,
	modules/mod_xfer.c, src/log.c, src/main.c: Added classes support,
	new bandwidth support, and sendfile support.

1999-10-01  macgyver <macgyver>

	* src/data.c: Added support for sendfile().

1999-10-01  macgyver <macgyver>

	* include/privs.h, modules/mod_auth.c: Added in support for
	setresuid on HP/UX.

1999-10-01  macgyver <macgyver>

	* doc/Configuration.html, modules/mod_xfer.c: Added new Bandwidth
	code and documentation.

1999-10-01  macgyver <macgyver>

	* modules/mod_auth.c: Corrected a tricky bug with parsing of
	configuration files.  Thanks Klaus.

1999-10-01  macgyver <macgyver>

	* modules/mod_ls.c: Fixed a silly typo with snprintf.

1999-10-01  macgyver <macgyver>

	* modules/mod_core.c: Removed old and naieve bandwidth code.

1999-10-01  macgyver <macgyver>

	* include/dirtree.h, src/dirtree.c: Remove old and naieve bandwidth
	code.

1999-10-01  macgyver <macgyver>

	* config.h.in, configure, configure.in: HP/UX security detection
	added.

1999-09-30  macgyver <macgyver>

	* modules/mod_auth.c: Fix a potential security hole.

1999-09-30  macgyver <macgyver>

	* modules/mod_ls.c: DirFakeMode available inside <Directory> blocks.

1999-09-30  macgyver <macgyver>

	* configure, configure.in: Corrected configure portability issues.

1999-09-30  macgyver <macgyver>

	* modules/mod_ls.c: Corrected static declarations.

1999-09-30  macgyver <macgyver>

	* src/dirtree.c: Corrected a couple of problems related to IP LIMIT
	directives.

1999-09-30  macgyver <macgyver>

	* contrib/mod_readme.c: Deleted spurious mod_readme file.

1999-09-30  macgyver <macgyver>

	* modules/mod_core.c: Fixed compliance with RFC 929 with respect to
	RNTO.

1999-09-29  macgyver <macgyver>

	* modules/mod_auth.c, modules/mod_ls.c: Minor bug fixes.

1999-09-29  macgyver <macgyver>

	* src/dirtree.c: Fixed a bug in match_ip that was causing some LIMIT
	directives to fail.

1999-09-28  macgyver <macgyver>

	* src/inet.c: Corrected an incorrect call to inet_validate in
	inet_getaddr.

1999-09-26  macgyver <macgyver>

	* doc/Configuration.html: Fixed a small typo.

1999-09-26  macgyver <macgyver>

	* ChangeLog: Added in a real ChangeLog.

1999-09-26  macgyver <macgyver>

	* modules/mod_core.c: Added in CommandBufferSize.

1999-09-26  macgyver <macgyver>

	* src/log.c: Corrected minor syslog errors.

1999-09-26  macgyver <macgyver>

	* src/dirtree.c: Fixed a C++ style comment.

1999-09-26  macgyver <macgyver>

	* doc/Configuration.html: Added in updated configuration directives.

1999-09-18  macgyver <macgyver>

	* : Cleaned up usage of fs_readlink.

1999-09-18  macgyver <macgyver>

	* src/pool.c, src/support.c: Minor code beautification.

1999-09-18  macgyver <macgyver>

	* modules/mod_ls.c: Fixed some bad code calling fs_readlink.

1999-09-17  macgyver <macgyver>

	* Makefile.in: Fixed symbolic link installation.

1999-09-17  macgyver <macgyver>

	* contrib/mod_ratio.c, include/support.h, modules/mod_auth.c,
	modules/mod_core.c, modules/mod_log.c, modules/mod_ls.c,
	modules/mod_xfer.c, src/auth.c, src/dirtree.c, src/log.c,
	src/main.c, src/pool.c, src/support.c: Implemented sstrncpy to
	handle proper buffer copying issues on all platforms.

1999-09-17  macgyver <macgyver>

	* modules/mod_ls.c: gcc cleanups.

1999-09-17  macgyver <macgyver>

	* modules/mod_log.c: Eliminated some potential problems with
	logging.

1999-09-17  macgyver <macgyver>

	* modules/mod_xfer.c: gcc cleanups and a more informative error
	message added.

1999-09-17  macgyver <macgyver>

	* src/log.c: More intelligent handling of logfiles to avoid a
	potential race condition.

1999-09-17  macgyver <macgyver>

	* modules/mod_core.c: General regex cleanups.  Added
	AllowFilter/DenyFilter.  More intelligent handling of logfiles.  gcc
	cleanups.  wu-ftp style logging of deleted files.

1999-09-17  macgyver <macgyver>

	* src/pool.c: Fixed gcc warnings.

1999-09-17  macgyver <macgyver>

	* src/main.c: Added AllowFilter/DenyFilter.  Fixed a small typo with
	newlines.  Corrected a slight problem with memory debugging.  Fixed
	several gcc warnings.

1999-09-17  macgyver <macgyver>

	* include/inet.h, src/inet.c: Check for any potential DNS spoofing
	attacks from the outside.

1999-09-17  macgyver <macgyver>

	* include/version.h: Bumped version number.

1999-09-17  macgyver <macgyver>

	* sample-configurations/complex-virtual.conf: Added in a new sample
	configuration.

1999-09-17  macgyver <macgyver>

	* .cvsignore, contrib/.cvsignore: Added some more files to ignore.

1999-09-16  macgyver <macgyver>

	* src/main.c: Changed an argument reversal.

1999-09-16  macgyver <macgyver>

	* src/log.c: Cleaned up some ugly code.

1999-09-16  macgyver <macgyver>

	* src/main.c: Fixed a silly, yet insidious, way to overflow a
	buffer.

1999-09-14  macgyver <macgyver>

	* modules/mod_xfer.c: Corrected a minor typo .in -> .in.

1999-09-14  macgyver <macgyver>

	* include/proftpd.h, modules/mod_core.c, modules/mod_xfer.c: 
	Implemented HiddenStor.

1999-09-12  macgyver <macgyver>

	* README.Solaris2.5x: Additional information regarding Solaris 2.5.x
	systems added.

1999-09-12  macgyver <macgyver>

	* config.h.in, configure, configure.in, include/conf.h, src/log.c: 
	Added in support for utmpx under Solaris and like-minded platforms.

1999-09-12  macgyver <macgyver>

	* doc/Configuration.html: Added configuration documentation and 'un'
	documentation.

1999-09-12  macgyver <macgyver>

	* contrib/mod_ratio.c, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_log.c, modules/mod_ls.c: Initial import of GetConf, and
	slight cleanup in all modules.

1999-09-12  macgyver <macgyver>

	* include/version.h: Corrected versioning info.

1999-09-11  macgyver <macgyver>

	* configure, configure.in: Forgot the 'id' issue.

1999-09-11  macgyver <macgyver>

	* configure, configure.in: A couple of more configure fixes.

1999-09-10  macgyver <macgyver>

	* README.PAM, src/log.c: Added PAM README, and modified log.c to
	handle log_xfer more like WU-FTPd.

1999-09-10  macgyver <macgyver>

	* INSTALL, README: Moved PAM into the main module set.  It's now a
	'core' feature.

1999-09-10  macgyver <macgyver>

	* src/main.c: Added CommandBufferSize option.

1999-09-10  macgyver <macgyver>

	* configure, configure.in: Fixed a small typo with shadow use.

1999-09-10  macgyver <macgyver>

	* configure, configure.in: Updated support for Solaris, and made PAM
	sleep quietly when told to do so.

1999-09-10  macgyver <macgyver>

	* src/support.c: Fixed remaining buffer issues in sreplace.

1999-09-10  macgyver <macgyver>

	* src/pool.c: Corrected alignment issues on 64-bit platforms.
	Thanks to Todd C. Miller <millert@ee.ethz.ch> for the patch.

1999-09-10  macgyver <macgyver>

	* src/pool.c: Fix for improper strncpy.

1999-09-09  macgyver <macgyver>

	* src/support.c: Corrected a length bug in sreplace.

1999-09-08  macgyver <macgyver>

	* configure, configure.in: Updates to auto-configuring for PAM on
	*BSD.

1999-09-08  macgyver <macgyver>

	* configure, configure.in: Fixed setproctitle detection on *BSD
	platforms.

1999-09-08  macgyver <macgyver>

	* configure, configure.in: Fixed an extra 'fi' statement.

1999-09-08  macgyver <macgyver>

	* configure, configure.in: Fixed a small typo in PAM detection.

1999-09-08  macgyver <macgyver>

	* Make.rules.in, config.h.in: Added memory debugging support.

1999-09-08  macgyver <macgyver>

	* modules/Makefile.in: Updated for mod_mysql.

1999-09-08  macgyver <macgyver>

	* config.guess: Added in StrongARM support.

1999-09-08  macgyver <macgyver>

	* src/main.c: Added in some debugging code to assist in tracking
	down memory problems.

1999-09-08  macgyver <macgyver>

	* src/pool.c: Fixed a couple of bugs introduced by silly typos.

1999-09-08  macgyver <macgyver>

	* src/log.c: Minor buffer cleanups.

1999-09-08  macgyver <macgyver>

	* src/inet.c: Added a helper message for people who misconfigure
	their servers.

1999-09-07  macgyver <macgyver>

	* Makefile.in, config.h.in, configure, configure.in,
	include/dirtree.h, include/version.h, src/dirtree.c, src/inet.c,
	src/log.c, src/main.c, src/modules.c, src/pool.c, src/support.c: 
	Removed lots of unsafe buffer copies, as well as addressed a couple
	of Y2K issues.

1999-09-07  macgyver <macgyver>

	* contrib/.cvsignore: Removed README.linux-privs

1999-09-07  macgyver <macgyver>

	* contrib/mod_ratio.c: Fixed some potential buffer issues.

1999-09-07  macgyver <macgyver>

	* modules/mod_auth.c, modules/mod_log.c, modules/mod_ls.c,
	modules/mod_site.c, modules/mod_xfer.c: Removed unsafe buffer copies
	that may have been potential problems.  Implemented the 'real' patch
	for the MKD/log security issues.

1999-09-07  macgyver <macgyver>

	* modules/mod_core.c: Added in Bandwidth patch for bandwidth
	control.  Security cleanups -- removed lots of unsafe buffer copies.

1999-09-07  macgyver <macgyver>

	* modules/Makefile.in: Updated Makefile for new capabilities code.

1999-08-31  flood <flood>

	* include/options.h, include/pool.h, modules/mod_core.c,
	modules/mod_ls.c, modules/mod_xfer.c, src/log.c, src/main.c,
	src/modules.c, src/pool.c: Mucho patches.

1999-03-12  flood <flood>

	* modules/mod_xfer.c: TYPE A N

1999-03-12  flood <flood>

	* src/inet.c: OpenBSD SO_REUSEADDR patch.

1999-03-10  flood <flood>

	* include/version.h: Version 1.2.0pre3

1999-03-07  flood <flood>

	* include/proftpd.h, modules/mod_core.c, src/dirtree.c, src/main.c: 
	Added `MultilineRFC2228' directive and changed `ServerIdent'.

1999-03-05  flood <flood>

	* modules/mod_xfer.c, src/timers.c: Oops.  Last nights commit
	royally screwed timers.

1999-03-05  flood <flood>

	* Make.rules.in, Makefile.in, acconfig.h, config.h.in, configure,
	configure.in, include/proftpd.h, modules/Makefile.in,
	modules/mod_core.c, src/data.c, src/main.c: MacGyver's patch to do
	argv[] rewriting the Right Way<tm>, and some minor socket error
	handling fixes.

1999-03-05  flood <flood>

	* modules/mod_xfer.c, src/ident.c, src/main.c: Fixed ident & i/o
	(hanging) problems.

1999-03-05  flood <flood>

	* modules/mod_xfer.c: what did I fix?

1999-03-05  flood <flood>

	* include/timers.h, modules/mod_auth.c, src/main.c, src/support.c,
	src/timers.c: timer code fixed

1999-02-14  flood <flood>

	* modules/mod_ls.c: Ugg.. Yet another mod_ls quickfix.

1999-02-14  flood <flood>

	* modules/mod_auth.c: Ooops.  add_userdir should have tested for >
	0.

1999-02-14  flood <flood>

	* include/version.h: Version 1.2.0pre2

1999-02-12  flood <flood>

	* Makefile.in, modules/mod_auth.c, modules/mod_core.c,
	modules/mod_ls.c, modules/mod_xfer.c, src/main.c: Mondo changes.

1999-01-27  flood <flood>

	* include/support.h, modules/mod_ls.c, src/support.c: More possibly
	MKD/CWD 'sploits fixed, and mod_ls workin well.

1999-01-21  flood <flood>

	* modules/mod_ls.c, src/ident.c: NLST now works properly! woo!

1999-01-19  flood <flood>

	* include/data.h, modules/mod_ls.c, src/data.c, src/main.c: Still
	working on NLST RFC959 compliane issue.  ncftp client still showing
	problems.

1998-11-01  flood <flood>

	* configure, configure.in, contrib/README, contrib/mod_ratio.c,
	contrib/mod_readme.c, include/proftpd.h, modules/mod_core.c,
	modules/mod_xfer.c, src/dirtree.c: APPE, mod_pam & mod_readme added

1998-10-30  flood <flood>

	* include/proftpd.h, modules/mod_log.c, src/main.c: Fix Debian bug
	#28641

1998-10-30  flood <flood>

	* modules/mod_core.c, src/data.c: Fixes to PASV/PORT.

1998-10-27  flood <flood>

	* modules/mod_log.c: %{} argument fix in mod_log.c

1998-10-23  flood <flood>

	* include/pool.h, modules/mod_ls.c, src/main.c, src/pool.c: memory
	leak in mod_ls fixed

1998-10-18  flood <flood>

	* Imported source for proftpd 1.2.0

