[proftpd-dfsg] 01/03: Imported Upstream version 1.3.5d

Francesco Lovergine frankie at moszumanska.debian.org
Tue Jan 31 09:32:52 GMT 2017


This is an automated email from the git hooks/post-receive script.

frankie pushed a commit to branch master
in repository proftpd-dfsg.

commit 9317ad0c54c5d5f6a5d62f514232fb6729487a13
Author: Francesco Paolo Lovergine <frankie at debian.org>
Date:   Tue Jan 31 10:28:39 2017 +0100

    Imported Upstream version 1.3.5d
---
 .github/CONTRIBUTING.md       |    40 +
 .gitignore                    |     1 +
 .travis.yml                   |     1 +
 ChangeLog                     | 68119 ++++++++++++++++++----------------------
 NEWS                          |    21 +
 RELEASE_NOTES                 |    16 +
 configure                     |    86 +-
 configure.in                  |    46 +-
 contrib/dist/rpm/proftpd.spec |     4 +-
 contrib/mod_ldap.c            |    21 +-
 contrib/mod_sftp/cipher.c     |   113 +-
 contrib/mod_sftp/cipher.h     |     7 +-
 contrib/mod_sftp/compress.c   |     4 +-
 contrib/mod_sftp/crypto.c     |   171 +-
 contrib/mod_sftp/fxp.c        |    18 +-
 contrib/mod_sftp/kbdint.c     |     8 +-
 contrib/mod_sftp/kex.c        |   463 +-
 contrib/mod_sftp/keys.c       |   389 +-
 contrib/mod_sftp/mac.c        |   164 +-
 contrib/mod_sftp/mod_sftp.c   |     6 +-
 contrib/mod_sftp/msg.c        |    41 +-
 contrib/mod_sftp/packet.c     |     2 +
 contrib/mod_sftp/scp.c        |    38 +-
 contrib/mod_sql.c             |    16 +-
 contrib/mod_sql_mysql.c       |    15 +-
 contrib/mod_sql_passwd.c      |    35 +-
 contrib/mod_sql_sqlite.c      |    51 +-
 contrib/mod_tls.c             |   615 +-
 contrib/mod_tls.h             |     2 +-
 contrib/mod_tls_shmcache.c    |    18 +-
 doc/modules/mod_auth.html     |   149 +-
 include/version.h             |     4 +-
 modules/mod_auth.c            |    19 +-
 modules/mod_cap.c             |    12 +-
 modules/mod_facl.c            |   229 +-
 modules/mod_facts.c           |    23 +-
 modules/mod_ls.c              |    48 +-
 modules/mod_xfer.c            |     3 +
 src/auth.c                    |   160 +-
 src/data.c                    |    17 +-
 src/fsio.c                    |    10 +-
 src/memcache.c                |     9 +
 src/response.c                |    28 +-
 src/table.c                   |    10 +-
 tests/api/netacl.c            |    26 +-
 tests/api/netaddr.c           |    10 +-
 46 files changed, 32568 insertions(+), 38720 deletions(-)

diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
new file mode 100644
index 0000000..d3d0fc3
--- /dev/null
+++ b/.github/CONTRIBUTING.md
@@ -0,0 +1,40 @@
+How to contribute to ProFTPD
+============================
+
+Join the community!
+-------------------
+
+ 1. Subscribe to the appropriate [mailing lists](http://www.proftpd.org/lists.html)
+
+ 2. Join the online [forums](https://forums.proftpd.org/smf/index.php)
+
+ 3. Click 'watch' on the github repo
+
+
+Provide feedback on the latest versions
+---------------------------------------
+
+ 1. Periodically check out the [master branch], compile and run it in your environment, make sure it behaves as you expect/desire.  If not, let us know!
+
+ 2. Download the source archive, compile and run it in your environment, make sure it behaves as you expect/desire.  If not, let us know!
+
+
+Help educate other users about using ProFTPD
+--------------------------------------------
+
+ 1. Help answer other users' questions about ProFTPD, FTP, _etc_ on the mailing lists, forums, on [StackOverflow](http://stackoverflow.com/questions/tagged/proftpd), [ServerFault](http://serverfault.com/questions/tagged/proftpd), and other sites.
+
+ 2. Write blog posts, contribute howtos or writeups on your ProFTPD use cases and configuration, lessons learned, _etc_.
+
+
+Send your suggestions/ideas using one of these methods
+------------------------------------------------------
+
+ 1. In an email to the mailing list
+
+ 2. As a [pull request](https://github.com/proftpd/proftpd/pulls)
+
+ 3. As an [issue](https://github.com/proftpd/proftpd/issues)
+
+
+**Thanks!** - _The ProFTPD Project Team_
diff --git a/.gitignore b/.gitignore
index 08130ea..cdabacf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+.github
 config.log
 config.h
 config.cache
diff --git a/.travis.yml b/.travis.yml
index 0f1106a..c06191f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,3 +1,4 @@
+env: TRAVIS_CI=true
 language: c
 
 compiler:
diff --git a/ChangeLog b/ChangeLog
index 9e61a2b..c428735 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,55025 +1,47358 @@
-2014-05-15 08:53  castaglia
+2016-03-11  TJ Saunders <tj at castaglia.org>
 
-	* contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Preparing files for release.
+	* RELEASE_NOTES: Updated release notes to mention DH selection
+	issue.
 
-2014-05-15 08:51  castaglia
+2016-03-10  TJ Saunders <tj at castaglia.org>
 
-	* locale/files.txt:
-	  Updated list of files for localization.
+	* NEWS: Update NEWS with release date.
 
-2014-05-09 07:52  castaglia
+2016-03-10  TJ Saunders <tj at castaglia.org>
 
-	* RELEASE_NOTES:
-	  Fleshing out release notes for upcoming release.
+	* contrib/dist/rpm/proftpd.spec: Update rpm .spec file for 1.3.5b
+	release.
 
-2014-05-05 09:15  castaglia
+2016-03-10  TJ Saunders <tj at castaglia.org>
 
-	* 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.
+	* RELEASE_NOTES: Preparing release notes for a 1.3.5b release.
 
-2014-05-04 16:15  castaglia
+2016-03-10  TJ Saunders <tj at castaglia.org>
 
-	* doc/contrib/mod_sql_passwd.html:
-	  Updated SQLPasswordPBKDF2 docs in light of Bug#4052.
+	* contrib/mod_tls.c: Fix build errors; used wrong variable name, and
+	pushed without building.  Shame.
 
-2014-05-04 16:11  castaglia
+2016-03-10  TJ Saunders <tj at castaglia.org>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm:
-	  Added regression test for Bug#4052.
+	* NEWS, contrib/mod_tls.c: Backport of fix for Bug#4230 to 1.3.5
+	branch.
 
-2014-05-04 16:11  castaglia
+2016-02-23  TJ Saunders <tj at castaglia.org>
 
-	* NEWS, contrib/mod_sql_passwd.c:
-	  Bug#4052 - Enhance SQLPasswordPBKDF2 to support per-user query
-	  for settings.
+	* NEWS: Adding mention of backport of fix for Bug#4227.
 
-2014-05-04 12:49  castaglia
+2016-02-22  TJ Saunders <tj at castaglia.org>
 
-	* doc/contrib/mod_site_misc.html:
-	  Emphasize that both acces and mod times are set by SITE UTIME.
+	* contrib/mod_sftp/fxp.c: Bug#4227: Support SFTP clients that send
+	multiple INIT requests.
 
-2014-05-04 12:27  castaglia
+2016-01-26  TJ Saunders <tj at castaglia.org>
 
-	* NEWS, modules/mod_facl.c:
-	  Backport of fix for Bug#4044 to 1.3.4 branch.
+	* NEWS: Update NEWS with backport of fix for Bug#4223.
 
-2014-05-04 12:26  castaglia
+2016-01-26  TJ Saunders <tj at castaglia.org>
 
-	* NEWS, modules/mod_facl.c:
-	  Bug#4044 - mod_facl prevents a normal SIGHUP reload.
+	* modules/mod_xfer.c: Bug#4223: Permissions on files uploaded via
+	STOU do not honor configured Umask.
 
-2014-05-03 15:19  castaglia
+2016-01-15  TJ Saunders <tj at castaglia.org>
 
-	* NEWS, modules/mod_core.c:
-	  Backport of fix for Bug#4042 to 1.3.4 branch.
+	* NEWS: Update NEWS for backport of fix for Bug#4217.
 
-2014-05-03 15:18  castaglia
+2016-01-15  TJ Saunders <tj at castaglia.org>
 
-	* NEWS, modules/mod_core.c:
-	  Bug#4042 - MIC command between RNFR and RNTO should not be
-	  rejected.
+	* modules/mod_auth.c: Address Bug#4217, as requested, to be slightly
+	more indicative, via response codes and messages, of the issue with
+	reauthentication.
 
-2014-05-02 14:13  castaglia
+2016-01-03  TJ Saunders <tj at castaglia.org>
 
-	* NEWS, contrib/mod_exec.c:
-	  Bug#4049 - mod_exec should include supplemental groups when
-	  running commands as logged-in user.
+	* 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.
 
-2014-04-30 10:33  castaglia
+2015-12-17  TJ Saunders <tj at castaglia.org>
 
-	* 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.
+	* Make.rules.in, lib/Makefile.in, modules/Makefile.in,
+	src/Makefile.in, src/ftpscrub.c, utils/Makefile.in: Backport the fix
+	for the 'make dist' target to the 1.3.5 branch.
 
-2014-04-30 08:58  castaglia
+2015-12-14  TJ Saunders <tj at castaglia.org>
 
-	* NEWS, contrib/mod_ban.c:
-	  Backport of fix for Bug#4048 to 1.3.4 branch.
+	* NEWS: Update NEWS with backport of fix for Bug#4212.
 
-2014-04-30 08:56  castaglia
+2015-12-11  TJ Saunders <tj at castaglia.org>
 
-	* NEWS, contrib/mod_ban.c:
-	  Bug#4048 - Race condition in mod_ban can lead to segfault of all
-	  new connections.
+	* modules/mod_facts.c: Make sure we handle the same issue for MLSD
+	commands, too.
 
-2014-04-28 10:12  castaglia
+2015-12-11  TJ Saunders <tj at castaglia.org>
 
-	* modules/mod_xfer.c:
-	  Backporting tweaks from Bug#4046 in trunk to 1.3.4 branch.
+	* 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.
 
-2014-04-28 10:11  castaglia
+2015-12-11  TJ Saunders <tj at castaglia.org>
 
-	* 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.
+	* contrib/mod_ldap.c: Fix mod_ldap build issue when building against
+	e.g. OpenLDAP-2.3.x.
 
-2014-04-28 10:06  castaglia
+2015-12-10  TJ Saunders <tj at castaglia.org>
 
-	* NEWS, modules/mod_xfer.c:
-	  Backport of fix for Bug#4046 to 1.3.4 branch.
+	* modules/mod_auth.c: Provide slightly more informative message
+	about active data transfers being affected by "RootRevoke on".
 
-2014-04-28 10:05  castaglia
+2015-12-10  TJ Saunders <tj at castaglia.org>
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#4046 - ALLO command failed because of bad size check.
+	* lib/tpl.c: Remove unused variables and prevent compiler warnings
+	on Mac OSX (and probably others).
 
-2014-03-26 11:22  castaglia
+2015-11-28  TJ Saunders <tj at castaglia.org>
 
-	* doc/howto/TLS.html:
-	  Typo.
+	* contrib/mod_sftp/kbdint.c: Remove now-unneeded cast.
 
-2014-03-19 08:35  castaglia
+2015-11-28  TJ Saunders <tj at castaglia.org>
 
-	* 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.
+	* NEWS: Updated NEWS with backport of fix for Bug#4210.
 
-2014-03-13 11:06  castaglia
+2015-11-28  TJ Saunders <tj at castaglia.org>
 
-	* doc/howto/Chroot.html:
-	  Fix broken link, per Bug#4038.
+	* contrib/mod_sftp/fxp.c: Correct the parameters to talk of
+	"extended attributes", not SFTP extensions.
 
-2014-03-08 09:46  castaglia
+2015-11-28  TJ Saunders <tj at castaglia.org>
 
-	* 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.
+	* contrib/mod_sftp/fxp.c: Bug#4210 - Avoid unbounded SFTP extension
+	key/values.
 
-2014-03-08 09:44  castaglia
+2015-11-28  TJ Saunders <tj at castaglia.org>
 
-	* 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.
+	* NEWS: Backport of fix for Bug#4209 to 1.3.5 branch.
 
-2014-03-08 08:58  castaglia
+2015-11-28  TJ Saunders <tj at castaglia.org>
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#4024 - TLS 1.1/1.2 configurable, but not properly
-	  implemented.
+	* src/pool.c: Bug#4209 - Zero-length memory allocation possible,
+	with undefined results.
 
-2014-03-05 09:43  castaglia
+2015-11-28  TJ Saunders <tj at castaglia.org>
 
-	* contrib/mod_tls.c:
-	  When seeing OpenSSL's PRNG manually, use gettimeofday(2) rather
-	  than time(3).
+	* contrib/mod_sftp/kbdint.c, contrib/mod_sftp/mod_sftp.h.in,
+	contrib/mod_sftp_pam.c: Avoid possible signedness mismatch when
+	comparing the expected/received number of SSH keyboard-interactive
+	challenge responses.
 
-2014-03-05 09:43  castaglia
+2015-08-26  tjsaunders <tj at lyveminds.com>
 
-	* contrib/mod_tls.c:
-	  When seeding OpenSSL's PRNG manually, use gettimeofday(2) instead
-	  of time(3).
+	* NEWS, modules/mod_facts.c: Backport of fix for Bug#4202 to 1.3.5
+	branch.
 
-2014-03-03 23:56  castaglia
+2015-08-18  tjsaunders <tj at lyveminds.com>
 
-	* NEWS, contrib/mod_sftp/auth.c:
-	  Backport of fix for Bug#4034 to 1.3.4 branch.
+	* NEWS, contrib/mod_sftp/scp.c: Backporting the fix for Bug#4201 to
+	the 1.3.5 branch.
 
-2014-03-03 23:54  castaglia
+2015-08-15  tjsaunders <tj at lyveminds.com>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding regression tests for Bug#4034.
+	* configure, configure.in: Backporting configure changes from
+	master, for detecting when to add the -pthread flag, e.g. when using
+	OpenSSL on FreeBSD.
 
-2014-03-03 23:54  castaglia
+2015-08-15  tjsaunders <tj at lyveminds.com>
 
-	* NEWS, contrib/mod_sftp/auth.c:
-	  Bug#4034 - SSH publickey authentication fails with
-	  "MaxLoginAttempts 1".
+	* contrib/mod_sftp/utf8.c, src/encode.c, src/inet.c, src/support.c: 
+	Backporting fixes/changes for DARWIN12 from master to 1.3.5.
 
-2014-03-02 21:40  castaglia
+2015-08-12  tjsaunders <tj at lyveminds.com>
 
-	* 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.
+	* src/main.c: Backporting errno handling fix from master.
 
-2014-03-02 14:11  castaglia
+2015-08-12  tjsaunders <tj at lyveminds.com>
 
-	* doc/contrib/mod_sftp.html:
-	  Document the AllowInsecureLogin SFTPOption.
+	* src/main.c: Make sure to clear out any cached errno, too.
 
-2014-03-02 14:05  castaglia
+2015-08-12  tjsaunders <tj at lyveminds.com>
 
-	* contrib/mod_sftp/: auth-kbdint.c, auth-password.c, mod_sftp.c,
-	  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).
+	* src/main.c: Make sure to clear any possibly-cached errno value in
+	the main select() loop.
 
-2014-03-02 08:55  castaglia
+2015-08-09  tjsaunders <tj at lyveminds.com>
 
-	* NEWS, contrib/mod_sftp/mod_sftp.c:
-	  Backport of fix for Bug#4032 to 1.3.4 branch.
+	* contrib/mod_sftp/kex.c: Backport a tweak from master, with regard
+	to the timing of logging of the NEWKEYS command.
 
-2014-03-02 08:49  castaglia
+2015-08-06  tjsaunders <tj at lyveminds.com>
 
-	* NEWS, contrib/mod_sftp/mod_sftp.c:
-	  Bug#4032 - Restarting proftpd with mod_sftp fails due to
-	  permissions on SFTPHostKey file.
+	* NEWS, modules/mod_facts.c: Bug#4198 - MLSD/MLST fact type "cdir"
+	is incorrectly used for the current working directory.  Conflicts: 	modules/mod_facts.c
 
-2014-03-01 22:09  castaglia
+2015-07-28  tjsaunders <tj at lyveminds.com>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Fix the mod_sftp regression tests which SHOULD have caught
-	  Bug#4033.
+	* NEWS, contrib/mod_sftp/kex.c, contrib/mod_sftp/keys.c: Backport of
+	the fix for Bug#4097 to the 1.3.5 branch.
 
-2014-03-01 22:07  castaglia
+2015-07-25  tjsaunders <tj at lyveminds.com>
 
-	* NEWS, contrib/mod_sftp/cipher.c:
-	  Bug#4033 - mod_sftp fails to create SSH2 session using 'none'
-	  cipher.
+	* 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.
 
-2014-03-01 09:34  castaglia
+2015-07-25  tjsaunders <tj at lyveminds.com>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm:
-	  Added regression test for Bug#3938.
+	* src/fsio.c, tests/api/fsio.c: Bug#4194: Add more checks for empty
+	paths in pr_fs_dircat().
 
-2014-03-01 09:34  castaglia
+2015-07-25  tjsaunders <tj at lyveminds.com>
 
-	* NEWS, contrib/mod_wrap2/mod_wrap2.c:
-	  Bug#3938 - mod_wrap2 uses reverse DNS regardless "UseReverseDNS
-	  off".
+	* tests/api/str.c: Bug#4193 - Out of bounds read in tests/api/str.c.
 
-2014-02-28 10:11  castaglia
+2015-07-24  tjsaunders <tj at lyveminds.com>
 
-	* tests/: tests.pl, t/config/passiveports.t,
-	  t/lib/ProFTPD/Tests/Config/PassivePorts.pm:
-	  Added regression tests for the PassivePorts directive in various
-	  configuration contexts, i.e. "server config", <Global>, and
-	  <VirtualHost>.
+	* modules/mod_log.c: More backporting of fixes from master, with
+	regard to using the "default" LogFormat, whilst still allowing
+	configs to override that using "default" as a nickname if they wish.
 
-2014-02-28 07:18  castaglia
+2015-07-24  tjsaunders <tj at lyveminds.com>
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#4029 - TLSOptions EnableDiags logs "unknown version (771)"
-	  for TLS 1.1/1.2 connections.
+	* modules/mod_log.c: Backport the fix for looking/using the default
+	LogFormat, from master.
 
-2014-02-23 10:29  castaglia
+2015-07-17  TJ Saunders <tj at castaglia.org>
 
-	* contrib/mod_ban.c:
-	  Minor name/string change; no functional change.
+	* contrib/mod_sftp/keys.c, contrib/mod_sftp/mod_sftp.c: Fix handling
+	of just ECDSA SSH host keys in mod_sftp; backported the code from
+	master.
 
-2014-02-23 10:07  castaglia
+2015-07-17  tjsaunders <tj at lyveminds.com>
 
-	* 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.
+	* NEWS: Update NEWS for backport of fix for Bug#4191.
 
-2014-02-23 09:11  castaglia
+2015-07-15  TJ Saunders <tj at castaglia.org>
 
-	* doc/contrib/mod_ban.html:
-	  Added support for RootLogin bans.
+	* 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.
 
-2014-02-23 09:10  castaglia
+2015-05-31  TJ Saunders <tj at castaglia.org>
 
-	* 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.
+	* NEWS: Updating NEWS for backport of fix for Bug#4187.
 
-2014-02-20 22:06  castaglia
+2015-05-30  TJ Saunders <tj at castaglia.org>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding reproduction recipe/regression test for Bug#4026.
+	* contrib/mod_geoip.c: Bug#4187 - mod_geoip does not load all of the
+	GeoIPTables properly.
 
-2014-02-19 14:53  castaglia
+2015-05-27  tjsaunders <tj at lyveminds.com>
 
-	* doc/contrib/mod_sftp.html:
-	  Add "Cipher Implementations" section to "Known Client Issues",
-	  noting that SBB clients don't handle the blowfish-ctr cipher.
+	* include/version.h: Update files for maint status.
 
-2014-02-18 11:28  castaglia
+2015-05-27  tjsaunders <tj at lyveminds.com>
 
-	* doc/contrib/mod_sftp.html:
-	  Fix typo/misnamed cipher in list.
+	* NEWS, contrib/dist/rpm/proftpd.spec: Warming up for pending 1.3.5a
+	maint release.
 
-2014-02-15 10:54  castaglia
+2015-04-29  tjsaunders <tj at lyveminds.com>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm:
-	  Adding regression test for Bug#4025.
+	* NEWS: Update NEWS for backport of fix for Bug#4178.
 
-2014-02-15 10:53  castaglia
+2015-04-29  tjsaunders <tj at lyveminds.com>
 
-	* NEWS, contrib/mod_ifsession.c:
-	  Bug#4025 - <IfClass> sections do not work for multiple SQLLog
-	  directives.
+	* contrib/mod_tls.c: Bug#4178: When accepting a TLS connection for
+	data transfers, disable the storing of session IDs in the session
+	cache; we want to require that all data connections reuse the
+	session ID from the control connection, not add their own sessions.
+	If the NoSessionReuseRequired option is used, then it doesn't matter
+	whether we add data connection session IDs to the cache or not; if
+	that option is NOT used, then we only want sessions in the cache
+	that have been added for control connections.  But we DO want to support lookup of session IDs in the session cache
+	for data connections (to enforce session reuse).  Thus we toggle the
+	OpenSSL SSL_SESS_CACHE_NO_INTERNAL_STORE flag for the duration of a
+	data connection TLS handshake.
 
-2014-02-15 00:31  castaglia
+2015-04-28  tjsaunders <tj at lyveminds.com>
 
-	* 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.
+	* src/data.c: Fix segfault due to null pointer dereference.  Conflicts: 	src/data.c
 
-2014-02-14 21:22  castaglia
+2015-04-22  TJ Saunders <tj at castaglia.org>
 
-	* 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.
+	* contrib/mod_copy.c, include/cmd.h: Fix broken build by removing
+	references to function that has not been backported to the 1.3.5
+	branch.
 
-2014-02-11 07:21  castaglia
+2015-04-22  TJ Saunders <tj at castaglia.org>
 
-	* NEWS, src/fsio.c:
-	  Backport of fix for Bug#4022 to 1.3.4 branch.
+	* src/privs.c: Change the logging priority based on errno
+	consistently.
 
-2014-02-11 07:17  castaglia
+2015-04-07  tjsaunders <tj at lyveminds.com>
 
-	* NEWS, src/fsio.c:
-	  Bug#4022 - "Directory not empty" error when creating directory is
-	  misleading.
+	* contrib/mod_copy.c, modules/mod_core.c, modules/mod_xfer.c: 
+	Updating modules to use the PR_ prefixed macros.
 
-2014-02-11 07:17  castaglia
+2015-04-07  tjsaunders <tj at lyveminds.com>
 
-	* src/stash.c:
-	  Fix minor compiler warning when --enable-devel is used.
+	* RELEASE_NOTES: Update release notes for pending maint release.
 
-2014-02-09 12:42  castaglia
+2015-04-07  tjsaunders <tj at lyveminds.com>
 
-	* 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.
+	* src/inet.c: Backporting fix from master, for compiling when the
+	--disable-ipv6 compile-time option is used.
 
-2014-02-09 11:41  castaglia
+2015-04-07  tjsaunders <tj at lyveminds.com>
 
-	* 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.
+	* NEWS: Update NEWS for backport of fix for Bug#4169.
 
-2014-02-09 11:34  castaglia
+2015-04-06  TJ Saunders <tj at castaglia.org>
 
-	* src/fsio.c:
-	  Add more logging of error conditions in the pr_fsio_smkdir()
-	  function, for better diagnosing some reported MKD errors.
+	* RELEASE_NOTES, contrib/mod_copy.c, doc/contrib/mod_copy.html,
+	tests/t/lib/ProFTPD/Tests/Modules/mod_copy.pm: Turns out that
+	mod_copy inadvertently allows unauthenticated copying.  Worse, it
+	does not provide an Engine directive for disabling the module in
+	builds that have it enabled.  Conflicts: 	RELEASE_NOTES 	doc/contrib/mod_copy.html
 
-2014-02-09 10:42  castaglia
+2015-04-05  TJ Saunders <tj at castaglia.org>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm:
-	  Yet another data point/reproduction recipe for Bug#4017.
+	* contrib/mod_sftp/mac.c: Fix typo/bug, backported from master.
 
-2014-02-08 08:45  castaglia
+2015-04-05  TJ Saunders <tj at castaglia.org>
 
-	* tests/t/lib/ProFTPD/Tests/Config/SocketOptions.pm:
-	  Add basic test for SocketOption keepalive.
+	* contrib/mod_sftp/kbdint.c: Backport fix for memory leak when
+	handling 'keyboard-interactive' SSH authentication.
 
-2014-02-04 16:17  castaglia
+2015-04-02  TJ Saunders <tj at castaglia.org>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm:
-	  Additional regression/reproduction recipe for Bug#4017, this time
-	  using PCRE regexes.
+	* modules/mod_ls.c: Backporting fix from master, with regard to
+	ASCII translation of emitted directory listings.
 
-2014-02-03 11:31  castaglia
+2015-03-31  tjsaunders <tj at lyveminds.com>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm:
-	  Regression test/reproduction recipe for Bug#4017.
+	* contrib/mod_sftp/fxp.c: Backporting fix from the investigation for
+	Bug#4166, to prevent memory leaking during handling of SFTP REMOVE
+	requests.
 
-2014-02-01 13:43  castaglia
+2015-03-31  tjsaunders <tj at lyveminds.com>
 
-	* 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.
+	* src/bindings.c: Make namebind create/open failures less noisy, as
+	part of backporting part of the fix from master.
 
-2014-01-31 09:29  castaglia
+2015-03-16  TJ Saunders <tj at castaglia.org>
 
-	* 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 09:08  castaglia
+	* tests/api/fsio.c: Fix the FSIO unit tests for 1.3.5.
 
-	* doc/modules/mod_rlimit.html:
-	  Add description for new RLimitChroot directive to mod_rlimit
-	  docs.
+2015-03-15  tjsaunders <tj at lyveminds.com>
 
-2014-01-31 09:06  castaglia
+	* NEWS: Update NEWS with backport of fix for Bug#4160.
 
-	* src/fsio.c:
-	  Match URLs for "Roaring Beast" reports.
+2015-03-15  tjsaunders <tj at lyveminds.com>
 
-2014-01-31 08:53  castaglia
+	* contrib/mod_sftp/fxp.c: Bug#4160 - Malformed response to
+	SSH_FXP_REALPATH with SFTP version 6.
 
-	* tests/: tests.pl, t/config/rlimitchroot.t,
-	  t/lib/ProFTPD/Tests/Config/RLimitChroot.pm:
-	  Adding regression tests for the new RLimitChroot directive.
+2015-03-14  tjsaunders <tj at lyveminds.com>
 
-2014-01-31 08:52  castaglia
+	* NEWS: Update NEWS for backport of fix for Bug#4156.
 
-	* NEWS, RELEASE_NOTES, include/fsio.h, modules/mod_rlimit.c,
-	  src/fsio.c:
-	  Bug#4018 - Implement checks for sensitive directories when
-	  chrooted.
+2015-03-01  TJ Saunders <tj at castaglia.org>
 
-2014-01-30 08:50  castaglia
+	* 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.  Conflicts: 	tests/api/fsio.c
 
-	* doc/modules/mod_core.html:
-	  Add description of SocketBindTight directive to mod_core docs,
-	  and include FAQ about using it.
+2015-02-27  TJ Saunders <tj at castaglia.org>
 
-2014-01-29 11:50  castaglia
+	* lib/pr_fnmatch_loop.c: Backport glibc fix for a memory overread
+	for certain fnmatch patterns.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm:
-	  Adding regression/reproduction recipe for Bug#4017.
+2015-02-19  TJ Saunders <tj at castaglia.org>
 
-2014-01-28 20:32  castaglia
+	* 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.
 
-	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
-	  Fix broken (only on MacOSX) test.
+2015-02-17  tjsaunders <tj at lyveminds.com>
 
-2014-01-28 19:49  castaglia
+	* NEWS: Update NEWS for backport of fix for Bug#4155.
 
-	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
-	  Minor tweaks while investigating Bug#3638.
+2015-02-17  TJ Saunders <tj at castaglia.org>
 
-2014-01-28 18:16  castaglia
+	* contrib/mod_sftp_sql.c: No, it should be "Subject: ", not
+	"Comment: "; these are 2 different headers defined by RFC 4716.
 
-	* 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.
+2015-02-17  TJ Saunders <tj at castaglia.org>
 
-2014-01-28 16:07  castaglia
+	* contrib/mod_sftp_sql.c: Bug#4155 - SSH keys with too-long Comment
+	headers aren't recognized by mod_sftp_sql.  Conflicts: 	contrib/mod_sftp_sql.c
 
-	* contrib/mod_sftp/crypto.c:
-	  Make sure that mod_sftp can compile when using an older OpenSSL
-	  version.  Tested against openssl-0.9.6b.
+2015-02-17  tjsaunders <tj at lyveminds.com>
 
-2014-01-28 10:08  castaglia
+	* modules/mod_ls.c: Backporting fix from master branch.
 
-	* include/version.h:
-	  Updating version for CVS.
+2015-02-04  tjsaunders <tj at lyveminds.com>
 
-2014-01-28 09:42  castaglia
+	* NEWS: Update NEWS with backport of fix for Bug#4152.
 
-	* ChangeLog:
-	  Updated ChangeLog.
+2015-02-04  tjsaunders <tj at lyveminds.com>
 
-2014-01-28 09:40  castaglia
+	* src/main.c: Change the ordering, so that we can short-circuit the
+	checks faster.
 
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Prepping files for RC.
+2015-02-04  tjsaunders <tj at lyveminds.com>
 
-2014-01-28 09:26  castaglia
+	* src/main.c: Bug#4152 - Reduce logging of non-fatal "unable to open
+	incoming connection" errors.
 
-	* contrib/mod_sftp/: crypto.c, keys.c, umac.c:
-	  Allow mod_sftp to be compiled using an old version of OpenSSL,
-	  e.g.	OpenSSL-0.9.6.	Fixes Bug#4016.
+2015-02-03  tjsaunders <tj at lyveminds.com>
 
-2014-01-28 08:58  castaglia
+	* src/data.c: Clear the "have dangling CR" flag on data reset as
+	well.
 
-	* contrib/mod_tls.c:
-	  Enable mod_tls to be built using old OpenSSL version; tested
-	  using OpenSSL-0.9.6h.
+2015-02-03  tjsaunders <tj at lyveminds.com>
 
-2014-01-27 14:08  castaglia
+	* src/data.c: Reset any ASCII transformation state, possibly
+	leftover from previous transfers, when preparing for a data transfer
+	(Bug#4150).
 
-	* doc/contrib/mod_quotatab.html:
-	  Try to make the Installation notes for mod_quotatab a little
-	  clearer.
+2015-02-03  tjsaunders <tj at lyveminds.com>
 
-2014-01-27 13:41  castaglia
+	* NEWS: Update NEWS with backport of fix for Bug#4145.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm:
-	  Quell compiler warning about redefined variables.
+2015-02-03  TJ Saunders <tj at castaglia.org>
 
-2014-01-27 10:46  castaglia
+	* modules/mod_auth_file.c,
+	tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm: Bug#4145 -
+	Segfault if AuthUserFile is a relative symlink.
 
-	* tests/t/lib/ProFTPD/Tests/Logins.pm:
-	  Quell compiler warning about overloaded variables.
+2014-12-15  TJ Saunders <tj at castaglia.org>
 
-2014-01-27 10:42  castaglia
+	* NEWS: Update NEWS with backport of fix for Bug#4143.
 
-	* 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-12-15  tjsaunders <tj at lyveminds.com>
 
-2014-01-27 10:34  castaglia
+	* src/cmd.c, src/main.c: Update the comments with the appropriate
+	bug number.
 
-	* 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-12-14  TJ Saunders <tj at castaglia.org>
 
-2014-01-27 10:31  castaglia
+	* 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.  Conflicts: 	include/cmd.h
 
-	* tests/api/netaddr.c:
-	  Make the INCL_DEVICE API test a little more resilient by
-	  providing some fallback device names.
+2014-12-08  TJ Saunders <tj at castaglia.org>
 
-2014-01-27 10:25  castaglia
+	* NEWS: Update NEWS for backport of fix for Bug#4140.
 
-	* 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-12-08  TJ Saunders <tj at castaglia.org>
 
-2014-01-27 09:59  castaglia
+	* contrib/mod_sftp/fxp.c,
+	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#4140 - SFTP
+	READLINK requests to symlinks to directories fail.
 
-	* tests/: Makefile.in, api/stubs.c:
-	  Make sure the API testsuite compiles properly when --enable-nls
-	  is used.
+2014-12-08  TJ Saunders <tj at castaglia.org>
 
-2014-01-27 09:32  castaglia
+	* NEWS: Remove duplicate entry in NEWS.
 
-	* contrib/mod_snmp/db.c:
-	  Quell compiler warning about unused variable.
+2014-12-01  tjsaunders <tj at lyveminds.com>
 
-2014-01-26 17:28  castaglia
+	* NEWS: Backported fix for Bug#4137.
 
-	* RELEASE_NOTES, doc/howto/Radius.html, doc/howto/index.html:
-	  Adding (finally!) RADIUS howto.
+2014-12-01  TJ Saunders <tj at castaglia.org>
 
-2014-01-26 09:50  castaglia
+	* contrib/mod_geoip.c: Add some additional logging, to help clarify
+	things.
 
-	* contrib/mod_ban.c:
-	  Typo in comment; no functional change.
+2014-11-29  TJ Saunders <tj at castaglia.org>
 
-2014-01-25 08:39  castaglia
+	* contrib/mod_geoip.c: Bug#4137 - GeoIPDenyFilter incorrectly takes
+	precedence over GeoIPAllowFilter.
 
-	* modules/mod_core.c:
-	  Make sure to handle the case where units aren't specified
-	  properly.
+2014-11-29  TJ Saunders <tj at castaglia.org>
 
-2014-01-25 08:34  castaglia
+	* config.h.in, configure, configure.in, src/ctrls.c: Issue #75: Add
+	configure-time check for struct sockpeercred (as used on OpenBSD
+	systems), and update the Controls API to use this.
 
-	* 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-11-16  TJ Saunders <tj at castaglia.org>
 
-2014-01-24 08:00  castaglia
+	* NEWS: Update NEWS for backport of fix for Bug#4133.
 
-	* contrib/mod_tls.c:
-	  Backport of fix for Bug#4015 to 1.3.4 branch.
+2014-11-16  TJ Saunders <tj at castaglia.org>
 
-2014-01-24 07:56  castaglia
+	* contrib/mod_ldap.c: Bug#4133 -  LDAPUsers directive does not honor
+	uid-number-filter-template parameter.
 
-	* contrib/mod_tls.c:
-	  Bug#4015 - Possible bad/ambiguous expression found by static code
-	  analyzer cppcheck.
+2014-11-09  TJ Saunders <tj at castaglia.org>
 
-2014-01-22 09:51  castaglia
+	* NEWS, contrib/mod_sftp/configure: Update NEWS, regenerate mod_sftp
+	configure, for backport of fix for Bug#4131.
 
-	* doc/howto/TLS.html:
-	  Updates to the TLS howto, adding some FAQs and noting that secure
-	  FXP transfers are now supported.
+2014-11-07  TJ Saunders <tj at castaglia.org>
 
-2014-01-22 09:14  castaglia
+	* contrib/mod_sftp/configure.in: Fix mod_sftp's autoconf script to
+	properly detect OpenSSL support for SHA2.
 
-	* 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-11-03  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2014-01-21 22:40  castaglia
+	* NEWS: Update NEWS for backport of fix for Bug#4129.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm:
-	  Update AuthGroupFile world-readable test to match changes to the
-	  permissions checking code.
+2014-11-03  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2014-01-21 22:39  castaglia
+	* contrib/mod_sql.c: Bug#4129 - mod_sql caches incorrect UID/GID
+	when name cannot be retrieved.
 
-	* 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-10-27  TJ Saunders <tj at castaglia.org>
 
-2014-01-21 20:18  castaglia
+	* NEWS: Update NEWS for backport of fix for Bug#4124.
 
-	* doc/modules/mod_auth_file.html:
-	  Improve/expand on the FAQ about permissions.
+2014-10-27  TJ Saunders <tj at castaglia.org>
 
-2014-01-21 15:41  castaglia
+	* modules/mod_xfer.c: Bug#4124 - DeleteAbortedStores defaults to
+	"on" for all transfers, not just HiddenStores.  Conflicts: 	modules/mod_xfer.c
 
-	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm:
-	  Adding regression test for Bug#4010 (which, I think, is actually
-	  a client bug).
+2014-10-23  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2014-01-21 14:44  castaglia
+	* NEWS: Updates NEWS with backport of fix for Bug#4116.
 
-	* RELEASE_NOTES:
-	  Update release notes, getting them ready for a release.
+2014-10-22  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2014-01-21 14:39  castaglia
+	* contrib/mod_tls.c: Bug#4116 - Report exact SSL/TLS protocol
+	version used in client connections.
 
-	* doc/contrib/mod_exec.html:
-	  Update the ExecOnEvent description to match the code.
+2014-10-22  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2014-01-21 14:32  castaglia
+	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Backport the fixes for
+	Bug#4114 to the 1.3.5 branch.
 
-	* doc/contrib/mod_sql.html:
-	  Note when the IgnoreConfigFile SQLOption first appeared.
+2014-10-19  TJ Saunders <tj at castaglia.org>
 
-2014-01-21 14:11  castaglia
+	* NEWS: Update NEWS for backport of Bug#4112.
 
-	* doc/contrib/mod_ldap.html:
-	  Add description for LDAPLog directive to mod_ldap docs.
+2014-10-05  TJ Saunders <tj at castaglia.org>
 
-2014-01-20 12:51  castaglia
+	* 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.
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Backport of fix for Bug#4013 to 1.3.4 branch.
+2014-09-14  TJ Saunders <tj at castaglia.org>
 
-2014-01-20 12:50  castaglia
+	* 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
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Added regression test for Bug#4013.
+2014-09-28  TJ Saunders <tj at castaglia.org>
 
-2014-01-20 12:49  castaglia
+	* NEWS: Update NEWS for backport of fix for Bug#4109.
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Bug#4013 - SCP upload of shorter file does not completely
-	  overwrite existing file of same name.
+2014-09-28  TJ Saunders <tj at castaglia.org>
 
-2014-01-20 11:37  castaglia
+	* src/inet.c: Bug#4109 - setsockopt() call for IPV6_TCLASS should
+	use IPPROTO_IPV6.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/NLST.pm:
-	  Adding regression tests for several NLST bugs, including
-	  Bug#4011.
+2014-09-23  TJ Saunders <tj at castaglia.org>
 
-2014-01-20 11:36  castaglia
+	* NEWS, RELEASE_NOTES: Update news, release notes for backported fix
+	for Bug#4108.
 
-	* 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-09-23  TJ Saunders <tj at castaglia.org>
 
-2014-01-17 10:11  castaglia
+	* contrib/mod_tls.c: Bug#4108 - SSL handshakes for data connections
+	sometimes stall for 3-30 seconds.
 
-	* configure:
-	  Updated configure.
+2014-08-11  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2014-01-17 10:04  castaglia
+	* NEWS: Update NEWS for backport of fix for Bug#4094.
 
-	* configure.in:
-	  Fix default location of datadir to be '/usr/local/share', not
-	  '/usr/locale/share'.
+2014-08-11  TJ Saunders <tj at castaglia.org>
 
-2014-01-16 22:11  castaglia
+	* doc/howto/DisplayFiles.html, src/display.c,
+	tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm: Bug#4094 -
+	Available space on file system using %f displays wrong value.
 
-	* 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-07-28  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2014-01-13 10:40  castaglia
+	* NEWS: Update NEWS for backport of fix for Bug#4091.
 
-	* 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-07-28  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2014-01-13 10:25  castaglia
+	* src/privs.c: Reduce the scope of the logging changes to just those
+	PRIVS calls related to the effective (rather than the real) IDs.
 
-	* contrib/mod_sftp/mod_sftp.c:
-	  Backporting improvements to SFTPClientMatch handling from trunk
-	  to 1.3.4 branch.
+2014-07-27  TJ Saunders <tj at castaglia.org>
 
-2014-01-13 10:23  castaglia
+	* src/privs.c: Bug#4091 - Log "Operation not permitted" privs errors
+	at NOTICE rather than ERROR.
 
-	* 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-07-25  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2014-01-07 23:24  castaglia
+	* NEWS, contrib/mod_wrap2_file.c: Update NEWS for backport of fix
+	for Bug#4090.
 
-	* 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-07-25  TJ Saunders <tj at castaglia.org>
 
-2014-01-06 10:40  castaglia
+	* contrib/mod_wrap2/mod_wrap2.c, contrib/mod_wrap2_file.c,
+	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Bug#4090 -
+	mod_wrap2_file does not support IPv6 addresses properly.
 
-	* NEWS, contrib/mod_radius.c:
-	  Backport of fix for Bug#4006 to 1.3.4 branch.
+2014-07-25  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2014-01-06 10:37  castaglia
+	* NEWS: Updated NEWS for backport of fix for Bug#4089.
 
-	* NEWS, contrib/mod_radius.c:
-	  Bug#4006 - RADIUS "service-type" attribute encoded with wrong
-	  length on 64-bit system.
+2014-07-25  TJ Saunders <tj at castaglia.org>
 
-2014-01-05 22:58  castaglia
+	* contrib/mod_sftp/auth-hostbased.c,
+	contrib/mod_sftp/auth-publickey.c: Bug#4089 - mod_sftp does not
+	allow multiple attempts using a given authentication method.
 
-	* tests/: Makefile.in, api/netio.c, api/stubs.c, api/tests.c,
-	  api/tests.h:
-	  Adding API tests for the NetIO API, focusing heavily on the
-	  pr_netio_telnet_gets() function.
+2014-07-19  TJ Saunders <tj at castaglia.org>
 
-2014-01-05 22:57  castaglia
+	* NEWS: Update NEWS for backport of fix for Bug#4087.
 
-	* include/netio.h, src/netio.c:
-	  Make the function for allocating and attaching a pr_buffer_t to a
-	  NetIO stream public.
+2014-07-16  TJ Saunders <tj at castaglia.org>
 
-2014-01-03 14:08  castaglia
+	* contrib/mod_sftp/auth.c,
+	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#4087 - mod_sftp
+	does not handle "MaxLoginAttempts none" properly.
 
-	* contrib/dist/rpm/proftpd.spec:
-	  Updated the .spec file to deal with the change back to .gz files.
-	  Find and use the translation files, to avoid rpmbuild errors for
-	  packagers.
+2014-07-02  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2014-01-02 23:19  castaglia
+	* NEWS: Backport of fix for Bug#4083 to 1.3.5 branch.
 
-	* contrib/mod_deflate.c:
-	  Refactor the same note name string into a single #define.
+2014-07-02  TJ Saunders <tj at castaglia.org>
 
-2014-01-02 21:01  castaglia
+	* contrib/mod_sql.c: Fix handling of SQLEngine logic in mod_sql,
+	which was contributing to test failures when regressing Bug#4083.
 
-	* 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-07-02  TJ Saunders <tj at castaglia.org>
 
-2014-01-02 08:43  castaglia
+	* 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".
 
-	* doc/modules/mod_log.html:
-	  Fix inaccurate description of %p LogFormat variable.
+2014-06-20  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2014-01-01 20:51  castaglia
+	* NEWS: Backport of fix for Bug#4079 to 1.3.5 branch.
 
-	* 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-06-20  TJ Saunders <tj at castaglia.org>
 
-2014-01-01 18:55  castaglia
+	* contrib/mod_sftp/fxp.c: Use sftp_msg_write_int() for 32-bit
+	values; write_long() is for 64-bit values.
 
-	* 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-06-20  TJ Saunders <tj at castaglia.org>
 
-2014-01-01 00:16  castaglia
+	* contrib/mod_sftp/fxp.c: Bug#4079 - Invalid response encoding for
+	SFTP space-available request.
 
-	* contrib/mod_tls.c:
-	  Fix grammar-o in a comment.
+2014-06-19  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2014-01-01 00:04  castaglia
+	* NEWS: Updating NEWS for backport of fix for Bug#4077 to 1.3.5
+	branch.
 
-	* 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.
+2014-06-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-29 22:38  castaglia
+	* contrib/mod_shaper.c: Bug#4077 - ShaperLog not closed/reopened on
+	SIGHUP, causing log rotation problems.
 
-	* src/parser.c:
-	  Clean up a few stylistic nits in the parser code; no functional
-	  change.
+2014-06-19  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2013-12-29 22:38  castaglia
+	* NEWS: Backport of fix for Bug#4073 to 1.3.5 branch.
 
-	* src/fsio.c:
-	  Clean up a few stylistic nits in fsio.c; no functional change.
+2014-06-18  TJ Saunders <tj at castaglia.org>
 
-2013-12-29 12:17  castaglia
+	* modules/mod_xfer.c: The heuristic for disabling sendfile support
+	when implicit FTPS is used does not need to include the port number;
+	having TLS negotiated at the time of session initialization is
+	enough.
 
-	* 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.
+2014-06-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-29 12:11  castaglia
+	* contrib/mod_tls.c: Remove unnecessary comment.
 
-	* tests/t/lib/ProFTPD/Tests/Logins.pm:
-	  Add regression test for failed logins due to out-of-sequence
-	  commands.
+2014-06-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-28 17:16  castaglia
+	* contrib/mod_tls.c, modules/mod_xfer.c: Bug#4073 - Polycom VOIP
+	phones unable to use FTPS data transfers.
 
-	* 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.
+2014-05-30  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2013-12-27 15:38  castaglia
+	* NEWS: Update NEWS for backport of fix for Bug#4063.
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Backport of fix for Bug#4004 to 1.3.4 branch.
+2014-05-29  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2013-12-27 15:38  castaglia
+	* src/fsio.c: Bug#4063 -  Unable to create directory on NFS/CIFS
+	partition: Permission denied.
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Bug#4004 - IgnoreSCPUploadPerms SFTPOption not honored properly
-	  for SCP directory upload.
+2014-05-30  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2013-12-27 15:37  castaglia
+	* NEWS, modules/mod_ls.c: Update NEWS for backport of fix for
+	Bug#4069.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding regression test for Bug#4004.
+2014-05-30  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2013-12-23 09:53  castaglia
+	* modules/mod_ls.c: Bug#4069 - NLST -a shows / directory instead of
+	the current directory.
 
-	* 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.
+2014-05-29  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2013-12-22 23:22  castaglia
+	* NEWS: Updated NEWS for backport of fix for Bug#4068.
 
-	* 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.
+2014-05-29  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2013-12-20 11:59  castaglia
+	* modules/mod_auth.c: Bug#4068 - MaxClients directive doesn't work
+	for <Anonymous> sessions.
 
-	* NEWS, contrib/mod_sftp/dhparams.pem:
-	  Bug#4002 - Add 7680-bit DH parameter to mod_sftp bundled
-	  dhparams.pem file.
+2014-05-27  TJ Saunders <tj at castaglia.org>
 
-2013-12-20 10:05  castaglia
+	* 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.
 
-	* 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.
+2014-05-23  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2013-12-20 09:52  castaglia
+	* include/conf.h, src/fsio.c: Fix AIX build issues, as reported in
+	the forums; see:   https://forums.proftpd.org/smf/index.php/topic,11548.0.html
 
-	* modules/mod_auth_file.c:
-	  Slight tweaks to the error messages logged.
+2014-05-18  TJ Saunders <tj at castaglia.org>
 
-2013-12-20 09:39  castaglia
+	* src/fsio.c: Fix error spotted by travis-ci's clang build.
 
-	* 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.
+2014-05-18  TJ Saunders <tj at castaglia.org>
 
-2013-12-19 15:19  castaglia
+	* NEWS, modules/mod_ls.c,
+	tests/t/lib/ProFTPD/Tests/Commands/STAT.pm: Revert the changes for
+	Bug#3990 on the 1.3.5 branch; they were mistakenly merged there.
 
-	* contrib/mod_wrap2_file.c:
-	  Add some helpful logging when mod_wrap2_file performs resolution
-	  on the given table path.
+2014-05-18  TJ Saunders <tj at castaglia.org>
 
-2013-12-19 09:55  castaglia
+	* NEWS, src/log.c: Revert change for Bug#3983 from 1.3.5 branch; it
+	was mistakenly merged there.
 
-	* doc/contrib/mod_wrap2.html:
-	  Fix typos.
+2014-05-18  TJ Saunders <tj at castaglia.org>
 
-2013-12-19 08:33  castaglia
+	* Makefile.in: Clean up git files (and travis-ci files) when
+	preparing for a release.
 
-	* NEWS, contrib/mod_sftp/cipher.c, contrib/mod_sftp/mac.c:
-	  Backport of fix for Bug#4001 to 1.3.4 branch.
+2014-05-18  TJ Saunders <tj at castaglia.org>
 
-2013-12-19 08:32  castaglia
+	* : commit a6179ff80274079de89da21de3d68865dd209ebf Author: TJ
+	Saunders <tj at castaglia.org> Date:   Sun May 18 17:15:33 2014 -0700
 
-	* NEWS, contrib/mod_sftp/cipher.c, contrib/mod_sftp/mac.c:
-	  Bug#4001 - mod_sftp fails key exchange for 8192-bit DH group.
+2014-05-18  TJ Saunders <tj at castaglia.org>
 
-2013-12-15 21:24  castaglia
+	* NEWS: Update NEWS.
 
-	* 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.
+2014-05-18  TJ Saunders <tj at castaglia.org>
 
-2013-12-14 19:59  castaglia
+	* : 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...
 
-	* src/netaddr.c:
-	  When caching the remote session address information, make sure to
-	  properly zero out the cache structures first.
+2014-05-18  TJ Saunders <tj at castaglia.org>
 
-2013-12-14 19:55  castaglia
+	* contrib/mod_quotatab.c: Style nits; no functional change.
 
-	* 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.
+2014-05-18  TJ Saunders <tj at castaglia.org>
 
-2013-12-14 17:26  castaglia
+	* tests/api/cmd.c: Remove unused variable.
 
-	* tests/t/lib/ProFTPD/TestSuite/Utils.pm:
-	  Provide a way to tell test_cleanup() to keep the log files
-	  around.
+2014-05-18  TJ Saunders <tj at castaglia.org>
 
-2013-12-14 08:51  castaglia
+	* .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.
 
-	* contrib/mod_sftp/mod_sftp.c:
-	  Fix typo in comment; no functional change.
+2014-05-18  TJ Saunders <tj at castaglia.org>
 
-2013-12-12 08:52  castaglia
+	* .travis.yml: Have cppcheck write to stdout its errors.  Use normal
+	email notifications (i.e. committer).
 
-	* doc/contrib/mod_geoip.html:
-	  Typo.
+2014-05-18  TJ Saunders <tj at castaglia.org>
 
-2013-12-11 22:54  castaglia
+	* .travis.yml: Skip checking header files, and unit test files, when
+	performing static code analysis.
 
-	* 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.
+2014-05-18  TJ Saunders <tj at castaglia.org>
 
-2013-12-11 22:11  castaglia
+	* .travis.yml: Still wrestling with cppcheck.  Sigh.
 
-	* NEWS, RELEASE_NOTES, contrib/mod_exec.c:
-	  Bug#3876 - ExecOnEvent should be configurable per
-	  <VirtualHost>/<Global>.
+2014-05-18  TJ Saunders <tj at castaglia.org>
 
-2013-12-11 21:48  castaglia
+	* .travis.yml: Fix the cppcheck arguments.  Enable PCRE support.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm:
-	  Regression tests for Bug#3996.
+2014-05-18  TJ Saunders <tj at castaglia.org>
 
-2013-12-11 21:40  castaglia
+	* .travis.yml: More tweaks to the static code analysers.
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#3996 - Handling ALLO command can result in wrong response
-	  when chrooted.
+2014-05-18  TJ Saunders <tj at castaglia.org>
 
-2013-12-11 16:53  castaglia
+	* .travis.yml: Use the direct email address to the -committers list.
 
-	* NEWS, contrib/mod_sftp/keys.c:
-	  Backported fix for Bug#3992 to 1.3.4 branch.
+2014-05-18  TJ Saunders <tj at castaglia.org>
 
-2013-12-11 16:38  castaglia
+	* .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.
 
-	* NEWS, contrib/mod_sftp/keys.c:
-	  Bug#3992 - RSA signature issue when connecting using
-	  PuTTY/WinSCP.
+2014-05-18  TJ Saunders <tj at castaglia.org>
 
-2013-12-10 09:26  castaglia
+	* .travis.yml: Start commenting the travis-ci config file.  Add some
+	static code analysis in.
 
-	* 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.
+2014-05-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-09 15:15  castaglia
+	* .travis.yml: Direct email notifications of build success/failures
+	to the proftp-committers list.
 
-	* doc/contrib/mod_tls.html:
-	  Update mod_tls docs with descriptions for the new EC cert/key
-	  directives.
+2014-05-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-09 13:38  castaglia
+	* .travis.yml: Enable memcache support.
 
-	* NEWS, RELEASE_NOTES, contrib/mod_tls.c:
-	  Bug#3772 - Support Elliptic Curve Cryptography (ECC) certs for
-	  FTPS connections.
+2014-05-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-09 11:16  castaglia
+	* contrib/mod_sql_postgres.c: Fix another build warning spotted by
+	travis-ci.
 
-	* 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.
+2014-05-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-09 10:59  castaglia
+	* .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.
 
-	* NEWS, contrib/mod_quotatab.c, modules/mod_delay.c,
-	  src/scoreboard.c, src/wtmp.c:
-	  Backport of fix for Bug#3970 to 1.3.4 branch.
+2014-05-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-09 10:58  castaglia
+	* 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.
 
-	* 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.
+2014-05-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-08 23:14  castaglia
+	* .travis.yml: Now install the check library, to enable the API/unit
+	tests -- and run them.
 
-	* modules/mod_core.c:
-	  Fix compiler warning about type mismatch.
+2014-05-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-08 22:29  castaglia
+	* .travis.yml: Need the PAM libraries/headers for some modules.
 
-	* tests/t/etc/modules/mod_tls/: NOTES, ec-ca.pem,
-	  ec-server-cert.pem:
-	  Adding EC certs for tests.
+2014-05-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-08 10:01  castaglia
+	* .travis.yml: Build mod_geoip as well; we'll need its geoip library
+	dependency as well.
 
-	* tests/t/lib/ProFTPD/Tests/Config/Limit/Anonymous.pm:
-	  Add regression tests for <Anonymous> configs with upload-only
-	  directories.
+2014-05-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-08 09:06  castaglia
+	* .travis.yml: Install more dependencies, and build more modules,
+	via travis-ci.
 
-	* contrib/ftpasswd, doc/contrib/ftpasswd.html:
-	  Minor reordering of new --lock, --unlock options, and updating
-	  the docs to reflect the new options.
+2014-05-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-08 08:45  castaglia
+	* .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.
 
-	* tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm:
-	  Adding regression tests for Bug#3994.
+2014-05-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-08 08:44  castaglia
+	* src/data.c: Forgot to update copyright dates with last
+	modification.
 
-	* NEWS, RELEASE_NOTES, contrib/ftpasswd:
-	  Bug#3994 - ftpasswd utility should support --lock/--unlock
-	  options.
+2014-05-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-08 08:15  castaglia
+	* NEWS, src/log.c: Bug#3983 - Change default SyslogLevel to be
+	NOTICE rather than DEBUG.
 
-	* NEWS, contrib/ftpasswd:
-	  Bug#3995 - ftpasswd utility should prevent concurrent
-	  modification of files.
+2014-05-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-04 16:53  castaglia
+	* 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.
 
-	* doc/contrib/mod_sftp.html:
-	  Update mod_sftp docs for the new IgnoreSCPUploadTimes SFTPOption.
+2014-05-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-04 16:51  castaglia
+	* : commit 03aa76e1b15908a509849249e83b0979558b4537 Author: TJ
+	Saunders <tj at castaglia.org> Date:   Sat May 17 17:59:10 2014 -0700
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Added regression test for Bug#3998 (the new IgnoreSCPUploadTimes
-	  SFTPOption).
+2014-05-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-04 16:50  castaglia
+	* po/Makefile.in: Remove unused po/ directory, which came back with
+	the cvs2git conversion.
 
-	* 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.
+2014-05-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-04 16:46  castaglia
+	* po/Makefile.in: Remove unused po/ directory; it came back with the
+	cvs2git conversion.
 
-	* doc/contrib/: mod_sftp.html:
-	  List the supported SFTPOptions in lexicographical order.
+2014-05-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-04 16:11  castaglia
+	* NEWS: Backport of fix for Bug#4055 to 1.3.5 branch.
 
-	* modules/: mod_ctrls.c:
-	  Make sure that the mod_ctrls module cannot be built without using
-	  the --enable-ctrls configure option.
+2014-05-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-03 22:49  castaglia
+	* : commit 355d16baf192ec86cd015ec27b9b9f2846e9ded3 Author: TJ
+	Saunders <tj at castaglia.org> Date:   Sat May 17 17:46:20 2014 -0700
 
-	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm:
-	  Adding regression test for the ALLO command in a chrooted
-	  environment.
+2014-05-17  TJ Saunders <tj at castaglia.org>
 
-2013-12-03 22:36  castaglia
+	* : commit 9f2bdb71a310ad3017d17c4a643acb0f3ebd2bae Author: TJ
+	Saunders <tj at castaglia.org> Date:   Sat May 17 08:50:52 2014 -0700
 
-	* lib/pr_fnmatch_loop.c:
-	  Backport of fix for Bug#3997 to 1.3.4 branch.
+2014-05-16  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2013-12-03 22:35  castaglia
+	* .gitignore: Ignore the generated man page files via .gitignore,
+	too.
 
-	* 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"
+2014-05-16  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2013-11-23 16:45  castaglia
+	* .gitignore: Improving the .gitignore file.
 
-	* 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.
+2014-05-16  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-2013-11-17 23:34  castaglia
+	* .gitignore: Adding .gitignore file.
 
-	* tests/t/lib/ProFTPD/: TestSuite/Utils.pm, Tests/Commands/RETR.pm:
+2014-05-16  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-	  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.
+	* 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.
 
-2013-11-10 17:37  castaglia
+2014-05-16  tjsaunders <tjsaunders at blackpearlsystems.com>
 
-	* doc/modules/mod_log.html:
-	  Added description of new %{basename} variable to the LogFormat
-	  docs.
+	* include/version.h: Bump version to reflect new release cycle.
 
-2013-11-10 17:35  castaglia
+2014-05-15  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/: Logging/ExtendedLog.pm,
-	  Modules/mod_sql_sqlite.pm:
-	  Added (simplistic) regression tests for the new LogFormat
-	  %{basename} variable introduced for Bug#3987.
+	* NEWS: Preparing for release.
 
-2013-11-10 17:34  castaglia
+2014-05-15  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.
+	* ChangeLog: Updated ChangeLog.
 
-2013-11-09 18:34  castaglia
+2014-05-15  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.
+	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing files
+	for release.
 
-2013-11-09 17:56  castaglia
+2014-05-15  castaglia <castaglia>
 
-	* src/auth.c:
-	  Make the "Preparing to chroot to" log message slightly less
-	  noisy.
+	* locale/files.txt: Updated list of files for localization.
 
-2013-11-09 17:55  castaglia
+2014-05-09  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).
+	* RELEASE_NOTES: Fleshing out release notes for upcoming release.
 
-2013-11-09 17:27  castaglia
+2014-05-05  castaglia <castaglia>
 
-	* modules/mod_auth_file.c:
-	  Improve the log message slightly when mod_auth_file can't open
-	  its configured files.
+	* 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.
 
-2013-11-09 15:34  castaglia
+2014-05-04  castaglia <castaglia>
 
-	* src/bindings.c:
-	  Found another place with inconsistent log message formatting; now
-	  fixed.
+	* doc/contrib/mod_sql_passwd.html: Updated SQLPasswordPBKDF2 docs in
+	light of Bug#4052.
 
-2013-11-09 15:20  castaglia
+2014-05-04  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Added
+	regression test for Bug#4052.
 
-2013-11-09 15:14  castaglia
+2014-05-04  castaglia <castaglia>
 
-	* doc/modules/mod_core.html:
-	  Include description for the UserOwner directive in the mod_core
-	  docs.
+	* NEWS, contrib/mod_sql_passwd.c: Bug#4052 - Enhance
+	SQLPasswordPBKDF2 to support per-user query for settings.
 
-2013-11-09 10:41  castaglia
+2014-05-04  castaglia <castaglia>
 
-	* contrib/mod_ifsession.c:
-	  Log messages about misconfigurations should be logged at WARNING,
-	  not ERR.
+	* doc/contrib/mod_site_misc.html: Emphasize that both acces and mod
+	times are set by SITE UTIME.
 
-2013-11-05 13:37  castaglia
+2014-05-04  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls_memcache.c, contrib/mod_tls_shmcache.c:
-	  Backport of fix for Bug#3991 to 1.3.4 branch.
+	* NEWS, modules/mod_facl.c: Bug#4044 - mod_facl prevents a normal
+	SIGHUP reload.
 
-2013-11-05 13:37  castaglia
+2014-05-03  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.
+	* NEWS, modules/mod_core.c: Bug#4042 - MIC command between RNFR and
+	RNTO should not be rejected.
 
-2013-11-05 13:33  castaglia
+2014-05-02  castaglia <castaglia>
 
-	* doc/contrib/mod_tls_shmcache.html:
-	  Updated mod_tls_shmcache docs.
+	* NEWS, contrib/mod_exec.c: Bug#4049 - mod_exec should include
+	supplemental groups when running commands as logged-in user.
 
-2013-10-27 16:02  castaglia
+2014-04-30  castaglia <castaglia>
 
-	* doc/howto/TLS.html:
-	  TLS FAQ about difference between shm and memcache for SSL session
-	  caching.
+	* 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.
 
-2013-10-15 10:34  castaglia
+2014-04-30  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.
+	* NEWS, contrib/mod_ban.c: Bug#4048 - Race condition in mod_ban can
+	lead to segfault of all new connections.
 
-2013-10-14 21:50  castaglia
+2014-04-28  castaglia <castaglia>
 
-	* NEWS, src/fsio.c:
-	  Backport of fix for Bug#3986 to 1.3.4 branch.
+	* 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.
 
-2013-10-14 21:49  castaglia
+2014-04-28  castaglia <castaglia>
 
-	* NEWS, src/fsio.c:
-	  Bug#3986 - Support filesystems which do not support
-	  chmod(2)/chown(2), e.g.  FAT/ExFAT.
+	* NEWS, modules/mod_xfer.c: Bug#4046 - ALLO command failed because
+	of bad size check.
 
-2013-10-14 08:41  castaglia
+2014-03-26  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES:
-	  Bug#3982 - Normalize log messages and levels.
+	* doc/howto/TLS.html: Typo.
 
-2013-10-13 16:46  castaglia
+2014-03-19  castaglia <castaglia>
 
-	* modules/mod_dso.c, src/log.c:
-	  Fix comments to match code.
+	* 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.
 
-2013-10-13 16:44  castaglia
+2014-03-13  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Tweak a log message to be more in line with similar log messages
-	  elsewhere.
+	* doc/howto/Chroot.html: Fix broken link, per Bug#4038.
 
-2013-10-13 16:43  castaglia
+2014-03-08  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.
+	* 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.
 
-2013-10-13 16:14  castaglia
+2014-03-08  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Found only one instance of a DEBUG level message which needed a
-	  different log level (Bug#3982).
+	* 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.
 
-2013-10-13 16:09  castaglia
+2014-03-08  castaglia <castaglia>
 
-	* src/auth.c:
-	  The log message about chrooting is more of a DEBUG level message,
-	  rather than INFO (per Bug#3982).
+	* NEWS, contrib/mod_tls.c: Bug#4024 - TLS 1.1/1.2 configurable, but
+	not properly implemented.
 
-2013-10-13 16:05  castaglia
+2014-03-05  castaglia <castaglia>
 
-	* modules/: mod_ctrls.c, mod_delay.c, mod_dso.c, mod_xfer.c:
-	  Changing the log levels of messages for some modules to be more
-	  consistent, per Bug#3982.
+	* contrib/mod_tls.c: When seeding OpenSSL's PRNG manually, use
+	gettimeofday(2) instead of time(3).
 
-2013-10-13 15:51  castaglia
+2014-03-04  castaglia <castaglia>
 
-	* contrib/: mod_ban.c, mod_ctrls_admin.c, mod_dynmasq.c,
-	  mod_geoip.c, mod_shaper.c, mod_tls.c, mod_tls_memcache.c,
-	  mod_tls_shmcache.c, mod_wrap.c, mod_load/mod_load.c,
-	  mod_sftp/fxp.c, mod_sftp/scp.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).
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
+	tests for Bug#4034.
 
-2013-10-13 15:34  castaglia
+2014-03-04  castaglia <castaglia>
 
-	* contrib/ftpmail:
-	  If there are comments after the user/password values in the
-	  ftpmail SMTP AUTH file, trim them off.
+	* NEWS, contrib/mod_sftp/auth.c: Bug#4034 - SSH publickey
+	authentication fails with "MaxLoginAttempts 1".
 
-2013-10-13 11:06  castaglia
+2014-03-03  castaglia <castaglia>
 
-	* src/: bindings.c, dirtree.c, lastlog.c, log.c, main.c:
-	  Combing through NOTICE level log messages in src/ turned up a few
-	  needed tweaks, for Bug#3982.
+	* 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.
 
-2013-10-13 10:34  castaglia
+2014-03-02  castaglia <castaglia>
 
-	* modules/: mod_auth.c, mod_auth_pam.c, mod_auth_unix.c, mod_cap.c,
-	  mod_ctrls.c, mod_dso.c, mod_lang.c, mod_log.c, mod_memcache.c,
-	  mod_xfer.c:
-	  Minor tweaks to log messages and log levels, bringing them in
-	  line with the expected/consistent log levels, per Bug#3982.
+	* doc/contrib/mod_sftp.html: Document the AllowInsecureLogin
+	SFTPOption.
 
-2013-10-13 09:48  castaglia
+2014-03-02  castaglia <castaglia>
 
-	* contrib/: mod_geoip.c, mod_ldap.c, mod_log_forensic.c,
-	  mod_radius.c, mod_ratio.c, mod_rewrite.c, mod_sql.c, mod_tls.c,
-	  mod_dnsbl/mod_dnsbl.c, mod_sftp/auth.c, mod_sftp/keys.c,
-	  mod_sftp/mod_sftp.c, mod_snmp/mod_snmp.c:
-	  Tweaks to log levels of various messages in the contrib modules,
-	  making them be more consistent, per Bug#3982.
+	* 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).
 
-2013-10-11 14:51  castaglia
+2014-03-02  castaglia <castaglia>
 
-	* src/auth.c:
-	  Slightly better log message, hopefully.
+	* NEWS, contrib/mod_sftp/mod_sftp.c: Bug#4032 - Restarting proftpd
+	with mod_sftp fails due to permissions on SFTPHostKey file.
 
-2013-10-11 14:50  castaglia
+2014-03-02  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix the mod_sftp
+	regression tests which SHOULD have caught Bug#4033.
 
-2013-10-09 09:46  castaglia
+2014-03-02  castaglia <castaglia>
 
-	* doc/howto/Logging.html:
-	  Fix broken anchor tag.
+	* NEWS, contrib/mod_sftp/cipher.c: Bug#4033 - mod_sftp fails to
+	create SSH2 session using 'none' cipher.
 
-2013-10-08 23:36  castaglia
+2014-03-01  castaglia <castaglia>
 
-	* src/timers.c:
-	  Use the WARNING level if we can't install our signal handlers
-	  needed for timers, rather than NOTICE.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Added
+	regression test for Bug#3938.
 
-2013-10-08 23:33  castaglia
+2014-03-01  castaglia <castaglia>
 
-	* contrib/mod_dynmasq.c:
-	  Slightly better language in the log message when we can't resolve
-	  a DNS name.
+	* NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#3938 - mod_wrap2 uses
+	reverse DNS regardless "UseReverseDNS off".
 
-2013-10-08 23:31  castaglia
+2014-02-28  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.
+	* 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>.
 
-2013-10-08 23:27  castaglia
+2014-02-28  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.
+	* NEWS, contrib/mod_tls.c: Bug#4029 - TLSOptions EnableDiags logs
+	"unknown version (771)" for TLS 1.1/1.2 connections.
 
-2013-10-08 22:34  castaglia
+2014-02-23  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Found a few more places where errno might be getting clobbered,
-	  and thus leading to inaccurate reporting.
+	* contrib/mod_ban.c: Minor name/string change; no functional change.
 
-2013-10-08 22:30  castaglia
+2014-02-23  castaglia <castaglia>
 
-	* modules/mod_delay.c:
-	  Preserve errno properly when reporting errors here.
+	* 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.
 
-2013-10-08 22:28  castaglia
+2014-02-23  castaglia <castaglia>
 
-	* src/main.c:
-	  Fix another case where the reported errno value might not be the
-	  correct one.
+	* doc/contrib/mod_ban.html: Added support for RootLogin bans.
 
-2013-10-08 22:25  castaglia
+2014-02-23  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Cut down on possibly-spurious log warnings.
+	* 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.
 
-2013-10-08 22:22  castaglia
+2014-02-21  castaglia <castaglia>
 
-	* src/lastlog.c:
-	  Another place where we might be losing the real errno value.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding reproduction
+	recipe/regression test for Bug#4026.
 
-2013-10-08 22:21  castaglia
+2014-02-19  castaglia <castaglia>
 
-	* src/mkhome.c:
-	  Make sure that when an error occurs, we log and preserve the
-	  errno properly.
+	* doc/contrib/mod_sftp.html: Add "Cipher Implementations" section to
+	"Known Client Issues", noting that SBB clients don't handle the
+	blowfish-ctr cipher.
 
-2013-10-08 22:16  castaglia
+2014-02-18  castaglia <castaglia>
 
-	* src/wtmp.c:
-	  Fix a few more places where we need to be careful to preserve the
-	  errno value.
+	* doc/contrib/mod_sftp.html: Fix typo/misnamed cipher in list.
 
-2013-10-08 22:11  castaglia
+2014-02-15  castaglia <castaglia>
 
-	* modules/mod_auth_unix.c:
-	  More cases where we need to take care to preserve the errno value
-	  properly.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
+	regression test for Bug#4025.
 
-2013-10-08 22:07  castaglia
+2014-02-15  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Preserve errno for proper error reporting.
+	* NEWS, contrib/mod_ifsession.c: Bug#4025 - <IfClass> sections do
+	not work for multiple SQLLog directives.
 
-2013-10-08 22:03  castaglia
+2014-02-15  castaglia <castaglia>
 
-	* modules/mod_facl.c:
-	  Make sure we preserve errno appropriately.
+	* 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.
 
-2013-10-08 22:01  castaglia
+2014-02-15  castaglia <castaglia>
 
-	* doc/modules/mod_core.html:
-	  One more link which should use the #Syslog anchor in the Logging
-	  doc.
+	* 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.
 
-2013-10-08 21:57  castaglia
+2014-02-11  castaglia <castaglia>
 
-	* contrib/mod_sql_postgres.c:
-	  Forgot to update copyright date on previous checkin.
+	* NEWS, src/fsio.c: Bug#4022 - "Directory not empty" error when
+	creating directory is misleading.
 
-2013-10-08 00:01  castaglia
+2014-02-11  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.
+	* src/stash.c: Fix minor compiler warning when --enable-devel is
+	used.
 
-2013-10-06 22:51  castaglia
+2014-02-09  castaglia <castaglia>
 
-	* contrib/mod_rewrite.c, contrib/mod_sql_mysql.c,
-	  contrib/mod_sql_postgres.c, contrib/mod_sql_sqlite.c,
-	  contrib/mod_tls.c, contrib/mod_sftp/auth.c,
-	  contrib/mod_sftp/mod_sftp.c, contrib/mod_snmp/mod_snmp.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).
+	* 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.
 
-2013-10-06 21:54  castaglia
+2014-02-09  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/mod_ldap.c:
-	  Bug#3888 - Add LDAPLog directive to mod_ldap.
+	* 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.
 
-2013-10-06 19:28  castaglia
+2014-02-09  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.
+	* src/fsio.c: Add more logging of error conditions in the
+	pr_fsio_smkdir() function, for better diagnosing some reported MKD
+	errors.
 
-2013-10-06 18:35  castaglia
+2014-02-09  castaglia <castaglia>
 
-	* contrib/mod_sftp/auth.c, modules/mod_auth.c:
-	  Log "SECURITY VIOLATION" messages at the NOTICE level (Bug#3982).
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Yet another data
+	point/reproduction recipe for Bug#4017.
 
-2013-10-06 18:29  castaglia
+2014-02-08  castaglia <castaglia>
 
-	* contrib/mod_exec.c, contrib/mod_sftp_pam.c, contrib/mod_shaper.c,
-	  contrib/mod_tls.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_snmp/mod_snmp.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.
+	* tests/t/lib/ProFTPD/Tests/Config/SocketOptions.pm: Add basic test
+	for SocketOption keepalive.
 
-2013-10-06 16:56  castaglia
+2014-02-05  castaglia <castaglia>
 
-	* contrib/mod_exec.c, contrib/mod_tls.c, contrib/mod_sftp/keys.c,
-	  contrib/mod_snmp/mod_snmp.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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Additional
+	regression/reproduction recipe for Bug#4017, this time using PCRE
+	regexes.
 
-2013-10-06 16:45  castaglia
+2014-02-03  castaglia <castaglia>
 
-	* contrib/mod_sftp_pam.c, contrib/mod_shaper.c, contrib/mod_tls.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, 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).
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Regression
+	test/reproduction recipe for Bug#4017.
 
-2013-10-06 16:05  castaglia
+2014-02-01  castaglia <castaglia>
 
-	* contrib/mod_snmp/mod_snmp.c:
-	  mod_snmp, too, needs to log fork(2) failures at the ALERT level
-	  (Bug#3982).
+	* 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.
 
-2013-10-06 16:03  castaglia
+2014-01-31  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.
+	* modules/mod_rlimit.c,
+	tests/t/lib/ProFTPD/Tests/Config/RLimitChroot.pm: Allow for per-user
+	(via <IfUser>) setting of the RLimitChroot directive.
 
-2013-10-06 15:53  castaglia
+2014-01-31  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).
+	* doc/modules/mod_rlimit.html: Add description for new RLimitChroot
+	directive to mod_rlimit docs.
 
-2013-10-06 15:47  castaglia
+2014-01-31  castaglia <castaglia>
 
-	* contrib/mod_tls.c, contrib/mod_sftp/crypto.c,
-	  contrib/mod_sftp/keys.c, modules/mod_ls.c, src/data.c, src/env.c:
+	* src/fsio.c: Match URLs for "Roaring Beast" reports.
 
-	  Found more places in the code where an out-of-memory condition
-	  needed to be logged at the ALERT level, per Bug#3982.
+2014-01-31  castaglia <castaglia>
 
-2013-10-06 15:35  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.
 
-	* NEWS, contrib/mod_sftp_pam.c, contrib/mod_shaper.c,
-	  contrib/mod_sftp/cipher.c, contrib/mod_sftp/mac.c,
-	  contrib/mod_sftp/msg.c, modules/mod_auth_file.c, src/fsio.c,
-	  src/pool.c:
-	  Bug#3982 - Normalize log messages and levels.
+2014-01-31  castaglia <castaglia>
 
-	  We start by logging all out-of-memory conditions at the ALERT
-	  level.
+	* NEWS, RELEASE_NOTES, include/fsio.h, modules/mod_rlimit.c,
+	src/fsio.c: Bug#4018 - Implement checks for sensitive directories
+	when chrooted.
 
-2013-10-06 15:33  castaglia
+2014-01-30  castaglia <castaglia>
 
-	* contrib/mod_snmp/.cvsignore:
-	  Updated .cvsignore files for mod_dnsbl and mod_snmp.
+	* doc/modules/mod_core.html: Add description of SocketBindTight
+	directive to mod_core docs, and include FAQ about using it.
 
-2013-10-06 13:22  castaglia
+2014-01-29  castaglia <castaglia>
 
-	* doc/howto/LogLevels.html:
-	  More typos, layout fixes.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Adding
+	regression/reproduction recipe for Bug#4017.
 
-2013-10-06 13:21  castaglia
+2014-01-29  castaglia <castaglia>
 
-	* doc/howto/LogLevels.html:
-	  Typo.
+	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fix broken (only
+	on MacOSX) test.
 
-2013-10-06 13:19  castaglia
+2014-01-29  castaglia <castaglia>
 
-	* doc/howto/index.html:
-	  Add the LogLevels doc to the index.
+	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Minor tweaks
+	while investigating Bug#3638.
 
-2013-10-06 13:17  castaglia
+2014-01-29  castaglia <castaglia>
 
-	* doc/: howto/LogLevels.html, howto/Logging.html,
-	  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.
+	* 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.
 
-2013-10-06 09:02  castaglia
+2014-01-28  castaglia <castaglia>
 
-	* doc/howto/Compiling.html:
-	  Minor embellishment on what the install_user/install_group
-	  variables are for (and what they are NOT for).
+	* include/version.h: Updating version for CVS.
 
-2013-10-06 08:46  castaglia
+2014-01-28  castaglia <castaglia>
 
-	* doc/howto/ConfigurationTricks.html:
-	  Add recipe for using environment variable to achieve
-	  ServerRoot-like functionality.
+	* ChangeLog: Updated ChangeLog.
 
-2013-10-05 23:54  castaglia
+2014-01-28  castaglia <castaglia>
 
-	* doc/howto/Filters.html:
-	  Add recipe about filtering SITE CHMOD parameters using DenyFilter
-	  to doc.  Fixed links to be relative.
+	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Prepping
+	files for RC.
 
-2013-10-05 23:36  castaglia
+2014-01-28  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.
+	* 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.
 
-2013-10-05 23:35  castaglia
+2014-01-28  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.
+	* contrib/mod_tls.c: Enable mod_tls to be built using old OpenSSL
+	version; tested using OpenSSL-0.9.6h.
 
-2013-10-05 22:30  castaglia
+2014-01-27  castaglia <castaglia>
 
-	* src/var.c:
-	  Clean up minor stylistic nits in the Variables API; no real
-	  functional change.
+	* doc/contrib/mod_quotatab.html: Try to make the Installation notes
+	for mod_quotatab a little clearer.
 
-2013-10-05 13:06  castaglia
+2014-01-27  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Backporting additional Bug#3963 fixes from trunk to 1.3.4 branch.
+	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm: Quell compiler warning
+	about redefined variables.
 
-2013-10-05 13:05  castaglia
+2014-01-27  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Additional improvements for Bug#3963, reducing the scope of root
-	  privs used when setting created directory permissions.
+	* tests/t/lib/ProFTPD/Tests/Logins.pm: Quell compiler warning about
+	overloaded variables.
 
-2013-10-05 12:42  castaglia
+2014-01-27  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm:
-	  Updated mod_exec ExecOption useStdin regression test in light of
-	  Bug#3981.
+	* 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.
 
-2013-10-05 12:42  castaglia
+2014-01-27  castaglia <castaglia>
 
-	* NEWS, contrib/mod_exec.c:
-	  Backporting fix for Bug#3981 to 1.3.4 branch.
+	* tests/api/str.c: With this tweak (of debatable and investigatable
+	value), all of the API tests now pass on my old Linux machine.
 
-2013-10-05 12:41  castaglia
+2014-01-27  castaglia <castaglia>
 
-	* NEWS, contrib/mod_exec.c:
-	  Bug#3981 - Null pointer dereference in mod_exec with ExecOption
-	  useStdin.
+	* tests/api/netaddr.c: Make the INCL_DEVICE API test a little more
+	resilient by providing some fallback device names.
 
-2013-10-04 21:44  castaglia
+2014-01-27  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.
+	* 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.
 
-2013-10-04 21:34  castaglia
+2014-01-27  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/TestSuite/Utils.pm:
-	  Support writing out of configs that are given as arrayrefs, not
-	  just as hashrefs.
+	* tests/Makefile.in, tests/api/stubs.c: Make sure the API testsuite
+	compiles properly when --enable-nls is used.
 
-2013-10-04 21:33  castaglia
+2014-01-27  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/setenv.t,
-	  t/lib/ProFTPD/Tests/Config/SetEnv.pm:
-	  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.
+	* contrib/mod_snmp/db.c: Quell compiler warning about unused
+	variable.
 
-2013-10-04 19:53  castaglia
+2014-01-27  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_ratio.pm:
-	  Add a (currently failing) mod_ratio regression, found in an
-	  Ubuntu bug report.
+	* RELEASE_NOTES, doc/howto/Radius.html, doc/howto/index.html: Adding
+	(finally!) RADIUS howto.
 
-2013-10-02 23:33  castaglia
+2014-01-26  castaglia <castaglia>
 
-	* doc/contrib/mod_ratio.html:
-	  Start working on mod_ratio docs, if only to cut down on bug
-	  reports about it.
+	* contrib/mod_ban.c: Typo in comment; no functional change.
 
-2013-10-02 22:21  castaglia
+2014-01-25  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp_pam.html:
-	  Fix typos and improve the installation instructions for
-	  mod_sftp_pam.
+	* modules/mod_core.c: Make sure to handle the case where units
+	aren't specified properly.
 
-2013-10-02 06:55  castaglia
+2014-01-25  castaglia <castaglia>
 
-	* modules/mod_dso.c:
-	  Update mod_dso to use the pr_strnrstr() function, which
-	  duplicated code already in mod_dso.
+	* 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.
 
-2013-10-02 06:47  castaglia
+2014-01-24  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Plan to release RC4, and mention the fixing of the LDFLAGS for
-	  module builds.
+	* contrib/mod_tls.c: Bug#4015 - Possible bad/ambiguous expression
+	found by static code analyzer cppcheck.
 
-2013-10-02 06:38  castaglia
+2014-01-22  castaglia <castaglia>
 
-	* contrib/: mod_dnsbl/configure, mod_load/configure,
-	  mod_sftp/configure, mod_snmp/configure, mod_wrap2/configure:
-	  Updated contrib module configure scripts.
+	* doc/howto/TLS.html: Updates to the TLS howto, adding some FAQs and
+	noting that secure FXP transfers are now supported.
 
-2013-10-02 06:34  castaglia
+2014-01-22  castaglia <castaglia>
 
-	* contrib/: mod_dnsbl/Makefile.in, mod_dnsbl/configure.in,
-	  mod_load/Makefile.in, mod_load/configure.in,
-	  mod_sftp/Makefile.in, mod_sftp/configure.in,
-	  mod_snmp/Makefile.in, mod_snmp/configure.in,
-	  mod_wrap2/Makefile.in, mod_wrap2/configure.in:
-	  Properly propagate/use LDFLAGS in the contrib module Makefiles.
+	* 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.
 
-2013-10-01 23:18  castaglia
+2014-01-22  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm: Update
+	AuthGroupFile world-readable test to match changes to the
+	permissions checking code.
 
-2013-10-01 08:45  castaglia
+2014-01-22  castaglia <castaglia>
 
-	* modules/mod_auth_unix.c:
-	  Fix typo in patch for Bug#3952 that was resulting in segfault.
+	* modules/mod_auth_file.c: Alter the permission checks (per
+	Bug#3892) to allow world-readable AuthGroupFiles; there's no
+	sensitive information in there.
 
-2013-09-30 20:39  castaglia
+2014-01-22  castaglia <castaglia>
 
-	* contrib/mod_exec.c:
-	  Remove extraneous semicolon; I've been trying not to use them
-	  after the PRIVS macros.
+	* doc/modules/mod_auth_file.html: Improve/expand on the FAQ about
+	permissions.
 
-2013-09-30 15:01  castaglia
+2014-01-21  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.
+	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Adding regression test
+	for Bug#4010 (which, I think, is actually a client bug).
 
-2013-09-29 17:09  castaglia
+2014-01-21  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.
+	* RELEASE_NOTES: Update release notes, getting them ready for a
+	release.
 
-2013-09-29 16:28  castaglia
+2014-01-21  castaglia <castaglia>
 
-	* doc/modules/mod_auth_unix.html:
-	  Updated PersistentPasswd docs per Bug#3952.
+	* doc/contrib/mod_exec.html: Update the ExecOnEvent description to
+	match the code.
 
-2013-09-29 16:26  castaglia
+2014-01-21  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'.
+	* doc/contrib/mod_sql.html: Note when the IgnoreConfigFile SQLOption
+	first appeared.
 
-2013-09-27 07:37  castaglia
+2014-01-21  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.
+	* doc/contrib/mod_ldap.html: Add description for LDAPLog directive
+	to mod_ldap docs.
 
-2013-09-26 21:19  castaglia
+2014-01-20  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
+	test for Bug#4013.
 
-2013-09-26 20:33  castaglia
+2014-01-20  castaglia <castaglia>
 
-	* src/: bindings.c, dirtree.c, inet.c, netaddr.c:
-	  Fix an interesting bug only encountered if the following config
-	  is used:
+	* NEWS, contrib/mod_sftp/scp.c: Bug#4013 - SCP upload of shorter
+	file does not completely overwrite existing file of same name.
 
-	    DefaultAddress <ipv6-addr>
-	    UseIPv6 off
+2014-01-20  castaglia <castaglia>
 
-	  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.
+	* tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Adding regression
+	tests for several NLST bugs, including Bug#4011.
 
-	  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.
+2014-01-20  castaglia <castaglia>
 
-2013-09-25 09:08  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.
 
-	* contrib/mod_sftp/display.c, src/display.c:
-	  Silly compilers disagree on whether '' is valid syntax for
-	  denoting a single character.	Sigh.
+2014-01-17  castaglia <castaglia>
 
-2013-09-25 07:58  castaglia
+	* configure: Updated configure.
 
-	* contrib/mod_sftp/display.c, src/display.c:
-	  When formatting the %f Display variable, the units index was not
-	  being calculated correctly.
+2014-01-17  castaglia <castaglia>
 
-2013-09-25 07:52  castaglia
+	* configure.in: Fix default location of datadir to be
+	'/usr/local/share', not '/usr/locale/share'.
 
-	* src/fsio.c:
-	  Minor clarifying comment.
+2014-01-17  castaglia <castaglia>
 
-2013-09-24 21:25  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.
 
-	* NEWS, contrib/mod_sql_odbc.c:
-	  Bug#3979 - mod_sql_odbc compiler warnings on 64-bit systems using
-	  unixODBC.
+2014-01-13  castaglia <castaglia>
 
-2013-09-23 18:21  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.
 
-	* 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.
+2014-01-13  castaglia <castaglia>
 
-	  Fixed a few racy timer tests while there.
+	* 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.
 
-2013-09-20 05:49  castaglia
+2014-01-08  castaglia <castaglia>
 
-	* contrib/: mod_sftp/keys.c, mod_tls.c:
-	  Updated the cached PID, so that log messages reflected the forked
-	  process' PID properly.
+	* 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.
 
-2013-09-19 21:01  castaglia
+2014-01-06  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.
+	* NEWS, contrib/mod_radius.c: Bug#4006 - RADIUS "service-type"
+	attribute encoded with wrong length on 64-bit system.
 
-2013-09-19 17:52  castaglia
+2014-01-06  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm:
-	  Adding regression test for Bug#3964.
+	* 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.
 
-2013-09-19 17:51  castaglia
+2014-01-06  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/mod_exec.c:
-	  Bug#3964 - Support running ExecOnEvent actions with logged-in
-	  user's permissions.
+	* include/netio.h, src/netio.c: Make the function for allocating and
+	attaching a pr_buffer_t to a NetIO stream public.
 
-2013-09-19 17:14  castaglia
+2014-01-03  castaglia <castaglia>
 
-	* NEWS, contrib/mod_geoip.c:
-	  Bug#3976 - ProFTPD terminating (signal 11) crash for
-	  GeoLiteCity-20130903 database lookup.
+	* contrib/mod_deflate.c: Refactor the same note name string into a
+	single #define.
 
-2013-09-19 17:12  castaglia
+2014-01-03  castaglia <castaglia>
 
-	* NEWS, contrib/mod_geoip.c:
-	  Bug#3975 - Error printed to stderr when loading GeoIP Lite
-	  country database using IndexCache flag.
+	* 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.
 
-2013-09-18 23:00  castaglia
+2014-01-02  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.
+	* doc/modules/mod_log.html: Fix inaccurate description of %p
+	LogFormat variable.
 
-2013-09-18 22:54  castaglia
+2014-01-02  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.
+	* 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.
 
-	  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.
+2014-01-02  castaglia <castaglia>
 
-2013-09-18 15:19  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.
 
-	* NEWS, src/fsio.c:
-	  Backport of fix for Bug#3963 to 1.3.4 branch.
+2014-01-01  castaglia <castaglia>
 
-2013-09-18 15:17  castaglia
+	* contrib/mod_tls.c: Fix grammar-o in a comment.
 
-	* NEWS, src/fsio.c:
-	  Bug#3963 - Improve permission setting when creating directories.
+2014-01-01  castaglia <castaglia>
 
-2013-09-18 14:51  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.
 
-	* doc/contrib/index.html:
-	  Update contrib module index with link to mod_dnsbl.
+2013-12-30  castaglia <castaglia>
 
-2013-09-18 14:49  castaglia
+	* src/parser.c: Clean up a few stylistic nits in the parser code; no
+	functional change.
 
-	* contrib/mod_dnsbl/configure:
-	  Updated configure for mod_dnsbl.
+2013-12-30  castaglia <castaglia>
 
-2013-09-18 14:47  castaglia
+	* src/fsio.c: Clean up a few stylistic nits in fsio.c; no functional
+	change.
 
-	* contrib/mod_dnsbl/: Makefile.in, configure.in, 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-12-29  castaglia <castaglia>
 
-2013-09-18 14:44  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.
 
-	* contrib/mod_dnsbl/.cvsignore:
-	  Adding necessary .cvsignore file.
+2013-12-29  castaglia <castaglia>
 
-2013-09-18 14:20  castaglia
+	* tests/t/lib/ProFTPD/Tests/Logins.pm: Add regression test for
+	failed logins due to out-of-sequence commands.
 
-	* contrib/mod_dnsbl/Makefile.in:
-	  Update clean target for mod_dnsbl Makefile.
+2013-12-29  castaglia <castaglia>
 
-2013-09-18 14:18  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.
 
-	* RELEASE_NOTES, doc/contrib/mod_dnsbl.html:
-	  Mention addition of mod_dnsbl to the contrib/ area.
+2013-12-27  castaglia <castaglia>
 
-2013-09-18 14:18  castaglia
+	* NEWS, contrib/mod_sftp/scp.c: Bug#4004 - IgnoreSCPUploadPerms
+	SFTPOption not honored properly for SCP directory upload.
 
-	* contrib/mod_dnsbl/: Makefile.in, config.guess, config.sub,
-	  configure, configure.in, install-sh, mod_dnsbl.c, mod_dnsbl.h.in:
+2013-12-27  castaglia <castaglia>
 
-	  Adding the mod_dnsbl module to the proftpd project.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
+	test for Bug#4004.
 
-2013-09-18 14:16  castaglia
+2013-12-23  castaglia <castaglia>
 
-	* contrib/mod_snmp/: config.guess, config.sub, install-sh:
-	  Updating config.guess, config.sub, install-sh scripts for
-	  mod_snmp.
+	* 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-09-18 11:49  castaglia
+2013-12-23  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.
+	* 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-09-18 11:16  castaglia
+2013-12-20  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Backporting fix from master.
+	* NEWS, contrib/mod_sftp/dhparams.pem: Bug#4002 - Add 7680-bit DH
+	parameter to mod_sftp bundled dhparams.pem file.
 
-2013-09-18 11:15  castaglia
+2013-12-20  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Using a slightly different memory pool here avoids some strange
-	  side-effects later.
+	* 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-09-17 16:24  castaglia
+2013-12-20  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.
+	* modules/mod_auth_file.c: Slight tweaks to the error messages
+	logged.
 
-2013-09-17 15:19  castaglia
+2013-12-20  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Adding regression tests for the handling of the SSCN command by
-	  mod_tls.
+	* 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-09-17 14:53  castaglia
+2013-12-19  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.
+	* contrib/mod_wrap2_file.c: Add some helpful logging when
+	mod_wrap2_file performs resolution on the given table path.
 
-2013-09-17 08:50  castaglia
+2013-12-19  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Mention CVE-2013-4359 in the release notes; people will want to
-	  know.
+	* doc/contrib/mod_wrap2.html: Fix typos.
 
-2013-09-16 22:04  castaglia
+2013-12-19  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Mention fix of mod_sftp/mod_sftp_pam memory allocation
-	  (CVE-2013-4359) in release notes.
+	* NEWS, contrib/mod_sftp/cipher.c, contrib/mod_sftp/mac.c: Bug#4001
+	- mod_sftp fails key exchange for 8192-bit DH group.
 
-2013-09-15 15:31  castaglia
+2013-12-16  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.
+	* 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-09-15 12:37  castaglia
+2013-12-15  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c:
-	  Backport of fix for Bug#3974 to 1.3.4 branch.
+	* src/netaddr.c: When caching the remote session address
+	information, make sure to properly zero out the cache structures
+	first.
 
-2013-09-15 12:36  castaglia
+2013-12-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.
+	* 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-09-15 12:35  castaglia
+2013-12-15  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#3974 - PathDenyFilter directive does not work as expected for
-	  SFTP sessions.
+	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Provide a way to tell
+	test_cleanup() to keep the log files around.
 
-2013-09-15 12:25  castaglia
+2013-12-14  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).
+	* contrib/mod_sftp/mod_sftp.c: Fix typo in comment; no functional
+	change.
 
-2013-09-15 11:10  castaglia
+2013-12-12  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.
+	* doc/contrib/mod_geoip.html: Typo.
 
-2013-09-13 23:56  castaglia
+2013-12-12  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp_pam.c, contrib/mod_sftp/kbdint.c,
-	  contrib/mod_sftp/mod_sftp.h.in:
-	  Backport of fix for Bug#3973 to 1.3.4 branch.
+	* 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-09-13 23:53  castaglia
+2013-12-12  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp_pam.c, contrib/mod_sftp/kbdint.c,
-	  contrib/mod_sftp/mod_sftp.h.in:
-	  Bug#3973 - mod_sftp can be forced to allocate too much memory for
-	  keyboard-interactive authentication.
+	* NEWS, RELEASE_NOTES, contrib/mod_exec.c: Bug#3876 - ExecOnEvent
+	should be configurable per <VirtualHost>/<Global>.
 
-2013-09-13 23:47  castaglia
+2013-12-12  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.
+	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm: Regression tests for
+	Bug#3996.
 
-2013-09-12 20:53  castaglia
+2013-12-12  castaglia <castaglia>
 
-	* contrib/mod_sftp_pam.c:
-	  Fix gcc-4.8 warning; patch supplied by Sergei Trofimovich
-	  <slyfox at gentoo.org>.
+	* NEWS, modules/mod_xfer.c: Bug#3996 - Handling ALLO command can
+	result in wrong response when chrooted.
 
-2013-09-05 10:14  castaglia
+2013-12-12  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth_unix.c:
-	  Backport of fix for Bug#3972 to 1.3.4 branch.
+	* NEWS, contrib/mod_sftp/keys.c: Bug#3992 - RSA signature issue when
+	connecting using PuTTY/WinSCP.
 
-2013-09-05 10:13  castaglia
+2013-12-10  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth_unix.c:
-	  Bug#3972 - Authentication error on Cygwin due to bad code.
+	* 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-09-04 13:38  castaglia
+2013-12-09  castaglia <castaglia>
 
-	* doc/contrib/mod_sql.html:
-	  Document the new IgnoreConfigFile SQLOption (Bug#3971).
+	* doc/contrib/mod_tls.html: Update mod_tls docs with descriptions
+	for the new EC cert/key directives.
 
-2013-09-04 13:32  castaglia
+2013-12-09  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.
+	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3772 - Support
+	Elliptic Curve Cryptography (ECC) certs for FTPS connections.
 
-2013-08-25 14:18  castaglia
+2013-12-09  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/deferwelcome.t,
-	  t/lib/ProFTPD/Tests/Config/DeferWelcome.pm:
-	  Add regression tests for the DeferWelcome directive.
+	* 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-08-25 14:16  castaglia
+2013-12-09  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.
+	* 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-08-19 09:32  castaglia
+2013-12-09  castaglia <castaglia>
 
-	* doc/howto/Authentication.html:
-	  Update Auth howto links.  Added FAQ about getting passwords
-	  logged.
+	* modules/mod_core.c: Fix compiler warning about type mismatch.
 
-2013-08-19 09:28  castaglia
+2013-12-09  castaglia <castaglia>
 
-	* doc/modules/mod_auth.html:
-	  Adding more mod_auth directives to the docs.
+	* 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-08-14 14:40  castaglia
+2013-12-08  castaglia <castaglia>
 
-	* doc/contrib/: mod_ban.html, mod_ctrls_admin.html,
-	  mod_deflate.html, mod_dynmasq.html, mod_exec.html,
-	  mod_ifsession.html, mod_log_forensic.html, mod_qos.html,
-	  mod_quotatab_file.html, mod_quotatab_ldap.html,
-	  mod_quotatab_sql.html, mod_radius.html, mod_readme.html,
-	  mod_rewrite.html, mod_shaper.html, mod_site_misc.html,
-	  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.
+	* tests/t/lib/ProFTPD/Tests/Config/Limit/Anonymous.pm: Add
+	regression tests for <Anonymous> configs with upload-only
+	directories.
 
-2013-08-14 14:16  castaglia
+2013-12-08  castaglia <castaglia>
 
-	* doc/contrib/mod_ban.html:
-	  Typo.
+	* contrib/ftpasswd, doc/contrib/ftpasswd.html: Minor reordering of
+	new --lock, --unlock options, and updating the docs to reflect the
+	new options.
 
-2013-08-14 08:56  castaglia
+2013-12-08  castaglia <castaglia>
 
-	* contrib/mod_geoip.c:
-	  Fix mod_geoip's handling of multiple GeoIPAllowFilter directives.
+	* tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm: Adding regression
+	tests for Bug#3994.
 
-2013-08-13 22:22  castaglia
+2013-12-08  castaglia <castaglia>
 
-	* doc/contrib/: mod_ban.html, mod_deflate.html, mod_exec.html,
-	  mod_quotatab.html, mod_radius.html, mod_rewrite.html,
-	  mod_shaper.html, mod_wrap2.html:
-	  Fix typos.
+	* NEWS, RELEASE_NOTES, contrib/ftpasswd: Bug#3994 - ftpasswd utility
+	should support --lock/--unlock options.
 
-2013-08-13 22:18  castaglia
+2013-12-08  castaglia <castaglia>
 
-	* doc/contrib/mod_sql.html:
-	  Typo.
+	* NEWS, contrib/ftpasswd: Bug#3995 - ftpasswd utility should prevent
+	concurrent modification of files.
 
-2013-08-12 13:02  castaglia
+2013-12-05  castaglia <castaglia>
 
-	* contrib/mod_geoip.c:
-	  Bug#3967 - Typo in TraceLog output: "Allow" should be "Deny".
+	* doc/contrib/mod_sftp.html: Update mod_sftp docs for the new
+	IgnoreSCPUploadTimes SFTPOption.
 
-2013-08-09 14:43  castaglia
+2013-12-05  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/: Logging/ExtendedLog.pm,
-	  Modules/mod_sql_sqlite.pm:
-	  Added/updated logging-related tests for Bug#3966.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
+	test for Bug#3998 (the new IgnoreSCPUploadTimes SFTPOption).
 
-2013-08-09 14:42  castaglia
+2013-12-05  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.
+	* 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-08-07 09:35  castaglia
+2013-12-05  castaglia <castaglia>
 
-	* src/: inet.c, support.c:
-	  Preemptive support for FreeBSD 10.
+	* doc/contrib/mod_sftp.html: List the supported SFTPOptions in
+	lexicographical order.
 
-2013-08-07 09:09  castaglia
+2013-12-05  castaglia <castaglia>
 
-	* modules/mod_log.c:
-	  Eliminate a strlen(3) when writing the full ExtendedLog line.
+	* modules/mod_ctrls.c: Make sure that the mod_ctrls module cannot be
+	built without using the --enable-ctrls configure option.
 
-2013-08-02 09:16  castaglia
+2013-12-04  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).
+	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm: Adding regression test
+	for the ALLO command in a chrooted environment.
 
-2013-08-01 08:36  castaglia
+2013-12-04  castaglia <castaglia>
 
-	* doc/contrib/mod_tls.html:
-	  Adding documentation for the new TLSVerifyServer directive.
+	* 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-07-31 23:23  castaglia
+2013-11-24  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.
+	* 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-07-31 23:07  castaglia
+2013-11-18  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.
+	* 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-07-31 14:14  castaglia
+2013-11-11  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/mod_tls.c:
-	  Bug#3955 - Support secure FXP (site-to-site) transfers using
-	  SSCN.
+	* doc/modules/mod_log.html: Added description of new %{basename}
+	variable to the LogFormat docs.
 
-2013-07-29 09:54  castaglia
+2013-11-11  castaglia <castaglia>
 
-	* doc/modules/mod_facts.html:
-	  FAQ about FileZilla, symlinks, and MLSD for older proftpd
-	  versions.
+	* 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-07-26 14:53  castaglia
+2013-11-11  castaglia <castaglia>
 
-	* doc/contrib/mod_ban.html:
-	  Add FAQ about banning root logins.
+	* NEWS, RELEASE_NOTES, contrib/mod_sql.c, include/mod_log.h,
+	modules/mod_log.c: Bug#3987 - LogFormat variable for just the
+	filename.
 
-2013-07-25 13:15  castaglia
+2013-11-10  castaglia <castaglia>
 
-	* NEWS, src/fsio.c:
-	  Backport of fix for Bug#3962 to 1.3.4 branch.
+	* 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-07-25 13:13  castaglia
+2013-11-10  castaglia <castaglia>
 
-	* NEWS, src/fsio.c:
-	  Bug#3962 - Directory creation fails (chmod(2) EPERM) when root
-	  privs are used in some cases.
+	* src/auth.c: Make the "Preparing to chroot to" log message slightly
+	less noisy.
 
-2013-07-22 14:51  castaglia
+2013-11-10  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Adding mod_sftp FAQ/gotcha, per Bug#3961.
+	* 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-07-19 10:17  castaglia
+2013-11-10  castaglia <castaglia>
 
-	* doc/modules/mod_cap.html:
-	  Document the support for CAP_FSETID for the CapabilitiesSet
-	  directive, per Bug#3960.
+	* modules/mod_auth_file.c: Improve the log message slightly when
+	mod_auth_file can't open its configured files.
 
-2013-07-19 10:16  castaglia
+2013-11-09  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, modules/mod_cap.c:
-	  Bug#3960 - Support the CAP_FSETID Linux capability, for
-	  preserving directory SGID bit.
+	* src/bindings.c: Found another place with inconsistent log message
+	formatting; now fixed.
 
-2013-07-18 14:06  castaglia
+2013-11-09  castaglia <castaglia>
 
-	* NEWS, src/fsio.c:
-	  Backport of fix for Bug#3958 to 1.3.4 branch.
+	* 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-07-18 14:06  castaglia
+2013-11-09  castaglia <castaglia>
 
-	* NEWS, src/fsio.c:
-	  Bug#3958 - Directory creation does not honor single-parameter
-	  Umask setting.
+	* doc/modules/mod_core.html: Include description for the UserOwner
+	directive in the mod_core docs.
 
-2013-07-18 12:33  castaglia
+2013-11-09  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm:
-	  Adding regression tests which would have caught Bug#3958.
+	* contrib/mod_ifsession.c: Log messages about misconfigurations
+	should be logged at WARNING, not ERR.
 
-2013-07-17 13:00  castaglia
+2013-11-05  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.
+	* 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-07-17 10:38  castaglia
+2013-11-05  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Still fixing more backport issues.  Sigh.
+	* doc/contrib/mod_tls_shmcache.html: Updated mod_tls_shmcache docs.
 
-2013-07-17 10:36  castaglia
+2013-10-27  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Fixing bad backport of patch for Bug#3959.
+	* doc/howto/TLS.html: TLS FAQ about difference between shm and
+	memcache for SSL session caching.
 
-2013-07-17 10:30  castaglia
+2013-10-15  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Backport of fix for Bug#3959 to 1.3.4 branch.
+	* 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-07-17 10:15  castaglia
+2013-10-15  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Bug#3959 - mod_sftp does not honor <Directory>/<Limit> sections
-	  when symlinks are involved.
+	* NEWS, src/fsio.c: Bug#3986 - Support filesystems which do not
+	support chmod(2)/chown(2), e.g.  FAT/ExFAT.
 
-	  The mod_sftp module was not properly canoncalizing the paths sent
-	  by the client before checking <Directory> restrictions.
+2013-10-14  castaglia <castaglia>
 
-2013-07-17 09:45  castaglia
+	* NEWS, RELEASE_NOTES: Bug#3982 - Normalize log messages and levels.
 
-	* configure:
-	  Updated configure.
+2013-10-13  castaglia <castaglia>
 
-2013-07-17 09:37  castaglia
+	* modules/mod_dso.c, src/log.c: Fix comments to match code.
 
-	* 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-10-13  castaglia <castaglia>
 
-2013-07-16 23:26  castaglia
+	* modules/mod_core.c: Tweak a log message to be more in line with
+	similar log messages elsewhere.
 
-	* 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-10-13  castaglia <castaglia>
 
-2013-07-16 14:40  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.
 
-	* contrib/mod_tls.c:
-	  Fix compiler warning about unused variable (only when
-	  --disable-ipv6 configure option is used).
+2013-10-13  castaglia <castaglia>
 
-2013-07-16 14:36  castaglia
+	* src/fsio.c: Found only one instance of a DEBUG level message which
+	needed a different log level (Bug#3982).
 
-	* src/ftpdctl.c:
-	  Fix compiler warning.
+2013-10-13  castaglia <castaglia>
 
-2013-07-16 14:35  castaglia
+	* src/auth.c: The log message about chrooting is more of a DEBUG
+	level message, rather than INFO (per Bug#3982).
 
-	* src/netaddr.c:
-	  Fix compiler warning on Solaris.
+2013-10-13  castaglia <castaglia>
 
-2013-07-16 14:27  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.
 
-	* contrib/mod_sftp/fxp.c:
-	  Fix compiler warnings about shadowed local variables.
+2013-10-13  castaglia <castaglia>
 
-2013-07-16 12:07  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).
 
-	* NEWS, include/dirtree.h, modules/mod_log.c, src/auth.c,
-	  src/dirtree.c:
-	  Backport of fix for Bug#3957 to 1.3.4 branch.
+2013-10-13  castaglia <castaglia>
 
-2013-07-16 12:06  castaglia
+	* contrib/ftpmail: If there are comments after the user/password
+	values in the ftpmail SMTP AUTH file, trim them off.
 
-	* 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.
+2013-10-13  castaglia <castaglia>
 
-	  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.
+	* 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-07-09 10:41  castaglia
+2013-10-13  castaglia <castaglia>
 
-	* doc/howto/: index.html, ECCN.html:
-	  Adding ECCN howto.
+	* 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-07-05 10:48  castaglia
+2013-10-13  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.
+	* 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-07-02 15:11  castaglia
+2013-10-11  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/allowforeignaddress.t,
-	  t/lib/ProFTPD/Tests/Config/AllowForeignAddress.pm:
-	  Adding regression tests for site-to-site transfers (FXP) and the
-	  AllowForeignAddress directive.
+	* src/auth.c: Slightly better log message, hopefully.
 
-2013-07-02 09:54  castaglia
+2013-10-11  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.
+	* 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-07-01 22:46  castaglia
+2013-10-09  castaglia <castaglia>
 
-	* doc/howto/Stopping.html:
-	  HTML formatting (missed closing tag).
+	* doc/howto/Logging.html: Fix broken anchor tag.
 
-2013-07-01 14:57  castaglia
+2013-10-09  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Quell compiler warning on Solaris.
+	* src/timers.c: Use the WARNING level if we can't install our signal
+	handlers needed for timers, rather than NOTICE.
 
-2013-07-01 10:42  castaglia
+2013-10-09  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Backport of fix for Bug#3954 to 1.3.4 branch.
+	* contrib/mod_dynmasq.c: Slightly better language in the log message
+	when we can't resolve a DNS name.
 
-2013-07-01 10:42  castaglia
+2013-10-09  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Bug#3954 - scp downloads result in segfault.
+	* 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-06-30 12:01  castaglia
+2013-10-09  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.
+	* 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-06-30 10:53  castaglia
+2013-10-09  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).
+	* modules/mod_xfer.c: Found a few more places where errno might be
+	getting clobbered, and thus leading to inaccurate reporting.
 
-2013-06-29 22:13  castaglia
+2013-10-09  castaglia <castaglia>
 
-	* src/inet.c:
-	  Defensive check.
+	* modules/mod_delay.c: Preserve errno properly when reporting errors
+	here.
 
-2013-06-29 13:09  castaglia
+2013-10-09  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.
+	* src/main.c: Fix another case where the reported errno value might
+	not be the correct one.
 
-2013-06-29 12:56  castaglia
+2013-10-09  castaglia <castaglia>
 
-	* src/netio.c:
-	  More attempts to properly preserve the errno value, e.g. during
-	  polling.
+	* modules/mod_auth.c: Cut down on possibly-spurious log warnings.
 
-2013-06-28 21:13  castaglia
+2013-10-09  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Correcting a log message.
+	* src/lastlog.c: Another place where we might be losing the real
+	errno value.
 
-2013-06-28 18:21  castaglia
+2013-10-09  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ldap.c:
-	  Backport of fix for Bug#3951 to 1.3.4 branch.
+	* src/mkhome.c: Make sure that when an error occurs, we log and
+	preserve the errno properly.
 
-2013-06-28 18:20  castaglia
+2013-10-09  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ldap.c:
-	  Bug#3951 - Null pointer dereference for mod_ldap logins when
-	  LDAPDefaultAuthScheme not configured.
+	* src/wtmp.c: Fix a few more places where we need to be careful to
+	preserve the errno value.
 
-2013-06-28 17:37  castaglia
+2013-10-09  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec:
-	  Updated spec with fixes from the Fedora maintainer.
+	* modules/mod_auth_unix.c: More cases where we need to take care to
+	preserve the errno value properly.
 
-2013-06-24 13:01  castaglia
+2013-10-09  castaglia <castaglia>
 
-	* doc/contrib/mod_ifsession.html:
-	  Formatting.
+	* modules/mod_core.c: Preserve errno for proper error reporting.
 
-2013-06-24 12:58  castaglia
+2013-10-09  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.
+	* modules/mod_facl.c: Make sure we preserve errno appropriately.
 
-2013-06-24 10:15  castaglia
+2013-10-09  castaglia <castaglia>
 
-	* src/str.c:
-	  Remove unused variable.
+	* doc/modules/mod_core.html: One more link which should use the
+	#Syslog anchor in the Logging doc.
 
-2013-06-23 14:35  castaglia
+2013-10-09  castaglia <castaglia>
 
-	* NEWS, modules/mod_delay.c:
-	  Backporting fix for Bug#3858 to 1.3.4 branch.
+	* contrib/mod_sql_postgres.c: Forgot to update copyright date on
+	previous checkin.
 
-2013-06-23 14:34  castaglia
+2013-10-08  castaglia <castaglia>
 
-	* NEWS, modules/mod_delay.c:
-	  Bug#3858 - mod_delay allows too-large values, leading to client
-	  hang on authentication.
+	* 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-06-21 23:21  castaglia
+2013-10-07  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.
+	* 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-06-21 23:20  castaglia
+2013-10-07  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.
+	* NEWS, RELEASE_NOTES, contrib/mod_ldap.c: Bug#3888 - Add LDAPLog
+	directive to mod_ldap.
 
-2013-06-21 22:13  castaglia
+2013-10-07  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.
+	* 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-06-21 21:59  castaglia
+2013-10-07  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.
+	* contrib/mod_sftp/auth.c, modules/mod_auth.c: Log "SECURITY
+	VIOLATION" messages at the NOTICE level (Bug#3982).
 
-2013-06-21 21:46  castaglia
+2013-10-07  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.
+	* 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.
 
-	  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-10-06  castaglia <castaglia>
 
-2013-06-21 21:43  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.
 
-	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
-	  Make the ExtendedLog tests pass properly by dealing with
-	  MacOSX-isms where needed.
+2013-10-06  castaglia <castaglia>
 
-2013-06-21 21:05  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).
 
-	* contrib/mod_sftp/fxp.c:
-	  More work on FTP response codes for ExtendedLog for SFTP sessions
-	  (part of Bug#3948).
+2013-10-06  castaglia <castaglia>
 
-2013-06-21 16:01  castaglia
+	* contrib/mod_snmp/mod_snmp.c: mod_snmp, too, needs to log fork(2)
+	failures at the ALERT level (Bug#3982).
 
-	* RELEASE_NOTES:
-	  Add note about LogFormat %s handling change for SFTP transfers.
+2013-10-06  castaglia <castaglia>
 
-2013-06-21 16:00  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.
 
-	* 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-10-06  castaglia <castaglia>
 
-2013-06-21 13:59  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).
 
-	* 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 at openssh.com requests.
+2013-10-06  castaglia <castaglia>
 
-2013-06-21 13:31  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.
 
-	* RELEASE_NOTES, doc/modules/mod_log.html:
-	  Update docs for LogFormat %d/%D handling changes.
+2013-10-06  castaglia <castaglia>
 
-2013-06-21 13:25  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.
 
-	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
-	  Adding regression tests for Bug#3950.
+2013-10-06  castaglia <castaglia>
 
-2013-06-21 13:24  castaglia
+	* contrib/mod_snmp/.cvsignore: Updated .cvsignore files for
+	mod_dnsbl and mod_snmp.
 
-	* NEWS, contrib/mod_sql.c, modules/mod_log.c:
-	  Bug#3950 - LogFormat %d/%D variables not resolved properly for
-	  directory listings.
+2013-10-06  castaglia <castaglia>
 
-2013-06-21 08:38  castaglia
+	* doc/howto/LogLevels.html: More typos, layout fixes.
 
-	* 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-10-06  castaglia <castaglia>
 
-2013-06-20 13:58  castaglia
+	* doc/howto/LogLevels.html: Typo.
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Backporting fix for Bug#3947 to 1.3.4 branch.
+2013-10-06  castaglia <castaglia>
 
-2013-06-20 13:56  castaglia
+	* doc/howto/index.html: Add the LogLevels doc to the index.
 
-	* 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-10-06  castaglia <castaglia>
 
-2013-06-20 13:23  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.
 
-	* 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-10-06  castaglia <castaglia>
 
-2013-06-20 13:21  castaglia
+	* doc/howto/Compiling.html: Minor embellishment on what the
+	install_user/install_group variables are for (and what they are NOT
+	for).
 
-	* 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-10-06  castaglia <castaglia>
 
-2013-06-20 09:13  castaglia
+	* doc/howto/ConfigurationTricks.html: Add recipe for using
+	environment variable to achieve ServerRoot-like functionality.
 
-	* doc/modules/mod_core.html:
-	  Add missing description of MaxConnectionRate directive to the
-	  mod_core docs.
+2013-10-06  castaglia <castaglia>
 
-2013-06-17 14:50  castaglia
+	* doc/howto/Filters.html: Add recipe about filtering SITE CHMOD
+	parameters using DenyFilter to doc.  Fixed links to be relative.
 
-	* doc/modules/mod_cap.html:
-	  Mention support for "CAP_SETUID" in the CapabilitiesSet directive
-	  docs.
+2013-10-06  castaglia <castaglia>
 
-2013-06-17 14:47  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.
 
-	* NEWS, modules/mod_cap.c:
-	  Bug#3945 - Spurious log messages at session close.
+2013-10-06  castaglia <castaglia>
 
-2013-06-14 17:32  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.
 
-	* 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-10-06  castaglia <castaglia>
 
-2013-06-14 15:17  castaglia
+	* src/var.c: Clean up minor stylistic nits in the Variables API; no
+	real functional change.
 
-	* contrib/mod_snmp/mod_snmp.c:
-	  Fix the forged packet check in mod_snmp to check both address AND
-	  port, rather than just address.
+2013-10-05  castaglia <castaglia>
 
-	  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.
+	* src/fsio.c: Additional improvements for Bug#3963, reducing the
+	scope of root privs used when setting created directory permissions.
 
-2013-06-14 11:10  castaglia
+2013-10-05  castaglia <castaglia>
 
-	* include/: version.h:
-	  Revving version for CVS.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Updated mod_exec
+	ExecOption useStdin regression test in light of Bug#3981.
 
-2013-06-14 10:43  castaglia
+2013-10-05  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updated ChangeLog.
+	* NEWS, contrib/mod_exec.c: Bug#3981 - Null pointer dereference in
+	mod_exec with ExecOption useStdin.
 
-2013-06-14 10:42  castaglia
+2013-10-05  castaglia <castaglia>
 
-	* NEWS:
-	  Updating NEWS with today's date for 1.3.5rc3 release.
+	* 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-06-14 10:41  castaglia
+2013-10-05  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Preparing 1.3.5rc3 for release.
+	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Support writing out of
+	configs that are given as arrayrefs, not just as hashrefs.
 
-2013-06-14 10:41  castaglia
+2013-10-05  castaglia <castaglia>
 
-	* locale/files.txt:
-	  Updated files.txt to include new mod_snmp, mod_sftp files.
+	* 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-06-14 10:21  castaglia
+2013-10-05  castaglia <castaglia>
 
-	* NEWS:
-	  Forgot to update the NEWS file to have today's date for the
-	  release of 1.3.4d.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ratio.pm: Add a (currently
+	failing) mod_ratio regression, found in an Ubuntu bug report.
 
-2013-06-14 10:19  castaglia
+2013-10-03  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updated ChangeLog.
+	* doc/contrib/mod_ratio.html: Start working on mod_ratio docs, if
+	only to cut down on bug reports about it.
 
-2013-06-14 10:18  castaglia
+2013-10-03  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec:
-	  Updating .spec file for release of 1.3.4d.
+	* doc/contrib/mod_sftp_pam.html: Fix typos and improve the
+	installation instructions for mod_sftp_pam.
 
-2013-06-14 10:01  castaglia
+2013-10-02  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Updating release notes for 1.3.4d.
+	* modules/mod_dso.c: Update mod_dso to use the pr_strnrstr()
+	function, which duplicated code already in mod_dso.
 
-2013-06-14 09:56  castaglia
+2013-10-02  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Fleshed out release notes for 1.3.5rc3.
+	* RELEASE_NOTES: Plan to release RC4, and mention the fixing of the
+	LDFLAGS for module builds.
 
-2013-06-14 09:54  castaglia
+2013-10-02  castaglia <castaglia>
 
-	* doc/howto/SQL.html:
-	  Adding section on using the SQL PrimaryKey directives to the
-	  howto.
+	* 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-06-14 09:21  castaglia
+2013-10-02  castaglia <castaglia>
 
-	* doc/contrib/mod_sql.html:
-	  Add descriptions for the SQLUserPrimaryKey, SQLGroupPrimaryKey
-	  directives added for Bug#3864.
+	* 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-06-10 10:13  castaglia
+2013-10-02  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.
+	* 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-06-10 10:12  castaglia
+2013-10-01  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.
+	* modules/mod_auth_unix.c: Fix typo in patch for Bug#3952 that was
+	resulting in segfault.
 
-2013-06-10 09:06  castaglia
+2013-10-01  castaglia <castaglia>
 
-	* doc/modules/mod_rlimit.html:
-	  Removed docs for now-obsolete RLimitProcesses directive.
+	* contrib/mod_exec.c: Remove extraneous semicolon; I've been trying
+	not to use them after the PRIVS macros.
 
-2013-06-10 09:05  castaglia
+2013-09-30  castaglia <castaglia>
 
-	* NEWS, modules/mod_rlimit.c:
-	  Bug#3941 - RLimitProcesses causes problems with setuid/setreuid.
+	* 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.
 
-	  Remove the RLimitProcesses and setrlimit(RLIMIT_NPROC) code; it
-	  was causing more problems (due to setuid(2) tricks) than it
-	  solved.
+2013-09-30  castaglia <castaglia>
 
-2013-06-07 14:57  castaglia
+	* contrib/mod_sftp/mod_sftp.c: Make sure that ECC key exchange
+	algorithms can be explicitly configured via the SFTPKeyExchanges
+	directive, when supported.
 
-	* RELEASE_NOTES, doc/contrib/mod_sql_passwd.html:
-	  Add documentation for the new PBKDF2 support.
+2013-09-29  castaglia <castaglia>
 
-2013-06-07 14:41  castaglia
+	* doc/modules/mod_auth_unix.html: Updated PersistentPasswd docs per
+	Bug#3952.
 
-	* 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-09-29  castaglia <castaglia>
 
-2013-06-06 16:55  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'.
 
-	* NEWS, contrib/mod_sftp_sql.c:
-	  Bug#3942 - mod_sftp_sql should support multiple keys concatenated
-	  together in a single column.
+2013-09-27  castaglia <castaglia>
 
-2013-06-06 16:52  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.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm:
-	  Adding regression test for Bug#3942.
+2013-09-27  castaglia <castaglia>
 
-2013-06-06 16:39  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.
 
-	* doc/contrib/mod_sftp.html:
-	  Adding another mod_sftp FAQ.
+2013-09-27  castaglia <castaglia>
 
-2013-06-06 16:18  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.
 
-	* contrib/: mod_load/Makefile.in, mod_sftp/Makefile.in,
-	  mod_snmp/Makefile.in, mod_wrap2/Makefile.in:
-	  Updating several contrib module Makefiles to clean up properly
-	  after themselves when doing a 'make clean'.
+2013-09-25  castaglia <castaglia>
 
-2013-06-06 13:26  castaglia
+	* contrib/mod_sftp/display.c, src/display.c: Silly compilers
+	disagree on whether '' is valid syntax for denoting a single
+	character.  Sigh.
 
-	* src/rlimit.c:
-	  If both current and max are NULL pointers, then return EINVAL; no
-	  need to proceed further.
+2013-09-25  castaglia <castaglia>
 
-2013-06-06 09:45  castaglia
+	* contrib/mod_sftp/display.c, src/display.c: When formatting the %f
+	Display variable, the units index was not being calculated
+	correctly.
 
-	* contrib/mod_sftp/rfc4716.c:
-	  Comment nit; no functional change.
+2013-09-25  castaglia <castaglia>
 
-2013-06-05 20:30  castaglia
+	* src/fsio.c: Minor clarifying comment.
 
-	* 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-09-25  castaglia <castaglia>
 
-2013-06-05 09:02  castaglia
+	* NEWS, contrib/mod_sql_odbc.c: Bug#3979 - mod_sql_odbc compiler
+	warnings on 64-bit systems using unixODBC.
 
-	* modules/mod_dso.c:
-	  Handle a LoadModule module name with ".cpp" extension, in
-	  addition to ".c", for loading e.g. C++ modules.
+2013-09-24  castaglia <castaglia>
 
-2013-06-03 11:07  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.
 
-	* contrib/mod_sftp/umac.c:
-	  Bug#3940 - Compiler warnings in mod_sftp.
+2013-09-20  castaglia <castaglia>
 
-	  Fixed -Wstrict-aliasing warnings in umac.c.
+	* contrib/mod_sftp/keys.c, contrib/mod_tls.c: Updated the cached
+	PID, so that log messages reflected the forked process' PID
+	properly.
 
-2013-05-31 14:44  castaglia
+2013-09-20  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Working on fleshing out release notes; still need to do more.
+	* 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-05-28 14:04  castaglia
+2013-09-20  castaglia <castaglia>
 
-	* NEWS, modules/mod_ctrls.c, src/ctrls.c:
-	  Backport of fix for Bug#3939 to 1.3.4 branch.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Adding regression
+	test for Bug#3964.
 
-2013-05-28 14:02  castaglia
+2013-09-20  castaglia <castaglia>
 
-	* NEWS, modules/mod_ctrls.c, src/ctrls.c:
-	  Bug#3939 - Disable Controls for "ServerType inetd" servers.
+	* NEWS, RELEASE_NOTES, contrib/mod_exec.c: Bug#3964 - Support
+	running ExecOnEvent actions with logged-in user's permissions.
 
-2013-05-23 08:43  castaglia
+2013-09-20  castaglia <castaglia>
 
-	* doc/howto/Limit.html:
-	  Add section about using multiple <Limit LOGIN> sections to the
-	  Limit howto.
+	* NEWS, contrib/mod_geoip.c: Bug#3976 - ProFTPD terminating (signal
+	11) crash for GeoLiteCity-20130903 database lookup.
 
-2013-05-23 08:36  castaglia
+2013-09-20  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).
+	* NEWS, contrib/mod_geoip.c: Bug#3975 - Error printed to stderr when
+	loading GeoIP Lite country database using IndexCache flag.
 
-2013-05-17 10:16  castaglia
+2013-09-19  castaglia <castaglia>
 
-	* doc/howto/SQL.html:
-	  Add SQLNamedConnectInfo recipe to SQL howto.
+	* 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-05-17 08:04  castaglia
+2013-09-19  castaglia <castaglia>
 
-	* doc/modules/: mod_ctrls.html:
-	  Copy-pasto.
+	* 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-05-16 11:33  castaglia
+2013-09-18  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).
+	* NEWS, src/fsio.c: Bug#3963 - Improve permission setting when
+	creating directories.
 
-2013-05-16 10:07  castaglia
+2013-09-18  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES:
-	  Mention addition of mod_snmp in release docs.
+	* doc/contrib/index.html: Update contrib module index with link to
+	mod_dnsbl.
 
-2013-05-15 08:27  castaglia
+2013-09-18  castaglia <castaglia>
 
-	* tests/: tests.pl, t/etc/modules/mod_snmp/ssh_host_dsa_key,
-	  t/etc/modules/mod_snmp/ssh_host_dsa_key.pub,
-	  t/etc/modules/mod_snmp/ssh_host_rsa_key,
-	  t/etc/modules/mod_snmp/ssh_host_rsa_key.pub,
-	  t/etc/modules/mod_snmp/tls-ca-cert.pem,
-	  t/etc/modules/mod_snmp/tls-server-cert.pem,
-	  t/lib/ProFTPD/Tests/Modules/mod_snmp.pm,
-	  t/lib/ProFTPD/Tests/Modules/mod_snmp/ban.pm,
-	  t/lib/ProFTPD/Tests/Modules/mod_snmp/sftp.pm,
-	  t/lib/ProFTPD/Tests/Modules/mod_snmp/tls.pm,
-	  t/modules/mod_snmp.t, t/modules/mod_snmp/ban.t,
-	  t/modules/mod_snmp/sftp.t, t/modules/mod_snmp/tls.t:
-	  Adding the mod_snmp testsuite.
+	* contrib/mod_dnsbl/configure: Updated configure for mod_dnsbl.
 
-2013-05-15 08:21  castaglia
+2013-09-18  castaglia <castaglia>
 
-	* doc/contrib/: index.html, mod_snmp.html:
-	  Adding mod_snmp documentation.
+	* 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-05-15 08:20  castaglia
+2013-09-18  castaglia <castaglia>
 
-	* contrib/mod_snmp/: Makefile.in, PROFTPD-MIB.txt, agentx.h,
-	  asn1.c, asn1.h, config.guess, config.sub, configure,
-	  configure.in, db.c, db.h, install-sh, mib.c, mib.h, mod_snmp.c,
-	  mod_snmp.h.in, msg.c, msg.h, notify.c, notify.h, packet.c,
-	  packet.h, pdu.c, pdu.h, smi.c, smi.h, stacktrace.c, stacktrace.h,
-	  uptime.c, uptime.h,
-	  contrib/opennms/proftpd.datacollection-config.xml,
-	  contrib/opennms/proftpd.snmp-graph.properties:
-	  Adding mod_snmp to the contrib modules of the ProFTPD source
-	  distribution.
+	* contrib/mod_dnsbl/.cvsignore: Adding necessary .cvsignore file.
 
-2013-05-15 08:01  castaglia
+2013-09-18  castaglia <castaglia>
 
-	* .cvsignore:
-	  Ignore any .git/ directories and .gitignore files which may show
-	  up.
+	* contrib/mod_dnsbl/Makefile.in: Update clean target for mod_dnsbl
+	Makefile.
 
-2013-05-14 09:41  castaglia
+2013-09-18  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.
+	* RELEASE_NOTES, doc/contrib/mod_dnsbl.html: Mention addition of
+	mod_dnsbl to the contrib/ area.
 
-2013-05-12 16:13  castaglia
+2013-09-18  castaglia <castaglia>
 
-	* doc/contrib/mod_wrap2_sql.html:
-	  Include indexes (for performance) in the example schema.
+	* 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-05-08 22:28  castaglia
+2013-09-18  castaglia <castaglia>
 
-	* doc/howto/Memcache.html:
-	  Adding another memcache-related FAQ.
+	* 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-05-08 22:21  castaglia
+2013-09-18  castaglia <castaglia>
 
-	* doc/howto/: Memcache.html, index.html:
-	  Adding a howto for Memcache support in proftpd.
+	* 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-05-08 21:19  castaglia
+2013-09-18  castaglia <castaglia>
 
-	* doc/howto/Logging.html:
-	  Add a wtmp log-related FAQ to the Logging howto.
+	* contrib/mod_sftp/fxp.c: Using a slightly different memory pool
+	here avoids some strange side-effects later.
 
-2013-05-08 21:09  castaglia
+2013-09-17  castaglia <castaglia>
 
-	* doc/howto/Logging.html:
-	  No need to direct SystemLog to /dev/null to disable logging;
-	  simply setting "SystemLog none" is enough.
+	* 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-05-08 20:58  castaglia
+2013-09-17  castaglia <castaglia>
 
-	* doc/modules/mod_dso.html:
-	  Adding mod_dso FAQ encountered on the proftp-user mailing list
-	  today.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
+	tests for the handling of the SSCN command by mod_tls.
 
-2013-05-08 14:43  castaglia
+2013-09-17  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ldap.c:
-	  Backport of fix for Bug#3937 to 1.3.4 branch.
+	* 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-05-08 14:43  castaglia
+2013-09-17  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ldap.c:
-	  Bug#3937 - Segfault when retrieving SSH public key from LDAP
-	  directory.
+	* RELEASE_NOTES: Mention fix of mod_sftp/mod_sftp_pam memory
+	allocation (CVE-2013-4359) in release notes.
 
-2013-05-06 22:11  castaglia
+2013-09-15  castaglia <castaglia>
 
-	* doc/modules/mod_memcache.html:
-	  Mention that the MemcacheServers directive handles Unix domain
-	  socket paths as well (per Bug#3931).
+	* 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-05-06 21:53  castaglia
+2013-09-15  castaglia <castaglia>
 
-	* contrib/mod_ban.c:
-	  Typo which broke the BanCache directive's memcache functionality.
+	* 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-05-06 15:11  castaglia
+2013-09-15  castaglia <castaglia>
 
-	* NEWS, modules/mod_ctrls.c:
-	  Backport of fix for Bug#3927 to 1.3.4 branch.
+	* NEWS, modules/mod_xfer.c: Bug#3974 - PathDenyFilter directive does
+	not work as expected for SFTP sessions.
 
-2013-05-06 15:11  castaglia
+2013-09-15  castaglia <castaglia>
 
-	* NEWS, modules/mod_ctrls.c:
-	  Bug#3927 - Default ControlsSocket created despite custom
-	  ControlsSocket path.
+	* 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-05-06 09:22  castaglia
+2013-09-15  castaglia <castaglia>
 
-	* contrib/mod_sftp/: scp.c:
-	  Fix comment from bad patching.
+	* 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-05-06 09:19  castaglia
+2013-09-14  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Backport of fix for Bug#3935 to 1.3.4 branch.
+	* 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-05-06 09:18  castaglia
+2013-09-14  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Bug#3935 - scp download of nonexistent file results in client
-	  hang.
+	* 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-05-06 09:16  castaglia
+2013-09-13  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.
+	* contrib/mod_sftp_pam.c: Fix gcc-4.8 warning; patch supplied by
+	Sergei Trofimovich <slyfox at gentoo.org>.
 
-2013-05-03 09:32  castaglia
+2013-09-05  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c, src/dirtree.c:
-	  Bug#3934 - HideUser/HideGroup do not work as expected for virtual
-	  users.
+	* NEWS, modules/mod_auth_unix.c: Bug#3972 - Authentication error on
+	Cygwin due to bad code.
 
-2013-05-03 09:31  castaglia
+2013-09-04  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/: HideGroup.pm, HideUser.pm:
-	  Adding regression tests for Bug#3934 (HideUser/HideGroup not
-	  working for virtual users).
+	* doc/contrib/mod_sql.html: Document the new IgnoreConfigFile
+	SQLOption (Bug#3971).
 
-2013-04-30 10:04  castaglia
+2013-09-04  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* 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-04-30 10:01  castaglia
+2013-08-25  castaglia <castaglia>
 
-	* config.h.in, configure.in:
-	  As part of fixing Bug#3932, we need to backport some of the
-	  autoconf checks for MySQL's "scrambled password" APIs to the
-	  1.3.4 branch.
+	* tests/t/config/deferwelcome.t,
+	tests/t/lib/ProFTPD/Tests/Config/DeferWelcome.pm, tests/tests.pl: 
+	Add regression tests for the DeferWelcome directive.
 
-2013-04-30 09:10  castaglia
+2013-08-25  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql_mysql.c:
-	  Backport of fix for Bug#3932 to 1.3.4 branch.
+	* 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-04-30 09:09  castaglia
+2013-08-19  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql_mysql.c:
-	  Bug#3932 - SQLAuthType Backend returns "password mismatch" for
-	  MySQL PASSWORD().
+	* doc/howto/Authentication.html: Update Auth howto links.  Added FAQ
+	about getting passwords logged.
 
-2013-04-30 09:00  castaglia
+2013-08-19  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth_pam.c:
-	  Backported fix for Bug#3929 to 1.3.4 branch.
+	* doc/modules/mod_auth.html: Adding more mod_auth directives to the
+	docs.
 
-2013-04-30 09:00  castaglia
+2013-08-14  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth_pam.c:
-	  Bug#3929 - pam_session_close() requires root privs on some
-	  platforms.
+	* 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-04-23 16:25  castaglia
+2013-08-14  castaglia <castaglia>
 
-	* contrib/: ftpasswd, ftpquota:
-	  Use env in the shebang line, rather than assuming the location of
-	  perl to use.
+	* doc/contrib/mod_ban.html: Typo.
 
-2013-04-23 16:14  castaglia
+2013-08-14  castaglia <castaglia>
 
-	* src/proftpd.8.in:
-	  Incorporating doc patch from FreeBSD ports tree.
+	* contrib/mod_geoip.c: Fix mod_geoip's handling of multiple
+	GeoIPAllowFilter directives.
 
-2013-04-23 16:12  castaglia
+2013-08-14  castaglia <castaglia>
 
-	* src/wtmp.c:
-	  Incorporating patch from FreeBSD ports tree.
+	* 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-04-23 15:37  castaglia
+2013-08-14  castaglia <castaglia>
 
-	* src/auth.c:
-	  Typo.
+	* doc/contrib/mod_sql.html: Typo.
 
-2013-04-23 08:20  castaglia
+2013-08-12  castaglia <castaglia>
 
-	* src/var.c:
-	  Backported typecast changes/fixes from trunk.
+	* contrib/mod_geoip.c: Bug#3967 - Typo in TraceLog output: "Allow"
+	should be "Deny".
 
-2013-04-23 08:20  castaglia
+2013-08-09  castaglia <castaglia>
 
-	* src/var.c:
-	  Removed unnecessary typecast.
+	* 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-04-23 08:18  castaglia
+2013-08-09  castaglia <castaglia>
 
-	* src/auth.c:
-	  Backported compiler warning fixes from trunk.
+	* NEWS, contrib/mod_sql.c, modules/mod_core.c, modules/mod_log.c: 
+	Bug#3966 -  LogFormat %f variable not resolved for some commands.
 
-2013-04-23 08:18  castaglia
+2013-08-07  castaglia <castaglia>
 
-	* src/auth.c:
-	  Quell compiler warnings on some platforms/compilers about
-	  signature mismatches via typecasting.
+	* src/inet.c, src/support.c: Preemptive support for FreeBSD 10.
 
-2013-04-23 08:14  castaglia
+2013-08-07  castaglia <castaglia>
 
-	* modules/mod_delay.c, src/inet.c:
-	  Forgot to update copyright years.
+	* modules/mod_log.c: Eliminate a strlen(3) when writing the full
+	ExtendedLog line.
 
-2013-04-23 08:13  castaglia
+2013-08-02  castaglia <castaglia>
 
-	* modules/mod_delay.c, src/inet.c, src/netaddr.c:
-	  Better handling of getnameinfo(3) errors, early during a
-	  connection lifetime.
+	* 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-04-16 12:58  castaglia
+2013-08-01  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).
+	* doc/contrib/mod_tls.html: Adding documentation for the new
+	TLSVerifyServer directive.
 
-2013-04-16 09:37  castaglia
+2013-08-01  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  SFTP regression test for HideFiles and symlinks (Bug#3924).
+	* 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-04-16 09:35  castaglia
+2013-08-01  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Minor tweak to dir_hide_file(), needed for Bug#3924 (and SFTP
-	  directory listings, specifically).
+	* 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-04-16 09:04  castaglia
+2013-07-31  castaglia <castaglia>
 
-	* NEWS, modules/mod_facts.c, modules/mod_ls.c, src/dirtree.c:
-	  Bug#3924 - HideFiles does not filter symlinks.
+	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3955 - Support secure
+	FXP (site-to-site) transfers using SSCN.
 
-2013-04-16 09:03  castaglia
+2013-07-29  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm:
-	  Adding regression tests for Bug#3924.
+	* doc/modules/mod_facts.html: FAQ about FileZilla, symlinks, and
+	MLSD for older proftpd versions.
 
-2013-04-15 09:14  castaglia
+2013-07-26  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.h:
-	  Missing checkin for Bug#3926; this fixes the CVS build.
+	* doc/contrib/mod_ban.html: Add FAQ about banning root logins.
 
-2013-04-12 07:13  castaglia
+2013-07-25  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Fix up the SFTPAuthorizedUserKeys directive description.
+	* NEWS, src/fsio.c: Bug#3962 - Directory creation fails (chmod(2)
+	EPERM) when root privs are used in some cases.
 
-2013-04-11 11:35  castaglia
+2013-07-22  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Adding FAQ to mod_sftp docs about localised directory listings,
-	  from Bug#3925.
+	* doc/contrib/mod_sftp.html: Adding mod_sftp FAQ/gotcha, per
+	Bug#3961.
 
-2013-04-11 11:29  castaglia
+2013-07-19  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c:
-	  Backporting fix for Bug#3925 to 1.3.4 branch.
+	* doc/modules/mod_cap.html: Document the support for CAP_FSETID for
+	the CapabilitiesSet directive, per Bug#3960.
 
-2013-04-11 11:28  castaglia
+2013-07-19  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c:
-	  Bug#3925 - SFTP directory listings are sensitive to locale
-	  environment variables.
+	* NEWS, RELEASE_NOTES, modules/mod_cap.c: Bug#3960 - Support the
+	CAP_FSETID Linux capability, for preserving directory SGID bit.
 
-2013-04-10 21:39  castaglia
+2013-07-18  castaglia <castaglia>
 
-	* RELEASE_NOTES, doc/contrib/mod_sftp.html:
-	  Update mod_sftp docs with mention of support for the fsync
-	  extension.
+	* NEWS, src/fsio.c: Bug#3958 - Directory creation does not honor
+	single-parameter Umask setting.
 
-2013-04-10 21:37  castaglia
+2013-07-18  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c:
-	  Bug#3926 - Support OpenSSH fsync SFTP extension.
+	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Adding regression tests
+	which would have caught Bug#3958.
 
-2013-04-09 22:28  castaglia
+2013-07-17  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Fix the length of the strings compared for the OpenSSH extensions
-	  in SFTP EXTENDED requests.
+	* 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-04-05 11:41  castaglia
+2013-07-17  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.
+	* 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-04-03 09:49  castaglia
+2013-07-17  castaglia <castaglia>
 
-	* modules/mod_rlimit.c:
-	  Correct the bug number in the comment.
+	* configure: Updated configure.
 
-2013-04-03 09:48  castaglia
+2013-07-17  castaglia <castaglia>
 
-	* modules/mod_cap.c:
-	  Slightly better error message when setreuid(2) fails.
+	* 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-04-03 09:47  castaglia
+2013-07-17  castaglia <castaglia>
 
-	* NEWS, modules/mod_rlimit.c:
-	  Bug#3923 - mod_cap does not revoke root privileges properly for
-	  SFTP connections.
+	* 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-04-03 09:46  castaglia
+2013-07-16  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm:
-	  Adding regression test for Bug#3923.
+	* contrib/mod_tls.c: Fix compiler warning about unused variable
+	(only when --disable-ipv6 configure option is used).
 
-2013-03-29 13:47  castaglia
+2013-07-16  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm:
-	  Adding more regression tests for <Directory> + <Limit> configs.
+	* src/ftpdctl.c: Fix compiler warning.
 
-2013-03-29 10:25  castaglia
+2013-07-16  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* src/netaddr.c: Fix compiler warning on Solaris.
 
-2013-03-29 10:19  castaglia
+2013-07-16  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.
+	* contrib/mod_sftp/fxp.c: Fix compiler warnings about shadowed local
+	variables.
 
-2013-03-29 09:29  castaglia
+2013-07-16  castaglia <castaglia>
 
-	* contrib/mod_sftp/auth-kbdint.c:
-	  Include explanatory comment about the errno value and Bug#3921.
+	* 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-03-28 16:02  castaglia
+2013-07-09  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/auth-kbdint.c:
-	  Bug#3921 - Single failed keyboard-interactive login attempt
-	  causes SSH connection to close prematurely.
+	* doc/howto/ECCN.html, doc/howto/index.html: Adding ECCN howto.
 
-2013-03-28 16:01  castaglia
+2013-07-05  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_sftp_pam.pm,
-	  t/modules/mod_sftp_pam.t:
-	  Start working on regression tests for the mod_sftp_pam module, in
-	  light of Bug#3921.
+	* contrib/mod_sftp_pam.c, modules/mod_auth_pam.c: Fix possible minor
+	memory leak with an error happens during PAM message processing.
 
-2013-03-28 13:56  castaglia
+2013-07-02  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding regression test for the umac-64 at openssh.com support added
-	  for Bug#3920.
+	* 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-03-28 13:31  castaglia
+2013-07-02  castaglia <castaglia>
 
-	* contrib/mod_sftp/mac.c:
-	  Typo.  Sigh.
+	* 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-03-28 13:29  castaglia
+2013-07-02  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).
+	* doc/howto/Stopping.html: HTML formatting (missed closing tag).
 
-2013-03-28 13:01  castaglia
+2013-07-01  castaglia <castaglia>
 
-	* contrib/mod_sftp/mod_sftp.c:
-	  Need to include the mac.h header now, to avoid compiler warnings
-	  about unknown functions.
+	* src/fsio.c: Quell compiler warning on Solaris.
 
-2013-03-28 12:56  castaglia
+2013-07-01  castaglia <castaglia>
 
-	* contrib/mod_sftp/: msg.c, msg.h:
-	  Forgot to commit these changes for Bug#3920.
+	* NEWS, contrib/mod_sftp/scp.c: Bug#3954 - scp downloads result in
+	segfault.
 
-2013-03-28 11:50  castaglia
+2013-06-30  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Update the mod_sftp docs to reflect supporting
-	  umac-64 at openssh.com.
+	* 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-03-28 11:48  castaglia
+2013-06-30  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 at openssh.com digest for mod_sftp.
+	* 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-03-21 15:38  castaglia
+2013-06-30  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.
+	* src/inet.c: Defensive check.
 
-2013-03-20 11:24  castaglia
+2013-06-29  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm:
-	  Clean up the SQLite script once we're done with it.
+	* 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-03-15 21:47  castaglia
+2013-06-29  castaglia <castaglia>
 
-	* doc/modules/mod_log.html:
-	  Bug#3864 added support for (among other things) a %g LogFormat
-	  variable; updated the LogFormat docs accordingly.
+	* src/netio.c: More attempts to properly preserve the errno value,
+	e.g. during polling.
 
-2013-03-15 21:46  castaglia
+2013-06-29  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm:
-	  Adding regression tests for the SQL PrimaryKey directives added
-	  for Bug#3864.
+	* modules/mod_core.c: Correcting a log message.
 
-2013-03-15 21:45  castaglia
+2013-06-29  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.
+	* NEWS, contrib/mod_ldap.c: Bug#3951 - Null pointer dereference for
+	mod_ldap logins when LDAPDefaultAuthScheme not configured.
 
-2013-03-14 19:35  castaglia
+2013-06-29  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.
+	* contrib/dist/rpm/proftpd.spec: Updated spec with fixes from the
+	Fedora maintainer.
 
-2013-03-14 17:05  castaglia
+2013-06-24  castaglia <castaglia>
 
-	* doc/howto/KeepAlives.html:
-	  Minor grammar fixes.
+	* doc/contrib/mod_ifsession.html: Formatting.
 
-2013-03-14 14:59  castaglia
+2013-06-24  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.
+	* doc/contrib/mod_ifsession.html: Update mod_ifsession Usage section
+	with mention of loading it last, when using it as a shared module.
 
-2013-03-14 14:51  castaglia
+2013-06-24  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/interop.c, contrib/mod_sftp/mod_sftp.c,
-	  src/regexp.c:
-	  Backport of fix for Bug#3918 to 1.3.4 branch.
+	* src/str.c: Remove unused variable.
 
-2013-03-14 14:49  castaglia
+2013-06-23  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.
+	* NEWS, modules/mod_delay.c: Bug#3858 - mod_delay allows too-large
+	values, leading to client hang on authentication.
 
-2013-03-14 14:47  castaglia
+2013-06-22  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding regression test for Bug#3918.
+	* 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-03-13 11:08  castaglia
+2013-06-22  castaglia <castaglia>
 
-	* doc/modules/mod_xfer.html:
-	  Updating DeleteAbortedStores doc per Bug#3917.
+	* tests/api/fsio.c: Add a unit test for the pr_fs_dircat() function;
+	we're going to be refactoring it a bit.
 
-2013-03-13 11:05  castaglia
+2013-06-22  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c, modules/mod_xfer.c:
-	  Bug#3917 - Make DeleteAbortedStores on by default when
-	  HiddenStores enabled.
+	* 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-03-13 10:57  castaglia
+2013-06-22  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm:
-	  Adding regression test for Bug#3917.
+	* 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-03-13 10:18  castaglia
+2013-06-22  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm:
-	  Adding another regression test for Bug#3915.
+	* 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-03-11 18:45  castaglia
+2013-06-22  castaglia <castaglia>
 
-	* doc/howto/TLS.html:
-	  Include the error message frequently seen on the client end of
-	  things in the FAQ about NoSessionReuseRequired.
+	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Make the
+	ExtendedLog tests pass properly by dealing with MacOSX-isms where
+	needed.
 
-2013-03-11 18:42  castaglia
+2013-06-22  castaglia <castaglia>
 
-	* doc/howto/TLS.html:
-	  Add TLS FAQ about data transfers and the NoSessionReuseRequired
-	  TLSOption.
+	* contrib/mod_sftp/fxp.c: More work on FTP response codes for
+	ExtendedLog for SFTP sessions (part of Bug#3948).
 
-2013-03-08 16:43  castaglia
+2013-06-21  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm:
-	  Adding regression test for Bug#3915.
+	* RELEASE_NOTES: Add note about LogFormat %s handling change for
+	SFTP transfers.
 
-2013-03-08 11:45  castaglia
+2013-06-21  castaglia <castaglia>
 
-	* NEWS, src/fsio.c:
-	  Bug#3914 - 1.3.5rc2 fails to build on Solaris 10.
+	* 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-03-08 10:21  castaglia
+2013-06-21  castaglia <castaglia>
 
-	* contrib/mod_sftp/msg.c:
-	  Quell compiler (and static code analysi) warnings (Bu#3912).
+	* 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 at openssh.com requests.
 
-2013-03-08 08:32  castaglia
+2013-06-21  castaglia <castaglia>
 
-	* modules/mod_auth_unix.c:
-	  Handle potential NULL return value from getpwnam(3) better.
-	  Stylistic nits.
+	* RELEASE_NOTES, doc/modules/mod_log.html: Update docs for LogFormat
+	%d/%D handling changes.
 
-2013-03-08 08:25  castaglia
+2013-06-21  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.
+	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding
+	regression tests for Bug#3950.
 
-2013-03-08 08:22  castaglia
+2013-06-21  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.
+	* NEWS, contrib/mod_sql.c, modules/mod_log.c: Bug#3950 - LogFormat
+	%d/%D variables not resolved properly for directory listings.
 
-2013-03-07 16:12  castaglia
+2013-06-21  castaglia <castaglia>
 
-	* contrib/mod_sql_mysql.c:
-	  Add comment about known compiler warning about "implicit function
-	  declaration" (Bug#3908).
+	* 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-03-07 16:00  castaglia
+2013-06-20  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#3910 - Clang's scan-build warns on set[u][g]id unchecked
-	  return value.
+	* 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-03-07 09:19  castaglia
+2013-06-20  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* 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-03-07 09:15  castaglia
+2013-06-20  castaglia <castaglia>
 
-	* configure.in:
-	  Enable a few more gcc warning flags, if supported, when
-	  --enable-devel is used.
+	* 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-03-07 09:03  castaglia
+2013-06-20  castaglia <castaglia>
 
-	* NEWS, src/netaddr.c:
-	  Bug#3909 - Build fails with --disable-ipv6.
+	* doc/modules/mod_core.html: Add missing description of
+	MaxConnectionRate directive to the mod_core docs.
 
-2013-03-07 07:04  castaglia
+2013-06-17  castaglia <castaglia>
 
-	* contrib/mod_log_forensic.c:
-	  Quell more compiler warnings (Bug#3908).
+	* doc/modules/mod_cap.html: Mention support for "CAP_SETUID" in the
+	CapabilitiesSet directive docs.
 
-2013-03-06 16:54  castaglia
+2013-06-17  castaglia <castaglia>
 
-	* contrib/mod_sql_mysql.c:
-	  Trying to quell compiler warnings (Bug#3908).
+	* NEWS, modules/mod_cap.c: Bug#3945 - Spurious log messages at
+	session close.
 
-2013-03-06 16:50  castaglia
+2013-06-15  castaglia <castaglia>
 
-	* contrib/mod_log_forensic.c:
-	  Quell compiler warnings (Bug#3908).
+	* 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-03-06 16:46  castaglia
+2013-06-14  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Quell compiler warnings (Bug#3908).
+	* 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-03-06 12:02  castaglia
+2013-06-14  castaglia <castaglia>
 
-	* include/version.h:
-	  Bump version for CVS.
+	* include/version.h: Revving version for CVS.
 
-2013-03-06 12:01  castaglia
+2013-06-14  castaglia <castaglia>
 
-	* include/version.h:
-	  Bump version for next maint release.
+	* ChangeLog: Updated ChangeLog.
 
-2013-03-06 11:06  castaglia
+2013-06-14  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updated ChangeLog.
+	* NEWS: Updating NEWS with today's date for 1.3.5rc3 release.
 
-2013-03-06 11:05  castaglia
+2013-06-14  castaglia <castaglia>
 
-	* locale/files.txt:
-	  Updated list of files for localization.
+	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
+	1.3.5rc3 for release.
 
-2013-03-06 11:04  castaglia
+2013-06-14  castaglia <castaglia>
 
-	* NEWS:
-	  Update NEWS with release date.
+	* locale/files.txt: Updated files.txt to include new mod_snmp,
+	mod_sftp files.
 
-2013-03-06 11:03  castaglia
+2013-06-14  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Preparing for release of proftpd-1.3.5rc2.
+	* RELEASE_NOTES: Fleshed out release notes for 1.3.5rc3.
 
-2013-03-06 11:00  castaglia
+2013-06-14  castaglia <castaglia>
 
-	* contrib/mod_log_forensic.c:
-	  Quell compiler warning.
+	* doc/howto/SQL.html: Adding section on using the SQL PrimaryKey
+	directives to the howto.
 
-2013-03-06 10:16  castaglia
+2013-06-14  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updated ChangeLog.
+	* doc/contrib/mod_sql.html: Add descriptions for the
+	SQLUserPrimaryKey, SQLGroupPrimaryKey directives added for Bug#3864.
 
-2013-03-06 10:02  castaglia
+2013-06-10  castaglia <castaglia>
 
-	* NEWS:
-	  Updating NEWS with release date.
+	* doc/contrib/mod_sql_passwd.html: Update SQLPasswordPBKDF2 docs to
+	mention use of non-SHA1 digests requires OpenSSL-1.0.0c and later.
 
-2013-03-06 10:01  castaglia
+2013-06-10  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec:
-	  Updating specfile version for proftpd-1.3.4c release.
+	* 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-03-06 09:55  castaglia
+2013-06-10  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Updating release notes for proftpd-1.3.5rc2.
+	* doc/modules/mod_rlimit.html: Removed docs for now-obsolete
+	RLimitProcesses directive.
 
-2013-03-06 09:45  castaglia
+2013-06-10  castaglia <castaglia>
 
-	* doc/contrib/mod_tls.html:
-	  Adding description of the new TLSUserName directive to the
-	  mod_tls docs.
+	* 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-03-06 09:33  castaglia
+2013-06-07  castaglia <castaglia>
 
-	* doc/contrib/mod_tls.html:
-	  Document that TLSSessionCache can be configured with a parameter
-	  of "off".
+	* RELEASE_NOTES, doc/contrib/mod_sql_passwd.html: Add documentation
+	for the new PBKDF2 support.
 
-2013-03-06 09:30  castaglia
+2013-06-07  castaglia <castaglia>
 
-	* doc/modules/mod_xfer.html:
-	  Mention the optional suffix parameter in the HiddenStores
-	  synopsis.
+	* 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-03-06 09:26  castaglia
+2013-06-06  castaglia <castaglia>
 
-	* doc/modules/mod_auth_file.html:
-	  Adding discussion of the stricter permission checks now done by
-	  mod_auth_file.
+	* NEWS, contrib/mod_sftp_sql.c: Bug#3942 - mod_sftp_sql should
+	support multiple keys concatenated together in a single column.
 
-2013-03-06 09:07  castaglia
+2013-06-06  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Updated release notes for proftpd-1.3.4c.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Adding
+	regression test for Bug#3942.
 
-2013-03-05 23:34  castaglia
+2013-06-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.
+	* doc/contrib/mod_sftp.html: Adding another mod_sftp FAQ.
 
-2013-03-01 12:06  castaglia
+2013-06-06  castaglia <castaglia>
 
-	* RELEASE_NOTES, doc/contrib/mod_ban.html:
-	  Updating docs for new TLSHandshake BanOnEvent rule.
+	* 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-03-01 11:57  castaglia
+2013-06-06  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.
+	* src/rlimit.c: If both current and max are NULL pointers, then
+	return EINVAL; no need to proceed further.
 
-2013-03-01 11:43  castaglia
+2013-06-06  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm:
-	  Adding regression test for the new BanOnEvent TLSHandshake rule
-	  (Bug#3906).
+	* contrib/mod_sftp/rfc4716.c: Comment nit; no functional change.
 
-2013-03-01 07:41  castaglia
+2013-06-06  castaglia <castaglia>
 
-	* contrib/mod_log_forensic.c:
-	  Print out mod_unique_id's UNIQUE_ID value, if present, in the
-	  ForensicLogFile.
+	* 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-02-27 17:20  castaglia
+2013-06-05  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Bug#3900 - ProFTPD terminating (signal 11) on some sftp
-	  connections.
+	* modules/mod_dso.c: Handle a LoadModule module name with ".cpp"
+	extension, in addition to ".c", for loading e.g. C++ modules.
 
-2013-02-27 14:50  castaglia
+2013-06-03  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.
+	* contrib/mod_sftp/umac.c: Bug#3940 - Compiler warnings in mod_sftp.  Fixed -Wstrict-aliasing warnings in umac.c.
 
-2013-02-27 14:22  castaglia
+2013-05-31  castaglia <castaglia>
 
-	* src/mkhome.c:
-	  Only fire the 'core.created-home' event IFF the home directory
-	  was actually created (versus already existing).
+	* RELEASE_NOTES: Working on fleshing out release notes; still need
+	to do more.
 
-2013-02-27 09:38  castaglia
+2013-05-28  castaglia <castaglia>
 
-	* contrib/mod_sftp/scp.c:
-	  Backporting the proper patch/fix for Bug#3904 to 1.3.4 branch.
+	* NEWS, modules/mod_ctrls.c, src/ctrls.c: Bug#3939 - Disable
+	Controls for "ServerType inetd" servers.
 
-2013-02-27 09:32  castaglia
+2013-05-23  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Slight performance in statcache check by checking path lengths
-	  first, before calling strncmp(3).
+	* doc/howto/Limit.html: Add section about using multiple <Limit
+	LOGIN> sections to the Limit howto.
 
-2013-02-27 09:29  castaglia
+2013-05-23  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Adding more release notes to myself, to flesh out today/tomorrow.
+	* 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-02-27 09:26  castaglia
+2013-05-17  castaglia <castaglia>
 
-	* contrib/mod_sftp/scp.c:
-	  Checking in the proper patch/fix for Bug#3904.
+	* doc/howto/SQL.html: Add SQLNamedConnectInfo recipe to SQL howto.
 
-2013-02-27 09:10  castaglia
+2013-05-17  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Backport of fix for Bug#3904 to 1.3.4 branch.
+	* doc/modules/mod_ctrls.html: Copy-pasto.
 
-2013-02-27 09:10  castaglia
+2013-05-16  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Bug#3904 - scp downloads using glob pattern sometimes fails.
+	* 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-02-26 21:40  castaglia
+2013-05-16  castaglia <castaglia>
 
-	* doc/contrib/ftpmail.html:
-	  Updated ftpmail docs, per Bug#3709.
+	* NEWS, RELEASE_NOTES: Mention addition of mod_snmp in release docs.
 
-2013-02-26 21:35  castaglia
+2013-05-15  castaglia <castaglia>
 
-	* NEWS, contrib/ftpmail:
-	  Bug#3709 - Support download-triggered emails in the ftpmail
-	  script.
+	* 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-02-26 21:09  castaglia
+2013-05-15  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).
+	* doc/contrib/index.html, doc/contrib/mod_snmp.html: Adding mod_snmp
+	documentation.
 
-2013-02-26 16:50  castaglia
+2013-05-15  castaglia <castaglia>
 
-	* src/mkhome.c:
-	  Don't generate the 'core.created-home' event until after any
-	  possible CreateHome skeleton directory has been copied.
+	* 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-02-26 15:30  castaglia
+2013-05-15  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Typo.
+	* .cvsignore: Ignore any .git/ directories and .gitignore files
+	which may show up.
 
-2013-02-26 15:16  castaglia
+2013-05-14  castaglia <castaglia>
 
-	* doc/contrib/: mod_sftp_pam.html:
-	  Document the new SFTPPAMOptions value, per Bug#3905.
+	* 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-02-26 15:14  castaglia
+2013-05-12  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp_pam.c, modules/mod_auth_pam.c:
-	  Backport of fix for Bug#3905 to 1.3.4 branch.
+	* doc/contrib/mod_wrap2_sql.html: Include indexes (for performance)
+	in the example schema.
 
-2013-02-26 15:12  castaglia
+2013-05-09  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp_pam.c, modules/mod_auth_pam.c:
-	  Bug#3905 - Handle the Linux-specific PAM_RADIO_TYPE message
-	  properly.
+	* doc/howto/Memcache.html: Adding another memcache-related FAQ.
 
-2013-02-26 10:09  castaglia
+2013-05-09  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Fix the handling of exit status values from external commands
-	  (e.g. scp).
+	* doc/howto/Memcache.html, doc/howto/index.html: Adding a howto for
+	Memcache support in proftpd.
 
-2013-02-25 12:31  castaglia
+2013-05-09  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).
+	* doc/howto/Logging.html: Add a wtmp log-related FAQ to the Logging
+	howto.
 
-2013-02-25 12:29  castaglia
+2013-05-09  castaglia <castaglia>
 
-	* contrib/mod_sftp/packet.c:
-	  Use a more conservative approach, and use memmove(3) instead of
-	  memcpy(3).
+	* doc/howto/Logging.html: No need to direct SystemLog to /dev/null
+	to disable logging; simply setting "SystemLog none" is enough.
 
-2013-02-25 12:27  castaglia
+2013-05-09  castaglia <castaglia>
 
-	* src/log.c:
-	  Better handling of return value from pr_log_event_listening().
+	* doc/modules/mod_dso.html: Adding mod_dso FAQ encountered on the
+	proftp-user mailing list today.
 
-2013-02-25 11:40  castaglia
+2013-05-08  castaglia <castaglia>
 
-	* src/trace.c:
-	  Avoid calling strlen(3) unnecessarily on TraceLog messages.
+	* NEWS, contrib/mod_ldap.c: Bug#3937 - Segfault when retrieving SSH
+	public key from LDAP directory.
 
-2013-02-24 09:10  jwm
+2013-05-07  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: git 07dd890968: release mod_ldap 2.9.3
+	* doc/modules/mod_memcache.html: Mention that the MemcacheServers
+	directive handles Unix domain socket paths as well (per Bug#3931).
 
-2013-02-24 09:10  jwm
+2013-05-07  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: git 577776b579: don't emit the bind DN
-	  password in debug output on successful bind (Bug #3885)
+	* contrib/mod_ban.c: Typo which broke the BanCache directive's
+	memcache functionality.
 
-2013-02-24 09:09  jwm
+2013-05-06  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: git b77b43e314: fail when someone's left the
-	  on/off flags when moving to LDAP{Users,Groups}
+	* NEWS, modules/mod_ctrls.c: Bug#3927 - Default ControlsSocket
+	created despite custom ControlsSocket path.
 
-2013-02-24 08:46  castaglia
+2013-05-06  castaglia <castaglia>
 
-	* NEWS, include/log.h, src/event.c, src/log.c:
-	  Bug#3903 - With mod_log_forensic enabled, SSH connections fail
-	  randomly.
+	* contrib/mod_sftp/scp.c: Fix comment from bad patching.
 
-2013-02-24 08:42  castaglia
+2013-05-06  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.
+	* NEWS, contrib/mod_sftp/scp.c: Bug#3935 - scp download of
+	nonexistent file results in client hang.
 
-2013-02-24 08:35  castaglia
+2013-05-06  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.
+	* 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-02-22 11:52  castaglia
+2013-05-03  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding more different configurations/environments to the
-	  regression tests for Bug#3904.
+	* NEWS, modules/mod_core.c, src/dirtree.c: Bug#3934 -
+	HideUser/HideGroup do not work as expected for virtual users.
 
-2013-02-22 08:47  castaglia
+2013-05-03  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding regression test using scp(1) to download a glob pattern.
+	* 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-02-21 23:20  castaglia
+2013-04-30  castaglia <castaglia>
 
-	* src/trace.c:
-	  Avoid needless (and wasteful) strlen(3) calls by tracking the
-	  length ourselves.
+	* NEWS, contrib/mod_sql_mysql.c: Bug#3932 - SQLAuthType Backend
+	returns "password mismatch" for MySQL PASSWORD().
 
-2013-02-21 23:06  castaglia
+2013-04-30  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.
+	* NEWS, modules/mod_auth_pam.c: Bug#3929 - pam_session_close()
+	requires root privs on some platforms.
 
-2013-02-21 19:21  castaglia
+2013-04-23  castaglia <castaglia>
 
-	* src/trace.c:
-	  Backport of fix for Bug#3902 to 1.3.4 branch.
+	* contrib/ftpasswd, contrib/ftpquota: Use env in the shebang line,
+	rather than assuming the location of perl to use.
 
-2013-02-21 19:21  castaglia
+2013-04-23  castaglia <castaglia>
 
-	* src/trace.c:
-	  Bug#3902 - mod_log_forensic seems to send trace channels to trace
-	  log even if level is 0.
+	* src/proftpd.8.in: Incorporating doc patch from FreeBSD ports tree.
 
-2013-02-21 18:02  castaglia
+2013-04-23  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.
+	* src/wtmp.c: Incorporating patch from FreeBSD ports tree.
 
-2013-02-21 17:47  castaglia
+2013-04-23  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().
+	* src/var.c: Removed unnecessary typecast.
 
-2013-02-21 14:20  castaglia
+2013-04-23  castaglia <castaglia>
 
-	* doc/contrib/mod_log_forensic.html:
-	  Document the additional ForensicLogFile metadata headers.
+	* src/auth.c: Quell compiler warnings on some platforms/compilers
+	about signature mismatches via typecasting.
 
-2013-02-21 14:19  castaglia
+2013-04-16  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).
+	* 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-02-21 13:02  castaglia
+2013-04-16  castaglia <castaglia>
 
-	* doc/modules/mod_rlimit.html:
-	  Fleshing out the rest of the mod_rlimit documentation.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: SFTP regression
+	test for HideFiles and symlinks (Bug#3924).
 
-2013-02-21 11:56  castaglia
+2013-04-16  castaglia <castaglia>
 
-	* doc/modules/: index.html, mod_rlimit.html:
-	  Adding documentation for the new mod_rlimit module.
+	* src/dirtree.c: Minor tweak to dir_hide_file(), needed for Bug#3924
+	(and SFTP directory listings, specifically).
 
-2013-02-21 11:21  castaglia
+2013-04-16  castaglia <castaglia>
 
-	* modules/mod_rlimit.c:
-	  Adding an RLimitProcesses directive, to disable the NPROC limit
-	  if needed.
+	* NEWS, modules/mod_facts.c, modules/mod_ls.c, src/dirtree.c: 
+	Bug#3924 - HideFiles does not filter symlinks.
 
-2013-02-21 10:08  castaglia
+2013-04-16  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).
+	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Adding regression
+	tests for Bug#3924.
 
-2013-02-20 22:10  castaglia
+2013-04-15  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.
+	* contrib/mod_sftp/fxp.h: Missing checkin for Bug#3926; this fixes
+	the CVS build.
 
-2013-02-20 17:04  castaglia
+2013-04-12  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/TestSuite/Utils.pm:
-	  Tweak to make use of AuthUserFiles in the testsuite work as
-	  expected.
+	* doc/contrib/mod_sftp.html: Fix up the SFTPAuthorizedUserKeys
+	directive description.
 
-2013-02-20 15:28  castaglia
+2013-04-11  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/mod_tls.c:
-	  Bug#3899 - Support authentication of users based on SSL/TLS
-	  client certificate.
+	* doc/contrib/mod_sftp.html: Adding FAQ to mod_sftp docs about
+	localised directory listings, from Bug#3925.
 
-2013-02-20 15:26  castaglia
+2013-04-11  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Adding regression test for Bug#3899 (TLSUserName directive).
+	* NEWS, modules/mod_core.c: Bug#3925 - SFTP directory listings are
+	sensitive to locale environment variables.
 
-2013-02-20 09:26  castaglia
+2013-04-11  castaglia <castaglia>
 
-	* contrib/mod_ifsession.c:
-	  Typo in comment; no functional change.
+	* RELEASE_NOTES, doc/contrib/mod_sftp.html: Update mod_sftp docs
+	with mention of support for the fsync extension.
 
-2013-02-20 09:25  castaglia
+2013-04-11  castaglia <castaglia>
 
-	* contrib/mod_ifsession.c:
-	  More fun with deferred <Directory> path resolution in
-	  mod_ifsession, for Bug#3881.
+	* NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c: 
+	Bug#3926 - Support OpenSSH fsync SFTP extension.
 
-2013-02-20 08:48  castaglia
+2013-04-10  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.
+	* contrib/mod_sftp/fxp.c: Fix the length of the strings compared for
+	the OpenSSH extensions in SFTP EXTENDED requests.
 
-2013-02-19 22:53  castaglia
+2013-04-05  castaglia <castaglia>
 
-	* NEWS, src/parser.c:
-	  Bug#3896 - Warn when world-writable config files are used.
+	* 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-02-19 17:34  castaglia
+2013-04-03  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Re-enable the clearing of the CF_DEFER flag, to prevent
-	  repetitive needless processing of <Directory> paths.
+	* modules/mod_rlimit.c: Correct the bug number in the comment.
 
-2013-02-19 17:09  castaglia
+2013-04-03  castaglia <castaglia>
 
-	* src/parser.c:
-	  Avoid unnecessary strlen(3) calls when parsing configuration.
+	* modules/mod_cap.c: Slightly better error message when setreuid(2)
+	fails.
 
-2013-02-19 17:04  castaglia
+2013-04-03  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Stylistic nits; no functional change.
+	* NEWS, modules/mod_rlimit.c: Bug#3923 - mod_cap does not revoke
+	root privileges properly for SFTP connections.
 
-2013-02-19 16:43  castaglia
+2013-04-03  castaglia <castaglia>
 
-	* contrib/mod_ifsession.c:
-	  More tweaks needed for Bug#3881.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm: Adding regression
+	test for Bug#3923.
 
-2013-02-19 15:13  castaglia
+2013-03-29  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).
+	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Adding more
+	regression tests for <Directory> + <Limit> configs.
 
-2013-02-19 14:23  castaglia
+2013-03-29  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Add some trace logging into the resolution of deferred-path
-	  <Directory> sections.
+	* configure: Updated configure.
 
-2013-02-19 13:24  castaglia
+2013-03-29  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Bug#3897 - mod_sftp does not handle a REALPATH request properly
-	  for SFTP protocol version 6.
+	* 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-02-19 08:24  castaglia
+2013-03-29  castaglia <castaglia>
 
-	* contrib/mod_ifsession.c:
-	  Check that the configured DisplayLogin file is not a directory in
-	  mod_ifsession, too.
+	* contrib/mod_sftp/auth-kbdint.c: Include explanatory comment about
+	the errno value and Bug#3921.
 
-2013-02-19 07:49  castaglia
+2013-03-28  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.
+	* NEWS, contrib/mod_sftp/auth-kbdint.c: Bug#3921 - Single failed
+	keyboard-interactive login attempt causes SSH connection to close
+	prematurely.
 
-2013-02-17 15:49  jwm
+2013-03-28  castaglia <castaglia>
 
-	* doc/: Configuration.html, Configuration.pdf, Configuration.sgml:
-	  whee up-to-date configuration docs for the first time since 2007
+	* 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-02-17 10:12  jwm
+2013-03-28  castaglia <castaglia>
 
-	* tests/tests.pl: fix syntax error
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
+	test for the umac-64 at openssh.com support added for Bug#3920.
 
-2013-02-15 17:03  castaglia
+2013-03-28  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  One more tiny tweak; might help Bug#3881.
+	* contrib/mod_sftp/mac.c: Typo.  Sigh.
 
-2013-02-15 14:50  castaglia
+2013-03-28  castaglia <castaglia>
 
-	* modules/: mod_core.c, mod_ident.c, mod_ls.c, mod_xfer.c:
-	  Switch the core modules to start using the new PR_IS*() character
-	  type detection macros.
+	* contrib/mod_sftp/mac.c: Properly free up the allocated UMAC
+	context objects when e.g. unloading mod_sftp (part of Bug#3920).
 
-2013-02-15 14:46  castaglia
+2013-03-28  castaglia <castaglia>
 
-	* contrib/: mod_ctrls_admin.c, mod_exec.c, mod_ifversion.c,
-	  mod_radius.c, mod_rewrite.c, mod_sql.c, mod_tls.c,
-	  mod_sftp/interop.c, mod_sftp/packet.c, mod_sftp/scp.c,
-	  mod_wrap2/mod_wrap2.c:
-	  Start using the new PR_IS*() macros to guard the ctype(3)
-	  character detection checks.
+	* contrib/mod_sftp/mod_sftp.c: Need to include the mac.h header now,
+	to avoid compiler warnings about unknown functions.
 
-2013-02-15 14:39  castaglia
+2013-03-28  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.
+	* contrib/mod_sftp/msg.c, contrib/mod_sftp/msg.h: Forgot to commit
+	these changes for Bug#3920.
 
-2013-02-15 14:33  castaglia
+2013-03-28  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.
+	* doc/contrib/mod_sftp.html: Update the mod_sftp docs to reflect
+	supporting umac-64 at openssh.com.
 
-2013-02-15 11:27  castaglia
+2013-03-28  castaglia <castaglia>
 
-	* contrib/mod_ifsession.c:
-	  Fix compiler warning (and logged message).
+	* 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 at openssh.com digest for mod_sftp.
 
-2013-02-15 10:33  castaglia
+2013-03-21  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.
+	* 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-02-15 10:19  castaglia
+2013-03-20  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).
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Clean up the
+	SQLite script once we're done with it.
 
-	  With this, mod_ifsession's merging in of <Directory> sections now
-	  more closely matches the parser behavior/ordering.
+2013-03-16  castaglia <castaglia>
 
-2013-02-14 16:21  castaglia
+	* doc/modules/mod_log.html: Bug#3864 added support for (among other
+	things) a %g LogFormat variable; updated the LogFormat docs
+	accordingly.
 
-	* src/dirtree.c:
-	  Stylistic cleanup.
+2013-03-16  castaglia <castaglia>
 
-2013-02-14 16:06  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
+	regression tests for the SQL PrimaryKey directives added for
+	Bug#3864.
 
-	* 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-03-16  castaglia <castaglia>
 
-2013-02-14 16:03  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.
 
-	* 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-03-15  castaglia <castaglia>
 
-2013-02-14 15:44  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.
 
-	* modules/mod_xfer.c:
-	  Removing now-unnecessary trace logging; I think the fix for
-	  Bug#3874 has been verified.
+2013-03-15  castaglia <castaglia>
 
-2013-02-14 14:54  castaglia
+	* doc/howto/KeepAlives.html: Minor grammar fixes.
 
-	* modules/mod_xfer.c:
-	  More trace logging for investigating Bug#3874.
+2013-03-14  castaglia <castaglia>
 
-2013-02-14 14:34  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.
 
-	* modules/mod_xfer.c:
-	  More debug trace logging, trying to determine why the fix for
-	  Bug#3874 isn't working as expected.
+2013-03-14  castaglia <castaglia>
 
-2013-02-14 14:28  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.
 
-	* modules/mod_xfer.c:
-	  Log if there's an error adding the HiddenStores-path-is-on-NFS
-	  node.
+2013-03-14  castaglia <castaglia>
 
-2013-02-14 13:48  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
+	test for Bug#3918.
 
-	* contrib/: mod_ban.c, mod_rewrite.c, mod_shaper.c,
-	  mod_tls_shmcache.c, mod_wrap.c, mod_wrap2_file.c:
-	  Catch more cases where the expected paths to files might
-	  inadvertently be paths to directories.
+2013-03-13  castaglia <castaglia>
 
-2013-02-14 11:44  castaglia
+	* doc/modules/mod_xfer.html: Updating DeleteAbortedStores doc per
+	Bug#3917.
 
-	* modules/mod_core.c:
-	  Check for a directory when opening a configured DisplayQuit file.
+2013-03-13  castaglia <castaglia>
 
-2013-02-14 11:38  castaglia
+	* NEWS, contrib/mod_sftp/fxp.c, modules/mod_xfer.c: Bug#3917 - Make
+	DeleteAbortedStores on by default when HiddenStores enabled.
 
-	* modules/: mod_auth.c, mod_delay.c, mod_xfer.c:
-	  Adding more checks for directories in places where we expect to
-	  find files.
+2013-03-13  castaglia <castaglia>
 
-2013-02-14 11:29  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm: Adding
+	regression test for Bug#3917.
 
-	* contrib/mod_sftp/: auth.c, rfc4716.c:
-	  Handle cases in mod_sftp where the files to be opened might
-	  inadvertently be directories.
+2013-03-13  castaglia <castaglia>
 
-2013-02-14 11:22  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Adding
+	another regression test for Bug#3915.
 
-	* src/display.c:
-	  Make sure that we don't open Display files that are directories.
+2013-03-12  castaglia <castaglia>
 
-2013-02-14 11:21  castaglia
+	* doc/howto/TLS.html: Include the error message frequently seen on
+	the client end of things in the FAQ about NoSessionReuseRequired.
 
-	* src/parser.c:
-	  Don't forget to close the file handle.
+2013-03-12  castaglia <castaglia>
 
-2013-02-14 11:18  castaglia
+	* doc/howto/TLS.html: Add TLS FAQ about data transfers and the
+	NoSessionReuseRequired TLSOption.
 
-	* modules/mod_auth_file.c:
-	  Make sure that the configure AuthUserFile/AuthGroupFile paths are
-	  not directories.
+2013-03-09  castaglia <castaglia>
 
-2013-02-14 11:14  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Adding
+	regression test for Bug#3915.
 
-	* src/parser.c:
-	  Check whether the given config file is a directory; if so, error
-	  out.
+2013-03-08  castaglia <castaglia>
 
-2013-02-14 10:33  castaglia
+	* NEWS, src/fsio.c: Bug#3914 - 1.3.5rc2 fails to build on Solaris
+	10.
 
-	* modules/mod_auth_file.c:
-	  Set the close-on-exec flag for the AuthUserFile/AuthGroupFile
-	  fds.
+2013-03-08  castaglia <castaglia>
 
-2013-02-14 09:29  castaglia
+	* contrib/mod_sftp/msg.c: Quell compiler (and static code analysi)
+	warnings (Bu#3912).
 
-	* 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-03-08  castaglia <castaglia>
 
-2013-02-14 09:22  castaglia
+	* modules/mod_auth_unix.c: Handle potential NULL return value from
+	getpwnam(3) better.  Stylistic nits.
 
-	* 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-03-08  castaglia <castaglia>
 
-2013-02-13 16:26  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.
 
-	* contrib/ftpquota:
-	  Make sure that ftpquota shows "unlimited" for values set to zero
-	  (or lower).
+2013-03-08  castaglia <castaglia>
 
-2013-02-13 09:48  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.
 
-	* NEWS, modules/mod_xfer.c:
-	  Backport of fix for Bug#3895 to 1.3.4 branch.
+2013-03-08  castaglia <castaglia>
 
-2013-02-13 09:48  castaglia
+	* contrib/mod_sql_mysql.c: Add comment about known compiler warning
+	about "implicit function declaration" (Bug#3908).
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#3895 - Missing TransferLog entry under some out-of-space
-	  conditions.
+2013-03-08  castaglia <castaglia>
 
-2013-02-13 09:47  castaglia
+	* NEWS, modules/mod_auth.c: Bug#3910 - Clang's scan-build warns on
+	set[u][g]id unchecked return value.
 
-	* tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm:
-	  Regression test for Bug#3895; requires the mod_enospc module.
+2013-03-07  castaglia <castaglia>
 
-2013-02-12 14:56  castaglia
+	* configure: Updated configure.
 
-	* 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-03-07  castaglia <castaglia>
 
-2013-02-12 14:49  castaglia
+	* configure.in: Enable a few more gcc warning flags, if supported,
+	when --enable-devel is used.
 
-	* 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-03-07  castaglia <castaglia>
 
-2013-02-12 14:49  castaglia
+	* contrib/mod_log_forensic.c: Quell more compiler warnings
+	(Bug#3908).
 
-	* src/fsio.c:
-	  Additional fix for Bug#3841: make sure the pr_fsio_smkdir()
-	  function correctly propagates SUID/SGID bits from the parent
-	  directory to the created directory.
+2013-03-07  castaglia <castaglia>
 
-2013-02-12 13:39  castaglia
+	* contrib/mod_sql_mysql.c: Trying to quell compiler warnings
+	(Bug#3908).
 
-	* 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-03-07  castaglia <castaglia>
 
-2013-02-12 10:30  castaglia
+	* contrib/mod_log_forensic.c, src/fsio.c: Quell compiler warnings
+	(Bug#3908).
 
-	* 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-03-06  castaglia <castaglia>
 
-2013-02-07 23:50  castaglia
+	* include/version.h: Bump version for CVS.
 
-	* 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-03-06  castaglia <castaglia>
 
-2013-02-07 23:43  castaglia
+	* ChangeLog: Updated ChangeLog.
 
-	* 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-03-06  castaglia <castaglia>
 
-2013-02-07 23:38  castaglia
+	* locale/files.txt: Updated list of files for localization.
 
-	* 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-03-06  castaglia <castaglia>
 
-2013-02-07 23:34  castaglia
+	* NEWS: Update NEWS with release date.
 
-	* configure:
-	  Used wrong version of autoconf to generate previous configure
-	  script.
+2013-03-06  castaglia <castaglia>
 
-2013-02-07 23:25  castaglia
+	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing for
+	release of proftpd-1.3.5rc2.
 
-	* configure:
-	  Updated configure.
+2013-03-06  castaglia <castaglia>
 
-2013-02-07 23:25  castaglia
+	* contrib/mod_log_forensic.c: Quell compiler warning.
 
-	* RELEASE_NOTES:
-	  Mention the appearance of mod_rlimit in the release notes.
+2013-03-06  castaglia <castaglia>
 
-2013-02-07 23:19  castaglia
+	* RELEASE_NOTES: Updating release notes for proftpd-1.3.5rc2.
 
-	* 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-03-06  castaglia <castaglia>
 
-2013-02-07 23:15  castaglia
+	* doc/contrib/mod_tls.html: Adding description of the new
+	TLSUserName directive to the mod_tls docs.
 
-	* src/dirtree.c:
-	  Add some trace logging for when we check AllowFilter/DenyFilter
-	  against the arguments for specific commands.
+2013-03-06  castaglia <castaglia>
 
-2013-02-07 23:14  castaglia
+	* doc/contrib/mod_tls.html: Document that TLSSessionCache can be
+	configured with a parameter of "off".
 
-	* tests/t/lib/ProFTPD/Tests/Config/AllowFilter.pm:
-	  Explicitly specify the Order directive, to ensure that the
-	  <Limit> sections are handled as expected.
+2013-03-06  castaglia <castaglia>
 
-2013-02-07 22:18  castaglia
+	* doc/modules/mod_xfer.html: Mention the optional suffix parameter
+	in the HiddenStores synopsis.
 
-	* tests/t/lib/ProFTPD/Tests/Config/RLimitOpenFiles.pm:
-	  More tests for minimal RLimitOpenFiles settings.
+2013-03-06  castaglia <castaglia>
 
-2013-02-07 21:38  castaglia
+	* doc/modules/mod_auth_file.html: Adding discussion of the stricter
+	permission checks now done by mod_auth_file.
 
-	* tests/t/lib/ProFTPD/Tests/Config/RLimitCPU.pm:
-	  Adding more RLimitCPU tests, ensuring the configured CPU resource
-	  limits are being enforced.
+2013-03-06  castaglia <castaglia>
 
-2013-02-07 20:54  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.
 
-	* src/trace.c:
-	  Faster way to check for an empty string, without calling
-	  strlen(3).
+2013-03-01  castaglia <castaglia>
 
-2013-02-07 19:21  castaglia
+	* RELEASE_NOTES, doc/contrib/mod_ban.html: Updating docs for new
+	TLSHandshake BanOnEvent rule.
 
-	* modules/mod_core.c, src/trace.c:
-	  Better handling of typo'd Trace directive values (e.g.
-	  "directory:", with no level number).
+2013-03-01  castaglia <castaglia>
 
-2013-02-07 07:44  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.
 
-	* include/inet.h, src/inet.c, contrib/mod_tls.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.
+2013-03-01  castaglia <castaglia>
 
-	  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Adding regression
+	test for the new BanOnEvent TLSHandshake rule (Bug#3906).
 
-2013-02-06 22:37  castaglia
+2013-03-01  castaglia <castaglia>
 
-	* include/options.h:
-	  Tune the default listen(2) backlog higher.
+	* contrib/mod_log_forensic.c: Print out mod_unique_id's UNIQUE_ID
+	value, if present, in the ForensicLogFile.
 
-2013-02-06 09:05  castaglia
+2013-02-28  castaglia <castaglia>
 
-	* NEWS, utils/ftptop.c:
-	  Backport of fix for Bug#3894 to 1.3.4 branch.
+	* NEWS, contrib/mod_sftp/fxp.c: Bug#3900 - ProFTPD terminating
+	(signal 11) on some sftp connections.
 
-2013-02-06 09:04  castaglia
+2013-02-27  castaglia <castaglia>
 
-	* NEWS, utils/ftptop.c:
-	  Bug#3894 - ftptop doesn't work with --enable-nls.
+	* 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-06 09:03  castaglia
+2013-02-27  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/rlimitcpu.t,
-	  t/config/rlimitopenfiles.t,
-	  t/lib/ProFTPD/Tests/Config/RLimitCPU.pm,
-	  t/lib/ProFTPD/Tests/Config/RLimitOpenFiles.pm:
-	  Adding regression tests for the RLimitCPU and RLimitOpenFiles
-	  directives.
+	* src/mkhome.c: Only fire the 'core.created-home' event IFF the home
+	directory was actually created (versus already existing).
 
-2013-02-06 09:02  castaglia
+2013-02-27  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.
+	* src/fsio.c: Slight performance in statcache check by checking path
+	lengths first, before calling strncmp(3).
 
-2013-02-05 23:34  castaglia
+2013-02-27  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.
+	* RELEASE_NOTES: Adding more release notes to myself, to flesh out
+	today/tomorrow.
 
-2013-02-05 23:14  castaglia
+2013-02-27  castaglia <castaglia>
 
-	* include/conf.h:
-	  Pull in the new rlimit.h header.
+	* contrib/mod_sftp/scp.c: Checking in the proper patch/fix for
+	Bug#3904.
 
-2013-02-05 22:55  castaglia
+2013-02-27  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.
+	* NEWS, contrib/mod_sftp/scp.c: Bug#3904 - scp downloads using glob
+	pattern sometimes fails.
 
-2013-02-05 22:51  castaglia
+2013-02-27  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).
+	* doc/contrib/ftpmail.html: Updated ftpmail docs, per Bug#3709.
 
-2013-02-05 21:37  castaglia
+2013-02-27  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.
+	* NEWS, contrib/ftpmail: Bug#3709 - Support download-triggered
+	emails in the ftpmail script.
 
-2013-02-05 16:32  castaglia
+2013-02-27  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm:
-	  Properly delete log from successful SQLLogOnEvent test.
+	* 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-05 16:19  castaglia
+2013-02-27  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/mod_sql.c:
-	  Bug#3893 - Add SQLLogOnEvent directive, for performing SQL query
-	  on configurable event.
+	* src/mkhome.c: Don't generate the 'core.created-home' event until
+	after any possible CreateHome skeleton directory has been copied.
 
-2013-02-05 16:16  castaglia
+2013-02-26  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm:
-	  Checking in test for new SQLLogOnEvent functionality (Bug#3893).
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Typo.
 
-2013-02-05 09:24  castaglia
+2013-02-26  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.
+	* doc/contrib/mod_sftp_pam.html: Document the new SFTPPAMOptions
+	value, per Bug#3905.
 
-2013-02-05 09:04  castaglia
+2013-02-26  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm:
-	  Adding regression tests for Bug#3892.
+	* NEWS, contrib/mod_sftp_pam.c, modules/mod_auth_pam.c: Bug#3905 -
+	Handle the Linux-specific PAM_RADIO_TYPE message properly.
 
-2013-02-05 09:03  castaglia
+2013-02-26  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, modules/mod_auth_file.c:
-	  Bug#3892 - mod_auth_file should have strict permission checks of
-	  configured files.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix the handling of
+	exit status values from external commands (e.g. scp).
 
-2013-02-04 13:15  castaglia
+2013-02-25  castaglia <castaglia>
 
-	* doc/howto/Logging.html:
-	  Add logging FAQ for how to disable all logging for proftpd.
+	* 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-04 07:43  castaglia
+2013-02-25  castaglia <castaglia>
 
-	* src/ctrls.c:
-	  Skip any zero-length control request arguments.
+	* contrib/mod_sftp/packet.c: Use a more conservative approach, and
+	use memmove(3) instead of memcpy(3).
 
-2013-02-03 23:14  castaglia
+2013-02-25  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.
+	* src/log.c: Better handling of return value from
+	pr_log_event_listening().
 
-2013-02-03 22:46  castaglia
+2013-02-25  castaglia <castaglia>
 
-	* include/ctrls.h, src/ctrls.c:
-	  Avoid non-printable characters in ftpdctl requests.
+	* src/trace.c: Avoid calling strlen(3) unnecessarily on TraceLog
+	messages.
 
-2013-02-03 21:58  castaglia
+2013-02-24  jwm <jwm>
 
-	* src/ctrls.c:
-	  Add max length limit to control action request argument.  Fix
-	  caching/propagating of errno value.  Fix stylistic nits.
+	* contrib/mod_ldap.c: git 07dd890968: release mod_ldap 2.9.3
 
-2013-02-03 21:48  castaglia
+2013-02-24  jwm <jwm>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Various tests for configurations related to Bug#3753.
+	* contrib/mod_ldap.c: git 577776b579: don't emit the bind DN
+	password in debug output on successful bind (Bug #3885)
 
-2013-02-03 21:39  castaglia
+2013-02-24  jwm <jwm>
 
-	* doc/contrib/mod_sftp.html:
-	  Updating some of the mapping between FTP command and SFTP
-	  request, with regard to <Limit> sections, per Bug#3753.
+	* contrib/mod_ldap.c: git b77b43e314: fail when someone's left the
+	on/off flags when moving to LDAP{Users,Groups}
 
-2013-02-03 21:35  castaglia
+2013-02-24  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Bug#3753 - Support SFTP request names in <Limit> sections better.
+	* NEWS, include/log.h, src/event.c, src/log.c: Bug#3903 - With
+	mod_log_forensic enabled, SSH connections fail randomly.
 
-2013-02-03 13:46  castaglia
+2013-02-24  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Stylistic nit; no functional change.
+	* 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-03 13:27  castaglia
+2013-02-24  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Add mention of <Limit WRITE> applying to WRITE SFTP request (of
-	  course).
+	* 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-02 18:11  castaglia
+2013-02-22  castaglia <castaglia>
 
-	* doc/contrib/mod_tls.html:
-	  Update mod_tls docs in light of TLSProtocol changes for Bug#3891.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding more
+	different configurations/environments to the regression tests for
+	Bug#3904.
 
-2013-02-02 18:09  castaglia
+2013-02-22  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/mod_tls.c:
-	  Bug#3891 - Allow TLSProtocol directive in <VirtualHost> and
-	  <Global> sections.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
+	test using scp(1) to download a glob pattern.
 
-2013-02-02 17:04  castaglia
+2013-02-22  castaglia <castaglia>
 
-	* src/scoreboard.c:
-	  Fix up the trace-level log messages related to scoreboard
-	  locking.
+	* src/trace.c: Avoid needless (and wasteful) strlen(3) calls by
+	tracking the length ourselves.
 
-2013-02-01 22:24  castaglia
+2013-02-22  castaglia <castaglia>
 
-	* src/log.c:
-	  Fix compiler error (i.e. programmer error).
+	* 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-01 22:06  castaglia
+2013-02-22  castaglia <castaglia>
 
-	* modules/mod_facts.c, modules/mod_ls.c, src/data.c:
-	  Backporting additional Bug#3819 fixes from trunk to 1.3.4 branch.
+	* src/trace.c: Bug#3902 - mod_log_forensic seems to send trace
+	channels to trace log even if level is 0.
 
-2013-02-01 22:04  castaglia
+2013-02-22  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).
+	* contrib/mod_sftp/fxp.c: Populate the cmd_class member for the fake
+	cmd_recs generated when aborting unclosed handles in mod_sftp.
 
-2013-01-31 15:51  castaglia
+2013-02-22  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Document the log format change in the release notes.
+	* 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-01-31 15:44  castaglia
+2013-02-21  castaglia <castaglia>
 
-	* src/log.c:
-	  Now SystemLog (console and file), and all *Log files (via
-	  pr_log_writefile()) use ISO-8601 timestamp format.
+	* doc/contrib/mod_log_forensic.html: Document the additional
+	ForensicLogFile metadata headers.
 
-2013-01-31 12:35  castaglia
+2013-02-21  castaglia <castaglia>
 
-	* include/trace.h, src/trace.c:
-	  Switch TraceLog to use ISO-8601 timestamps.  Other logs soon to
-	  follow suit.
+	* 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-01-31 11:40  castaglia
+2013-02-21  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.
+	* doc/modules/mod_rlimit.html: Fleshing out the rest of the
+	mod_rlimit documentation.
 
-2013-01-31 09:47  castaglia
+2013-02-21  castaglia <castaglia>
 
-	* doc/modules/mod_log.html:
-	  Updating LogFormat docs with descriptions of new %{iso8601},
-	  %{microsecs}, and %{millisecs} variables.
+	* doc/modules/index.html, doc/modules/mod_rlimit.html: Adding
+	documentation for the new mod_rlimit module.
 
-2013-01-31 09:38  castaglia
+2013-02-21  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/mod_sql.c, modules/mod_log.c:
-	  Bug#3889 - Support millisecond timestamp LogFormat variable.
+	* modules/mod_rlimit.c: Adding an RLimitProcesses directive, to
+	disable the NPROC limit if needed.
 
-2013-01-31 08:37  castaglia
+2013-02-21  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.
+	* 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-01-31 07:49  castaglia
+2013-02-21  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
-	  Add regression test for %{microsecs} LogFormat variable, for
-	  Bug#3889, too.
+	* contrib/mod_log_forensic.c: Fixing the generation of
+	ForensicLogFile data in the face of unclean closes, e.g. when
+	dealing with segfaults.
 
-2013-01-30 20:20  castaglia
+2013-02-21  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
-	  Adding regression tests for the LogFormat variables added for
-	  Bug#3889.
+	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Tweak to make use of
+	AuthUserFiles in the testsuite work as expected.
 
-2013-01-30 18:18  castaglia
+2013-02-20  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm:
-	  Additional reproduction recipes for Bug#3881.
+	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3899 - Support
+	authentication of users based on SSL/TLS client certificate.
 
-2013-01-30 14:39  castaglia
+2013-02-20  castaglia <castaglia>
 
-	* NEWS, include/data.h, modules/mod_facts.c, modules/mod_ls.c,
-	  src/data.c, src/pool.c:
-	  Backport of fix for Bug#3819 to 1.3.4 branch.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
+	test for Bug#3899 (TLSUserName directive).
 
-2013-01-30 14:37  castaglia
+2013-02-20  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.
+	* contrib/mod_ifsession.c: Typo in comment; no functional change.
 
-2013-01-29 17:24  castaglia
+2013-02-20  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  More tweaks on the path to verification/resolution for Bug#3874.
+	* contrib/mod_ifsession.c: More fun with deferred <Directory> path
+	resolution in mod_ifsession, for Bug#3881.
 
-2013-01-29 16:49  castaglia
+2013-02-20  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.
+	* 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-01-29 15:38  castaglia
+2013-02-20  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Try to be more informative about NFS-related 'fsio' trace
-	  logging.
+	* NEWS, src/parser.c: Bug#3896 - Warn when world-writable config
+	files are used.
 
-2013-01-29 14:42  castaglia
+2013-02-20  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Temporary trace logging to help debug Bug#3874.
+	* src/dirtree.c: Re-enable the clearing of the CF_DEFER flag, to
+	prevent repetitive needless processing of <Directory> paths.
 
-2013-01-29 14:18  castaglia
+2013-02-20  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Slightly better formatting for NFS-related trace message.
+	* src/parser.c: Avoid unnecessary strlen(3) calls when parsing
+	configuration.
 
-2013-01-29 13:58  castaglia
+2013-02-20  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).
+	* src/fsio.c: Stylistic nits; no functional change.
 
-2013-01-28 23:40  castaglia
+2013-02-20  castaglia <castaglia>
 
-	* contrib/mod_sftp/mac.c:
-	  Remove unnecessary (and misleading) typecasts.
+	* contrib/mod_ifsession.c: More tweaks needed for Bug#3881.
 
-2013-01-28 23:29  castaglia
+2013-02-19  castaglia <castaglia>
 
-	* contrib/mod_sftp/: cipher.c, cipher.h, 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.
+	* 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-01-28 23:08  castaglia
+2013-02-19  castaglia <castaglia>
 
-	* contrib/mod_sftp/ssh2.h:
-	  For (hopefully) better interoperability, use the same max packet
-	  size as OpenSSH does.
+	* src/dirtree.c: Add some trace logging into the resolution of
+	deferred-path <Directory> sections.
 
-2013-01-28 22:57  castaglia
+2013-02-19  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.
+	* NEWS, contrib/mod_sftp/fxp.c: Bug#3897 - mod_sftp does not handle
+	a REALPATH request properly for SFTP protocol version 6.
 
-2013-01-28 22:51  castaglia
+2013-02-19  castaglia <castaglia>
 
-	* contrib/mod_sftp/utf8.c, src/fsio.c:
-	  Further refinements of the trace logging of failed
-	  encoding/decoding.
+	* contrib/mod_ifsession.c: Check that the configured DisplayLogin
+	file is not a directory in mod_ifsession, too.
 
-2013-01-28 16:57  castaglia
+2013-02-19  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Remove development cruft.
+	* 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-01-28 16:48  castaglia
+2013-02-17  jwm <jwm>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Adding regression test for Bug#3887.
+	* doc/Configuration.html: whee up-to-date configuration docs for the
+	first time since 2007
 
-2013-01-28 16:47  castaglia
+2013-02-17  jwm <jwm>
 
-	* NEWS, src/dirtree.c:
-	  Backport of fix for Bug#3887 to 1.3.4 branch.
+	* tests/tests.pl: fix syntax error
 
-2013-01-28 16:47  castaglia
+2013-02-16  castaglia <castaglia>
 
-	* NEWS, src/dirtree.c:
-	  Bug#3887 - <Limit ALL> erroneously blocks the PROT command used
-	  for FTPS.
+	* src/dirtree.c: One more tiny tweak; might help Bug#3881.
 
-2013-01-28 16:21  castaglia
+2013-02-15  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.
+	* 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-01-27 17:21  castaglia
+2013-02-15  castaglia <castaglia>
 
-	* src/memcache.c:
-	  Bug#3886 - Calling pr_memcache_conn_set_namespace() crashes on
-	  buffer overflow.
+	* 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-01-27 17:20  castaglia
+2013-02-15  castaglia <castaglia>
 
-	* contrib/mod_tls_memcache.c:
-	  Clean up logging/comments in mod_tls_shmcache; no functional
-	  change.
+	* 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-01-25 14:29  castaglia
+2013-02-15  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.
+	* 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-01-25 14:07  castaglia
+2013-02-15  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  When resolving deferred paths, make sure to handle tilde
-	  interpolation as well.
+	* contrib/mod_ifsession.c: Fix compiler warning (and logged
+	message).
 
-2013-01-25 13:03  castaglia
+2013-02-15  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.
+	* 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-01-25 12:58  castaglia
+2013-02-15  castaglia <castaglia>
 
-	* contrib/mod_ifsession.c:
-	  Fix call to pr_auth_getgroups() to use user name, not group name,
-	  for the lookup.  Sigh.
+	* 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-01-25 12:24  castaglia
+2013-02-15  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.
+	* src/dirtree.c: Stylistic cleanup.
 
-2013-01-25 11:51  castaglia
+2013-02-15  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Add better trace logging of the v5/v6 BITS attribute.
+	* 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-01-25 09:11  castaglia
+2013-02-15  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).
+	* 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-01-25 08:15  castaglia
+2013-02-14  castaglia <castaglia>
 
-	* contrib/mod_ifsession.c:
-	  More cleanup/polish for Bug#3882, removing misleading
-	  DisplayLogin related log messages.
+	* modules/mod_xfer.c: Removing now-unnecessary trace logging; I
+	think the fix for Bug#3874 has been verified.
 
-2013-01-25 07:16  castaglia
+2013-02-14  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* modules/mod_xfer.c: More trace logging for investigating Bug#3874.
 
-2013-01-25 07:10  castaglia
+2013-02-14  castaglia <castaglia>
 
-	* NEWS, configure.in:
-	  Backport of fix for Bug#3884 to 1.3.4 branch.
+	* modules/mod_xfer.c: More debug trace logging, trying to determine
+	why the fix for Bug#3874 isn't working as expected.
 
-2013-01-25 07:10  castaglia
+2013-02-14  castaglia <castaglia>
 
-	* NEWS, configure.in:
-	  Bug#3884 - Configure script not detecting MySQL
-	  make_scrambled_password functions.
+	* modules/mod_xfer.c: Log if there's an error adding the
+	HiddenStores-path-is-on-NFS node.
 
-2013-01-24 18:39  castaglia
+2013-02-14  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).
+	* 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-01-24 18:08  castaglia
+2013-02-14  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Typo.
+	* modules/mod_core.c: Check for a directory when opening a
+	configured DisplayQuit file.
 
-2013-01-24 18:04  castaglia
+2013-02-14  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.
+	* 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-01-24 17:31  castaglia
+2013-02-14  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm:
-	  Adding regression test for Bug#3881.
+	* 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-01-24 17:30  castaglia
+2013-02-14  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ifsession.c:
-	  Bug#3881 - <Directory> sections within <IfGroup> sections not
-	  applied as expected.
+	* src/display.c: Make sure that we don't open Display files that are
+	directories.
 
-2013-01-24 16:05  castaglia
+2013-02-14  castaglia <castaglia>
 
-	* tests/: tests.pl,
-	  t/lib/ProFTPD/Tests/Modules/mod_log_forensic.pm,
-	  t/modules/mod_log_forensic.t:
-	  Adding in the regression tests for the new mod_log_forensic
-	  module.
+	* src/parser.c: Don't forget to close the file handle.
 
-2013-01-24 16:04  castaglia
+2013-02-14  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.
+	* modules/mod_auth_file.c: Make sure that the configure
+	AuthUserFile/AuthGroupFile paths are not directories.
 
-2013-01-24 14:45  castaglia
+2013-02-14  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.
+	* src/parser.c: Check whether the given config file is a directory;
+	if so, error out.
 
-2013-01-24 14:32  castaglia
+2013-02-14  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ifsession.c:
-	  Bug#3882 - DisplayLogin with an absolute path does not work
-	  properly within an <IfGroup> section.
+	* modules/mod_auth_file.c: Set the close-on-exec flag for the
+	AuthUserFile/AuthGroupFile fds.
 
-2013-01-24 14:30  castaglia
+2013-02-14  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.
+	* 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-01-24 14:21  castaglia
+2013-02-14  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm:
-	  Adding regression test for Bug#3882.
+	* 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-01-24 11:22  castaglia
+2013-02-14  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm:
-	  Make the mod_ifsession tests pass properly on MacOSX.
+	* contrib/ftpquota: Make sure that ftpquota shows "unlimited" for
+	values set to zero (or lower).
 
-2013-01-24 10:47  castaglia
+2013-02-13  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Add trace logging for the pr_fsio_is_nfs() function, for easier
-	  analysis.
+	* NEWS, modules/mod_xfer.c: Bug#3895 - Missing TransferLog entry
+	under some out-of-space conditions.
 
-2013-01-22 23:22  castaglia
+2013-02-13  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.
+	* tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Regression test
+	for Bug#3895; requires the mod_enospc module.
 
-2013-01-22 07:20  castaglia
+2013-02-12  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Increase subpool size for SFTP packets to 128 bytes.
+	* 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-01-21 22:46  castaglia
+2013-02-12  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Backporting support for reading various v5/v6 attributes from
-	  trunk.
+	* 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-01-21 22:44  castaglia
+2013-02-12  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Fleshing out the support for various v5/v6-specific attributes.
+	* 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-01-21 17:12  castaglia
+2013-02-12  castaglia <castaglia>
 
-	* contrib/mod_sftp/msg.c:
-	  Log the errno value from backtrace(3), if we fail to get a
-	  backtrace from it.
+	* 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-01-21 17:10  castaglia
+2013-02-08  castaglia <castaglia>
 
-	* src/main.c:
-	  Wrong datatype for backtrace(3) return value.
+	* 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-01-21 17:05  castaglia
+2013-02-08  castaglia <castaglia>
 
-	* src/main.c:
-	  Log the errors we get from backtrace(3) and backtrace_symbols(3),
-	  if any.
+	* 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-01-21 14:05  castaglia
+2013-02-08  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Reduce unnecessary logging of EEXIST cases when adding command
-	  notes.
+	* 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-01-21 12:00  castaglia
+2013-02-08  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm:
-	  Adding regression test for Bug#3879.
+	* configure: Used wrong version of autoconf to generate previous
+	configure script.
 
-2013-01-21 11:59  castaglia
+2013-02-08  castaglia <castaglia>
 
-	* NEWS, contrib/mod_quotatab_sql.c:
-	  Bug#3879 - Allow additional columns in SQLNamedQuery queries used
-	  for quota limits and tallies.
+	* configure: Updated configure.
 
-2013-01-21 10:28  castaglia
+2013-02-08  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Wrong cmd_rec in fix for Bug#3874.
+	* RELEASE_NOTES: Mention the appearance of mod_rlimit in the release
+	notes.
 
-2013-01-20 22:44  castaglia
+2013-02-08  castaglia <castaglia>
 
-	* NEWS, contrib/mod_quotatab.c:
-	  Backport of fix for Bug#3878 to 1.3.4 branch.
+	* 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-01-20 22:43  castaglia
+2013-02-08  castaglia <castaglia>
 
-	* NEWS, contrib/mod_quotatab.c:
-	  Bug#3878 - QuotaExcludeFilter not honored for uploads when 'hard'
-	  limits are used.
+	* src/dirtree.c: Add some trace logging for when we check
+	AllowFilter/DenyFilter against the arguments for specific commands.
 
-2013-01-20 22:41  castaglia
+2013-02-08  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm:
-	  Adding regression test for Bug#3878.
+	* tests/t/lib/ProFTPD/Tests/Config/AllowFilter.pm: Explicitly
+	specify the Order directive, to ensure that the <Limit> sections are
+	handled as expected.
 
-2013-01-19 10:20  castaglia
+2013-02-08  castaglia <castaglia>
 
-	* contrib/mod_geoip.c:
-	  Bug#3877 - Fix GeoIPPolicy logging by making it a trace log
-	  message.
+	* tests/t/lib/ProFTPD/Tests/Config/RLimitOpenFiles.pm: More tests
+	for minimal RLimitOpenFiles settings.
 
-2013-01-18 17:08  castaglia
+2013-02-08  castaglia <castaglia>
 
-	* src/parser.c:
-	  Backported parser segfault fix from trunk.
+	* tests/t/lib/ProFTPD/Tests/Config/RLimitCPU.pm: Adding more
+	RLimitCPU tests, ensuring the configured CPU resource limits are
+	being enforced.
 
-2013-01-18 17:07  castaglia
+2013-02-08  castaglia <castaglia>
 
-	* src/parser.c:
-	  Fix possible segfault due to null pointer dereference.
+	* src/trace.c: Faster way to check for an empty string, without
+	calling strlen(3).
 
-2013-01-18 16:25  castaglia
+2013-02-08  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* modules/mod_core.c, src/trace.c: Better handling of typo'd Trace
+	directive values (e.g. "directory:", with no level number).
 
-2013-01-18 16:21  castaglia
+2013-02-07  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.
+	* 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-01-18 15:35  castaglia
+2013-02-07  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.
+	* include/options.h: Tune the default listen(2) backlog higher.
 
-2013-01-18 12:30  castaglia
+2013-02-06  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Adding regression test for Bug#3869 using "TLSSessionCache off".
+	* NEWS, utils/ftptop.c: Bug#3894 - ftptop doesn't work with
+	--enable-nls.
 
-2013-01-18 12:29  castaglia
+2013-02-06  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/mod_tls.c:
-	  Bug#3869 - Use longer SSL session cache expiration by default.
+	* 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-01-16 13:50  castaglia
+2013-02-06  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding regression test for Bug#3873.
+	* tests/t/lib/ProFTPD/Tests/Config/RLimitMemory.pm: Update
+	RLimitMemory tests to use testcase-specific logging.  Added test for
+	using the 'daemon' setting.
 
-2013-01-16 13:50  castaglia
+2013-02-06  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Bug#3873 - Provide FTP response code in ExtendedLog for failed
-	  SFTP REMOVE request.
+	* 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-01-16 09:25  castaglia
+2013-02-06  castaglia <castaglia>
 
-	* doc/modules/mod_xfer.html:
-	  Updated HiddenStores docs per changes for Bug#3872.
+	* include/conf.h: Pull in the new rlimit.h header.
 
-2013-01-16 09:12  castaglia
+2013-02-06  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, modules/mod_xfer.c:
-	  Bug#3872 - Use HiddenStores directive to customise suffix.
+	* 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-01-15 23:52  castaglia
+2013-02-06  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.
+	* 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-01-15 23:30  castaglia
+2013-02-06  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm:
-	  Updated the HiddenStores tests to use testcase-specific logging.
+	* 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-01-15 23:20  castaglia
+2013-02-06  castaglia <castaglia>
 
-	* doc/modules/mod_xfer.html:
-	  Fleshing out more directive descriptions in the mod_xfer docs.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Properly
+	delete log from successful SQLLogOnEvent test.
 
-2013-01-15 14:25  castaglia
+2013-02-06  castaglia <castaglia>
 
-	* contrib/: mod_tls.c:
-	  Remove duplicate setting of SSL session context ID.
+	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#3893 - Add
+	SQLLogOnEvent directive, for performing SQL query on configurable
+	event.
 
-2013-01-15 14:22  castaglia
+2013-02-06  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.)
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Checking in
+	test for new SQLLogOnEvent functionality (Bug#3893).
 
-2013-01-15 13:57  castaglia
+2013-02-05  castaglia <castaglia>
 
-	* contrib/mod_tls_shmcache.c:
-	  Minor logging nits/cleanup for the mod_tls_shmcache module.
+	* doc/modules/mod_auth_file.html: Mention the new strict permission
+	checks on the AuthUserFile and AuthGroupFile in the mod_auth_file
+	docs.
 
-2013-01-15 13:04  castaglia
+2013-02-05  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm: Adding
+	regression tests for Bug#3892.
 
-2013-01-15 12:48  castaglia
+2013-02-05  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Fix incorrect format string.
+	* NEWS, RELEASE_NOTES, modules/mod_auth_file.c: Bug#3892 -
+	mod_auth_file should have strict permission checks of configured
+	files.
 
-2013-01-15 11:55  castaglia
+2013-02-04  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.
+	* doc/howto/Logging.html: Add logging FAQ for how to disable all
+	logging for proftpd.
 
-2013-01-15 11:55  castaglia
+2013-02-04  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.
+	* src/ctrls.c: Skip any zero-length control request arguments.
 
-2013-01-15 11:51  castaglia
+2013-02-04  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Backport of fix for Bug#3871 to 1.3.4 branch.
+	* 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-01-15 11:50  castaglia
+2013-02-04  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Bug#3871 - REALPATH SFTP request not properly handled by <Limit
-	  DIRS> configuration.
+	* include/ctrls.h, src/ctrls.c: Avoid non-printable characters in
+	ftpdctl requests.
 
-2013-01-15 11:21  castaglia
+2013-02-04  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding regression/reproduction test for Bug#3871.
+	* src/ctrls.c: Add max length limit to control action request
+	argument.  Fix caching/propagating of errno value.  Fix stylistic
+	nits.
 
-2013-01-15 11:04  castaglia
+2013-02-04  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Use the proper C_ macros, rather than hardcoded strings, in more
-	  places.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Various tests for
+	configurations related to Bug#3753.
 
-2013-01-15 11:03  castaglia
+2013-02-04  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Use a better variable name here.
+	* 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-01-15 07:57  castaglia
+2013-02-04  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Add trace logging of the arguments to the pr_fsio_smkdir()
-	  function, for future debugging/analysis.
+	* NEWS, contrib/mod_sftp/fxp.c: Bug#3753 - Support SFTP request
+	names in <Limit> sections better.
 
-2013-01-14 22:16  castaglia
+2013-02-03  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.
+	* src/dirtree.c: Stylistic nit; no functional change.
 
-2013-01-14 22:14  castaglia
+2013-02-03  castaglia <castaglia>
 
-	* tests/t/: etc/modules/mod_tls/ipv6-ca.pem,
-	  etc/modules/mod_tls/ipv6-client-cert2.pem,
-	  etc/modules/mod_tls/ipv6-server-cert2.pem,
-	  lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Adding regression test for handling of IPv6 iPAddress SubjAltName
-	  values in client certs.
+	* doc/contrib/mod_sftp.html: Add mention of <Limit WRITE> applying
+	to WRITE SFTP request (of course).
 
-2013-01-14 14:19  castaglia
+2013-02-03  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c, contrib/mod_sftp/dhparams.pem:
-	  Bug#3779 - Generate new DH parameters for mod_tls and mod_sftp.
+	* doc/contrib/mod_tls.html: Update mod_tls docs in light of
+	TLSProtocol changes for Bug#3891.
 
-2013-01-14 12:44  castaglia
+2013-02-03  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c:
-	  Backport of fix for Bug#3870 to 1.3.4 branch.
+	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3891 - Allow
+	TLSProtocol directive in <VirtualHost> and <Global> sections.
 
-2013-01-14 12:43  castaglia
+2013-02-03  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c:
-	  Bug#3870 - Handling of OPTS command can lead to crash.
+	* src/scoreboard.c: Fix up the trace-level log messages related to
+	scoreboard locking.
 
-2013-01-14 12:33  castaglia
+2013-02-02  castaglia <castaglia>
 
-	* tests/: tests.pl, t/commands/opts.t,
-	  t/lib/ProFTPD/Tests/Commands/OPTS.pm:
-	  Add regression tests for the OPTS command (including test for
-	  Bug#3870).
+	* src/log.c: Fix compiler error (i.e. programmer error).
 
-2013-01-14 08:52  castaglia
+2013-02-02  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Remove redundant strlen(3).
+	* 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-14 08:51  castaglia
+2013-01-31  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Remove erroneous errno assignment.
+	* RELEASE_NOTES: Document the log format change in the release
+	notes.
 
-2013-01-13 21:57  castaglia
+2013-01-31  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.
+	* src/log.c: Now SystemLog (console and file), and all *Log files
+	(via pr_log_writefile()) use ISO-8601 timestamp format.
 
-2013-01-13 21:39  castaglia
+2013-01-31  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Fix minor nits in comments; no functional change.
+	* include/trace.h, src/trace.c: Switch TraceLog to use ISO-8601
+	timestamps.  Other logs soon to follow suit.
 
-2013-01-13 21:15  castaglia
+2013-01-31  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Backported another tweak/part of Bug#3868, to avoid null pointer
-	  dereference.
+	* 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-13 21:14  castaglia
+2013-01-31  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Additional tweak (to avoid null pointer dereference) for
-	  Bug#3868.
+	* doc/modules/mod_log.html: Updating LogFormat docs with
+	descriptions of new %{iso8601}, %{microsecs}, and %{millisecs}
+	variables.
 
-2013-01-13 17:12  castaglia
+2013-01-31  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Typo.
+	* NEWS, RELEASE_NOTES, contrib/mod_sql.c, modules/mod_log.c: 
+	Bug#3889 - Support millisecond timestamp LogFormat variable.
 
-2013-01-13 16:40  castaglia
+2013-01-31  castaglia <castaglia>
 
-	* include/fsio.h, src/fsio.c:
-	  Backporting more of the pr_fsio_smkdir() tweaks from trunk to the
-	  1.3.4 branch.
+	* 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-13 16:38  castaglia
+2013-01-31  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.
+	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Add regression
+	test for %{microsecs} LogFormat variable, for Bug#3889, too.
 
-2013-01-13 16:33  castaglia
+2013-01-31  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.)
+	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding
+	regression tests for the LogFormat variables added for Bug#3889.
 
-2013-01-13 13:39  castaglia
+2013-01-31  castaglia <castaglia>
 
-	* doc/contrib/mod_tls.html:
-	  Improvide the TLSDHParamFile documentation, in light of Bug#3868.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Additional
+	reproduction recipes for Bug#3881.
 
-2013-01-13 13:25  castaglia
+2013-01-30  castaglia <castaglia>
 
-	* tests/t/: etc/modules/mod_tls/dh1024.pem,
-	  lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Adding regression tests for Bug#3868.
+	* 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-13 13:21  castaglia
+2013-01-30  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Backport of fix for Bug#3868 to 1.3.4 branch.
+	* modules/mod_xfer.c: More tweaks on the path to
+	verification/resolution for Bug#3874.
 
-2013-01-13 13:19  castaglia
+2013-01-30  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3868 - Only first DH param in TLSDHParamFile is used,
-	  regardless of requested keylength.
+	* 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-13 13:06  castaglia
+2013-01-29  castaglia <castaglia>
 
-	* NEWS, contrib/ftpasswd:
-	  Backport of fix for Bug#3867 to 1.3.4 branch.
+	* src/fsio.c: Try to be more informative about NFS-related 'fsio'
+	trace logging.
 
-2013-01-13 13:05  castaglia
+2013-01-29  castaglia <castaglia>
 
-	* NEWS, contrib/ftpasswd:
-	  Bug#3867 - ftpasswd fails with "Permission denied" when adding
-	  subsequent passwd/group entries.
+	* modules/mod_xfer.c: Temporary trace logging to help debug
+	Bug#3874.
 
-2013-01-11 19:50  castaglia
+2013-01-29  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm:
-	  Now we have a bug number assigned.
+	* src/fsio.c: Slightly better formatting for NFS-related trace
+	message.
 
-2013-01-11 19:43  castaglia
+2013-01-29  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm:
-	  Flesh out the first ftpasswd regression test.
+	* 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-11 19:03  castaglia
+2013-01-29  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Utils/: ftpcount.pm, ftpwho.pm:
-	  Make these utils tests pass again (just needed correct path to
-	  the executables).
+	* contrib/mod_sftp/mac.c: Remove unnecessary (and misleading)
+	typecasts.
 
-2013-01-11 15:37  castaglia
+2013-01-29  castaglia <castaglia>
 
-	* tests/t/: contrib/ftpasswd.t,
-	  lib/ProFTPD/Tests/Contrib/ftpasswd.pm:
-	  Start working on ftpasswd unit tests.
+	* 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-11 11:32  castaglia
+2013-01-29  castaglia <castaglia>
 
-	* contrib/ftpasswd:
-	  Bump the ftpasswd version, given the addition of support for
-	  other password hash types.
+	* contrib/mod_sftp/ssh2.h: For (hopefully) better interoperability,
+	use the same max packet size as OpenSSH does.
 
-2013-01-11 10:33  castaglia
+2013-01-29  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ban.c:
-	  Backport of fix for Bug#3866 to 1.3.4 branch.
+	* 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-11 10:33  castaglia
+2013-01-29  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ban.c:
-	  Bug#3866 - Issuing invalid 'ftpdctl ban' request causes segfault.
+	* contrib/mod_sftp/utf8.c, src/fsio.c: Further refinements of the
+	trace logging of failed encoding/decoding.
 
-2013-01-11 09:35  castaglia
+2013-01-29  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ban.c:
-	  Backport of fix for Bug#3865 to 1.3.4 branch.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Remove development
+	cruft.
 
-2013-01-11 09:35  castaglia
+2013-01-29  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ban.c:
-	  Bug#3865 - BanEngine not set in "server config" results in
-	  "mod_ban not enabled" ftpdctl error.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
+	test for Bug#3887.
 
-2013-01-10 16:57  castaglia
+2013-01-29  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Stylistic nits; no functional change.
+	* NEWS, src/dirtree.c: Bug#3887 - <Limit ALL> erroneously blocks the
+	PROT command used for FTPS.
 
-2013-01-10 14:51  castaglia
+2013-01-29  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.
+	* 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-10 14:48  castaglia
+2013-01-28  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Backporting more pr_fsio_smkdir() fixes from trunk, for fixing
-	  regressions caused by Bug#3841.
+	* src/memcache.c: Bug#3886 - Calling
+	pr_memcache_conn_set_namespace() crashes on buffer overflow.
 
-2013-01-10 14:47  castaglia
+2013-01-28  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Log a warning if we can't rename the directory in
-	  pr_fsio_smkdir(), too.
+	* contrib/mod_tls_memcache.c: Clean up logging/comments in
+	mod_tls_shmcache; no functional change.
 
-2013-01-10 14:44  castaglia
+2013-01-25  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.
+	* 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-10 12:10  castaglia
+2013-01-25  castaglia <castaglia>
 
-	* src/event.c:
-	  Backport another fix, regarding event notification subscription,
-	  from trunk.
+	* src/dirtree.c: When resolving deferred paths, make sure to handle
+	tilde interpolation as well.
 
-2013-01-10 12:07  castaglia
+2013-01-25  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Backporting fix for MKD regression (due to Bug#3841) to 1.3.4
-	  branch.
+	* 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-10 12:07  castaglia
+2013-01-25  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Fix regression with MKD commands (due to Bug#3841).
+	* contrib/mod_ifsession.c: Fix call to pr_auth_getgroups() to use
+	user name, not group name, for the lookup.  Sigh.
 
-2013-01-10 12:06  castaglia
+2013-01-25  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm:
-	  Added needed regression test for sending MKD for a chrooted
-	  session.
+	* 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-10 11:46  castaglia
+2013-01-25  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.
+	* contrib/mod_sftp/fxp.c: Add better trace logging of the v5/v6 BITS
+	attribute.
 
-2013-01-10 10:52  castaglia
+2013-01-25  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Stylistic nits.
+	* 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).
 
-	  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.
+2013-01-25  castaglia <castaglia>
 
-	  No functional changes.
+	* contrib/mod_ifsession.c: More cleanup/polish for Bug#3882,
+	removing misleading DisplayLogin related log messages.
 
-2013-01-09 18:06  castaglia
+2013-01-25  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/auth.c:
-	  Backported fix for Bug#3863 to 1.3.4 branch.
+	* configure: Updated configure.
 
-2013-01-09 18:06  castaglia
+2013-01-25  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/auth.c:
-	  Bug#3863 - mod_sftp does not handle MaxLoginAttempts properly.
+	* NEWS, configure.in: Bug#3884 - Configure script not detecting
+	MySQL make_scrambled_password functions.
 
-	  Make sure that we increment the auth_attempts counter whenever
-	  the auth method request does not explicitly succeed.
+2013-01-25  castaglia <castaglia>
 
-2013-01-09 18:03  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).
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/ban.pm:
-	  Updating mod_sftp+mod_ban MaxLoginAttempts regression test for
-	  Bug#3863.
+2013-01-25  castaglia <castaglia>
 
-2013-01-09 16:43  castaglia
+	* src/fsio.c: Typo.
 
-	* doc/contrib/mod_tls.html:
-	  Adding description of TLSMasqueradeAddress directive to mod_tls
-	  docs.
+2013-01-25  castaglia <castaglia>
 
-2013-01-09 16:21  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.
 
-	* doc/modules/mod_core.html:
-	  Typo.
+2013-01-25  castaglia <castaglia>
 
-2013-01-09 15:53  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Adding
+	regression test for Bug#3881.
 
-	* NEWS, RELEASE_NOTES, contrib/mod_tls.c, modules/mod_core.c:
-	  Bug#3862 - Support for FTPS-specific MasqueradeAddress
-	  functionality.
+2013-01-25  castaglia <castaglia>
 
-2013-01-09 15:52  castaglia
+	* NEWS, contrib/mod_ifsession.c: Bug#3881 - <Directory> sections
+	within <IfGroup> sections not applied as expected.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Adding regression test for TLSMasqueradeAddress directive; see
-	  Bug#3862.
+2013-01-25  castaglia <castaglia>
 
-2013-01-09 15:19  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.
 
-	* tests/: tests.pl, t/config/masqueradeaddress.t,
-	  t/lib/ProFTPD/Tests/Config/MasqueradeAddress.pm:
-	  Adding unit tests for the MaqueradeAddress directive.
+2013-01-25  castaglia <castaglia>
 
-2013-01-09 14:53  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.
 
-	* contrib/mod_ban.c:
-	  Provide more information for the 'mod_ban.ban.expired' event.
+2013-01-24  castaglia <castaglia>
 
-2013-01-09 12:53  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.
 
-	* doc/howto/Controls.html:
-	  Fix typo.
+2013-01-24  castaglia <castaglia>
 
-2013-01-08 23:48  castaglia
+	* NEWS, contrib/mod_ifsession.c: Bug#3882 - DisplayLogin with an
+	absolute path does not work properly within an <IfGroup> section.
 
-	* contrib/mod_sftp/fxp.c:
-	  Aborting an SFTP directory listing is always an error.
+2013-01-24  castaglia <castaglia>
 
-2013-01-08 16:32  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.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding an ExtendedLog/LogFormat %f test for SFTP transfers in a
-	  chrooted session.
+2013-01-24  castaglia <castaglia>
 
-2013-01-08 14:23  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Adding
+	regression test for Bug#3882.
 
-	* contrib/mod_tls.c:
-	  Fix erroneous "renegotiation accepted" TLSLog messages for data
-	  transfers.
+2013-01-24  castaglia <castaglia>
 
-2013-01-08 13:03  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Make the
+	mod_ifsession tests pass properly on MacOSX.
 
-	* contrib/mod_sftp/fxp.c:
-	  Make sure that we dispatch a MLSD command for aborted SFTP
-	  directory listings.
+2013-01-24  castaglia <castaglia>
 
-2013-01-08 12:29  castaglia
+	* src/fsio.c: Add trace logging for the pr_fsio_is_nfs() function,
+	for easier analysis.
 
-	* 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-23  castaglia <castaglia>
 
-2013-01-07 23:01  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.
 
-	* contrib/mod_ban.c:
-	  Backporting minor memory leak fix from trunk.
+2013-01-22  castaglia <castaglia>
 
-2013-01-07 22:59  castaglia
+	* contrib/mod_sftp/fxp.c: Increase subpool size for SFTP packets to
+	128 bytes.
 
-	* 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-22  castaglia <castaglia>
 
-2013-01-07 22:56  castaglia
+	* contrib/mod_sftp/fxp.c: Fleshing out the support for various
+	v5/v6-specific attributes.
 
-	* 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-22  castaglia <castaglia>
 
-2013-01-07 16:20  castaglia
+	* contrib/mod_sftp/msg.c: Log the errno value from backtrace(3), if
+	we fail to get a backtrace from it.
 
-	* doc/howto/Rewrite.html:
-	  Another time-related mod_rewrite config/trick.
+2013-01-22  castaglia <castaglia>
 
-2013-01-07 16:10  castaglia
+	* src/main.c: Wrong datatype for backtrace(3) return value.
 
-	* doc/howto/Rewrite.html:
-	  Start adding some time-related mod_rewrite examples, now that
-	  mod_rewrite supports time variables.
+2013-01-22  castaglia <castaglia>
 
-2013-01-07 15:59  castaglia
+	* src/main.c: Log the errors we get from backtrace(3) and
+	backtrace_symbols(3), if any.
 
-	* 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-21  castaglia <castaglia>
 
-2013-01-07 15:00  castaglia
+	* modules/mod_xfer.c: Reduce unnecessary logging of EEXIST cases
+	when adding command notes.
 
-	* doc/contrib/mod_geoip.html:
-	  Added description of the GeoIPPolicy directive to the mod_geoip
-	  docs.
+2013-01-21  castaglia <castaglia>
 
-2013-01-07 14:55  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Adding
+	regression test for Bug#3879.
 
-	* NEWS, RELEASE_NOTES, contrib/mod_geoip.c:
-	  Bug#3860 - Add a default deny option for mod_geoip.
+2013-01-21  castaglia <castaglia>
 
-2013-01-07 14:42  castaglia
+	* NEWS, contrib/mod_quotatab_sql.c: Bug#3879 - Allow additional
+	columns in SQLNamedQuery queries used for quota limits and tallies.
 
-	* doc/modules/mod_core.html:
-	  Adding descriptions for the Port and <VirtualHost> directives to
-	  the mod_core docs.
+2013-01-21  castaglia <castaglia>
 
-2013-01-07 13:33  castaglia
+	* contrib/mod_sftp/fxp.c: Wrong cmd_rec in fix for Bug#3874.
 
-	* doc/modules/mod_core.html:
-	  Add description for DefaultAddress to the mod_core docs.
+2013-01-21  castaglia <castaglia>
 
-2013-01-07 13:26  castaglia
+	* NEWS, contrib/mod_quotatab.c: Bug#3878 - QuotaExcludeFilter not
+	honored for uploads when 'hard' limits are used.
 
-	* doc/contrib/mod_geoip.html:
-	  Cut-n-pasto.
+2013-01-21  castaglia <castaglia>
 
-2013-01-07 13:25  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Adding
+	regression test for Bug#3878.
 
-	* doc/contrib/mod_geoip.html:
-	  Include links to some of the MaxMind documentation on e.g.
-	  country codes and continents.
+2013-01-19  castaglia <castaglia>
 
-2013-01-07 13:08  castaglia
+	* contrib/mod_geoip.c: Bug#3877 - Fix GeoIPPolicy logging by making
+	it a trace log message.
 
-	* doc/modules/mod_core.html:
-	  Add the MasqueradeAddress description to the mod_core docs.
+2013-01-19  castaglia <castaglia>
 
-2013-01-07 12:31  castaglia
+	* src/parser.c: Fix possible segfault due to null pointer
+	dereference.
 
-	* modules/mod_facts.c:
-	  Backporting additional fix for Bug#3859 from trunk to 1.3.4
-	  branch.
+2013-01-19  castaglia <castaglia>
 
-2013-01-07 12:30  castaglia
+	* configure: Updated configure.
 
-	* modules/mod_facts.c:
-	  Additional fix for Bug#3859.
+2013-01-19  castaglia <castaglia>
 
-2013-01-07 11:45  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.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm:
-	  Another regression test for Bug#3859, this time using
-	  "ShowSymlinks off".
+2013-01-18  castaglia <castaglia>
 
-2013-01-07 10:52  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.
 
-	* NEWS, modules/mod_facts.c:
-	  Backport of fix for Bug#3859 to 1.3.4 branch.
+2013-01-18  castaglia <castaglia>
 
-2013-01-07 10:52  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
+	test for Bug#3869 using "TLSSessionCache off".
 
-	* NEWS, modules/mod_facts.c:
-	  Bug#3859 - MLSD fails to show symlinks when ShowSymlinks is not
-	  configured.
+2013-01-18  castaglia <castaglia>
 
-2013-01-07 10:26  castaglia
+	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3869 - Use longer SSL
+	session cache expiration by default.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm:
-	  Adding regression test for Bug#3859.
+2013-01-16  castaglia <castaglia>
 
-2013-01-07 09:43  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
+	test for Bug#3873.
 
-	* 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-16  castaglia <castaglia>
 
-2013-01-06 08:20  castaglia
+	* NEWS, contrib/mod_sftp/fxp.c: Bug#3873 - Provide FTP response code
+	in ExtendedLog for failed SFTP REMOVE request.
 
-	* modules/Makefile.in:
-	  Backporting build fix from trunk.
+2013-01-16  castaglia <castaglia>
 
-2013-01-06 08:18  castaglia
+	* doc/modules/mod_xfer.html: Updated HiddenStores docs per changes
+	for Bug#3872.
 
-	* 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-16  castaglia <castaglia>
 
-2013-01-05 17:48  castaglia
+	* NEWS, RELEASE_NOTES, modules/mod_xfer.c: Bug#3872 - Use
+	HiddenStores directive to customise suffix.
 
-	* 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-16  castaglia <castaglia>
 
-2013-01-05 16:13  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.
 
-	* 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-16  castaglia <castaglia>
 
-2013-01-05 14:49  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Updated the
+	HiddenStores tests to use testcase-specific logging.
 
-	* contrib/mod_sftp/fxp.c:
-	  Remove spurious/unnecessary event generation (this particular
-	  event is generated elsewhere); bad patch application?
+2013-01-16  castaglia <castaglia>
 
-2013-01-05 08:30  castaglia
+	* doc/modules/mod_xfer.html: Fleshing out more directive
+	descriptions in the mod_xfer docs.
 
-	* src/pool.c:
-	  Bug#3857 - ProFTPD 1.3.5rc1 API test suite fails.
+2013-01-15  castaglia <castaglia>
 
-2013-01-04 19:36  castaglia
+	* contrib/mod_tls.c: Remove duplicate setting of SSL session context
+	ID.
 
-	* 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.
+2013-01-15  castaglia <castaglia>
 
-	  This will teach me to actually run the API tests before
-	  releasing.  Sigh.
+	* 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-04 16:30  castaglia
+2013-01-15  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Slightly better approach (avoids having root privs while writing
-	  out a log; that's not needed).
+	* contrib/mod_tls_shmcache.c: Minor logging nits/cleanup for the
+	mod_tls_shmcache module.
 
-2013-01-04 16:26  castaglia
+2013-01-15  castaglia <castaglia>
 
-	* src/: dirtree.c, 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.
+	* 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-04 15:07  castaglia
+2013-01-15  castaglia <castaglia>
 
-	* doc/howto/Scoreboard.html:
-	  One more tool affected by disabling of scoreboarding.
+	* contrib/mod_tls.c: Fix incorrect format string.
 
-2013-01-04 15:03  castaglia
+2013-01-15  castaglia <castaglia>
 
-	* include/version.h:
-	  Bumped version for the next RC.
+	* 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-04 14:18  castaglia
+2013-01-15  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updated ChangeLog.
+	* NEWS, contrib/mod_sftp/fxp.c: Bug#3871 - REALPATH SFTP request not
+	properly handled by <Limit DIRS> configuration.
 
-2013-01-04 14:17  castaglia
+2013-01-15  castaglia <castaglia>
 
-	* locale/files.txt:
-	  Updates files.txt, for localization efforts.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding
+	regression/reproduction test for Bug#3871.
 
-2013-01-04 14:16  castaglia
+2013-01-15  castaglia <castaglia>
 
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Updating versions, dates, getting ready to release 1.3.5rc1.
+	* modules/mod_core.c: Use the proper C_ macros, rather than
+	hardcoded strings, in more places.
 
-2013-01-04 13:47  castaglia
+2013-01-15  castaglia <castaglia>
 
-	* NEWS, src/dirtree.c:
-	  Backport of fix for Bug#3855 to 1.3.4 branch.
+	* contrib/mod_tls.c: Use a better variable name here.
 
-2013-01-04 13:47  castaglia
+2013-01-15  castaglia <castaglia>
 
-	* NEWS, src/dirtree.c:
-	  Bug#3855 - Restarting proftpd may cause Include files not to be
-	  parsed.
+	* src/fsio.c: Add trace logging of the arguments to the
+	pr_fsio_smkdir() function, for future debugging/analysis.
 
-2013-01-04 12:32  castaglia
+2013-01-15  castaglia <castaglia>
 
-	* doc/modules/mod_auth.html:
-	  Add CreateHome description to the mod_auth docs.
+	* 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-04 12:19  castaglia
+2013-01-15  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm:
-	  Minor nits, adding delays to avoid races to make the test more
-	  robust.
+	* 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-04 12:12  castaglia
+2013-01-14  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.
+	* NEWS, contrib/mod_sftp/dhparams.pem, contrib/mod_tls.c: Bug#3779 -
+	Generate new DH parameters for mod_tls and mod_sftp.
 
-2013-01-04 11:34  castaglia
+2013-01-14  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.
+	* NEWS, modules/mod_core.c: Bug#3870 - Handling of OPTS command can
+	lead to crash.
 
-2013-01-04 07:34  castaglia
+2013-01-14  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/STOR.pm:
-	  Using assert_transfer_ok() in more tests.
+	* 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-03 22:15  castaglia
+2013-01-14  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/APPE.pm:
-	  Using assert_transfer_ok() in more tests.
+	* src/fsio.c: Remove erroneous errno assignment.
 
-2013-01-03 22:10  castaglia
+2013-01-14  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/UseSendfile.pm:
-	  Using assert_transfer_ok() in more tests.
+	* 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-03 22:02  castaglia
+2013-01-14  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm:
-	  Using assert_transfer_ok() in more tests.
+	* contrib/mod_tls.c: Fix minor nits in comments; no functional
+	change.
 
-2013-01-03 21:16  castaglia
+2013-01-14  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm:
-	  Start using the assert_transfer_ok() function in more tests.
+	* contrib/mod_tls.c: Additional tweak (to avoid null pointer
+	dereference) for Bug#3868.
 
-2013-01-03 14:40  castaglia
+2013-01-14  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
-	  Make some of the ExtendedLog tests more robust.
+	* contrib/mod_tls.c: Typo.
 
-2013-01-03 14:35  castaglia
+2013-01-14  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Guard the HOST implementation with #ifdefs, as it is not yet
-	  ready for public use.
+	* 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-03 14:29  castaglia
+2013-01-14  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.
+	* 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-03 14:16  castaglia
+2013-01-13  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'.
+	* doc/contrib/mod_tls.html: Improvide the TLSDHParamFile
+	documentation, in light of Bug#3868.
 
-2013-01-03 14:01  castaglia
+2013-01-13  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).
+	* 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-03 13:53  castaglia
+2013-01-13  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm:
-	  Updated tests to use testcase-specific logging.
+	* NEWS, contrib/mod_tls.c: Bug#3868 - Only first DH param in
+	TLSDHParamFile is used, regardless of requested keylength.
 
-2013-01-03 13:51  castaglia
+2013-01-13  castaglia <castaglia>
 
-	* contrib/mod_sftp/: scp.c:
-	  Remove debugging cruft.
+	* NEWS, contrib/ftpasswd: Bug#3867 - ftpasswd fails with "Permission
+	denied" when adding subsequent passwd/group entries.
 
-2013-01-03 13:50  castaglia
+2013-01-12  castaglia <castaglia>
 
-	* contrib/mod_sftp/scp.c:
-	  Backporting fix from trunk.
+	* tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm: Now we have a bug
+	number assigned.
 
-2013-01-03 13:49  castaglia
+2013-01-12  castaglia <castaglia>
 
-	* contrib/mod_sftp/scp.c:
-	  Fix regression caught by testsuite.
+	* tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm: Flesh out the first
+	ftpasswd regression test.
 
-2013-01-03 13:16  castaglia
+2013-01-12  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.
+	* 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-03 12:20  castaglia
+2013-01-11  castaglia <castaglia>
 
-	* contrib/mod_sql.c, contrib/mod_sftp/fxp.c, modules/mod_log.c:
-	  Fix another regression caught by the testsuite, concerning the
-	  handling of the %F LogFormat variable.
+	* tests/t/contrib/ftpasswd.t,
+	tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm: Start working on
+	ftpasswd unit tests.
 
-2013-01-03 11:12  castaglia
+2013-01-11  castaglia <castaglia>
 
-	* src/event.c:
-	  Backporting fix for regression from trunk.
+	* contrib/ftpasswd: Bump the ftpasswd version, given the addition of
+	support for other password hash types.
 
-2013-01-03 11:12  castaglia
+2013-01-11  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.
+	* NEWS, contrib/mod_ban.c: Bug#3866 - Issuing invalid 'ftpdctl ban'
+	request causes segfault.
 
-2013-01-03 10:12  castaglia
+2013-01-11  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Backporting of regression fix from trunk.
+	* NEWS, contrib/mod_ban.c: Bug#3865 - BanEngine not set in "server
+	config" results in "mod_ban not enabled" ftpdctl error.
 
-2013-01-03 10:10  castaglia
+2013-01-11  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.
+	* modules/mod_core.c: Stylistic nits; no functional change.
 
-2013-01-03 10:08  castaglia
+2013-01-10  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Stylistic nit (extraneous whitespace); no functional change.
+	* 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-03 09:22  castaglia
+2013-01-10  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.
+	* src/fsio.c: Log a warning if we can't rename the directory in
+	pr_fsio_smkdir(), too.
 
-2013-01-03 09:04  castaglia
+2013-01-10  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.
+	* 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-02 17:17  castaglia
+2013-01-10  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.
+	* src/fsio.c: Fix regression with MKD commands (due to Bug#3841).
 
-2013-01-02 17:13  castaglia
+2013-01-10  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).
+	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Added needed regression
+	test for sending MKD for a chrooted session.
 
-2013-01-02 16:44  castaglia
+2013-01-10  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.
+	* 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-02 16:43  castaglia
+2013-01-10  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/TestSuite/Utils.pm:
-	  Expose the utility function for obtaining the list of compiled-in
-	  modules.
+	* 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-02 16:21  castaglia
+2013-01-10  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.
+	* 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-02 16:14  castaglia
+2013-01-10  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/ban.pm: Updating
+	mod_sftp+mod_ban MaxLoginAttempts regression test for Bug#3863.
 
-2013-01-02 15:50  castaglia
+2013-01-10  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Remove the SSL_COMP_add_compression_method() ifdef; it won't be
-	  used.
+	* doc/contrib/mod_tls.html: Adding description of
+	TLSMasqueradeAddress directive to mod_tls docs.
 
-2013-01-02 15:46  castaglia
+2013-01-10  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Typo.
+	* doc/modules/mod_core.html: Typo.
 
-2013-01-02 15:45  castaglia
+2013-01-09  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.
+	* NEWS, RELEASE_NOTES, contrib/mod_tls.c, modules/mod_core.c: 
+	Bug#3862 - Support for FTPS-specific MasqueradeAddress
+	functionality.
 
-	  Disable SSL compression.
+2013-01-09  castaglia <castaglia>
 
-2013-01-02 15:02  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
+	test for TLSMasqueradeAddress directive; see Bug#3862.
 
-	* 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-09  castaglia <castaglia>
 
-2013-01-02 14:38  castaglia
+	* tests/t/config/masqueradeaddress.t,
+	tests/t/lib/ProFTPD/Tests/Config/MasqueradeAddress.pm,
+	tests/tests.pl: Adding unit tests for the MaqueradeAddress
+	directive.
 
-	* contrib/mod_tls.c:
-	  Testsuite caught a regression in the handling of the
-	  TLSPKCS12File directive.
+2013-01-09  castaglia <castaglia>
 
-2013-01-02 14:24  castaglia
+	* contrib/mod_ban.c: Provide more information for the
+	'mod_ban.ban.expired' event.
 
-	* 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-09  castaglia <castaglia>
 
-2013-01-02 13:56  castaglia
+	* doc/howto/Controls.html: Fix typo.
 
-	* 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-09  castaglia <castaglia>
 
-2013-01-02 13:50  castaglia
+	* contrib/mod_sftp/fxp.c: Aborting an SFTP directory listing is
+	always an error.
 
-	* 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-09  castaglia <castaglia>
 
-2013-01-02 13:20  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding an
+	ExtendedLog/LogFormat %f test for SFTP transfers in a chrooted
+	session.
 
-	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm:
-	  Updating .ftpaccess file tests to use testcase-specific logging.
+2013-01-08  castaglia <castaglia>
 
-2013-01-02 13:15  castaglia
+	* contrib/mod_tls.c: Fix erroneous "renegotiation accepted" TLSLog
+	messages for data transfers.
 
-	* 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-08  castaglia <castaglia>
 
-2013-01-02 13:08  castaglia
+	* contrib/mod_sftp/fxp.c: Make sure that we dispatch a MLSD command
+	for aborted SFTP directory listings.
 
-	* RELEASE_NOTES:
-	  Updated the release notes, preparing for a release.
+2013-01-08  castaglia <castaglia>
 
-2013-01-02 11:06  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.
 
-	* doc/contrib/mod_quotatab.html:
-	  Adding description of QuotaDefault directive to mod_quotatab
-	  docs.
+2013-01-08  castaglia <castaglia>
 
-2013-01-02 09:40  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).
 
-	* contrib/mod_tls.c:
-	  Fix compiler warning about unused variable.
+2013-01-08  castaglia <castaglia>
 
-2013-01-02 09:39  castaglia
+	* src/inet.c: Quell compiler warning about unused variable on
+	platforms which do not support the TCP keepalive macros (e.g. Mac
+	OSX).
 
-	* tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm:
-	  Start using testcase-specific logging for these tests.
+2013-01-08  castaglia <castaglia>
 
-2013-01-02 09:38  castaglia
+	* doc/howto/Rewrite.html: Another time-related mod_rewrite
+	config/trick.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm:
-	  Fix some Perl warnings when running the mod_exec tests.
+2013-01-08  castaglia <castaglia>
 
-2012-12-28 18:49  castaglia
+	* doc/howto/Rewrite.html: Start adding some time-related mod_rewrite
+	examples, now that mod_rewrite supports time variables.
 
-	* doc/contrib/mod_tls.html:
-	  Typo.
+2013-01-07  castaglia <castaglia>
 
-2012-12-28 17:20  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.
 
-	* tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm:
-	  Updated/fixed tests.
+2013-01-07  castaglia <castaglia>
 
-2012-12-28 17:16  castaglia
+	* doc/contrib/mod_geoip.html: Added description of the GeoIPPolicy
+	directive to the mod_geoip docs.
 
-	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
-	  Use the assert_transfer_ok() function in a few more places.
+2013-01-07  castaglia <castaglia>
 
-2012-12-28 17:08  castaglia
+	* NEWS, RELEASE_NOTES, contrib/mod_geoip.c: Bug#3860 - Add a default
+	deny option for mod_geoip.
 
-	* tests/t/lib/ProFTPD/Tests/Config/Trace.pm:
-	  Updated tests to deal with Trace logging changes.  Added
-	  testcase-specific logging.
+2013-01-07  castaglia <castaglia>
 
-2012-12-28 16:57  castaglia
+	* doc/modules/mod_core.html: Adding descriptions for the Port and
+	<VirtualHost> directives to the mod_core docs.
 
-	* tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm:
-	  Update tests to deal with different platforms' symlink permission
-	  defaults.
+2013-01-07  castaglia <castaglia>
 
-2012-12-28 16:47  castaglia
+	* doc/modules/mod_core.html: Add description for DefaultAddress to
+	the mod_core docs.
 
-	* tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm:
-	  Update tests to use testcase-specific logging, and the
-	  assert_transfer_ok() function.
+2013-01-07  castaglia <castaglia>
 
-2012-12-28 16:45  castaglia
+	* doc/contrib/mod_geoip.html: Cut-n-pasto.
 
-	* src/privs.c:
-	  Testsuite caught another regression; now fixed.
+2013-01-07  castaglia <castaglia>
 
-2012-12-28 16:12  castaglia
+	* doc/contrib/mod_geoip.html: Include links to some of the MaxMind
+	documentation on e.g. country codes and continents.
 
-	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/DELE.pm:
-	  Updating test to use testcase-specific logging.
+2013-01-07  castaglia <castaglia>
 
-2012-12-28 16:11  castaglia
+	* doc/modules/mod_core.html: Add the MasqueradeAddress description
+	to the mod_core docs.
 
-	* src/fsio.c:
-	  Backporting fix from trunk.
+2013-01-07  castaglia <castaglia>
 
-2012-12-28 16:11  castaglia
+	* modules/mod_facts.c: Additional fix for Bug#3859.
 
-	* src/fsio.c:
-	  When safely creating directories, allow the parent directory path
-	  to be a symlink.
+2013-01-07  castaglia <castaglia>
 
-2012-12-28 15:28  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Another regression
+	test for Bug#3859, this time using "ShowSymlinks off".
 
-	* tests/t/lib/ProFTPD/Tests/Config/DirFakeUser.pm:
-	  Fixing up tests.
+2013-01-07  castaglia <castaglia>
 
-2012-12-28 15:20  castaglia
+	* NEWS, modules/mod_facts.c: Bug#3859 - MLSD fails to show symlinks
+	when ShowSymlinks is not configured.
 
-	* modules/mod_facts.c:
-	  Regression for Bug#3715 now fixed.
+2013-01-07  castaglia <castaglia>
 
-2012-12-28 15:17  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Adding regression test
+	for Bug#3859.
 
-	* modules/mod_facts.c:
-	  Caching/preserving of errno values, some stylistic nits.
+2013-01-07  castaglia <castaglia>
 
-2012-12-28 14:40  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm:
-	  Fix testware issue on Linux; update tests to use
-	  assert_transfer_ok().
+2013-01-06  castaglia <castaglia>
 
-2012-12-28 14:31  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm:
-	  Updating to use testcase-specific logging.
+2013-01-06  castaglia <castaglia>
 
-2012-12-28 14:22  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.
 
-	* src/dirtree.c:
-	  Testsuite caught a regression; now fixed.
+2013-01-06  castaglia <castaglia>
 
-2012-12-28 14:09  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).
 
-	* src/dirtree.c:
-	  Stylistic nits; no functional change.
+2013-01-05  castaglia <castaglia>
 
-2012-12-28 13:38  castaglia
+	* contrib/mod_sftp/fxp.c: Remove spurious/unnecessary event
+	generation (this particular event is generated elsewhere); bad patch
+	application?
 
-	* doc/howto/Compiling.html:
-	  Adding more compiling FAQs.
+2013-01-05  castaglia <castaglia>
 
-2012-12-28 12:55  castaglia
+	* src/pool.c: Bug#3857 - ProFTPD 1.3.5rc1 API test suite fails.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/PASS.pm:
-	  Fill in the testcase for a password which contains spaces.
+2013-01-05  castaglia <castaglia>
 
-2012-12-28 12:52  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.
 
-	* modules/mod_core.c:
-	  Don't advertise support for the HOST command just yet, as it has
-	  not been completely implemented as yet.
+2013-01-05  castaglia <castaglia>
 
-2012-12-28 11:54  castaglia
+	* src/dirtree.c: Slightly better approach (avoids having root privs
+	while writing out a log; that's not needed).
 
-	* tests/t/lib/ProFTPD/Tests/Modules/: mod_tls.pm, mod_wrap2_sql.pm:
+2013-01-05  castaglia <castaglia>
 
-	  Fix re-declaration of variables.
+	* 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.
 
-2012-12-28 11:20  castaglia
+2013-01-04  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm:
-	  Fix re-declaration of variable.
+	* doc/howto/Scoreboard.html: One more tool affected by disabling of
+	scoreboarding.
 
-2012-12-28 11:19  castaglia
+2013-01-04  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm:
-	  Quell compiler warning about use of uninitialized value.
+	* include/version.h: Bumped version for the next RC.
 
-2012-12-28 11:16  castaglia
+2013-01-04  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/: Modules/mod_ban.pm, Signals/HUP.pm:
-	  Now that server_restart() is provided by the Utils class, these
-	  tests no longer need to provide their own implementations.
+	* ChangeLog: Updated ChangeLog.
 
-2012-12-28 09:40  castaglia
+2013-01-04  castaglia <castaglia>
 
-	* src/cmd.c:
-	  Quell compiler warning.
+	* locale/files.txt: Updates files.txt, for localization efforts.
 
-2012-12-28 09:34  castaglia
+2013-01-04  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Remove unused variable, quelling compiler warning.
+	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Updating
+	versions, dates, getting ready to release 1.3.5rc1.
 
-2012-12-28 09:33  castaglia
+2013-01-04  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Remove unused variable.
+	* NEWS, src/dirtree.c: Bug#3855 - Restarting proftpd may cause
+	Include files not to be parsed.
 
-2012-12-27 18:56  castaglia
+2013-01-04  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.
+	* doc/modules/mod_auth.html: Add CreateHome description to the
+	mod_auth docs.
 
-2012-12-27 18:37  castaglia
+2013-01-04  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Minor nits; no functional change.
+	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Minor nits, adding
+	delays to avoid races to make the test more robust.
 
-2012-12-27 16:03  castaglia
+2013-01-04  castaglia <castaglia>
 
-	* NEWS, include/fsio.h, contrib/mod_sftp/fxp.c,
-	  contrib/mod_sftp/scp.c, modules/mod_core.c, src/fsio.c:
-	  Backport of fix for Bug#3841 to 1.3.4 branch.
+	* 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.
 
-2012-12-27 16:02  castaglia
+2013-01-04  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.
+	* 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.
 
-2012-12-27 15:55  castaglia
+2013-01-04  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm:
-	  Some additional regression tests for MKD/XMKD commands.
+	* tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Using
+	assert_transfer_ok() in more tests.
 
-2012-12-27 15:01  castaglia
+2013-01-04  castaglia <castaglia>
 
-	* doc/howto/FTP.html:
-	  Provide links to the mod_tls docs where appropriate.
+	* tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
+	tests/t/lib/ProFTPD/Tests/Config/UseSendfile.pm: Using
+	assert_transfer_ok() in more tests.
 
-2012-12-27 14:46  castaglia
+2013-01-04  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Remove duplicate event.
+	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Using
+	assert_transfer_ok() in more tests.
 
-2012-12-27 14:37  castaglia
+2013-01-04  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Update mod_sftp to use the pr_cmd_set_name() function as well.
+	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Start using the
+	assert_transfer_ok() function in more tests.
 
-2012-12-27 14:31  castaglia
+2013-01-03  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.
+	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Make some of the
+	ExtendedLog tests more robust.
 
-2012-12-27 14:30  castaglia
+2013-01-03  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).
+	* modules/mod_core.c: Guard the HOST implementation with #ifdefs, as
+	it is not yet ready for public use.
 
-2012-12-27 14:29  castaglia
+2013-01-03  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Backporting fix from trunk: when changing the name of a cmd_rec,
-	  make sure the cmd_id is also reset.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Fixed failing
+	test, added new regression test.  Updated tests to use testcase-
+	specific logging.
 
-2012-12-27 11:15  castaglia
+2013-01-03  castaglia <castaglia>
 
-	* doc/howto/TLS.html:
-	  Add another FileZilla-related mod_tls FAQ.
+	* contrib/mod_sql.c: Don't log an error about having no SQLAuthTypes
+	configured if SQLAuthenticate has been explicitly configured to be
+	'off'.
 
-2012-12-27 10:59  castaglia
+2013-01-03  castaglia <castaglia>
 
-	* modules/: mod_core.c, mod_log.c:
-	  Try to provide better error messages.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/wrap2.pm: Update tests
+	to use testcase-specific logging.  Fix test code issue (bad
+	expectation).
 
-2012-12-27 10:50  castaglia
+2013-01-03  castaglia <castaglia>
 
-	* doc/howto/Logging.html:
-	  Adding logging FAQ about FIFOs.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Updated
+	tests to use testcase-specific logging.
 
-2012-12-27 10:29  castaglia
+2013-01-03  castaglia <castaglia>
 
-	* doc/howto/FTP.html:
-	  Add FAQ to FTP howto, talking about renaming of directories
-	  across mount points.
+	* contrib/mod_sftp/scp.c: Remove debugging cruft.
 
-2012-12-26 16:38  castaglia
+2013-01-03  castaglia <castaglia>
 
-	* modules/: mod_core.c:
-	  Updating mod_core to use the new pr_fsio_lchown() function.
+	* contrib/mod_sftp/scp.c: Fix regression caught by testsuite.
 
-2012-12-26 15:38  castaglia
+2013-01-03  castaglia <castaglia>
 
-	* modules/mod_log.c:
-	  Backport of errno logging fix from trunk.
+	* 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.
 
-2012-12-26 15:37  castaglia
+2013-01-03  castaglia <castaglia>
 
-	* modules/mod_log.c:
-	  Report the correct error reason if we can't open an ExtendedLog.
+	* 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.
 
-2012-12-26 15:33  castaglia
+2013-01-03  castaglia <castaglia>
 
-	* include/fsio.h, modules/mod_xfer.c, src/fsio.c:
-	  Backport part of the fix for Bug#3841 from trunk (i.e. adding
-	  pr_fsio_lchown()).
+	* 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.
 
-2012-12-26 15:18  castaglia
+2013-01-03  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.
+	* 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.
 
-2012-12-26 14:36  castaglia
+2013-01-03  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.
+	* src/fsio.c: Stylistic nit (extraneous whitespace); no functional
+	change.
 
-2012-12-26 09:21  castaglia
+2013-01-03  castaglia <castaglia>
 
-	* doc/modules/mod_cap.html:
-	  Adding description of the new CapabilitiesRootRevoke directive.
+	* 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.
 
-2012-12-24 14:52  castaglia
+2013-01-03  castaglia <castaglia>
 
-	* src/event.c:
-	  Merging change from trunk which fixes ordering of event
-	  notification subscriptions.
+	* 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.
 
-2012-12-24 14:51  castaglia
+2013-01-03  castaglia <castaglia>
 
-	* src/event.c:
-	  Fix the handling of event notification subscription.
-	  Specifically, modules that were loaded last would receive the
-	  event notification last.
+	* 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.
 
-	  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.
+2013-01-03  castaglia <castaglia>
 
-	  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.
+	* 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).
 
-2012-12-21 13:45  castaglia
+2013-01-03  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm:
-	  Adding regression tests for Bug#3839.
+	* 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.
 
-2012-12-21 13:44  castaglia
+2013-01-03  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Expose the utility
+	function for obtaining the list of compiled-in modules.
 
-2012-12-21 13:18  castaglia
+2013-01-03  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Fix test code
+	issues so that all of the mod_wrap2_file tests pass.
 
-2012-12-21 10:21  castaglia
+2013-01-03  castaglia <castaglia>
 
-	* RELEASE_NOTES, doc/modules/mod_auth.html:
-	  Adding description of new AllowChrootSymlinks directive to
-	  mod_auth docs.
+	* 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.
 
-2012-12-20 15:54  castaglia
+2013-01-02  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, modules/mod_auth.c:
-	  Bug#3852 - Support directive for ignoring symlink DefaultRoot
-	  directories.
+	* contrib/mod_tls.c: Remove the SSL_COMP_add_compression_method()
+	ifdef; it won't be used.
 
-2012-12-20 15:53  castaglia
+2013-01-02  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/: Logins.pm, Config/DefaultRoot.pm:
-	  Checking in the regression tests for the new AllowChrootSymlinks
-	  directive, part of Bug#3852.
+	* RELEASE_NOTES: Typo.
 
-2012-12-18 14:03  castaglia
+2013-01-02  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/keys.c:
-	  Backport of fix for Bug#3851 to 1.3.4 branch.
+	* 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.
 
-2012-12-18 14:03  castaglia
+2013-01-02  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/keys.c:
-	  Bug#3851 - SFTPPassPhraseProvider fails due to incorrect pointer.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Fix some
+	failing mod_sql_sqlite tests by providing the necessary custom
+	SQLUserInfo queries.
 
-2012-12-18 14:01  castaglia
+2013-01-02  castaglia <castaglia>
 
-	* tests/t/: etc/modules/mod_sftp/passphrase_host_dsa_key,
-	  etc/modules/mod_sftp/passphrase_host_dsa_key.pub,
-	  etc/modules/mod_sftp/passphrase_host_rsa_key,
-	  etc/modules/mod_sftp/passphrase_host_rsa_key.pub,
-	  etc/modules/mod_sftp/sftp-get-passphrase.pl,
-	  lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding regression test for SFTPPassPhraseProvider (Bug#3851).
+	* contrib/mod_tls.c: Testsuite caught a regression in the handling
+	of the TLSPKCS12File directive.
 
-2012-12-13 16:16  castaglia
+2013-01-02  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/ftpasswd, doc/contrib/ftpasswd.html:
+	* 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.
 
-	  Bug#3850 - ftpasswd should support generating SHA-256, SHA-512
-	  hashes where possible.
+2013-01-02  castaglia <castaglia>
 
-2012-12-13 15:56  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).
 
-	* contrib/mod_sftp/: auth.c, compress.c, packet.c:
-	  Forgot to update copyright dates in the modified files.
+2013-01-02  castaglia <castaglia>
 
-2012-12-13 15:05  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.
 
-	* contrib/mod_sftp/: auth.c, compress.c, fxp.c, packet.c, scp.c:
-	  Backport some of the mod_sftp event generation code from trunk.
+2013-01-02  castaglia <castaglia>
 
-2012-12-13 15:05  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm: Updating
+	.ftpaccess file tests to use testcase-specific logging.
 
-	* contrib/mod_sftp/: auth.c, compress.c, fxp.c, packet.c, 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.
+2013-01-02  castaglia <castaglia>
 
-2012-12-13 06:50  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.
 
-	* doc/howto/TLS.html:
-	  Add missing closing font tag.
+2013-01-02  castaglia <castaglia>
 
-2012-12-11 11:41  castaglia
+	* RELEASE_NOTES: Updated the release notes, preparing for a release.
 
-	* doc/utils/index.html:
-	  Typo.
+2013-01-02  castaglia <castaglia>
 
-2012-12-10 16:14  castaglia
+	* doc/contrib/mod_quotatab.html: Adding description of QuotaDefault
+	directive to mod_quotatab docs.
 
-	* configure:
-	  Updated configure.
+2013-01-02  castaglia <castaglia>
 
-2012-12-10 15:51  castaglia
+	* contrib/mod_tls.c: Fix compiler warning about unused variable.
 
-	* config.h.in, configure.in, contrib/mod_sql_mysql.c:
-	  Backporting changes from trunk, where we extend the check for
-	  MySQL functions (see Bug#3669).
+2013-01-02  castaglia <castaglia>
 
-2012-12-10 15:01  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Start using
+	testcase-specific logging for these tests.
 
-	* contrib/mod_sftp/crypto.c:
-	  Fixed typo in comment.
+2013-01-02  castaglia <castaglia>
 
-2012-12-09 20:49  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Fix some Perl
+	warnings when running the mod_exec tests.
 
-	* modules/mod_auth.c:
-	  Backporting fix from trunk: generate an event whenever we can't
-	  find the requested user name during login.
+2012-12-29  castaglia <castaglia>
 
-2012-12-09 14:04  castaglia
+	* doc/contrib/mod_tls.html: Typo.
 
-	* 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).
+2012-12-29  castaglia <castaglia>
 
-	  Generate events when our SSL/TLS handshake fails (both ctrl and
-	  data conns).
+	* tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Updated/fixed
+	tests.
 
-2012-12-09 09:52  castaglia
+2012-12-29  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).
+	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Use the
+	assert_transfer_ok() function in a few more places.
 
-2012-12-06 19:21  castaglia
+2012-12-29  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.
+	* tests/t/lib/ProFTPD/Tests/Config/Trace.pm: Updated tests to deal
+	with Trace logging changes.  Added testcase-specific logging.
 
-2012-12-06 19:18  castaglia
+2012-12-29  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/authuserfile.t,
-	  t/lib/ProFTPD/Tests/Config/AuthUserFile.pm:
-	  Adding AuthUserFile tests now.
+	* tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm: Update tests to
+	deal with different platforms' symlink permission defaults.
 
-2012-12-06 19:03  castaglia
+2012-12-29  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/TestSuite/Utils.pm:
-	  Allow for specifying empty password values for an AuthUserFile.
+	* tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm: Update tests to
+	use testcase-specific logging, and the assert_transfer_ok()
+	function.
 
-2012-12-06 18:59  castaglia
+2012-12-29  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/AuthGroupFile.pm:
-	  Updated AuthGroupFile test to use testcase-specific logging.
+	* src/privs.c: Testsuite caught another regression; now fixed.
 
-2012-12-05 21:52  castaglia
+2012-12-29  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/DELE.pm: Updating test
+	to use testcase-specific logging.
 
-2012-12-05 21:48  castaglia
+2012-12-29  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.
+	* src/fsio.c: When safely creating directories, allow the parent
+	directory path to be a symlink.
 
-2012-12-05 15:12  castaglia
+2012-12-28  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/TestSuite/Utils.pm:
-	  Add utility server_restart() function for tests which need to HUP
-	  the running daemon.
+	* tests/t/lib/ProFTPD/Tests/Config/DirFakeUser.pm: Fixing up tests.
 
-2012-12-05 13:18  castaglia
+2012-12-28  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.
+	* modules/mod_facts.c: Regression for Bug#3715 now fixed.
 
-2012-12-05 13:04  castaglia
+2012-12-28  castaglia <castaglia>
 
-	* doc/utils/index.html:
-	  Add link to ftpshut docs.  Fix typo.
+	* modules/mod_facts.c: Caching/preserving of errno values, some
+	stylistic nits.
 
-2012-12-05 07:37  castaglia
+2012-12-28  castaglia <castaglia>
 
-	* doc/contrib/mod_ban.html:
-	  Bad grammar.
+	* tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm: Fix testware
+	issue on Linux; update tests to use assert_transfer_ok().
 
-2012-12-04 11:59  castaglia
+2012-12-28  castaglia <castaglia>
 
-	* doc/utils/: ftpmail.html:
-	  Typo.
+	* tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm: Updating to use
+	testcase-specific logging.
 
-2012-12-04 11:07  castaglia
+2012-12-28  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#3846 - Avoid scanning ScoreboardFile needlessly on login if
-	  limits are not configured.
+	* src/dirtree.c: Testsuite caught a regression; now fixed.
 
-2012-12-03 18:28  castaglia
+2012-12-28  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.
+	* src/dirtree.c: Stylistic nits; no functional change.
 
-2012-12-03 18:26  castaglia
+2012-12-28  castaglia <castaglia>
 
-	* tests/t/etc/modules/mod_tls/: NOTES, dsa-ca.pem,
-	  dsa-server-cert.pem:
-	  Adding DSA server cert, for DSA-specific testing.
+	* doc/howto/Compiling.html: Adding more compiling FAQs.
 
-2012-12-03 15:55  castaglia
+2012-12-28  castaglia <castaglia>
 
-	* contrib/mod_sql.c:
-	  Debug logging of the number of fields/columns returned by the
-	  custom SQLUserInfo, for triage.
+	* tests/t/lib/ProFTPD/Tests/Commands/PASS.pm: Fill in the testcase
+	for a password which contains spaces.
 
-2012-12-03 15:54  castaglia
+2012-12-28  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.
+	* 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-03 15:11  castaglia
+2012-12-28  castaglia <castaglia>
 
-	* src/netio.c:
-	  Remove unused variable.
+	* 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-03 11:07  castaglia
+2012-12-28  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/auth.c:
-	  Backport of fix for Bug#3845 to 1.3.4 branch.
+	* tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm: Fix
+	re-declaration of variable.
 
-2012-12-03 11:06  castaglia
+2012-12-28  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/auth.c:
-	  Bug#3845 - mod_sftp does not provide response codes for %s
-	  LogFormat variable for AUTH ExtendedLog.
+	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Quell compiler
+	warning about use of uninitialized value.
 
-2012-12-03 11:04  castaglia
+2012-12-28  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding regression test for Bug#3845.
+	* 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-01 16:33  castaglia
+2012-12-28  castaglia <castaglia>
 
-	* doc/howto/ServerType.html:
-	  Updating ServerType howto to use relative links.
+	* src/cmd.c: Quell compiler warning.
 
-2012-12-01 16:32  castaglia
+2012-12-28  castaglia <castaglia>
 
-	* doc/modules/mod_core.html:
-	  Adding description of ServerType directive to mod_core docs.
+	* modules/mod_core.c: Remove unused variable, quelling compiler
+	warning.
 
-2012-12-01 16:23  castaglia
+2012-12-28  castaglia <castaglia>
 
-	* doc/howto/Debugging.html:
-	  Updating Debugging howto.
+	* 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-01 10:40  castaglia
+2012-12-28  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.
+	* src/fsio.c: Minor nits; no functional change.
 
-2012-12-01 10:39  castaglia
+2012-12-28  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.
+	* 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.
 
-	  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-27  castaglia <castaglia>
 
-2012-11-30 20:57  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Some additional
+	regression tests for MKD/XMKD commands.
 
-	* contrib/mod_sftp/fxp.c:
-	  Fix log message typos/nits.
+2012-12-27  castaglia <castaglia>
 
-2012-11-27 15:13  castaglia
+	* doc/howto/FTP.html: Provide links to the mod_tls docs where
+	appropriate.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_radius.pm:
-	  Added testcase demonstrating that use of "%u" for the home
-	  attribute works as expected.
+2012-12-27  castaglia <castaglia>
 
-	  Updated testcases to use testcase-specific logging.
+	* contrib/mod_sftp/fxp.c: Remove duplicate event.
 
-2012-11-27 09:27  castaglia
+2012-12-27  castaglia <castaglia>
 
-	* modules/mod_auth_unix.c:
-	  Adding trace logging, for better analysis of shadow/autoshadow
-	  user lookup issues.
+	* contrib/mod_sftp/fxp.c: Update mod_sftp to use the
+	pr_cmd_set_name() function as well.
 
-2012-11-21 07:50  castaglia
+2012-12-27  castaglia <castaglia>
 
-	* modules/mod_auth_unix.c:
-	  More debug logging for when user entry retrieval fails.
+	* 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-11-19 20:02  castaglia
+2012-12-27  castaglia <castaglia>
 
-	* doc/contrib/mod_sql_passwd.html:
-	  Fixed markup typo.
+	* 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-11-19 15:42  castaglia
+2012-12-27  castaglia <castaglia>
 
-	* NEWS, modules/mod_dso.c:
-	  Bug#3843 - ProFTPD should not fail when starting up due to
-	  loading same module multiple times.
+	* doc/howto/TLS.html: Add another FileZilla-related mod_tls FAQ.
 
-2012-11-19 13:31  castaglia
+2012-12-27  castaglia <castaglia>
 
-	* doc/modules/mod_dso.html:
-	  Another DSO FAQ, about the "already loaded" error for
-	  special-case modules like mod_ctrls.
+	* modules/mod_core.c, modules/mod_log.c: Try to provide better error
+	messages.
 
-2012-11-19 13:18  castaglia
+2012-12-27  castaglia <castaglia>
 
-	* doc/modules/mod_dso.html:
-	  Adding FAQ about already loaded modules (will be fixed with
-	  Bug#3843).
+	* doc/howto/Logging.html: Adding logging FAQ about FIFOs.
 
-2012-11-16 09:38  castaglia
+2012-12-27  castaglia <castaglia>
 
-	* modules/: mod_auth_unix.c:
-	  Log, at debug level 3, when getspnam(3) and getpwnam(3) fail (and
-	  why).
+	* doc/howto/FTP.html: Add FAQ to FTP howto, talking about renaming
+	of directories across mount points.
 
-2012-11-15 10:25  castaglia
+2012-12-27  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).
+	* modules/mod_core.c: Updating mod_core to use the new
+	pr_fsio_lchown() function.
 
-2012-11-15 08:33  castaglia
+2012-12-26  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.
+	* modules/mod_log.c: Report the correct error reason if we can't
+	open an ExtendedLog.
 
-2012-11-14 14:13  castaglia
+2012-12-26  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.
+	* 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-11-14 10:28  castaglia
+2012-12-26  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Backport of fix for Bug#3842 to 1.3.4 branch.
+	* 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-11-14 10:27  castaglia
+2012-12-26  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Bug#3842 - Incorrect handling of REALPATH requests for symlink
-	  paths in mod_sftp.
+	* doc/modules/mod_cap.html: Adding description of the new
+	CapabilitiesRootRevoke directive.
 
-2012-11-14 10:23  castaglia
+2012-12-24  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Finishing the SFTP REALPATH tests (per Bug#3842).
+	* 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-11-13 17:47  castaglia
+2012-12-21  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm: Adding regression
+	tests for Bug#3839.
 
-2012-11-13 17:37  castaglia
+2012-12-21  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm:
-	  Adding testing of HideFiles/IgnoreHidden configuration on MLSD.
+	* configure: Updated configure.
 
-2012-11-13 14:09  castaglia
+2012-12-21  castaglia <castaglia>
 
-	* doc/modules/mod_facts.html:
-	  Adding FAQ about dotfiles and MLSD.
+	* NEWS, RELEASE_NOTES, config.h.in, configure.in, modules/mod_cap.c: 
+	Bug#3839 - Enhance mod_cap to support dropping root privs entirely.
 
-2012-11-13 13:46  castaglia
+2012-12-21  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql.c, modules/mod_log.c:
-	  Backport of fix for Bug#3822 to 1.3.4 branch.
+	* RELEASE_NOTES, doc/modules/mod_auth.html: Adding description of
+	new AllowChrootSymlinks directive to mod_auth docs.
 
-2012-11-13 13:16  castaglia
+2012-12-20  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm:
-	  Adding PCRE-based HideFiles test.
+	* NEWS, RELEASE_NOTES, modules/mod_auth.c: Bug#3852 - Support
+	directive for ignoring symlink DefaultRoot directories.
 
-2012-11-11 17:39  castaglia
+2012-12-20  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* 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-11-11 17:21  castaglia
+2012-12-18  castaglia <castaglia>
 
-	* config.h.in, configure.in:
-	  Adding autoconf check for mkdtemp(3), as part of fix for
-	  Bug#3841.
+	* NEWS, contrib/mod_sftp/keys.c: Bug#3851 - SFTPPassPhraseProvider
+	fails due to incorrect pointer.
 
-2012-11-08 11:18  castaglia
+2012-12-18  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm:
-	  Updating UserOwner tests to use testcase-specific logging, and
-	  added test for UserOwner+MKD.
+	* 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-11-05 10:05  castaglia
+2012-12-14  castaglia <castaglia>
 
-	* doc/modules/mod_auth.html:
-	  Add docs for the RewriteHome directive.
+	* NEWS, RELEASE_NOTES, contrib/ftpasswd, doc/contrib/ftpasswd.html: 
+	Bug#3850 - ftpasswd should support generating SHA-256, SHA-512
+	hashes where possible.
 
-2012-10-29 15:51  castaglia
+2012-12-13  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Backport of fix for Bug#3837 to 1.3.4 branch.
+	* 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-10-29 15:50  castaglia
+2012-12-13  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3837 - mod_tls unable to read certificate files after SIGHUP.
+	* doc/howto/TLS.html: Add missing closing font tag.
 
-2012-10-24 14:27  castaglia
+2012-12-11  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.
+	* doc/utils/index.html: Typo.
 
-2012-10-23 17:02  castaglia
+2012-12-10  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.
+	* contrib/mod_sftp/crypto.c: Fixed typo in comment.
 
-2012-10-21 17:55  castaglia
+2012-12-09  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/allowfilter.t,
-	  t/lib/ProFTPD/Tests/Config/AllowFilter.pm:
-	  Adding regression tests for the AllowFilter directive.
+	* 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-10-13 21:11  castaglia
+2012-12-09  castaglia <castaglia>
 
-	* doc/howto/ConfigurationTricks.html:
-	  Add another configuration trick (using env vars, -D, and
-	  <IfDefine>) to the collection.
+	* 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-10-13 20:55  castaglia
+2012-12-07  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/IfDefine.pm:
-	  Now the <IfDefine> regression test for dealing with environment
-	  variables work as I intended.
+	* 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-10-13 20:52  castaglia
+2012-12-07  castaglia <castaglia>
 
-	* src/parser.c:
-	  In fact, why not use one strlen(3) call instead of three in the
-	  get_config_word() function.
+	* tests/t/config/authuserfile.t,
+	tests/t/lib/ProFTPD/Tests/Config/AuthUserFile.pm, tests/tests.pl: 
+	Adding AuthUserFile tests now.
 
-2012-10-13 20:50  castaglia
+2012-12-07  castaglia <castaglia>
 
-	* src/parser.c:
-	  Minor change: use a single strlen(3) call instead of two.
+	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Allow for specifying empty
+	password values for an AuthUserFile.
 
-2012-10-11 19:51  castaglia
+2012-12-07  castaglia <castaglia>
 
-	* doc/howto/FTP.html:
-	  Updating the stale list of supported commands.
+	* tests/t/lib/ProFTPD/Tests/Config/AuthGroupFile.pm: Updated
+	AuthGroupFile test to use testcase-specific logging.
 
-2012-10-11 19:44  castaglia
+2012-12-06  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Stylistic cleanup of nits in the handling of the MODE command; no
-	  functional change.
+	* configure: Updated configure.
 
-2012-10-11 19:21  castaglia
+2012-12-06  castaglia <castaglia>
 
-	* doc/howto/DSO.html:
-	  Adding FAQ to DSO doc about adding modules to proftpd.
+	* 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-10-10 23:12  castaglia
+2012-12-05  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).
+	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add utility
+	server_restart() function for tests which need to HUP the running
+	daemon.
 
-2012-10-10 13:38  castaglia
+2012-12-05  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.
+	* 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-10-10 13:27  castaglia
+2012-12-05  castaglia <castaglia>
 
-	* doc/howto/Limit.html:
-	  Update upload-only directory example config to allow PWD.  Some
-	  clients get cranky if PWD doesn't work.
+	* doc/utils/index.html: Add link to ftpshut docs.  Fix typo.
 
-2012-10-09 23:31  castaglia
+2012-12-05  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  When discovering the optimal TCP buffer sizes, set the discovered
-	  sizes on our main_server rec as well.
+	* doc/contrib/mod_ban.html: Bad grammar.
 
-2012-10-09 18:26  castaglia
+2012-12-04  castaglia <castaglia>
 
-	* doc/modules/mod_lang.html:
-	  Update the mod_lang docs with a FAQ about the "not a supported
-	  language" error.
+	* doc/utils/ftpmail.html: Typo.
 
-2012-10-09 08:54  castaglia
+2012-12-04  castaglia <castaglia>
 
-	* locale/: es_ES.po:
-	  Updated .po file from Bug#3834.
+	* NEWS, modules/mod_auth.c: Bug#3846 - Avoid scanning ScoreboardFile
+	needlessly on login if limits are not configured.
 
-2012-10-05 13:52  castaglia
+2012-12-04  castaglia <castaglia>
 
-	* doc/modules/mod_lang.html:
-	  Mention the new Spanish translation in the mod_lang docs.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
+	test for FTPS login using mod_tls and a DSA server certificate.
 
-2012-10-05 13:50  castaglia
+2012-12-04  castaglia <castaglia>
 
-	* RELEASE_NOTES, locale/Makefile.in, locale/es_ES.po:
-	  Bug#3834 - Spanish translation.
+	* 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-10-03 22:21  castaglia
+2012-12-03  castaglia <castaglia>
 
-	* doc/howto/Logging.html:
-	  Add Logging FAQ, inspired by Bug#3832.
+	* contrib/mod_sql.c: Debug logging of the number of fields/columns
+	returned by the custom SQLUserInfo, for triage.
 
-2012-10-03 22:17  castaglia
+2012-12-03  castaglia <castaglia>
 
-	* doc/howto/: KeepAlives.html, index.html:
-	  Adding new KeepAlives howto.
+	* 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-10-03 09:41  castaglia
+2012-12-03  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Slightly better error reporting for badly formed keepalive specs.
+	* src/netio.c: Remove unused variable.
 
-2012-10-03 09:36  castaglia
+2012-12-03  castaglia <castaglia>
 
-	* doc/modules/mod_core.html:
-	  Adding docs for the new keepalive SocketOptions parameter.
+	* NEWS, contrib/mod_sftp/auth.c: Bug#3845 - mod_sftp does not
+	provide response codes for %s LogFormat variable for AUTH
+	ExtendedLog.
 
-2012-10-03 09:22  castaglia
+2012-12-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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
+	test for Bug#3845.
 
-2012-10-02 22:24  castaglia
+2012-12-02  castaglia <castaglia>
 
-	* doc/modules/mod_core.html:
-	  Add docs for the SocketOptions directive to the mod_core docs.
+	* doc/howto/ServerType.html: Updating ServerType howto to use
+	relative links.
 
-2012-10-02 14:49  castaglia
+2012-12-02  castaglia <castaglia>
 
-	* NEWS, src/data.c:
-	  Backported fix for Bug#3831 to 1.3.4 branch.
+	* doc/modules/mod_core.html: Adding description of ServerType
+	directive to mod_core docs.
 
-2012-10-02 14:48  castaglia
+2012-12-02  castaglia <castaglia>
 
-	* NEWS, src/data.c:
-	  Bug#3831 - Sporadic "451 Insufficient memory or file locked"
-	  failure when downloading.
+	* doc/howto/Debugging.html: Updating Debugging howto.
 
-2012-10-02 12:49  castaglia
+2012-12-01  castaglia <castaglia>
 
-	* modules/mod_memcache.c:
-	  Fix compilation errors in mod_memcache, when --enable-memcache is
-	  used.
+	* 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-10-02 10:10  castaglia
+2012-12-01  castaglia <castaglia>
 
-	* Makefile.in:
-	  Fixed typo in Makefile rules, for Bug#3725.
+	* 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-10-01 14:26  castaglia
+2012-12-01  castaglia <castaglia>
 
-	* tests/: Makefile.in, api/fsio.c, api/stubs.c, api/tests.c,
-	  api/tests.h:
-	  Start working on unit tests for the FSIO API functions:
-	  pr_fs_clean_path() is the first victim.
+	* contrib/mod_sftp/fxp.c: Fix log message typos/nits.
 
-2012-10-01 14:14  castaglia
+2012-11-27  castaglia <castaglia>
 
-	* modules/mod_ls.c:
-	  Even more robust checking for complex possible symlink targets,
-	  as part of hardening against Bug#3719.
+	* 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-10-01 14:08  castaglia
+2012-11-27  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".
+	* modules/mod_auth_unix.c: Adding trace logging, for better analysis
+	of shadow/autoshadow user lookup issues.
 
-2012-10-01 10:56  castaglia
+2012-11-21  castaglia <castaglia>
 
-	* modules/mod_ls.c:
-	  An "unsafe" symlink path must be 2 characters or greater in
-	  length.
+	* modules/mod_auth_unix.c: More debug logging for when user entry
+	retrieval fails.
 
-2012-10-01 10:54  castaglia
+2012-11-20  castaglia <castaglia>
 
-	* modules/mod_ls.c:
-	  Make the check for "unsafe" symlinks in recursive directory
-	  listings a little more robust, for Bug#3719.
+	* doc/contrib/mod_sql_passwd.html: Fixed markup typo.
 
-2012-10-01 10:31  castaglia
+2012-11-19  castaglia <castaglia>
 
-	* contrib/mod_sftp/scp.c:
-	  Backport of fix for Bug#3792 to 1.3.4 branch.
+	* NEWS, modules/mod_dso.c: Bug#3843 - ProFTPD should not fail when
+	starting up due to loading same module multiple times.
 
-2012-10-01 10:19  castaglia
+2012-11-19  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Bug#3792 - Recursive SCP uploads using preserve-time (-p) option
-	  may not work.
+	* doc/modules/mod_dso.html: Another DSO FAQ, about the "already
+	loaded" error for special-case modules like mod_ctrls.
 
-2012-09-30 11:01  castaglia
+2012-11-19  castaglia <castaglia>
 
-	* NEWS, modules/mod_ls.c:
-	  Fixed regression in fix for Bug#3719.
+	* doc/modules/mod_dso.html: Adding FAQ about already loaded modules
+	(will be fixed with Bug#3843).
 
-2012-09-30 10:55  castaglia
+2012-11-16  castaglia <castaglia>
 
-	* modules/mod_ls.c:
-	  Fix regression caused by fix for Bug#3719.
+	* modules/mod_auth_unix.c: Log, at debug level 3, when getspnam(3)
+	and getpwnam(3) fail (and why).
 
-2012-09-30 10:44  castaglia
+2012-11-15  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm:
-	  Adding additional regression test for Bug#3719.
+	* 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-09-28 17:06  castaglia
+2012-11-15  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Updating mod_sftp regression tests to use testcase-specific
-	  logging across the board.
+	* 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-09-28 15:23  castaglia
+2012-11-14  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.
+	* 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-09-28 14:37  castaglia
+2012-11-14  castaglia <castaglia>
 
-	* contrib/mod_sftp/scp.c:
-	  Quell comparing warning about signedness; it's a harmless cast in
-	  this case.
+	* NEWS, contrib/mod_sftp/fxp.c: Bug#3842 - Incorrect handling of
+	REALPATH requests for symlink paths in mod_sftp.
 
-2012-09-27 22:20  castaglia
+2012-11-14  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Finishing the SFTP
+	REALPATH tests (per Bug#3842).
 
-2012-09-27 22:16  castaglia
+2012-11-14  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.
+	* 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-09-27 21:52  castaglia
+2012-11-14  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Adding reminder to release notes to mention SystemLog changes for
-	  Bug#3832.
+	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Adding testing of
+	HideFiles/IgnoreHidden configuration on MLSD.
 
-2012-09-27 21:51  castaglia
+2012-11-13  castaglia <castaglia>
 
-	* NEWS, modules/mod_log.c:
-	  Bug#3832 - Support disabling of system logging on per-connection
-	  basis.
+	* doc/modules/mod_facts.html: Adding FAQ about dotfiles and MLSD.
 
-2012-09-27 21:24  castaglia
+2012-11-13  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Logging/ServerLog.pm,
-	  t/lib/ProFTPD/Tests/Logging/SystemLog.pm, t/logging/serverlog.t:
-	  Adding ServerLog tests for Bug#3832 as well, and updating the
-	  SystemLog tests (which were pointed at the wrong log file).
+	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Adding PCRE-based
+	HideFiles test.
 
-2012-09-27 18:32  castaglia
+2012-11-12  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Logging/SystemLog.pm:
-	  Updated tests for Bug#3832 so that they work properly.
+	* configure: Updated configure.
 
-2012-09-27 17:21  castaglia
+2012-11-12  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Logging/SystemLog.pm:
-	  Adding unit tests for verifying the change/fix for Bug#3832.
+	* config.h.in, configure.in: Adding autoconf check for mkdtemp(3),
+	as part of fix for Bug#3841.
 
-2012-09-27 10:52  castaglia
+2012-11-08  castaglia <castaglia>
 
-	* doc/howto/Tracing.html:
-	  Typo.
+	* tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm: Updating UserOwner
+	tests to use testcase-specific logging, and added test for
+	UserOwner+MKD.
 
-2012-09-26 09:40  castaglia
+2012-11-05  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Fix logging of spurious EEXIST error when adding a note to the
-	  session notes.
+	* doc/modules/mod_auth.html: Add docs for the RewriteHome directive.
 
-2012-09-25 16:21  castaglia
+2012-10-29  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.
+	* NEWS, contrib/mod_tls.c: Bug#3837 - mod_tls unable to read
+	certificate files after SIGHUP.
 
-2012-09-25 13:28  castaglia
+2012-10-24  castaglia <castaglia>
 
-	* doc/howto/Tracing.html:
-	  Update the Tracing howto with a section discussing runtime tuning
-	  of the trace levels.
+	* 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-09-25 09:28  castaglia
+2012-10-24  castaglia <castaglia>
 
-	* doc/howto/TLS.html:
-	  Add a section on client auth to the TLS howto.
+	* 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-09-22 19:10  castaglia
+2012-10-22  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c:
-	  Backport of fix for Bug#3829 to 1.3.4 branch.
+	* tests/t/config/allowfilter.t,
+	tests/t/lib/ProFTPD/Tests/Config/AllowFilter.pm, tests/tests.pl: 
+	Adding regression tests for the AllowFilter directive.
 
-2012-09-22 19:10  castaglia
+2012-10-14  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c:
-	  Bug#3829 - RNFR without following RNTO can lead to NULL pointer
-	  dereference.
+	* doc/howto/ConfigurationTricks.html: Add another configuration
+	trick (using env vars, -D, and <IfDefine>) to the collection.
 
-2012-09-22 19:04  castaglia
+2012-10-14  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm:
-	  Updating regression test for Bug#3829.
+	* tests/t/lib/ProFTPD/Tests/Config/IfDefine.pm: Now the <IfDefine>
+	regression test for dealing with environment variables work as I
+	intended.
 
-2012-09-22 12:09  castaglia
+2012-10-14  castaglia <castaglia>
 
-	* NEWS, modules/mod_facts.c:
-	  Backport of fix for Bug#3830 to 1.3.4 branch.
+	* src/parser.c: In fact, why not use one strlen(3) call instead of
+	three in the get_config_word() function.
 
-2012-09-22 12:08  castaglia
+2012-10-14  castaglia <castaglia>
 
-	* NEWS, modules/mod_facts.c:
-	  Bug#3830 - MFF/MFMT command segfaults due to insufficient
-	  parameter checks.
+	* src/parser.c: Minor change: use a single strlen(3) call instead of
+	two.
 
-2012-09-22 12:07  castaglia
+2012-10-12  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/MFF.pm:
-	  Update of regression test for Bug#3830.
+	* doc/howto/FTP.html: Updating the stale list of supported commands.
 
-2012-09-22 11:54  castaglia
+2012-10-12  castaglia <castaglia>
 
-	* doc/modules/mod_facts.html:
-	  Update link to somers Draft which defines the MFF and MFMT
-	  commands.
+	* modules/mod_xfer.c: Stylistic cleanup of nits in the handling of
+	the MODE command; no functional change.
 
-2012-09-21 15:49  castaglia
+2012-10-12  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/MFF.pm:
-	  Checking in regression test for Bug#3830.
+	* doc/howto/DSO.html: Adding FAQ to DSO doc about adding modules to
+	proftpd.
 
-2012-09-21 15:41  castaglia
+2012-10-11  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm:
-	  Checking in regression test for Bug#3829.
+	* 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-09-21 15:15  castaglia
+2012-10-10  castaglia <castaglia>
 
-	* NEWS:
-	  Typo.
+	* 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-09-21 15:14  castaglia
+2012-10-10  castaglia <castaglia>
 
-	* NEWS, contrib/mod_deflate.c:
-	  Backport of fix for Bug#3828 to 1.3.4 branch.
+	* doc/howto/Limit.html: Update upload-only directory example config
+	to allow PWD.  Some clients get cranky if PWD doesn't work.
 
-2012-09-21 15:13  castaglia
+2012-10-10  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.
+	* src/dirtree.c: When discovering the optimal TCP buffer sizes, set
+	the discovered sizes on our main_server rec as well.
 
-2012-09-21 14:00  castaglia
+2012-10-10  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm:
-	  Updated the mod_deflate tests to use testcase-specific logging.
+	* doc/modules/mod_lang.html: Update the mod_lang docs with a FAQ
+	about the "not a supported language" error.
 
-2012-09-19 15:32  castaglia
+2012-10-09  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Bug#3827 - Use non-filesystem based SFTP handle generator instead
-	  of mktemp(3).
+	* locale/es_ES.po: Updated .po file from Bug#3834.
 
-2012-09-18 17:11  castaglia
+2012-10-05  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.
+	* doc/modules/mod_lang.html: Mention the new Spanish translation in
+	the mod_lang docs.
 
-2012-09-11 18:24  castaglia
+2012-10-05  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).
+	* RELEASE_NOTES, locale/Makefile.in, locale/es_ES.po: Bug#3834 -
+	Spanish translation.
 
-2012-09-11 18:18  castaglia
+2012-10-04  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.
+	* doc/howto/Logging.html: Add Logging FAQ, inspired by Bug#3832.
 
-2012-09-11 18:15  castaglia
+2012-10-04  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.
+	* doc/howto/KeepAlives.html, doc/howto/index.html: Adding new
+	KeepAlives howto.
 
-2012-09-11 16:11  castaglia
+2012-10-03  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.
+	* modules/mod_core.c: Slightly better error reporting for badly
+	formed keepalive specs.
 
-2012-09-07 14:39  castaglia
+2012-10-03  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".
+	* doc/modules/mod_core.html: Adding docs for the new keepalive
+	SocketOptions parameter.
 
-2012-09-07 12:08  castaglia
+2012-10-03  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.
+	* 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-09-07 11:51  castaglia
+2012-10-03  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/: Logging/ExtendedLog.pm,
-	  Modules/mod_sql_sqlite.pm:
-	  Regression tests for the logging changes made for Bug#3822.
+	* doc/modules/mod_core.html: Add docs for the SocketOptions
+	directive to the mod_core docs.
 
-2012-09-07 11:50  castaglia
+2012-10-02  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.
+	* NEWS, src/data.c: Bug#3831 - Sporadic "451 Insufficient memory or
+	file locked" failure when downloading.
 
-2012-09-07 11:48  jwm
+2012-10-02  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: git 3d541bc898: fix symbol copy pasta
+	* modules/mod_memcache.c: Fix compilation errors in mod_memcache,
+	when --enable-memcache is used.
 
-2012-09-07 09:22  castaglia
+2012-10-02  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.
+	* Makefile.in: Fixed typo in Makefile rules, for Bug#3725.
 
-2012-09-06 11:32  castaglia
+2012-10-01  castaglia <castaglia>
 
-	* config.h.in:
-	  Forgot to update config.h.in for the new header checks.
+	* 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-09-06 10:52  castaglia
+2012-10-01  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.
+	* modules/mod_ls.c: Even more robust checking for complex possible
+	symlink targets, as part of hardening against Bug#3719.
 
-2012-09-06 10:15  castaglia
+2012-10-01  castaglia <castaglia>
 
-	* NEWS, src/netaddr.c:
-	  Backport of fix for Bug#3806 to 1.3.4 branch.
+	* 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-09-06 10:14  castaglia
+2012-10-01  castaglia <castaglia>
 
-	* NEWS, src/netaddr.c:
-	  Bug#3806 - Support reverse DNS resolution for IPv6 addresses when
-	  gethostbyname2(3) is not available.
+	* modules/mod_ls.c: An "unsafe" symlink path must be 2 characters or
+	greater in length.
 
-2012-09-06 10:13  castaglia
+2012-10-01  castaglia <castaglia>
 
-	* src/auth.c:
-	  Pass along the path to which a chroot() will happen, as part of
-	  the 'core.chroot' event.
+	* modules/mod_ls.c: Make the check for "unsafe" symlinks in
+	recursive directory listings a little more robust, for Bug#3719.
 
-2012-09-05 10:49  castaglia
+2012-10-01  castaglia <castaglia>
 
-	* src/proftpd.8.in:
-	  Mention the new proftpd.conf(5) man page in the proftpd(8) man
-	  page.
+	* NEWS, contrib/mod_sftp/scp.c: Bug#3792 - Recursive SCP uploads
+	using preserve-time (-p) option may not work.
 
-2012-09-05 10:48  castaglia
+2012-09-30  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* modules/mod_ls.c: Fix regression caused by fix for Bug#3719.
 
-2012-09-05 10:45  castaglia
+2012-09-30  castaglia <castaglia>
 
-	* Makefile.in, configure.in, src/.cvsignore, src/proftpd.conf.5.in:
+	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding additional
+	regression test for Bug#3719.
 
-	  Bug#3805 - proftpd.conf could use a short manpage.
+2012-09-29  castaglia <castaglia>
 
-2012-09-05 10:30  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Updating mod_sftp
+	regression tests to use testcase-specific logging across the board.
 
-	* doc/howto/CreateHome.html:
-	  Mention the new NoRootPrivs CreateHome parameter in the
-	  CreateHome howto.
+2012-09-28  castaglia <castaglia>
 
-2012-09-05 09:41  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm:
-	  Tests for the CreateHome NoRootPrivs option added for Bug#3813.
+2012-09-28  castaglia <castaglia>
 
-2012-09-05 09:40  castaglia
+	* contrib/mod_sftp/scp.c: Quell comparing warning about signedness;
+	it's a harmless cast in this case.
 
-	* 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-09-28  castaglia <castaglia>
 
-2012-08-29 22:05  castaglia
+	* configure: Updated configure.
 
-	* configure:
-	  Updated configure.
+2012-09-28  castaglia <castaglia>
 
-2012-08-29 21:42  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.
 
-	* 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-09-28  castaglia <castaglia>
 
-2012-08-27 13:39  castaglia
+	* RELEASE_NOTES: Adding reminder to release notes to mention
+	SystemLog changes for Bug#3832.
 
-	* doc/contrib/mod_sftp.html:
-	  Missed a mention of hmac-sha2-256-96 and hmac-sha2-512-96.
+2012-09-28  castaglia <castaglia>
 
-2012-08-27 13:34  castaglia
+	* NEWS, modules/mod_log.c: Bug#3832 - Support disabling of system
+	logging on per-connection basis.
 
-	* 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-09-28  castaglia <castaglia>
 
-2012-08-23 00:19  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).
 
-	* 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-09-28  castaglia <castaglia>
 
-2012-08-22 23:51  castaglia
+	* tests/t/lib/ProFTPD/Tests/Logging/SystemLog.pm: Updated tests for
+	Bug#3832 so that they work properly.
 
-	* 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-09-28  castaglia <castaglia>
 
-2012-08-22 22:02  castaglia
+	* tests/t/lib/ProFTPD/Tests/Logging/SystemLog.pm: Adding unit tests
+	for verifying the change/fix for Bug#3832.
 
-	* 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-09-27  castaglia <castaglia>
 
-2012-08-22 16:52  castaglia
+	* doc/howto/Tracing.html: Typo.
 
-	* src/trace.c:
-	  Avoid possible file descriptor leak in the just-added
-	  pr_trace_use_stderr() function.
+2012-09-26  castaglia <castaglia>
 
-2012-08-22 16:46  castaglia
+	* modules/mod_xfer.c: Fix logging of spurious EEXIST error when
+	adding a note to the session notes.
 
-	* 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-09-25  castaglia <castaglia>
 
-2012-08-22 14:41  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.
 
-	* tests/api/netaddr.c:
-	  Be prepared for a few other possibilities when resolving '::1' to
-	  DNS names.
+2012-09-25  castaglia <castaglia>
 
-2012-08-22 12:53  castaglia
+	* doc/howto/Tracing.html: Update the Tracing howto with a section
+	discussing runtime tuning of the trace levels.
 
-	* NEWS, contrib/Makefile.in:
-	  Backport of fix for Bug#3816 to 1.3.4 branch.
+2012-09-25  castaglia <castaglia>
 
-2012-08-22 12:53  castaglia
+	* doc/howto/TLS.html: Add a section on client auth to the TLS howto.
 
-	* NEWS, contrib/Makefile.in:
-	  Bug#3816 - Installation of ftpasswd does not honor DESTDIR
-	  environment variable.
+2012-09-23  castaglia <castaglia>
 
-2012-08-22 11:02  castaglia
+	* NEWS, modules/mod_core.c: Bug#3829 - RNFR without following RNTO
+	can lead to NULL pointer dereference.
 
-	* 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-09-23  castaglia <castaglia>
 
-2012-08-21 11:45  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm: Updating regression
+	test for Bug#3829.
 
-	* NEWS:
-	  Rejigger the NEWS file to mention that Bug#3795 regressed, and is
-	  now (hopefully) fixed in the next 1.3.4 maint release.
+2012-09-22  castaglia <castaglia>
 
-2012-08-21 11:31  castaglia
+	* NEWS, modules/mod_facts.c: Bug#3830 - MFF/MFMT command segfaults
+	due to insufficient parameter checks.
 
-	* configure:
-	  Updated configure.
+2012-09-22  castaglia <castaglia>
 
-2012-08-21 11:26  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/MFF.pm: Update of regression
+	test for Bug#3830.
 
-	* configure.in:
-	  Re-fixing Bug#3795 in the 1.3.4 branch; the backport from trunk
-	  was done incorrectly.
+2012-09-22  castaglia <castaglia>
 
-2012-08-20 11:27  castaglia
+	* doc/modules/mod_facts.html: Update link to somers Draft which
+	defines the MFF and MFMT commands.
 
-	* 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-09-21  castaglia <castaglia>
 
-2012-08-15 18:25  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/MFF.pm: Checking in regression
+	test for Bug#3830.
 
-	* 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-09-21  castaglia <castaglia>
 
-2012-08-15 15:05  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm: Checking in regression
+	test for Bug#3829.
 
-	* contrib/: mod_sftp_pam.c:
-	  Filter out unhelpful error log messages.
+2012-09-21  castaglia <castaglia>
 
-2012-08-15 10:05  castaglia
+	* NEWS: Typo.
 
-	* NEWS, contrib/dist/rpm/proftpd.init.d:
-	  Bug#3814 - Support "configtest" command for contrib init.d
-	  script.
+2012-09-21  castaglia <castaglia>
 
-2012-08-15 09:49  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.
 
-	* NEWS:
-	  Correct a bug number.
+2012-09-21  castaglia <castaglia>
 
-2012-08-09 18:48  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Updated the
+	mod_deflate tests to use testcase-specific logging.
 
-	* configure:
-	  Updated configure script for Bug#3725.
+2012-09-19  castaglia <castaglia>
 
-2012-08-09 17:23  castaglia
+	* NEWS, contrib/mod_sftp/fxp.c: Bug#3827 - Use non-filesystem based
+	SFTP handle generator instead of mktemp(3).
 
-	* Makefile.in:
-	  Substitute the proftpd_cvs_version_main value in the proftpd.spec
-	  (part of Bug#3725).
+2012-09-19  castaglia <castaglia>
 
-2012-08-09 17:15  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.
 
-	* 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-09-12  castaglia <castaglia>
 
-2012-08-09 17:08  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).
 
-	* 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-09-12  castaglia <castaglia>
 
-2012-08-09 16:13  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.
 
-	* configure.in, Make.rules.in, Makefile.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-09-12  castaglia <castaglia>
 
-2012-08-09 15:50  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.
 
-	* 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-09-11  castaglia <castaglia>
 
-2012-08-09 15:48  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.
 
-	* 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-09-07  castaglia <castaglia>
 
-2012-08-08 17:25  castaglia
+	* doc/howto/TLS.html: Try to tell admins how to configure mod_tls if
+	they want to support clients which send "PROT C".
 
-	* tests/: tests.pl, t/config/maxclientsperclass.t,
-	  t/config/maxclientsperuser.t,
-	  t/lib/ProFTPD/Tests/Config/MaxClientsPerClass.pm,
-	  t/lib/ProFTPD/Tests/Config/MaxClientsPerUser.pm:
-	  Adding missing regression tests for the MaxClientsPerClass and
-	  MaxClientsPerUser directives.
+2012-09-07  castaglia <castaglia>
 
-2012-08-08 16:58  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.
 
-	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
-	  Regression tests for Bug#3811.
+2012-09-07  castaglia <castaglia>
 
-2012-08-08 16:58  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.
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#3811 - ExtendedLog entries not written if MaxClients limit
-	  reached.
+2012-09-07  castaglia <castaglia>
 
-2012-08-06 23:26  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.
 
-	* 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-09-07  jwm <jwm>
 
-2012-08-06 16:05  castaglia
+	* contrib/mod_ldap.c: git 3d541bc898: fix symbol copy pasta
 
-	* src/inet.c:
-	  Make sure we always return the socket to blocking mode,
-	  regardless of how we return from pr_inet_connect_nowait().
+2012-09-07  castaglia <castaglia>
 
-2012-08-05 20:24  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.
 
-	* contrib/mod_tls.c:
-	  Remove duplicate SSL_CTX_check_private_key() calls.
+2012-09-06  castaglia <castaglia>
 
-2012-08-05 20:19  castaglia
+	* config.h.in: Forgot to update config.h.in for the new header
+	checks.
 
-	* src/trace.c:
-	  Always try to leave a terminating NUL, just in case.
+2012-09-06  castaglia <castaglia>
 
-2012-08-05 20:17  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.
 
-	* src/support.c:
-	  Stylistic nit; no functional change.
+2012-09-06  castaglia <castaglia>
 
-2012-08-05 20:06  castaglia
+	* NEWS, src/netaddr.c: Bug#3806 - Support reverse DNS resolution for
+	IPv6 addresses when gethostbyname2(3) is not available.
 
-	* 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-09-06  castaglia <castaglia>
 
-2012-08-05 13:52  castaglia
+	* src/auth.c: Pass along the path to which a chroot() will happen,
+	as part of the 'core.chroot' event.
 
-	* 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-09-05  castaglia <castaglia>
 
-2012-08-01 16:35  castaglia
+	* src/proftpd.8.in: Mention the new proftpd.conf(5) man page in the
+	proftpd(8) man page.
 
-	* 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-09-05  castaglia <castaglia>
 
-2012-08-01 16:30  castaglia
+	* configure: Updated configure.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm:
-	  And a few more places to use assert_transfer_ok().
+2012-09-05  castaglia <castaglia>
 
-2012-08-01 16:26  castaglia
+	* Makefile.in, configure.in, src/.cvsignore, src/proftpd.conf.5.in: 
+	Bug#3805 - proftpd.conf could use a short manpage.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm:
-	  Update tests to use assert_transfer_ok() in more places.
+2012-09-05  castaglia <castaglia>
 
-2012-08-01 15:06  castaglia
+	* doc/howto/CreateHome.html: Mention the new NoRootPrivs CreateHome
+	parameter in the CreateHome howto.
 
-	* RELEASE_NOTES, doc/contrib/mod_sftp.html:
-	  Update the docs showing that mod_sftp now supports
-	  MaxStoreFileSize.
+2012-09-05  castaglia <castaglia>
 
-2012-08-01 15:05  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm: Tests for the
+	CreateHome NoRootPrivs option added for Bug#3813.
 
-	* 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-09-05  castaglia <castaglia>
 
-2012-08-01 15:03  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.
 
-	* contrib/mod_sftp/fxp.c:
-	  Stylistic nit.
+2012-08-30  castaglia <castaglia>
 
-2012-08-01 14:58  castaglia
+	* configure: Updated configure.
 
-	* contrib/mod_sftp/fxp.c:
-	  Off-by-one nit.
+2012-08-30  castaglia <castaglia>
 
-2012-08-01 14:42  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)).
 
-	* 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-27  castaglia <castaglia>
 
-2012-08-01 14:40  castaglia
+	* doc/contrib/mod_sftp.html: Missed a mention of hmac-sha2-256-96
+	and hmac-sha2-512-96.
 
-	* contrib/mod_sftp/fxp.c:
-	  Support the MaxStoreFileSize directive for SFTP uploads.
+2012-08-27  castaglia <castaglia>
 
-	  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.
+	* 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-07-31 16:47  castaglia
+2012-08-23  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.
+	* 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-07-31 15:30  castaglia
+2012-08-23  castaglia <castaglia>
 
-	* locale/Makefile.in:
-	  When generating a new .pot file, delete the old version.
+	* 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-07-31 13:31  castaglia
+2012-08-23  castaglia <castaglia>
 
-	* doc/modules/mod_facts.html:
-	  Grammar fix.
+	* 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-07-31 11:15  castaglia
+2012-08-22  castaglia <castaglia>
 
-	* include/version.h:
-	  Bump version in CVS.
+	* src/trace.c: Avoid possible file descriptor leak in the just-added
+	pr_trace_use_stderr() function.
 
-2012-07-31 11:02  castaglia
+2012-08-22  castaglia <castaglia>
 
-	* doc/modules/mod_facts.html:
-	  Markup typo.
+	* 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-07-31 10:15  castaglia
+2012-08-22  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updating ChangeLog for proftpd-1.3.4b release.
+	* tests/api/netaddr.c: Be prepared for a few other possibilities
+	when resolving '::1' to DNS names.
 
-2012-07-31 10:14  castaglia
+2012-08-22  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec:
-	  Preparing for proftpd-1.3.4b release.
+	* NEWS, contrib/Makefile.in: Bug#3816 - Installation of ftpasswd
+	does not honor DESTDIR environment variable.
 
-2012-07-31 10:13  castaglia
+2012-08-22  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES:
-	  Preparing for release of proftpd-1.3.4b.
+	* 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-07-31 09:59  castaglia
+2012-08-20  castaglia <castaglia>
 
-	* doc/modules/mod_facts.html:
-	  Added docs for the FactsOptions directive, and added FAQ.
+	* 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-07-30 14:47  castaglia
+2012-08-16  castaglia <castaglia>
 
-	* NEWS, contrib/mod_radius.c:
-	  Backport of fix for Bug#3809 to 1.3.4 branch.
+	* 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-07-30 14:47  castaglia
+2012-08-15  castaglia <castaglia>
 
-	* NEWS, contrib/mod_radius.c:
-	  Bug#3809 - Segfaults in mod_radius when configured with
-	  RadiusGroupInfo.
+	* contrib/mod_sftp_pam.c: Filter out unhelpful error log messages.
 
-2012-07-30 08:36  castaglia
+2012-08-15  castaglia <castaglia>
 
-	* contrib/mod_radius.c:
-	  Stylistic cleanup; no functional change.
+	* NEWS, contrib/dist/rpm/proftpd.init.d: Bug#3814 - Support
+	"configtest" command for contrib init.d script.
 
-2012-07-30 08:17  castaglia
+2012-08-10  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm:
-	  Remove duplicate variable.
+	* configure: Updated configure script for Bug#3725.
 
-2012-07-30 08:17  castaglia
+2012-08-10  castaglia <castaglia>
 
-	* doc/howto/DSO.html:
-	  Minor update to DSO howto.
+	* Makefile.in: Substitute the proftpd_cvs_version_main value in the
+	proftpd.spec (part of Bug#3725).
 
-2012-07-29 19:19  castaglia
+2012-08-10  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Backport of fix for Bug#3808 to 1.3.4 branch.
+	* 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-07-29 19:19  castaglia
+2012-08-10  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Minor update/improvement to fix for Bug#3808.
+	* 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-07-29 19:15  castaglia
+2012-08-09  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3808 - Segfault in mod_tls when mod_tls_shmcache used.
+	* 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-07-27 09:27  castaglia
+2012-08-09  castaglia <castaglia>
 
-	* NEWS, src/inet.c:
-	  Backporting fix for Bug#3804 to 1.3.4 branch.
+	* 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-07-27 09:27  castaglia
+2012-08-09  castaglia <castaglia>
 
-	* NEWS, src/inet.c:
-	  Bug#3804 - ioctl(RPROTDIS) code no longer needed on Solaris 11.
+	* 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-07-26 17:20  castaglia
+2012-08-09  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.
+	* 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-07-26 17:16  castaglia
+2012-08-08  castaglia <castaglia>
 
-	* doc/contrib/mod_tls.html:
-	  Adding documentation for new TLSServerCipherPreference directive.
+	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Regression tests
+	for Bug#3811.
 
-2012-07-26 17:12  castaglia
+2012-08-08  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/mod_tls.c:
-	  Bug#3801 - mod_tls should have directive like Apache mod_ssl's
-	  SSLHonorCipherOrder.
+	* NEWS, modules/mod_auth.c: Bug#3811 - ExtendedLog entries not
+	written if MaxClients limit reached.
 
-2012-07-26 15:40  castaglia
+2012-08-07  castaglia <castaglia>
 
-	* tests/api/: response.c:
-	  Remove unused variable.
+	* 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-07-26 15:36  castaglia
+2012-08-06  castaglia <castaglia>
 
-	* contrib/mod_sftp/: scp.c:
-	  Quell compiler warning about signedness mismatch.
+	* src/inet.c: Make sure we always return the socket to blocking
+	mode, regardless of how we return from pr_inet_connect_nowait().
 
-2012-07-26 12:40  castaglia
+2012-08-06  castaglia <castaglia>
 
-	* contrib/mod_sftp/packet.c:
-	  Better handling of errno values for writev(2) errors.
+	* contrib/mod_tls.c: Remove duplicate SSL_CTX_check_private_key()
+	calls.
 
-2012-07-25 16:45  castaglia
+2012-08-06  castaglia <castaglia>
 
-	* NEWS, contrib/mod_exec.c, contrib/mod_quotatab.c,
-	  contrib/mod_sftp_pam.c, contrib/mod_sql.c,
-	  contrib/mod_sql_passwd.c, contrib/mod_tls.c,
-	  contrib/mod_sftp/mod_sftp.c, contrib/mod_wrap2/mod_wrap2.c,
-	  modules/mod_facts.c:
-	  Bug#3800 - Multiple *Options directives should be handled
-	  properly.
+	* src/trace.c: Always try to leave a terminating NUL, just in case.
 
-2012-07-25 16:15  castaglia
+2012-08-06  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Quell compiler warning about possibly uninitialized
-	  memory/variable.
+	* src/support.c: Stylistic nit; no functional change.
 
-2012-07-25 15:39  castaglia
+2012-08-06  castaglia <castaglia>
 
-	* contrib/mod_quotatab.c:
-	  Minor style cleanup.	Better handling of errno values when
-	  creating the QuotaLock file.
+	* 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-07-25 15:30  castaglia
+2012-08-05  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Regression test for TLSOptions handling change, per Bug#3800.
+	* 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-07-25 14:26  castaglia
+2012-08-01  castaglia <castaglia>
 
-	* doc/modules/mod_facts.html:
-	  Fix markup.
+	* 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-07-20 13:41  castaglia
+2012-08-01  castaglia <castaglia>
 
-	* contrib/mod_sftp/: cipher.c, compress.c, mac.c, packet.c:
-	  More careful use of errno value when writing out SSH2 packets.
+	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: And a few more places
+	to use assert_transfer_ok().
 
-2012-07-20 10:47  castaglia
+2012-08-01  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding regression test showing client-initiated rekeying.
+	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Update tests to use
+	assert_transfer_ok() in more places.
 
-2012-07-20 10:04  castaglia
+2012-08-01  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Backport of fix for Bug#3798 to 1.3.4 branch.
+	* RELEASE_NOTES, doc/contrib/mod_sftp.html: Update the docs showing
+	that mod_sftp now supports MaxStoreFileSize.
 
-2012-07-20 10:03  castaglia
+2012-08-01  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding regression tests for Bug#3798.
+	* 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-07-20 10:02  castaglia
+2012-08-01  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Bug#3798 - Downloading nonexistent file via SCP results in
-	  timeout rather than error.
+	* contrib/mod_sftp/fxp.c: Stylistic nit.
 
-2012-07-13 11:22  castaglia
+2012-08-01  castaglia <castaglia>
 
-	* NEWS, modules/mod_facts.c:
-	  Backport of fix for Bug#3790 to 1.3.4 branch.
+	* contrib/mod_sftp/fxp.c: Off-by-one nit.
 
-2012-07-13 11:22  castaglia
+2012-08-01  castaglia <castaglia>
 
-	* NEWS, modules/mod_facts.c:
-	  Bug#3790 - Logfile timestamps change to GMT after MFMT command.
+	* 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-07-12 15:20  castaglia
+2012-08-01  castaglia <castaglia>
 
-	* contrib/mod_sftp/kex.c:
-	  Increase the message buffer size for some KEX messages.  Fix some
-	  unintialized variable compiler warnings.
+	* 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-11 18:38  castaglia
+2012-07-31  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* 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-11 18:37  castaglia
+2012-07-31  castaglia <castaglia>
 
-	* NEWS, configure.in:
-	  Backport of fix for Bug#3795 to 1.3.4 branch.
+	* locale/Makefile.in: When generating a new .pot file, delete the
+	old version.
 
-2012-07-11 18:36  castaglia
+2012-07-31  castaglia <castaglia>
 
-	* NEWS, configure.in:
-	  Bug#3795 - ProFTPD needs to use -pthread linker option if linking
-	  against OpenSSL with thread support.
+	* doc/modules/mod_facts.html: Grammar fix.
 
-2012-07-11 18:29  castaglia
+2012-07-31  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* doc/modules/mod_facts.html: Markup typo.
 
-2012-07-11 18:26  castaglia
+2012-07-30  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.
+	* NEWS, contrib/mod_radius.c: Bug#3809 - Segfaults in mod_radius
+	when configured with RadiusGroupInfo.
 
-2012-07-11 07:28  castaglia
+2012-07-30  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* contrib/mod_radius.c: Stylistic cleanup; no functional change.
 
-2012-07-11 07:21  castaglia
+2012-07-30  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Remove duplicate
+	variable.
 
-2012-07-09 17:52  castaglia
+2012-07-30  castaglia <castaglia>
 
-	* contrib/mod_sftp/: auth-password.c, 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.
+	* doc/howto/DSO.html: Minor update to DSO howto.
 
-2012-06-26 12:56  jwm
+2012-07-30  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: git 603e38269a: interpolate %u in the quota
-	  base DN, too
+	* contrib/mod_tls.c: Minor update/improvement to fix for Bug#3808.
 
-2012-06-26 12:54  jwm
+2012-07-30  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: git 53e5489e64: Fixed swapped DN/attr name in
-	  'no attr for' error messages.
+	* NEWS, contrib/mod_tls.c: Bug#3808 - Segfault in mod_tls when
+	mod_tls_shmcache used.
 
-2012-06-18 09:49  castaglia
+2012-07-27  castaglia <castaglia>
 
-	* NEWS, lib/tpl.c:
-	  Backport of fix for Bug#3794 to 1.3.4 branch.
+	* NEWS, src/inet.c: Bug#3804 - ioctl(RPROTDIS) code no longer needed
+	on Solaris 11.
 
-2012-06-18 09:48  castaglia
+2012-07-27  castaglia <castaglia>
 
-	* NEWS, lib/tpl.c:
-	  Bug#3794 - Cygwin build failure in lib/tpl.c due to wrong include
-	  of mman.h.
+	* 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-06-07 21:05  castaglia
+2012-07-27  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Backport of fix for Bug#3791 to 1.3.4 branch.
+	* doc/contrib/mod_tls.html: Adding documentation for new
+	TLSServerCipherPreference directive.
 
-2012-06-07 21:04  castaglia
+2012-07-27  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Bug#3791 - Invalid handling of SCP control messages fragmented
-	  over multiple SSH packets.
+	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3801 - mod_tls should
+	have directive like Apache mod_ssl's SSLHonorCipherOrder.
 
-2012-06-06 11:18  castaglia
+2012-07-26  castaglia <castaglia>
 
-	* NEWS, src/main.c:
-	  Backport of fix for Bug#3740 to 1.3.4 branch.
+	* tests/api/response.c: Remove unused variable.
 
-2012-06-06 11:18  castaglia
+2012-07-26  castaglia <castaglia>
 
-	* NEWS, src/main.c:
-	  Bug#3740 - Overwrite permission denied when reloading multiple
-	  times and multiple <VirtualHost> sections in proftpd.conf.
+	* contrib/mod_sftp/scp.c: Quell compiler warning about signedness
+	mismatch.
 
-2012-06-06 10:56  castaglia
+2012-07-25  castaglia <castaglia>
 
-	* doc/howto/Timestamps.html:
-	  Update the Timestamps howto in light of information learned from
-	  Bug#3790.
+	* 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-06-01 09:26  castaglia
+2012-07-25  castaglia <castaglia>
 
-	* doc/howto/Limit.html:
-	  Try to make it clear that <Limit ALL> does not automatically
-	  cover <Limit LOGIN> as well.
+	* contrib/mod_sftp/fxp.c: Quell compiler warning about possibly
+	uninitialized memory/variable.
 
-2012-05-31 09:29  castaglia
+2012-07-25  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Added regression test for the AllowDotLogin TLSOption, spurred by
-	  Bug#3788.
+	* contrib/mod_quotatab.c: Minor style cleanup.  Better handling of
+	errno values when creating the QuotaLock file.
 
-2012-05-31 09:15  castaglia
+2012-07-25  castaglia <castaglia>
 
-	* doc/modules/mod_core.html:
-	  Add description for the AuthOrder directive to the mod_core docs.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Regression test for
+	TLSOptions handling change, per Bug#3800.
 
-2012-05-30 16:46  castaglia
+2012-07-25  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.
+	* doc/modules/mod_facts.html: Fix markup.
 
-	  This will be the situation until Bug#3308 is fixed.
+2012-07-20  castaglia <castaglia>
 
-2012-05-30 15:56  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.
 
-	* src/prxs.in:
-	  Handle the case where prxs might be used like so:
+2012-07-20  castaglia <castaglia>
 
-	    $ prxs -c -i -d contrib/mod_sql_sqlite.c
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
+	test showing client-initiated rekeying.
 
-	  i.e. from the top-level of the source directory.
+2012-07-20  castaglia <castaglia>
 
-2012-05-30 14:53  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
+	tests for Bug#3798.
 
-	* 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-07-20  castaglia <castaglia>
 
-2012-05-30 14:52  castaglia
+	* NEWS, contrib/mod_sftp/scp.c: Bug#3798 - Downloading nonexistent
+	file via SCP results in timeout rather than error.
 
-	* 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-07-13  castaglia <castaglia>
 
-2012-05-30 10:26  castaglia
+	* NEWS, modules/mod_facts.c: Bug#3790 - Logfile timestamps change to
+	GMT after MFMT command.
 
-	* contrib/mod_sftp/: fxp.c:
-	  Additional fix to handling of OPEN attributes per spec, related
-	  to Bug#3787.
+2012-07-12  castaglia <castaglia>
 
-2012-05-29 18:03  castaglia
+	* contrib/mod_sftp/kex.c: Increase the message buffer size for some
+	KEX messages.  Fix some unintialized variable compiler warnings.
 
-	* 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-07-12  castaglia <castaglia>
 
-2012-05-29 17:27  castaglia
+	* configure: Updated configure.
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_sftp/sql.pm,
-	  t/modules/mod_sftp/sql.t:
-	  Adding regression tests for the %{transfer-status},
-	  %{transfer-failure} logging variables for SFTP sessions.
+2012-07-12  castaglia <castaglia>
 
-2012-05-29 15:42  castaglia
+	* NEWS, configure.in: Bug#3795 - ProFTPD needs to use -pthread
+	linker option if linking against OpenSSL with thread support.
 
-	* 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-07-12  castaglia <castaglia>
 
-2012-05-29 15:03  castaglia
+	* configure: Updated configure.
 
-	* contrib/mod_sftp/fxp.c:
-	  Stash enough information in the command notes for supporting the
-	  transfer logging variables properly for aborted SFTP transfers.
+2012-07-12  castaglia <castaglia>
 
-2012-05-29 14:59  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.
 
-	* 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-07-11  castaglia <castaglia>
 
-2012-05-29 13:21  castaglia
+	* configure: Updated configure.
 
-	* contrib/mod_sftp/fxp.c:
-	  Make the trace message about read-only SFTP OPENs less verbose.
+2012-07-11  castaglia <castaglia>
 
-2012-05-29 13:09  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.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding regression test for Bug#3787.
+2012-07-10  castaglia <castaglia>
 
-2012-05-29 13:08  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.
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Backport of fix for Bug#3787 to 1.3.4 branch.
+2012-06-26  jwm <jwm>
 
-2012-05-29 13:08  castaglia
+	* contrib/mod_ldap.c: git 603e38269a: interpolate %u in the quota
+	base DN, too
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Bug#3787 - Read-only SFTP OPEN request permissions not properly
-	  ignored.
+2012-06-26  jwm <jwm>
 
-2012-05-29 13:04  castaglia
+	* contrib/mod_ldap.c: git 53e5489e64: Fixed swapped DN/attr name in
+	'no attr for' error messages.
 
-	* contrib/mod_sql.c:
-	  Use the proper format string for the data type being printed.
+2012-06-18  castaglia <castaglia>
 
-2012-05-25 09:46  castaglia
+	* NEWS, lib/tpl.c: Bug#3794 - Cygwin build failure in lib/tpl.c due
+	to wrong include of mman.h.
 
-	* 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-06-08  castaglia <castaglia>
 
-2012-05-24 22:35  castaglia
+	* NEWS, contrib/mod_sftp/scp.c: Bug#3791 - Invalid handling of SCP
+	control messages fragmented over multiple SSH packets.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/CWD.pm:
-	  Additional regression tests for Bug#3785.
+2012-06-06  castaglia <castaglia>
 
-2012-05-24 22:35  castaglia
+	* NEWS, src/main.c: Bug#3740 - Overwrite permission denied when
+	reloading multiple times and multiple <VirtualHost> sections in
+	proftpd.conf.
 
-	* src/fsio.c:
-	  Additional fix needed for Bug#3785.
+2012-06-06  castaglia <castaglia>
 
-2012-05-24 16:46  castaglia
+	* doc/howto/Timestamps.html: Update the Timestamps howto in light of
+	information learned from Bug#3790.
 
-	* 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 at domain.com'
-	  works properly.
+2012-06-01  castaglia <castaglia>
 
-2012-05-24 16:17  castaglia
+	* doc/howto/Limit.html: Try to make it clear that <Limit ALL> does
+	not automatically cover <Limit LOGIN> as well.
 
-	* 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-31  castaglia <castaglia>
 
-2012-05-24 15:43  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Added regression
+	test for the AllowDotLogin TLSOption, spurred by Bug#3788.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/CWD.pm:
-	  Regression test for Bug#3785.
+2012-05-31  castaglia <castaglia>
 
-2012-05-24 15:42  castaglia
+	* doc/modules/mod_core.html: Add description for the AuthOrder
+	directive to the mod_core docs.
 
-	* NEWS, src/fsio.c:
-	  Bug#3785 - Support resolution of tilde (~) within a chrooted
-	  session.
+2012-05-30  castaglia <castaglia>
 
-	  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
-	  "/".
+	* 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-23 13:19  castaglia
+2012-05-30  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/: TestSuite/FTP.pm, Tests/Commands/ABOR.pm:
-	  Add regression test for a plain ABOR command, with no data
-	  transfer involved.
+	* 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-22 17:11  castaglia
+2012-05-30  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.
+	* 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-22 09:31  castaglia
+2012-05-30  castaglia <castaglia>
 
-	* doc/howto/NAT.html:
-	  Added another NAT-related FAQ.
+	* 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-21 22:25  castaglia
+2012-05-30  castaglia <castaglia>
 
-	* src/child.c:
-	  Stylistic nits.
+	* contrib/mod_sftp/fxp.c: Additional fix to handling of OPEN
+	attributes per spec, related to Bug#3787.
 
-2012-05-21 22:22  castaglia
+2012-05-30  castaglia <castaglia>
 
-	* src/support.c:
-	  Stylistic nits.
+	* 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-21 22:18  castaglia
+2012-05-30  castaglia <castaglia>
 
-	* modules/mod_delay.c:
-	  Stylistic cleanups.
+	* 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-21 19:25  castaglia
+2012-05-29  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.
+	* 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-21 19:25  castaglia
+2012-05-29  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#3736 - Trying to re-authenticate an existing FTP connection
-	  causes invalid 503 response.
+	* 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-21 18:46  castaglia
+2012-05-29  castaglia <castaglia>
 
-	* contrib/mod_sftp/kex.c:
-	  Typo in comment.
+	* 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-20 13:38  castaglia
+2012-05-29  castaglia <castaglia>
 
-	* src/log.c:
-	  Remove a few redundant strlen(3) calls in the "hot" paths of
-	  logging.
+	* contrib/mod_sftp/fxp.c: Make the trace message about read-only
+	SFTP OPENs less verbose.
 
-2012-05-18 10:09  castaglia
+2012-05-29  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
+	test for Bug#3787.
 
-2012-05-16 11:02  castaglia
+2012-05-29  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.
+	* NEWS, contrib/mod_sftp/fxp.c: Bug#3787 - Read-only SFTP OPEN
+	request permissions not properly ignored.
 
-2012-05-15 14:44  castaglia
+2012-05-29  castaglia <castaglia>
 
-	* NEWS, src/inet.c:
-	  Backported fix for Bug#3780 to 1.3.4 branch.
+	* contrib/mod_sql.c: Use the proper format string for the data type
+	being printed.
 
-2012-05-15 14:43  castaglia
+2012-05-25  castaglia <castaglia>
 
-	* NEWS, src/inet.c:
-	  Bug#3780 - AIX gives "error setting listen fd IP_TOS: Invalid
-	  argument".
+	* 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-14 13:23  castaglia
+2012-05-25  castaglia <castaglia>
 
-	* doc/contrib/index.html:
-	  Adding entries for mod_deflate, mod_qos to the contrib module
-	  docs.
+	* tests/t/lib/ProFTPD/Tests/Commands/CWD.pm: Additional regression
+	tests for Bug#3785.
 
-2012-05-14 09:31  castaglia
+2012-05-25  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.
+	* src/fsio.c: Additional fix needed for Bug#3785.
 
-2012-05-14 09:20  castaglia
+2012-05-24  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).
+	* 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 at domain.com' works properly.
 
-2012-05-09 21:00  castaglia
+2012-05-24  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm:
-	  Adding regression test for Bug#3782.
+	* 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-09 20:59  castaglia
+2012-05-24  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#3782 - SQLShowInfo does not work properly for error
-	  responses.
+	* tests/t/lib/ProFTPD/Tests/Commands/CWD.pm: Regression test for
+	Bug#3785.
 
-2012-05-09 20:01  castaglia
+2012-05-24  castaglia <castaglia>
 
-	* src/support.c:
-	  Stylistic nits; no functional change.
+	* 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-09 19:59  castaglia
+2012-05-23  castaglia <castaglia>
 
-	* src/pool.c:
-	  The pool_release_free_block_list() function already
-	  blocks/unblocks alarms.
+	* 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-09 19:55  castaglia
+2012-05-23  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.
+	* 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.
 
-	  Made the block_freelist symbol have file scope only; there's
-	  absolutely no reason why it should be visible outside of this
-	  file.
+2012-05-22  castaglia <castaglia>
 
-	  Stylistic nits/cleanup.
+	* doc/howto/NAT.html: Added another NAT-related FAQ.
 
-2012-05-09 19:47  castaglia
+2012-05-22  castaglia <castaglia>
 
-	* src/parser.c:
-	  Stylistic nits.
+	* src/child.c, src/support.c: Stylistic nits.
 
-2012-05-09 19:46  castaglia
+2012-05-22  castaglia <castaglia>
 
-	* modules/mod_auth_file.c:
-	  Add minor trace logging to the mod_auth_file module.	Stylistic
-	  nits, better errno reporting.
+	* modules/mod_delay.c: Stylistic cleanups.
 
-2012-05-09 11:13  castaglia
+2012-05-22  castaglia <castaglia>
 
-	* contrib/mod_sftp/keys.c:
-	  If we can't read the configured SFTPHostKey, provide a more
-	  accurate/informative error message about why.
+	* 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-08 11:37  castaglia
+2012-05-22  castaglia <castaglia>
 
-	* doc/modules/mod_core.html:
-	  Updated mod_core docs to include DisplayChdir, DisplayConnect,
-	  and DisplayQuit descriptions.
+	* NEWS, modules/mod_auth.c: Bug#3736 - Trying to re-authenticate an
+	existing FTP connection causes invalid 503 response.
 
-2012-05-08 09:51  castaglia
+2012-05-22  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.
+	* contrib/mod_sftp/kex.c: Typo in comment.
 
-2012-05-03 11:29  castaglia
+2012-05-20  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.
+	* src/log.c: Remove a few redundant strlen(3) calls in the "hot"
+	paths of logging.
 
-2012-05-02 20:20  castaglia
+2012-05-18  castaglia <castaglia>
 
-	* src/pool.c:
-	  Add the address of the pool being dumped to the output.
+	* 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-01 14:31  castaglia
+2012-05-16  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.
+	* 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-04-28 15:26  castaglia
+2012-05-15  castaglia <castaglia>
 
-	* contrib/mod_sftp/mod_sftp.c:
-	  Fix cut-n-pasto.
+	* NEWS, src/inet.c: Bug#3780 - AIX gives "error setting listen fd
+	IP_TOS: Invalid argument".
 
-2012-04-27 15:01  castaglia
+2012-05-14  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Make the TLSLog a little quieter; stop spamming the log with
-	  needless information.
+	* doc/contrib/index.html: Adding entries for mod_deflate, mod_qos to
+	the contrib module docs.
 
-2012-04-26 19:44  castaglia
+2012-05-14  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Backporting error reporting changes when dealing with certificate
-	  key files from trunk.
+	* 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-04-26 19:43  castaglia
+2012-05-14  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.
+	* 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-04-24 16:27  castaglia
+2012-05-10  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
+	regression test for Bug#3782.
 
-2012-04-24 14:50  castaglia
+2012-05-10  castaglia <castaglia>
 
-	* src/auth.c:
-	  More trace logging of some edge cases when dispatching auth
-	  commands.  Some stylistic cleanup.
+	* NEWS, contrib/mod_sql.c: Bug#3782 - SQLShowInfo does not work
+	properly for error responses.
 
-2012-04-24 13:09  castaglia
+2012-05-10  castaglia <castaglia>
 
-	* contrib/mod_sftp/keys.c:
-	  Backport mod_sftp excess fd usage fixes from trunk to 1.3.4
-	  branch.
+	* src/support.c: Stylistic nits; no functional change.
 
-2012-04-24 13:08  castaglia
+2012-05-10  castaglia <castaglia>
 
-	* contrib/mod_sftp/keys.c:
-	  Fix excess fd usage when loading passphrase-protected SSH host
-	  keys.
+	* src/pool.c: The pool_release_free_block_list() function already
+	blocks/unblocks alarms.
 
-2012-04-24 13:07  castaglia
+2012-05-10  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Turns out these explicit casts aren't needed; I just had an
-	  unclean work area.
+	* 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-04-24 12:59  castaglia
+2012-05-10  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Quell compiler warnings about mismatched pointers using an
-	  explicit cast.
+	* src/parser.c: Stylistic nits.
 
-2012-04-24 12:57  castaglia
+2012-05-10  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Backporting fixes for excess fd usage in mod_tls.
+	* modules/mod_auth_file.c: Add minor trace logging to the
+	mod_auth_file module.  Stylistic nits, better errno reporting.
 
-2012-04-24 12:56  castaglia
+2012-05-09  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.
+	* contrib/mod_sftp/keys.c: If we can't read the configured
+	SFTPHostKey, provide a more accurate/informative error message about
+	why.
 
-2012-04-24 12:21  castaglia
+2012-05-08  castaglia <castaglia>
 
-	* lib/: pr_fnmatch.c, pr_fnmatch_loop.c:
-	  Backport fix for Bug#3774 to 1.3.4 branch.
+	* doc/modules/mod_core.html: Updated mod_core docs to include
+	DisplayChdir, DisplayConnect, and DisplayQuit descriptions.
 
-2012-04-24 12:19  castaglia
+2012-05-08  castaglia <castaglia>
 
-	* lib/: pr_fnmatch.c, pr_fnmatch_loop.c:
-	  Bug#3774 - Linking libsupp.a fails (undefined reference to
-	  `__alloca').
+	* 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-04-23 14:10  castaglia
+2012-05-03  castaglia <castaglia>
 
-	* doc/howto/NAT.html:
-	  Adding MasqueradeAddress FAQ.
+	* 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-04-23 09:49  castaglia
+2012-05-03  castaglia <castaglia>
 
-	* doc/modules/: mod_auth_file.html, mod_auth_unix.html:
-	  Add FAQs about the crypt(3) first 8 character limitation.
+	* src/pool.c: Add the address of the pool being dumped to the
+	output.
 
-2012-04-20 21:11  castaglia
+2012-05-01  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/PASS.pm:
-	  Adding test proving that spaces in passwords are handled
-	  properly.
+	* 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-20 13:32  castaglia
+2012-04-28  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.
+	* contrib/mod_sftp/mod_sftp.c: Fix cut-n-pasto.
 
-2012-04-19 09:13  castaglia
+2012-04-27  castaglia <castaglia>
 
-	* NEWS, lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c:
-	  Backport of fix for Bug#3732 to 1.3.4 branch.
+	* contrib/mod_tls.c: Make the TLSLog a little quieter; stop spamming
+	the log with needless information.
 
-2012-04-19 09:13  castaglia
+2012-04-27  castaglia <castaglia>
 
-	* NEWS, lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c:
-	  Bug#3732 - AIX build error: undefined symbol: .alloca.
+	* 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-18 14:31  castaglia
+2012-04-24  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* 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-18 14:23  castaglia
+2012-04-24  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.
+	* src/auth.c: More trace logging of some edge cases when dispatching
+	auth commands.  Some stylistic cleanup.
 
-2012-04-18 08:42  castaglia
+2012-04-24  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm:
-	  Adding regression test for the ListOptions maxfiles parameter.
+	* contrib/mod_sftp/keys.c: Fix excess fd usage when loading
+	passphrase-protected SSH host keys.
 
-2012-04-16 08:48  castaglia
+2012-04-24  castaglia <castaglia>
 
-	* src/support.c:
-	  Quell compiler warnings.
+	* contrib/mod_tls.c: Turns out these explicit casts aren't needed; I
+	just had an unclean work area.
 
-2012-04-16 08:45  castaglia
+2012-04-24  castaglia <castaglia>
 
-	* contrib/mod_sftp/: fxp.c, keys.c:
-	  Quell compiler warnings (Bug#3773).
+	* contrib/mod_tls.c: Quell compiler warnings about mismatched
+	pointers using an explicit cast.
 
-2012-04-16 08:39  castaglia
+2012-04-24  castaglia <castaglia>
 
-	* modules/mod_cap.c:
-	  Fix compiler issue requiring forward reference/decclaration.
+	* 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-15 12:10  castaglia
+2012-04-24  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/HOST.pm:
-	  Remove cruft from these tests.
+	* lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: Bug#3774 - Linking
+	libsupp.a fails (undefined reference to `__alloca').
 
-2012-04-15 11:05  castaglia
+2012-04-23  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Make sure to mention HOST support in the release notes.
+	* doc/howto/NAT.html: Adding MasqueradeAddress FAQ.
 
-2012-04-15 11:04  castaglia
+2012-04-23  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.
+	* doc/modules/mod_auth_file.html, doc/modules/mod_auth_unix.html: 
+	Add FAQs about the crypt(3) first 8 character limitation.
 
-2012-04-13 07:28  castaglia
+2012-04-21  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Fix possible issue with encoding, due to passing the terminating
-	  NUL into the iconv functions (Bug#3769).
+	* tests/t/lib/ProFTPD/Tests/Commands/PASS.pm: Adding test proving
+	that spaces in passwords are handled properly.
 
-2012-04-12 08:37  castaglia
+2012-04-20  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/UserAlias.pm:
-	  Add regression test demonstrating a UserAlias which uses the '@'
-	  symbol.
+	* 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-08 08:59  castaglia
+2012-04-19  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).
+	* NEWS, lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: Bug#3732 - AIX
+	build error: undefined symbol: .alloca.
 
-2012-04-08 08:47  castaglia
+2012-04-18  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.
+	* configure: Updated configure.
 
-2012-04-07 11:21  castaglia
+2012-04-18  castaglia <castaglia>
 
-	* tests/t/: lib/ProFTPD/Tests/Logging/SystemLog.pm,
-	  logging/systemlog.t:
-	  Adding regression tests for the SystemLog directive.
+	* 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-06 09:59  castaglia
+2012-04-18  castaglia <castaglia>
 
-	* modules/Makefile.in:
-	  Make sure that if a static module fails to build (e.g. mod_sftp),
-	  the entire build is failed.
+	* tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm: Adding regression
+	test for the ListOptions maxfiles parameter.
 
-2012-04-06 09:53  castaglia
+2012-04-16  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.
+	* src/support.c: Quell compiler warnings.
 
-2012-04-06 09:45  castaglia
+2012-04-16  castaglia <castaglia>
 
-	* NEWS, src/encode.c:
-	  Backport of fix for Bug#3769 to 1.3.4 branch.
+	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/keys.c: Quell compiler
+	warnings (Bug#3773).
 
-2012-04-06 09:44  castaglia
+2012-04-16  castaglia <castaglia>
 
-	* NEWS, src/encode.c:
-	  Bug#3769 - Ensure that encoded strings are NUL-terminated.
+	* modules/mod_cap.c: Fix compiler issue requiring forward
+	reference/decclaration.
 
-2012-04-04 20:12  castaglia
+2012-04-15  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.
+	* tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Remove cruft from
+	these tests.
 
-2012-04-04 19:56  castaglia
+2012-04-15  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm:
-	  Updating the HideFiles regression tests to use testcase-specific
-	  logging.
+	* RELEASE_NOTES: Make sure to mention HOST support in the release
+	notes.
 
-2012-04-04 15:27  castaglia
+2012-04-15  castaglia <castaglia>
 
-	* contrib/: mod_tls.c:
-	  When validating OCSP responses, make sure that we validate the
-	  timestamps on the OCSP response as well.
+	* 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-04 11:37  castaglia
+2012-04-13  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.
+	* src/fsio.c: Fix possible issue with encoding, due to passing the
+	terminating NUL into the iconv functions (Bug#3769).
 
-2012-04-04 11:17  castaglia
+2012-04-12  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.
+	* tests/t/lib/ProFTPD/Tests/Config/UserAlias.pm: Add regression test
+	demonstrating a UserAlias which uses the '@' symbol.
 
-2012-04-04 08:27  castaglia
+2012-04-08  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.
+	* 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-04 08:21  castaglia
+2012-04-08  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.
+	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-03 23:10  castaglia
+2012-04-07  castaglia <castaglia>
 
-	* doc/modules/mod_log.html:
-	  Document the new %{transfer-status}, %{transfer-failure}
-	  LogFormat variables.
+	* tests/t/lib/ProFTPD/Tests/Logging/SystemLog.pm,
+	tests/t/logging/systemlog.t: Adding regression tests for the
+	SystemLog directive.
 
-2012-04-03 23:05  castaglia
+2012-04-06  castaglia <castaglia>
 
-	* modules/mod_log.c:
-	  Support the new %{transfer-status}, %{transfer-failure} LogFormat
-	  variables.
+	* modules/Makefile.in: Make sure that if a static module fails to
+	build (e.g. mod_sftp), the entire build is failed.
 
-2012-04-03 23:04  castaglia
+2012-04-06  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
-	  Added regression tests for the %{transfer-status},
-	  %{transfer-failure} LogFormat variables in ExtendedLogs.
+	* 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-03 21:51  castaglia
+2012-04-06  castaglia <castaglia>
 
-	* RELEASE_NOTES, contrib/mod_sql.c:
-	  Support the new %{transfer-status}, %{transfer-failure} variables
-	  in SQLLog directives.
+	* NEWS, src/encode.c: Bug#3769 - Ensure that encoded strings are
+	NUL-terminated.
 
-2012-04-03 21:50  castaglia
+2012-04-05  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.
+	* 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-03 13:59  castaglia
+2012-04-05  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_geoip.pm,
-	  t/modules/mod_geoip.t:
-	  Adding necessary files for writing regression tests for the
-	  mod_geoip module.
+	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Updating the
+	HideFiles regression tests to use testcase-specific logging.
 
-2012-04-03 13:54  castaglia
+2012-04-04  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm:
-	  Fix up the mod_delay tests to use testcase-specific logging.
+	* contrib/mod_tls.c: When validating OCSP responses, make sure that
+	we validate the timestamps on the OCSP response as well.
 
-2012-04-03 13:41  castaglia
+2012-04-04  castaglia <castaglia>
 
-	* README.modules, doc/contrib/mod_geoip.html:
-	  Updating other docs related to mod_geoip.
+	* 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-03 13:38  castaglia
+2012-04-04  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.
+	* 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-03 09:16  castaglia
+2012-04-04  castaglia <castaglia>
 
-	* NEWS, contrib/mod_exec.c:
-	  Bug#3768 - ExecTimeout 0 (zero) not treated as infinite.
+	* 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-03 09:03  castaglia
+2012-04-04  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm:
-	  Adding regression test for Bug#3767.
+	* 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-03 09:02  castaglia
+2012-04-04  castaglia <castaglia>
 
-	* NEWS, contrib/mod_rewrite.c:
-	  Backport of fix for Bug#3767 to 1.3.4 branch.
+	* doc/modules/mod_log.html: Document the new %{transfer-status},
+	%{transfer-failure} LogFormat variables.
 
-2012-04-03 09:01  castaglia
+2012-04-04  castaglia <castaglia>
 
-	* NEWS, contrib/mod_rewrite.c:
-	  Bug#3767 - mod_rewrite segfault when handling SITE CHGRP without
-	  a parameter.
+	* modules/mod_log.c: Support the new %{transfer-status},
+	%{transfer-failure} LogFormat variables.
 
-2012-03-30 22:52  castaglia
+2012-04-04  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm:
-	  Updating the mod_sql_sqlite tests to use testcase-specific
-	  logging.
+	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Added regression
+	tests for the %{transfer-status}, %{transfer-failure} LogFormat
+	variables in ExtendedLogs.
 
-2012-03-30 17:35  castaglia
+2012-04-04  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/mod_quotatab.c,
-	  contrib/mod_quotatab.h:
-	  Bug#3766 - Support a QuotaDefault directive, for configuring
-	  default limits.
+	* RELEASE_NOTES, contrib/mod_sql.c: Support the new
+	%{transfer-status}, %{transfer-failure} variables in SQLLog
+	directives.
 
-2012-03-30 17:34  castaglia
+2012-04-04  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm:
-	  Adding regression tests for Bug#3766 functionality (QuotaDefault
-	  directive).
+	* 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-03-30 16:24  castaglia
+2012-04-03  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm:
-	  Updating the mod_quotatab_sql regression testcases to use
-	  testcase-specific logging.
+	* 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-03-30 16:23  castaglia
+2012-04-03  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm: Fix up the
+	mod_delay tests to use testcase-specific logging.
 
-2012-03-30 14:08  castaglia
+2012-04-03  castaglia <castaglia>
 
-	* contrib/mod_sftp/: auth.c:
-	  Make sure to set the session.hide_password field to 'TRUE' for
-	  SSH2 logins.
+	* README.modules, doc/contrib/mod_geoip.html: Updating other docs
+	related to mod_geoip.
 
-2012-03-29 22:11  castaglia
+2012-04-03  castaglia <castaglia>
 
-	* include/version.h:
-	  This should mention a version of "1.3.5rc1", not "1.3.5".
+	* 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-03-29 20:28  castaglia
+2012-04-03  castaglia <castaglia>
 
-	* doc/modules/mod_auth_unix.html:
-	  Add FAQ about PersistentPasswd and "caching" of system users.
+	* NEWS, contrib/mod_exec.c: Bug#3768 - ExecTimeout 0 (zero) not
+	treated as infinite.
 
-2012-03-29 14:47  castaglia
+2012-04-03  castaglia <castaglia>
 
-	* src/data.c:
-	  Remove duplicate pr_timer_reset() call, and fix coding style.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
+	regression test for Bug#3767.
 
-2012-03-27 23:15  castaglia
+2012-04-03  castaglia <castaglia>
 
-	* tests/tests.pl:
-	  Run the HOST regression tests.
+	* NEWS, contrib/mod_rewrite.c: Bug#3767 - mod_rewrite segfault when
+	handling SITE CHGRP without a parameter.
 
-2012-03-27 23:14  castaglia
+2012-03-31  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/HOST.pm:
-	  Start building up the collection of HOST-related regression
-	  tests.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Updating the
+	mod_sql_sqlite tests to use testcase-specific logging.
 
-2012-03-27 23:14  castaglia
+2012-03-31  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Start working towards supporting the HOST command (Bug#3289).
+	* NEWS, RELEASE_NOTES, contrib/mod_quotatab.c,
+	contrib/mod_quotatab.h: Bug#3766 - Support a QuotaDefault directive,
+	for configuring default limits.
 
-2012-03-27 22:13  castaglia
+2012-03-31  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/: DELE.pm, RNTO.pm:
-	  Adding regression tests for Bug#3754.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Adding
+	regression tests for Bug#3766 functionality (QuotaDefault
+	directive).
 
-2012-03-27 22:13  castaglia
+2012-03-30  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c:
-	  Bug#3754 - ProFTPD refuses to delete/rename a symlink pointing
-	  outside a writable directory.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Updating
+	the mod_quotatab_sql regression testcases to use testcase-specific
+	logging.
 
-2012-03-26 23:32  castaglia
+2012-03-30  castaglia <castaglia>
 
-	* doc/contrib/mod_rewrite.html:
-	  Document the new mod_rewrite date/time-related variables.
+	* 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-26 23:19  castaglia
+2012-03-30  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm:
-	  Adding regression tests for Bug#3673 functionality.
+	* contrib/mod_sftp/auth.c: Make sure to set the
+	session.hide_password field to 'TRUE' for SSH2 logins.
 
-2012-03-26 23:18  castaglia
+2012-03-30  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/mod_rewrite.c:
-	  Bug#3673 - Support date/timestamp variables in mod_rewrite.
+	* include/version.h: This should mention a version of "1.3.5rc1",
+	not "1.3.5".
 
-2012-03-24 11:41  castaglia
+2012-03-30  castaglia <castaglia>
 
-	* doc/howto/Umask.html:
-	  Adding more info to the Umask howto.
+	* doc/modules/mod_auth_unix.html: Add FAQ about PersistentPasswd and
+	"caching" of system users.
 
-2012-03-24 10:06  castaglia
+2012-03-29  castaglia <castaglia>
 
-	* doc/modules/mod_core.html:
-	  Adding Umask directive description to the mod_core doc.
+	* src/data.c: Remove duplicate pr_timer_reset() call, and fix coding
+	style.
 
-2012-03-23 09:21  castaglia
+2012-03-28  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
-	  Update EXIT regression test to use the %L/%a LogFormat variables.
+	* tests/tests.pl: Run the HOST regression tests.
 
-2012-03-23 09:20  castaglia
+2012-03-28  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 (merge from
-	  trunk).
+	* tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Start building up the
+	collection of HOST-related regression tests.
 
-2012-03-23 09:20  castaglia
+2012-03-28  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.
+	* modules/mod_core.c: Start working towards supporting the HOST
+	command (Bug#3289).
 
-2012-03-22 22:49  castaglia
+2012-03-28  castaglia <castaglia>
 
-	* NEWS, src/fsio.c:
-	  Bug#3626 - Display variable %f off by a factor of 1024 on 64-bit
-	  platforms.
+	* tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
+	tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Adding regression tests
+	for Bug#3754.
 
-2012-03-22 22:37  castaglia
+2012-03-28  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding regression test for Bug#3765.
+	* NEWS, modules/mod_core.c: Bug#3754 - ProFTPD refuses to
+	delete/rename a symlink pointing outside a writable directory.
 
-2012-03-22 22:35  castaglia
+2012-03-27  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.
+	* doc/contrib/mod_rewrite.html: Document the new mod_rewrite
+	date/time-related variables.
 
-2012-03-22 10:21  castaglia
+2012-03-27  castaglia <castaglia>
 
-	* doc/modules/mod_log.html:
-	  Try to clarify that the ALL ExtendedLog command class does not
-	  include the EXIT command class.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
+	regression tests for Bug#3673 functionality.
 
-2012-03-22 09:19  castaglia
+2012-03-27  castaglia <castaglia>
 
-	* NEWS:
-	  Fix wrong bug number in NEWS.
+	* NEWS, RELEASE_NOTES, contrib/mod_rewrite.c: Bug#3673 - Support
+	date/timestamp variables in mod_rewrite.
 
-2012-03-18 17:16  castaglia
+2012-03-24  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.
+	* doc/howto/Umask.html: Adding more info to the Umask howto.
 
-2012-03-18 16:41  castaglia
+2012-03-24  castaglia <castaglia>
 
-	* doc/howto/Logging.html:
-	  Attempting to improve the Logging howto, in order to better
-	  address Bug#3540.
+	* doc/modules/mod_core.html: Adding Umask directive description to
+	the mod_core doc.
 
-2012-03-18 16:26  castaglia
+2012-03-23  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".
+	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Update EXIT
+	regression test to use the %L/%a LogFormat variables.
 
-2012-03-17 12:56  castaglia
+2012-03-23  castaglia <castaglia>
 
-	* doc/howto/Logging.html:
-	  Updating Logging howto to point to local docs (now that we have
-	  them).
+	* 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-17 12:43  castaglia
+2012-03-23  castaglia <castaglia>
 
-	* doc/modules/mod_core.html:
-	  For the SyslogFacility default, list "daemon" (although proftpd
-	  also uses "auth" for authentication messages).
+	* NEWS, src/fsio.c: Bug#3626 - Display variable %f off by a factor
+	of 1024 on 64-bit platforms.
 
-2012-03-17 12:39  castaglia
+2012-03-23  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
+	test for Bug#3765.
 
-2012-03-17 12:23  castaglia
+2012-03-23  castaglia <castaglia>
 
-	* doc/modules/mod_core.html:
-	  Adding descriptions of the SyslogFacility and SyslogLevel
-	  directives to the mod_core documentation.
+	* 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-14 15:15  castaglia
+2012-03-22  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.
+	* doc/modules/mod_log.html: Try to clarify that the ALL ExtendedLog
+	command class does not include the EXIT command class.
 
-2012-03-13 17:32  castaglia
+2012-03-22  castaglia <castaglia>
 
-	* tests/: tests.pl,
-	  t/lib/ProFTPD/Tests/Modules/mod_sql_passwd/FIPS.pm,
-	  t/modules/mod_sql_passwd/fips.t:
-	  Adding regression tests for mod_sql_passwd when it is using an
-	  OpenSSL that is in FIPS mode.
+	* NEWS: Fix wrong bug number in NEWS.
 
-2012-03-13 17:11  castaglia
+2012-03-19  castaglia <castaglia>
 
-	* src/log.c:
-	  Merge changes from trunk regarding syslog socket fds and
-	  restarts.
+	* 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-13 17:11  castaglia
+2012-03-18  castaglia <castaglia>
 
-	* src/log.c:
-	  Make sure that we get a usable syslog socket fd (read: not 0, 1,
-	  or 2) after a restart.
+	* doc/howto/Logging.html: Attempting to improve the Logging howto,
+	in order to better address Bug#3540.
 
-2012-03-13 16:23  castaglia
+2012-03-18  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.
+	* 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-13 15:36  castaglia
+2012-03-17  castaglia <castaglia>
 
-	* contrib/mod_sftp/kex.c:
-	  Add more trace logging of the name lists that mod_sftp is sending
-	  to the client.
+	* doc/howto/Logging.html: Updating Logging howto to point to local
+	docs (now that we have them).
 
-2012-03-13 14:39  castaglia
+2012-03-17  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.
+	* doc/modules/mod_core.html: For the SyslogFacility default, list
+	"daemon" (although proftpd also uses "auth" for authentication
+	messages).
 
-2012-03-13 13:15  castaglia
+2012-03-17  castaglia <castaglia>
 
-	* contrib/mod_sftp/: blacklist.c:
-	  Fix compiler warning.
+	* 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-13 12:05  castaglia
+2012-03-17  castaglia <castaglia>
 
-	* contrib/mod_sftp/: keys.c, keys.h:
-	  Forgot to update the copyright years on these files.
+	* doc/modules/mod_core.html: Adding descriptions of the
+	SyslogFacility and SyslogLevel directives to the mod_core
+	documentation.
 
-2012-03-13 12:05  castaglia
+2012-03-14  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/FIPS.pm:
-	  Adding regression tests for key-based SSH2 auth when in FIPS
-	  mode.
+	* 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-13 12:02  castaglia
+2012-03-14  castaglia <castaglia>
 
-	* contrib/mod_sftp/: auth-hostbased.c, auth-publickey.c,
-	  blacklist.c, keys.c, keys.h:
-	  Merge the key fingerprinting changes, when in FIPS mode, from
-	  trunk to the 1.3.4 branch.
+	* 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-13 11:58  castaglia
+2012-03-14  castaglia <castaglia>
 
-	* contrib/mod_sftp/: auth-hostbased.c, auth-publickey.c,
-	  blacklist.c, keys.c, 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.
+	* 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 09:53  castaglia
+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.
+	* 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 09:50  castaglia
+2012-03-13  castaglia <castaglia>
 
-	* contrib/mod_sftp/: crypto.c:
-	  Allow the 3des-ctr cipher in FIPS mode (Bug#3763).
+	* contrib/mod_sftp/kex.c: Add more trace logging of the name lists
+	that mod_sftp is sending to the client.
 
-2012-03-12 17:23  castaglia
+2012-03-13  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/cipher.c, contrib/mod_sftp/crypto.c,
-	  contrib/mod_sftp/mac.c, contrib/mod_sftp/mod_sftp.c:
-	  Backport the fix for Bug#3763 to 1.3.4 branch.
+	* 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-12 16:59  castaglia
+2012-03-13  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.)
+	* contrib/mod_sftp/blacklist.c: Fix compiler warning.
 
-2012-03-12 16:52  castaglia
+2012-03-13  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_sftp/FIPS.pm,
-	  t/modules/mod_sftp/fips.t:
-	  Adding regression tests for Bug#3763.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/FIPS.pm: Adding
+	regression tests for key-based SSH2 auth when in FIPS mode.
 
-2012-03-12 16:28  castaglia
+2012-03-13  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.
+	* 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-12 15:44  castaglia
+2012-03-13  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.
+	* 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-12 15:28  castaglia
+2012-03-13  castaglia <castaglia>
 
-	* doc/modules/mod_core.html:
-	  Make sure the Include directive docs mention how a glob pattern
-	  with no matches is handled.
+	* contrib/mod_sftp/crypto.c: Allow the 3des-ctr cipher in FIPS mode
+	(Bug#3763).
 
-2012-03-12 11:41  castaglia
+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.
+	* 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-11 15:32  castaglia
+2012-03-12  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/IfDefine.pm:
-	  Fix these tests so that they actually stop the daemon processes
-	  that they launch.
+	* 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-11 12:30  castaglia
+2012-03-12  castaglia <castaglia>
 
-	* contrib/mod_sftp/packet.c:
-	  Include the IP address of the client who sends us a DISCONNECT
-	  SSH message.
+	* 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-11 12:20  castaglia
+2012-03-12  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/: TestSuite/Utils.pm,
-	  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.
+	* 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-11 12:20  castaglia
+2012-03-12  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/ifdefine.t,
-	  t/lib/ProFTPD/Tests/Config/IfDefine.pm:
-	  Adding regression tests for the <IfDefine> directive.
+	* doc/modules/mod_core.html: Make sure the Include directive docs
+	mention how a glob pattern with no matches is handled.
 
-2012-03-11 11:45  castaglia
+2012-03-12  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/kex.c, contrib/mod_sftp/packet.c,
-	  contrib/mod_sftp/packet.h:
-	  Backport of fix for Bug#3761 to 1.3.4 branch.
+	* 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 11:44  castaglia
+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.
+	* 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>
 
-2012-03-08 15:31  castaglia
+	* contrib/mod_sftp/packet.c: Include the IP address of the client
+	who sends us a DISCONNECT SSH message.
 
-	* 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-11  castaglia <castaglia>
 
-2012-03-07 16:06  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.
 
-	* tests/: tests.pl, t/commands/site/chgrp.t,
-	  t/lib/ProFTPD/Tests/Commands/SITE/CHGRP.pm:
-	  Adding missing regression tests for the SITE CHGRP command.
+2012-03-11  castaglia <castaglia>
 
-2012-03-07 07:32  castaglia
+	* tests/t/config/ifdefine.t,
+	tests/t/lib/ProFTPD/Tests/Config/IfDefine.pm, tests/tests.pl: Adding
+	regression tests for the <IfDefine> directive.
 
-	* src/main.c:
-	  Backport the fix on handling of uname(3) return values to the
-	  1.3.4 branch.
+2012-03-11  castaglia <castaglia>
 
-2012-03-07 07:29  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.
 
-	* 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-08  castaglia <castaglia>
 
-2012-03-06 20:17  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.
 
-	* doc/contrib/mod_sftp.html, NEWS, RELEASE_NOTES:
-	  Mention the new support for loading host keys from an SSH agent
-	  in the docs.
+2012-03-08  castaglia <castaglia>
 
-2012-03-06 18:14  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.
 
-	* contrib/mod_sftp/: agent.c, keys.c, mod_sftp.c:
-	  Put the finishing touches on support for loading SSH hostkeys
-	  from an SSH agent.
+2012-03-07  castaglia <castaglia>
 
-2012-03-05 23:01  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.
 
-	* contrib/mod_sftp/: agent.c, agent.h, keys.c, mod_sftp.c:
-	  More work on getting mod_sftp ready to read hostkeys from an SSH
-	  agent.
+2012-03-07  castaglia <castaglia>
 
-2012-03-05 17:29  castaglia
+	* NEWS, RELEASE_NOTES, doc/contrib/mod_sftp.html: Mention the new
+	support for loading host keys from an SSH agent in the docs.
 
-	* 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-07  castaglia <castaglia>
 
-2012-03-05 17:17  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.
 
-	* contrib/mod_sftp/: Makefile.in, agent.c, agent.h, keys.c, keys.h,
-	  mod_sftp.c:
-	  Start working on support for obtaining hostkeys from an SSH
-	  agent, rather than from files on disk.
+2012-03-06  castaglia <castaglia>
 
-2012-03-04 14:31  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.
 
-	* RELEASE_NOTES:
-	  Updating release notes.
+2012-03-06  castaglia <castaglia>
 
-2012-03-04 14:31  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.
 
-	* 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-06  castaglia <castaglia>
 
-2012-03-04 10:32  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.
 
-	* doc/modules/mod_core.html:
-	  Fixing markup.
+2012-03-04  castaglia <castaglia>
 
-2012-03-02 15:34  castaglia
+	* RELEASE_NOTES: Updating release notes.
 
-	* RELEASE_NOTES:
-	  Call out the ECC support for mod_sftp in the release notes.
+2012-03-04  castaglia <castaglia>
 
-2012-03-02 15:07  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.
 
-	* contrib/mod_sftp/: auth-publickey.c, kex.c, keys.c, keys.h:
-	  Support use of ECDSA public keys for user/host authentication, as
-	  part of ECC support (Bug#3573).
+2012-03-04  castaglia <castaglia>
 
-2012-03-02 15:05  castaglia
+	* doc/modules/mod_core.html: Fixing markup.
 
-	* 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>
 
-2012-03-02 15:04  castaglia
+	* RELEASE_NOTES: Call out the ECC support for mod_sftp in the
+	release notes.
 
-	* tests/t/etc/modules/mod_sftp/: authorized_ecdsa256_keys,
-	  authorized_ecdsa384_keys, authorized_ecdsa521_keys,
-	  test_ecdsa256_key, test_ecdsa256_key.pub, test_ecdsa384_key,
-	  test_ecdsa384_key.pub, test_ecdsa521_key, 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-02  castaglia <castaglia>
 
-2012-03-01 15:54  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).
 
-	* src/support.c:
-	  There's no reason for this memscrub_ctr variable symbol to be
-	  visible outside of this file.
+2012-03-02  castaglia <castaglia>
 
-2012-03-01 15:51  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.
 
-	* NEWS, modules/mod_auth.c:
-	  Backported fix for Bug#3758 to 1.3.4 branch.
+2012-03-02  castaglia <castaglia>
 
-2012-03-01 15:51  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).
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#3758 - ProFTPD crashes when handling mod_gss authentication
-	  due to null pointer.
+2012-03-01  castaglia <castaglia>
 
-2012-03-01 15:17  castaglia
+	* src/support.c: There's no reason for this memscrub_ctr variable
+	symbol to be visible outside of this file.
 
-	* 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>
 
-2012-03-01 15:12  castaglia
+	* NEWS, modules/mod_auth.c: Bug#3758 - ProFTPD crashes when handling
+	mod_gss authentication due to null pointer.
 
-	* 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>
 
-2012-03-01 15:10  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).
 
-	* 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>
 
-2012-03-01 15:04  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.
 
-	* tests/t/etc/modules/mod_sftp/: ssh_host_ecdsa256_key,
-	  ssh_host_ecdsa256_key.pub, ssh_host_ecdsa384_key,
-	  ssh_host_ecdsa384_key.pub, ssh_host_ecdsa521_key,
-	  ssh_host_ecdsa521_key.pub:
-	  Adding SSH ECDSA host keys for the regression tests for Bug#3573.
+2012-03-01  castaglia <castaglia>
 
-2012-02-28 15:14  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.
 
-	* 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-03-01  castaglia <castaglia>
 
-2012-02-28 10:14  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.
 
-	* contrib/mod_ban.c:
-	  Better handling of errno values in certain cases, so that the
-	  return values (and log messages) reflect reality.
+2012-02-28  castaglia <castaglia>
 
-2012-02-27 14:48  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.
 
-	* 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-28  castaglia <castaglia>
 
-2012-02-27 13:42  castaglia
+	* contrib/mod_ban.c: Better handling of errno values in certain
+	cases, so that the return values (and log messages) reflect reality.
 
-	* locale/files.txt:
-	  Updated list of files containing strings that might need to be
-	  localized.
+2012-02-27  castaglia <castaglia>
 
-2012-02-27 13:38  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.
 
-	* 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>
 
-2012-02-27 09:26  castaglia
+	* locale/files.txt: Updated list of files containing strings that
+	might need to be localized.
 
-	* doc/modules/: mod_auth.html, mod_core.html, mod_xfer.html:
-	  Document the maximum allowed timeout value, if any, for the
-	  various Timeout directives.
+2012-02-27  castaglia <castaglia>
 
-2012-02-24 14:38  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.
 
-	* doc/modules/mod_lang.html:
-	  Updated mod_lang docs, per changes for Bug#3737.
+2012-02-27  castaglia <castaglia>
 
-2012-02-24 14:33  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.
 
-	* 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>
 
-2012-02-24 14:32  castaglia
+	* doc/modules/mod_lang.html: Updated mod_lang docs, per changes for
+	Bug#3737.
 
-	* NEWS, RELEASE_NOTES, modules/mod_lang.c:
-	  Bug#3737 - Allow UTF8 when UseEncoding is used.
+2012-02-24  castaglia <castaglia>
 
-2012-02-24 13:48  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Adding regression
+	tests for the mod_lang changes from Bug#3737.
 
-	* 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>
 
-2012-02-24 09:39  castaglia
+	* NEWS, RELEASE_NOTES, modules/mod_lang.c: Bug#3737 - Allow UTF8
+	when UseEncoding is used.
 
-	* 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>
 
-2012-02-24 08:57  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).
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm:
-	  Updated the mod_lang tests to use testcase-specific logging.
+2012-02-24  castaglia <castaglia>
 
-2012-02-24 08:46  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.
 
-	* src/netio.c:
-	  Preserve the errno value, for the sake of the caller.
+2012-02-24  castaglia <castaglia>
 
-2012-02-23 23:23  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Updated the
+	mod_lang tests to use testcase-specific logging.
 
-	* 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>
 
-2012-02-23 23:08  castaglia
+	* src/netio.c: Preserve the errno value, for the sake of the caller.
 
-	* 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>
 
-2012-02-23 22:13  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.
 
-	* doc/modules/mod_auth.html:
-	  Document the new RootRevoke parameter, per Bug#3731.
+2012-02-24  castaglia <castaglia>
 
-2012-02-23 22:02  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.
 
-	* 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>
 
-2012-02-23 17:37  castaglia
+	* doc/modules/mod_auth.html: Document the new RootRevoke parameter,
+	per Bug#3731.
 
-	* 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>
 
-2012-02-23 17:36  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.
 
-	* modules/mod_dso.c:
-	  Quell valid compiler warning about shadowed variable.
+2012-02-24  castaglia <castaglia>
 
-2012-02-23 17:33  castaglia
+	* src/table.c: Since we're only reading from /dev/urandom, we don't
+	really care about any error value from fclose(3).
 
-	* contrib/mod_ban.c:
-	  Quell compiler warning about unreachable code (but only
-	  unreachable when memcache support is not enabled).
+2012-02-24  castaglia <castaglia>
 
-2012-02-23 17:29  castaglia
+	* modules/mod_dso.c: Quell valid compiler warning about shadowed
+	variable.
 
-	* contrib/mod_sftp/rfc4716.c:
-	  Quell compiler warning about a line of code which will never be
-	  reached.
+2012-02-24  castaglia <castaglia>
 
-2012-02-23 17:22  castaglia
+	* contrib/mod_ban.c: Quell compiler warning about unreachable code
+	(but only unreachable when memcache support is not enabled).
 
-	* src/table.c:
-	  Fix compiler warning about generating the per-table random seed,
-	  when OpenSSL's RAND API is not available.
+2012-02-24  castaglia <castaglia>
 
-	  Also decided to simply add the per-table seed to the returned
-	  hash value, rather than XOR the seed in.
+	* contrib/mod_sftp/rfc4716.c: Quell compiler warning about a line of
+	code which will never be reached.
 
-2012-02-23 17:14  castaglia
+2012-02-24  castaglia <castaglia>
 
-	* src/: ctrls.c:
-	  Fixed another place in the Controls API where we weren't using
-	  the proper buffer length.
+	* 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-23 16:31  castaglia
+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.
+	* src/ctrls.c: Fixed another place in the Controls API where we
+	weren't using the proper buffer length.
 
-2012-02-23 14:25  castaglia
+2012-02-24  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_ctrls.pm:
-	  Adding regression test for Bug#3756.
+	* 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 14:22  castaglia
+2012-02-23  castaglia <castaglia>
 
-	* NEWS, modules/mod_ctrls.c, src/ctrls.c:
-	  Backport of fix for Bug#3756 to 1.3.4 branch.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ctrls.pm: Adding regression
+	test for Bug#3756.
 
-2012-02-23 14:22  castaglia
+2012-02-23  castaglia <castaglia>
 
-	* NEWS, modules/mod_ctrls.c, src/ctrls.c:
-	  Bug#3756 - mod_ctrls no longer listens on ControlsSocket after
-	  restart.
+	* NEWS, modules/mod_ctrls.c, src/ctrls.c: Bug#3756 - mod_ctrls no
+	longer listens on ControlsSocket after restart.
 
-2012-02-23 13:46  castaglia
+2012-02-23  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm:
-	  Missing testcase tag.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Missing testcase
+	tag.
 
-2012-02-23 13:12  castaglia
+2012-02-23  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Added documentation for the new IgnoreSFTPSetOwners SFTPOption
-	  (Bug#3757).
+	* doc/contrib/mod_sftp.html: Added documentation for the new
+	IgnoreSFTPSetOwners SFTPOption (Bug#3757).
 
-2012-02-23 13:10  castaglia
+2012-02-23  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding regression tests for Bug#3757.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
+	tests for Bug#3757.
 
-2012-02-23 13:10  castaglia
+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.
+	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-22 16:04  castaglia
+2012-02-23  castaglia <castaglia>
 
-	* modules/mod_dso.c:
-	  Quell compiler warning about losing pointer qualifier.
+	* modules/mod_dso.c: Quell compiler warning about losing pointer
+	qualifier.
 
-2012-02-22 08:41  castaglia
+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.
+	* 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 07:43  castaglia
+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.
+	* 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-21 17:56  castaglia
+2012-02-22  castaglia <castaglia>
 
-	* contrib/mod_ban.c:
-	  Backporting additional fix for Bug#3751 to 1.3.4 branch.
+	* 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 17:56  castaglia
+2012-02-21  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.
+	* 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 13:59  castaglia
+2012-02-21  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Config/EnvVars.pm,
-	  t/config/envvars.t:
-	  Adding regression tests for using environment variables in
-	  proftpd.conf config files.
+	* doc/utils/index.html: Better description of the prxs docs in the
+	index.
 
-2012-02-21 11:11  castaglia
+2012-02-20  castaglia <castaglia>
 
-	* doc/utils/index.html:
-	  Better description of the prxs docs in the index.
+	* doc/utils/prxs.html: Beginnings of a prxs doc.
 
-2012-02-20 10:56  castaglia
+2012-02-20  castaglia <castaglia>
 
-	* doc/utils/prxs.html:
-	  Beginnings of a prxs doc.
+	* doc/modules/mod_xfer.html: Adding descriptions for the
+	TimeoutNoTransfer, TimeoutStalled directives to the bundled docs.
 
-2012-02-20 10:37  castaglia
+2012-02-20  castaglia <castaglia>
 
-	* doc/modules/mod_xfer.html:
-	  Adding descriptions for the TimeoutNoTransfer, TimeoutStalled
-	  directives to the bundled docs.
+	* doc/modules/mod_core.html: Adding descriptions for the
+	MaxInstances, TimeoutIdle directives to the bundled docs.
 
-2012-02-20 10:28  castaglia
+2012-02-20  castaglia <castaglia>
 
-	* doc/modules/mod_core.html:
-	  Adding descriptions for the MaxInstances, TimeoutIdle directives
-	  to the bundled docs.
+	* doc/modules/mod_auth.html: Adding descriptions for the
+	TimeoutLogin, TimeoutSession directives to the bundled docs.
 
-2012-02-20 10:14  castaglia
+2012-02-19  castaglia <castaglia>
 
-	* doc/modules/mod_auth.html:
-	  Adding descriptions for the TimeoutLogin, TimeoutSession
-	  directives to the bundled docs.
+	* 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 13:37  castaglia
+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.
+	* modules/mod_auth.c: Removed unused variable which was leading to a
+	compiler warning noted in Bug#3755.
 
-2012-02-19 11:58  castaglia
+2012-02-19  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Removed unused variable which was leading to a compiler warning
-	  noted in Bug#3755.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
+	test for feature added for Bug#3707.
 
-2012-02-18 19:02  castaglia
+2012-02-19  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding regression test for feature added for Bug#3707.
+	* 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-18 18:56  castaglia
+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.
+	* 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.
 
-	  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}'.
+2012-02-18  castaglia <castaglia>
 
-	  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.
+	* configure: Updated configure.
 
-2012-02-18 18:52  castaglia
+2012-02-18  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.
+	* 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 15:56  castaglia
+2012-02-18  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* contrib/mod_sftp_sql.c: Fix up compiler warnings noted in
+	Bug#3755.
 
-2012-02-18 15:54  castaglia
+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.
+	* 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 14:44  castaglia
+2012-02-18  castaglia <castaglia>
 
-	* contrib/mod_sftp_sql.c:
-	  Fix up compiler warnings noted in Bug#3755.
+	* 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 14:37  castaglia
+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.
+	* contrib/mod_sftp/channel.c: Remove unused variable causing
+	compiler warning noted in Bug#3755.
 
-2012-02-18 14:28  castaglia
+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.
+	* 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 14:12  castaglia
+2012-02-18  castaglia <castaglia>
 
-	* contrib/mod_sftp/channel.c:
-	  Remove unused variable causing compiler warning noted in
-	  Bug#3755.
+	* contrib/mod_rewrite.c: Remove unused variable causing compiler
+	warning noted in Bug#3755.
 
-2012-02-18 14:10  castaglia
+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.
+	* contrib/mod_sql_mysql.c: Fix up the coding style and clean up some
+	compiler warnings noted in Bug#3755.
 
-2012-02-18 14:07  castaglia
+2012-02-18  castaglia <castaglia>
 
-	* contrib/mod_rewrite.c:
-	  Remove unused variable causing compiler warning noted in
-	  Bug#3755.
+	* contrib/mod_sql.c: Quell a compiler warning noted in Bug#3755.
 
-2012-02-18 14:00  castaglia
+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.
+	* src/auth.c: Stylistic cleanup, and fix a few compiler warnings
+	noted in Bug#3755.
 
-2012-02-18 13:55  castaglia
+2012-02-18  castaglia <castaglia>
 
-	* contrib/mod_sql.c:
-	  Quell a compiler warning noted in Bug#3755.
+	* modules/mod_auth.c: Fix some stylistic nits, and clean up a few
+	compiler warnings noted in Bug#3755.
 
-2012-02-18 13:53  castaglia
+2012-02-17  castaglia <castaglia>
 
-	* src/auth.c:
-	  Stylistic cleanup, and fix a few compiler warnings noted in
-	  Bug#3755.
+	* src/lastlog.c: Use explicit cast to time_t pointer, to avoid
+	compiler warnings on some platforms.
 
-2012-02-18 13:51  castaglia
+2012-02-17  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Fix some stylistic nits, and clean up a few compiler warnings
-	  noted in Bug#3755.
+	* 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 14:43  castaglia
+2012-02-17  castaglia <castaglia>
 
-	* src/: lastlog.c:
-	  Use explicit cast to time_t pointer, to avoid compiler warnings
-	  on some platforms.
+	* 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 07:32  castaglia
+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.
+	* 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-16 17:53  castaglia
+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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Added regression
+	test for Bug#3751 (mod_ban-related fd leak).
 
-2012-02-16 17:19  castaglia
+2012-02-16  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ban.c:
-	  Backport of fix for Bug#3751 to 1.3.4 branch.
+	* 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 17:18  castaglia
+2012-02-16  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.
+	* 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 17:08  castaglia
+2012-02-16  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm:
-	  Added regression test for Bug#3751 (mod_ban-related fd leak).
+	* 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 15:17  castaglia
+2012-02-16  castaglia <castaglia>
 
-	* NEWS, src/bindings.c, src/inet.c:
-	  Backport of fix for Bug#3752 to 1.3.4 branch.
+	* src/scoreboard.c: Clean up warnings in the Scoreboard API code.
 
-2012-02-16 15:17  castaglia
+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.
+	* 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 09:02  castaglia
+2012-02-16  castaglia <castaglia>
 
-	* tests/api/response.c:
-	  Backport of fix for Bug#3750 to 1.3.4 branch.
+	* contrib/mod_sftp/fxp.c: Missed part of the "unsigned char" merge.
 
-2012-02-16 09:01  castaglia
+2012-02-15  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).
+	* 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 16:18  castaglia
+2012-02-15  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.
+	* contrib/mod_sftp/kex.c: Fix minor issue pointed out by valgrind,
+	where we were not tracking the length properly.
 
-2012-02-15 16:13  castaglia
+2012-02-15  castaglia <castaglia>
 
-	* src/scoreboard.c:
-	  Clean up warnings in the Scoreboard API code.
+	* NEWS, contrib/mod_sftp/fxp.c: Bug#3743 - Random stalls/segfaults
+	seen when transferring large files via SFTP.
 
-2012-02-15 16:13  castaglia
+2012-02-15  castaglia <castaglia>
 
-	* src/table.c:
-	  Include the <openssl/rand.h> header, if OpenSSL is enabled, so
-	  that we get the proper RAND_* function definitions.
+	* 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 16:03  castaglia
+2012-02-15  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Missed part of the "unsigned char" merge.
+	* tests/api/scoreboard.c, tests/api/stubs.c: Fix unit tests to
+	compile properly.
 
-2012-02-15 15:50  castaglia
+2012-02-15  castaglia <castaglia>
 
-	* contrib/mod_sftp/: auth-hostbased.c, auth-kbdint.c,
-	  auth-password.c, auth-publickey.c, auth.c, auth.h, blacklist.c,
-	  blacklist.h, channel.c, channel.h, cipher.c, date.c, date.h,
-	  disconnect.c, fxp.c, fxp.h, kbdint.c, kex.c, keys.c, keys.h,
-	  keystore.c, keystore.h, mac.c, mod_sftp.h.in, msg.c, msg.h,
-	  packet.c, packet.h, rfc4716.c, scp.c, scp.h, service.c, 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.
+	* contrib/mod_sftp/packet.c: Missing return value.
 
-2012-02-15 15:38  castaglia
+2012-02-14  castaglia <castaglia>
 
-	* contrib/mod_sftp/: kex.c:
-	  Fix minor issue pointed out by valgrind, where we were not
-	  tracking the length properly.
+	* 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-15 15:18  castaglia
+2012-02-14  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Forgot to update the copyright date, since this file was modified
-	  in 2012.
+	* contrib/mod_sftp/packet.c: Comment typo.
 
-2012-02-15 15:15  castaglia
+2012-02-10  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Backport of fix for Bug#3743 to 1.3.4 branch.
+	* tests/t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm: Updating the
+	TimeoutIdle test cases to use testcase-specific logging.
 
-2012-02-15 15:14  castaglia
+2012-02-10  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Bug#3743 - Random stalls/segfaults seen when transferring large
-	  files via SFTP.
+	* doc/modules/mod_auth.html: Adding description of MaxLoginAttempts
+	directive to mod_auth docs.
 
-2012-02-15 14:10  castaglia
+2012-02-10  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.
+	* 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-15 11:03  castaglia
+2012-02-10  castaglia <castaglia>
 
-	* tests/api/: scoreboard.c, stubs.c:
-	  Fix unit tests to compile properly.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
+	tests for Bug#3742.
 
-2012-02-14 16:31  castaglia
+2012-02-10  castaglia <castaglia>
 
-	* contrib/mod_sftp/packet.c:
-	  Missing return value.
+	* 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-14 10:38  castaglia
+2012-02-10  castaglia <castaglia>
 
-	* NEWS, src/netacl.c:
-	  Backport of fix for Bug#3749 to 1.3.4 branch.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Updating the main
+	mod_tls tests to use testcase-specific logging.
 
-2012-02-14 10:38  castaglia
+2012-02-09  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Adding testcase for
+	mod_ban's BanOnEvent ClientConnectRate functionality.
 
-2012-02-13 16:10  castaglia
+2012-02-09  castaglia <castaglia>
 
-	* contrib/mod_sftp/packet.c:
-	  Comment typo.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Making sure that all
+	of the existing mod_ban testcases pass.
 
-2012-02-09 21:33  castaglia
+2012-02-09  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm:
-	  Updating the TimeoutIdle test cases to use testcase-specific
-	  logging.
+	* 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 19:18  castaglia
+2012-02-09  castaglia <castaglia>
 
-	* doc/modules/mod_auth.html:
-	  Adding description of MaxLoginAttempts directive to mod_auth
-	  docs.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Updating mod_ban
+	testcases to use testcase-specific logging.
 
-2012-02-09 18:25  castaglia
+2012-02-09  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Backport of fix for Bug#3742 to 1.3.4 branch.
+	* 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 18:25  castaglia
+2012-02-09  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.
+	* 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-09 18:14  castaglia
+2012-02-08  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Adding regression tests for Bug#3742.
+	* 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-09 18:14  castaglia
+2012-02-08  castaglia <castaglia>
 
-	* tests/t/etc/modules/mod_tls/: bug3742-ca.pem, bug3742-client.pem:
+	* NEWS, RELEASE_NOTES, src/scoreboard.c, tests/api/scoreboard.c: 
+	Bug#3701 - Modify ScoreboardFile directive to support disabling
+	scoreboarding.
 
-	  Adding some supporting certs used for testing Bug#3742.
+2012-02-06  castaglia <castaglia>
 
-2012-02-09 17:10  castaglia
+	* doc/modules/mod_ls.html: Updated mod_ls docs.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Updating the main mod_tls tests to use testcase-specific logging.
+2012-02-05  castaglia <castaglia>
 
-2012-02-09 11:37  castaglia
+	* NEWS, modules/mod_core.c: Bug#3745 - Reject PASV command if no
+	IPv4 address available.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm:
-	  Adding testcase for mod_ban's BanOnEvent ClientConnectRate
-	  functionality.
+2012-02-05  castaglia <castaglia>
 
-2012-02-09 10:11  castaglia
+	* modules/mod_core.c: More minor stylistic changes.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm:
-	  Making sure that all of the existing mod_ban testcases pass.
+2012-02-05  castaglia <castaglia>
 
-2012-02-09 10:08  castaglia
+	* modules/mod_core.c: More style changes; no functional change.
 
-	* 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-05  castaglia <castaglia>
 
-2012-02-09 09:54  castaglia
+	* modules/mod_core.c: Clean up of some of the coding style; no
+	functional change.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm:
-	  Updating mod_ban testcases to use testcase-specific logging.
+2012-02-05  castaglia <castaglia>
 
-2012-02-08 22:38  castaglia
+	* src/proftpd.8.in: Bug#3748 - Update FILES section in proftpd(8)
+	man page.  List the /etc/ftpusers file in the FILES section.
 
-	* 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-03  castaglia <castaglia>
 
-2012-02-08 22:34  castaglia
+	* doc/modules/mod_facts.html: Added docs for FactsOptions directive.
 
-	* 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-03  castaglia <castaglia>
 
-2012-02-07 19:26  castaglia
+	* NEWS, RELEASE_NOTES, modules/mod_facts.c: Bug#3747 - Support
+	option for displaying symlinks via MLSD using syntax preferred by
+	FileZilla.
 
-	* doc/: modules/mod_core.html, howto/Scoreboard.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-03  castaglia <castaglia>
 
-2012-02-07 19:11  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm: Updating
+	ShowSymlinks regression tests to work properly on a Mac.
 
-	* NEWS, RELEASE_NOTES, src/scoreboard.c, tests/api/scoreboard.c:
-	  Bug#3701 - Modify ScoreboardFile directive to support disabling
-	  scoreboarding.
+2012-02-03  castaglia <castaglia>
 
-2012-02-06 09:54  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).
 
-	* doc/modules/mod_ls.html:
-	  Updated mod_ls docs.
+2012-02-03  castaglia <castaglia>
 
-2012-02-05 10:29  castaglia
+	* doc/modules/mod_facts.html: Minor update to the MLSD FAQs.
 
-	* NEWS, modules/mod_core.c:
-	  Bug#3745 - Reject PASV command if no IPv4 address available.
+2012-02-02  castaglia <castaglia>
 
-2012-02-05 10:25  castaglia
+	* doc/howto/ListOptions.html: Update the ListOptions howto to
+	mention the LISTOnly, NLSTOnly, and NoErrorIfAbsent keywords.
 
-	* modules/mod_core.c:
-	  More minor stylistic changes.
+2012-02-02  castaglia <castaglia>
 
-2012-02-05 10:08  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm: Supply regression
+	tests for the LISTOnly, NLSTOnly keywords for the ListOptions
+	directive (Bug#3746).
 
-	* modules/mod_core.c:
-	  More style changes; no functional change.
+2012-02-02  castaglia <castaglia>
 
-2012-02-05 10:04  castaglia
+	* RELEASE_NOTES: Update release notes with stubs about the
+	ListOptions changes.
 
-	* modules/mod_core.c:
-	  Clean up of some of the coding style; no functional change.
+2012-02-02  castaglia <castaglia>
 
-2012-02-05 09:39  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.
 
-	* 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-01  castaglia <castaglia>
 
-2012-02-02 23:15  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm: Adding regression
+	tests for the new -1 ListOption added for Bug#3744.
 
-	* doc/modules/mod_facts.html:
-	  Added docs for FactsOptions directive.
+2012-02-01  castaglia <castaglia>
 
-2012-02-02 23:02  castaglia
+	* NEWS, modules/mod_ls.c: Bug#3744 - Support ls(1) -1 option for
+	LIST command.
 
-	* NEWS, RELEASE_NOTES, modules/mod_facts.c:
-	  Backported fix for Bug#3747 to 1.3.4 branch.
+2012-02-01  castaglia <castaglia>
 
-2012-02-02 23:00  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.
 
-	* NEWS, RELEASE_NOTES, modules/mod_facts.c:
-	  Bug#3747 - Support option for displaying symlinks via MLSD using
-	  syntax preferred by FileZilla.
+2012-01-31  castaglia <castaglia>
 
-2012-02-02 22:56  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm:
-	  Updating ShowSymlinks regression tests to work properly on a Mac.
+2012-01-27  castaglia <castaglia>
 
-2012-02-02 22:30  castaglia
+	* tests/api/scoreboard.c: Forgot to update unit tests to match
+	Scoreboard API change.
 
-	* tests/: tests.pl, t/config/factsoptions.t,
-	  t/lib/ProFTPD/Tests/Config/FactsOptions.pm:
-	  Adding regression tests for the new FactsOptions directive
-	  (Bug#3747).
+2012-01-27  castaglia <castaglia>
 
-2012-02-02 20:50  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.
 
-	* doc/modules/mod_facts.html:
-	  Minor update to the MLSD FAQs.
+2012-01-26  castaglia <castaglia>
 
-2012-02-01 16:40  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).
 
-	* doc/howto/ListOptions.html:
-	  Update the ListOptions howto to mention the LISTOnly, NLSTOnly,
-	  and NoErrorIfAbsent keywords.
+2012-01-25  castaglia <castaglia>
 
-2012-02-01 16:30  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm:
-	  Supply regression tests for the LISTOnly, NLSTOnly keywords for
-	  the ListOptions directive (Bug#3746).
+2012-01-25  castaglia <castaglia>
 
-2012-02-01 16:29  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm: Update the
+	ServerIdent test cases to use the testcase-specific logging.
 
-	* RELEASE_NOTES:
-	  Update release notes with stubs about the ListOptions changes.
+2012-01-25  castaglia <castaglia>
 
-2012-02-01 16:28  castaglia
+	* doc/modules/mod_core.html: Add docs for the ServerIdent directive
+	to the mod_core documentation.
 
-	* 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-01-25  castaglia <castaglia>
 
-2012-02-01 14:04  castaglia
+	* doc/contrib/mod_sftp.html: Updating mod_sftp docs with mention of
+	using ServerIdent.
 
-	* tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm:
-	  Adding regression tests for the new -1 ListOption added for
-	  Bug#3744.
+2012-01-25  castaglia <castaglia>
 
-2012-02-01 14:03  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.
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#3744 - Support ls(1) -1 option for LIST command.
+2012-01-25  castaglia <castaglia>
 
-2012-02-01 13:21  castaglia
+	* NEWS, lib/pr-syslog.c: Bug#3699 - ProFTPD crash on start up on Mac
+	OSX Lion with NLS enabled.
 
-	* 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.
+2012-01-25  castaglia <castaglia>
 
-	  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.
+	* configure: Updated configure.
 
-2012-01-30 16:23  castaglia
+2012-01-25  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.
+	* NEWS, config.h.in, configure.in: Bug#3718 - ftptop fails to build
+	on OpenSUSE.
 
-2012-01-26 17:16  castaglia
+2012-01-25  castaglia <castaglia>
 
-	* tests/api/scoreboard.c:
-	  Forgot to update unit tests to match Scoreboard API change.
+	* RELEASE_NOTES: Update release notes, mentioning mod_sftp and the
+	ServerIdent directive.
 
-2012-01-26 17:02  castaglia
+2012-01-25  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding tests for
+	the ServerIdent directive and mod_sftp, for Bug#3739.
 
-2012-01-26 09:55  castaglia
+2012-01-25  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).
+	* 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-25 08:29  castaglia
+2012-01-23  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.
+	* 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.
 
-	  Avoid this confusion in the future, and simply store the parsed
-	  Boolean value in the config_rec as is.
+2012-01-23  castaglia <castaglia>
 
-2012-01-25 08:26  castaglia
+	* contrib/mod_tls.c: Bug#3738 - Fix the handling of SSL_shutdown()
+	return value so that shutdown errors are properly logged in TLSLog.
 
-	* tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm:
-	  Update the ServerIdent test cases to use the testcase-specific
-	  logging.
+2012-01-20  castaglia <castaglia>
 
-2012-01-25 08:16  castaglia
+	* contrib/dist/rpm/proftpd.spec: Bug#3735 - RPM spec: proftpd-devel
+	package should require gcc and libtool.
 
-	* doc/modules/mod_core.html:
-	  Add docs for the ServerIdent directive to the mod_core
-	  documentation.
+2012-01-20  castaglia <castaglia>
 
-2012-01-25 08:11  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.
 
-	* doc/contrib/mod_sftp.html:
-	  Updating mod_sftp docs with mention of using ServerIdent.
+2012-01-17  castaglia <castaglia>
 
-2012-01-24 23:20  castaglia
+	* NEWS, modules/mod_facts.c: Bug#3734 - DirFakeUser/DirFakeGroup off
+	with name causes SIGSEGV for MLSD/MLST commands.
 
-	* 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-17  castaglia <castaglia>
 
-2012-01-24 23:04  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/DirFakeUser.pm: Adding regression
+	tests for Bug#3734.
 
-	* NEWS, lib/pr-syslog.c:
-	  Backported fix for Bug#3699 to 1.3.4 branch.
+2012-01-13  castaglia <castaglia>
 
-2012-01-24 23:03  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.
 
-	* NEWS, lib/pr-syslog.c:
-	  Bug#3699 - ProFTPD crash on start up on Mac OSX Lion with NLS
-	  enabled.
+2012-01-09  castaglia <castaglia>
 
-2012-01-24 22:48  castaglia
+	* doc/contrib/mod_ban.html: Add mod_ban FAQ about BanOnEvent and
+	MaxLoginAttempts.
 
-	* configure:
-	  Updated configure.
+2012-01-06  castaglia <castaglia>
 
-2012-01-24 22:47  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]".
 
-	* NEWS, config.h.in, configure.in:
-	  Backported fix for Bug#3718 to 1.3.4 branch.
+2012-01-04  castaglia <castaglia>
 
-2012-01-24 22:46  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.
 
-	* NEWS, config.h.in, configure.in:
-	  Bug#3718 - ftptop fails to build on OpenSUSE.
+2012-01-03  castaglia <castaglia>
 
-2012-01-24 22:27  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).
 
-	* RELEASE_NOTES:
-	  Update release notes, mentioning mod_sftp and the ServerIdent
-	  directive.
+2012-01-03  castaglia <castaglia>
 
-2012-01-24 22:26  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.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding tests for the ServerIdent directive and mod_sftp, for
-	  Bug#3739.
+2012-01-02  castaglia <castaglia>
 
-2012-01-24 22:25  castaglia
+	* src/table.c: Adding some comments/notes about hashing to
+	src/table.c, for my future reference.
 
-	* 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-02  castaglia <castaglia>
 
-2012-01-23 11:47  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).
 
-	* 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-02  castaglia <castaglia>
 
-2012-01-22 17:54  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.
 
-	* contrib/mod_tls.c:
-	  Backport fix for Bug#3738 to 1.3.4 branch.
+2011-12-29  castaglia <castaglia>
 
-2012-01-22 17:53  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.
 
-	* contrib/mod_tls.c:
-	  Bug#3738 - Fix the handling of SSL_shutdown() return value so
-	  that shutdown errors are properly logged in TLSLog.
+2011-12-29  castaglia <castaglia>
 
-2012-01-19 19:04  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
+	case for a second USERAUTH_REQUEST.
 
-	* contrib/dist/rpm/proftpd.spec:
-	  Backporting fix for Bug#3735 to 1.3.4 branch.
+2011-12-29  castaglia <castaglia>
 
-2012-01-19 19:01  castaglia
+	* contrib/mod_sftp/packet.c: Properly ignore an USERAUTH_REQUEST
+	from a client which has already authenticated.
 
-	* contrib/dist/rpm/proftpd.spec:
-	  Bug#3735 - RPM spec: proftpd-devel package should require gcc and
-	  libtool.
+2011-12-28  castaglia <castaglia>
 
-2012-01-19 18:04  castaglia
+	* contrib/mod_sftp/auth.c: Add better errno handling during SSH
+	authentication, so that the logged messages are more accurate.
 
-	* 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.
+2011-12-22  castaglia <castaglia>
 
-2012-01-16 16:51  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.
 
-	* NEWS, modules/mod_facts.c:
-	  Bug#3734 - DirFakeUser/DirFakeGroup off with name causes SIGSEGV
-	  for MLSD/MLST commands.
+2011-12-21  castaglia <castaglia>
 
-2012-01-16 16:40  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/DirFakeUser.pm:
-	  Adding regression tests for Bug#3734.
+2011-12-21  castaglia <castaglia>
 
-2012-01-12 21:42  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.
 
-	* 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.
+2011-12-21  castaglia <castaglia>
 
-2012-01-08 17:33  castaglia
+	* NEWS, src/wtmp.c: Bug#3728 - Build failure in wtmp.c on
+	Gentoo/FreeBSD on sparc.
 
-	* doc/contrib/mod_ban.html:
-	  Add mod_ban FAQ about BanOnEvent and MaxLoginAttempts.
+2011-12-21  castaglia <castaglia>
 
-2012-01-06 10:09  castaglia
+	* NEWS: Mention that Bug#3729 was fixed.
 
-	* 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]".
+2011-12-20  castaglia <castaglia>
 
-2012-01-05 09:23  castaglia
+	* src/filter.c: Include the filter pattern string in the Filter
+	trace messages.
 
-	* contrib/.cvsignore:
-	  Tell CVS to ignore the generated contrib/Makefile.
+2011-12-20  castaglia <castaglia>
 
-2012-01-03 20:44  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Add
+	regression/reproduction recipe for using PathDenyFilter to block
+	uploads of any dot files.
 
-	* 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.
+2011-12-20  castaglia <castaglia>
 
-2012-01-02 16:32  castaglia
+	* doc/howto/Filters.html: Add PathDenyFilter example for how to
+	block uploads of any/all dot files.
 
-	* 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).
+2011-12-19  castaglia <castaglia>
 
-2012-01-02 16:30  castaglia
+	* configure: Updated configure.
 
-	* src/: auth.c, memcache.c:
-	  Update the key hash callbacks used elsewhere in proftpd to take
-	  the additional random hash "seed" value into account.
+2011-12-19  castaglia <castaglia>
 
-2012-01-02 15:31  castaglia
+	* configure.in: In order to support C++ modules (Bug#3079), we need
+	to add configure-time checks for a C++ compiler.
 
-	* src/table.c:
-	  Adding some comments/notes about hashing to src/table.c, for my
-	  future reference.
+2011-12-18  jwm <jwm>
 
-2012-01-02 15:21  castaglia
+	* README.LDAP, contrib/mod_ldap.c: git 9d4234fbd69: prevent segfault
+	when no user filters are specified
 
-	* 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.
+2011-12-14  castaglia <castaglia>
 
-	  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).
+	* doc/modules/mod_lang.html: Add a mod_lang FAQ about the list of
+	translations currently provided for proftpd.
 
-2012-01-02 15:04  castaglia
+2011-12-14  castaglia <castaglia>
 
-	* include/table.h, src/table.c, tests/api/table.c:
-	  Fix some issues with ProFTPD'd pr_table_t handling.
+	* 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.
 
-	  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.
+2011-12-14  castaglia <castaglia>
 
-	  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Added
+	regression test for Bug#3727.
 
-	  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-14  castaglia <castaglia>
 
-2011-12-28 20:37  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.
 
-	* 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-14  castaglia <castaglia>
 
-2011-12-28 20:36  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Updating
+	mod_wrap2_file regression tests to use testcase-specific logging.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Added regression case for a second USERAUTH_REQUEST.
+2011-12-14  castaglia <castaglia>
 
-2011-12-28 20:34  castaglia
+	* contrib/mod_copy.c: Updating mod_copy to use the renamed
+	cmd_rec.cmd_class struct member.
 
-	* contrib/mod_sftp/packet.c:
-	  Properly ignore an USERAUTH_REQUEST from a client which has
-	  already authenticated.
+2011-12-13  castaglia <castaglia>
 
-2011-12-28 14:51  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.
 
-	* contrib/mod_sftp/auth.c:
-	  Add better errno handling during SSH authentication, so that the
-	  logged messages are more accurate.
+2011-12-13  castaglia <castaglia>
 
-2011-12-21 16:53  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.
 
-	* tests/: tests.pl, t/config/umask.t,
-	  t/lib/ProFTPD/Tests/Config/Umask.pm:
-	  Start working on regression tests for the Umask directive.
+2011-12-13  castaglia <castaglia>
 
-2011-12-20 21:17  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.
 
-	* 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-13  castaglia <castaglia>
 
-2011-12-20 20:16  castaglia
+	* NEWS, contrib/mod_exec.c: Bug#3726 - mod_exec does not always
+	capture stdout/stderr output from executed command.
 
-	* 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-13  castaglia <castaglia>
 
-2011-12-20 19:09  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Fix broken LIST
+	regression test which only runs with rootprivs.
 
-	* NEWS, src/wtmp.c:
-	  Backported fix for Bug#3728 to 1.3.4 branch.
+2011-12-12  castaglia <castaglia>
 
-2011-12-20 18:58  castaglia
+	* contrib/mod_exec.c: Stupid typo.
 
-	* NEWS, src/wtmp.c:
-	  Bug#3728 - Build failure in wtmp.c on Gentoo/FreeBSD on sparc.
+2011-12-12  castaglia <castaglia>
 
-2011-12-20 16:14  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).
 
-	* NEWS, README.LDAP, contrib/mod_ldap.c:
-	  Backporting fix for Bug#3729 to 1.3.4 branch.
+2011-12-12  castaglia <castaglia>
 
-2011-12-20 16:13  castaglia
+	* contrib/mod_ban.c: Update mod_ban to use session.conn_class struct
+	member.
 
-	* NEWS:
-	  Mention that Bug#3729 was fixed.
+2011-12-12  castaglia <castaglia>
 
-2011-12-20 14:56  castaglia
+	* contrib/mod_exec.c: Updated mod_exec to use session.conn_class
+	struct member.
 
-	* src/filter.c:
-	  Include the filter pattern string in the Filter trace messages.
+2011-12-12  castaglia <castaglia>
 
-2011-12-20 13:40  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm:
-	  Add regression/reproduction recipe for using PathDenyFilter to
-	  block uploads of any dot files.
+2011-12-12  castaglia <castaglia>
 
-2011-12-20 13:39  castaglia
+	* configure: Updated configure.
 
-	* doc/howto/Filters.html:
-	  Add PathDenyFilter example for how to block uploads of any/all
-	  dot files.
+2011-12-11  castaglia <castaglia>
 
-2011-12-18 17:34  castaglia
+	* configure.in: Typo.
 
-	* configure:
-	  Updated configure.
+2011-12-11  castaglia <castaglia>
 
-2011-12-18 17:31  castaglia
+	* configure: Updated configure.
 
-	* configure.in:
-	  In order to support C++ modules (Bug#3079), we need to add
-	  configure-time checks for a C++ compiler.
+2011-12-11  castaglia <castaglia>
 
-2011-12-17 18:12  jwm
+	* NEWS, configure.in: Bug#3682 - Configure does not detect libiconv
+	under Gentoo FreeBSD.
 
-	* contrib/mod_ldap.c, README.LDAP: git 9d4234fbd69: prevent
-	  segfault when no user filters are specified
+2011-12-11  castaglia <castaglia>
 
-2011-12-14 14:01  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.
 
-	* doc/modules/mod_lang.html:
-	  Add a mod_lang FAQ about the list of translations currently
-	  provided for proftpd.
+2011-12-11  castaglia <castaglia>
 
-2011-12-14 13:45  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).
 
-	* 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-11  castaglia <castaglia>
 
-2011-12-14 10:54  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).
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm:
-	  Added regression test for Bug#3727.
+2011-12-11  castaglia <castaglia>
 
-2011-12-14 10:52  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).
 
-	* NEWS, contrib/mod_sftp/auth.c, contrib/mod_wrap2/mod_wrap2.c:
-	  Backport of fix for Bug#3727 to 1.3.4 branch.
+2011-12-10  castaglia <castaglia>
 
-2011-12-14 10:51  castaglia
+	* doc/contrib/mod_tls.html: Mention the TLSv1.1 and TLSv1.2 values
+	for the TLSProtocol directive in the mod_tls docs.
 
-	* 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-10  castaglia <castaglia>
 
-2011-12-14 10:02  castaglia
+	* configure: Updated configure.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm:
-	  Updating mod_wrap2_file regression tests to use testcase-specific
-	  logging.
+2011-12-10  castaglia <castaglia>
 
-2011-12-13 16:57  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.
 
-	* contrib/mod_copy.c:
-	  Updating mod_copy to use the renamed cmd_rec.cmd_class struct
-	  member.
+2011-12-10  castaglia <castaglia>
 
-2011-12-13 14:54  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).
 
-	* 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-10  castaglia <castaglia>
 
-2011-12-13 14:48  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm: Add regression
+	tests for HideGroup and the NLST and MLSD commands.
 
-	* 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-10  castaglia <castaglia>
 
-2011-12-13 13:55  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm: Updating the
+	HideGroup config regression tests to use testcase-specific logging.
 
-	* 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-10  castaglia <castaglia>
 
-2011-12-13 13:33  castaglia
+	* doc/modules/mod_core.html: Adding descriptions for HideGroup,
+	HideNoAccess, and HideUser directives to the mod_core documentation.
 
-	* NEWS, contrib/mod_exec.c:
-	  Backport of fix for Bug#3726 to 1.3.4 branch.
+2011-12-10  castaglia <castaglia>
 
-2011-12-13 13:32  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Adding
+	regression test for a <Directory> configuration posted in the
+	forums.
 
-	* NEWS, contrib/mod_exec.c:
-	  Bug#3726 - mod_exec does not always capture stdout/stderr output
-	  from executed command.
+2011-12-10  castaglia <castaglia>
 
-2011-12-12 21:55  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Updating
+	<Directory>/<Limit> regression test cases to use testcase-specific
+	logging.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm:
-	  Fix broken LIST regression test which only runs with rootprivs.
+2011-12-10  castaglia <castaglia>
 
-2011-12-12 11:22  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.
 
-	* contrib/mod_exec.c:
-	  Stupid typo.
+2011-12-10  castaglia <castaglia>
 
-2011-12-12 11:20  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.
 
-	* 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-10  castaglia <castaglia>
 
-2011-12-12 11:14  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).
 
-	* contrib/mod_ban.c:
-	  Update mod_ban to use session.conn_class struct member.
+2011-12-10  castaglia <castaglia>
 
-2011-12-12 11:12  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.
 
-	* contrib/mod_exec.c:
-	  Updated mod_exec to use session.conn_class struct member.
+2011-12-10  castaglia <castaglia>
 
-2011-12-11 20:23  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.
 
-	* 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-09  castaglia <castaglia>
 
-2011-12-11 16:09  castaglia
+	* RELEASE_NOTES: Fill in a little more of the release notes, for
+	later fleshing out.
 
-	* configure:
-	  Updated configure.
+2011-12-09  castaglia <castaglia>
 
-2011-12-11 15:41  castaglia
+	* doc/contrib/mod_ifsession.html: Add documentation for the new
+	<IfAuthenticated> mod_ifsession config section.
 
-	* configure.in:
-	  Typo.
+2011-12-09  castaglia <castaglia>
 
-2011-12-11 11:51  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Updating test
+	cases to use testcase-specific logging.  Adding regression test for
+	Bug#3629.
 
-	* configure:
-	  Updated configure.
+2011-12-09  castaglia <castaglia>
 
-2011-12-11 11:49  castaglia
+	* NEWS, contrib/mod_ifsession.c: Bug#3629 - Support
+	<IfAuthenticated> conditional config section.
 
-	* NEWS, configure.in:
-	  Backported fix for Bug#3682 to 1.3.4 branch.
+2011-12-09  castaglia <castaglia>
 
-2011-12-11 11:48  castaglia
+	* doc/contrib/mod_sftp.html: Document the new SHA2 SSH2 digests
+	supported by the SFTPDigests directive.
 
-	* NEWS, configure.in:
-	  Bug#3682 - Configure does not detect libiconv under Gentoo
-	  FreeBSD.
+2011-12-08  castaglia <castaglia>
 
-2011-12-10 19:36  castaglia
+	* contrib/mod_sftp/configure: Updating mod_sftp configure.
 
-	* 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-08  castaglia <castaglia>
 
-2011-12-10 18:37  castaglia
+	* NEWS, contrib/mod_sftp/crypto.c: Bug#3686 - Support SHA2 digests
+	in mod_sftp.
 
-	* 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-08  castaglia <castaglia>
 
-2011-12-10 18:33  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.
 
-	* RELEASE_NOTES, contrib/mod_site_misc.c, 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/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-07  castaglia <castaglia>
 
-2011-12-10 18:14  castaglia
+	* src/inet.c: Remove extraneous space and period.
 
-	* RELEASE_NOTES, contrib/mod_ifsession.c, contrib/mod_quotatab.c,
-	  contrib/mod_rewrite.c, contrib/mod_sql.c,
-	  contrib/mod_sftp/display.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-07  castaglia <castaglia>
 
-2011-12-10 13:51  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).
 
-	* doc/contrib/mod_tls.html:
-	  Mention the TLSv1.1 and TLSv1.2 values for the TLSProtocol
-	  directive in the mod_tls docs.
+2011-12-06  castaglia <castaglia>
 
-2011-12-10 13:47  castaglia
+	* contrib/mod_sftp/auth.c: Make sure that the password data is
+	properly hidden with a static string for SFTP connections.
 
-	* configure:
-	  Updated configure.
+2011-12-06  castaglia <castaglia>
 
-2011-12-10 13:41  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.
 
-	* 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-06  castaglia <castaglia>
 
-2011-12-10 13:37  castaglia
+	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Updating
+	ExtendedLog tests to use testcase-specific logging.
 
-	* 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-06  castaglia <castaglia>
 
-2011-12-10 12:28  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm:
-	  Add regression tests for HideGroup and the NLST and MLSD
-	  commands.
+2011-12-06  castaglia <castaglia>
 
-2011-12-10 12:07  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm:
-	  Updating the HideGroup config regression tests to use
-	  testcase-specific logging.
+2011-12-06  castaglia <castaglia>
 
-2011-12-10 11:56  castaglia
+	* modules/mod_core.c: Comment typo.
 
-	* doc/modules/mod_core.html:
-	  Adding descriptions for HideGroup, HideNoAccess, and HideUser
-	  directives to the mod_core documentation.
+2011-12-06  castaglia <castaglia>
 
-2011-12-09 22:06  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm:
-	  Adding regression test for a <Directory> configuration posted in
-	  the forums.
+2011-12-06  castaglia <castaglia>
 
-2011-12-09 21:51  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm:
-	  Updating <Directory>/<Limit> regression test cases to use
-	  testcase-specific logging.
+2011-12-06  castaglia <castaglia>
 
-2011-12-09 20:28  castaglia
+	* src/bindings.c: Make sure that the errno value is preserved
+	properly, in order to get all of the proper logging done.
 
-	* 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-06  castaglia <castaglia>
 
-2011-12-09 16:14  castaglia
+	* doc/modules/mod_core.html: Adding docs for the AllowFilter and
+	DenyFilter directives to the mod_core docs.
 
-	* 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-05  castaglia <castaglia>
 
-2011-12-09 16:12  castaglia
+	* NEWS, contrib/mod_quotatab.c: Bug#3724 - Unloading mod_quotatab
+	causes segfault.
 
-	* 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-05  castaglia <castaglia>
 
-2011-12-09 16:09  castaglia
+	* modules/mod_delay.c: Quell a few compiler warnings about unsigned
+	long vs size_t (see on FreeBSD).
 
-	* contrib/mod_sftp/: channel.c, 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-04  castaglia <castaglia>
 
-2011-12-09 16:08  castaglia
+	* tests/api/str.c: Added API/unit test for the newly-added
+	pr_str_replace() function (from Bug#3721).
 
-	* contrib/mod_sftp/: msg.c, 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-03  castaglia <castaglia>
 
-2011-12-08 18:03  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/DenyFilter.pm: Added regression
+	test for the case-insensitive flag for the DenyFilter directive.
 
-	* RELEASE_NOTES:
-	  Fill in a little more of the release notes, for later fleshing
-	  out.
+2011-12-03  castaglia <castaglia>
 
-2011-12-08 18:02  castaglia
+	* RELEASE_NOTES, modules/mod_core.c: Support the case-insensitive
+	filter flags for the AllowFilter and DenyFilter directives, too
+	(similar to Bug#3592).
 
-	* doc/contrib/mod_ifsession.html:
-	  Add documentation for the new <IfAuthenticated> mod_ifsession
-	  config section.
+2011-12-03  castaglia <castaglia>
 
-2011-12-08 17:58  castaglia
+	* tests/t/config/denyfilter.t,
+	tests/t/lib/ProFTPD/Tests/Config/DenyFilter.pm, tests/tests.pl: 
+	Start adding tests for the DenyFilter directive.
 
-	* 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-03  castaglia <castaglia>
 
-2011-12-08 17:58  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Updating the
+	PathDenyFilter tests to use the testcase-specific logging.
 
-	* NEWS, contrib/mod_ifsession.c:
-	  Bug#3629 - Support <IfAuthenticated> conditional config section.
+2011-12-03  castaglia <castaglia>
 
-2011-12-08 16:02  castaglia
+	* RELEASE_NOTES, doc/contrib/mod_rewrite.html: Adding documentation
+	for the new RewriteMaxReplace directive, added for Bug#3721.
 
-	* doc/contrib/mod_sftp.html:
-	  Document the new SHA2 SSH2 digests supported by the SFTPDigests
-	  directive.
+2011-12-03  castaglia <castaglia>
 
-2011-12-08 15:57  castaglia
+	* doc/modules/mod_auth.html: Adding module-specific doc description
+	for the RootRevoke directive to the mod_auth docs.
 
-	* contrib/mod_sftp/configure:
-	  Updating mod_sftp configure.
+2011-12-03  castaglia <castaglia>
 
-2011-12-08 15:55  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
+	regression tests for Bug#3721.
 
-	* NEWS, contrib/mod_sftp/crypto.c:
-	  Bug#3686 - Support SHA2 digests in mod_sftp.
+2011-12-03  castaglia <castaglia>
 
-2011-12-08 15:51  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).
 
-	* 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-03  castaglia <castaglia>
 
-2011-12-08 13:45  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.
 
-	* contrib/mod_sftp/auth.c:
-	  Backporting fix from trunk, making sure that %r is interpolated
-	  properly for PASS commands when handling SSH2 connections.
+2011-12-01  castaglia <castaglia>
 
-2011-12-06 17:01  castaglia
+	* RELEASE_NOTES: Minor update to the release notes, getting them
+	ready for the 1.3.5 release cycle.
 
-	* src/inet.c:
-	  Remove extraneous space and period.
+2011-12-01  castaglia <castaglia>
 
-2011-12-06 16:54  castaglia
+	* modules/mod_core.c: Remove the deprecated DisplayGoAway directive
+	(Bug#3443).
 
-	* 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-01  castaglia <castaglia>
 
-2011-12-06 15:08  castaglia
+	* NEWS, modules/mod_memcache.c: Bug#3723 - mod_memcache segfault on
+	server restart.
 
-	* contrib/mod_sftp/auth.c:
-	  Make sure that the password data is properly hidden with a static
-	  string for SFTP connections.
+2011-11-30  castaglia <castaglia>
 
-2011-12-06 15:07  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.
 
-	* 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-11-30  castaglia <castaglia>
 
-2011-12-06 14:36  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Updating the
+	mod_rewrite testcase coding style to use the new testcase-specific
+	logging.
 
-	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
-	  Updating ExtendedLog tests to use testcase-specific logging.
+2011-11-23  castaglia <castaglia>
 
-2011-12-06 11:45  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.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/: RETR.pm, STOR.pm, 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-11-21  castaglia <castaglia>
 
-2011-12-06 11:40  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)).
 
-	* tests/: tests.pl, t/config/rootrevoke.t,
-	  t/lib/ProFTPD/Tests/Config/RootRevoke.pm:
-	  Start adding unit/regression tests for the RootRevoke directive.
+2011-11-21  castaglia <castaglia>
 
-2011-12-06 11:39  castaglia
+	* NEWS, modules/mod_ls.c: Bug#3719 - LIST -R can loop endlessly if
+	bad directory symlink exists.
 
-	* modules/mod_core.c:
-	  Comment typo.
+2011-11-21  castaglia <castaglia>
 
-2011-12-06 10:13  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding regression test
+	for Bug#3719.
 
-	* 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-11-19  castaglia <castaglia>
 
-2011-12-05 19:34  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.
 
-	* 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-11-19  castaglia <castaglia>
 
-2011-12-05 17:08  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.
 
-	* src/bindings.c:
-	  Make sure that the errno value is preserved properly, in order to
-	  get all of the proper logging done.
+2011-11-19  castaglia <castaglia>
 
-2011-12-05 16:07  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.
 
-	* doc/modules/mod_core.html:
-	  Adding docs for the AllowFilter and DenyFilter directives to the
-	  mod_core docs.
+2011-11-19  castaglia <castaglia>
 
-2011-12-05 11:57  castaglia
+	* src/proctitle.c: Fix compiler warning about mixing code and
+	declarations (hard to tell, based on the nasty ifdefs in the
+	proctitle code).
 
-	* NEWS, contrib/mod_quotatab.c:
-	  Backporting fix for Bug#3724 to 1.3.4 branch.
+2011-11-19  castaglia <castaglia>
 
-2011-12-05 11:57  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.
 
-	* NEWS, contrib/mod_quotatab.c:
-	  Bug#3724 - Unloading mod_quotatab causes segfault.
+2011-11-19  castaglia <castaglia>
 
-2011-12-04 16:01  castaglia
+	* lib/tpl.c: Fixing some warnings that gcc's -Wshorten-64-to-32 flag
+	picked up.
 
-	* modules/mod_delay.c:
-	  Quell a few compiler warnings about unsigned long vs size_t (see
-	  on FreeBSD).
+2011-11-18  jwm <jwm>
 
-2011-12-04 14:19  castaglia
+	* README.LDAP: latest mod_ldap README
 
-	* tests/api/str.c:
-	  Added API/unit test for the newly-added pr_str_replace() function
-	  (from Bug#3721).
+2011-11-18  jwm <jwm>
 
-2011-12-03 12:24  castaglia
+	* contrib/mod_ldap.c: this should have been labeled 2.9.1
 
-	* tests/t/lib/ProFTPD/Tests/Config/DenyFilter.pm:
-	  Added regression test for the case-insensitive flag for the
-	  DenyFilter directive.
+2011-11-18  castaglia <castaglia>
 
-2011-12-03 12:23  castaglia
+	* src/str.c: A variable is needed, regardless of whether strlcat(3)
+	is present or not.
 
-	* RELEASE_NOTES, modules/mod_core.c:
-	  Support the case-insensitive filter flags for the AllowFilter and
-	  DenyFilter directives, too (similar to Bug#3592).
+2011-11-18  castaglia <castaglia>
 
-2011-12-03 12:12  castaglia
+	* configure: Updated configure.
 
-	* tests/: tests.pl, t/config/denyfilter.t,
-	  t/lib/ProFTPD/Tests/Config/DenyFilter.pm:
-	  Start adding tests for the DenyFilter directive.
+2011-11-18  castaglia <castaglia>
 
-2011-12-03 11:43  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm:
-	  Updating the PathDenyFilter tests to use the testcase-specific
-	  logging.
+2011-11-17  castaglia <castaglia>
 
-2011-12-03 11:29  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.
 
-	* RELEASE_NOTES, doc/contrib/mod_rewrite.html:
-	  Adding documentation for the new RewriteMaxReplace directive,
-	  added for Bug#3721.
+2011-11-17  castaglia <castaglia>
 
-2011-12-03 10:08  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.
 
-	* doc/modules/mod_auth.html:
-	  Adding module-specific doc description for the RootRevoke
-	  directive to the mod_auth docs.
+2011-11-17  castaglia <castaglia>
 
-2011-12-02 17:49  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.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm:
-	  Adding regression tests for Bug#3721.
+2011-11-17  castaglia <castaglia>
 
-2011-12-02 17:47  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.
 
-	* 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-11-17  castaglia <castaglia>
 
-2011-12-02 17:46  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.
 
-	* 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-11-17  castaglia <castaglia>
 
-2011-12-01 08:38  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.
 
-	* RELEASE_NOTES:
-	  Minor update to the release notes, getting them ready for the
-	  1.3.5 release cycle.
+2011-11-17  castaglia <castaglia>
 
-2011-12-01 07:22  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm: Updating EPSV tests to
+	use testcase-specific logging.
 
-	* modules/mod_core.c:
-	  Remove the deprecated DisplayGoAway directive (Bug#3443).
+2011-11-17  castaglia <castaglia>
 
-2011-11-30 16:58  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/PASV.pm: Update PASV tests to
+	use the testcase-specific logging.
 
-	* NEWS, modules/mod_memcache.c:
-	  Backport of fix for Bug#3723 to 1.3.4 branch.
+2011-11-17  castaglia <castaglia>
 
-2011-11-30 16:57  castaglia
+	* tests/t/lib/ProFTPD/Tests/Logins.pm: Update the login tests to use
+	the testcase-specific logging.
 
-	* NEWS, modules/mod_memcache.c:
-	  Bug#3723 - mod_memcache segfault on server restart.
+2011-11-17  castaglia <castaglia>
 
-2011-11-30 07:24  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/SITE/CHMOD.pm: Update the SITE
+	CHMOD test to log its fatal exception in the testcase log.
 
-	* 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-17  castaglia <castaglia>
 
-2011-11-29 21:30  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.
 
-	* 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-17  castaglia <castaglia>
 
-2011-11-23 10:04  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.
 
-	* NEWS, contrib/mod_deflate.c, contrib/mod_exec.c,
-	  contrib/mod_quotatab.c, contrib/mod_radius.c, contrib/mod_sql.c,
-	  contrib/mod_tls.c, contrib/mod_sftp/mod_sftp.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-17  castaglia <castaglia>
 
-2011-11-21 14:24  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Update the PORT tests
+	to pass along the fatal exception for logging.
 
-	* 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-17  castaglia <castaglia>
 
-2011-11-21 13:59  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.
 
-	* NEWS, modules/mod_ls.c:
-	  Backport of fix for Bug#3719 to 1.3.4 branch.
+2011-11-17  castaglia <castaglia>
 
-2011-11-21 13:58  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Updated STOR tests to
+	use testcase-specific logging.
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#3719 - LIST -R can loop endlessly if bad directory symlink
-	  exists.
+2011-11-17  castaglia <castaglia>
 
-2011-11-21 13:49  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Updated RETR tests to
+	use testcase-specific logging.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm:
-	  Adding regression test for Bug#3719.
+2011-11-17  castaglia <castaglia>
 
-2011-11-18 19:02  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: Updated STOU tests to
+	use testcase-specific logging.
 
-	* contrib/mod_sftp/: blacklist.c, fxp.c, keys.c, scp.c:
-	  Fixing up a few more places where -Wshorten-64-to-32 warned about
-	  implicit conversions.
+2011-11-17  castaglia <castaglia>
 
-2011-11-18 18:54  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Update LIST tests to
+	use testcase-specific logging.
 
-	* 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-17  castaglia <castaglia>
 
-2011-11-18 18:49  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/APPE.pm: Update APPE tests to
+	use testcase-specific logging.
 
-	* 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-17  castaglia <castaglia>
 
-2011-11-18 18:44  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Update NLST tests to
+	use testcase-specific logging.
 
-	* 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-17  castaglia <castaglia>
 
-2011-11-18 18:40  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/STAT.pm: Update STAT tests to
+	use testcase-specific logging.
 
-	* 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-17  castaglia <castaglia>
 
-2011-11-18 18:13  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm: Updating EPRT tests to
+	use testcase-specific logging.
 
-	* lib/tpl.c:
-	  Fixing some warnings that gcc's -Wshorten-64-to-32 flag picked
-	  up.
+2011-11-17  castaglia <castaglia>
 
-2011-11-18 16:16  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Updated ABOR tests to
+	use testcase-specific logging.
 
-	* contrib/mod_ldap.c:
-	  Updating mod_ldap version identifier.
+2011-11-17  castaglia <castaglia>
 
-2011-11-18 15:03  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.
 
-	* README.LDAP:
-	  Updating LDAP README in the 1.3.4 branch, too.
+2011-11-17  castaglia <castaglia>
 
-2011-11-18 09:35  jwm
+	* tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Updating MLSD tests to
+	use testcase-specific logging.
 
-	* README.LDAP: latest mod_ldap README
+2011-11-17  castaglia <castaglia>
 
-2011-11-18 09:34  jwm
+	* tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Updating MLST tests to
+	use testcase-specific logging.
 
-	* contrib/mod_ldap.c: this should have been labeled 2.9.1
+2011-11-17  castaglia <castaglia>
 
-2011-11-17 21:21  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm: Updated MFMT tests to
+	use the new testcase-specific logging.
 
-	* src/str.c:
-	  A variable is needed, regardless of whether strlcat(3) is present
-	  or not.
+2011-11-17  castaglia <castaglia>
 
-2011-11-17 21:18  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/MFF.pm: Updating the MFF tests
+	to use the testcase-specific logging.
 
-	* configure:
-	  Updated configure.
+2011-11-17  castaglia <castaglia>
 
-2011-11-17 21:06  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/SITE/CHMOD.pm: Updating SITE
+	CHMOD test to use the new testcase-specific logging.
 
-	* configure.in, config.h.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>
 
-2011-11-17 15:40  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.
 
-	* NEWS, contrib/mod_tls.c, contrib/mod_sftp/keys.c,
-	  lib/pr-syslog.c, lib/pwgrent.c, modules/mod_auth_file.c,
-	  modules/mod_ctrls.c, src/ctrls.c, utils/ftptop.c:
-	  Backport of fix for Bug#3717 to 1.3.4 branch.
+2011-11-17  castaglia <castaglia>
 
-2011-11-17 15:40  castaglia
+	* tests/Makefile.in: Forgot to update the tests/Makefile to use the
+	renamed tests.pl command-line option.
 
-	* NEWS, contrib/mod_tls.c, contrib/mod_sftp/keys.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.
+2011-11-17  castaglia <castaglia>
 
-	  Replace all occurrences of strncpy(3) with our own sstrncpy(), to
-	  avoid any gcc traps/issues about using that function.
+	* 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 15:33  castaglia
+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.
+	* 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-17 15:31  castaglia
+2011-11-16  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/: HELP.pm, QUIT.pm, REST.pm,
-	  RNFR.pm, RNTO.pm:
-	  Updating the rest of the FTP command tests to use
-	  testcase-specific logging.
+	* NEWS, modules/mod_facts.c: Bug#3715 - MLSD/MLST fail when
+	"DirFakeUser off" or "DirFakeGroup off" used.
 
-2011-11-17 15:07  castaglia
+2011-11-16  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/: ALLO.pm, FEAT.pm, MDTM.pm,
-	  MODE.pm, NOOP.pm, SIZE.pm, STRU.pm:
-	  Updating more tests to use testcase-specific logging.
+	* contrib/mod_load/.cvsignore: More auto-generated files to be
+	ignored by CVS.
 
-2011-11-17 15:01  castaglia
+2011-11-16  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/: CDUP.pm, DELE.pm, MKD.pm,
-	  RMD.pm, SYST.pm, TYPE.pm:
-	  Updating more tests to use the testcase-specific logging.
+	* tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm,
+	tests/t/lib/ProFTPD/Tests/Config/DirFakeUser.pm: Adding regression
+	tests for Bug#3715.
 
-2011-11-17 14:54  castaglia
+2011-11-16  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/: CWD.pm, PASS.pm, PWD.pm,
-	  USER.pm:
-	  Updating tests to use the testcase-specific logging.
+	* 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-17 14:48  castaglia
+2011-11-16  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm:
-	  Updating EPSV tests to use testcase-specific logging.
+	* 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-17 14:46  castaglia
+2011-11-16  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/PASV.pm:
-	  Update PASV tests to use the testcase-specific logging.
+	* tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Updating MLST test
+	cases to hopefully pass better on my Mac OSX machine.
 
-2011-11-17 14:44  castaglia
+2011-11-16  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Logins.pm:
-	  Update the login tests to use the testcase-specific logging.
+	* tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm: Adding a regression
+	test for Bug#3714.
 
-2011-11-17 14:40  castaglia
+2011-11-16  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.
+	* utils/ftpwho.c: Quell cppcheck warning about a memory leak.
 
-2011-11-17 14:38  castaglia
+2011-11-16  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/: ABOR.pm, APPE.pm, EPRT.pm,
-	  LIST.pm, NLST.pm, RETR.pm, STAT.pm, STOR.pm, STOU.pm:
-	  Updating the tests to log the exception in the testcase log.
+	* 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-17 14:27  castaglia
+2011-11-16  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.
+	* 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-17 14:02  castaglia
+2011-11-16  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm:
-	  Update the PORT tests to pass along the fatal exception for
-	  logging.
+	* tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Minor updates to the
+	NLST unit tests.
 
-2011-11-17 14:01  castaglia
+2011-11-16  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.
+	* 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-17 10:36  castaglia
+2011-11-16  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/STOR.pm:
-	  Updated STOR tests to use testcase-specific logging.
+	* NEWS, src/cmd.c, src/main.c: Bug#3714 - ftpwho/ftptop are not
+	showing command arguments (e.g. downloaded file name).
 
-2011-11-17 10:25  castaglia
+2011-11-16  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm:
-	  Updated RETR tests to use testcase-specific logging.
+	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Making some of the
+	PORT tests a little more resilient.
 
-2011-11-17 10:22  castaglia
+2011-11-16  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/STOU.pm:
-	  Updated STOU tests to use testcase-specific logging.
+	* tests/t/lib/ProFTPD/Tests/Commands/DELE.pm: Update DELE unit tests
+	to run better on MacOSX.
 
-2011-11-17 10:19  castaglia
+2011-11-16  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm:
-	  Update LIST tests to use testcase-specific logging.
+	* tests/t/lib/ProFTPD/Tests/Commands/RMD.pm: Updating RMD tests to
+	hopefully pass better on my MacOSX machine.
 
-2011-11-17 10:13  castaglia
+2011-11-16  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/APPE.pm:
-	  Update APPE tests to use testcase-specific logging.
+	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Updating MKD tests to
+	hopefully pass better on my MacOSX machine.
 
-2011-11-17 10:09  castaglia
+2011-11-16  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/NLST.pm:
-	  Update NLST tests to use testcase-specific logging.
+	* tests/t/lib/ProFTPD/Tests/Commands/PWD.pm: Fixing the PWD tests so
+	that they work properly on MacOSX.
 
-2011-11-17 10:04  castaglia
+2011-11-15  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/STAT.pm:
-	  Update STAT tests to use testcase-specific logging.
+	* NEWS, src/log.c: Bug#3646 - Debug logging to stderr should include
+	timestamps and PID.
 
-2011-11-17 10:02  castaglia
+2011-11-15  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm:
-	  Updating EPRT tests to use testcase-specific logging.
+	* doc/contrib/mod_quotatab.html: Adding in missing "Context"
+	descriptions for some of the mod_quotatab directives.
 
-2011-11-17 09:58  castaglia
+2011-11-15  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm:
-	  Updated ABOR tests to use testcase-specific logging.
+	* contrib/.cvsignore: Ignore the generated Makefile.
 
-2011-11-17 09:55  castaglia
+2011-11-15  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.
+	* doc/modules/mod_core.html: Missing <br> tag.
 
-2011-11-17 09:53  castaglia
+2011-11-15  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm:
-	  Updating MLSD tests to use testcase-specific logging.
+	* doc/modules/mod_core.html: Missing closing </code> tags.
 
-2011-11-17 09:48  castaglia
+2011-11-14  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/MLST.pm:
-	  Updating MLST tests to use testcase-specific logging.
+	* src/inet.c: Use the IPV6_TCLASS value for IPv6 connections for
+	setting the Type-Of-Service (TOS) bits, where available.
 
-2011-11-17 09:43  castaglia
+2011-11-14  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm:
-	  Updated MFMT tests to use the new testcase-specific logging.
+	* 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-17 09:39  castaglia
+2011-11-11  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/MFF.pm:
-	  Updating the MFF tests to use the testcase-specific logging.
+	* NEWS, contrib/mod_tls.c: Bug#3713 - mod_tls cannot be compiled
+	using Openssl 0.9.6.
 
-2011-11-17 09:37  castaglia
+2011-11-11  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/SITE/CHMOD.pm:
-	  Updating SITE CHMOD test to use the new testcase-specific
-	  logging.
+	* contrib/dist/rpm/proftpd.spec: Updated .spec file.  Have I
+	mentioned how much I dislike rpmbuild and .spec file
+	"idiosyncrasies"?
 
-2011-11-17 09:32  castaglia
+2011-11-10  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.
+	* NEWS: Bug#3712 - mod_wrap2/mod_load build errors: missing
+	config.h.  (Patches committed earlier today.)
 
-2011-11-16 17:56  castaglia
+2011-11-10  castaglia <castaglia>
 
-	* tests/Makefile.in:
-	  Forgot to update the tests/Makefile to use the renamed tests.pl
-	  command-line option.
+	* include/version.h: Updated trunk version in CVS.
 
-2011-11-16 17:49  castaglia
+2011-11-10  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.
+	* 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-16 17:47  castaglia
+2011-11-10  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'.
+	* contrib/dist/rpm/proftpd.spec: Trying to fix the
+	release_cand_version macro in the .spec file.
 
-2011-11-16 15:50  castaglia
+2011-11-10  castaglia <castaglia>
 
-	* NEWS, modules/mod_facts.c:
-	  Backporting fix for Bug#3715 to 1.3.4 branch.
+	* contrib/dist/rpm/xinetd: Fixed comment in xinetd config file.
 
-2011-11-16 15:49  castaglia
+2011-11-09  castaglia <castaglia>
 
-	* NEWS, modules/mod_facts.c:
-	  Bug#3715 - MLSD/MLST fail when "DirFakeUser off" or "DirFakeGroup
-	  off" used.
+	* ChangeLog: Updated ChangeLog.
 
-2011-11-16 15:48  castaglia
+2011-11-09  castaglia <castaglia>
 
-	* contrib/mod_load/.cvsignore:
-	  More auto-generated files to be ignored by CVS.
+	* contrib/dist/rpm/proftpd.spec, include/version.h: Updating for
+	1.3.4 release.
 
-2011-11-16 15:41  castaglia
+2011-11-09  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/: DirFakeGroup.pm,
-	  DirFakeUser.pm:
-	  Adding regression tests for Bug#3715.
+	* NEWS, RELEASE_NOTES: Updating NEWS, release notes, getting ready
+	for release.
 
-2011-11-16 15:30  castaglia
+2011-11-09  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.
+	* RELEASE_NOTES: Minor formatting consistency fix.
 
-2011-11-16 15:22  castaglia
+2011-11-09  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).
+	* RELEASE_NOTES: Updating release notes.
 
-2011-11-16 15:15  castaglia
+2011-11-09  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/MLST.pm:
-	  Updating MLST test cases to hopefully pass better on my Mac OSX
-	  machine.
+	* NEWS, src/main.c: Bug#3711 - Response pool use-after-free memory
+	corruption error.
 
-2011-11-16 14:42  castaglia
+2011-11-08  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm:
-	  Adding a regression test for Bug#3714.
+	* tests/api/response.c: Adding more unit tests for the Response API,
+	including a demonstration of Bug#3711.
 
-2011-11-16 14:30  castaglia
+2011-11-08  castaglia <castaglia>
 
-	* utils/ftpwho.c:
-	  Quell cppcheck warning about a memory leak.
+	* contrib/dist/rpm/xinetd: Updating the xinetd config file for the
+	RPM package, as per Bug#3640.
 
-2011-11-16 13:59  castaglia
+2011-11-07  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.
+	* RELEASE_NOTES: Updated release notes to mention the RPM/.spec
+	changes.
 
-2011-11-16 13:55  castaglia
+2011-11-07  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).
+	* 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-16 13:35  castaglia
+2011-11-07  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/NLST.pm:
-	  Minor updates to the NLST unit tests.
+	* 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-16 13:34  castaglia
+2011-11-06  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.
+	* contrib/mod_load/configure: Updated mod_load configure.
 
-2011-11-16 12:00  castaglia
+2011-11-06  castaglia <castaglia>
 
-	* NEWS, src/cmd.c, src/main.c:
-	  Backport of fix for Bug#3714 to 1.3.4 branch.
+	* .cvsignore: Ignore the auto-generated module-libs.txt file.
 
-2011-11-16 12:00  castaglia
+2011-11-06  castaglia <castaglia>
 
-	* NEWS, src/cmd.c, src/main.c:
-	  Bug#3714 - ftpwho/ftptop are not showing command arguments (e.g.
-	  downloaded file name).
+	* 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-15 17:24  castaglia
+2011-11-06  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm:
-	  Making some of the PORT tests a little more resilient.
+	* contrib/mod_wrap2/configure: Updated mod_wrap2 configure.
 
-2011-11-15 17:19  castaglia
+2011-11-06  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/DELE.pm:
-	  Update DELE unit tests to run better on MacOSX.
+	* 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-15 17:13  castaglia
+2011-11-06  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/RMD.pm:
-	  Updating RMD tests to hopefully pass better on my MacOSX machine.
+	* 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-15 17:11  castaglia
+2011-11-05  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm:
-	  Updating MKD tests to hopefully pass better on my MacOSX machine.
+	* 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-15 17:00  castaglia
+2011-11-03  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/PWD.pm:
-	  Fixing the PWD tests so that they work properly on MacOSX.
+	* 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-15 14:20  castaglia
+2011-11-01  castaglia <castaglia>
 
-	* NEWS, src/log.c:
-	  Bug#3646 - Debug logging to stderr should include timestamps and
-	  PID.
+	* RELEASE_NOTES: Updated release notes.
 
-2011-11-15 13:10  castaglia
+2011-11-01  castaglia <castaglia>
 
-	* doc/contrib/mod_quotatab.html:
-	  Adding in missing "Context" descriptions for some of the
-	  mod_quotatab directives.
+	* configure: Updated configure.
 
-2011-11-15 11:12  castaglia
+2011-11-01  castaglia <castaglia>
 
-	* contrib/.cvsignore:
-	  Ignore the generated Makefile.
+	* configure.in, m4/proftpd.m4: Start tweaking the configure script
+	to work better in cross-compiling situations.
 
-2011-11-15 08:13  castaglia
+2011-10-31  castaglia <castaglia>
 
-	* doc/modules/mod_core.html:
-	  Missing <br> tag.
+	* tests/Makefile.in: Make sure to build the response unit tests, and
+	include them in the api-tests binary.
 
-2011-11-15 08:12  castaglia
+2011-10-31  castaglia <castaglia>
 
-	* doc/modules/mod_core.html:
-	  Missing closing </code> tags.
+	* 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-11-14 14:13  castaglia
+2011-10-24  castaglia <castaglia>
 
-	* src/inet.c:
-	  Use the IPV6_TCLASS value for IPv6 connections for setting the
-	  Type-Of-Service (TOS) bits, where available.
+	* 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-11-13 18:53  castaglia
+2011-10-24  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.
+	* 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-11-11 15:14  castaglia
+2011-10-24  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3713 - mod_tls cannot be compiled using Openssl 0.9.6.
+	* 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-11-11 10:19  castaglia
+2011-10-18  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec:
-	  Try to fix the broken .spec file (broken because rpmbuild doesn't
-	  understand basic Unix config file formats, apparently).
+	* doc/contrib/mod_sftp.html: Mention that mod_sftp does not honor
+	the ListOptions directive.
 
-2011-11-11 10:18  castaglia
+2011-10-17  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec:
-	  Updated .spec file.  Have I mentioned how much I dislike rpmbuild
-	  and .spec file "idiosyncrasies"?
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
+	mod_rewrite regression test for rewriting backslashes to slashes.
 
-2011-11-11 10:00  castaglia
+2011-10-17  castaglia <castaglia>
 
-	* include/version.h:
-	  Updating version for CVS.
+	* doc/howto/Rewrite.html: Adding new mod_rewrite example, for
+	converting backslashes to slashes.
 
-2011-11-11 09:59  castaglia
+2011-10-13  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Adding the CVE identifier for Bug#3711 to the release notes, for
-	  future reference.
+	* 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-11-11 09:27  castaglia
+2011-10-12  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updating ChangeLog.
+	* doc/contrib/mod_sftp.html: Updated SFTPOptions documentation to
+	mention new IgnoreSFTPSetTimes option (Bug#3706).
 
-2011-11-11 09:24  castaglia
+2011-10-12  castaglia <castaglia>
 
-	* RELEASE_NOTES, contrib/dist/rpm/proftpd.spec, include/version.h,
-	  NEWS:
-	  Preparing to release 1.3.4a.
+	* 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-11-10 15:51  castaglia
+2011-10-10  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Updating release notes.
+	* NEWS, RELEASE_NOTES: Fuller description in NEWS for Bug#3704, and
+	mention the new TLSOption in the release notes.
 
-2011-11-10 15:51  castaglia
+2011-10-10  castaglia <castaglia>
 
-	* NEWS:
-	  Bug#3712 - mod_wrap2/mod_load build errors: missing config.h.
-	  (Patches committed earlier today.)
+	* doc/contrib/mod_tls.html: Documenting the new NoEmptyFragments
+	TLSOption.
 
-2011-11-10 09:41  castaglia
+2011-10-10  castaglia <castaglia>
 
-	* include/version.h:
-	  Updated trunk version in CVS.
+	* NEWS, contrib/mod_tls.c: Bug#3704 - Enable OpenSSL countermeasure
+	against SSLv3/TLSv1 BEAST attacks.
 
-2011-11-10 09:13  castaglia
+2011-10-06  castaglia <castaglia>
 
-	* contrib/: mod_load/Makefile.in, mod_wrap2/Makefile.in:
-	  Fixing the Makefiles for mod_load and mod_wrap2.
+	* configure: Updated configure for Bug#3192.
 
-2011-11-10 09:12  castaglia
+2011-10-06  castaglia <castaglia>
 
-	* contrib/: mod_load/Makefile.in, 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.
+	* NEWS, config.h.in, configure.in, contrib/mod_sql_postgres.c: 
+	Bug#3192 - PQescapeStringConn() needs a better check.
 
-2011-11-10 08:43  castaglia
+2011-10-06  castaglia <castaglia>
 
-	* contrib/dist/rpm/: proftpd.spec:
-	  Trying to fix the release_cand_version macro in the .spec file.
+	* configure: Updated configure for Bug#3669.
 
-2011-11-10 08:10  castaglia
+2011-10-06  castaglia <castaglia>
 
-	* contrib/dist/rpm/xinetd:
-	  Fixed comment in xinetd config file.
+	* 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-11-10 08:08  castaglia
+2011-10-06  castaglia <castaglia>
 
-	* contrib/dist/rpm/xinetd:
-	  Fixed comment in xinetd.
+	* configure: Updated configure for Bug#3702.
 
-2011-11-09 14:39  castaglia
+2011-10-06  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Updating for 1.3.3g release.
+	* NEWS, configure.in: Bug#3702 - ProFTPD with mod_sql_mysql dies of
+	"Alarm clock" on FreeBSD.
 
-2011-11-09 14:37  castaglia
+2011-10-04  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updated ChangeLog.
+	* 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-11-09 14:35  castaglia
+2011-10-04  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Updating for 1.3.4 release.
+	* 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-11-09 09:47  castaglia
+2011-09-29  castaglia <castaglia>
 
-	* NEWS:
-	  Updating NEWS, getting ready for release.
+	* contrib/mod_sftp/date.c: Bug#3650 - Update the FSF address.
 
-2011-11-09 09:47  castaglia
+2011-09-27  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES:
-	  Updating NEWS, release notes, getting ready for release.
+	* 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-11-09 09:40  castaglia
+2011-09-26  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Minor formatting consistency fix.
+	* include/version.h: Updated version for CVS status.
 
-2011-11-09 09:40  castaglia
+2011-09-26  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Updated release notes.
+	* contrib/dist/rpm/proftpd.spec, include/version.h: Update the
+	versions for RC3.
 
-2011-11-09 09:36  castaglia
+2011-09-26  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Updating release notes.
+	* NEWS: Update NEWS with the release date.
 
-2011-11-09 09:34  castaglia
+2011-09-26  castaglia <castaglia>
 
-	* NEWS, src/main.c:
-	  Backport of fix for Bug#3711 to 1.3.3 branch.
+	* ChangeLog: Updated ChangeLog.
 
-2011-11-09 09:32  castaglia
+2011-09-26  castaglia <castaglia>
 
-	* NEWS, src/main.c:
-	  Bug#3711 - Response pool use-after-free memory corruption error.
+	* RELEASE_NOTES: Updated release notes.
 
-2011-11-08 11:03  castaglia
+2011-09-26  castaglia <castaglia>
 
-	* tests/api/response.c:
-	  Adding more unit tests for the Response API, including a
-	  demonstration of Bug#3711.
+	* 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-11-08 10:20  castaglia
+2011-09-25  castaglia <castaglia>
 
-	* contrib/dist/rpm/xinetd:
-	  Updating the xinetd config file for the RPM package, as per
-	  Bug#3640.
+	* 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-11-07 14:42  castaglia
+2011-09-24  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Updated release notes to mention the RPM/.spec changes.
+	* 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-11-07 14:41  castaglia
+2011-09-24  castaglia <castaglia>
 
-	* contrib/dist/rpm/: basic-pam.conf, proftpd.spec:
-	  More updates for Bug#3640, reworking the proftpd.spec file and
-	  related config files.
+	* 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-11-07 14:25  castaglia
+2011-09-24  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".
+	* src/main.c: More tricks to preserve the errno value through the
+	command dispatch mechanism.
 
-	  This involves a fairly large reworking of the .spec file, and
-	  adding new files expected by the .spec file.
+2011-09-24  castaglia <castaglia>
 
-2011-11-06 14:25  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.
 
-	* contrib/mod_load/configure:
-	  Updated mod_load configure.
+2011-09-24  castaglia <castaglia>
 
-2011-11-06 14:19  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Fixing
+	broken unit tests.
 
-	* .cvsignore:
-	  Ignore the auto-generated module-libs.txt file.
+2011-09-24  castaglia <castaglia>
 
-2011-11-06 14:16  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.
 
-	* contrib/mod_load/: Makefile.in, configure.in, mod_load.c,
-	  mod_load.c.in:
-	  Updating the mod_load configure/Makefiles to use the
-	  $(MODULE_LIBS_FILE) mechanism.
+2011-09-24  castaglia <castaglia>
 
-2011-11-06 13:58  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).
 
-	* contrib/mod_wrap2/configure:
-	  Updated mod_wrap2 configure.
+2011-09-24  castaglia <castaglia>
 
-2011-11-06 13:56  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Fix broken
+	mod_sql_sqlite unit tests.
 
-	* contrib/mod_wrap2/: Makefile.in, configure.in, mod_wrap2.c,
-	  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-09-24  castaglia <castaglia>
 
-2011-11-06 13:37  castaglia
+	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Relax some of
+	the heuristics, allowing some of the unit tests to pass more
+	regularly.
 
-	* 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.
+2011-09-24  castaglia <castaglia>
 
-	  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.
+	* contrib/mod_rewrite.c: Fix a regression in the RewriteHome
+	feature, where it wasn't working at all.
 
-	  I'll be updating the mod_wrap2 configure/Makefile files to use
-	  this mechanism shortly.
+2011-09-24  castaglia <castaglia>
 
-2011-11-05 16:01  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/RewriteHome.pm: Minor style
+	updates; no functional change.
 
-	* 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-09-24  castaglia <castaglia>
 
-2011-11-03 10:12  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm: Expect to
+	handle a "File too large" error response as well in these unit
+	tests.
 
-	* 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-09-24  castaglia <castaglia>
 
-2011-11-01 07:04  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/DisplayChdir.pm: Fix broken unit
+	test.
 
-	* RELEASE_NOTES:
-	  Updated release notes.
+2011-09-24  castaglia <castaglia>
 
-2011-10-31 23:16  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Add a different
+	expected error message, fixing the unit test on a Linux system.
 
-	* configure:
-	  Updated configure.
+2011-09-24  castaglia <castaglia>
 
-2011-10-31 23:13  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.
 
-	* configure.in, m4/proftpd.m4:
-	  Start tweaking the configure script to work better in
-	  cross-compiling situations.
+2011-09-24  castaglia <castaglia>
 
-2011-10-31 11:39  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.
 
-	* tests/Makefile.in:
-	  Make sure to build the response unit tests, and include them in
-	  the api-tests binary.
+2011-09-24  castaglia <castaglia>
 
-2011-10-31 11:38  castaglia
+	* tests/tests.pl: Don't run the mod_sftp_sql unit tests unless that
+	module, too, is loaded.
 
-	* tests/api/: response.c, stubs.c, tests.c, tests.h:
-	  Start working on API-level regression tests for the Response API.
+2011-09-24  castaglia <castaglia>
 
-2011-10-24 16:06  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: More places to
+	catch data connection timeouts.
 
-	* 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-09-24  castaglia <castaglia>
 
-2011-10-24 15:59  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.
 
-	* 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-09-24  castaglia <castaglia>
 
-2011-10-23 19:31  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/CommandBufferSize.pm,
+	tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: More places to
+	catch data connection timeouts.
 
-	* tests/: tests.pl, t/config/listoptions.t,
-	  t/lib/ProFTPD/Tests/Config/ListOptions.pm:
-	  Start working on regression tests for the ListOptions directive,
-	  spurred by some questions about it in the online forums.
+2011-09-24  castaglia <castaglia>
 
-2011-10-18 07:52  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.
 
-	* doc/contrib/mod_sftp.html:
-	  Mention that mod_sftp does not honor the ListOptions directive.
+2011-09-23  castaglia <castaglia>
 
-2011-10-17 16:43  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.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm:
-	  Adding mod_rewrite regression test for rewriting backslashes to
-	  slashes.
+2011-09-23  castaglia <castaglia>
 
-2011-10-17 11:25  castaglia
+	* tests/api/scoreboard.c: Fixing pr_scoreboard_scrub() unit test so
+	that it passes properly.
 
-	* doc/howto/Rewrite.html:
-	  Adding new mod_rewrite example, for converting backslashes to
-	  slashes.
+2011-09-21  castaglia <castaglia>
 
-2011-10-13 09:23  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.
 
-	* 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-09-21  castaglia <castaglia>
 
-2011-10-12 10:17  castaglia
+	* tests/t/lib/ProFTPD/Tests/Telnet.pm: Adding regression test for
+	Bug#3697.
 
-	* doc/contrib/mod_sftp.html:
-	  Updated SFTPOptions documentation to mention new
-	  IgnoreSFTPSetTimes option (Bug#3706).
+2011-09-21  castaglia <castaglia>
 
-2011-10-12 10:15  castaglia
+	* NEWS, src/netio.c: Bug#3697 - Filenames with embedded IAC do not
+	get processed correctly.
 
-	* 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-09-21  castaglia <castaglia>
 
-2011-10-10 14:08  castaglia
+	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Regression test
+	for Bug#3696.
 
-	* NEWS, RELEASE_NOTES, contrib/mod_tls.c:
-	  Backport of fix for Bug#3704 to 1.3.3 branch.
+2011-09-21  castaglia <castaglia>
 
-2011-10-10 14:05  castaglia
+	* NEWS, include/proftpd.h, modules/mod_log.c, src/main.c: Bug#3696 -
+	ExtendedLog not getting written on timeouts.
 
-	* NEWS, RELEASE_NOTES:
-	  Fuller description in NEWS for Bug#3704, and mention the new
-	  TLSOption in the release notes.
+2011-09-21  castaglia <castaglia>
 
-2011-10-10 14:02  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.
 
-	* doc/contrib/mod_tls.html:
-	  Documenting the new NoEmptyFragments TLSOption.
+2011-09-09  castaglia <castaglia>
 
-2011-10-10 13:56  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).
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3704 - Enable OpenSSL countermeasure against SSLv3/TLSv1
-	  BEAST attacks.
+2011-09-09  castaglia <castaglia>
 
-2011-10-06 09:00  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.
 
-	* configure:
-	  Updated configure for Bug#3192.
+2011-09-06  castaglia <castaglia>
 
-2011-10-06 08:56  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.
 
-	* NEWS, config.h.in, configure.in, contrib/mod_sql_postgres.c:
-	  Bug#3192 - PQescapeStringConn() needs a better check.
+2011-09-06  castaglia <castaglia>
 
-2011-10-06 08:33  castaglia
+	* src/memcache.c: Pedantically fix more compiler warnings.
 
-	* configure:
-	  Updated configure for Bug#3669.
+2011-09-05  castaglia <castaglia>
 
-2011-10-06 08:27  castaglia
+	* doc/contrib/mod_sql.html: Fix HTML markup.
 
-	* 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-09-05  castaglia <castaglia>
 
-2011-10-05 18:05  castaglia
+	* contrib/mod_tls_memcache.c: Address a few compiler warnings.
 
-	* NEWS, src/timers.c:
-	  Backport of fix for Bug#3702.  For the 1.3.3 branch, a different
-	  fix is used, since the necessary configure code is not present in
-	  this branch.
+2011-09-05  castaglia <castaglia>
 
-2011-10-05 18:04  castaglia
+	* contrib/mod_tls.c: Fix typo causing compiler warninga about
+	"statement with no effect".
 
-	* configure:
-	  Updated configure for Bug#3702.
+2011-09-05  castaglia <castaglia>
 
-2011-10-05 17:59  castaglia
+	* src/trace.c: Fix compiler error when compiling with
+	--disable-trace; the pr_trace_vsmg() function was not implemented in
+	that case.
 
-	* NEWS, configure.in:
-	  Bug#3702 - ProFTPD with mod_sql_mysql dies of "Alarm clock" on
-	  FreeBSD.
+2011-09-02  castaglia <castaglia>
 
-2011-10-04 13:59  castaglia
+	* contrib/README, contrib/mod_quotatab_ldap.ldif,
+	contrib/mod_quotatab_ldap.schema: Bug#3678 - Include LDAP schema for
+	mod_quotatab_ldap.
 
-	* src/: main.c, support.c, timers.c:
-	  Add checking of the return values for calling signal(2),
-	  sigaction(2), and siginterrupt(2), and logging of any errors.
+2011-09-02  castaglia <castaglia>
 
-2011-10-03 22:27  castaglia
+	* doc/contrib/mod_exec.html: Adding mod_exec FAQ.
 
-	* 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-08-19  castaglia <castaglia>
 
-2011-09-29 07:17  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.
 
-	* contrib/mod_sftp/date.c:
-	  Bug#3650 - Update the FSF address.
+2011-08-16  castaglia <castaglia>
 
-2011-09-26 20:57  castaglia
+	* src/trace.c: Quell compiler warning on some systems by using an
+	explicit typecast.
 
-	* 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-08-16  castaglia <castaglia>
 
-2011-09-26 09:41  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.
 
-	* ChangeLog:
-	  Updating ChangeLog.
+2011-08-13  castaglia <castaglia>
 
-2011-09-26 09:40  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).
 
-	* NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec,
-	  include/version.h:
-	  Updated files for release of 1.3.3f.
+2011-08-13  castaglia <castaglia>
 
-2011-09-26 08:53  castaglia
+	* NEWS, src/response.c: Bug#3685 - NULL pointer dereference after an
+	idle timeout.
 
-	* include/version.h:
-	  Updated version for CVS status.
+2011-08-12  castaglia <castaglia>
 
-2011-09-26 08:15  castaglia
+	* configure: Updated configure.
 
-	* contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Update the versions for RC3.
+2011-08-12  castaglia <castaglia>
 
-2011-09-26 08:14  castaglia
+	* NEWS, configure.in: Bug#3681 - Non POSIX test constructions in
+	autoconf script.
 
-	* NEWS:
-	  Update NEWS with the release date.
+2011-08-08  castaglia <castaglia>
 
-2011-09-26 08:08  castaglia
+	* contrib/mod_tls.c: Reduce the OpenSSL memory usage for SSL
+	connections (if OpenSSL-1.0.0a or later are used).
 
-	* ChangeLog:
-	  Updated ChangeLog.
+2011-08-05  castaglia <castaglia>
 
-2011-09-26 08:05  castaglia
+	* doc/contrib/mod_sftp.html: Update the SFTPOptions
+	IgnoreSFTPUploadPerms description to mention directory creation, as
+	per Bug#3680.
 
-	* RELEASE_NOTES:
-	  Updated release notes.
+2011-08-05  castaglia <castaglia>
 
-2011-09-26 08:00  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.
 
-	* 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-08-05  castaglia <castaglia>
 
-2011-09-24 19:50  castaglia
+	* contrib/mod_radius.c: Better implementation of the
+	NAS-IPv6-Address functionality for Bug#3679.
 
-	* 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-08-04  castaglia <castaglia>
 
-2011-09-24 14:56  castaglia
+	* doc/contrib/mod_radius.html: Mention that mod_radius might use
+	NAS-IPv6-Address in the mod_radius docs.
 
-	* 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-08-04  castaglia <castaglia>
 
-2011-09-24 12:54  castaglia
+	* NEWS, contrib/mod_radius.c: Bug#3679 - Support NAS-IPv6-Address
+	RADIUS attribute.
 
-	* 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-08-04  castaglia <castaglia>
 
-2011-09-24 12:52  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.
 
-	* src/main.c:
-	  More tricks to preserve the errno value through the command
-	  dispatch mechanism.
+2011-08-03  castaglia <castaglia>
 
-2011-09-24 12:12  castaglia
+	* doc/contrib/mod_radius.html: Update the RadiusNASIdentifier docs
+	to mention that it will use "ssh2" for SFTP/SCP sessions.
 
-	* 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-08-03  castaglia <castaglia>
 
-2011-09-24 10:33  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.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm:
-	  Fixing broken unit tests.
+2011-08-02  castaglia <castaglia>
 
-2011-09-23 23:44  castaglia
+	* src/scoreboard.c: Fix compiler warning about shadowed variable.
 
-	* 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-08-02  castaglia <castaglia>
 
-2011-09-23 23:38  castaglia
+	* configure: Updated configure.
 
-	* 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-08-02  castaglia <castaglia>
 
-2011-09-23 22:59  castaglia
+	* NEWS, configure.in: Bug#3675 - Automatically disable sendfile
+	support for AIX systems.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm:
-	  Fix broken mod_sql_sqlite unit tests.
+2011-08-02  castaglia <castaglia>
 
-2011-09-23 22:42  castaglia
+	* contrib/mod_sftp/mod_sftp.c: Fix the compilation of mod_sftp.c
+	(Bug#3677).
 
-	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
-	  Relax some of the heuristics, allowing some of the unit tests to
-	  pass more regularly.
+2011-08-02  castaglia <castaglia>
 
-2011-09-23 22:33  castaglia
+	* src/regexp.c: Remove unused variable.
 
-	* contrib/mod_rewrite.c:
-	  Fix a regression in the RewriteHome feature, where it wasn't
-	  working at all.
+2011-08-01  castaglia <castaglia>
 
-2011-09-23 22:33  castaglia
+	* src/main.c: Defend against possible null cmd_rec argument in
+	pr_cmd_dispatch_phase().
 
-	* tests/t/lib/ProFTPD/Tests/Config/RewriteHome.pm:
-	  Minor style updates; no functional change.
+2011-07-31  castaglia <castaglia>
 
-2011-09-23 22:18  castaglia
+	* NEWS, modules/mod_ctrls.c: Bug#3674 - After running "proftpd -t"
+	command, ftpdctl commands no longer work.
 
-	* tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm:
-	  Expect to handle a "File too large" error response as well in
-	  these unit tests.
+2011-07-26  castaglia <castaglia>
 
-2011-09-23 22:16  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/DisplayChdir.pm:
-	  Fix broken unit test.
+2011-07-10  castaglia <castaglia>
 
-2011-09-23 22:14  castaglia
+	* doc/contrib/mod_tls.html: Updated mod_tls
+	AllowClientRenegotiations TLSOption description to mention
+	CVE-2011-1437.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm:
-	  Add a different expected error message, fixing the unit test on a
-	  Linux system.
+2011-07-10  castaglia <castaglia>
 
-2011-09-23 22:09  castaglia
+	* NEWS, contrib/mod_tls.c: Bug#3671 - TLSOption
+	AllowClientRenegotiations to be unconditionally required for
+	client-initiated renegotiations.
 
-	* 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-07-10  castaglia <castaglia>
 
-2011-09-23 22:05  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/wrap2.pm: Adding
+	regression tests for Bug#3670.
 
-	* 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-07-10  castaglia <castaglia>
 
-2011-09-23 18:19  castaglia
+	* NEWS, contrib/mod_sftp/mod_sftp.c: Bug#3670 - WrapDenyMsg not
+	displayed when using mod_wrap2 + mod_sftp.
 
-	* tests/tests.pl:
-	  Don't run the mod_sftp_sql unit tests unless that module, too, is
-	  loaded.
+2011-07-09  castaglia <castaglia>
 
-2011-09-23 18:13  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.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm:
-	  More places to catch data connection timeouts.
+2011-07-09  castaglia <castaglia>
 
-2011-09-23 18:07  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.
 
-	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
-	  More places to catch data connection timeouts.
+2011-07-06  castaglia <castaglia>
 
-2011-09-23 18:01  castaglia
+	* doc/modules/mod_facts.html: Adding MLSD/MLST FAQ from forums.
 
-	* tests/t/lib/ProFTPD/Tests/Config/: TimeoutNoTransfer.pm,
-	  FTPAccess/RETR.pm:
-	  More places to catch data connection timeouts.
+2011-07-02  castaglia <castaglia>
 
-2011-09-23 17:56  castaglia
+	* NEWS, src/scoreboard.c: Bug#3668 - File descriptor leak during
+	scoreboard scrubbing.
 
-	* tests/t/lib/ProFTPD/Tests/Config/: MaxRetrieveFileSize.pm,
-	  MaxStoreFileSize.pm:
-	  More places to catch data connection timeouts.
+2011-07-01  castaglia <castaglia>
 
-2011-09-23 17:46  castaglia
+	* doc/modules/mod_core.html: Add description of the GroupOwner
+	directive, updated for Bug#3665, to the mod_core HTML docs.
 
-	* tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm:
-	  More places to catch data connection timeouts.
+2011-07-01  castaglia <castaglia>
 
-2011-09-23 17:42  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/CommandBufferSize.pm:
-	  More places to catch data connection timeouts.
+2011-06-30  jwm <jwm>
 
-2011-09-23 17:38  castaglia
+	* NEWS: mention the mod_ldap configuration directive overhaul
 
-	* tests/t/lib/ProFTPD/Tests/Commands/: LIST.pm, MLSD.pm, NLST.pm,
-	  RETR.pm, 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-06-21  castaglia <castaglia>
 
-2011-09-23 16:28  castaglia
+	* NEWS, src/scoreboard.c: Bug#3667 - Scoreboard scrubbing can block
+	daemon process for long periods of time.
 
-	* tests/t/lib/ProFTPD/Tests/: Commands/APPE.pm, Commands/LIST.pm,
-	  Config/ShowSymlinks.pm, Modules/mod_ban.pm, Modules/mod_sftp.pm,
-	  Modules/mod_sql_sqlite.pm:
-	  Trying to fix/quell Perl warnings emitted while running the
-	  testsuite.
+2011-06-17  castaglia <castaglia>
 
-2011-09-23 09:54  castaglia
+	* doc/contrib/mod_sftp.html: Minor updates to the mod_sftp docs for
+	SFTPCiphers, SFTPDigests, and SFTPOptions.
 
-	* tests/api/scoreboard.c:
-	  Fixing pr_scoreboard_scrub() unit test so that it passes
-	  properly.
+2011-06-17  castaglia <castaglia>
 
-2011-09-21 08:30  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.
 
-	* 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-06-17  castaglia <castaglia>
 
-2011-09-21 07:50  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.
 
-	* NEWS, src/netio.c:
-	  Backport of fix for Bug#3697 to 1.3.3 branch.
+2011-06-14  castaglia <castaglia>
 
-2011-09-21 07:49  castaglia
+	* NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Bug#3664 -
+	mod_sftp does not update process title.
 
-	* tests/t/lib/ProFTPD/Tests/Telnet.pm:
-	  Adding regression test for Bug#3697.
+2011-06-10  castaglia <castaglia>
 
-2011-09-21 07:48  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).
 
-	* NEWS, src/netio.c:
-	  Bug#3697 - Filenames with embedded IAC do not get processed
-	  correctly.
+2011-06-10  castaglia <castaglia>
 
-2011-09-20 22:40  castaglia
+	* src/scoreboard.c: If we can't open the ScoreboardFile during
+	scrubbing, make sure we log the proper error reason for it.
 
-	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
-	  Regression test for Bug#3696.
+2011-06-06  castaglia <castaglia>
 
-2011-09-20 22:40  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm: Add HideNoAccess
+	regression test, trying to reproduce an issue described on
+	forums.proftpd.org.
 
-	* NEWS, include/proftpd.h, modules/mod_log.c, src/main.c:
-	  Bug#3696 - ExtendedLog not getting written on timeouts.
+2011-06-05  castaglia <castaglia>
 
-2011-09-20 22:03  castaglia
+	* modules/mod_delay.c: Remove now-unnecessary blank line in 'ftpdctl
+	delay info' response.
 
-	* 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-06-05  castaglia <castaglia>
 
-2011-09-09 11:13  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.
 
-	* 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-06-05  castaglia <castaglia>
 
-2011-09-09 10:59  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.
 
-	* 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-06-05  castaglia <castaglia>
 
-2011-09-06 14:14  castaglia
+	* NEWS, modules/mod_delay.c: Bug#3663 - TimeoutLogin cannot
+	interrupt mod_delay as it should.
 
-	* 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-06-03  castaglia <castaglia>
 
-2011-09-06 10:21  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Add mod_deflate
+	regression test showing read/compress of chunks of upload data.
 
-	* src/memcache.c:
-	  Pedantically fix more compiler warnings.
+2011-06-03  castaglia <castaglia>
 
-2011-09-05 13:07  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Fix mod_deflate
+	regression tests broken by the addition of the ScoreboardMutex.
 
-	* doc/contrib/mod_sql.html:
-	  Fix HTML markup.
+2011-05-27  castaglia <castaglia>
 
-2011-09-05 12:26  castaglia
+	* doc/modules/mod_core.html: Add docs for the PassivePorts directive
+	to the bundled HTML mod_core doc.
 
-	* contrib/mod_tls_memcache.c:
-	  Address a few compiler warnings.
+2011-05-27  castaglia <castaglia>
 
-2011-09-05 12:20  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.
 
-	* contrib/mod_tls.c:
-	  Fix typo causing compiler warninga about "statement with no
-	  effect".
+2011-05-27  castaglia <castaglia>
 
-2011-09-05 12:19  castaglia
+	* src/fsio.c: More caching/setting of errno properly, and fixing a
+	minor memory leak.
 
-	* src/trace.c:
-	  Fix compiler error when compiling with --disable-trace; the
-	  pr_trace_vsmg() function was not implemented in that case.
+2011-05-26  castaglia <castaglia>
 
-2011-09-02 10:55  castaglia
+	* modules/mod_core.c: Properly cache/set the errno value before
+	returning PR_ERROR.
 
-	* contrib/: README, mod_quotatab_ldap.ldif,
-	  mod_quotatab_ldap.schema:
-	  Bug#3678 - Include LDAP schema for mod_quotatab_ldap.
+2011-05-26  castaglia <castaglia>
 
-2011-09-02 10:23  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.
 
-	* doc/contrib/mod_exec.html:
-	  Adding mod_exec FAQ.
+2011-05-26  castaglia <castaglia>
 
-2011-08-19 09:51  castaglia
+	* NEWS, contrib/mod_quotatab.c, contrib/mod_site_misc.c: Bug#3660 -
+	SITE MKDIR/RMDIR should update quota tallies properly.
 
-	* 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-05-26  castaglia <castaglia>
 
-2011-08-16 09:13  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.
 
-	* src/trace.c:
-	  Quell compiler warning on some systems by using an explicit
-	  typecast.
+2011-05-26  castaglia <castaglia>
 
-2011-08-16 09:13  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.
 
-	* 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-05-26  castaglia <castaglia>
 
-2011-08-13 12:28  castaglia
+	* contrib/mod_sql.c: Fix some strncasecmp(3) cases in mod_sql, and
+	convert other strcasecmp(3) to strncasecmp(3).
 
-	* 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-05-26  castaglia <castaglia>
 
-2011-08-13 12:24  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.
 
-	* NEWS, src/response.c:
-	  Bug#3685 - NULL pointer dereference after an idle timeout.
+2011-05-26  castaglia <castaglia>
 
-2011-08-12 10:46  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.
 
-	* configure:
-	  Updated configure.
+2011-05-25  castaglia <castaglia>
 
-2011-08-12 10:41  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).
 
-	* NEWS, configure.in:
-	  Bug#3681 - Non POSIX test constructions in autoconf script.
+2011-05-25  castaglia <castaglia>
 
-2011-08-07 18:50  castaglia
+	* contrib/mod_quotatab.c: Fix up some minor nits in mod_quotatab,
+	found while working on Bug#3641.
 
-	* contrib/mod_tls.c:
-	  Reduce the OpenSSL memory usage for SSL connections (if
-	  OpenSSL-1.0.0a or later are used).
+2011-05-25  castaglia <castaglia>
 
-2011-08-05 15:49  castaglia
+	* modules/mod_xfer.c: Set errno before returning PR_ERROR.
 
-	* doc/contrib/mod_sftp.html:
-	  Update the SFTPOptions IgnoreSFTPUploadPerms description to
-	  mention directory creation, as per Bug#3680.
+2011-05-25  castaglia <castaglia>
 
-2011-08-05 15:48  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.
 
-	* 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-05-24  castaglia <castaglia>
 
-2011-08-05 10:21  castaglia
+	* contrib/install-sh: Adding install-sh script for contrib/ area.
 
-	* contrib/mod_radius.c:
-	  Better implementation of the NAS-IPv6-Address functionality for
-	  Bug#3679.
+2011-05-24  castaglia <castaglia>
 
-2011-08-04 15:34  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.
 
-	* doc/contrib/mod_radius.html:
-	  Mention that mod_radius might use NAS-IPv6-Address in the
-	  mod_radius docs.
+2011-05-24  castaglia <castaglia>
 
-2011-08-04 15:32  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).
 
-	* NEWS, contrib/mod_radius.c:
-	  Bug#3679 - Support NAS-IPv6-Address RADIUS attribute.
+2011-05-24  castaglia <castaglia>
 
-2011-08-04 14:15  castaglia
+	* contrib/mod_sftp/scp.c: Remove redundant setting of the
+	POSIXLY_CORRECT environment variable.
 
-	* 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-05-24  castaglia <castaglia>
 
-2011-08-03 14:45  castaglia
+	* doc/contrib/mod_ctrls_admin.html: Documenting the -n 'ftpdctl
+	kick' option, added for Bug#3555.
 
-	* doc/contrib/mod_radius.html:
-	  Update the RadiusNASIdentifier docs to mention that it will use
-	  "ssh2" for SFTP/SCP sessions.
+2011-05-24  castaglia <castaglia>
 
-2011-08-03 14:43  castaglia
+	* NEWS, contrib/mod_ctrls_admin.c: Bug#3555 - Support optional
+	maximum number of clients to be disconnected via 'ftpdctl kick'.
 
-	* 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-05-23  castaglia <castaglia>
 
-2011-08-02 15:09  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).
 
-	* src/scoreboard.c:
-	  Fix compiler warning about shadowed variable.
+2011-05-23  castaglia <castaglia>
 
-2011-08-02 12:16  castaglia
+	* contrib/mod_wrap2/configure: Updated mod_wrap2 configure.
 
-	* configure:
-	  Updated configure.
+2011-05-23  castaglia <castaglia>
 
-2011-08-02 12:12  castaglia
+	* configure.in, contrib/mod_wrap2/configure.in: Updating FSF
+	address, per Bug#3650.
 
-	* NEWS, configure.in:
-	  Bug#3675 - Automatically disable sendfile support for AIX
-	  systems.
+2011-05-23  castaglia <castaglia>
 
-2011-08-02 11:24  castaglia
+	* contrib/ftpasswd, contrib/ftpmail, contrib/ftpquota, src/prxs.in: 
+	Updated FSF address, per Bug#3650.
 
-	* contrib/mod_sftp/mod_sftp.c:
-	  Fix the compilation of mod_sftp.c (Bug#3677).
+2011-05-23  castaglia <castaglia>
 
-2011-08-02 10:10  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.
 
-	* src/regexp.c:
-	  Remove unused variable.
+2011-05-23  castaglia <castaglia>
 
-2011-08-01 11:44  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>
 
-	* src/main.c:
-	  Defend against possible null cmd_rec argument in
-	  pr_cmd_dispatch_phase().
+	* 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-07-31 15:07  castaglia
+2011-05-23  castaglia <castaglia>
 
-	* NEWS, modules/mod_ctrls.c:
-	  Bug#3674 - After running "proftpd -t" command, ftpdctl commands
-	  no longer work.
+	* COPYING: Updating FSF address, per Bug#3650.
 
-2011-07-26 14:14  castaglia
+2011-05-20  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.
+	* 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-07-10 11:06  castaglia
+2011-05-20  castaglia <castaglia>
 
-	* doc/contrib/mod_tls.html:
-	  Updated mod_tls AllowClientRenegotiations TLSOption description
-	  to mention CVE-2011-1437.
+	* contrib/mod_tls.c: Clarify the certificate revocation callback
+	code a little, and add some comments on edge cases to handle better.
 
-2011-07-10 11:03  castaglia
+2011-05-20  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3671 - TLSOption AllowClientRenegotiations to be
-	  unconditionally required for client-initiated renegotiations.
+	* 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-07-10 09:43  castaglia
+2011-05-20  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/wrap2.pm:
-	  Adding regression tests for Bug#3670.
+	* 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-07-10 09:42  castaglia
+2011-05-20  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/mod_sftp.c:
-	  Bug#3670 - WrapDenyMsg not displayed when using mod_wrap2 +
-	  mod_sftp.
+	* 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-07-09 10:57  castaglia
+2011-05-19  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_sftp.pm,
-	  t/lib/ProFTPD/Tests/Modules/mod_sftp/wrap2.pm,
-	  t/modules/mod_sftp/wrap2.t:
-	  Breaking out the mod_sftp+mod_wrap2 unit tests into their own
-	  separate file of test cases.
+	* NEWS, contrib/mod_tls.c: Bug#3658 - TLSVerifyOrder directive is
+	broken.
 
-2011-07-09 10:44  castaglia
+2011-05-19  castaglia <castaglia>
 
-	* contrib/mod_sftp/: auth-publickey.c, kex.c:
-	  Adding comments for my future reference, for when I start adding
-	  X509 support to mod_sftp.
+	* 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-07-06 10:14  castaglia
+2011-05-18  castaglia <castaglia>
 
-	* doc/modules/mod_facts.html:
-	  Adding MLSD/MLST FAQ from forums.
+	* 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-07-02 16:09  castaglia
+2011-05-18  castaglia <castaglia>
 
-	* NEWS, src/scoreboard.c:
-	  Bug#3668 - File descriptor leak during scoreboard scrubbing.
+	* 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-07-01 11:34  castaglia
+2011-05-18  castaglia <castaglia>
 
-	* doc/modules/mod_core.html:
-	  Add description of the GroupOwner directive, updated for
-	  Bug#3665, to the mod_core HTML docs.
+	* 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-07-01 11:03  castaglia
+2011-05-18  castaglia <castaglia>
 
-	* NEWS, src/dirtree.c:
-	  Bug#3665 - GID of new files are inherited from parent directory
-	  on FreeBSD.
+	* 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.
 
-	  The GroupOwner directive is enhanced to use "~" as "GID of
-	  logged-in user", to work around the FreeBSD-specific behavior.
+2011-05-18  castaglia <castaglia>
 
-2011-06-30 05:20  jwm
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm: Update the
+	group quota regression test to use the fixed table files.
 
-	* NEWS: mention the mod_ldap configuration directive overhaul
+2011-05-18  castaglia <castaglia>
 
-2011-06-21 11:01  castaglia
+	* : Fixing the group quota file-based tables for the
+	mod_quotatab_file regression test.
 
-	* NEWS, src/scoreboard.c:
-	  Bug#3667 - Scoreboard scrubbing can block daemon process for long
-	  periods of time.
+2011-05-18  castaglia <castaglia>
 
-2011-06-17 16:28  castaglia
+	* : Adding the limit/tally file tables for the ALL regression test.
 
-	* doc/contrib/mod_sftp.html:
-	  Minor updates to the mod_sftp docs for SFTPCiphers, SFTPDigests,
-	  and SFTPOptions.
+2011-05-18  castaglia <castaglia>
 
-2011-06-17 15:55  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).
 
-	* 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-05-18  castaglia <castaglia>
 
-2011-06-17 10:53  castaglia
+	* configure: Updated configure.
 
-	* 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-05-18  castaglia <castaglia>
 
-2011-06-14 15:25  castaglia
+	* configure.in: Fix --disable-strip logic.
 
-	* NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c:
-	  Bug#3664 - mod_sftp does not update process title.
+2011-05-18  castaglia <castaglia>
 
-2011-06-09 19:57  castaglia
+	* doc/contrib/mod_wrap2.html: Fix typos in the mod_wrap2 docs.
 
-	* 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-05-18  castaglia <castaglia>
 
-2011-06-09 18:32  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.
 
-	* src/scoreboard.c:
-	  If we can't open the ScoreboardFile during scrubbing, make sure
-	  we log the proper error reason for it.
+2011-05-17  castaglia <castaglia>
 
-2011-06-05 18:59  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#3656 - Prefer "File too big" error
+	message for MaxStoreFilesize.
 
-	* tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm:
-	  Add HideNoAccess regression test, trying to reproduce an issue
-	  described on forums.proftpd.org.
+2011-05-16  castaglia <castaglia>
 
-2011-06-05 16:18  castaglia
+	* modules/mod_xfer.c: Another typo.
 
-	* modules/mod_delay.c:
-	  Remove now-unnecessary blank line in 'ftpdctl delay info'
-	  response.
+2011-05-16  castaglia <castaglia>
 
-2011-06-05 16:17  castaglia
+	* modules/mod_xfer.c: Typo.
 
-	* 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.
+2011-05-15  castaglia <castaglia>
 
-	  Second, make the output from 'ftpdctl delay info' a little
-	  prettier.
+	* contrib/mod_sftp/packet.c: Leaving notes for myself about the use
+	of TCP_CORK/TCP_NOPUSH when sending SSH messages.
 
-2011-06-05 15:45  castaglia
+2011-05-15  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.
+	* 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-06-05 10:15  castaglia
+2011-05-15  castaglia <castaglia>
 
-	* NEWS, modules/mod_delay.c:
-	  Bug#3663 - TimeoutLogin cannot interrupt mod_delay as it should.
+	* 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-06-03 16:15  castaglia
+2011-05-13  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm:
-	  Add mod_deflate regression test showing read/compress of chunks
-	  of upload data.
+	* contrib/mod_sftp/mod_sftp.c: Provide better error message for
+	SFTPClientMatch values configured to be zero.
 
-2011-06-03 09:53  castaglia
+2011-05-13  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm:
-	  Fix mod_deflate regression tests broken by the addition of the
-	  ScoreboardMutex.
+	* NEWS, src/main.c: Bug#3653 - Segfault with "DefaultServer off" and
+	no matching server for incoming IP address.
 
-2011-05-26 20:13  castaglia
+2011-05-13  castaglia <castaglia>
 
-	* doc/modules/mod_core.html:
-	  Add docs for the PassivePorts directive to the bundled HTML
-	  mod_core doc.
+	* configure: Updated configure.
 
-2011-05-26 20:03  castaglia
+2011-05-13  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.
+	* configure.in: Renaming --enable-symbols configure option, added
+	for Bug#3651, to be --disable-strip (which is what OpenSSH uses).
 
-2011-05-26 17:38  castaglia
+2011-05-13  castaglia <castaglia>
 
-	* src/fsio.c:
-	  More caching/setting of errno properly, and fixing a minor memory
-	  leak.
+	* doc/contrib/mod_sftp.html: Typo.
 
-2011-05-26 16:41  castaglia
+2011-05-13  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Properly cache/set the errno value before returning PR_ERROR.
+	* contrib/mod_sftp/keys.c: Fix typo in comment.
 
-2011-05-26 16:15  castaglia
+2011-05-11  castaglia <castaglia>
 
-	* tests/: tests.pl,
-	  t/lib/ProFTPD/Tests/Modules/mod_quotatab/site_misc.pm,
-	  t/modules/mod_quotatab/site_misc.t:
-	  Adding regression tests for Bug#3660.
+	* doc/howto/TLS.html: Added TLS FAQ/example config for requring FTPS
+	for remote clients but allowing just FTP for local clients.
 
-2011-05-26 16:14  castaglia
+2011-05-11  castaglia <castaglia>
 
-	* NEWS, contrib/mod_quotatab.c, contrib/mod_site_misc.c:
-	  Bug#3660 - SITE MKDIR/RMDIR should update quota tallies properly.
+	* contrib/mod_wrap.c: Additional fixes for Bug#3652.
 
-2011-05-26 16:08  castaglia
+2011-05-11  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.
+	* 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-26 16:08  castaglia
+2011-05-09  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.
+	* NEWS, contrib/mod_wrap.c: Bug#3652 - TCPAccessSyslogLevel
+	directive broken by Bug#3317.
 
-2011-05-26 14:48  castaglia
+2011-05-08  castaglia <castaglia>
 
-	* contrib/mod_sql.c:
-	  Fix some strncasecmp(3) cases in mod_sql, and convert other
-	  strcasecmp(3) to strncasecmp(3).
+	* configure: Updated configure.
 
-2011-05-26 14:46  castaglia
+2011-05-08  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.
+	* 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-26 11:47  castaglia
+2011-05-08  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.
+	* 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-25 16:56  castaglia
+2011-05-05  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).
+	* modules/mod_facts.c: Update mod_facts to use the new defines for
+	the MFF and MFMT commands.
 
-2011-05-25 16:54  castaglia
+2011-05-05  castaglia <castaglia>
 
-	* contrib/mod_quotatab.c:
-	  Fix up some minor nits in mod_quotatab, found while working on
-	  Bug#3641.
+	* 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-25 16:51  castaglia
+2011-05-05  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Set errno before returning PR_ERROR.
+	* modules/mod_ls.c: Remove now-unused variable declaration.
 
-2011-05-25 09:50  castaglia
+2011-05-04  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ifsession.c:
-	  Bug#3659 - Segmentation fault if there is regex <IfUser> section
-	  in a <VirtualHost> section.
+	* 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-24 18:15  castaglia
+2011-05-03  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.
+	* 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-24 14:38  castaglia
+2011-05-02  castaglia <castaglia>
 
-	* contrib/install-sh:
-	  Adding install-sh script for contrib/ area.
+	* contrib/mod_quotatab_sql.c, contrib/mod_sql_passwd.c: More
+	idiomatic check for DECLINED/null results.
 
-2011-05-24 14:00  castaglia
+2011-05-01  jwm <jwm>
 
-	* 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.
+	* Makefile.in: - execute the clean target in tests/, too - remove some Makefiles on distclean that were sneaking their way
+	  into release tarballs
 
-	  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-01  castaglia <castaglia>
 
-2011-05-24 13:55  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.
 
-	* contrib/mod_sftp/: Makefile.in, auth.c, channel.c, channel.h,
-	  date.c, date.h, mod_sftp.c, mod_sftp.h.in:
-	  Adding support for builtin date(1) command, for speed tests
-	  related to authentication (versus file transfers via SFTP/SCP).
+2011-04-30  castaglia <castaglia>
 
-2011-05-24 10:06  castaglia
+	* lib/tpl.c: Fixing nits in libtpl found by Apple's clang static
+	source code analysis tool.
 
-	* contrib/mod_sftp/scp.c:
-	  Remove redundant setting of the POSIXLY_CORRECT environment
-	  variable.
+2011-04-30  castaglia <castaglia>
 
-2011-05-23 17:06  castaglia
+	* modules/mod_delay.c: Fix nit found by Apple's clang static source
+	code analysis tool.
 
-	* doc/contrib/mod_ctrls_admin.html:
-	  Documenting the -n 'ftpdctl kick' option, added for Bug#3555.
+2011-04-30  castaglia <castaglia>
 
-2011-05-23 17:04  castaglia
+	* src/pool.c: Adding comment describing why the logic in
+	null_alloc() is as intended, for future reference.
 
-	* NEWS, contrib/mod_ctrls_admin.c:
-	  Bug#3555 - Support optional maximum number of clients to be
-	  disconnected via 'ftpdctl kick'.
+2011-04-30  castaglia <castaglia>
 
-2011-05-23 16:23  castaglia
+	* modules/mod_facts.c: Fix up minor nits pointed out by Apple'c
+	clang static code analysis tool.
 
-	* contrib/mod_ban.c, contrib/mod_tls.c, contrib/mod_sftp/scp.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-04-29  castaglia <castaglia>
 
-2011-05-23 14:32  castaglia
+	* modules/mod_auth.c: Paranoidly guard against possible NULL pointer
+	dereference (found by Klocwork static source code analysis).
 
-	* contrib/mod_wrap2/configure:
-	  Updated mod_wrap2 configure.
+2011-04-29  castaglia <castaglia>
 
-2011-05-23 14:29  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#3649 - MaxStoreFileSize can be
+	bypassed using REST/APPE.
 
-	* configure.in, contrib/mod_wrap2/configure.in:
-	  Updating FSF address, per Bug#3650.
+2011-04-29  castaglia <castaglia>
 
-2011-05-23 14:25  castaglia
+	* modules/mod_log.c: Code/style clarity.
 
-	* contrib/ftpasswd, contrib/ftpmail, contrib/ftpquota, src/prxs.in:
+2011-04-29  castaglia <castaglia>
 
-	  Updated FSF address, per Bug#3650.
+	* modules/mod_facts.c: Typo.
 
-2011-05-23 14:22  castaglia
+2011-04-29  castaglia <castaglia>
 
-	* 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, COPYING, doc/license.txt:
-	  Updating FSF address, per Bug#3650.
+	* src/fsio.c: Fix issue highlighted by Klocwork's static source code
+	analysis.
 
-2011-05-23 14:11  castaglia
+2011-04-29  castaglia <castaglia>
 
-	* modules/: mod_auth.c, mod_auth_file.c, mod_auth_pam.c,
-	  mod_auth_unix.c, mod_cap.c, mod_core.c, mod_ctrls.c, mod_delay.c,
-	  mod_dso.c, mod_facl.c, mod_facts.c, mod_ident.c, mod_lang.c,
-	  mod_log.c, mod_ls.c, mod_memcache.c, mod_site.c, mod_xfer.c:
-	  Updated FSF address, per Bug#3650.
+	* modules/mod_ls.c: Fix issue highlighted by Klocwork's static
+	source code analysis.
 
-2011-05-23 14:08  castaglia
+2011-04-28  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:
-	  Updated FSF address, per Bug#3650.
-
-2011-05-23 14:03  castaglia
-
-	* contrib/mod_sftp/: auth-hostbased.c, auth-kbdint.c,
-	  auth-password.c, auth-publickey.c, auth.c, channel.c, cipher.c,
-	  compress.c, crypto.c, disconnect.c, display.c, fxp.c, interop.c,
-	  kbdint.c, kex.c, keys.c, keystore.c, mac.c, misc.c, mod_sftp.c,
-	  msg.c, packet.c, rfc4716.c, scp.c, service.c, session.c, tap.c,
-	  utf8.c:
-	  Updating FSF address, per Bug#3650.
-
-2011-05-23 13:56  castaglia
-
-	* contrib/: mod_ban.c, mod_copy.c, mod_ctrls_admin.c,
-	  mod_deflate.c, mod_dynmasq.c, mod_exec.c, mod_ifsession.c,
-	  mod_ifversion.c, mod_ldap.c, mod_qos.c, mod_quotatab.c,
-	  mod_quotatab_file.c, mod_quotatab_ldap.c, mod_quotatab_radius.c,
-	  mod_quotatab_sql.c, mod_radius.c, mod_ratio.c, mod_readme.c,
-	  mod_rewrite.c, mod_sftp_pam.c, mod_sftp_sql.c, mod_shaper.c,
-	  mod_site_misc.c, mod_sql.c, mod_sql_mysql.c, mod_sql_odbc.c,
-	  mod_sql_passwd.c, mod_sql_postgres.c, mod_sql_sqlite.c,
-	  mod_tls_memcache.c, mod_tls_shmcache.c, mod_unique_id.c,
-	  mod_wrap.c, mod_wrap2_file.c, mod_wrap2_sql.c,
-	  mod_load/mod_load.c.in, mod_wrap2/mod_wrap2.c:
-	  Updating FSF address, per Bug#3650.
-
-2011-05-23 13:50  castaglia
-
-	* tests/api/: array.c, class.c, cmd.c, env.c, event.c, expr.c,
-	  feat.c, modules.c, netacl.c, netaddr.c, pool.c, regexp.c,
-	  scoreboard.c, sets.c, stash.c, str.c, stubs.c, table.c, tests.c,
-	  timers.c, var.c, version.c:
-	  Updating FSF address, per Bug#3650.
-
-2011-05-23 13:44  castaglia
-
-	* contrib/mod_quotatab.h, contrib/mod_sql.h, contrib/mod_tls.h,
-	  contrib/mod_sftp/mod_sftp.h.in, contrib/mod_wrap2/mod_wrap2.h.in,
-	  lib/getopt.h, tests/api/tests.h, 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 13:40  castaglia
-
-	* contrib/mod_sftp/: auth.h, channel.h, cipher.h, compress.h,
-	  crypto.h, disconnect.h, display.h, fxp.h, interop.h, kbdint.h,
-	  kex.h, keys.h, keystore.h, mac.h, misc.h, msg.h, packet.h,
-	  rfc4716.h, scp.h, service.h, session.h, ssh2.h, tap.h, utf8.h:
-	  Updating FSF address, per Bug#3650.
-
-2011-05-23 13:35  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm: Adding
+	regression test for Bug#3649.
 
-	* 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-04-26  castaglia <castaglia>
 
-2011-05-23 13:25  castaglia
+	* doc/modules/mod_xfer.html: Filling in the descriptions for
+	MaxRetrieveFileSize and MaxStoreFileSize in the mod_xfer HTML docs.
 
-	* COPYING:
-	  Updating FSF address, per Bug#3650.
+2011-04-22  castaglia <castaglia>
 
-2011-05-20 15:00  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).
 
-	* 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-04-22  castaglia <castaglia>
 
-2011-05-20 14:55  castaglia
+	* doc/contrib/mod_tls.html, doc/howto/TLS.html: A few minor
+	improvements to the mod_tls docs.
 
-	* contrib/mod_tls.c:
-	  Clarify the certificate revocation callback code a little, and
-	  add some comments on edge cases to handle better.
+2011-04-22  castaglia <castaglia>
 
-2011-05-20 11:16  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.)
 
-	* 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).
+2011-04-21  castaglia <castaglia>
 
-	  Reworked the OCSP verification code so that it works properly.
+	* NEWS, src/main.c: Bug#3644 - Disable signal handling for exiting
+	session processes.
 
-2011-05-20 11:14  castaglia
+2011-04-21  castaglia <castaglia>
 
-	* tests/t/: etc/modules/mod_tls/NOTES,
-	  lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Adding regression tests for the TLSVerifyOrder directive, for
-	  both 'crl' and 'ocsp' (separately).
+	* doc/howto/Tracing.html: Fix broken URL.
 
-	  Updates NOTES to mention how to generate certs with OCSP
-	  attributes, running OpenSSL's ocsp(1) as responder (and client),
-	  issues found, etc.
+2011-04-20  castaglia <castaglia>
 
-2011-05-20 11:02  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.
 
-	* tests/t/etc/modules/mod_tls/: ocsp-ca.pem, ocsp-client.pem,
-	  ocsp-server.pem, ocsp-https-ca.pem, ocsp-https-client.pem,
-	  ocsp-https-server.pem:
-	  Adding certs/files for OCSP verification tests.
+2011-04-20  castaglia <castaglia>
 
-2011-05-19 15:56  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").
 
-	* NEWS, contrib/mod_tls.c:
-	  Backport of fix for Bug#3658.
+2011-04-20  castaglia <castaglia>
 
-2011-05-19 15:56  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.
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3658 - TLSVerifyOrder directive is broken.
+2011-04-20  castaglia <castaglia>
 
-2011-05-19 11:26  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.
 
-	* 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-04-19  castaglia <castaglia>
 
-2011-05-18 13:35  castaglia
+	* modules/mod_auth_pam.c: Typo.
 
-	* 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-04-19  castaglia <castaglia>
 
-2011-05-18 13:23  castaglia
+	* doc/contrib/mod_sql_odbc.html: Improved the mod_sql_odbc docs a
+	little.
 
-	* 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-04-19  castaglia <castaglia>
 
-2011-05-18 13:22  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.
 
-	* tests/t/etc/modules/mod_tls/: crl-ca-revoked.pem, crl-ca.pem,
-	  crl-client-cert.pem, crl-server-cert.pem:
-	  Added new CA, server/client certs, and CRL PEM files for the CRL
-	  revocation regression test.
+2011-04-19  castaglia <castaglia>
 
-	  Updated the NOTES file with instructions on how to generate the
-	  above files.
+	* contrib/mod_sql_odbc.c: Fix some issues found in mod_sql_odbc
+	while working on some regression tests for it.
 
-2011-05-18 10:29  castaglia
+2011-04-19  castaglia <castaglia>
 
-	* tests/t/etc/modules/mod_quotatab_file/: NOTES, ftpquota.limittab,
-	  ftpquota.tallytab:
-	  Remove the broken file tables for the group quota test.  Add
-	  notes for how the file tables were generated, for future
-	  reference.
+	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Unless explicitly set, use
+	a TimeoutLinger value of 1 in the testsuite.
 
-2011-05-18 10:24  castaglia
+2011-04-15  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm:
-	  Update the group quota regression test to use the fixed table
-	  files.
+	* 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-05-18 10:22  castaglia
+2011-04-15  castaglia <castaglia>
 
-	* tests/t/etc/modules/mod_quotatab_file/: ftpquota-group-limit.tab,
-	  ftpquota-group-tally.tab:
-	  Fixing the group quota file-based tables for the
-	  mod_quotatab_file regression test.
+	* 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-05-18 10:15  castaglia
+2011-04-15  castaglia <castaglia>
 
-	* tests/t/etc/modules/mod_quotatab_file/: ftpquota-all-limit.tab,
-	  ftpquota-all-tally.tab:
-	  Adding the limit/tally file tables for the ALL regression test.
+	* 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-05-18 10:13  castaglia
+2011-04-15  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).
+	* contrib/mod_sftp/fxp.c: Another conversion from strchr(3) to
+	memchr(3).
 
-2011-05-18 08:18  castaglia
+2011-04-14  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* 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-05-18 08:13  castaglia
+2011-04-14  castaglia <castaglia>
 
-	* configure.in:
-	  Fix --disable-strip logic.
+	* contrib/mod_sftp/channel.c: Add trace logging of when we invoke a
+	channel's finish handler.
 
-2011-05-17 22:46  castaglia
+2011-04-14  castaglia <castaglia>
 
-	* doc/contrib/mod_wrap2.html:
-	  Fix typos in the mod_wrap2 docs.
+	* 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-05-17 22:23  castaglia
+2011-04-14  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.
+	* 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-05-17 10:25  castaglia
+2011-04-14  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#3656 - Prefer "File too big" error message for
-	  MaxStoreFilesize.
+	* src/scoreboard.c: Watch for, and log, any short writes when
+	updating a scoreboard entry.
 
-2011-05-16 10:42  castaglia
+2011-04-14  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Another typo.
+	* contrib/mod_exec.c: Fixed compiler issue in previous change; need
+	to provide all the proper arguments to a printf() style function.
 
-2011-05-16 09:12  castaglia
+2011-04-14  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Typo.
+	* 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-05-15 16:04  castaglia
+2011-04-14  castaglia <castaglia>
 
-	* contrib/mod_sftp/packet.c:
-	  Leaving notes for myself about the use of TCP_CORK/TCP_NOPUSH
-	  when sending SSH messages.
+	* contrib/mod_rewrite.c: Slightly better logging of mod_rewrite's
+	file test operators and the path against which they are being
+	evaluated.
 
-2011-05-15 16:03  castaglia
+2011-04-14  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Adding
+	another reproduction recipe for Bug#3643 to the testsuite.
 
-2011-05-15 15:54  castaglia
+2011-04-14  castaglia <castaglia>
 
-	* contrib/mod_sftp/: packet.c, packet.h, 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.
+	* doc/modules/mod_core.html: Add docs for the TimeoutLinger
+	directive.
 
-	  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-04-14  castaglia <castaglia>
 
-2011-05-13 12:00  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Adding
+	regression test for Bug#3643.
 
-	* contrib/mod_sftp/mod_sftp.c:
-	  Provide better error message for SFTPClientMatch values
-	  configured to be zero.
+2011-04-13  castaglia <castaglia>
 
-2011-05-13 08:56  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.
 
-	* NEWS, src/main.c:
-	  Bug#3653 - Segfault with "DefaultServer off" and no matching
-	  server for incoming IP address.
+2011-04-13  castaglia <castaglia>
 
-2011-05-13 08:34  castaglia
+	* configure: Updated configure.
 
-	* configure:
-	  Updated configure.
+2011-04-13  castaglia <castaglia>
 
-2011-05-13 08:29  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.
 
-	* configure.in:
-	  Renaming --enable-symbols configure option, added for Bug#3651,
-	  to be --disable-strip (which is what OpenSSH uses).
+2011-04-12  castaglia <castaglia>
 
-2011-05-12 21:40  castaglia
+	* NEWS, contrib/mod_sql.c: Bug#3642 - Segfault seen in mod_sql_mysql
+	if "SQLAuthenticate groupsetfast" used.
 
-	* doc/contrib/mod_sftp.html:
-	  Typo.
+2011-04-12  castaglia <castaglia>
 
-2011-05-12 20:38  castaglia
+	* contrib/mod_sql_mysql.c: Typo.
 
-	* contrib/mod_sftp/keys.c:
-	  Fix typo in comment.
+2011-04-12  castaglia <castaglia>
 
-2011-05-11 09:09  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.
 
-	* doc/howto/TLS.html:
-	  Added TLS FAQ/example config for requring FTPS for remote clients
-	  but allowing just FTP for local clients.
+2011-04-09  castaglia <castaglia>
 
-2011-05-10 19:14  castaglia
+	* NEWS, contrib/mod_copy.c, contrib/mod_quotatab.c: Bug#3641 - SITE
+	CPFR/CPTO does not update quota tally.
 
-	* contrib/mod_wrap.c:
-	  Backport of the additional fixes for Bug#3652.
+2011-04-09  castaglia <castaglia>
 
-2011-05-10 19:14  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.
 
-	* contrib/mod_wrap.c:
-	  Additional fixes for Bug#3652.
+2011-04-07  castaglia <castaglia>
 
-2011-05-10 17:38  castaglia
+	* modules/mod_auth.c: Scrub the memory holding the password received
+	from the client when done processing the PASS command.
 
-	* 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-04-07  castaglia <castaglia>
 
-2011-05-09 13:37  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.
 
-	* NEWS, contrib/mod_wrap.c:
-	  Backport of fix for Bug#3652 to 1.3.3 branch.
+2011-04-06  castaglia <castaglia>
 
-2011-05-09 13:36  castaglia
+	* doc/howto/Chroot.html: Adding more chroot-related FAQs to the
+	Chroot howto.
 
-	* NEWS, contrib/mod_wrap.c:
-	  Bug#3652 - TCPAccessSyslogLevel directive broken by Bug#3317.
+2011-04-06  castaglia <castaglia>
 
-2011-05-08 12:27  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.
 
-	* configure:
-	  Updated configure.
+2011-04-06  castaglia <castaglia>
 
-2011-05-08 12:25  castaglia
+	* doc/modules/mod_dso.html: Typo.
 
-	* configure.in:
-	  Backport of addition of --enable-symbols configure option to
-	  1.3.3 branch, for Bug#3651.
+2011-04-06  castaglia <castaglia>
 
-2011-05-08 12:24  castaglia
+	* doc/modules/mod_auth.html: Add docs for the UserPassword
+	directive, including examples.
 
-	* contrib/: mod_load/Makefile.in, mod_sftp/Makefile.in,
-	  mod_wrap2/Makefile.in:
-	  Backport of changes for Bug#3651 to 1.3.3 branch.
+2011-04-06  castaglia <castaglia>
 
-2011-05-08 11:03  castaglia
+	* NEWS, src/netio.c: Bug#3639 - Avoid spinning proftpd process if
+	read(2) returns EAGAIN.
 
-	* configure:
-	  Updated configure.
+2011-04-06  castaglia <castaglia>
 
-2011-05-08 10:47  castaglia
+	* RELEASE_NOTES: Forgot to mention the new ProcessTitles directive
+	in the release notes for 1.3.4rc2.
 
-	* configure.in:
-	  Adding --enable-symbols configure option, to generate proftpd
-	  code which is not stripped of code symbols at install time
-	  (Bug#3651).
+2011-04-06  castaglia <castaglia>
 
-2011-05-07 18:18  castaglia
+	* doc/modules/mod_ctrls.html: Fix typos in mod_ctrls docs.
 
-	* contrib/: mod_load/Makefile.in, mod_sftp/Makefile.in,
-	  mod_wrap2/Makefile.in:
-	  Minor cleanups of paths, removing some double-slash occurrences
-	  (pointed out in Bug#3651).
+2011-04-05  castaglia <castaglia>
 
-2011-05-05 15:55  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.
 
-	* modules/mod_facts.c:
-	  Update mod_facts to use the new defines for the MFF and MFMT
-	  commands.
+2011-04-05  castaglia <castaglia>
 
-2011-05-05 15:54  castaglia
+	* NEWS, include/regexp.h, src/memcache.c: Bug#3637 - Enforce pcre
+	and libmemcached version requirements.
 
-	* 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-04-04  castaglia <castaglia>
 
-2011-05-05 15:34  castaglia
+	* tests/api/stubs.c: Fix API testsuite compilation when
+	--enable-pcre configure option is used.
 
-	* modules/mod_ls.c:
-	  Remove now-unused variable declaration.
+2011-04-01  castaglia <castaglia>
 
-2011-05-04 14:45  castaglia
+	* include/version.h: Setting version back to CVS status, with
+	increased version number for next release.
 
-	* 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-04-01  castaglia <castaglia>
 
-2011-05-02 17:18  castaglia
+	* ChangeLog: Updated ChangeLog.
 
-	* 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-04-01  castaglia <castaglia>
 
-2011-05-02 11:07  castaglia
+	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Getting
+	ready to release 1.3.4rc2.
 
-	* contrib/: mod_quotatab_sql.c, mod_sql_passwd.c:
-	  More idiomatic check for DECLINED/null results.
+2011-04-01  castaglia <castaglia>
 
-2011-05-01 09:41  jwm
+	* locale/proftpd.pot: Updated the template of strings to be
+	translated.
 
-	* Makefile.in: - execute the clean target in tests/, too - remove
-	  some Makefiles on distclean that were sneaking their way into
-	  release tarballs
+2011-04-01  castaglia <castaglia>
 
-2011-04-30 21:32  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.
 
-	* contrib/mod_ban.c, contrib/mod_deflate.c,
-	  contrib/mod_quotatab_sql.c, contrib/mod_rewrite.c,
-	  contrib/mod_sql.c, contrib/mod_sql_passwd.c, contrib/mod_tls.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, 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-01  castaglia <castaglia>
 
-2011-04-30 16:04  castaglia
+	* locale/files.txt: Updating list of localisable files.
 
-	* lib/tpl.c:
-	  Fixing nits in libtpl found by Apple's clang static source code
-	  analysis tool.
+2011-03-31  castaglia <castaglia>
 
-2011-04-30 15:46  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.
 
-	* modules/mod_delay.c:
-	  Fix nit found by Apple's clang static source code analysis tool.
+2011-03-30  castaglia <castaglia>
 
-2011-04-30 15:42  castaglia
+	* doc/howto/ConfigurationTricks.html: Add mention of proftpd's
+	support for simple directory hashing using the %u variable to the
+	ConfigurationTricks howto.
 
-	* src/pool.c:
-	  Adding comment describing why the logic in null_alloc() is as
-	  intended, for future reference.
+2011-03-30  castaglia <castaglia>
 
-2011-04-30 15:29  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.
 
-	* modules/mod_facts.c:
-	  Fix up minor nits pointed out by Apple'c clang static code
-	  analysis tool.
+2011-03-30  castaglia <castaglia>
 
-2011-04-29 15:47  castaglia
+	* doc/modules/mod_core.html: Add docs for the TCPBacklog directive.
 
-	* modules/mod_auth.c:
-	  Paranoidly guard against possible NULL pointer dereference (found
-	  by Klocwork static source code analysis).
+2011-03-30  castaglia <castaglia>
 
-2011-04-29 15:32  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.
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#3649 - MaxStoreFileSize can be bypassed using REST/APPE.
+2011-03-30  castaglia <castaglia>
 
-2011-04-29 11:57  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.
 
-	* modules/mod_log.c:
-	  Code/style clarity.
+2011-03-29  castaglia <castaglia>
 
-2011-04-29 11:27  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.
 
-	* modules/mod_facts.c:
-	  Typo.
+2011-03-29  castaglia <castaglia>
 
-2011-04-29 11:25  castaglia
+	* RELEASE_NOTES: Mention a few more addressed issues in the release
+	notes.
 
-	* src/fsio.c:
-	  Fix issue highlighted by Klocwork's static source code analysis.
+2011-03-29  castaglia <castaglia>
 
-2011-04-29 11:15  castaglia
+	* RELEASE_NOTES: Finishing up the release notes for 1.3.4rc2.
 
-	* modules/mod_ls.c:
-	  Fix issue highlighted by Klocwork's static source code analysis.
+2011-03-29  castaglia <castaglia>
 
-2011-04-27 21:08  castaglia
+	* doc/modules/mod_log.html: Mention the new EXIT ExtendedLog
+	"command class" in the mod_log docs.
 
-	* tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm:
-	  Adding regression test for Bug#3649.
+2011-03-29  castaglia <castaglia>
 
-2011-04-26 09:10  castaglia
+	* doc/modules/mod_core.html: Adding docs for the PathAllowFilter and
+	PathDenyFilter directives.
 
-	* doc/modules/mod_xfer.html:
-	  Filling in the descriptions for MaxRetrieveFileSize and
-	  MaxStoreFileSize in the mod_xfer HTML docs.
+2011-03-29  castaglia <castaglia>
 
-2011-04-22 09:08  castaglia
+	* doc/modules/mod_core.html: Add docs for the TransferLog directive.
 
-	* 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-03-29  castaglia <castaglia>
 
-2011-04-21 22:21  castaglia
+	* doc/modules/mod_log.html: Minor doc tweaks.
 
-	* doc/: contrib/mod_tls.html, howto/TLS.html:
-	  A few minor improvements to the mod_tls docs.
+2011-03-28  castaglia <castaglia>
 
-2011-04-21 19:49  castaglia
+	* doc/howto/Compiling.html: Mention the new --enable-memcache and
+	--enable-pcre configure options in the Compiling howto.
 
-	* 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.
+2011-03-28  castaglia <castaglia>
 
-	  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.)
+	* doc/modules/mod_memcache.html: Updating mod_memcache docs a little
+	more.
 
-2011-04-21 09:31  castaglia
+2011-03-28  castaglia <castaglia>
 
-	* NEWS, src/main.c:
-	  Backport of fix for Bug#3644 to 1.3.3 branch.
+	* 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-04-21 09:27  castaglia
+2011-03-26  castaglia <castaglia>
 
-	* NEWS, src/main.c:
-	  Bug#3644 - Disable signal handling for exiting session processes.
+	* 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-04-21 08:59  castaglia
+2011-03-26  castaglia <castaglia>
 
-	* doc/howto/Tracing.html:
-	  Fix broken URL.
+	* 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-04-20 09:13  castaglia
+2011-03-26  castaglia <castaglia>
 
-	* contrib/mod_exec.c, doc/contrib/mod_exec.html:
-	  Disable the sendStdout ExecOption completely for SSH2 sessions,
-	  if possible.
+	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Remove commented-out
+	config.
 
-	  Update the docs for sendStdout to mention that this option, for
-	  SSH2 sessions, is a bad idea.
+2011-03-26  castaglia <castaglia>
 
-2011-04-20 09:11  castaglia
+	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Refining the regression
+	test for Bug#3610.
 
-	* 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-03-26  castaglia <castaglia>
 
-2011-04-20 09:10  castaglia
+	* src/main.c: Add trace logging of the entire time it takes to
+	handle a SIGHUP/restart.
 
-	* 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-03-25  castaglia <castaglia>
 
-2011-04-20 09:08  castaglia
+	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: The regression test for
+	Bug#3610 requires a proftpd with the mod_sql module.
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_sftp/exec.pm,
-	  t/modules/mod_sftp/exec.t:
-	  Adding unit tests for mod_exec/mod_sftp interoperability.
+2011-03-25  castaglia <castaglia>
 
-2011-04-19 16:52  castaglia
+	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Adding reproduction
+	recipe/regression test for Bug#3610.
 
-	* modules/mod_auth_pam.c:
-	  Typo.
+2011-03-25  castaglia <castaglia>
 
-2011-04-19 15:23  castaglia
+	* src/dirtree.c: Provide more legible trace logging of the
+	config_type value for a config_rec.
 
-	* doc/contrib/mod_sql_odbc.html:
-	  Improved the mod_sql_odbc docs a little.
+2011-03-25  castaglia <castaglia>
 
-2011-04-19 15:18  castaglia
+	* src/trace.c: Fix compiler warning.
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_sql_odbc.pm,
-	  t/modules/mod_sql_odbc.t:
-	  Add unit tests for mod_sql_odbc.
+2011-03-25  castaglia <castaglia>
 
-2011-04-19 15:14  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.
 
-	* contrib/mod_sql_odbc.c:
-	  Fix some issues found in mod_sql_odbc while working on some
-	  regression tests for it.
+2011-03-25  castaglia <castaglia>
 
-2011-04-19 09:42  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.
 
-	* tests/t/lib/ProFTPD/TestSuite/Utils.pm:
-	  Unless explicitly set, use a TimeoutLinger value of 1 in the
-	  testsuite.
+2011-03-24  castaglia <castaglia>
 
-2011-04-15 10:34  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.
 
-	* 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-03-24  castaglia <castaglia>
 
-2011-04-15 09:34  castaglia
+	* doc/modules/mod_core.html: Adding docs for the new TraceOptions
+	directive.
 
-	* 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-03-24  castaglia <castaglia>
 
-2011-04-15 09:27  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).
 
-	* 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-03-24  castaglia <castaglia>
 
-2011-04-14 17:14  castaglia
+	* NEWS, RELEASE_NOTES, include/trace.h, modules/mod_core.c,
+	src/trace.c: Bug#3631 - Support TraceOptions directive, for altering
+	TraceLog format slightly.
 
-	* contrib/mod_sftp/fxp.c:
-	  Another conversion from strchr(3) to memchr(3).
+2011-03-24  castaglia <castaglia>
 
-2011-04-14 16:38  castaglia
+	* NEWS, contrib/mod_sql.c: Bug#3632 - mod_sql should log
+	"unrecoverable database error" at a higher priority.
 
-	* 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-03-24  castaglia <castaglia>
 
-2011-04-14 16:27  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.
 
-	* contrib/mod_sftp/channel.c:
-	  Add trace logging of when we invoke a channel's finish handler.
+2011-03-24  castaglia <castaglia>
 
-2011-04-14 16:15  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.
 
-	* 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-03-24  castaglia <castaglia>
 
-2011-04-14 15:30  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.
 
-	* 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-03-24  castaglia <castaglia>
 
-2011-04-14 14:43  castaglia
+	* contrib/mod_rewrite.c: Update mod_rewrite to use pr_cmd_strcmp()
+	where appropriate.
 
-	* src/scoreboard.c:
-	  Watch for, and log, any short writes when updating a scoreboard
-	  entry.
+2011-03-23  castaglia <castaglia>
 
-2011-04-14 14:34  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.
 
-	* src/scoreboard.c:
-	  Backport some of the more defensive checks from trunk, especially
-	  checking for failed lseek(2) calls in the Scoreboard code.
+2011-03-23  castaglia <castaglia>
 
-2011-04-14 14:18  castaglia
+	* src/inet.c: Merging more fixes from the FreeBSD ports tree, which
+	were neglected to be reported upstream.  Sigh.
 
-	* contrib/mod_exec.c:
-	  Fixed compiler issue in previous change; need to provide all the
-	  proper arguments to a printf() style function.
+2011-03-23  castaglia <castaglia>
 
-2011-04-14 13:42  castaglia
+	* NEWS, src/throttle.c: Bug#3628 - Unnecessarily verbose "warning:
+	unable to throttle bandwidth: Interrupted system call".
 
-	* 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-03-22  castaglia <castaglia>
 
-2011-04-14 11:36  castaglia
+	* configure: Updated configure.
 
-	* contrib/mod_rewrite.c:
-	  Slightly better logging of mod_rewrite's file test operators and
-	  the path against which they are being evaluated.
+2011-03-22  castaglia <castaglia>
 
-2011-04-14 11:28  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).
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm:
-	  Adding another reproduction recipe for Bug#3643 to the testsuite.
+2011-03-22  castaglia <castaglia>
 
-2011-04-14 10:59  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.
 
-	* doc/modules/mod_core.html:
-	  Add docs for the TimeoutLinger directive.
+2011-03-22  castaglia <castaglia>
 
-2011-04-13 17:34  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.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm:
-	  Adding regression test for Bug#3643.
+2011-03-22  castaglia <castaglia>
 
-2011-04-13 14:32  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.
 
-	* 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-03-22  castaglia <castaglia>
 
-2011-04-13 11:11  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.
 
-	* configure:
-	  Updated configure.
+2011-03-22  castaglia <castaglia>
 
-2011-04-13 11:00  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.
 
-	* configure.in:
-	  Adding better handling of invalid/unexpected --with-X configure
-	  values.
+2011-03-22  castaglia <castaglia>
 
-2011-04-13 10:37  castaglia
+	* contrib/mod_tls.c: Start using trace logging for some of the
+	mod_tls actions, especially those during server startup.
 
-	* configure:
-	  Updated configure.
+2011-03-22  castaglia <castaglia>
 
-2011-04-13 10:32  castaglia
+	* contrib/mod_tls.c: Additional fix for Bug#3624.
 
-	* 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-03-22  castaglia <castaglia>
 
-2011-04-12 15:48  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.
 
-	* NEWS, contrib/mod_sql.c:
-	  Backport of fix for Bug#3642 to 1.3.3 branch.
+2011-03-22  castaglia <castaglia>
 
-2011-04-12 15:47  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.
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#3642 - Segfault seen in mod_sql_mysql if "SQLAuthenticate
-	  groupsetfast" used.
+2011-03-22  castaglia <castaglia>
 
-2011-04-12 14:20  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Regression
+	test for Bug#3625.
 
-	* contrib/mod_sql_mysql.c:
-	  Typo.
+2011-03-21  castaglia <castaglia>
 
-2011-04-11 17:54  castaglia
+	* configure: Updated configure.
 
-	* 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-03-21  castaglia <castaglia>
 
-2011-04-09 13:26  castaglia
+	* configure.in: Check for headers that platforms often want for
+	their backtrace(2) functions, before checking for the backtrace(2)
+	function itself.
 
-	* NEWS, contrib/mod_copy.c, contrib/mod_quotatab.c:
-	  Bug#3641 - SITE CPFR/CPTO does not update quota tally.
+2011-03-21  castaglia <castaglia>
 
-2011-04-09 13:25  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
+	test for the %f LogFormat variable and the SFTP REMOVE request.
 
-	* tests/: tests.pl,
-	  t/lib/ProFTPD/Tests/Modules/mod_quotatab/copy.pm,
-	  t/modules/mod_quotatab/copy.t:
-	  Added regression tests for mod_copy/mod_quotatab, for Bug#3641.
+2011-03-21  castaglia <castaglia>
 
-2011-04-06 22:19  castaglia
+	* NEWS, src/scoreboard.c: Bug#3623 - Truncated client name saved in
+	ScoreboardFile.
 
-	* modules/mod_auth.c:
-	  Scrub the memory holding the password received from the client
-	  when done processing the PASS command.
+2011-03-21  castaglia <castaglia>
 
-2011-04-06 22:03  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.
 
-	* 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-03-21  castaglia <castaglia>
 
-2011-04-06 13:52  castaglia
+	* NEWS, contrib/mod_ifsession.c: Bug#3625 - mod_ifsession rules
+	using regular expressions do not work.
 
-	* doc/howto/Chroot.html:
-	  Adding more chroot-related FAQs to the Chroot howto.
+2011-03-21  castaglia <castaglia>
 
-2011-04-06 13:48  castaglia
+	* NEWS, contrib/mod_tls.c: Bug#3624 - Plaintext command injection in
+	FTPS support.
 
-	* tests/: tests.pl, t/config/defaultroot.t,
-	  t/lib/ProFTPD/Tests/Config/DefaultRoot.pm:
-	  Adding regression tests for various DefaultRoot configurations
-	  involving symlinks.
+2011-03-21  castaglia <castaglia>
 
-2011-04-06 11:23  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm: Adding regression
+	tests for Bug#3622.
 
-	* doc/modules/mod_dso.html:
-	  Typo.
+2011-03-21  castaglia <castaglia>
 
-2011-04-06 10:54  castaglia
+	* NEWS, modules/mod_delay.c: Bug#3622 - mod_delay sometimes logs
+	"unable to load DelayTable into memory".
 
-	* doc/modules/mod_auth.html:
-	  Add docs for the UserPassword directive, including examples.
+2011-03-21  castaglia <castaglia>
 
-2011-04-06 10:16  castaglia
+	* src/session.c: Don't try to stash session disconnect notes in the
+	session.notes table if that table does not exit.
 
-	* NEWS, src/netio.c:
-	  Backport of fix for Bug#3639 to 1.3.3 branch.
+2011-03-21  castaglia <castaglia>
 
-2011-04-06 10:16  castaglia
+	* src/main.c: If the session exits because of a signal, use
+	pr_session_disconnect() to set this end-of-session code.
 
-	* NEWS, src/netio.c:
-	  Bug#3639 - Avoid spinning proftpd process if read(2) returns
-	  EAGAIN.
+2011-03-21  castaglia <castaglia>
 
-2011-04-06 01:09  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.
 
-	* RELEASE_NOTES:
-	  Forgot to mention the new ProcessTitles directive in the release
-	  notes for 1.3.4rc2.
+2011-03-21  castaglia <castaglia>
 
-2011-04-05 19:25  castaglia
+	* utils/scoreboard.c: Adding explicit off_t typecasts in the utility
+	code for reading the scoreboard.
 
-	* doc/modules/mod_ctrls.html:
-	  Fix typos in mod_ctrls docs.
+2011-03-21  castaglia <castaglia>
 
-2011-04-05 15:20  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).
 
-	* doc/: howto/Compiling.html, 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-03-21  castaglia <castaglia>
 
-2011-04-05 15:18  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.
 
-	* NEWS, include/regexp.h, src/memcache.c:
-	  Bug#3637 - Enforce pcre and libmemcached version requirements.
+2011-03-21  castaglia <castaglia>
 
-2011-04-04 12:04  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.
 
-	* tests/api/stubs.c:
-	  Fix API testsuite compilation when --enable-pcre configure option
-	  is used.
+2011-03-21  castaglia <castaglia>
 
-2011-04-01 09:43  castaglia
+	* contrib/mod_quotatab.c: Reset errno after delaying after a failed
+	lock poll.
 
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Updating for 1.3.3e release.
+2011-03-21  castaglia <castaglia>
 
-2011-04-01 09:42  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.
 
-	* include/version.h:
-	  Setting version back to CVS status, with increased version number
-	  for next release.
+2011-03-20  castaglia <castaglia>
 
-2011-04-01 09:27  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.
 
-	* ChangeLog:
-	  Updated ChangeLog.
+2011-03-20  castaglia <castaglia>
 
-2011-04-01 09:27  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.
 
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Getting ready to release 1.3.4rc2.
+2011-03-20  castaglia <castaglia>
 
-2011-04-01 09:23  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.
 
-	* locale/proftpd.pot:
-	  Updated the template of strings to be translated.
+2011-03-20  castaglia <castaglia>
 
-2011-04-01 09:15  castaglia
+	* modules/mod_delay.c: Re-register any 'delay' ftpdctl actions upon
+	restart.
 
-	* 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-03-20  castaglia <castaglia>
 
-2011-04-01 08:52  castaglia
+	* doc/contrib/mod_sql.html: Adding documentation for the new
+	SQLNamedConnectInfo directive.
 
-	* locale/files.txt:
-	  Updating list of localisable files.
+2011-03-20  castaglia <castaglia>
 
-2011-03-31 15:17  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.
 
-	* NEWS, contrib/mod_sftp/keys.c:
-	  Backport of fix for Bug#3634 to 1.3.3 branch.
+2011-03-20  castaglia <castaglia>
 
-2011-03-31 15:17  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.
 
-	* 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-20  castaglia <castaglia>
 
-2011-03-30 15:27  castaglia
+	* src/cmd.c: Make the Command API a little more bullet-proof by
+	trying catch some invalid arguments of various sorts.
 
-	* doc/howto/ConfigurationTricks.html:
-	  Add mention of proftpd's support for simple directory hashing
-	  using the %u variable to the ConfigurationTricks howto.
+2011-03-20  castaglia <castaglia>
 
-2011-03-30 14:51  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).
 
-	* 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-20  castaglia <castaglia>
 
-2011-03-30 13:50  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.
 
-	* doc/modules/mod_core.html:
-	  Add docs for the TCPBacklog directive.
+2011-03-19  castaglia <castaglia>
 
-2011-03-30 11:40  castaglia
+	* NEWS, modules/mod_xfer.c,
+	tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm: Bug#3574 - Better
+	handling of ALLO command.
 
-	* 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-19  castaglia <castaglia>
 
-2011-03-30 10:48  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.
 
-	* 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-19  castaglia <castaglia>
 
-2011-03-29 16:28  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.
 
-	* 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-19  castaglia <castaglia>
 
-2011-03-29 10:53  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).
 
-	* RELEASE_NOTES:
-	  Updating release notes for 1.3.3e.
+2011-03-19  castaglia <castaglia>
 
-2011-03-29 10:52  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.
 
-	* RELEASE_NOTES:
-	  Mention a few more addressed issues in the release notes.
+2011-03-19  castaglia <castaglia>
 
-2011-03-29 10:44  castaglia
+	* contrib/mod_rewrite.c: Update the proftpd version required by
+	mod_rewrite.
 
-	* RELEASE_NOTES:
-	  Finishing up the release notes for 1.3.4rc2.
+2011-03-19  castaglia <castaglia>
 
-2011-03-29 10:40  castaglia
+	* contrib/mod_exec.c: Updating mod_exec to use the new pr_cmd_cmp()
+	API.
 
-	* doc/modules/mod_log.html:
-	  Mention the new EXIT ExtendedLog "command class" in the mod_log
-	  docs.
+2011-03-19  castaglia <castaglia>
 
-2011-03-29 10:33  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.
 
-	* doc/modules/mod_core.html:
-	  Adding docs for the PathAllowFilter and PathDenyFilter
-	  directives.
+2011-03-19  castaglia <castaglia>
 
-2011-03-29 09:51  castaglia
+	* src/data.c: Use pr_cmd_cmp() when handling any commands read from
+	the control channel during a data transfer as well.
 
-	* doc/modules/mod_core.html:
-	  Add docs for the TransferLog directive.
+2011-03-19  castaglia <castaglia>
 
-2011-03-29 09:42  castaglia
+	* contrib/mod_rewrite.c: Update mod_rewrite to use pr_cmd_cmp()
+	where possible.
 
-	* doc/modules/mod_log.html:
-	  Minor doc tweaks.
+2011-03-19  castaglia <castaglia>
 
-2011-03-28 15:49  castaglia
+	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#3262 - Allow SQL
+	logging to separate database/server.
 
-	* doc/howto/Compiling.html:
-	  Mention the new --enable-memcache and --enable-pcre configure
-	  options in the Compiling howto.
+2011-03-19  castaglia <castaglia>
 
-2011-03-28 15:38  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.
 
-	* doc/modules/mod_memcache.html:
-	  Updating mod_memcache docs a little more.
+2011-03-19  castaglia <castaglia>
 
-2011-03-27 23:03  castaglia
+	* src/table.c: Minor improvement: compare the first key character
+	before calling strncmp(3).
 
-	* 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-19  castaglia <castaglia>
 
-2011-03-25 22:32  castaglia
+	* src/log.c, src/trace.c: Trying to reduce the number of times that
+	we call strlen(3) while logging.
 
-	* 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-19  castaglia <castaglia>
 
-2011-03-25 17:49  castaglia
+	* src/event.c: Fix issue with Bug#3619 fix (hooray for
+	unit/regression tests, which caught this issue).
 
-	* NEWS, contrib/mod_exec.c, contrib/mod_ifsession.c,
-	  contrib/mod_sql.c, include/dirtree.h:
-	  Backport of fix for Bug#3610 to 1.3.3 branch.
+2011-03-19  castaglia <castaglia>
 
-2011-03-25 17:43  castaglia
+	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fix broken
+	ExtendedLog test due to typo.
 
-	* 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.
+2011-03-19  castaglia <castaglia>
 
-	  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix a few minor
+	issues in the mod_sftp testsuite.
 
-	  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-19  castaglia <castaglia>
 
-2011-03-25 17:23  castaglia
+	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding more
+	regression tests for various LogFormat variables in various flows.
 
-	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm:
-	  Remove commented-out config.
+2011-03-19  castaglia <castaglia>
 
-2011-03-25 17:21  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.
 
-	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm:
-	  Refining the regression test for Bug#3610.
+2011-03-18  castaglia <castaglia>
 
-2011-03-25 17:17  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.
 
-	* src/main.c:
-	  Add trace logging of the entire time it takes to handle a
-	  SIGHUP/restart.
+2011-03-18  castaglia <castaglia>
 
-2011-03-25 11:42  castaglia
+	* src/table.c: Avoid an unnecessary strncmp(3) if the key lengths
+	aren't the same.
 
-	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm:
-	  The regression test for Bug#3610 requires a proftpd with the
-	  mod_sql module.
+2011-03-18  castaglia <castaglia>
 
-2011-03-25 09:56  castaglia
+	* src/stash.c: Fix the mess of symbol lookups which I committed last
+	night.  Much more legible now -- and it works properly, too.
 
-	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm:
-	  Adding reproduction recipe/regression test for Bug#3610.
+2011-03-17  castaglia <castaglia>
 
-2011-03-25 09:51  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.
 
-	* src/dirtree.c:
-	  Provide more legible trace logging of the config_type value for a
-	  config_rec.
+2011-03-17  castaglia <castaglia>
 
-2011-03-24 21:11  castaglia
+	* modules/mod_auth.c: Wrong length argument for strncmp() here.
 
-	* src/trace.c:
-	  Fix compiler warning.
+2011-03-17  castaglia <castaglia>
 
-2011-03-24 18:24  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.
 
-	* doc/: contrib/mod_sftp.html, 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-17  castaglia <castaglia>
 
-2011-03-24 18:14  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.
 
-	* 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-17  castaglia <castaglia>
 
-2011-03-24 15:51  castaglia
+	* modules/mod_auth.c: More strcmp(3) -> strncmp(3) conversions where
+	fixed-length strings are used.
 
-	* 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-17  castaglia <castaglia>
 
-2011-03-24 15:13  castaglia
+	* modules/mod_xfer.c: More strcmp(3) -> strncmp(3) conversions where
+	fixed-length strings are used.
 
-	* doc/modules/mod_core.html:
-	  Adding docs for the new TraceOptions directive.
+2011-03-17  castaglia <castaglia>
 
-2011-03-24 14:58  castaglia
+	* modules/mod_core.c: More strcmp() -> strncmp() conversions where
+	fixed-length strings are used.
 
-	* tests/: tests.pl, t/config/traceoptions.t,
-	  t/lib/ProFTPD/Tests/Config/TraceOptions.pm:
-	  Adding regression tests for the TraceOptions directive
-	  (Bug#3631).
+2011-03-17  castaglia <castaglia>
 
-2011-03-24 14:57  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).
 
-	* 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-17  castaglia <castaglia>
 
-2011-03-24 12:10  castaglia
+	* modules/mod_ctrls.c: Starting work on converting modules which use
+	strcmp(3) on fixed-length strings to using strncmp(3) instead.
 
-	* NEWS, contrib/mod_sql.c:
-	  Backport of fix for Bug#3632 to 1.3.3 branch.
+2011-03-17  castaglia <castaglia>
 
-2011-03-24 12:09  castaglia
+	* src/ctrls.c: Missed some spots in ctrls.c where strcmp(3) was
+	being called on fixed-length strings.
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#3632 - mod_sql should log "unrecoverable database error" at a
-	  higher priority.
+2011-03-17  castaglia <castaglia>
 
-2011-03-24 08:35  castaglia
+	* src/ctrls.c, src/main.c: Changing more instances of strcmp(3) on
+	fixed strings to use strncmp(3) instead.
 
-	* 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-17  castaglia <castaglia>
 
-2011-03-23 22:23  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.
 
-	* 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-17  castaglia <castaglia>
 
-2011-03-23 22:17  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).
 
-	* NEWS, contrib/mod_sftp/mod_sftp.c:
-	  Backport of fix for Bug#3630 to 1.3.3 branch.
+2011-03-17  castaglia <castaglia>
 
-2011-03-23 22:15  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).
 
-	* 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-17  castaglia <castaglia>
 
-2011-03-23 21:42  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.
 
-	* contrib/mod_rewrite.c:
-	  Update mod_rewrite to use pr_cmd_strcmp() where appropriate.
+2011-03-17  castaglia <castaglia>
 
-2011-03-23 10:46  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.
 
-	* 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-17  castaglia <castaglia>
 
-2011-03-23 09:37  castaglia
+	* src/filter.c: Convert unnecessary strcmp(3) on fixed strings to
+	strncmp(3).
 
-	* src/inet.c:
-	  Merging in more patches from the FreeBSD ports tree.
+2011-03-17  castaglia <castaglia>
 
-2011-03-23 09:36  castaglia
+	* src/stash.c: Eliminate one more strcmp(3) during symbol lookups.
 
-	* src/inet.c:
-	  Merging more fixes from the FreeBSD ports tree, which were
-	  neglected to be reported upstream.  Sigh.
+2011-03-17  castaglia <castaglia>
 
-2011-03-23 09:22  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.
 
-	* NEWS, src/throttle.c:
-	  Backport of fix for Bug#3628 to 1.3.3 branch.
+2011-03-17  castaglia <castaglia>
 
-2011-03-23 09:22  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.
 
-	* NEWS, src/throttle.c:
-	  Bug#3628 - Unnecessarily verbose "warning: unable to throttle
-	  bandwidth: Interrupted system call".
+2011-03-17  castaglia <castaglia>
 
-2011-03-22 15:20  castaglia
+	* src/stash.c: Make sure we handle the case of zero-length symbol
+	names properly, too.  Just to be sure.
 
-	* configure:
-	  Updated configure.
+2011-03-17  castaglia <castaglia>
 
-2011-03-22 15:16  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.
 
-	* 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-17  castaglia <castaglia>
 
-2011-03-22 12:03  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).
 
-	* NEWS, contrib/mod_sql.c:
-	  Backport of fix for Bug#3627 to 1.3.3 branch.
+2011-03-17  castaglia <castaglia>
 
-2011-03-22 12:02  castaglia
+	* doc/modules/mod_log.html: Add docs for the new %H LogFormat
+	variable.
 
-	* 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-17  castaglia <castaglia>
 
-2011-03-22 11:44  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.
 
-	* 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-17  castaglia <castaglia>
 
-2011-03-22 11:36  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.
 
-	* 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-17  castaglia <castaglia>
 
-2011-03-22 10:54  castaglia
+	* RELEASE_NOTES: More added docs.
 
-	* tests/t/: etc/modules/mod_tls/NOTES,
-	  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-17  castaglia <castaglia>
 
-2011-03-22 10:53  castaglia
+	* doc/utils/ftpdctl.html: Add HTML version of the ftpdctl man page.
 
-	* tests/t/etc/modules/mod_tls/: server-cert-passwd.pem,
-	  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-17  castaglia <castaglia>
 
-2011-03-22 10:51  castaglia
+	* doc/utils/ftpscrub.html, doc/utils/ftptop.html: Adding HTML
+	versions of the man pages for ftpscrub and ftptop.
 
-	* contrib/mod_tls.c:
-	  Start using trace logging for some of the mod_tls actions,
-	  especially those during server startup.
+2011-03-17  castaglia <castaglia>
 
-2011-03-22 07:55  castaglia
+	* Makefile.in, utils/ftpasswd.1, utils/ftpquota.1: Adding/installing
+	man pages for the ftpasswd and ftpquota utilities.
 
-	* contrib/: mod_tls.c:
-	  Additional fix for Bug#3624.
+2011-03-17  castaglia <castaglia>
 
-2011-03-21 20:22  castaglia
+	* utils/ftpmail.1: Typos, formatting fixes.
 
-	* 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-16  castaglia <castaglia>
 
-2011-03-21 19:40  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.
 
-	* 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-16  castaglia <castaglia>
 
-2011-03-21 19:01  castaglia
+	* doc/utils/ftpmail.html, doc/utils/index.html: Adding ftpmail docs
+	in utils/ area.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm:
-	  Regression test for Bug#3625.
+2011-03-16  castaglia <castaglia>
 
-2011-03-21 15:30  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.
 
-	* configure:
-	  Updated configure.
+2011-03-16  castaglia <castaglia>
 
-2011-03-21 15:27  castaglia
+	* src/session.c: Ignore EEXIST errors when stashing the disconnect
+	details.
 
-	* configure.in:
-	  Check for headers that platforms often want for their
-	  backtrace(2) functions, before checking for the backtrace(2)
-	  function itself.
+2011-03-16  castaglia <castaglia>
 
-2011-03-21 15:22  castaglia
+	* contrib/mod_sftp/packet.c: Adding more trace logging of SSH2
+	packet IO.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding regression test for the %f LogFormat variable and the SFTP
-	  REMOVE request.
+2011-03-16  castaglia <castaglia>
 
-2011-03-21 14:55  castaglia
+	* contrib/mod_sql.c: Ignore EEXIST errors about stashing values in
+	the session.notes table.
 
-	* NEWS, src/scoreboard.c:
-	  Backport of fix for Bug#3623 to 1.3.3 branch.
+2011-03-16  castaglia <castaglia>
 
-2011-03-21 14:55  castaglia
+	* contrib/Makefile.in: Make sure we set the normal
+	ownership/permissions on the installed Perl scripts.
 
-	* NEWS, src/scoreboard.c:
-	  Bug#3623 - Truncated client name saved in ScoreboardFile.
+2011-03-16  castaglia <castaglia>
 
-2011-03-21 14:40  castaglia
+	* contrib/Makefile.in: Stop trying to strip symbols from Perl
+	scripts.
 
-	* 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-16  castaglia <castaglia>
 
-2011-03-21 14:37  castaglia
+	* doc/contrib/mod_sql.html: Mention mod_sql_passwd in the
+	SQLAuthTypes docs.
 
-	* NEWS, contrib/mod_ifsession.c:
-	  Backport of fix for Bug#3625 to 1.3.3 branch.
+2011-03-16  castaglia <castaglia>
 
-2011-03-21 14:36  castaglia
+	* doc/howto/SQL.html: Update the SQL howto to mention the
+	mod_sql_passwd module.
 
-	* NEWS, contrib/mod_ifsession.c:
-	  Bug#3625 - mod_ifsession rules using regular expressions do not
-	  work.
+2011-03-16  castaglia <castaglia>
 
-2011-03-21 13:51  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.
 
-	* NEWS, contrib/mod_tls.c:
-	  Backport of fix for Bug#3624 to 1.3.3 branch.
+2011-03-16  castaglia <castaglia>
 
-2011-03-21 13:50  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.
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3624 - Plaintext command injection in FTPS support.
+2011-03-16  jwm <jwm>
 
-2011-03-21 11:30  castaglia
+	* configure: rebuild from configure.in
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm:
-	  Adding regression tests for Bug#3622.
+2011-03-16  jwm <jwm>
 
-2011-03-21 08:47  castaglia
+	* 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.
 
-	* NEWS, modules/mod_delay.c:
-	  Bug#3622 - mod_delay sometimes logs "unable to load DelayTable
-	  into memory".
+2011-03-16  castaglia <castaglia>
 
-2011-03-21 08:44  castaglia
+	* configure: Updating configure.
 
-	* NEWS, modules/mod_delay.c:
-	  Backport of fix for Bug#3622 to 1.3.3 branch.
+2011-03-16  castaglia <castaglia>
 
-2011-03-20 20:20  castaglia
+	* NEWS: Fix typo.
 
-	* src/session.c:
-	  Don't try to stash session disconnect notes in the session.notes
-	  table if that table does not exit.
+2011-03-15  castaglia <castaglia>
 
-2011-03-20 19:14  castaglia
+	* NEWS, src/scoreboard.c: Bug#3618 - ScoreboardFile locking should
+	be more resilient.
 
-	* src/main.c:
-	  If the session exits because of a signal, use
-	  pr_session_disconnect() to set this end-of-session code.
+2011-03-15  castaglia <castaglia>
 
-2011-03-20 19:01  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.
 
-	* 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-15  castaglia <castaglia>
 
-2011-03-20 18:45  castaglia
+	* Makefile.in, NEWS, RELEASE_NOTES, configure.in,
+	contrib/Makefile.in: Bug#3616 - Install contrib utilities as part of
+	'make install' target.
 
-	* utils/scoreboard.c:
-	  Adding explicit off_t typecasts in the utility code for reading
-	  the scoreboard.
+2011-03-15  castaglia <castaglia>
 
-2011-03-20 18:44  castaglia
+	* contrib/mod_sftp/fxp.c: Log the errors when closedir(3) returns an
+	error.
 
-	* 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-15  castaglia <castaglia>
 
-2011-03-20 18:26  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.)
 
-	* 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-15  castaglia <castaglia>
 
-2011-03-20 18:03  castaglia
+	* configure: Updating configure.
 
-	* 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-15  castaglia <castaglia>
 
-2011-03-20 18:01  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.
 
-	* contrib/mod_quotatab.c:
-	  Reset errno after delaying after a failed lock poll.
+2011-03-14  castaglia <castaglia>
 
-2011-03-20 17:48  castaglia
+	* doc/modules/mod_log.html: Updated LogFormat description for %w
+	variable.
 
-	* 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-14  castaglia <castaglia>
 
-2011-03-20 16:55  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.
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_delay.pm,
-	  t/modules/mod_delay.t:
-	  Start collecting regression tests for the mod_delay module.
+2011-03-12  castaglia <castaglia>
 
-2011-03-20 16:38  castaglia
+	* contrib/mod_sql.c: Updating mod_sql to use the new
+	pr_session_disconnect() function.
 
-	* 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-12  castaglia <castaglia>
 
-2011-03-20 13:47  castaglia
+	* contrib/mod_rewrite.c: As part of investigating Bug#3611, I
+	cleaned up some of the mod_rewrite code around FIFOs.
 
-	* 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-12  castaglia <castaglia>
 
-2011-03-20 13:39  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.
 
-	* modules/mod_delay.c:
-	  Re-register any 'delay' ftpdctl actions upon restart.
+2011-03-10  castaglia <castaglia>
 
-2011-03-20 12:24  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.
 
-	* doc/contrib/mod_sql.html:
-	  Adding documentation for the new SQLNamedConnectInfo directive.
+2011-03-09  castaglia <castaglia>
 
-2011-03-20 11:54  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.
 
-	* 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-09  castaglia <castaglia>
 
-2011-03-20 11:01  castaglia
+	* NEWS, src/str.c: Bug#3614 - Malicious module can use sreplace()
+	function to overflow buffer.
 
-	* 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-09  castaglia <castaglia>
 
-2011-03-19 22:59  castaglia
+	* tests/api/str.c: Add regression test for sreplace() issue from
+	Bug#3614.
 
-	* src/cmd.c:
-	  Make the Command API a little more bullet-proof by trying catch
-	  some invalid arguments of various sorts.
+2011-03-09  castaglia <castaglia>
 
-2011-03-19 22:57  castaglia
+	* tests/api/regexp.c: Update the Regexp unit tests.
 
-	* 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-07  castaglia <castaglia>
 
-2011-03-19 22:16  castaglia
+	* configure: Updated configure.
 
-	* tests/: Makefile.in, api/cmd.c, api/stubs.c, api/tests.c,
-	  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-07  castaglia <castaglia>
 
-2011-03-19 16:39  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.
 
-	* NEWS, modules/mod_xfer.c,
-	  tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm:
-	  Bug#3574 - Better handling of ALLO command.
+2011-03-06  castaglia <castaglia>
 
-2011-03-19 16:12  castaglia
+	* src/regexp.c: Quell compiler warnings about unused functions when
+	PCRE support is not enabled.
 
-	* 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-05  castaglia <castaglia>
 
-2011-03-19 16:08  castaglia
+	* src/regexp.c: Typo.
 
-	* 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-05  castaglia <castaglia>
 
-2011-03-19 16:02  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.
 
-	* contrib/mod_sftp/fxp.c:
-	  Backport of fix from trunk where an RMDIR could lead to a
-	  segfault due to a null/uninitialized pointer.
+2011-03-04  castaglia <castaglia>
 
-2011-03-19 13:26  castaglia
+	* RELEASE_NOTES: Updating the list of new docs.
 
-	* 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-03  castaglia <castaglia>
 
-2011-03-19 13:25  castaglia
+	* doc/utils/ftpasswd.html, doc/utils/ftpquota.html,
+	doc/utils/index.html: Updating links.
 
-	* 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-03  castaglia <castaglia>
 
-2011-03-19 12:55  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.
 
-	* contrib/mod_rewrite.c:
-	  Update the proftpd version required by mod_rewrite.
+2011-03-03  castaglia <castaglia>
 
-2011-03-19 12:53  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.
 
-	* contrib/mod_exec.c:
-	  Updating mod_exec to use the new pr_cmd_cmp() API.
+2011-03-03  castaglia <castaglia>
 
-2011-03-19 12:52  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).
 
-	* 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-03  castaglia <castaglia>
 
-2011-03-19 12:24  castaglia
+	* NEWS, src/data.c, tests/t/lib/ProFTPD/Tests/Commands/APPE.pm: 
+	Bug#3612 - APPE/STOU upload flags erroneously preserved across
+	upload commands.
 
-	* src/data.c:
-	  Use pr_cmd_cmp() when handling any commands read from the control
-	  channel during a data transfer as well.
+2011-03-02  castaglia <castaglia>
 
-2011-03-19 12:17  castaglia
+	* doc/utils/index.html: Start working on an index for docs for the
+	various utilities; these docs also need to be written.
 
-	* contrib/mod_rewrite.c:
-	  Update mod_rewrite to use pr_cmd_cmp() where possible.
+2011-03-01  castaglia <castaglia>
 
-2011-03-19 12:13  castaglia
+	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Support writing <Global>
+	sections in testcase config files.
 
-	* NEWS, RELEASE_NOTES, contrib/mod_sql.c:
-	  Bug#3262 - Allow SQL logging to separate database/server.
+2011-03-01  castaglia <castaglia>
 
-2011-03-19 12:02  castaglia
+	* doc/modules/mod_facts.html: Add FAQ about ListOptions and the
+	MLSD/MLST commands.
 
-	* 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:
+2011-03-01  castaglia <castaglia>
 
-	    pr_cmd_get_id()
-	    pr_cmd_cmp()
+	* 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.
 
-	  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.
+2011-03-01  castaglia <castaglia>
 
-	  This is done with an eye toward reducing wasteful/unnecessary
-	  strcmp(3) calls throughout the proftpd code base.
+	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Fix the naming and
+	status of the regression test for Bug#3595.
 
-2011-03-19 11:57  castaglia
+2011-02-28  castaglia <castaglia>
 
-	* src/table.c:
-	  Minor improvement: compare the first key character before calling
-	  strncmp(3).
+	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Adding regression
+	test for Bug#3595.
 
-2011-03-19 11:44  castaglia
+2011-02-28  castaglia <castaglia>
 
-	* src/: log.c, trace.c:
-	  Trying to reduce the number of times that we call strlen(3) while
-	  logging.
+	* 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-03-19 11:32  castaglia
+2011-02-28  castaglia <castaglia>
 
-	* src/: event.c:
-	  Fix issue with Bug#3619 fix (hooray for unit/regression tests,
-	  which caught this issue).
+	* configure: Updating the configure script.
 
-2011-03-19 11:21  castaglia
+2011-02-28  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
-	  Fix broken ExtendedLog test due to typo.
+	* 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-03-19 11:18  castaglia
+2011-02-28  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Fix a few minor issues in the mod_sftp testsuite.
+	* 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-03-19 10:55  castaglia
+2011-02-28  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
-	  Adding more regression tests for various LogFormat variables in
-	  various flows.
+	* 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-03-18 19:56  castaglia
+2011-02-28  castaglia <castaglia>
 
-	* contrib/mod_sftp/channel.h:
-	  Quell the following compiler warning (seen on Mac OSX,
-	  gcc-4.0.1):
+	* 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().
 
-	    warning: this decimal constant is unsigned only in ISO C90
+2011-02-28  castaglia <castaglia>
 
-	  when compilign mod_sftp by explicitly marking constants stored in
-	  a uint32_t with a "UL" suffix.
+	* modules/mod_cap.c, modules/mod_lang.c: Updating more core modules
+	to use pr_session_disconnect().
 
-2011-03-18 11:22  castaglia
+2011-02-28  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.
+	* 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-03-18 10:33  castaglia
+2011-02-28  castaglia <castaglia>
 
-	* src/table.c:
-	  Avoid an unnecessary strncmp(3) if the key lengths aren't the
-	  same.
+	* RELEASE_NOTES, doc/modules/mod_log.html: Mention the new %E
+	LogFormat variable in the release notes and in the mod_log docs.
 
-2011-03-17 17:03  castaglia
+2011-02-28  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.
+	* 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-03-17 15:16  castaglia
+2011-02-28  castaglia <castaglia>
 
-	* contrib/mod_sftp/: auth-hostbased.c, auth-kbdint.c,
-	  auth-password.c, auth-publickey.c, auth.c, channel.c, compress.c,
-	  crypto.c, fxp.c, kex.c, keys.c, mod_sftp.c, scp.c, service.c,
-	  tap.c:
-	  Using strncmp(3) instead of strcmp(3) when fixed-length strings
-	  are used.
+	* 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-03-17 11:30  castaglia
+2011-02-27  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Wrong length argument for strncmp() here.
+	* 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-03-17 11:15  castaglia
+2011-02-27  castaglia <castaglia>
 
-	* contrib/mod_sftp/: auth.c, crypto.c, fxp.c, mod_sftp.c, tap.c,
-	  utf8.c:
-	  Converting strcasecmp(3) on fixed-length strings to
-	  strncasecmp(3) in mod_sftp.
+	* contrib/mod_load/mod_load.c.in: Update mod_load to use the
+	pr_session_end() function.
 
-2011-03-17 10:35  castaglia
+2011-02-27  castaglia <castaglia>
 
-	* src/: dirtree.c, log.c, netaddr.c, encode.c, netacl.c, str.c:
-	  Converting from strcasecmp(3) to strncasecmp(3) where
-	  fixed-length strings are being used.
+	* 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-03-17 10:24  castaglia
+2011-02-27  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  More strcmp(3) -> strncmp(3) conversions where fixed-length
-	  strings are used.
+	* 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-03-17 10:16  castaglia
+2011-02-27  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  More strcmp(3) -> strncmp(3) conversions where fixed-length
-	  strings are used.
+	* 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-03-17 10:08  castaglia
+2011-02-27  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  More strcmp() -> strncmp() conversions where fixed-length strings
-	  are used.
+	* NEWS, contrib/mod_quotatab.c: Bug#3608 - Make mod_quotatab poll
+	for the QuotaLock file.
 
-2011-03-17 10:00  castaglia
+2011-02-27  castaglia <castaglia>
 
-	* modules/: mod_facts.c, mod_lang.c:
-	  Finding more instances of strcmp(3) on fixed-length strings and
-	  changing them to use strncmp(3).
+	* 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-03-17 09:53  castaglia
+2011-02-27  castaglia <castaglia>
 
-	* modules/mod_ctrls.c:
-	  Starting work on converting modules which use strcmp(3) on
-	  fixed-length strings to using strncmp(3) instead.
+	* include/options.h: Mention the possible use of the
+	PR_TUNABLE_RCVBUFSZ and PR_TUNABLE_SNDBUFSZ macros in the comments.
 
-2011-03-17 09:47  castaglia
+2011-02-27  castaglia <castaglia>
 
-	* src/ctrls.c:
-	  Missed some spots in ctrls.c where strcmp(3) was being called on
-	  fixed-length strings.
+	* src/dirtree.c: Minor additional fix to make sure that using the
+	PR_TUNABLE_RCVBUFSZ macro works properly.
 
-2011-03-17 09:43  castaglia
+2011-02-27  castaglia <castaglia>
 
-	* src/: ctrls.c, main.c:
-	  Changing more instances of strcmp(3) on fixed strings to use
-	  strncmp(3) instead.
+	* doc/contrib/mod_wrap2.html: Make sure to mention/document the IPv6
+	netmask rule syntax in the mod_wrap2 docs.
 
-2011-03-17 09:35  castaglia
+2011-02-27  castaglia <castaglia>
 
-	* src/: dirtree.c, 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 07:10  castaglia
-
-	* src/: auth.c, dirtree.c, encode.c:
-	  Here's a few more minor places where we can use strncmp(3)
-	  instead of strcmp(3).
-
-2011-03-17 07:05  castaglia
-
-	* src/: dirtree.c, fsio.c, mkhome.c, throttle.c:
-	  Convert a few more places from using strcmp(3) to strncmp(3).
-
-2011-03-17 06:48  castaglia
-
-	* src/: filter.c, session.c, stash.c, 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 06:46  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 06:22  castaglia
-
-	* src/filter.c:
-	  Convert unnecessary strcmp(3) on fixed strings to strncmp(3).
-
-2011-03-17 06:18  castaglia
-
-	* src/stash.c:
-	  Eliminate one more strcmp(3) during symbol lookups.
-
-2011-03-17 06:10  castaglia
-
-	* src/: session.c, 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 06:02  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-16 22:46  castaglia
-
-	* src/stash.c:
-	  Make sure we handle the case of zero-length symbol names
-	  properly, too.  Just to be sure.
-
-2011-03-16 22:42  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-16 22:31  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-16 20:43  castaglia
-
-	* doc/modules/mod_log.html:
-	  Add docs for the new %H LogFormat variable.
-
-2011-03-16 20:42  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-16 20:05  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-16 18:02  castaglia
-
-	* RELEASE_NOTES:
-	  More added docs.
-
-2011-03-16 18:02  castaglia
-
-	* doc/utils/ftpdctl.html:
-	  Add HTML version of the ftpdctl man page.
-
-2011-03-16 17:52  castaglia
-
-	* doc/utils/: ftpscrub.html, ftptop.html:
-	  Adding HTML versions of the man pages for ftpscrub and ftptop.
-
-2011-03-16 17:14  castaglia
-
-	* Makefile.in, utils/ftpasswd.1, utils/ftpquota.1:
-	  Adding/installing man pages for the ftpasswd and ftpquota
-	  utilities.
-
-2011-03-16 17:11  castaglia
-
-	* utils/ftpmail.1:
-	  Typos, formatting fixes.
-
-2011-03-16 16:54  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 16:04  castaglia
-
-	* doc/utils/: ftpmail.html, index.html:
-	  Adding ftpmail docs in utils/ area.
-
-2011-03-16 15:38  castaglia
-
-	* contrib/mod_sftp/: disconnect.c, packet.c, 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 15:04  castaglia
-
-	* src/session.c:
-	  Ignore EEXIST errors when stashing the disconnect details.
-
-2011-03-16 15:00  castaglia
-
-	* contrib/mod_sftp/packet.c:
-	  Adding more trace logging of SSH2 packet IO.
-
-2011-03-16 14:45  castaglia
-
-	* contrib/mod_sql.c:
-	  Ignore EEXIST errors about stashing values in the session.notes
-	  table.
-
-2011-03-16 14:22  castaglia
-
-	* contrib/Makefile.in:
-	  Make sure we set the normal ownership/permissions on the
-	  installed Perl scripts.
-
-2011-03-16 14:18  castaglia
-
-	* contrib/Makefile.in:
-	  Stop trying to strip symbols from Perl scripts.
-
-2011-03-16 12:50  castaglia
-
-	* doc/contrib/mod_sql.html:
-	  Mention mod_sql_passwd in the SQLAuthTypes docs.
-
-2011-03-16 12:07  castaglia
-
-	* doc/howto/SQL.html:
-	  Update the SQL howto to mention the mod_sql_passwd module.
-
-2011-03-16 11:49  castaglia
-
-	* doc/: howto/Tracing.html, 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 11:26  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 06:43  jwm
-
-	* configure: rebuild from configure.in
-
-2011-03-16 06:42  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-15 23:42  castaglia
-
-	* configure:
-	  Updating configure.
-
-2011-03-15 23:31  castaglia
-
-	* NEWS:
-	  Fix typo.
-
-2011-03-15 16:39  castaglia
-
-	* NEWS, src/scoreboard.c:
-	  Bug#3618 - ScoreboardFile locking should be more resilient.
-
-2011-03-15 15:59  castaglia
-
-	* NEWS, src/event.c:
-	  Backport of fix for Bug#3619 to 1.3.3 branch.
-
-2011-03-15 15:59  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 14:05  castaglia
-
-	* NEWS, Makefile.in, RELEASE_NOTES, configure.in,
-	  contrib/Makefile.in:
-	  Bug#3616 - Install contrib utilities as part of 'make install'
-	  target.
-
-2011-03-15 11:51  castaglia
-
-	* contrib/mod_sftp/fxp.c:
-	  Log the errors when closedir(3) returns an error.
-
-2011-03-15 11:45  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-14 22:31  castaglia
-
-	* configure:
-	  Updating configure.
-
-2011-03-14 22:27  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 15:38  castaglia
-
-	* doc/modules/mod_log.html:
-	  Updated LogFormat description for %w variable.
-
-2011-03-14 15:37  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 15:53  castaglia
-
-	* contrib/mod_sql.c:
-	  Updating mod_sql to use the new pr_session_disconnect() function.
-
-2011-03-12 15:49  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 15:45  castaglia
-
-	* tests/t/: etc/modules/mod_rewrite/reverse.pl,
-	  lib/ProFTPD/Tests/Modules/mod_rewrite.pm:
-	  Adding reproduction test case for Bug#3611.  No bugfix/patch for
-	  it yet.
-
-2011-03-09 23:28  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 14:28  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 14:15  castaglia
-
-	* NEWS, src/str.c:
-	  Backport of fixes for Bug#3614 to 1.3.3 branch.
-
-2011-03-09 14:10  castaglia
-
-	* NEWS, src/str.c:
-	  Bug#3614 - Malicious module can use sreplace() function to
-	  overflow buffer.
-
-2011-03-09 10:53  castaglia
-
-	* tests/api/str.c:
-	  Add regression test for sreplace() issue from Bug#3614.
-
-2011-03-09 10:51  castaglia
-
-	* tests/api/regexp.c:
-	  Update the Regexp unit tests.
-
-2011-03-07 10:17  castaglia
-
-	* configure:
-	  Updated configure.
-
-2011-03-07 10:12  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 13:20  castaglia
-
-	* src/regexp.c:
-	  Quell compiler warnings about unused functions when PCRE support
-	  is not enabled.
-
-2011-03-04 21:29  castaglia
-
-	* src/regexp.c:
-	  Typo.
-
-2011-03-04 21:13  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-03 16:24  castaglia
-
-	* RELEASE_NOTES:
-	  Updating the list of new docs.
-
-2011-03-03 14:17  castaglia
-
-	* doc/utils/: ftpasswd.html, ftpquota.html, index.html:
-	  Updating links.
-
-2011-03-03 14:08  castaglia
-
-	* doc/utils/: ftpasswd.html, ftpcount.html, ftpquota.html,
-	  ftpshut.html, ftpwho.html, index.html:
-	  Checking in some of the existing HTML docs for utilities.
-
-2011-03-03 13:38  castaglia
-
-	* NEWS, RELEASE_NOTES, contrib/mod_ifsession.c,
-	  contrib/mod_ifversion.c, contrib/mod_quotatab.c,
-	  contrib/mod_rewrite.c, contrib/mod_site_misc.c,
-	  contrib/mod_sftp/interop.c, contrib/mod_sftp/mod_sftp.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 09:50  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 09:10  castaglia
-
-	* NEWS, src/data.c:
-	  Backport of fix for Bug#3612 to 1.3.3 branch.
-
-2011-03-03 09:09  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-01 22:32  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 11:22  castaglia
-
-	* tests/t/lib/ProFTPD/TestSuite/Utils.pm:
-	  Support writing <Global> sections in testcase config files.
-
-2011-02-28 22:17  castaglia
-
-	* doc/modules/mod_facts.html:
-	  Add FAQ about ListOptions and the MLSD/MLST commands.
-
-2011-02-28 17:58  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-02-28 17:42  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm:
-	  Fix the naming and status of the regression test for Bug#3595.
-
-2011-02-28 11:41  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm:
-	  Adding regression test for Bug#3595.
-
-2011-02-28 10:27  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 10:21  castaglia
-
-	* configure:
-	  Updating the configure script.
-
-2011-02-28 10:15  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-27 23:02  castaglia
-
-	* contrib/: mod_ifsession.c, mod_shaper.c, mod_unique_id.c,
-	  mod_load/mod_load.c.in, mod_sftp/mod_sftp.h.in,
-	  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-27 22:54  castaglia
-
-	* contrib/: mod_tls.c, mod_sftp/disconnect.c, mod_sftp/interop.c,
-	  mod_sftp/keys.c, mod_sftp/mod_sftp.c, mod_sftp/packet.c:
-	  Updating more contrib modules to use pr_session_disconnect().
-
-2011-02-27 22:31  castaglia
-
-	* contrib/: mod_ban.c, mod_ifsession.c, mod_shaper.c,
-	  mod_unique_id.c, mod_load/mod_load.c.in, mod_wrap2/mod_wrap2.c:
-	  Updating some of the contrib modules to use
-	  pr_session_disconnect().
-
-2011-02-27 22:17  castaglia
-
-	* modules/: mod_cap.c, mod_lang.c:
-	  Updating more core modules to use pr_session_disconnect().
-
-2011-02-27 22:08  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-27 21:50  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-27 21:48  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-27 18:29  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 13:36  castaglia
-
-	* contrib/: mod_shaper.c, mod_sql.c, mod_sql_mysql.c,
-	  mod_sql_odbc.c, mod_sql_postgres.c, mod_sql_sqlite.c, mod_tls.c,
-	  mod_unique_id.c, mod_wrap2/mod_wrap2.c:
-	  Updating the rest of the contrib modules to use the
-	  pr_session_end() function.
-
-2011-02-27 11:51  castaglia
-
-	* contrib/mod_load/mod_load.c.in:
-	  Update mod_load to use the pr_session_end() function.
-
-2011-02-27 11:47  castaglia
-
-	* contrib/: mod_ban.c, mod_ifsession.c, mod_sftp/disconnect.c,
-	  mod_sftp/interop.c, mod_sftp/keys.c, mod_sftp/mod_sftp.c,
-	  mod_sftp/packet.c:
-	  Updating some of the contrib modules to use the pr_session_end()
-	  function.
-
-2011-02-27 11:40  castaglia
-
-	* modules/: mod_auth.c, mod_cap.c, mod_core.c, mod_lang.c:
-	  Updating the core modules to use the pr_session_end() function.
-
-2011-02-27 11:28  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-26 17:54  castaglia
-
-	* NEWS, contrib/mod_quotatab.c:
-	  Bug#3608 - Make mod_quotatab poll for the QuotaLock file.
-
-2011-02-26 17:30  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-26 17:12  castaglia
-
-	* include/options.h:
-	  Mention the possible use of the PR_TUNABLE_RCVBUFSZ and
-	  PR_TUNABLE_SNDBUFSZ macros in the comments.
-
-2011-02-26 17:08  castaglia
-
-	* src/: dirtree.c:
-	  Minor additional fix to make sure that using the
-	  PR_TUNABLE_RCVBUFSZ macro works properly.
-
-2011-02-26 16:58  castaglia
-
-	* doc/contrib/mod_wrap2.html:
-	  Make sure to mention/document the IPv6 netmask rule syntax in the
-	  mod_wrap2 docs.
-
-2011-02-26 16:54  castaglia
-
-	* NEWS, contrib/mod_wrap2/mod_wrap2.c:
-	  Backport of fix for Bug#3606 to 1.3.3 branch.
-
-2011-02-26 16:53  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 09:06  castaglia
-
-	* src/response.c:
-	  Removed unused variable.
-
-2011-02-25 18:46  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:
-	  Backport of fix for Bug#3607 to 1.3.3 branch.
-
-2011-02-25 18:33  castaglia
-
-	* tests/: tests.pl, t/config/socketoptions.t,
-	  t/lib/ProFTPD/Tests/Config/SocketOptions.pm:
-	  Adding regression tests for the SocketOptions directive, per
-	  Bug#3607.
-
-2011-02-25 18:31  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 12:18  castaglia
-
-	* configure:
-	  Updated configure script.
-
-2011-02-25 12:15  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_site_misc.c, contrib/mod_sftp/interop.c,
-	  contrib/mod_sftp/mod_sftp.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-24 23:02  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 14:17  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm:
-	  Add regression test demonstrating netmask syntax for mod_wrap2.
-
-2011-02-23 14:16  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-22 23:04  castaglia
-
-	* doc/contrib/: index.html, mod_readme.html:
-	  Adding HTML doc for the mod_readme module.
-
-2011-02-22 22:49  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_readme.pm:
-	  Regression test for matching multiple DisplayReadme files.
-
-2011-02-22 19:14  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-22 18:51  castaglia
-
-	* src/response.c:
-	  Backport fix for R_DUP bug (part of Bug#3605) to 1.3.3 branch.
-
-2011-02-22 18:47  castaglia
-
-	* src/response.c: [no log message]
-
-2011-02-22 17:59  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-22 17:58  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_readme.pm:
-	  Added regression test for mod_readme's handling of CWD commands.
-
-2011-02-22 17:16  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 11:40  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm:
-	  Updating the DirFakeMode test to be like the other DirFake*
-	  directive tests.
-
-2011-02-22 11:34  castaglia
-
-	* tests/: tests.pl, t/config/dirfakegroup.t,
-	  t/config/dirfakeuser.t,
-	  t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm,
-	  t/lib/ProFTPD/Tests/Config/DirFakeUser.pm:
-	  Start adding regression tests for the DirFakeGroup and
-	  DirFakeUser directives.
-
-2011-02-22 11:27  castaglia
-
-	* tests/t/lib/ProFTPD/TestSuite/FTP.pm:
-	  Fix regression caused by changing of default index in
-	  response_msg() function.
-
-2011-02-22 11:17  castaglia
-
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_readme.pm,
-	  t/modules/mod_readme.t:
-	  Adding regression tests for the mod_readme module.
-
-2011-02-22 11:15  castaglia
-
-	* contrib/mod_readme.c:
-	  Fix some of the coding style in the mod_readme module; no
-	  functional change.
-
-2011-02-22 11:09  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-21 19:41  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/ban.pm:
-	  Adding regression test for MaxCommandRate+mod_sftp+mod_ban
-	  config.
-
-2011-02-21 19:40  castaglia
-
-	* contrib/mod_sftp/mod_sftp.c:
-	  Make sure that when mod_ban bans an SSH2 client, we disconnect
-	  the client properly.
-
-2011-02-21 19:36  castaglia
-
-	* contrib/mod_ban.c:
-	  Fix mod_ban's handling of the 'core.max-command-rate' event.
-
-2011-02-21 19:20  castaglia
-
-	* include/memcache.h, modules/mod_memcache.c, src/memcache.c:
-	  Clear up any session-wide memcache connection on end of session.
-
-2011-02-21 18:54  castaglia
-
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_sftp.pm,
-	  t/lib/ProFTPD/Tests/Modules/mod_sftp/ban.pm,
-	  t/modules/mod_sftp/ban.t:
-	  Splitting out the mod_ban-related mod_sftp tests into their own
-	  file.
-
-2011-02-20 19:08  castaglia
-
-	* doc/modules/mod_xfer.html:
-	  Added docs for TransferRate.
-
-2011-02-20 18:58  castaglia
-
-	* doc/modules/mod_xfer.html:
-	  Still working on more mod_xfer documentation.
-
-2011-02-20 18:57  castaglia
-
-	* doc/howto/Sendfile.html:
-	  More known issues with sendfile(2).
-
-2011-02-20 18:40  castaglia
-
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_ratio.pm,
-	  t/modules/mod_ratio.t:
-	  Start of unit tests for mod_ratio; incidentally includes
-	  regression test for Bug#3600.
-
-2011-02-20 18:36  castaglia
-
-	* NEWS, contrib/mod_sql.c, include/display.h, modules/mod_auth.c,
-	  modules/mod_core.c, src/display.c, src/main.c:
-	  Backport of fix for Bug#3538, Bug#3600 to 1.3.3 branch.
-
-2011-02-20 18:33  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm:
-	  Remove development/debugging cruft.
-
-2011-02-20 18:32  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-20 16:46  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 15:14  castaglia
-
-	* src/main.c:
-	  Minor style cleanup; no functional change.
-
-2011-02-20 12:06  castaglia
-
-	* doc/modules/: index.html, mod_site.html:
-	  Start on docs for the mod_site module.
-
-2011-02-20 12:00  castaglia
-
-	* doc/modules/mod_log.html:
-	  Minor typos.
-
-2011-02-20 11:58  castaglia
-
-	* doc/modules/: index.html, mod_log.html:
-	  Adding mod_log docs.
-
-2011-02-20 10:20  castaglia
-
-	* doc/modules/mod_auth_unix.html:
-	  Fixing up the mod_auth_unix docs.
-
-2011-02-20 10:18  castaglia
-
-	* doc/modules/mod_auth_file.html:
-	  Fixing up the mod_auth_file docs.
-
-2011-02-20 10:16  castaglia
-
-	* doc/modules/: index.html, mod_auth.html:
-	  Start working on mod_auth-specific documentation.
-
-2011-02-20 09:45  castaglia
-
-	* doc/modules/index.html:
-	  Add an index page for the core module docs.
-
-2011-02-20 09:30  castaglia
-
-	* doc/modules/mod_memcache.html:
-	  Give example of specifying paths to libmemcached headers/libs in
-	  the mod_memcache docs.
-
-2011-02-20 09:26  castaglia
-
-	* README.modules:
-	  Update the README.modules file.
-
-2011-02-20 09:23  castaglia
-
-	* doc/modules/mod_auth_unix.html:
-	  Add FAQ about expired passwords, as per Bug#3582.
-
-2011-02-20 09:22  castaglia
-
-	* configure:
-	  Update configure script.
-
-2011-02-20 09:14  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-19 18:27  castaglia
-
-	* doc/modules/mod_dso.html:
-	  Fix the "Compatibility" versions in the mod_dso doc.
-
-2011-02-19 18:21  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-19 18:01  castaglia
-
-	* doc/modules/mod_core.html:
-	  Add documentation for the current Include directive behavior
-	  (Bug#3588).
-
-2011-02-19 17:48  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-19 17:14  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-19 17:06  castaglia
-
-	* RELEASE_NOTES, doc/modules/mod_core.html:
-	  Documenting the new MaxCommandRate directive (Bug#3565).
-
-2011-02-19 17:00  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 15:15  castaglia
-
-	* contrib/mod_sftp/fxp.c:
-	  Backporting RMDIR logging fixes from trunk.
-
-2011-02-18 15:14  castaglia
-
-	* contrib/mod_sftp/fxp.c:
-	  Additional fixes for logging of RMDIR in ExtendedLog, for
-	  Bug#3591.
-
-2011-02-17 10:00  castaglia
-
-	* contrib/mod_sftp/display.c:
-	  Forgot to add back the format_size_str() function here.
-
-2011-02-16 18:12  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-16 16:49  castaglia
-
-	* RELEASE_NOTES:
-	  Update release notes.
-
-2011-02-16 16:48  castaglia
-
-	* doc/contrib/mod_sftp.html:
-	  Document the new IgnoreSFTPSetPerms SFTPOption.
-
-2011-02-16 16:46  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 14:21  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 14:19  castaglia
-
-	* tests/: tests.pl,
-	  t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm,
-	  t/modules/mod_sftp/rewrite.t:
-	  Refactoring the mod_sftp+mod_rewrite tests out to a separate
-	  file.
-
-2011-02-16 11:10  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 10:33  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-15 22:32  castaglia
-
-	* doc/modules/mod_ls.html:
-	  Start working on mod_ls-specific documentation.
-
-2011-02-15 20:48  castaglia
-
-	* tests/: tests.pl, t/config/include.t,
-	  t/lib/ProFTPD/Tests/Config/Include.pm:
-	  Add regression tests for the Include directive.
-
-2011-02-15 16:27  castaglia
-
-	* doc/contrib/: index.html, mod_tls_memcache.html:
-	  Adding docs for mod_tls_memcache module.
-
-2011-02-15 16:06  castaglia
-
-	* NEWS, RELEASE_NOTES, contrib/mod_tls_memcache.c:
-	  Adding new mod_tls_memcache module.
-
-2011-02-15 16:04  castaglia
-
-	* tests/: tests.pl,
-	  t/lib/ProFTPD/Tests/Modules/mod_tls_memcache.pm,
-	  t/modules/mod_tls_memcache.t:
-	  Checking in tests for the new mod_tls_memcache module.
-
-2011-02-15 13:35  castaglia
-
-	* contrib/: mod_tls_shmcache.c:
-	  Fix uninitialized pointer warning from Bug#3596.
-
-2011-02-15 13:31  castaglia
-
-	* contrib/: mod_shaper.c:
-	  Fix printf(3) typecast warning from Bug#3596.
-
-2011-02-15 13:29  castaglia
-
-	* modules/: mod_delay.c:
-	  Fix off-by-one compiler warnings from Bug#3596.
-
-2011-02-15 12:07  castaglia
-
-	* NEWS, src/prxs.in:
-	  Backport of fix for Bug#3593 to 1.3.3 branch.
-
-2011-02-15 12:06  castaglia
-
-	* NEWS, src/prxs.in:
-	  Bug#3593 - Using "$shell $libtool" in prxs does not work for all
-	  shells.
-
-2011-02-15 11:29  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-14 19:19  castaglia
-
-	* contrib/mod_sftp/display.c:
-	  Remove unused function.
-
-2011-02-14 16:59  castaglia
-
-	* RELEASE_NOTES:
-	  Adding release notes for myself, to be fleshed out more fully
-	  later.
-
-2011-02-14 16:58  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 14:46  castaglia
-
-	* doc/modules/mod_auth_unix.html:
-	  Document the magicTokenChroot AuthUnixOption.
-
-2011-02-14 14:41  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 14:21  castaglia
-
-	* contrib/: mod_tls.c, mod_sftp/kex.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-13 16:46  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 09:55  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Add mod_sftp unit tests for Bug#3591.
-
-2011-02-13 09:53  castaglia
-
-	* NEWS, contrib/mod_sql.c, modules/mod_log.c:
-	  Bug#3591 - %F LogFormat variable should work for MKD/RMD
-	  commands.
-
-2011-02-13 09:35  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-12 17:25  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-12 16:31  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-12 16:30  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 10:12  castaglia
-
-	* contrib/mod_sftp/channel.h:
-	  Rather than relying on datatype underflow, explicitly define the
-	  max channel window size.
-
-2011-02-12 10:11  castaglia
-
-	* contrib/mod_sftp/channel.h:
-	  Rather than relying on datatype underflow, explicitly define the
-	  max channel window size.
-
-2011-02-12 09:45  castaglia
-
-	* src/display.c:
-	  Backport of fix for Bug#3589 to 1.3.3 branch.
-
-2011-02-12 09:45  castaglia
-
-	* src/display.c:
-	  Bug#3589 - src/display.c doesn't compile on hpux since 1.3.3d.
-
-2011-02-12 09:41  castaglia
-
-	* NEWS, contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/packet.c,
-	  contrib/mod_sftp/packet.h:
-	  Backport of fix for Bug#3586 to 1.3.3 branch.
-
-2011-02-12 09:39  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-25 23:21  castaglia
-
-	* src/memcache.c:
-	  Make sure that pr_memcache_set_namespace() with a NULL namespace
-	  prefix works as we expect.
-
-2011-01-25 22:52  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-25 22:45  castaglia
-
-	* contrib/mod_ban.c:
-	  Make sure we don't leak memory in a few memcache/tpl-related
-	  error cases.
-
-2011-01-25 17:03  castaglia
-
-	* contrib/: mod_sftp/crypto.c, mod_tls.c:
-	  Use OpenSSL's ERR_remove_thread_state() API when possible, rather
-	  than the deprecated ERR_remove_state() function.
-
-2011-01-25 10:23  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 10:10  castaglia
-
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3585 - Allow client-requested SSL session renegotiation when
-	  securely supported.
-
-2011-01-24 23:44  castaglia
-
-	* include/memcache.h, src/memcache.c:
-	  Adding memcache API functions for incrementing/decrementing a
-	  value stored in memcached.
-
-2011-01-24 09:53  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 21:57  castaglia
-
-	* tests/: tests.pl,
-	  t/lib/ProFTPD/Tests/Modules/mod_tls_shmcache.pm,
-	  t/modules/mod_tls_shmcache.t:
-	  Finally have a regression test for mod_tls_shmcache and SSL
-	  session caching.
-
-2011-01-23 21:54  castaglia
-
-	* contrib/mod_tls_shmcache.c:
-	  Update mod_tls_shmcache to use trace logging in more places.
-
-2011-01-23 21:53  castaglia
-
-	* contrib/mod_tls.c:
-	  Add logging of when an SSL session is reused/resumed for a
-	  control connection.
-
-2011-01-23 14:23  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 14:20  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 09:56  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-22 17:38  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-22 16:38  castaglia
-
-	* include/memcache.h, modules/mod_memcache.c, src/memcache.c:
-	  Checkpoint of more of my work on memcache support.
-
-2011-01-21 11:41  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 09:34  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm:
-	  Add regression tests for the STAT output when ShowSymlinks is
-	  toggled.
-
-2011-01-21 00:44  castaglia
-
-	* src/memcache.c:
-	  Use the AUTO_EJECT_HOSTS option, although it doesn't seem to be
-	  working as I expect.
-
-2011-01-21 00:21  castaglia
-
-	* src/memcache.c:
-	  Add better trace logging of the dead memcached server when we can
-	  detect one.
-
-2011-01-21 00:09  castaglia
-
-	* modules/mod_memcache.c:
-	  Slightly better logging of the libmemcached version being used.
-
-2011-01-20 23:19  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-20 23:15  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-20 19:45  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-20 19:43  castaglia
-
-	* tests/: tests.pl, t/config/showsymlinks.t,
-	  t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm:
-	  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-20 16:44  castaglia
-
-	* doc/contrib/mod_ban.html:
-	  Adding stubs for the new BanCache and BanCacheOptions directives.
-
-2011-01-20 16:13  castaglia
-
-	* doc/modules/mod_memcache.html:
-	  More stubs for the mod_memcache documentation.
-
-2011-01-19 21:39  castaglia
-
-	* tests/: tests.pl,
-	  t/lib/ProFTPD/Tests/Modules/mod_ban/memcache.pm,
-	  t/modules/mod_ban/memcache.t:
-	  Adding unit tests that I used for testing out mod_ban when
-	  configured to use a memcached server.
-
-2011-01-19 21:28  castaglia
-
-	* contrib/mod_ban.c:
-	  And now mod_ban can use memcached for storing/retrieving any ban
-	  rules!
-
-2011-01-19 20:59  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-19 18:04  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-19 16:52  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm:
-	  Pedantic style change; no functional change.
-
-2011-01-19 16:45  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm:
-	  Updated ftpwho unit tests to run properly.
-
-2011-01-19 15:10  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 15:04  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm:
-	  Fix the HideNoAccess unit test to handle the ScoreboardMutex
-	  file.
-
-2011-01-19 15:02  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm:
-	  Fix the DirFakeMode unit tests to handle the ScoreboardMutex
-	  file.
-
-2011-01-19 14:59  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 14:56  castaglia
-
-	* tests/t/lib/ProFTPD/TestSuite/FTP.pm:
-	  Quell more Perl warnings.
-
-2011-01-19 14:47  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 14:42  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 11:28  castaglia
-
-	* modules/mod_memcache.c:
-	  Fix compilation of mod_memcache.
-
-2011-01-19 10:14  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm:
-	  Update ABOR unit test to handle ScoreboardMutex file.
-
-2011-01-19 10:10  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Commands/STOU.pm:
-	  Allow more than 2 seconds for the STOU unit tests to run.
-
-2011-01-19 09:10  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Commands/: LIST.pm, MLSD.pm, NLST.pm:
-	  Update these unit tests so that they work properly.
-
-2011-01-18 23:10  castaglia
-
-	* src/memcache.c:
-	  Fix the compilation for src/memcache.c when --enable-memcache is
-	  not used.
-
-2011-01-18 18:20  castaglia
-
-	* doc/modules/mod_memcache.html:
-	  Add links to the memcached and libmemcached pages.
-
-2011-01-18 18:12  castaglia
-
-	* doc/modules/mod_memcache.html:
-	  Start working on documentation for the mod_memcache module.
-
-2011-01-18 18:09  castaglia
-
-	* doc/modules/mod_ctrls.html:
-	  Updated mod_ctrls with description of where to find the latest
-	  version.
-
-2011-01-18 17:59  castaglia
-
-	* doc/contrib/mod_sftp_pam.html:
-	  Updated the mod_sftp_pam docs to mention the new NoInfoMsgs
-	  SFTPPAMOption.
-
-2011-01-18 17:55  castaglia
-
-	* NEWS, contrib/mod_sftp_pam.c:
-	  Bug#3578 - Ability to suppress sending messages from PAM to
-	  clients.
-
-2011-01-18 16:36  castaglia
-
-	* NEWS, contrib/mod_sftp_pam.c:
-	  Backport of fix for Bug#3579 to 1.3.3 branch.
-
-2011-01-18 16:36  castaglia
-
-	* NEWS, contrib/mod_sftp_pam.c:
-	  Bug#3579 - mod_sftp_pam may tell client to disable echoing
-	  erroneously.
-
-2011-01-17 22:27  castaglia
-
-	* configure:
-	  Updated configure.
-
-2011-01-17 22:23  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-17 22:12  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-17 21:29  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 13:17  castaglia
-
-	* include/memcache.h, modules/mod_memcache.c, src/memcache.c:
-	  Fix the handling of the BLOCKING option.
-
-2011-01-17 13:12  castaglia
-
-	* include/memcache.h, modules/mod_memcache.c, src/memcache.c:
-	  More work on memcache support.
-
-2011-01-17 10:26  castaglia
-
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Backport of fix for Bug#3544 to 1.3.3 branch.
-
-2011-01-17 10:24  castaglia
-
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Bug#3544 - mod_sftp closes channel too early after scp download.
-
-2011-01-14 11:11  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 09:27  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 10:13  castaglia
-
-	* NEWS, modules/mod_auth_unix.c:
-	  Backport of fix for Bug#3575 to 1.3.3 branch.
-
-2011-01-13 10:12  castaglia
-
-	* NEWS, modules/mod_auth_unix.c:
-	  Bug#3575 - Process privileges may not handled properly when
-	  --enable-autoshadow is used.
-
-2011-01-12 11:45  castaglia
-
-	* modules/mod_site.c:
-	  Fix data type warning on Solaris.
-
-2011-01-11 22:58  castaglia
-
-	* configure:
-	  Updated configure.
-
-2011-01-11 22:54  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-11 18:32  castaglia
-
-	* src/main.c:
-	  Use better printf(3) style, and always support a format string,
-	  even for fixed input strings.
-
-2011-01-11 15:13  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 11:46  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Commands/: ALLO.pm, DELE.pm, MODE.pm,
-	  NOOP.pm, PASV.pm, PWD.pm, QUIT.pm, RMD.pm, RNFR.pm:
-	  Removing more unneeded chomp() calls.
-
-2011-01-11 11:43  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Commands/: APPE.pm, CDUP.pm, CWD.pm,
-	  EPRT.pm, MDTM.pm, SIZE.pm, STOR.pm, STRU.pm, SYST.pm, TYPE.pm:
-	  Removing unneeded chomp() calls.
-
-2011-01-11 11:39  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Modules/: mod_cap.pm, mod_deflate.pm:
-	  Removing unneeded chomp() calls.
-
-2011-01-11 11:27  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Config/: AllowOverwrite.pm,
-	  CommandBufferSize.pm, DefaultChdir.pm, DeleteAbortedStores.pm,
-	  HiddenStores.pm, Order.pm, RewriteHome.pm:
-	  Remove unnecessary chomp() calls.
-
-2011-01-11 11:17  castaglia
-
-	* tests/: tests.pl, t/commands/site/chmod.t,
-	  t/lib/ProFTPD/Tests/Commands/SITE/CHMOD.pm:
-	  Start working on regression tests for the various SITE commands.
-
-2011-01-11 10:07  castaglia
-
-	* modules/mod_auth_file.c:
-	  Fix build of mod_auth_file on systems which have fgetpwent(3).
-
-2011-01-10 16:52  castaglia
-
-	* src/fsio.c:
-	  Style nits; no functional change (other than adding signal
-	  handling in a while() loop).
-
-2011-01-10 13:57  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 13:38  castaglia
-
-	* doc/howto/ConfigurationTricks.html:
-	  Mention TransferPriority in the ConfigurationTricks howto.
-
-2011-01-08 14:46  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 11:43  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 11:18  castaglia
-
-	* modules/mod_auth_file.c:
-	  Fix a couple of bugs when using ID filtering in the AuthUserFile
-	  and AuthGroupFile directives.
-
-2011-01-08 11:17  castaglia
-
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm,
-	  t/modules/mod_auth_file.t:
-	  Adding regression tests for the ID, home, and name filtering that
-	  can be done using AuthUserFile and AuthGroupFile directives.
-
-2011-01-07 17:45  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-07 16:37  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-07 16:21  castaglia
-
-	* contrib/mod_sql_passwd.c,
-	  tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm:
-	  Additional refinement from Bug#3500.
-
-2011-01-07 11:03  castaglia
-
-	* doc/modules/mod_xfer.html:
-	  Start working on a mod_xfer doc.
-
-2011-01-07 10:58  castaglia
-
-	* doc/modules/mod_core.html:
-	  Typo.
-
-2011-01-06 10:33  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-05 16:06  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm:
-	  Add regression test for the SQLGroupWhereClause directive.
-
-2011-01-05 11:26  castaglia
-
-	* doc/howto/ConnectionACLs.html:
-	  Typo.
-
-2011-01-05 11:22  castaglia
-
-	* doc/howto/ConnectionACLs.html:
-	  Typo.
-
-2011-01-05 11:12  castaglia
-
-	* RELEASE_NOTES:
-	  Mention the new doc in the release notes.
-
-2011-01-05 11:11  castaglia
-
-	* doc/howto/: index.html, ConnectionACLs.html:
-	  Adding ConnectionACL howto.
-
-2011-01-05 08:36  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 11:48  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 11:41  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 09:47  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 13:52  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Config/RLimitMemory.pm:
-	  Another RLimitMemory test; I need to add more such cases here.
-
-2011-01-03 13:40  castaglia
-
-	* NEWS, modules/mod_core.c:
-	  Bug#3571 - RLimitMemory "max" soft/hard limits don't work.
-
-2011-01-03 13:14  castaglia
-
-	* tests/: tests.pl, t/config/rlimitmemory.t,
-	  t/lib/ProFTPD/Tests/Config/RLimitMemory.pm:
-	  Adding regression tests for the RLimitMemory directive, per
-	  Bug#3571.
-
-2010-12-28 16:35  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
-	  Fix another few Perl warnings.
-
-2010-12-28 16:33  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Config/DisplayChdir.pm:
-	  Silence another Perl warning.
-
-2010-12-28 16:32  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm:
-	  Quell some Perl compiler warnings.
-
-2010-12-28 16:31  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Commands/REST.pm:
-	  Remove redundant regression test.
-
-2010-12-27 12:32  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Logins.pm:
-	  Add regression test for anonymous logins with mod_delay enabled.
-
-2010-12-27 12:22  castaglia
-
-	* tests/Makefile.in:
-	  Make sure that 'make clean' works properly for the API tests.
-
-2010-12-26 21:27  castaglia
-
-	* tests/api/timers.c:
-	  Typo.
-
-2010-12-26 21:23  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-26 21:17  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 14:36  castaglia
-
-	* tests/api/timers.c:
-	  Allow some leeway when dealing with timer-based unit tests.
-
-2010-12-23 14:38  jwm
-
-	* README.LDAP: bzr r110:   capitalization consistency
-
-2010-12-23 14:37  jwm
-
-	* RELEASE_NOTES: forgot to add notice of mod_ldap configuration
-	  overhaul to the release notes
-
-2010-12-23 14:34  jwm
-
-	* README.LDAP: latest README with populated Changes section
-
-2010-12-23 11:17  castaglia
-
-	* tests/api/pool.c:
-	  Fix pool unit test error.
-
-2010-12-21 16:13  castaglia
-
-	* doc/howto/Scoreboard.html:
-	  Updating the Scoreboard howto with descriptions of the types of
-	  data recorded in the ScoreboardFile.
-
-2010-12-21 11:07  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-20 20:20  castaglia
-
-	* modules/mod_ident.c:
-	  Fix an IdentLookups edge case where we were not closing the fd or
-	  removing the timer properly.
-
-2010-12-20 20:16  castaglia
-
-	* modules/mod_ident.c:
-	  Typo.
-
-2010-12-20 19:32  castaglia
-
-	* src/netio.c:
-	  Fix the IO event names for writes to "other" types of streams.
-
-2010-12-20 19:31  castaglia
-
-	* NEWS, modules/mod_ident.c:
-	  Bug#3567 - IdentLookups do not work for IPv6 servers.
-
-2010-12-20 16:30  castaglia
-
-	* doc/contrib/mod_tls_shmcache.html:
-	  Adding TLSSessionCache FAQ.
-
-2010-12-20 16:15  castaglia
-
-	* doc/modules/mod_core.html:
-	  Updating mod_core docs with description of ProcessTitles
-	  directive.
-
-2010-12-20 16:05  castaglia
-
-	* NEWS, include/proctitle.h, modules/mod_core.c, src/proctitle.c:
-	  Bug#3566 - Ability to turn verbose process titles off.
-
-2010-12-20 11:42  castaglia
-
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Config/MaxCommandRate.pm,
-	  t/config/maxcommandrate.t:
-	  Adding unit tests for the functionality in Bug#3565.
-
-2010-12-18 11:38  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 10:33  castaglia
-
-	* contrib/mod_sql.c:
-	  Bug#3563 - Fix compiler warnings about possibly uninitialized
-	  variables.
-
-2010-12-18 10:30  castaglia
-
-	* doc/contrib/mod_sftp.html:
-	  Bug#3564 - Remove the SFTPServices docs, since the directive was
-	  reworked to be the Protocols directive.
-
-2010-12-17 17:11  castaglia
-
-	* include/version.h:
-	  Updating version.h for the CVS status once more.
-
-2010-12-17 17:11  castaglia
-
-	* tests/t/: lib/ProFTPD/Tests/Modules/mod_deflate.pm,
-	  etc/modules/mod_deflate/test_50mb.bin:
-	  Remove the 50MB file used for mod_deflate regression testing; no
-	  need to clutter up the tarball with it.
-
-2010-12-17 16:49  castaglia
-
-	* ChangeLog:
-	  Updated ChangeLog.
-
-2010-12-17 16:47  castaglia
-
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Warming up for the 1.3.3d release.
-
-2010-12-17 16:30  castaglia
-
-	* ChangeLog:
-	  Updating ChangeLog.
-
-2010-12-17 16:28  castaglia
-
-	* locale/files.txt:
-	  Updating the list of files for localization.
-
-2010-12-17 16:26  castaglia
-
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Getting ready to release 1.3.4rc1 (finally).
-
-2010-12-17 16:16  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-17 16:10  castaglia
-
-	* configure:
-	  Updating configure script.
-
-2010-12-17 16:08  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 15:56  castaglia
-
-	* src/display.c:
-	  Fix compile error due to a bad backport.
-
-2010-12-17 15:31  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 15:08  castaglia
-
-	* contrib/mod_wrap2/mod_wrap2.h.in:
-	  Missed checkin for the fix for Bug#3558.
-
-2010-12-17 14:41  castaglia
-
-	* RELEASE_NOTES:
-	  Updating release notes.
-
-2010-12-17 14:39  castaglia
-
-	* RELEASE_NOTES:
-	  Updating the release notes.
-
-2010-12-17 10:40  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-16 20:23  castaglia
-
-	* contrib/mod_sql.c:
-	  Backport of a typo fix for Bug#3536 to the 1.3.3 branch.
-
-2010-12-16 20:23  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-16 20:01  castaglia
-
-	* src/response.c:
-	  Backport the fixes of the Response API.
-
-2010-12-16 20:01  castaglia
-
-	* src/response.c:
-	  Wait to clear the cached last response code/msg values until
-	  pr_response_clear().
-
-2010-12-16 20:00  castaglia
-
-	* src/response.c:
-	  The last commit broke pr_response_flush(); fix it properly.
-
-2010-12-16 19:40  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-16 19:25  castaglia
-
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Backport of fix for Bug#3560 to 1.3.3 branch.
-
-2010-12-16 19:24  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-16 19:23  castaglia
-
-	* src/response.c:
-	  Backport the Response API fixes from trunk.
-
-2010-12-16 19:17  castaglia
-
-	* src/response.c:
-	  The mod_sftp testsuite caught some issues in the Response API.
-
-2010-12-16 13:31  castaglia
-
-	* contrib/mod_sftp/packet.c:
-	  Have mod_sftp generate events when it does network IO.
-
-2010-12-16 11:35  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 15:59  castaglia
-
-	* src/: data.c, 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 15:41  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 15:37  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-14 19:10  castaglia
-
-	* doc/contrib/mod_wrap2.html:
-	  Added documentation for the new CheckAllNames WrapOption.
-
-2010-12-14 19:07  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-14 18:21  castaglia
-
-	* doc/modules/mod_core.html:
-	  Start working a mod_core.html doc, just like we have for the
-	  other standard modules.
-
-2010-12-14 18:02  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-14 18:01  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-14 17:39  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-14 17:19  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-14 17:14  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-14 16:58  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-14 16:57  castaglia
-
-	* modules/mod_auth.c, modules/mod_core.c, tests/tests.pl,
-	  tests/t/config/protocols.t,
-	  tests/t/lib/ProFTPD/Tests/Config/Protocols.pm:
-	  Bug#3556 - Disable protocol support on per-user/group/class
-	  basis.
-
-2010-12-14 11:17  castaglia
-
-	* doc/contrib/mod_wrap2.html:
-	  Add documentation for the new WrapOptions directive, and the
-	  option added for Bug#3508.
-
-2010-12-14 11:06  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 10:26  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-13 22:35  castaglia
-
-	* RELEASE_NOTES, doc/contrib/mod_sftp.html:
-	  Mention the new SFTPServices directive in the docs.
-
-2010-12-13 22:30  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 14:15  castaglia
-
-	* tests/: tests.pl, t/config/maxclientsperhost.t,
-	  t/config/maxconnectionsperhost.t,
-	  t/lib/ProFTPD/Tests/Config/MaxClientsPerHost.pm,
-	  t/lib/ProFTPD/Tests/Config/MaxConnectionsPerHost.pm:
-	  Adding unit tests for the MaxClientsPerHost and
-	  MaxConnectionsPerHost directives.
-
-2010-12-13 11:50  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 13:06  castaglia
-
-	* NEWS, RELEASE_NOTES, contrib/mod_deflate.c, contrib/mod_sql.c,
-	  contrib/mod_tls.c, contrib/mod_sftp/packet.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 12:58  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 12:38  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 12:37  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 12:12  castaglia
-
-	* contrib/mod_deflate.c:
-	  The cause of Bug#3550 also occurred in the mod_deflate code;
-	  fixing it here.
-
-2010-12-10 14:38  jwm
-
-	* contrib/mod_ldap.c: bzr r108:   Handle potential NULL return
-	  value from crypt(). (Bug #3551)
-
-2010-12-10 11:12  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 11:05  castaglia
-
-	* contrib/mod_sftp/: fxp.c, scp.c:
-	  Make SCP honor/handle the TimeoutNoTransfer and TimeoutStalled
-	  timeouts properly.
-
-2010-12-10 10:05  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 09:11  castaglia
-
-	* modules/mod_xfer.c:
-	  The message logged for a TimeoutNoTransfer should be
-	  protocol-specific, and not have "FTP" hardcoded.
-
-2010-12-09 21:52  castaglia
-
-	* src/main.c:
-	  Generate an event for parsed but unhandled/unrecognized commands
-	  as well.
-
-2010-12-09 21:34  castaglia
-
-	* contrib/mod_sftp/: fxp.c, packet.c:
-	  Generate events when we receive invalid SSH2 packets, and when we
-	  receive invalid SFTP requests.
-
-2010-12-09 21:29  castaglia
-
-	* src/main.c:
-	  Generate an event whenever an invalid command (i.e. an unparsable
-	  command) is received from the client.
-
-2010-12-09 21:08  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-08 21:58  castaglia
-
-	* contrib/: mod_ban.c, mod_tls.c, mod_sftp/scp.c:
-	  Updating some macros based on a FreeBSD patch I found online
-	  (which wasn't passed on upstream to us).
-
-2010-12-08 18:54  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-08 18:45  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-08 17:54  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-08 16:41  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-08 16:41  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-08 16:38  castaglia
-
-	* modules/mod_xfer.c:
-	  Make a reminder comment to myself to handle short writes to disk
-	  better.
-
-2010-12-08 14:30  castaglia
-
-	* NEWS, contrib/mod_sftp/compress.c:
-	  Backport of fix for Bug#3550 to 1.3.3 branch.
-
-2010-12-08 14:30  castaglia
-
-	* NEWS, contrib/mod_sftp/compress.c:
-	  Bug#3550 - SFTP compressed uploads can cause corrupted uploaded
-	  files.
-
-2010-12-08 14:28  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 11:59  castaglia
-
-	* contrib/mod_sftp/fxp.c:
-	  Allocate a larger default buffer for incoming packets, to handle
-	  WRITE packets better.
-
-2010-12-07 16:31  castaglia
-
-	* tests/t/: etc/modules/mod_sftp/bug3550.php,
-	  lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding reproduction recipe for Bug#3550.
-
-2010-12-07 10:22  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 10:18  castaglia
-
-	* NEWS, contrib/mod_sql.c, modules/mod_auth_unix.c:
-	  Backport of fix for Bug#3551 to 1.3.3 branch.
-
-2010-12-07 10:18  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-03 16:10  castaglia
-
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Backport of fix for Bug#3548 to 1.3.3 branch.
-
-2010-12-03 16:10  castaglia
-
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Bug#3548 - Null pointer segfault in mod_sftp when handling
-	  aborted connection.
-
-2010-12-03 15:00  castaglia
-
-	* contrib/: mod_sql_sqlite.c:
-	  Fix logging of SQL query executing error.
-
-2010-12-03 12:42  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 15:24  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Adding reproduction recipe for Bug#3544.
-
-2010-12-01 10:48  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm:
-	  Adding regression test for Bug#3547.
-
-2010-12-01 10:46  castaglia
-
-	* NEWS, contrib/mod_ifsession.c, modules/mod_core.c:
-	  Backport of fix for Bug#3547 to 1.3.3 branch.
-
-2010-12-01 10:42  castaglia
-
-	* NEWS, contrib/mod_ifsession.c, modules/mod_core.c:
-	  Bug#3547 - Multiple AllowClass directives not handled properly.
-
-2010-11-30 14:57  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 11:26  castaglia
-
-	* NEWS, contrib/mod_sql.c:
-	  Bug#3536 - mod_sql has insufficient bounds checking in
-	  sql_prepare_where() function.
-
-2010-11-30 11:21  castaglia
-
-	* NEWS, contrib/mod_sql.c:
-	  Bug#3536 - mod_sql has insufficient bounds checking in
-	  sql_prepare_where() function.
-
-2010-11-22 11:17  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Modules/: mod_wrap2_file.pm,
-	  mod_wrap2_sql.pm:
-	  Adding unit tests for mod_wrap2 and the WrapOptions directive
-	  from Bug#3508.
-
-2010-11-22 10:25  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Add ExtendedLog RETR test for SFTP downloads.
-
-2010-11-22 10:21  castaglia
-
-	* src/log.c:
-	  Make very sure our logging buffer isn't exceeded.
-
-2010-11-22 10:20  castaglia
-
-	* src/log.c:
-	  Make very sure that our logging buffer isn't exceeded.
-
-2010-11-19 09:57  castaglia
-
-	* tests/: tests.pl, t/config/commandbuffersize.t,
-	  t/lib/ProFTPD/Tests/Config/CommandBufferSize.pm:
-	  Adding tests for the CommandBufferSize directive.
-
-2010-11-19 09:52  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 11:22  castaglia
-
-	* src/timers.c:
-	  Make sure we reset the dynamic_timerno static variable when
-	  (re)initializing the Timers API as well.
-
-2010-11-16 11:21  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 11:20  castaglia
-
-	* contrib/mod_sftp/: kex.c, 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 10:06  castaglia
-
-	* contrib/dist/rpm/proftpd.spec:
-	  Make sure that mod_facts is listed in the .spec file.
-
-2010-11-16 07:46  castaglia
-
-	* src/scoreboard.c:
-	  Don't forget to delete the ScoreboardMutex file as well.
-
-2010-11-15 14:27  castaglia
-
-	* include/scoreboard.h:
-	  Additional comments for the scoreboard entry fields.
-
-2010-11-14 15:49  castaglia
-
-	* NEWS:
-	  Mention the automatic setting of ScoreboardMutex when
-	  ScoreboardFile is used.
-
-2010-11-14 15:42  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 15:07  castaglia
-
-	* tests/: tests.pl, t/config/transferrate.t,
-	  t/lib/ProFTPD/Tests/Config/TransferRate.pm:
-	  Adding unit tests for the TransferRate directive.
-
-2010-11-14 14:27  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-12 16:28  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Adding a few more FTPS regression tests.
-
-2010-11-12 16:22  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_site.pm:
-	  Quell minor perl compiler warning about redeclared variable.
-
-2010-11-11 09:40  castaglia
-
-	* modules/mod_site.c:
-	  Add some trace logging for when SITE CHGRP/CHMOD fail.
-
-2010-11-11 09:38  castaglia
-
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_site.pm,
-	  t/modules/mod_site.t:
-	  Start working on regression tests for the mod_site module and its
-	  SITE commands.
-
-2010-11-10 17:24  castaglia
-
-	* doc/howto/Scoreboard.html:
-	  Add mention of the new ScoreboardMutex directive in the
-	  Scoreboard howto.
-
-2010-11-10 16:48  castaglia
-
-	* RELEASE_NOTES:
-	  Updating release notes.
-
-2010-11-10 16:48  castaglia
-
-	* NEWS, include/scoreboard.h, modules/mod_core.c, src/scoreboard.c:
-
-	  Bug#3208 - Improve ScoreboardFile performance under load.
-
-2010-11-10 11:24  castaglia
-
-	* NEWS, src/dirtree.c:
-	  Backport of fix for Bug#3530 to the 1.3.3 branch.
-
-2010-11-10 11:23  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 11:20  castaglia
-
-	* NEWS:
-	  Mention the new "OldProtocolCompat" SFTPOption in the NEWS file.
-
-2010-11-10 09:56  castaglia
-
-	* NEWS, src/dirtree.c:
-	  Bug#3526 - CPU usage at 100% when checking HideFiles pattern.
-
-2010-11-09 11:30  castaglia
-
-	* doc/howto/Limit.html:
-	  Add an example of user-specific login denied by a specific IP
-	  address.
-
-2010-11-09 11:17  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 10:43  castaglia
-
-	* NEWS, contrib/mod_quotatab.c:
-	  Bug#3531 - mod_quotatab contains duplicate EDQUOT errno code.
-
-2010-11-08 18:31  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-08 18:29  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-08 18:13  castaglia
-
-	* src/netio.c:
-	  Stylistic nits; no functional change.
-
-2010-11-08 18:07  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-08 16:43  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Telnet.pm:
-	  Correct the bug number for this unit/regression test.
-
-2010-11-08 15:24  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_copy.pm:
-	  Fix broken mod_copy unit test.
-
-2010-11-08 12:32  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-07 18:33  castaglia
-
-	* contrib/mod_sql.c:
-	  Stylistic nit; no functional change.
-
-2010-11-07 16:57  castaglia
-
-	* contrib/mod_sql.c, include/display.h, src/display.c:
-	  Backport to the 1.3.3 branch of the additional fix for
-	  SQLShowInfo lines, part of Bug#3423.
-
-2010-11-07 16:50  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-07 16:49  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 15:54  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm:
-	  Add regression test/reproduction recipe for Bug#3530.
-
-2010-11-07 15:19  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 11:55  castaglia
-
-	* NEWS, RELEASE_NOTES, modules/mod_xfer.c:
-	  Bug#3310 - UseSendfile should be supported in <Directory> and
-	  .ftpaccess sections.
-
-2010-11-06 11:52  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-05 17:05  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 14:12  castaglia
-
-	* tests/: tests.pl, t/config/usesendfile.t,
-	  t/lib/ProFTPD/Tests/Config/UseSendfile.pm:
-	  Adding regression tests for the UseSendfile directive, in
-	  preparation for working on Bug#3310.
-
-2010-11-05 09:34  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm:
-	  Updating multiline DisplayConnect regression test for changes due
-	  to Bug#3423.
-
-2010-11-05 09:17  castaglia
-
-	* include/: display.h:
-	  Typo.
-
-2010-11-04 20:26  castaglia
-
-	* modules/mod_ls.c:
-	  The 1.3.3 branch does not have the pr_str_is_fnmatch() function;
-	  revert to using strpbrk(3).
-
-2010-11-04 20:20  castaglia
-
-	* NEWS, modules/mod_ls.c:
-	  Backport of fix for Bug#3529 to 1.3.3 branch.
-
-2010-11-04 20:20  castaglia
-
-	* NEWS, modules/mod_ls.c:
-	  Bug#3529 - "LIST /*" now lists more than the expected directory.
-
-2010-11-04 19:56  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm:
-	  Adding reproduction recipes/regression tests for Bug#3529.
-
-2010-11-04 19:41  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-04 19:38  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 16:14  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 15:03  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 11:52  castaglia
-
-	* NEWS, contrib/mod_sql.c, include/response.h, modules/mod_log.c,
-	  src/response.c:
-	  Backport of fix for Bug#3528 to 1.3.3 branch.
-
-2010-11-04 11:51  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 09:51  castaglia
-
-	* NEWS, src/log.c:
-	  Backport of fix for Bug#3525 to 1.3.3 branch.
-
-2010-11-02 09:51  castaglia
-
-	* NEWS, src/log.c:
-	  Bug#3525 - Default syslog logging causes logging to the wrong
-	  syslog facilities.
-
-2010-11-01 15:16  castaglia
-
-	* RELEASE_NOTES:
-	  Updating release notes.
-
-2010-11-01 11:51  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 09:03  castaglia
-
-	* contrib/mod_sftp/: fxp.c, scp.c:
-	  Set the session.curr_cmd value in mod_sftp, for use by contrib
-	  modules.
-
-2010-10-29 15:50  castaglia
-
-	* contrib/mod_sftp/packet.c:
-	  Add trace logging of unknown disconnect reason codes.
-
-2010-10-29 15:45  castaglia
-
-	* contrib/mod_sftp/: packet.c:
-	  Make sure we handle unknown disconnect reason code properly
-	  (Bug#3522).
-
-2010-10-29 15:28  castaglia
-
-	* NEWS, contrib/mod_sftp/disconnect.c,
-	  contrib/mod_sftp/disconnect.h, contrib/mod_sftp/packet.c:
-	  Backport of fix for Bug#3522 to 1.3.3 branch.
-
-2010-10-29 15:28  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 10:14  castaglia
-
-	* NEWS:
-	  Forgot to update NEWS with the version; will be corrected in the
-	  released tarball.
-
-2010-10-29 10:09  castaglia
-
-	* ChangeLog:
-	  Updated ChangeLog.
-
-2010-10-29 10:08  castaglia
-
-	* RELEASE_NOTES, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Updating release notes and version files for the pending 1.3.3c
-	  release.
-
-2010-10-29 10:03  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 09:51  castaglia
-
-	* src/dirtree.c:
-	  Fix typo in badly backported change which caused compilation
-	  failure.
-
-2010-10-29 09:35  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 09:31  castaglia
-
-	* NEWS, src/netio.c:
-	  Backport of fix for Bug#3521 to 1.3.3 branch.
-
-2010-10-29 09:30  castaglia
-
-	* tests/: tests.pl, t/telnet.t, t/lib/ProFTPD/Tests/Telnet.pm:
-	  Add regression test for the Telnet IAC handling bug (Bug#3521).
-
-2010-10-29 09:29  castaglia
-
-	* NEWS, src/netio.c:
-	  Bug#3521 - Telnet IAC processing stack overflow.
-
-2010-10-26 20:07  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-26 20:02  castaglia
-
-	* tests/: tests.pl, t/config/multilinerfc2228.t,
-	  t/lib/ProFTPD/Tests/Config/MultilineRFC2228.pm:
-	  Adding unit tests for the MultilineRFC2228 directive.
-
-2010-10-24 12:12  castaglia
-
-	* lib/pr_fnmatch_loop.c:
-	  Try to avoid more non-gcc compiler unhappiness.
-
-2010-10-24 12:10  castaglia
-
-	* lib/pr_fnmatch.c:
-	  Try to make non-gcc compilers happier by providing a
-	  __builtin_expect macro definition for them.
-
-2010-10-23 12:46  castaglia
-
-	* src/dirtree.c:
-	  Fix minor issue with handling of escapes in is_fnmatch().
-
-2010-10-23 12:40  castaglia
-
-	* include/compat.h:
-	  Make sure to have a compatibility macro for the renamed
-	  is_fnmatch() function.
-
-2010-10-23 12:39  castaglia
-
-	* tests/api/netacl.c:
-	  Updated unit tests for NetACL parsing changes.
-
-2010-10-23 12:37  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-21 17:08  castaglia
-
-	* RELEASE_NOTES:
-	  Updating release notes for 1.3.3 branch; need a maint release
-	  from this soon.
-
-2010-10-21 17:06  castaglia
-
-	* NEWS, contrib/mod_site_misc.c:
-	  Backport of fix for Bug#3519 to 1.3.3 branch.
-
-2010-10-21 17:01  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 11:17  castaglia
-
-	* doc/contrib/mod_site_misc.html:
-	  Updated mod_site_misc docs for new SiteMiscEngine directive.
-
-2010-10-21 11:15  castaglia
-
-	* doc/contrib/mod_site_misc.html:
-	  Update mod_site_misc docs for new SiteMiscEngine directive.
-
-2010-10-21 11:09  castaglia
-
-	* NEWS, contrib/mod_site_misc.c:
-	  Backport of fix for Bug#3518 to 1.3.3 branch.
-
-2010-10-21 11:08  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 16:38  castaglia
-
-	* lib/: pr_fnmatch.c, 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 16:02  castaglia
-
-	* contrib/: mod_quotatab.c:
-	  Clear the "have update" flag in a few more places, just to be
-	  sure.
-
-2010-10-20 15:49  castaglia
-
-	* contrib/: mod_quotatab.c:
-	  Make sure the "have update" flag is cleared properly for DELEs;
-	  related to Bug#3517.
-
-2010-10-20 15:44  castaglia
-
-	* NEWS, contrib/mod_quotatab.c:
-	  Backport of fix for Bug#3517 to 1.3.3 branch.
-
-2010-10-20 15:43  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 13:39  castaglia
-
-	* doc/contrib/mod_sftp.html:
-	  Mention the space-avaiable SFTP extension in the SFTPExtensions
-	  doc.
-
-2010-10-20 13:38  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 12:13  castaglia
-
-	* lib/: pr_fnmatch.c, 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 16:17  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Config/Limit/LOGIN.pm:
-	  Updated unit test for Bug#3484.
-
-2010-10-19 16:14  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 15:18  castaglia
-
-	* NEWS, src/netacl.c, src/netaddr.c:
-	  Bug#3484 - Support range expressions for IP addresses in
-	  Allow/Deny/From rules.
-
-2010-10-19 15:14  castaglia
-
-	* RELEASE_NOTES:
-	  Mention the upgrade of the bundled fnmatch implementation in the
-	  release notes.
-
-2010-10-19 15:06  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 14:14  castaglia
-
-	* NEWS:
-	  Updating NEWS for Bug#3514.
-
-2010-10-18 14:13  castaglia
-
-	* tests/tests.pl:
-	  More residue from Bug#3514.
-
-2010-10-18 14:13  castaglia
-
-	* tests/t/lib/ProFTPD/TestSuite/Child.pm:
-	  Strange that these didn't get checked in, as part of Bug#3514.
-
-2010-10-18 14:12  castaglia
-
-	* tests/t/lib/ProFTPD/TestSuite/Utils.pm:
-	  Forgot to check this in; it's part of Bug#3514.
-
-2010-10-18 13:52  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Config/: AccessDenyMsg.pm,
-	  AccessGrantMsg.pm, AllowOverwrite.pm, AnonRejectPasswords.pm,
-	  AnonRequirePassword.pm, AuthAliasOnly.pm, AuthGroupFile.pm,
-	  AuthOrder.pm, AuthUsingAlias.pm, Classes.pm, CreateHome.pm,
-	  DefaultChdir.pm, DeleteAbortedStores.pm, DirFakeMode.pm,
-	  DisplayChdir.pm, DisplayConnect.pm, DisplayFileTransfer.pm,
-	  DisplayLogin.pm, DisplayQuit.pm, GroupOwner.pm, HiddenStores.pm,
-	  HideFiles.pm, HideGroup.pm, HideNoAccess.pm, HideUser.pm,
-	  MaxClients.pm, MaxInstances.pm, MaxLoginAttempts.pm,
-	  MaxRetrieveFileSize.pm, MaxStoreFileSize.pm, Order.pm,
-	  PathAllowFilter.pm, PathDenyFilter.pm, RequireValidShell.pm,
-	  RewriteHome.pm, ServerAdmin.pm, ServerIdent.pm,
-	  StoreUniquePrefix.pm, TimeoutIdle.pm, TimeoutLogin.pm,
-	  TimeoutNoTransfer.pm, TimeoutSession.pm, TimeoutStalled.pm,
-	  Trace.pm, UseFtpUsers.pm, UseGlobbing.pm, UserAlias.pm,
-	  UserOwner.pm, UserPassword.pm:
-	  Update tests to use base set_up() and tear_down() methods.
-
-2010-10-18 13:11  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Config/Limit/: Anonymous.pm,
-	  Filters.pm, LOGIN.pm, MFMT.pm, OPTS.pm, RMD.pm,
-	  SubDirectories.pm, XMKD.pm:
-	  Updating tests to use base set_up() and tear_down() methods.
-
-2010-10-18 11:57  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Config/: Directory/Limits.pm,
-	  Directory/Lookups.pm, Directory/Umask.pm, FTPAccess/DELE.pm,
-	  FTPAccess/Empty.pm, FTPAccess/Merging.pm, FTPAccess/RETR.pm:
-	  Updating tests to use base set_up() and tear_down() methods.
-
-2010-10-18 10:43  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Commands/: ABOR.pm, ALLO.pm, APPE.pm,
-	  CDUP.pm, CWD.pm, DELE.pm, EPRT.pm, EPSV.pm, FEAT.pm, HELP.pm,
-	  HOST.pm, LIST.pm, MDTM.pm, MFF.pm, MFMT.pm, MKD.pm, MLSD.pm,
-	  MLST.pm, MODE.pm, NLST.pm, NOOP.pm, PASS.pm, PASV.pm, PORT.pm,
-	  PWD.pm, QUIT.pm, REST.pm, RETR.pm, RMD.pm, RNFR.pm, RNTO.pm,
-	  SIZE.pm, STAT.pm, STOR.pm, STOU.pm, STRU.pm, SYST.pm, TYPE.pm,
-	  USER.pm:
-	  Updating tests to use base set_up() and tear_down() methods.
-
-2010-10-18 10:26  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Modules/: mod_ban.pm, mod_cap.pm,
-	  mod_copy.pm, mod_ctrls.pm, mod_deflate.pm, mod_exec.pm,
-	  mod_ifsession.pm, mod_ifversion.pm, mod_lang.pm,
-	  mod_quotatab_file.pm, mod_quotatab_sql.pm, mod_radius.pm,
-	  mod_rewrite.pm, mod_sftp_sql.pm, mod_shaper.pm, mod_site_misc.pm,
-	  mod_sql.pm, mod_sql_passwd.pm, mod_sql_sqlite.pm, mod_tls.pm,
-	  mod_unique_id.pm, mod_wrap.pm, mod_wrap2_file.pm,
-	  mod_wrap2_sql.pm:
-	  Updating tests to use the base set_up() and tear_down() methods.
-
-2010-10-18 09:55  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Logging/: ExtendedLog.pm,
-	  TransferLog.pm:
-	  Updating tests to use base set_up() and tear_down() methods.
-
-2010-10-18 09:54  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Logins.pm:
-	  Updating test to use the base set_up() and tear_down() methods.
-
-2010-10-18 09:52  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Signals/: ABRT.pm, HUP.pm, SEGV.pm,
-	  TERM.pm:
-	  Updating tests to use the base set_up() and tear_down() methods.
-
-2010-10-18 09:19  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Bug#3514 - Test suite tmpdir improvements.
-
-2010-10-16 11:48  castaglia
-
-	* modules/mod_delay.c:
-	  Use LONG_MAX as the delay ceiling.
-
-2010-10-16 11:29  castaglia
-
-	* contrib/mod_sftp/channel.c:
-	  Remove now-unused variable, and avoid a verbose compiler warning.
-
-2010-10-16 10:56  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 10:55  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 15:08  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 11:27  jwm
-
-	* README.LDAP: update from latest mod_ldap bzr
-
-2010-10-15 11:26  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 15:01  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 14:39  castaglia
-
-	* contrib/mod_sftp/: fxp.c:
-	  Handle quota-related errno values in the OPEN request handler.
-
-2010-10-14 14:31  castaglia
-
-	* contrib/: mod_quotatab.c:
-	  Make sure that the STOR and APPE handlers set errno
-	  appropriately, when the quota are reached.
-
-2010-10-06 17:10  castaglia
-
-	* NEWS, modules/mod_cap.c:
-	  Backport of fix for Bug#3513 to 1.3.3 branch.
-
-2010-10-06 17:10  castaglia
-
-	* NEWS, modules/mod_cap.c:
-	  Bug#3513 - EPERM error logged unnecessarily for SFTP logins on
-	  Linux.
-
-2010-10-06 11:54  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 11:45  castaglia
-
-	* doc/contrib/mod_tls.html:
-	  Document the newly added (Bug#3512) CommonNameRequired TLSOption.
-
-2010-10-06 11:43  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 11:39  castaglia
-
-	* tests/t/etc/modules/mod_tls/: NOTES, 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 11:13  castaglia
-
-	* NEWS, contrib/mod_sql_sqlite.c:
-	  Backport of fix for Bug#3511 to 1.3.3 branch.
-
-2010-09-29 11:13  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 11:20  jwm
-
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_ldap.pm: honor $allow_auth
-	  in ldap_auth() test
-
-2010-09-28 09:56  castaglia
-
-	* RELEASE_NOTES:
-	  Make sure to mention the new NoErrorIfAbsent ListOption, from
-	  Bug#3506, in the release notes.
-
-2010-09-28 09:49  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-23 17:44  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 14:49  castaglia
-
-	* doc/contrib/mod_sql_passwd.html:
-	  Doc typos (missing line breaks).
-
-2010-09-17 11:00  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 10:56  castaglia
-
-	* contrib/mod_tls.c:
-	  Minor tweaks to the log message about the NoSessionUseRequired
-	  TLSOptions parameter.
-
-2010-09-16 14:40  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 14:36  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 10:37  castaglia
-
-	* RELEASE_NOTES, doc/contrib/mod_sftp.html:
-	  Add docs for the new SFTPClientAlive directive.
-
-2010-09-15 10:29  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 11:16  castaglia
-
-	* modules/mod_delay.c:
-	  Adding yet more trace logging to mod_delay.
-
-2010-09-14 11:08  castaglia
-
-	* modules/mod_delay.c:
-	  Adding more trace logging to mod_delay.
-
-2010-09-14 10:55  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 16:13  castaglia
-
-	* src/mkhome.c:
-	  Add support for trace logging of some of the CreateHome workings.
-
-2010-09-10 14:07  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-09 15:42  castaglia
-
-	* ChangeLog:
-	  Updated Changelog.
-
-2010-09-09 15:40  castaglia
-
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Preparing to release 1.3.3b.
-
-2010-09-08 12:01  castaglia
-
-	* contrib/mod_sftp/kex.c:
-	  Backport the fixing of the DH_GEX_INIT command class marking as
-	  AUTH.
-
-2010-09-08 12:01  castaglia
-
-	* contrib/mod_sftp/kex.c:
-	  Fixing marking of DH_GEX_INIT command class to be AUTH.
-
-2010-09-08 10:48  castaglia
-
-	* contrib/: mod_ban.c, mod_tls.c, mod_sftp/scp.c:
-	  Backport the fixing of the getopt() resetting logic for HPUX11.
-	  Contributed by Steve Vickers.
-
-2010-09-08 10:48  castaglia
-
-	* contrib/: mod_ban.c, mod_tls.c, mod_sftp/scp.c:
-	  Fix the getopt() resetting logic for HPUX11.
+	* 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.
 
-2010-09-07 12:02  castaglia
+2011-02-26  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Forgot to allocate space for another pointer in the CreateHome
-	  config_rec.
+	* src/response.c: Removed unused variable.
 
-2010-09-07 11:57  castaglia
+2011-02-26  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* 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.
 
-2010-09-07 11:54  castaglia
+2011-02-26  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.
+	* 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.
 
-2010-09-07 11:49  castaglia
+2011-02-25  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).
+	* configure: Updated configure script.
 
-2010-09-07 11:12  castaglia
+2011-02-25  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* 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.
 
-2010-09-07 10:45  castaglia
+2011-02-25  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.
+	* 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.
 
-2010-09-03 11:51  castaglia
+2011-02-23  castaglia <castaglia>
 
-	* doc/howto/CreateHome.html:
-	  Updated the CreateHome howto to describe the new 'homegid'
-	  parameter.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Add regression
+	test demonstrating netmask syntax for mod_wrap2.
 
-2010-09-03 09:48  castaglia
+2011-02-23  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.
+	* 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.
 
-2010-09-02 10:42  castaglia
+2011-02-23  castaglia <castaglia>
 
-	* NEWS, src/parser.c,
-	  tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm:
-	  Bug#3502 - Support environment variables better in the config
-	  file.
+	* doc/contrib/index.html, doc/contrib/mod_readme.html: Adding HTML
+	doc for the mod_readme module.
 
-2010-09-01 14:49  castaglia
+2011-02-23  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_readme.pm: Regression test
+	for matching multiple DisplayReadme files.
 
-2010-09-01 13:45  castaglia
+2011-02-23  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.
+	* 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.
 
-2010-08-31 15:22  jwm
+2011-02-23  castaglia <castaglia>
 
-	* tests/tests.pl: get verbose output from Test::Harness, too
+	* src/response.c: [no log message]
 
-2010-08-31 15:17  jwm
+2011-02-23  castaglia <castaglia>
 
-	* tests/t/: lib/ProFTPD/Tests/Modules/mod_ldap.pm,
-	  modules/mod_ldap.t: start mod_ldap test suite
+	* 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.
 
-2010-08-31 15:01  castaglia
+2011-02-23  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/: EPRT.pm, EPSV.pm, PASV.pm,
-	  PORT.pm:
-	  Adding more regression tests for the commands involved in
-	  Bug#3487.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_readme.pm: Added regression
+	test for mod_readme's handling of CWD commands.
 
-2010-08-31 11:07  castaglia
+2011-02-23  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.
+	* 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.
 
-2010-08-30 10:43  castaglia
+2011-02-22  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Preparing release notes for release.
+	* tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm: Updating the
+	DirFakeMode test to be like the other DirFake* directive tests.
 
-2010-08-30 10:41  castaglia
+2011-02-22  castaglia <castaglia>
 
-	* NEWS:
-	  Removing duplicated entries from the NEWS file in the 1.3.3
-	  branch.
+	* 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.
 
-2010-08-30 10:37  castaglia
+2011-02-22  castaglia <castaglia>
 
-	* NEWS, src/auth.c:
-	  Backport of fix for Bug#3501 to 1.3.3 branch.
+	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Fix regression caused by
+	changing of default index in response_msg() function.
 
-2010-08-30 10:37  castaglia
+2011-02-22  castaglia <castaglia>
 
-	* NEWS, src/auth.c:
-	  Bug#3501 - <Anonymous> logins with "AuthAliasOnly on" still
-	  handled as anonymous logins.
+	* 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.
 
-2010-08-27 13:39  castaglia
+2011-02-22  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/AuthAliasOnly.pm:
-	  Regression/reproduction tests for Bug#3501.
+	* contrib/mod_readme.c: Fix some of the coding style in the
+	mod_readme module; no functional change.
 
-2010-08-27 13:38  castaglia
+2011-02-22  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Logins.pm:
-	  Missing testcase tag.
+	* 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.
 
-2010-08-26 14:50  jwm
+2011-02-22  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: sync with mod_ldap bzr r104:   remove
-	  LDAPQuotas in favor of using the LDAPUsers configuration
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/ban.pm: Adding
+	regression test for MaxCommandRate+mod_sftp+mod_ban config.
 
-	    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.
+2011-02-22  castaglia <castaglia>
 
-	    this seems to cut down on duplicate configuration and hopefully
-	  continues
-	    the trend of making mod_ldap easier to configure.
+	* contrib/mod_sftp/mod_sftp.c: Make sure that when mod_ban bans an
+	SSH2 client, we disconnect the client properly.
 
-2010-08-17 17:10  jwm
+2011-02-22  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: mod_ldap bzr r103:   fix handling of
-	  LDAPGroups directive
+	* contrib/mod_ban.c: Fix mod_ban's handling of the
+	'core.max-command-rate' event.
 
-2010-08-17 16:46  jwm
+2011-02-22  castaglia <castaglia>
 
-	* 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.
+	* include/memcache.h, modules/mod_memcache.c, src/memcache.c: Clear
+	up any session-wide memcache connection on end of session.
 
-		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
+2011-02-22  castaglia <castaglia>
 
-2010-08-16 13:42  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.
 
-	* src/netaddr.c:
-	  The backported fix for Bug#3494 caused this branch to fail
-	  compilation, since the pr_netaddr_v6tov4() function does not
-	  exist in this branch.  Fix the issue by adding the necessary
-	  code.
+2011-02-21  castaglia <castaglia>
 
-2010-08-14 09:49  castaglia
+	* doc/modules/mod_xfer.html: Added docs for TransferRate.
 
-	* src/main.c:
-	  Generate a 'core.shutdown' event when the daemon is shutting
-	  down.
+2011-02-21  castaglia <castaglia>
 
-	  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.
+	* doc/modules/mod_xfer.html: Still working on more mod_xfer
+	documentation.
 
-	  Gradually, the generation of the 'core.exit' event at daemon
-	  shutdown time will be phased out.
+2011-02-21  castaglia <castaglia>
 
-2010-08-14 09:25  castaglia
+	* doc/howto/Sendfile.html: More known issues with sendfile(2).
 
-	* 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.
+2011-02-21  castaglia <castaglia>
 
-2010-08-13 14:10  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.
 
-	* contrib/mod_sftp/fxp.c, modules/mod_xfer.c:
-	  Avoid spurious warnings like:
+2011-02-21  castaglia <castaglia>
 
-	    error adding 'mod_xfer.file-modified' note: File exists
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Remove
+	development/debugging cruft.
 
-	  by ensuring that that note is not in the table before adding it.
+2011-02-21  castaglia <castaglia>
 
-2010-08-11 07:56  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().
 
-	* 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.
+2011-02-21  castaglia <castaglia>
 
-2010-08-10 14:23  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.
 
-	* RELEASE_NOTES:
-	  Updated release notes.
+2011-02-20  castaglia <castaglia>
 
-2010-08-10 14:22  castaglia
+	* src/main.c: Minor style cleanup; no functional change.
 
-	* doc/contrib/ftpmail.html:
-	  Update the ftpmail doc with mention of the new --auth
-	  command-line option.
+2011-02-20  castaglia <castaglia>
 
-2010-08-10 14:18  castaglia
+	* doc/modules/index.html, doc/modules/mod_site.html: Start on docs
+	for the mod_site module.
 
-	* NEWS, contrib/ftpmail:
-	  Bug#3495 - Support SMTP authentication in the ftpmail Perl
-	  script.
+2011-02-20  castaglia <castaglia>
 
-2010-08-10 10:39  castaglia
+	* doc/modules/mod_log.html: Minor typos.
 
-	* doc/modules/mod_lang.html:
-	  Start on a FAQ section for the mod_lang docs.
+2011-02-20  castaglia <castaglia>
 
-2010-08-09 14:17  castaglia
+	* doc/modules/index.html, doc/modules/mod_log.html: Adding mod_log
+	docs.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm:
-	  Remove development cruft.
+2011-02-20  castaglia <castaglia>
 
-2010-08-09 14:10  castaglia
+	* doc/modules/mod_auth_unix.html: Fixing up the mod_auth_unix docs.
 
-	* 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.
+2011-02-20  castaglia <castaglia>
 
-2010-08-09 09:31  castaglia
+	* doc/modules/mod_auth_file.html: Fixing up the mod_auth_file docs.
 
-	* contrib/mod_rewrite.c:
-	  Fix harmless misspelling.
+2011-02-20  castaglia <castaglia>
 
-2010-08-06 11:34  castaglia
+	* doc/modules/index.html, doc/modules/mod_auth.html: Start working
+	on mod_auth-specific documentation.
 
-	* 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).
+2011-02-20  castaglia <castaglia>
 
-2010-08-05 16:43  castaglia
+	* doc/modules/index.html: Add an index page for the core module
+	docs.
 
-	* NEWS, src/netaddr.c:
-	  Backport of fix for Bug#3494 to 1.3.3 branch.
+2011-02-20  castaglia <castaglia>
 
-2010-08-05 16:43  castaglia
+	* doc/modules/mod_memcache.html: Give example of specifying paths to
+	libmemcached headers/libs in the mod_memcache docs.
 
-	* NEWS, src/netaddr.c:
-	  Bug#3494 - Null pointer dereference for IPv6-enabled proftpd when
-	  no DefaultServer configured.
+2011-02-20  castaglia <castaglia>
 
-	  Fix the pr_netaddr_is_loopback() function to properly handle
-	  IPv4-mapped IPv6 addresses.
+	* README.modules: Update the README.modules file.
 
-2010-08-04 15:32  castaglia
+2011-02-20  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Additional fix needed for Bug#3491.
+	* doc/modules/mod_auth_unix.html: Add FAQ about expired passwords,
+	as per Bug#3582.
 
-2010-08-04 15:32  castaglia
+2011-02-20  castaglia <castaglia>
 
-	* src/dirtree.c,
-	  tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm:
-	  Additional fix, and regression test, for Bug#3491.
+	* configure: Update configure script.
 
-2010-08-04 11:19  castaglia
+2011-02-20  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/limit/login.t,
-	  t/lib/ProFTPD/Tests/Config/Limit/LOGIN.pm:
-	  Add my regression/unit tests for Bug#3484 to CVS, so that they
-	  don't get lost in the shuffle.
+	* 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.
 
-2010-08-03 16:36  castaglia
+2011-02-20  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Some users are still reporting issues with SFTP directory
-	  listings with the current 1.3.3 branch code.	I suspect that this
-	  change, in addition to the fix for Bug#3481 (already applied)
-	  might be necessary.
+	* doc/modules/mod_dso.html: Fix the "Compatibility" versions in the
+	mod_dso doc.
 
-2010-08-03 12:42  jwm
+2011-02-20  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: mod_ldap bzr r101   release 2.8.23
+	* 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.
 
-2010-08-02 17:02  castaglia
+2011-02-20  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.
+	* doc/modules/mod_core.html: Add documentation for the current
+	Include directive behavior (Bug#3588).
 
-2010-08-02 17:00  castaglia
+2011-02-20  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Updating SFTPOptions doc to mention new MatchKeySubject value,
-	  added for Bug#3493.
+	* 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.
 
-2010-08-02 16:57  castaglia
+2011-02-20  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.
+	* 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.
 
-2010-08-01 10:38  castaglia
+2011-02-20  castaglia <castaglia>
 
-	* NEWS, src/data.c:
-	  Backport of fix for Bug#3492 to 1.3.3 branch.
+	* RELEASE_NOTES, doc/modules/mod_core.html: Documenting the new
+	MaxCommandRate directive (Bug#3565).
 
-2010-08-01 10:37  castaglia
+2011-02-20  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.
+	* NEWS, modules/mod_core.c: Bug#3565 - Support a MaxCommandRate, for
+	detecting and throttling clients which are sending commands too
+	quickly.
 
-2010-07-29 14:20  castaglia
+2011-02-18  castaglia <castaglia>
 
-	* NEWS, src/dirtree.c:
-	  Backport of fix for Bug#3491 to 1.3.3 branch.
+	* contrib/mod_sftp/fxp.c: Additional fixes for logging of RMDIR in
+	ExtendedLog, for Bug#3591.
 
-2010-07-29 14:19  castaglia
+2011-02-17  castaglia <castaglia>
 
-	* NEWS, src/dirtree.c,
-	  tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm:
-	  Bug#3491 - Directory pattern not matching as expected.
+	* contrib/mod_sftp/display.c: Forgot to add back the
+	format_size_str() function here.
 
-2010-07-27 15:16  castaglia
+2011-02-17  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.
+	* 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.
 
-2010-07-26 17:38  castaglia
+2011-02-17  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth.c:
-	  Backport of fix for Bug#3482 to 1.3.3 branch.
+	* RELEASE_NOTES: Update release notes.
 
-2010-07-26 17:37  castaglia
+2011-02-17  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#3482 - ProFTPD corrupts utmpx log files on FreeBSD 9.0/HEAD.
+	* doc/contrib/mod_sftp.html: Document the new IgnoreSFTPSetPerms
+	SFTPOption.
 
-2010-07-22 19:22  castaglia
+2011-02-17  castaglia <castaglia>
 
-	* NEWS:
-	  Typo.
+	* 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.
 
-2010-07-21 13:23  castaglia
+2011-02-16  castaglia <castaglia>
 
-	* contrib/mod_sftp/interop.c:
-	  Quell compiler warning about possibly using an uninitialized
-	  value.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: The
+	mod_rewrite-related mod_sftp tests have been moved out to their own
+	file.
 
-2010-07-20 09:23  castaglia
+2011-02-16  castaglia <castaglia>
 
-	* NEWS, modules/mod_ls.c, src/data.c:
-	  Backport of fix for Bug#3487 to 1.3.3 branch.
+	* 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.
 
-2010-07-20 09:23  castaglia
+2011-02-16  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.
+	* 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.
 
-2010-07-20 09:14  castaglia
+2011-02-16  castaglia <castaglia>
 
-	* locale/: bg_BG.po, en_US.po, fr_FR.po, it_IT.po, ja_JP.po,
-	  ko_KR.po, proftpd.pot, ru_RU.po, zh_CN.po, zh_TW.po:
-	  Fixing 'data tranfer' -> 'data transfer' typo in the localized
-	  files.
+	* 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.
 
-2010-07-20 09:12  castaglia
+2011-02-16  castaglia <castaglia>
 
-	* NEWS:
-	  Typo.
+	* doc/modules/mod_ls.html: Start working on mod_ls-specific
+	documentation.
 
-2010-07-20 09:12  castaglia
+2011-02-16  castaglia <castaglia>
 
-	* src/data.c:
-	  Fix typo.
+	* tests/t/config/include.t,
+	tests/t/lib/ProFTPD/Tests/Config/Include.pm, tests/tests.pl: Add
+	regression tests for the Include directive.
 
-2010-07-16 08:54  castaglia
+2011-02-16  castaglia <castaglia>
 
-	* NEWS, src/main.c:
-	  Backport of fix for Bug#3485 to 1.3.3 branch.
+	* doc/contrib/index.html, doc/contrib/mod_tls_memcache.html: Adding
+	docs for mod_tls_memcache module.
 
-2010-07-16 08:53  castaglia
+2011-02-16  castaglia <castaglia>
 
-	* NEWS, src/main.c:
-	  Bug#3485 - Disabling IPv6 via -4 or --ipv4 command-line options
-	  does not work.
+	* NEWS, RELEASE_NOTES, contrib/mod_tls_memcache.c: Adding new
+	mod_tls_memcache module.
 
-2010-07-15 10:28  castaglia
+2011-02-16  castaglia <castaglia>
 
-	* NEWS, contrib/mod_quotatab.c:
-	  Backport of fix for Bug#3483 to 1.3.3 branch.
+	* 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.
 
-2010-07-15 09:59  castaglia
+2011-02-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.
+	* contrib/mod_tls_shmcache.c: Fix uninitialized pointer warning from
+	Bug#3596.
 
-2010-07-14 17:09  castaglia
+2011-02-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).
+	* contrib/mod_shaper.c: Fix printf(3) typecast warning from
+	Bug#3596.
 
-2010-07-13 14:28  castaglia
+2011-02-15  castaglia <castaglia>
 
-	* doc/contrib/mod_ctrls_admin.html:
-	  Document the just-added 'ftpdctl debug level' feature.
+	* modules/mod_delay.c: Fix off-by-one compiler warnings from
+	Bug#3596.
 
-2010-07-13 14:21  castaglia
+2011-02-15  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.
+	* NEWS, src/prxs.in: Bug#3593 - Using "$shell $libtool" in prxs does
+	not work for all shells.
 
-2010-07-08 09:25  castaglia
+2011-02-15  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Backport of fix for Bug#3481 to 1.3.3 branch.
+	* 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.
 
-2010-07-08 09:24  castaglia
+2011-02-15  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c,
-	  tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Bug#3481 - Problem with SFTP directory listings.
+	* contrib/mod_sftp/display.c: Remove unused function.
 
-2010-07-06 08:50  castaglia
+2011-02-15  castaglia <castaglia>
 
-	* contrib/mod_sftp/interop.c:
-	  Backport part of the fix for Bug#3480; in fixing that, I found
-	  that the interop pattern matching for SSH probes and scanners was
-	  broken.
+	* RELEASE_NOTES: Adding release notes for myself, to be fleshed out
+	more fully later.
 
-2010-07-05 10:27  castaglia
+2011-02-15  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Add regression tests for mod_sftp's scanner/probe checks.
+	* 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.
 
-2010-07-05 10:26  castaglia
+2011-02-14  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Document the new OldProtocolCompat SFTPOption for Bug#3480.
+	* doc/modules/mod_auth_unix.html: Document the magicTokenChroot
+	AuthUnixOption.
 
-2010-07-05 10:25  castaglia
+2011-02-14  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.
+	* 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).
 
-2010-07-03 12:51  castaglia
+2011-02-14  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.
+	* 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.
 
-2010-07-03 11:57  castaglia
+2011-02-14  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.
+	* 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.
 
-2010-07-03 10:00  castaglia
+2011-02-13  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add mod_sftp unit
+	tests for Bug#3591.
 
-2010-07-03 09:38  castaglia
+2011-02-13  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* NEWS, contrib/mod_sql.c, modules/mod_log.c: Bug#3591 - %F
+	LogFormat variable should work for MKD/RMD commands.
 
-2010-07-03 09:36  castaglia
+2011-02-13  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.
+	* 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.
 
-2010-07-02 23:19  castaglia
+2011-02-13  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.
+	* 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.
 
-2010-07-02 20:11  castaglia
+2011-02-13  castaglia <castaglia>
 
-	* doc/contrib/mod_exec.html:
-	  Mention the newly added %A variable in the mod_exec docs.
+	* 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).
 
-2010-07-02 20:09  castaglia
+2011-02-13  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.
+	* 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.
 
-2010-07-01 08:14  castaglia
+2011-02-12  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updated ChangeLog.
+	* contrib/mod_sftp/channel.h: Rather than relying on datatype
+	underflow, explicitly define the max channel window size.
 
-2010-07-01 08:14  castaglia
+2011-02-12  castaglia <castaglia>
 
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Preparing for a release of 1.3.3a.
+	* src/display.c: Bug#3589 - src/display.c doesn't compile on hpux
+	since 1.3.3d.
 
-2010-07-01 08:06  castaglia
+2011-02-12  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Mention the SSL_shutdown() fix in the release notes.
+	* 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.
 
-2010-06-30 09:35  castaglia
+2011-01-26  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/authorder.t,
-	  t/lib/ProFTPD/Tests/Config/AuthOrder.pm:
-	  Add some regression tests for the AuthOrder directive.
+	* src/memcache.c: Make sure that pr_memcache_set_namespace() with a
+	NULL namespace prefix works as we expect.
 
-2010-06-30 08:57  castaglia
+2011-01-26  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.
+	* 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.
 
-2010-06-30 08:55  castaglia
+2011-01-26  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Stylistic nits; no functional change.
+	* contrib/mod_ban.c: Make sure we don't leak memory in a few
+	memcache/tpl-related error cases.
 
-2010-06-29 13:25  castaglia
+2011-01-26  castaglia <castaglia>
 
-	* tests/t/etc/modules/mod_tls/: ca-cert.pem, client-cert.pem,
-	  server-cert.p12, server-cert.pem:
-	  Adding new SSL certs for the mod_tls regression tests; these
-	  certs should be good for 10 years.
+	* 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.
 
-2010-06-29 13:23  castaglia
+2011-01-25  castaglia <castaglia>
 
-	* tests/t/etc/modules/mod_tls/NOTES:
-	  Reminder notes to myself for generating the CRL and PKCS12 files.
+	* 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).
 
-2010-06-29 13:23  castaglia
+2011-01-25  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.
+	* NEWS, contrib/mod_tls.c: Bug#3585 - Allow client-requested SSL
+	session renegotiation when securely supported.
 
-2010-06-29 07:56  castaglia
+2011-01-25  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_ifversion.pm,
-	  t/modules/mod_ifversion.t:
-	  Adding regression tests for mod_ifversion.
+	* include/memcache.h, src/memcache.c: Adding memcache API functions
+	for incrementing/decrementing a value stored in memcached.
 
-2010-06-29 07:55  castaglia
+2011-01-24  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, doc/contrib/index.html:
-	  Mention the new mod_ifversion module.
+	* 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.
 
-2010-06-29 07:52  castaglia
+2011-01-24  castaglia <castaglia>
 
-	* contrib/mod_ifversion.c, doc/contrib/mod_ifversion.html:
-	  Adding mod_ifversion to the contrib/ modules area.
+	* contrib/mod_tls_shmcache.c: Update mod_tls_shmcache to use trace
+	logging in more places.
 
-2010-06-28 10:53  castaglia
+2011-01-24  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Updating release notes, preparing for release.
+	* contrib/mod_tls.c: Add logging of when an SSL session is
+	reused/resumed for a control connection.
 
-2010-06-28 10:53  castaglia
+2011-01-23  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Minor formatting tweaks.
+	* 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.
 
-2010-06-28 10:46  castaglia
+2011-01-23  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Start fleshing out the RELEASE_NOTES and preparing for a release.
+	* 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.
 
-2010-06-27 18:45  jwm
+2011-01-23  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: merge r1.86 from HEAD
+	* 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.
 
-2010-06-27 18:42  jwm
+2011-01-23  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: revert r1.83 in favor of mod_ldap bzr r98
+	* 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.
 
-	  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.
+2011-01-23  castaglia <castaglia>
 
-	  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.
+	* include/memcache.h, modules/mod_memcache.c, src/memcache.c: 
+	Checkpoint of more of my work on memcache support.
 
-2010-06-27 18:36  jwm
+2011-01-21  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: revert r1.82 in favor of mod_ldap bzr r97
+	* tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm: Added regression
+	tests for ShowSymlinks and MLST, using relative symlinked paths in
+	chrooted sessions.
 
-	    decline requests for ssh pubkeys if we're not configured to do
-	  auth.
+2011-01-21  castaglia <castaglia>
 
-	    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.
+	* tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm: Add regression
+	tests for the STAT output when ShowSymlinks is toggled.
 
-2010-06-25 16:29  castaglia
+2011-01-21  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Logging/: ExtendedLog.pm,
-	  TransferLog.pm:
-	  Adding regression tests showing that logging to a full filesystem
-	  doesn't cause undue problems for proftpd's handling of a session.
+	* src/memcache.c: Use the AUTO_EJECT_HOSTS option, although it
+	doesn't seem to be working as I expect.
 
-2010-06-25 10:05  castaglia
+2011-01-21  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.
+	* src/memcache.c: Add better trace logging of the dead memcached
+	server when we can detect one.
 
-2010-06-25 09:55  castaglia
+2011-01-21  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/REST.pm:
-	  Accidentally overloaded a function name.  Oops.
+	* modules/mod_memcache.c: Slightly better logging of the
+	libmemcached version being used.
 
-2010-06-23 17:56  castaglia
+2011-01-21  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.
+	* 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.
 
-2010-06-23 17:55  castaglia
+2011-01-21  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.
+	* 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.
 
-2010-06-23 09:51  castaglia
+2011-01-21  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/AnonRejectPasswords.pm:
-	  Remove yet more debugging cruft.
+	* 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.
 
-2010-06-23 09:47  castaglia
+2011-01-21  castaglia <castaglia>
 
-	* tests/: tests.pl,
-	  t/lib/ProFTPD/Tests/Config/AnonRejectPasswords.pm,
-	  t/config/anonrejectpasswords.t:
-	  Add regression test for the AnonRejectPasswords directive.
+	* 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.
 
-2010-06-23 08:39  castaglia
+2011-01-21  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/AnonRequirePassword.pm:
-	  Remove debugging cruft.
+	* doc/contrib/mod_ban.html: Adding stubs for the new BanCache and
+	BanCacheOptions directives.
 
-2010-06-23 08:35  castaglia
+2011-01-21  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/anonrequirepassword.t,
-	  t/lib/ProFTPD/Tests/Config/AnonRequirePassword.pm:
-	  Add regression tests for the AnonRequirePassword directive.
+	* doc/modules/mod_memcache.html: More stubs for the mod_memcache
+	documentation.
 
-2010-06-23 07:41  castaglia
+2011-01-20  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql_sqlite.c:
-	  Backport of fix for Bug#3474 to 1.3.3 branch.
+	* 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.
 
-2010-06-23 07:29  castaglia
+2011-01-20  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql_sqlite.c:
-	  Bug#3474 - Using SQLite database and SQLLog directive can lead to
-	  problems under load.
+	* contrib/mod_ban.c: And now mod_ban can use memcached for
+	storing/retrieving any ban rules!
 
-	  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.
+2011-01-20  castaglia <castaglia>
 
-2010-06-22 17:03  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.
 
-	* doc/modules/mod_auth_unix.html:
-	  Start on a doc just for mod_auth_unix; we needed a place to
-	  document the AuthUnixOptions values.
+2011-01-20  castaglia <castaglia>
 
-2010-06-22 15:03  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.
 
-	* configure:
-	  Updated configure.
+2011-01-20  castaglia <castaglia>
 
-2010-06-22 15:02  castaglia
+	* tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm: Pedantic style change;
+	no functional change.
 
-	* NEWS, modules/mod_auth_unix.c:
-	  Backport of fix for Bug#3475 to 1.3.3 branch.
+2011-01-20  castaglia <castaglia>
 
-2010-06-22 15:02  castaglia
+	* tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm: Updated ftpwho unit
+	tests to run properly.
 
-	* modules/mod_auth_unix.c:
-	  Forgot to update copyright dates on the modified file.
+2011-01-19  castaglia <castaglia>
 
-2010-06-22 15:01  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/HideUser.pm: Fix another of the
+	HideUser tests which does require rootprivs to be run.
 
-	* NEWS, modules/mod_auth_unix.c:
-	  Bug#3475 - Add new 'noGetgrouplist' AuthUnixOption to work around
-	  buggy libc code.
+2011-01-19  castaglia <castaglia>
 
-2010-06-22 14:59  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm: Fix the
+	HideNoAccess unit test to handle the ScoreboardMutex file.
 
-	* 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.
+2011-01-19  castaglia <castaglia>
 
-2010-06-22 14:39  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm: Fix the
+	DirFakeMode unit tests to handle the ScoreboardMutex file.
 
-	* 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.
+2011-01-19  castaglia <castaglia>
 
-2010-06-22 09:37  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.
 
-	* NEWS, modules/mod_ls.c:
-	  Backport of fix for Bug#3476 to 1.3.3 branch.
+2011-01-19  castaglia <castaglia>
 
-2010-06-22 09:36  castaglia
+	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Quell more Perl warnings.
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#3476 - LIST/NLST of path starting with "-" fails.
+2011-01-19  castaglia <castaglia>
 
-2010-06-22 09:33  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.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/: LIST.pm, NLST.pm:
-	  Adding reproduction recipes/regression tests for Bug#3476.
+2011-01-19  castaglia <castaglia>
 
-2010-06-22 09:09  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/UseFtpUsers.pm: Only run the
+	UseFtpUsers tests on a system which has the /etc/ftpusers file.
 
-	* doc/contrib/mod_sftp.html:
-	  Add FAQ about "line too long" authorized key errors.
+2011-01-19  castaglia <castaglia>
 
-2010-06-22 06:59  castaglia
+	* modules/mod_memcache.c: Fix compilation of mod_memcache.
 
-	* contrib/: mod_wrap2_sql.c:
-	  Additional fixes for Bug#3471.
+2011-01-19  castaglia <castaglia>
 
-2010-06-21 22:14  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Update ABOR unit test
+	to handle ScoreboardMutex file.
 
-	* configure:
-	  Updated configure.
+2011-01-19  castaglia <castaglia>
 
-2010-06-21 22:11  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: Allow more than 2
+	seconds for the STOU unit tests to run.
 
-	* configure.in:
-	  Add a --disable-getgrouplist configure option, to disable use of
-	  the getgrouplist(3) function, hopefully working around Bug#3475.
+2011-01-19  castaglia <castaglia>
 
-2010-06-21 13:31  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.
 
-	* 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.
+2011-01-19  castaglia <castaglia>
 
-2010-06-21 10:33  castaglia
+	* src/memcache.c: Fix the compilation for src/memcache.c when
+	--enable-memcache is not used.
 
-	* doc/contrib/mod_sftp.html:
-	  Add SFTP FAQ about using Tectia/ssh.com host keys with mod_sftp.
+2011-01-19  castaglia <castaglia>
 
-2010-06-21 08:00  castaglia
+	* doc/modules/mod_memcache.html: Add links to the memcached and
+	libmemcached pages.
 
-	* doc/contrib/mod_sftp.html:
-	  Make it clearer in the mod_sftp docs that the modules does not
-	  support shell access.
+2011-01-19  castaglia <castaglia>
 
-2010-06-21 07:45  castaglia
+	* doc/modules/mod_memcache.html: Start working on documentation for
+	the mod_memcache module.
 
-	* 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.
+2011-01-19  castaglia <castaglia>
 
-2010-06-21 07:37  castaglia
+	* doc/modules/mod_ctrls.html: Updated mod_ctrls with description of
+	where to find the latest version.
 
-	* tests/t/: etc/modules/mod_sftp/authorized_rsa16384_keys,
-	  etc/modules/mod_sftp/test_rsa16384_key,
-	  etc/modules/mod_sftp/test_rsa16384_key.pub,
-	  lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Add SFTP publickey authentication test using 16384-bit RSA key.
+2011-01-19  castaglia <castaglia>
 
-2010-06-20 09:42  castaglia
+	* doc/contrib/mod_sftp_pam.html: Updated the mod_sftp_pam docs to
+	mention the new NoInfoMsgs SFTPPAMOption.
 
-	* contrib/mod_sql_sqlite.c:
-	  Fix the "busy loop" mod_sql_sqlite logging; we were logging the
-	  wrong variable for the error message.  Oops.
+2011-01-19  castaglia <castaglia>
 
-2010-06-20 09:26  castaglia
+	* NEWS, contrib/mod_sftp_pam.c: Bug#3578 - Ability to suppress
+	sending messages from PAM to clients.
 
-	* 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.
+2011-01-19  castaglia <castaglia>
 
-2010-06-19 19:59  castaglia
+	* NEWS, contrib/mod_sftp_pam.c: Bug#3579 - mod_sftp_pam may tell
+	client to disable echoing erroneously.
 
-	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm:
-	  Add regression test for Bug#3283.
+2011-01-18  castaglia <castaglia>
 
-2010-06-19 18:40  castaglia
+	* configure: Updated configure.
 
-	* 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.
+2011-01-18  castaglia <castaglia>
 
-2010-06-19 13:45  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.
 
-	* doc/howto/ListOptions.html:
-	  Include the new options (-c, -u) from Bug#3396 in the ListOptions
-	  howto.
+2011-01-18  castaglia <castaglia>
 
-2010-06-19 13:42  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.
 
-	* NEWS, modules/mod_ls.c,
-	  tests/t/lib/ProFTPD/Tests/Commands/LIST.pm:
-	  Bug#3396 - Support -c and -u LIST options.
+2011-01-18  castaglia <castaglia>
 
-2010-06-19 12:09  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.
 
-	* 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.
+2011-01-17  castaglia <castaglia>
 
-2010-06-19 11:59  castaglia
+	* include/memcache.h, modules/mod_memcache.c, src/memcache.c: Fix
+	the handling of the BLOCKING option.
 
-	* NEWS, contrib/mod_ldap.c:
-	  Backport of fix for Bug#3424 to 1.3.3 branch.
+2011-01-17  castaglia <castaglia>
 
-2010-06-19 11:58  castaglia
+	* include/memcache.h, modules/mod_memcache.c, src/memcache.c: More
+	work on memcache support.
 
-	* NEWS, contrib/mod_ldap.c:
-	  Bug#3424 - Bad LDAP lookup can cause mod_ldap segfault under some
-	  conditions.
+2011-01-17  castaglia <castaglia>
 
-	  Handle a NULL result from pr_ldap_getpwnam() in the
-	  handle_ldap_getgroups() function.
+	* NEWS, contrib/mod_sftp/scp.c: Bug#3544 - mod_sftp closes channel
+	too early after scp download.
 
-2010-06-19 11:47  castaglia
+2011-01-14  castaglia <castaglia>
 
-	* contrib/mod_ldap.c:
-	  Quell compiler warning about an uninitialized pointer.
+	* 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.
 
-2010-06-19 11:41  castaglia
+2011-01-14  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm:
-	  Add regression test (and correct configuration) for Bug#3166.
+	* NEWS, modules/mod_facts.c,
+	tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm: Bug#3577 - MFMT can fail
+	due to utimes(2) peculiarities.
 
-2010-06-19 11:06  castaglia
+2011-01-13  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Add unit test for hostbased SSH2 authentication.
+	* NEWS, modules/mod_auth_unix.c: Bug#3575 - Process privileges may
+	not handled properly when --enable-autoshadow is used.
 
-2010-06-17 11:08  castaglia
+2011-01-12  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Add mod_sftp regression tests for Bug#3472.
+	* modules/mod_site.c: Fix data type warning on Solaris.
 
-2010-06-17 11:06  castaglia
+2011-01-12  castaglia <castaglia>
 
-	* tests/t/etc/modules/mod_sftp/: authorized_dsa2048_keys,
-	  authorized_dsa4096_keys, authorized_dsa8192_keys,
-	  authorized_rsa4096_keys, authorized_rsa8192_keys,
-	  test_dsa2048_key, test_dsa2048_key.pub, test_dsa4096_key,
-	  test_dsa4096_key.pub, test_dsa8192_key, test_dsa8192_key.pub,
-	  test_rsa4096_key, test_rsa4096_key.pub, test_rsa8192_key,
-	  test_rsa8192_key.pub:
-	  Adding more RSA and DSA keys of increasing sizes, for the
-	  mod_sftp regression tests.
+	* configure: Updated configure.
 
-2010-06-17 10:57  castaglia
+2011-01-12  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/auth-publickey.c:
-	  Backport of fix for Bug#3472 to 1.3.3 branch.
+	* 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.
 
-2010-06-17 10:56  castaglia
+2011-01-12  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/auth-publickey.c:
-	  Bug#3472 - mod_sftp publickey authentication fails for large
-	  keys.
+	* src/main.c: Use better printf(3) style, and always support a
+	format string, even for fixed input strings.
 
-2010-06-17 08:13  castaglia
+2011-01-11  castaglia <castaglia>
 
-	* NEWS, contrib/mod_wrap2/mod_wrap2.c:
-	  Backport of fix for Bug#3471 to 1.3.3 branch.
+	* 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>
 
-2010-06-17 08:13  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.
 
-	* NEWS, contrib/mod_wrap2/mod_wrap2.c:
-	  Bug#3471 - Null values in allow/deny rules causes mod_wrap2 to
-	  segfault.
+2011-01-10  castaglia <castaglia>
 
-2010-06-15 13:46  castaglia
+	* doc/howto/ConfigurationTricks.html: Mention TransferPriority in
+	the ConfigurationTricks howto.
 
-	* NEWS, contrib/mod_ifsession.c:
-	  Backport of fix for Bug#3467 to 1.3.3 branch.
+2011-01-08  castaglia <castaglia>
 
-2010-06-15 13:45  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.
 
-	* NEWS, contrib/mod_ifsession.c:
-	  Bug#3467 - mod_ifsession does not merge <Directory> blocks
-	  properly.
+2011-01-08  castaglia <castaglia>
 
-2010-06-15 09:58  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.
 
-	* NEWS, src/support.c:
-	  Backport of fix for Bug#3469 to 1.3.3 branch.
+2011-01-08  castaglia <castaglia>
 
-2010-06-15 09:58  castaglia
+	* modules/mod_auth_file.c: Fix a couple of bugs when using ID
+	filtering in the AuthUserFile and AuthGroupFile directives.
 
-	* 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 ('~').
+2011-01-08  castaglia <castaglia>
 
-2010-06-15 09:52  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.
 
-	* 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).
+2011-01-08  castaglia <castaglia>
 
-2010-06-15 09:02  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.
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Backport of fix for Bug#3470 to 1.3.3 branch.
+2011-01-08  castaglia <castaglia>
 
-2010-06-15 09:01  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.
 
-	* 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.
+2011-01-08  castaglia <castaglia>
 
-2010-06-14 11:45  castaglia
+	* contrib/mod_sql_passwd.c,
+	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Additional
+	refinement from Bug#3500.
 
-	* NEWS, contrib/mod_tls.c:
-	  Backport of fix for Bug#3465 to 1.3.3 branch.
+2011-01-07  castaglia <castaglia>
 
-2010-06-14 11:44  castaglia
+	* doc/modules/mod_xfer.html: Start working on a mod_xfer doc.
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3465 - SIGSEGV at LIST after CCC.
+2011-01-07  castaglia <castaglia>
 
-2010-06-14 11:16  castaglia
+	* doc/modules/mod_core.html: Typo.
 
-	* src/main.c:
-	  Backport of stacktrace logging fix from trunk.
+2011-01-06  castaglia <castaglia>
 
-2010-06-14 11:15  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.
 
-	* 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.
+2011-01-06  castaglia <castaglia>
 
-2010-06-14 07:46  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
+	regression test for the SQLGroupWhereClause directive.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm:
-	  More regression tests for Bug#3467.
+2011-01-05  castaglia <castaglia>
 
-2010-06-11 17:03  castaglia
+	* doc/howto/ConnectionACLs.html: Typo.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm:
-	  Add regression test for Bug#3467.
+2011-01-05  castaglia <castaglia>
 
-2010-06-11 17:02  castaglia
+	* doc/howto/ConnectionACLs.html: Typo.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Add regression test for Bug#3465.
+2011-01-05  castaglia <castaglia>
 
-2010-06-11 15:42  castaglia
+	* RELEASE_NOTES: Mention the new doc in the release notes.
 
-	* NEWS, contrib/mod_ifsession.c:
-	  Bug#3466 - mod_ifsession does not check for properly closed
-	  <IfUser> contexts.
+2011-01-05  castaglia <castaglia>
 
-2010-06-11 14:37  castaglia
+	* doc/howto/ConnectionACLs.html, doc/howto/index.html: Adding
+	ConnectionACL howto.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm:
-	  Add an <IfGroup> test.
+2011-01-05  castaglia <castaglia>
 
-2010-05-30 17:33  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.
 
-	* contrib/mod_sftp/fxp.c:
-	  Fix Bug#3464 by removing code (related to Bug#3413) that should
-	  not be in the 1.3.3 branch.
+2011-01-04  castaglia <castaglia>
 
-2010-05-27 10:50  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.
 
-	* NEWS, contrib/ftpasswd:
-	  Backport of fix for Bug#3463 to 1.3.3 branch.
+2011-01-04  castaglia <castaglia>
 
-2010-05-27 10:50  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.
 
-	* NEWS, contrib/ftpasswd:
-	  Bug#3463 - ftpasswd script's --delete-group option does not work.
+2011-01-04  castaglia <castaglia>
 
-2010-05-27 09:22  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.
 
-	* NEWS, contrib/ftpasswd:
-	  Backport of fix for Bug#3462 to 1.3.3 branch.
+2011-01-03  castaglia <castaglia>
 
-2010-05-27 09:22  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/RLimitMemory.pm: Another
+	RLimitMemory test; I need to add more such cases here.
 
-	* NEWS, contrib/ftpasswd:
-	  Bug#3462 - ftpasswd script's --delete-user option does not work.
+2011-01-03  castaglia <castaglia>
 
-2010-05-25 10:56  castaglia
+	* NEWS, modules/mod_core.c: Bug#3571 - RLimitMemory "max" soft/hard
+	limits don't work.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Update mod_sftp .ftpaccess unit test to check for regressions of
-	  Bug#3460.
+2011-01-03  castaglia <castaglia>
 
-2010-05-25 10:55  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.
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Backport of fix for Bug#3460 to 1.3.3 branch.
+2010-12-29  castaglia <castaglia>
 
-2010-05-25 10:54  castaglia
+	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fix another few
+	Perl warnings.
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Bug#3460 - REALPATH SFTP request can cause improperly cached
-	  directory configuration.
+2010-12-29  castaglia <castaglia>
 
-2010-05-25 09:59  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/DisplayChdir.pm: Silence another
+	Perl warning.
 
-	* 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-12-29  castaglia <castaglia>
 
-2010-05-25 08:08  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Quell some Perl
+	compiler warnings.
 
-	* tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm:
-	  Add more DefaultChdir tests.
+2010-12-29  castaglia <castaglia>
 
-2010-05-25 07:46  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/REST.pm: Remove redundant
+	regression test.
 
-	* tests/: tests.pl, t/config/defaultchdir.t,
-	  t/lib/ProFTPD/Tests/Config/DefaultChdir.pm:
-	  Start on regression tests for the DefaultChdir config directive.
+2010-12-27  castaglia <castaglia>
 
-2010-05-25 07:38  castaglia
+	* tests/t/lib/ProFTPD/Tests/Logins.pm: Add regression test for
+	anonymous logins with mod_delay enabled.
 
-	* NEWS, src/auth.c:
-	  Bug#3431 - Ensure that timezone info files are opened prior to
-	  chroot.
+2010-12-27  castaglia <castaglia>
 
-2010-05-25 07:31  castaglia
+	* tests/Makefile.in: Make sure that 'make clean' works properly for
+	the API tests.
 
-	* 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-12-27  castaglia <castaglia>
 
-2010-05-24 16:34  castaglia
+	* tests/api/timers.c: Typo.
 
-	* 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-12-27  castaglia <castaglia>
 
-2010-05-24 13:38  castaglia
+	* tests/api/netacl.c: More places in the API testsuite where we
+	might need to handle 'localhost.localdomain' as well as just
+	'localhost'.
 
-	* 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-12-27  castaglia <castaglia>
 
-2010-05-24 11:29  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'.
 
-	* NEWS, contrib/mod_radius.c:
-	  Backport of fix for Bug#3459 to 1.3.3 branch.
+2010-12-26  castaglia <castaglia>
 
-2010-05-24 11:29  castaglia
+	* tests/api/timers.c: Allow some leeway when dealing with
+	timer-based unit tests.
 
-	* NEWS, contrib/mod_radius.c:
-	  Bug#3459 - mod_radius segfaults during incorrect login due to
-	  stale data.
+2010-12-23  jwm <jwm>
 
-2010-05-24 11:12  castaglia
+	* README.LDAP: bzr r110:   capitalization consistency
 
-	* contrib/mod_radius.c:
-	  Quell compiler warnings about unused strtoul(3) return values.
+2010-12-23  jwm <jwm>
 
-2010-05-20 11:16  castaglia
+	* RELEASE_NOTES: forgot to add notice of mod_ldap configuration
+	overhaul to the release notes
 
-	* 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-12-23  jwm <jwm>
 
-2010-05-19 18:04  castaglia
+	* README.LDAP: latest README with populated Changes section
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Add a couple more SQL-related configuration tests to the mod_sftp
-	  suite.
+2010-12-23  castaglia <castaglia>
 
-2010-05-18 14:43  castaglia
+	* tests/api/pool.c: Fix pool unit test error.
 
-	* NEWS, contrib/mod_sftp/crypto.c:
-	  Backport of fix for Bug#3458 to 1.3.3 branch.
+2010-12-22  castaglia <castaglia>
 
-2010-05-18 14:43  castaglia
+	* doc/howto/Scoreboard.html: Updating the Scoreboard howto with
+	descriptions of the types of data recorded in the ScoreboardFile.
 
-	* NEWS, contrib/mod_sftp/crypto.c:
-	  Bug#3458 - mod_sftp incorrectly performs OpenSSL cleanup.
+2010-12-21  castaglia <castaglia>
 
-2010-05-18 14:01  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).
 
-	* tests/: tests.pl, t/config/maxclients.t,
-	  t/lib/ProFTPD/Tests/Config/MaxClients.pm:
-	  Start adding regression/feature tests for the MaxClients
-	  directive.
+2010-12-21  castaglia <castaglia>
 
-2010-05-06 09:12  castaglia
+	* modules/mod_ident.c: Fix an IdentLookups edge case where we were
+	not closing the fd or removing the timer properly.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Add regression tests for uploading/downloading empty dirs via
-	  SCP.
+2010-12-21  castaglia <castaglia>
 
-2010-05-05 18:37  castaglia
+	* modules/mod_ident.c: Typo.
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Backport of fix for Bug#3456 to 1.3.3 branch.
+2010-12-21  castaglia <castaglia>
 
-2010-05-05 18:37  castaglia
+	* src/netio.c: Fix the IO event names for writes to "other" types of
+	streams.
 
-	* 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-12-21  castaglia <castaglia>
 
-2010-05-05 17:17  castaglia
+	* NEWS, modules/mod_ident.c: Bug#3567 - IdentLookups do not work for
+	IPv6 servers.
 
-	* contrib/mod_sftp/channel.c:
-	  Minor nit about the proper plurality in a trace message.
+2010-12-21  castaglia <castaglia>
 
-2010-05-05 16:59  castaglia
+	* doc/contrib/mod_tls_shmcache.html: Adding TLSSessionCache FAQ.
 
-	* 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-12-21  castaglia <castaglia>
 
-2010-05-05 16:51  castaglia
+	* doc/modules/mod_core.html: Updating mod_core docs with description
+	of ProcessTitles directive.
 
-	* include/support.h, src/support.c:
-	  Missed some spots in the exists() functions where the path string
-	  should also be constified.
+2010-12-21  castaglia <castaglia>
 
-2010-05-05 16:46  castaglia
+	* NEWS, include/proctitle.h, modules/mod_core.c, src/proctitle.c: 
+	Bug#3566 - Ability to turn verbose process titles off.
 
-	* include/support.h, src/support.c:
-	  Constify the arguments the *exists() functions.
+2010-12-20  castaglia <castaglia>
 
-2010-05-04 13:48  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.
 
-	* NEWS, locale/Makefile.in:
-	  Backport of fix for Bug#3454 to 1.3.3 branch.
+2010-12-18  jwm <jwm>
 
-2010-05-04 13:48  castaglia
+	* 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
 
-	* NEWS, locale/Makefile.in:
-	  Bug#3454 - msgfmt(1) options used for generating NLS files are
-	  not compatible with Solaris' msgfmt.
+2010-12-18  castaglia <castaglia>
 
-2010-05-02 11:18  castaglia
+	* contrib/mod_sql.c: Bug#3563 - Fix compiler warnings about possibly
+	uninitialized variables.
 
-	* 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-12-18  castaglia <castaglia>
 
-2010-05-02 11:15  castaglia
+	* doc/contrib/mod_sftp.html: Bug#3564 - Remove the SFTPServices
+	docs, since the directive was reworked to be the Protocols
+	directive.
 
-	* modules/mod_xfer.c:
-	  Log, at debug level 8, if an APPE command is blocked because of a
-	  <Limit> configuration.
+2010-12-18  castaglia <castaglia>
 
-2010-05-01 12:19  castaglia
+	* include/version.h: Updating version.h for the CVS status once
+	more.
 
-	* contrib/mod_sftp/fxp.c:
-	  Make a note about better reporting of incomplete uploads, where
-	  possible.
+2010-12-18  castaglia <castaglia>
 
-2010-04-28 21:03  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.
 
-	* 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-12-18  castaglia <castaglia>
 
-2010-04-28 17:41  castaglia
+	* ChangeLog: Updating ChangeLog.
 
-	* 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-12-18  castaglia <castaglia>
 
-2010-04-28 17:06  castaglia
+	* locale/files.txt: Updating the list of files for localization.
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Backport of fix for Bug#3452 for 1.3.3 branch.
+2010-12-18  castaglia <castaglia>
 
-2010-04-28 17:05  castaglia
+	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Getting
+	ready to release 1.3.4rc1 (finally).
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Bug#3452 - mod_sftp does not advertise its supported SFTP
-	  extensions for protocol version 5.
+2010-12-18  castaglia <castaglia>
 
-	  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.
+	* modules/mod_xfer.c: Add some portability checks for strtof(3), and
+	make sure that the UseSendfile directive handler checks the macros.
 
-2010-04-28 14:00  castaglia
+2010-12-18  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Backport of fix for Bug#3451 to 1.3.3 branch.
+	* configure: Updating configure script.
 
-2010-04-28 14:00  castaglia
+2010-12-18  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Bug#3451 - WinSCP can't upload files using protocol version 5
-	  with mod_sftp.
+	* 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-04-28 08:58  castaglia
+2010-12-17  castaglia <castaglia>
 
-	* src/main.c:
-	  Stylistic changes; no functional changes.
+	* 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-04-27 17:23  castaglia
+2010-12-17  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.
+	* contrib/mod_wrap2/mod_wrap2.h.in: Missed checkin for the fix for
+	Bug#3558.
 
-2010-04-27 17:12  castaglia
+2010-12-17  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Backport of fix for Bug#3450 to the 1.3.3 branch.
+	* RELEASE_NOTES: Updating the release notes.
 
-2010-04-27 17:11  castaglia
+2010-12-17  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.
+	* 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-04-27 16:27  castaglia
+2010-12-17  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.
+	* contrib/mod_sql.c: The mod_sql_sqlite testsuite caught a
+	regression caused by a typo in the fix for Bug#3536.
 
-2010-04-27 14:52  castaglia
+2010-12-17  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Add regression test for Bug#3425.
+	* src/response.c: Wait to clear the cached last response code/msg
+	values until pr_response_clear().
 
-2010-04-27 11:46  castaglia
+2010-12-17  castaglia <castaglia>
 
-	* contrib/mod_sftp/: fxp.c:
-	  Correct a comment.
+	* src/response.c: The last commit broke pr_response_flush(); fix it
+	properly.
 
-2010-04-27 11:43  castaglia
+2010-12-17  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Backport of fix for Bug#3449 to 1.3.3 branch.
+	* 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-04-27 11:42  castaglia
+2010-12-17  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 11:33  castaglia
-
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Backport of fix for Bug#3448 to 1.3.3 branch.
-
-2010-04-27 11:33  castaglia
-
-	* NEWS:
-	  Bug#3448 - Ensure that STAT/LSTAT/FSTAT SFTP requests do not use
-	  cached/stale data.
-
-2010-04-27 09:31  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Remove debugging cruft.
-
-2010-04-27 09:26  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 10:44  castaglia
-
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Backport of fix for Bug#3447 to 1.3.3 branch.
-
-2010-04-26 10:44  castaglia
+	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.
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Bug#3447 - mod_sftp can become confused during large recursive
-	  SCP uploads.
+2010-12-17  castaglia <castaglia>
 
-2010-04-25 16:55  castaglia
+	* src/response.c: The mod_sftp testsuite caught some issues in the
+	Response API.
 
-	* contrib/mod_shaper.c:
-	  Add trace logging, using the "lock" trace channel, of
-	  mod_shaper's locking of its ShaperTable.
+2010-12-16  castaglia <castaglia>
 
-2010-04-25 13:34  castaglia
+	* contrib/mod_sftp/packet.c: Have mod_sftp generate events when it
+	does network IO.
 
-	* 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-12-16  castaglia <castaglia>
 
-2010-04-24 20:21  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.
 
-	* contrib/mod_sftp/scp.c:
-	  Remove unused strlen(3) call.
+2010-12-15  castaglia <castaglia>
 
-2010-04-24 13:26  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm:
-	  Add unit test for CreateHome's skel parameter.
+2010-12-15  castaglia <castaglia>
 
-2010-04-23 09:10  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.
 
-	* src/: dirtree.c:
-	  Use updated patch for Bug#3446.
+2010-12-15  castaglia <castaglia>
 
-2010-04-23 09:05  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).
 
-	* NEWS, src/dirtree.c:
-	  Backport of fix for Bug#3446 to 1.3.3 branch.
+2010-12-15  castaglia <castaglia>
 
-2010-04-23 09:05  castaglia
+	* doc/contrib/mod_wrap2.html: Added documentation for the new
+	CheckAllNames WrapOption.
 
-	* NEWS, src/dirtree.c:
-	  Bug#3446 - .ftpaccess ignored in some cases.
+2010-12-15  castaglia <castaglia>
 
-	  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-22 17:54  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 09:15  castaglia
-
-	* doc/howto/Limit.html:
-	  Add an example of blocking renames.
-
-2010-04-21 11:15  castaglia
-
-	* doc/contrib/mod_sftp.html:
-	  Typo.
-
-2010-04-21 11:13  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.
 
-	* doc/contrib/mod_sftp.html:
-	  Add a "Known Client Issues" section to the mod_sftp docs.
+2010-12-15  castaglia <castaglia>
 
-2010-04-20 09:49  castaglia
+	* doc/modules/mod_core.html: Start working a mod_core.html doc, just
+	like we have for the other standard modules.
 
-	* contrib/mod_sftp/mod_sftp.c:
-	  Fix bug in the fix for Bug#3444 that was committed yesterday.
+2010-12-15  castaglia <castaglia>
 
-2010-04-19 20:44  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.
 
-	* NEWS, modules/mod_core.c:
-	  Bug#3443 - Deprecate the DisplayGoAway directive.
+2010-12-15  castaglia <castaglia>
 
-2010-04-19 20:26  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.
 
-	* NEWS:
-	  Make sure the NEWS file tracks the correct bug title for
-	  Bug#3445.
+2010-12-15  castaglia <castaglia>
 
-2010-04-19 20:23  castaglia
+	* modules/mod_auth.c: Make sure that the disconnecting of a client
+	because of the Protocols config happens at the right time.
 
-	* 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-12-15  castaglia <castaglia>
 
-2010-04-19 20:21  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.
 
-	* contrib/mod_sftp/kex.c:
-	  Update the copyright date for this file.
+2010-12-15  castaglia <castaglia>
 
-2010-04-19 20:20  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.
 
-	* 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.
+2010-12-15  castaglia <castaglia>
 
-	  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.
+	* 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-04-19 18:09  castaglia
+2010-12-15  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Make sure the statcache is cleared when handling STAT/FSTAT/LSTAT
-	  requests.
+	* 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-04-19 16:30  castaglia
+2010-12-14  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.
+	* doc/contrib/mod_wrap2.html: Add documentation for the new
+	WrapOptions directive, and the option added for Bug#3508.
 
-2010-04-19 15:16  castaglia
+2010-12-14  castaglia <castaglia>
 
-	* contrib/mod_sftp/mod_sftp.h.in:
-	  Update copyright date in the header, since we've modified the
-	  file this year.
+	* 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-04-19 15:16  castaglia
+2010-12-14  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.
+	* 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-04-19 13:10  castaglia
+2010-12-14  castaglia <castaglia>
 
-	* doc/howto/Logging.html:
-	  Add Logging FAQ about logging xferlog data to syslog.
+	* RELEASE_NOTES, doc/contrib/mod_sftp.html: Mention the new
+	SFTPServices directive in the docs.
 
-2010-04-18 11:42  castaglia
+2010-12-14  castaglia <castaglia>
 
-	* contrib/mod_sftp/utf8.c, src/encode.c:
-	  More notes to myself regarding possible encoding failures and
-	  their causes.
+	* 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-04-17 12:07  castaglia
+2010-12-13  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/serveradmin.t,
-	  t/lib/ProFTPD/Tests/Config/ServerAdmin.pm:
-	  Add regression tests for the ServerAdmin directive.
+	* 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-04-17 11:52  castaglia
+2010-12-13  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.
+	* 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-04-17 10:27  castaglia
+2010-12-11  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.
+	* 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.
 
-	  Add a regression test for this DisplayChdir configuration,
-	  providing that the time_t storage change still works properly.
+2010-12-11  castaglia <castaglia>
 
-2010-04-17 10:15  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.
 
-	* tests/: tests.pl, t/config/displaychdir.t,
-	  t/lib/ProFTPD/Tests/Config/DisplayChdir.pm,
-	  t/lib/ProFTPD/Tests/Config/DisplayLogin.pm:
-	  Added regression tests for DisplayChdir, and updated DisplayLogin
-	  tests, both as part of Bug#3423.
+2010-12-11  castaglia <castaglia>
 
-2010-04-17 10:11  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.
 
-	* modules/mod_core.c, src/display.c:
-	  Backported the additional fixes for Bug#3423, handling single
-	  line DisplayLogin and DisplayChdir files, and multiline
-	  DisplayChdir files.
+2010-12-11  castaglia <castaglia>
 
-2010-04-17 10:10  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.
 
-	* modules/mod_core.c, src/display.c:
-	  Additional fixes for Bug#3423, handling single line DisplayLogin
-	  and DisplayChdir files, and multiline DisplayChdir files.
+2010-12-11  castaglia <castaglia>
 
-2010-04-16 17:21  castaglia
+	* contrib/mod_deflate.c: The cause of Bug#3550 also occurred in the
+	mod_deflate code; fixing it here.
 
-	* 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-12-10  jwm <jwm>
 
-2010-04-16 15:22  castaglia
+	* contrib/mod_ldap.c: bzr r108:   Handle potential NULL return value from crypt(). (Bug #3551)
 
-	* contrib/mod_radius.c, contrib/mod_rewrite.c, contrib/mod_sql.c,
-	  contrib/mod_sftp/scp.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-12-10  castaglia <castaglia>
 
-2010-04-16 10:52  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.
 
-	* modules/mod_ls.c:
-	  Coding style nits; no functional change.
+2010-12-10  castaglia <castaglia>
 
-2010-04-16 10:45  castaglia
+	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Make SCP
+	honor/handle the TimeoutNoTransfer and TimeoutStalled timeouts
+	properly.
 
-	* doc/howto/Logging.html:
-	  Mention the configure option for Bug#3436 in the Logging howto's
-	  section on FIFOs.
+2010-12-10  castaglia <castaglia>
 
-2010-04-14 14:27  castaglia
+	* contrib/mod_sftp/fxp.c: Listing a directory via SFTP should reset
+	the TimeoutNoTransfer timer, as is done for FTP sessions.
 
-	* NEWS, modules/mod_core.c, src/dirtree.c, tests/tests.pl,
-	  tests/t/config/limit/opts.t,
-	  tests/t/lib/ProFTPD/Tests/Config/Limit/OPTS.pm:
-	  Bug#3438 - <Limit> configuration cannot be applied to OPTS
-	  command.
+2010-12-10  castaglia <castaglia>
 
-2010-04-14 14:04  castaglia
+	* modules/mod_xfer.c: The message logged for a TimeoutNoTransfer
+	should be protocol-specific, and not have "FTP" hardcoded.
 
-	* NEWS, src/encode.c:
-	  Backport of fix for Bug#3439 to 1.3.3 branch.
+2010-12-10  castaglia <castaglia>
 
-2010-04-14 14:04  castaglia
+	* src/main.c: Generate an event for parsed but
+	unhandled/unrecognized commands as well.
 
-	* NEWS, src/encode.c:
-	  Bug#3439 - Encoding fails if an NLS-enabled proftpd starts in a
-	  UTF8 locale.
+2010-12-10  castaglia <castaglia>
 
-2010-04-14 08:53  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.
 
-	* src/main.c:
-	  Stylistic nit.
+2010-12-10  castaglia <castaglia>
 
-2010-04-14 08:39  castaglia
+	* src/main.c: Generate an event whenever an invalid command (i.e. an
+	unparsable command) is received from the client.
 
-	* 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-12-10  castaglia <castaglia>
 
-2010-04-13 18:20  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.
 
-	* contrib/mod_sftp/scp.c:
-	  Silly typos in comment; no functional change.
+2010-12-09  castaglia <castaglia>
 
-2010-04-13 16:06  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).
 
-	* NEWS, contrib/mod_tls.c,
-	  tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Backport of fix for Bug#3437 to 1.3.3 branch.
+2010-12-09  castaglia <castaglia>
 
-2010-04-13 16:06  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.
 
-	* 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-12-09  castaglia <castaglia>
 
-2010-04-13 15:00  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.
 
-	* configure:
-	  Updated configure for Bug#3436.
+2010-12-09  castaglia <castaglia>
 
-2010-04-13 14:57  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).
 
-	* NEWS, config.h.in, configure.in, src/log.c:
-	  Backport of fix for Bug#3436 to 1.3.3 branch.
+2010-12-09  castaglia <castaglia>
 
-2010-04-13 14:57  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.
 
-	* 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-12-09  castaglia <castaglia>
 
-2010-04-13 09:39  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.
 
-	* contrib/mod_sftp/utf8.c, src/encode.c:
-	  Remove unused variables, and quell compiler warnings about
-	  "incompatible pointer types" on FreeBSD.
+2010-12-09  castaglia <castaglia>
 
-2010-04-13 08:35  castaglia
+	* modules/mod_xfer.c: Make a reminder comment to myself to handle
+	short writes to disk better.
 
-	* 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-12-08  castaglia <castaglia>
 
-2010-04-12 17:14  castaglia
+	* NEWS, contrib/mod_sftp/compress.c: Bug#3550 - SFTP compressed
+	uploads can cause corrupted uploaded files.
 
-	* contrib/mod_sftp/utf8.c, src/encode.c:
-	  Additional part of fix for Bug#3435.
+2010-12-08  castaglia <castaglia>
 
-2010-04-12 16:25  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add another
+	regression test for Bug#3550, this one using compressed SFTP
+	downloads.
 
-	* NEWS, contrib/mod_sftp/utf8.c, src/encode.c:
-	  Backport of fix for Bug#3435 to 1.3.3 branch.
+2010-12-08  castaglia <castaglia>
 
-2010-04-12 16:24  castaglia
+	* contrib/mod_sftp/fxp.c: Allocate a larger default buffer for
+	incoming packets, to handle WRITE packets better.
 
-	* NEWS, contrib/mod_sftp/utf8.c, src/encode.c:
-	  Bug#3435 - Encoding/decoding conversion can cause CPU spike.
+2010-12-08  castaglia <castaglia>
 
-2010-04-12 16:04  castaglia
+	* tests/t/etc/modules/mod_sftp/bug3550.php,
+	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding reproduction
+	recipe for Bug#3550.
 
-	* contrib/mod_sftp/utf8.c, src/encode.c:
-	  Make sure we reset any state contained in iconv_t before calling
-	  iconv(3).
+2010-12-07  castaglia <castaglia>
 
-2010-04-12 15:42  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.
 
-	* 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-12-07  castaglia <castaglia>
 
-2010-04-12 15:35  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).
 
-	* src/trace.c:
-	  Prevent a recurrence of Bug#3434 by treating a trace message
-	  level of zero as an invalid parameter.
+2010-12-04  castaglia <castaglia>
 
-2010-04-12 14:10  castaglia
+	* NEWS, contrib/mod_sftp/fxp.c: Bug#3548 - Null pointer segfault in
+	mod_sftp when handling aborted connection.
 
-	* src/fsio.c:
-	  Include the number of bytes being read/written in the trace
-	  messages for the read()/write() callbacks.
+2010-12-03  castaglia <castaglia>
 
-2010-04-12 13:57  castaglia
+	* contrib/mod_sql_sqlite.c: Fix logging of SQL query executing
+	error.
 
-	* 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.
+2010-12-03  castaglia <castaglia>
 
-	  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.
+	* 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-04-12 11:59  castaglia
+2010-12-02  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c, src/fsio.c:
-	  Bug#3434 - TraceLog contains messages even with "Trace DEFAULT:0"
-	  configured.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding reproduction
+	recipe for Bug#3544.
 
-2010-04-12 10:09  castaglia
+2010-12-01  castaglia <castaglia>
 
-	* NEWS, contrib/mod_exec.c,
-	  tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm:
-	  Backport of fix for Bug#3432 to 1.3.3 branch.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Adding
+	regression test for Bug#3547.
 
-2010-04-12 10:09  castaglia
+2010-12-01  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.
+	* NEWS, contrib/mod_ifsession.c, modules/mod_core.c: Bug#3547 -
+	Multiple AllowClass directives not handled properly.
 
-2010-04-12 09:13  castaglia
+2010-11-30  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Backport of fix for Bug#3427 to 1.3.3 branch.
+	* 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-04-12 09:12  castaglia
+2010-11-30  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Bug#3427 - mod_sftp does not handle recursive SCP uploads
-	  properly.
+	* NEWS, contrib/mod_sql.c: Bug#3536 - mod_sql has insufficient
+	bounds checking in sql_prepare_where() function.
 
-2010-04-11 17:26  castaglia
+2010-11-22  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Add mod_sftp FAQ about UserOwner/GroupOwner, and the need to use
-	  the RootRevoke directive.
+	* 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-04-11 17:14  castaglia
+2010-11-22  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add ExtendedLog
+	RETR test for SFTP downloads.
 
-2010-04-11 15:47  castaglia
+2010-11-22  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Minor style nits in stor_chown(); no functional changes.
+	* src/log.c: Make very sure that our logging buffer isn't exceeded.
 
-2010-04-11 14:50  castaglia
+2010-11-19  castaglia <castaglia>
 
-	* doc/howto/Tracing.html:
-	  Add a FAQ/example to the Tracing howto describing how to use
-	  Trace in mod_ifsession sections.
+	* tests/t/config/commandbuffersize.t,
+	tests/t/lib/ProFTPD/Tests/Config/CommandBufferSize.pm,
+	tests/tests.pl: Adding tests for the CommandBufferSize directive.
 
-2010-04-11 14:44  castaglia
+2010-11-19  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c, tests/tests.pl, tests/t/config/trace.t,
-	  tests/t/lib/ProFTPD/Tests/Config/Trace.pm:
-	  Bug#3428 - Honor the Trace directive in mod_ifsession sections.
+	* 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).
 
-	  Unit/regression tests for this feature have also been added to
-	  the testsuite.
+2010-11-16  castaglia <castaglia>
 
-2010-04-09 14:50  castaglia
+	* src/timers.c: Make sure we reset the dynamic_timerno static
+	variable when (re)initializing the Timers API as well.
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Backport of fix for Bug#3425 to 1.3.3 branch.
+2010-11-16  castaglia <castaglia>
 
-2010-04-09 14:49  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.
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Bug#3425 - Improperly constructed destination paths for SCP
-	  uploads.
+2010-11-16  castaglia <castaglia>
 
-2010-04-09 11:26  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.
 
-	* NEWS, contrib/mod_sftp/auth.c:
-	  Backport of fix for Bug#3426 to 1.3.3 branch.
+2010-11-16  castaglia <castaglia>
 
-2010-04-09 11:25  castaglia
+	* contrib/dist/rpm/proftpd.spec: Make sure that mod_facts is listed
+	in the .spec file.
 
-	* NEWS, contrib/mod_sftp/auth.c:
-	  Bug#3426 - mod_sftp does not log to TransferLog by default.
+2010-11-16  castaglia <castaglia>
 
-2010-04-09 09:13  castaglia
+	* src/scoreboard.c: Don't forget to delete the ScoreboardMutex file
+	as well.
 
-	* contrib/mod_sftp/scp.c:
-	  Backport of errno caching, so that the proper error is reported.
+2010-11-15  castaglia <castaglia>
 
-2010-04-09 09:12  castaglia
+	* include/scoreboard.h: Additional comments for the scoreboard entry
+	fields.
 
-	* contrib/mod_sftp/scp.c:
-	  Cache errno in a few more places, so that the proper error is
-	  reported.
+2010-11-14  castaglia <castaglia>
 
-2010-04-08 17:48  castaglia
+	* NEWS: Mention the automatic setting of ScoreboardMutex when
+	ScoreboardFile is used.
 
-	* 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-11-14  castaglia <castaglia>
 
-2010-04-08 16:05  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.
 
-	* src/mkhome.c:
-	  Stylistic cleanup/changes; no functional changes.
+2010-11-14  castaglia <castaglia>
 
-2010-04-08 15:58  castaglia
+	* tests/t/config/transferrate.t,
+	tests/t/lib/ProFTPD/Tests/Config/TransferRate.pm, tests/tests.pl: 
+	Adding unit tests for the TransferRate directive.
 
-	* doc/howto/CreateHome.html:
-	  Typo.
+2010-11-14  castaglia <castaglia>
 
-2010-04-07 16:47  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.
 
-	* 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-11-13  castaglia <castaglia>
 
-2010-04-07 16:30  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding a few more
+	FTPS regression tests.
 
-	* 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-11-13  castaglia <castaglia>
 
-2010-04-07 16:30  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_site.pm: Quell minor perl
+	compiler warning about redeclared variable.
 
-	* NEWS, include/display.h, modules/mod_auth.c, modules/mod_core.c,
-	  modules/mod_xfer.c, src/display.c, src/main.c:
-	  Backport of fix for Bug#3423 to 1.3.3 branch.
+2010-11-11  castaglia <castaglia>
 
-2010-04-07 16:29  castaglia
+	* modules/mod_site.c: Add some trace logging for when SITE
+	CHGRP/CHMOD fail.
 
-	* 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-11-11  castaglia <castaglia>
 
-2010-04-07 15:55  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.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/: mod_deflate.pm, mod_exec.pm,
-	  mod_quotatab_sql.pm, mod_sql_sqlite.pm, 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-11-11  castaglia <castaglia>
 
-2010-04-07 15:52  castaglia
+	* doc/howto/Scoreboard.html: Add mention of the new ScoreboardMutex
+	directive in the Scoreboard howto.
 
-	* tests/t/lib/ProFTPD/Tests/: Config/FTPAccess/Empty.pm,
-	  Config/FTPAccess/Merging.pm, Config/FTPAccess/RETR.pm,
-	  Logging/ExtendedLog.pm, Logging/TransferLog.pm:
-	  Use a timeout of 30 secs when reading from data connections, to
-	  avoid spurious testsuite errors.
+2010-11-11  castaglia <castaglia>
 
-2010-04-07 15:49  castaglia
+	* RELEASE_NOTES: Updating release notes.
 
-	* tests/t/lib/ProFTPD/Tests/Config/: DirFakeMode.pm,
-	  DisplayFileTransfer.pm, HiddenStores.pm, HideFiles.pm,
-	  HideGroup.pm, HideNoAccess.pm, HideUser.pm,
-	  MaxRetrieveFileSize.pm, TimeoutNoTransfer.pm, TimeoutStalled.pm,
-	  UseGlobbing.pm:
-	  Use a timeout of 30 secs when reading from a data connection;
-	  this avoids spurious testsuite errors.
+2010-11-11  castaglia <castaglia>
 
-2010-04-07 15:45  castaglia
+	* NEWS, include/scoreboard.h, modules/mod_core.c, src/scoreboard.c: 
+	Bug#3208 - Improve ScoreboardFile performance under load.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/: ABOR.pm, LIST.pm, MLSD.pm,
-	  NLST.pm, REST.pm, RETR.pm:
-	  When reading from a data connection, use a timeout of 30 secs;
-	  this helps prevent/avoid spurious testsuite errors.
+2010-11-10  castaglia <castaglia>
 
-2010-04-07 15:35  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.
 
-	* src/main.c:
-	  Add trace logging of when the response chains are flushed during
-	  the command dispatch cycle.
+2010-11-10  castaglia <castaglia>
 
-2010-04-05 16:51  castaglia
+	* NEWS: Mention the new "OldProtocolCompat" SFTPOption in the NEWS
+	file.
 
-	* utils/ftpcount.c:
-	  Fix a pedantic memory leak spotted by cppcheck.  Also fixes the
-	  code style in a few places.
+2010-11-09  castaglia <castaglia>
 
-2010-04-05 16:13  castaglia
+	* doc/howto/Limit.html: Add an example of user-specific login denied
+	by a specific IP address.
 
-	* contrib/mod_sftp/: mac.c:
-	  Scrub the key memory area before freeing it.
+2010-11-09  castaglia <castaglia>
 
-2010-04-05 15:26  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.
 
-	* contrib/mod_sftp/: mac.c:
-	  Running cppcheck found a memory leak where we aren't freeing up
-	  malloc()'d memory on MAC errors.
+2010-11-09  castaglia <castaglia>
 
-2010-04-05 11:18  castaglia
+	* NEWS, contrib/mod_quotatab.c: Bug#3531 - mod_quotatab contains
+	duplicate EDQUOT errno code.
 
-	* 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-11-09  castaglia <castaglia>
 
-2010-04-04 16:57  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.
 
-	* contrib/mod_sftp/mod_sftp.h.in:
-	  Add more explanation about the assumptions involved in
-	  registering an 'exec' channel handler.
+2010-11-09  castaglia <castaglia>
 
-2010-04-04 16:56  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Start adding
+	tests for the mod_sql_passwd functionality requested in Bug#3500.
 
-	* contrib/mod_sftp/channel.c:
-	  Add more trace logging around the searching and invoking of
-	  registered 'exec' channel handlers.
+2010-11-09  castaglia <castaglia>
 
-2010-04-02 17:52  castaglia
+	* src/netio.c: Stylistic nits; no functional change.
 
-	* src/main.c:
-	  Make sure that premature SIGALRMs don't kill us; we want to
-	  ignore SIGALRM unless we've registered a timer.
+2010-11-09  castaglia <castaglia>
 
-2010-04-02 15:29  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.
 
-	* 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-11-09  castaglia <castaglia>
 
-2010-04-01 18:31  castaglia
+	* tests/t/lib/ProFTPD/Tests/Telnet.pm: Correct the bug number for
+	this unit/regression test.
 
-	* modules/mod_lang.c:
-	  Log the reason why the LANG command is denied after a client has
-	  authenticated.
+2010-11-08  castaglia <castaglia>
 
-2010-04-01 11:35  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_copy.pm: Fix broken mod_copy
+	unit test.
 
-	* NEWS, contrib/mod_tls.c:
-	  Backport of fix for Bug#3419 to 1.3.3 branch.
+2010-11-08  castaglia <castaglia>
 
-2010-04-01 11:34  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.
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3419 - SSL_shutdown() errors with openssl-0.9.8m.
+2010-11-08  castaglia <castaglia>
 
-2010-03-31 15:41  castaglia
+	* contrib/mod_sql.c: Stylistic nit; no functional change.
 
-	* doc/contrib/mod_sftp.html:
-	  Update the mod_sftp doc, removing DirFakeUser/DirFakeGroup from
-	  the list of unsupported features.
+2010-11-08  castaglia <castaglia>
 
-2010-03-31 15:40  castaglia
+	* contrib/mod_sql.c, include/display.h, src/display.c: Fixing
+	regression in handling of SQLShowInfo, caused by fix for Bug#3423.
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Bug#3413 - Support DirFakeUser, DirFakeGroup for SFTP
-	  connections.
+2010-11-08  castaglia <castaglia>
 
-2010-03-31 10:38  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.
 
-	* 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.
+2010-11-07  castaglia <castaglia>
 
-	  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.
+	* tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm: Add regression
+	test/reproduction recipe for Bug#3530.
 
-2010-03-31 10:37  castaglia
+2010-11-07  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/auth.c:
-	  Backport of fix for Bug#3421 to the 1.3.3 branch.
+	* 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-03-31 09:22  castaglia
+2010-11-06  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Add regression test for Bug#3420.
+	* NEWS, RELEASE_NOTES, modules/mod_xfer.c: Bug#3310 - UseSendfile
+	should be supported in <Directory> and .ftpaccess sections.
 
-2010-03-30 14:20  castaglia
+2010-11-06  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.
+	* 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-03-30 14:17  castaglia
+2010-11-06  castaglia <castaglia>
 
-	* NEWS, src/table.c:
-	  Backport of fix for Bug#3418 to the 1.3.3 maintenance branch.
+	* tests/t/lib/ProFTPD/Tests/Config/UseSendfile.pm: Adding a bunch of
+	UseSendfile tests for the functionality being added for Bug#3310.
 
-2010-03-30 14:17  castaglia
+2010-11-05  castaglia <castaglia>
 
-	* NEWS, src/table.c:
-	  Bug#3418 - %U sometimes showing up as "(none)" in ExtendedLog.
+	* 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.
 
-	  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-11-05  castaglia <castaglia>
 
-2010-03-30 10:00  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm: Updating
+	multiline DisplayConnect regression test for changes due to
+	Bug#3423.
 
-	* tests/t/: etc/modules/mod_deflate/proftpd.bin,
-	  lib/ProFTPD/Tests/Modules/mod_deflate.pm:
-	  Removing extraneous mod_deflate test file; updating tests for new
-	  location as part of normal testsuite.
+2010-11-05  castaglia <castaglia>
 
-2010-03-25 10:37  castaglia
+	* include/display.h: Typo.
 
-	* NEWS, utils/ftpcount.c, utils/ftpscrub.c, utils/ftptop.c,
-	  utils/ftpwho.c, utils/misc.c, utils/utils.h:
-	  Backport of patch for Bug#3417 to 1.3.3 branch.
+2010-11-05  castaglia <castaglia>
 
-2010-03-25 10:37  castaglia
+	* NEWS, modules/mod_ls.c: Bug#3529 - "LIST /*" now lists more than
+	the expected directory.
 
-	* 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-11-05  castaglia <castaglia>
 
-2010-03-22 16:24  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding reproduction
+	recipes/regression tests for Bug#3529.
 
-	* contrib/mod_tls.c:
-	  Backport of the handling of WANT_READ/WANT_WRITE error codes from
-	  SSL_shutdown().
+2010-11-05  castaglia <castaglia>
 
-2010-03-22 16:24  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?).
 
-	* src/scoreboard.c:
-	  Backport the fix of a possible fd leak when scrubbing the
-	  scoreboard.
+2010-11-05  castaglia <castaglia>
 
-2010-03-22 16:21  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.
 
-	* src/scoreboard.c:
-	  Make sure we don't leak an fd when scrubbing the scoreboard and
-	  we fail to lock the entire scoreboard.
+2010-11-04  castaglia <castaglia>
 
-2010-03-19 14:21  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/Directory/Lookups.pm: Add unit
+	test for reproducing the slow/CPU-eating behavior indicated in
+	Bug#3526.
 
-	* 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-11-04  castaglia <castaglia>
 
-2010-03-19 14:19  castaglia
+	* src/dirtree.c: Cleanup some stylistic nits found in src/dirtree.c,
+	found while investigating Bug#3526.  Also add some necessary signal
+	handling.
 
-	* doc/howto/DisplayFiles.html:
-	  Add a FAQ about Display files whose names contain spaces.
+2010-11-04  castaglia <castaglia>
 
-2010-03-19 09:36  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.
 
-	* 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-11-02  castaglia <castaglia>
 
-2010-03-18 10:49  castaglia
+	* NEWS, src/log.c: Bug#3525 - Default syslog logging causes logging
+	to the wrong syslog facilities.
 
-	* NEWS, contrib/mod_dynmasq.c:
-	  Bug#3411 - Support ftpdctl action to manually request a
-	  mod_dynmasq refresh.
+2010-11-01  castaglia <castaglia>
 
-2010-03-17 13:52  castaglia
+	* RELEASE_NOTES: Updating release notes.
 
-	* NEWS, modules/mod_facts.c,
-	  tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm:
-	  Bug#3318 - MLSD should indicate symlinks if ShowSymlinks is
-	  enabled.
+2010-11-01  castaglia <castaglia>
 
-2010-03-15 11:32  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.
 
-	* doc/contrib/mod_sftp.html:
-	  Another mod_sftp FAQ.
+2010-10-30  castaglia <castaglia>
 
-2010-03-13 17:52  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.
 
-	* src/wtmp.c:
-	  Forgot to update the copyright date on this file.
+2010-10-29  castaglia <castaglia>
 
-2010-03-13 17:51  castaglia
+	* contrib/mod_sftp/packet.c: Add trace logging of unknown disconnect
+	reason codes.
 
-	* NEWS, src/wtmp.c:
-	  Bug#3409 - Build failure on newer FreeBSD due to utmp/utmpx
-	  system changes.
+2010-10-29  castaglia <castaglia>
 
-2010-03-13 17:46  castaglia
+	* contrib/mod_sftp/packet.c: Make sure we handle unknown disconnect
+	reason code properly (Bug#3522).
 
-	* NEWS, src/wtmp.c:
-	  Bug#3409 - Build failure on newer FreeBSD due to utmp/utmpx
-	  system changes.
+2010-10-29  castaglia <castaglia>
 
-2010-03-13 16:52  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.
 
-	* 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-10-29  castaglia <castaglia>
 
-2010-03-13 16:47  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.
 
-	* 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-10-29  castaglia <castaglia>
 
-2010-03-13 16:46  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.
 
-	* include/memcache.h:
-	  Fix some pesky compiler warnings about shadowed 'pool'
-	  declarations.
+2010-10-29  castaglia <castaglia>
 
-2010-03-12 17:41  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).
 
-	* 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-10-29  castaglia <castaglia>
 
-2010-03-11 16:34  castaglia
+	* NEWS, src/netio.c: Bug#3521 - Telnet IAC processing stack
+	overflow.
 
-	* NEWS, modules/mod_core.c:
-	  Bug#3412 - Include files not included after restart due to
-	  permissions.
+2010-10-27  castaglia <castaglia>
 
-2010-03-11 16:15  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.
 
-	* configure:
-	  Updated configure.
+2010-10-27  castaglia <castaglia>
 
-2010-03-11 16:13  castaglia
+	* tests/t/config/multilinerfc2228.t,
+	tests/t/lib/ProFTPD/Tests/Config/MultilineRFC2228.pm,
+	tests/tests.pl: Adding unit tests for the MultilineRFC2228
+	directive.
 
-	* 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-10-24  castaglia <castaglia>
 
-2010-03-11 10:12  castaglia
+	* lib/pr_fnmatch_loop.c: Try to avoid more non-gcc compiler
+	unhappiness.
 
-	* contrib/mod_deflate.c:
-	  Missing break statements.
+2010-10-24  castaglia <castaglia>
 
-2010-03-10 11:24  castaglia
+	* lib/pr_fnmatch.c: Try to make non-gcc compilers happier by
+	providing a __builtin_expect macro definition for them.
 
-	* contrib/mod_copy.c:
-	  Updated mod_copy to reflect the xferlog_write() changes.
+2010-10-23  castaglia <castaglia>
 
-2010-03-10 11:21  castaglia
+	* include/compat.h: Make sure to have a compatibility macro for the
+	renamed is_fnmatch() function.
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_copy.pm,
-	  t/modules/mod_copy.t:
-	  Added unit/regression tests for mod_copy.
+2010-10-23  castaglia <castaglia>
 
-2010-03-10 11:20  castaglia
+	* tests/api/netacl.c: Updated unit tests for NetACL parsing changes.
 
-	* NEWS, RELEASE_NOTES, contrib/mod_copy.c,
-	  doc/contrib/mod_copy.html:
-	  Added mod_copy to the contrib modules area.
+2010-10-23  castaglia <castaglia>
 
-2010-03-10 11:14  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.
 
-	* 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-10-22  castaglia <castaglia>
 
-2010-03-10 09:23  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.
 
-	* 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-10-21  castaglia <castaglia>
 
-2010-03-10 09:04  castaglia
+	* doc/contrib/mod_site_misc.html: Update mod_site_misc docs for new
+	SiteMiscEngine directive.
 
-	* NEWS, contrib/mod_radius.c:
-	  Bug#3371 - Group limits in <LIMIT LOGIN> blocks won't work with
-	  RADIUS-supplied groups.
+2010-10-21  castaglia <castaglia>
 
-2010-03-10 08:53  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.
 
-	* NEWS, contrib/mod_radius.c:
-	  Bug#3373 - RadiusGroupInfo should not require that both names and
-	  IDs be VSAs.
+2010-10-20  castaglia <castaglia>
 
-2010-03-10 08:43  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.
 
-	* doc/contrib/mod_ban.html:
-	  Update mod_ban docs to include mention of new -s command-line
-	  option for ban/permit ftpdctl actions.
+2010-10-20  castaglia <castaglia>
 
-2010-03-10 08:14  castaglia
+	* contrib/mod_quotatab.c: Clear the "have update" flag in a few more
+	places, just to be sure.
 
-	* 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-10-20  castaglia <castaglia>
 
-2010-03-10 07:59  castaglia
+	* contrib/mod_quotatab.c: Make sure the "have update" flag is
+	cleared properly for DELEs; related to Bug#3517.
 
-	* tests/: tests.pl, t/etc/modules/mod_deflate/proftpd.bin,
-	  t/etc/modules/mod_deflate/test_50mb.bin,
-	  t/etc/modules/mod_deflate/zmode.pdf,
-	  t/lib/ProFTPD/Tests/Modules/mod_deflate.pm,
-	  t/modules/mod_deflate.t:
-	  Adding unit/regression tests for mod_deflate.
+2010-10-20  castaglia <castaglia>
 
-2010-03-10 07:56  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.
 
-	* NEWS, RELEASE_NOTES, contrib/mod_deflate.c,
-	  doc/contrib/mod_deflate.html:
-	  Adding mod_deflate to the contrib module area.
+2010-10-20  castaglia <castaglia>
 
-2010-03-10 07:54  castaglia
+	* doc/contrib/mod_sftp.html: Mention the space-avaiable SFTP
+	extension in the SFTPExtensions doc.
 
-	* contrib/mod_sql.c:
-	  There's no reason for the caches used by mod_sql to be visible
-	  outside of that file.
+2010-10-20  castaglia <castaglia>
 
-2010-03-10 07:07  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>
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3374 - TLSVerifyClient and TLSOptions NoCertRequest are
-	  incompatible.
+	* README.LDAP: update from latest mod_ldap bzr
 
-2010-03-10 06:52  castaglia
+2010-10-15  jwm <jwm>
 
-	* 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.
+	* 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-03-09 22:03  castaglia
+2010-10-14  jwm <jwm>
 
-	* src/inet.c:
-	  Removed development/debug logging.
+	* 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-03-09 11:39  castaglia
+2010-10-14  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* contrib/mod_sftp/fxp.c: Handle quota-related errno values in the
+	OPEN request handler.
 
-2010-03-09 11:37  castaglia
+2010-10-14  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.
+	* contrib/mod_quotatab.c: Make sure that the STOR and APPE handlers
+	set errno appropriately, when the quota are reached.
 
-2010-03-08 18:38  castaglia
+2010-10-07  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.
+	* NEWS, modules/mod_cap.c: Bug#3513 - EPERM error logged
+	unnecessarily for SFTP logins on Linux.
 
-	  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.
+2010-10-06  castaglia <castaglia>
 
-	  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.
+	* 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-03-08 17:48  castaglia
+2010-10-06  castaglia <castaglia>
 
-	* src/inet.c:
-	  Use the proper socket option level consistently when setting the
-	  TCP_NODELAY option.
+	* doc/contrib/mod_tls.html: Document the newly added (Bug#3512)
+	CommonNameRequired TLSOption.
 
-2010-03-08 14:17  castaglia
+2010-10-06  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* 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-03-08 14:13  castaglia
+2010-10-06  castaglia <castaglia>
 
-	* NEWS, config.h.in, configure.in, include/conf.h:
-	  Bug#3408 - Use <termios.h> instead of <sys/termios.h> where
-	  possible.
+	* 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-03-08 14:12  castaglia
+2010-09-29  castaglia <castaglia>
 
-	* NEWS:
-	  Forgot to keep the NEWS file up-to-date in the 1.3.3 branch.
+	* 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-03-08 11:18  castaglia
+2010-09-28  jwm <jwm>
 
-	* configure:
-	  Updated configure.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ldap.pm: honor $allow_auth
+	in ldap_auth() test
 
-2010-03-08 11:15  castaglia
+2010-09-28  castaglia <castaglia>
 
-	* NEWS, configure.in:
-	  Bug#2768 - Provide --with-mysql-config/--with-postgres-config
-	  build options.
+	* RELEASE_NOTES: Make sure to mention the new NoErrorIfAbsent
+	ListOption, from Bug#3506, in the release notes.
 
-2010-03-08 10:28  castaglia
+2010-09-28  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.
+	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-03-08 09:30  castaglia
+2010-09-24  castaglia <castaglia>
 
-	* NEWS, include/netaddr.h, src/inet.c, src/netaddr.c:
-	  Bug#2196 - Handle IPv4-mapped IPv6 addresses as IPv4 addresses.
+	* doc/contrib/mod_sftp.html: Update the mod_sftp docs to note that
+	all SFTPOptions must appear on the same line.
 
-2010-03-06 11:32  castaglia
+2010-09-20  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.
+	* doc/contrib/mod_sql_passwd.html: Doc typos (missing line breaks).
 
-2010-03-06 10:28  castaglia
+2010-09-17  castaglia <castaglia>
 
-	* src/stash.c:
-	  Remove some development/testing cruft.
+	* 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-03-06 10:01  castaglia
+2010-09-17  castaglia <castaglia>
 
-	* tests/: Makefile.in, api/modules.c, api/stash.c, api/tests.c,
-	  api/tests.h:
-	  Updated API tests to reflect changed location of stash code.
+	* contrib/mod_tls.c: Minor tweaks to the log message about the
+	NoSessionUseRequired TLSOptions parameter.
 
-2010-03-06 09:42  castaglia
+2010-09-16  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.
+	* 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-03-06 09:26  castaglia
+2010-09-16  castaglia <castaglia>
 
-	* src/modules.c:
-	  Removed unused/dead callback typedef.
+	* 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-03-05 15:08  castaglia
+2010-09-15  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ban.c:
-	  Bug#3393 - Specify the <VirtualHost> when using 'ban' or 'permit'
-	  ftpdctl actions.
+	* RELEASE_NOTES, doc/contrib/mod_sftp.html: Add docs for the new
+	SFTPClientAlive directive.
 
-2010-03-05 14:40  castaglia
+2010-09-15  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.
+	* 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-03-04 15:26  castaglia
+2010-09-14  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ban.c:
-	  Bug#3392 - Display <VirtualHost> information in 'ban info'
-	  ftpdctl action response.
+	* modules/mod_delay.c: Adding yet more trace logging to mod_delay.
 
-2010-03-04 15:18  castaglia
+2010-09-14  castaglia <castaglia>
 
-	* contrib/mod_sftp/channel.c:
-	  Add a little more trace logging to the handling of SSH2 channel
-	  data.
+	* modules/mod_delay.c: Adding more trace logging to mod_delay.
 
-2010-03-04 15:14  castaglia
+2010-09-14  castaglia <castaglia>
 
-	* contrib/mod_sftp/msg.c:
-	  Initialize these variables pedantically.
+	* 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-03-04 15:05  castaglia
+2010-09-13  castaglia <castaglia>
 
-	* contrib/mod_sftp/msg.c:
-	  Log data lengths as unsigned longs for size_t, not unsigned ints.
+	* src/mkhome.c: Add support for trace logging of some of the
+	CreateHome workings.
 
-2010-03-04 14:11  castaglia
+2010-09-10  castaglia <castaglia>
 
-	* doc/contrib/mod_qos.html:
-	  Adding documentation for mod_qos (Bug#3353).
+	* 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-03-04 13:57  castaglia
+2010-09-08  castaglia <castaglia>
 
-	* README.modules, RELEASE_NOTES:
-	  Update docs with mention of mod_qos.
+	* contrib/mod_sftp/kex.c: Fixing marking of DH_GEX_INIT command
+	class to be AUTH.
 
-2010-03-04 13:52  castaglia
+2010-09-08  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.
+	* contrib/mod_ban.c, contrib/mod_sftp/scp.c, contrib/mod_tls.c: Fix
+	the getopt() resetting logic for HPUX11.
 
-2010-03-04 09:29  castaglia
+2010-09-07  castaglia <castaglia>
 
-	* tests/api/: scoreboard.c, str.c:
-	  Update failing scoreboard API test.  Add new sreplace API test.
+	* modules/mod_auth.c: Forgot to allocate space for another pointer
+	in the CreateHome config_rec.
 
-2010-03-04 09:27  castaglia
+2010-09-07  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.
+	* configure: Updated configure.
 
-2010-03-03 17:27  castaglia
+2010-09-07  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.
+	* 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-03-03 17:25  castaglia
+2010-09-07  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Avoid compiler warning about uninitialized variable.
+	* 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-03-03 17:15  castaglia
+2010-09-07  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Avoid compiler warning about unitialized variable.
+	* configure: Updated configure.
 
-2010-03-03 16:30  castaglia
+2010-09-07  castaglia <castaglia>
 
-	* src/throttle.c:
-	  Remove an unused variable.
+	* 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-03-03 15:10  castaglia
+2010-09-03  castaglia <castaglia>
 
-	* contrib/mod_quotatab_file.c, contrib/mod_shaper.c,
-	  contrib/mod_sftp/rfc4716.c, modules/mod_delay.c,
-	  src/scoreboard.c, utils/scoreboard.c:
-	  Check the lseek(2) return value in more places.
+	* doc/howto/CreateHome.html: Updated the CreateHome howto to
+	describe the new 'homegid' parameter.
 
-2010-03-03 09:40  castaglia
+2010-09-03  castaglia <castaglia>
 
-	* include/options.h:
-	  4K for an environ variable value might be a bit excessive; let's
-	  use 2K.
+	* 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-03-03 08:56  castaglia
+2010-09-02  castaglia <castaglia>
 
-	* include/options.h, src/env.c, src/proctitle.c:
-	  Set a limit on the maximum length of environment variable values.
+	* NEWS, src/parser.c,
+	tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm: Bug#3502 - Support
+	environment variables better in the config file.
 
-2010-03-03 08:24  castaglia
+2010-09-01  castaglia <castaglia>
 
-	* NEWS, src/fsio.c, tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm:
-	  Backport of fix (and regression tests) for Bug#3354.
+	* 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-03-03 08:23  castaglia
+2010-09-01  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.
+	* 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-03-02 17:01  castaglia
+2010-08-31  jwm <jwm>
 
-	* NEWS, src/log.c:
-	  Bug#3404 - SyslogLevel not applied to SystemLog.
+	* tests/tests.pl: get verbose output from Test::Harness, too
 
-2010-03-02 16:54  castaglia
+2010-08-31  jwm <jwm>
 
-	* NEWS, contrib/mod_sftp/mod_sftp.c:
-	  Bug#3405 - Multiple SFTPAuthorizedUserKeys stores causes segfault
-	  on 64-bit platforms.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ldap.pm,
+	tests/t/modules/mod_ldap.t: start mod_ldap test suite
 
-2010-03-02 16:53  castaglia
+2010-08-31  castaglia <castaglia>
 
-	* contrib/mod_sftp/rfc4716.c:
-	  Backport of the fix for handling of errno such that the proper
-	  error is logged when we fail to open a file-based authorized keys
-	  file.
+	* 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-03-02 16:53  castaglia
+2010-08-31  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.
+	* 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-03-02 11:03  castaglia
+2010-08-30  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp_sql.html:
-	  Update the mod_sftp_sql doc to mention where to find the latest
-	  version.
+	* NEWS, src/auth.c: Bug#3501 - <Anonymous> logins with
+	"AuthAliasOnly on" still handled as anonymous logins.
 
-2010-03-02 10:36  castaglia
+2010-08-27  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ban.c:
-	  Bug#3339 - Support ban rule for clients which login too
-	  frequently.
+	* tests/t/lib/ProFTPD/Tests/Config/AuthAliasOnly.pm: 
+	Regression/reproduction tests for Bug#3501.
 
-2010-03-02 10:24  castaglia
+2010-08-27  castaglia <castaglia>
 
-	* NEWS, locale/Makefile.in, locale/ja_JP.po:
-	  Bug#3400 - Add Japanese translation.
+	* tests/t/lib/ProFTPD/Tests/Logins.pm: Missing testcase tag.
 
-2010-03-02 10:24  castaglia
+2010-08-26  jwm <jwm>
 
-	* locale/ja_JP.po: file ja_JP.po was added on branch B1_3_3 on
-	  2010-03-02 18:24:24 +0000
+	* 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-03-02 10:07  castaglia
+2010-08-18  jwm <jwm>
 
-	* NEWS, modules/mod_facts.c:
-	  Bug#3403 - File upload followed by MLSD leads to wrong file size
-	  entries in TransferLog.
+	* contrib/mod_ldap.c: mod_ldap bzr r103:   fix handling of LDAPGroups directive
 
-2010-03-02 09:52  castaglia
+2010-08-17  jwm <jwm>
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3402 - mod_tls does not compile with pre-0.9.7 OpenSSL due to
-	  Bug#3349.
+	* 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-03-02 09:33  castaglia
+2010-08-14  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/crypto.c:
-	  Bug#3401 - mod_sftp does not compile with pre-0.9.7 OpenSSL.
+	* 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-02-28 09:13  jwm
+2010-08-14  castaglia <castaglia>
 
-	* 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
+	* 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-02-24 18:16  castaglia
+2010-08-13  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.
+	* 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-02-24 17:49  castaglia
+2010-08-11  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/Limit/MFMT.pm:
-	  Remove development cruft.
+	* 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-02-24 16:51  castaglia
+2010-08-10  castaglia <castaglia>
 
-	* doc/howto/Versioning.html:
-	  Fix typo, update example.
+	* RELEASE_NOTES: Updated release notes.
 
-2010-02-24 15:21  castaglia
+2010-08-10  castaglia <castaglia>
 
-	* NEWS, modules/mod_facts.c,
-	  tests/t/lib/ProFTPD/Tests/Commands/MLST.pm:
-	  Bug#3302 - MLST response should include full path name.
+	* doc/contrib/ftpmail.html: Update the ftpmail doc with mention of
+	the new --auth command-line option.
 
-2010-02-24 15:19  castaglia
+2010-08-10  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.
+	* NEWS, contrib/ftpmail: Bug#3495 - Support SMTP authentication in
+	the ftpmail Perl script.
 
-2010-02-24 15:18  castaglia
+2010-08-10  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3365 - First certificate in TLSCertificateChainFile is
-	  skipped.
+	* doc/modules/mod_lang.html: Start on a FAQ section for the mod_lang
+	docs.
 
-2010-02-24 15:14  castaglia
+2010-08-09  castaglia <castaglia>
 
-	* NEWS, contrib/mod_site_misc.c, modules/mod_facts.c,
-	  tests/tests.pl, tests/t/config/limit/mfmt.t,
-	  tests/t/lib/ProFTPD/Tests/Config/Limit/MFMT.pm:
-	  Bug#3399 - <Limit> statement does not restore access to MFMT
-	  commands.
+	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Remove development
+	cruft.
 
-2010-02-24 11:14  castaglia
+2010-08-09  castaglia <castaglia>
 
-	* doc/contrib/index.html:
-	  Updated index of contrib module docs.
+	* 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-02-24 10:38  castaglia
+2010-08-09  castaglia <castaglia>
 
-	* include/version.h:
-	  Updated for CVS.
+	* contrib/mod_rewrite.c: Fix harmless misspelling.
 
-2010-02-24 09:58  castaglia
+2010-08-06  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updated ChangeLog.
+	* 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-02-24 09:54  castaglia
+2010-08-05  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec,
-	  include/version.h:
-	  Preparing for release of 1.3.3-stable.
+	* 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-02-24 09:25  castaglia
+2010-08-04  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updated ChangeLog.
+	* src/dirtree.c,
+	tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Additional fix,
+	and regression test, for Bug#3491.
 
-2010-02-24 09:24  castaglia
+2010-08-04  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec,
-	  include/version.h:
-	  Preparing for release of 1.3.2e.
+	* 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-02-24 08:48  castaglia
+2010-08-03  jwm <jwm>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Quell Perl interpreter warnings about redeclared variables.
+	* contrib/mod_ldap.c: mod_ldap bzr r101   release 2.8.23
 
-2010-02-24 08:46  castaglia
+2010-08-03  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm:
-	  Quell some Perl interpreter warnings about redeclared variables.
+	* 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-02-24 08:20  castaglia
+2010-08-03  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm:
-	  Quell Perl interpreter warning about "useless use of private
-	  variable in void context".
+	* doc/contrib/mod_sftp.html: Updating SFTPOptions doc to mention new
+	MatchKeySubject value, added for Bug#3493.
 
-2010-02-23 10:01  castaglia
+2010-08-02  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.
+	* 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>
 
-2010-02-23 09:06  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.
 
-	* modules/mod_ls.c:
-	  Make sure that the pluralization of "paths" matches the count
-	  displayed in the log message.
+2010-07-29  castaglia <castaglia>
 
-2010-02-22 09:01  castaglia
+	* NEWS, src/dirtree.c,
+	tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Bug#3491 -
+	Directory pattern not matching as expected.
 
-	* NEWS, contrib/mod_ban.c:
-	  Bug#3389 - Cannot create mod_ban whitelists using <Class> and
-	  <IfClass> sections.
+2010-07-27  castaglia <castaglia>
 
-2010-02-22 08:55  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: More feature
+	tests for mod_wrap2, based on questions from the online forums.
 
-	* 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.
+2010-07-27  castaglia <castaglia>
 
-	  The solution to this is simple: make a deep copy.
+	* NEWS, modules/mod_auth.c: Bug#3482 - ProFTPD corrupts utmpx log
+	files on FreeBSD 9.0/HEAD.
 
-2010-02-21 14:34  castaglia
+2010-07-23  castaglia <castaglia>
 
-	* contrib/mod_sftp/rfc4716.c:
-	  Support use of FIFOs as SFTPAuthorized{Host,User}Keys files.
+	* NEWS: Typo.
 
-2010-02-21 11:51  castaglia
+2010-07-21  castaglia <castaglia>
 
-	* src/inet.c:
-	  Log if getsockname(2) returns an error.
+	* contrib/mod_sftp/interop.c: Quell compiler warning about possibly
+	using an uninitialized value.
 
-2010-02-21 10:04  castaglia
+2010-07-20  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Handle an edge case/regression from the fix for Bug#3337.
+	* 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-02-21 10:04  castaglia
+2010-07-20  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Handle an edge case/regression from Bug#3337.
+	* 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-02-19 10:23  castaglia
+2010-07-20  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Slightly better logging of SSL session reuse for data
-	  connections.
+	* NEWS: Typo.
 
-2010-02-19 09:57  castaglia
+2010-07-20  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.
+	* src/data.c: Fix typo.
 
-2010-02-19 09:47  castaglia
+2010-07-16  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Fix some of the compiler warnings mentioned in Bug#3394.
+	* NEWS, src/main.c: Bug#3485 - Disabling IPv6 via -4 or --ipv4
+	command-line options does not work.
 
-2010-02-17 10:06  castaglia
+2010-07-15  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.
+	* 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-02-17 08:07  castaglia
+2010-07-15  castaglia <castaglia>
 
-	* doc/howto/Limit.html:
-	  Add blocking of STAT to "blind directory" example, per Bug#3391.
+	* 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-02-15 15:28  castaglia
+2010-07-13  castaglia <castaglia>
 
-	* doc/howto/SQL.html:
-	  Add SQL FAQ about encrypting the connections between mod_sql and
-	  the backend database server.
+	* doc/contrib/mod_ctrls_admin.html: Document the just-added 'ftpdctl
+	debug level' feature.
 
-2010-02-15 14:03  castaglia
+2010-07-13  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.
+	* contrib/mod_ctrls_admin.c: Make it possible to use 'ftpdctl debug
+	level' to query the currently set DebugLevel of the running daemon.
 
-2010-02-15 11:32  castaglia
+2010-07-08  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* NEWS, contrib/mod_sftp/fxp.c,
+	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3481 - Problem
+	with SFTP directory listings.
 
-2010-02-15 11:22  castaglia
+2010-07-05  castaglia <castaglia>
 
-	* configure.in:
-	  The various library directories need to be included in the
-	  `proftpd -V' output as well.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression
+	tests for mod_sftp's scanner/probe checks.
 
-2010-02-15 09:45  castaglia
+2010-07-05  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c:
-	  Backport the fix for Bug#3342.
+	* doc/contrib/mod_sftp.html: Document the new OldProtocolCompat
+	SFTPOption for Bug#3480.
 
-2010-02-15 08:36  castaglia
+2010-07-05  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.
+	* 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-02-13 16:36  castaglia
+2010-07-03  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.
+	* 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-02-13 16:19  castaglia
+2010-07-03  castaglia <castaglia>
 
-	* src/modules.c:
-	  Comment corrections.
+	* 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-02-12 17:45  castaglia
+2010-07-03  castaglia <castaglia>
 
-	* include/version.h:
-	  Updated version for CVS.
+	* 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-02-12 17:09  castaglia
+2010-07-03  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updated ChangeLog.
+	* configure: Updated configure.
 
-2010-02-12 17:08  castaglia
+2010-07-03  castaglia <castaglia>
 
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Updates for the 1.3.3rc4 release.
+	* 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-02-12 16:53  castaglia
+2010-07-03  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updated ChangeLog.
+	* 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-02-12 16:52  castaglia
+2010-07-03  castaglia <castaglia>
 
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Updates for 1.3.2d release.
+	* doc/contrib/mod_exec.html: Mention the newly added %A variable in
+	the mod_exec docs.
 
-2010-02-12 16:37  castaglia
+2010-07-03  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Preparing release notes for another RC.
+	* NEWS, contrib/mod_exec.c,
+	tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Bug#3479 - Support
+	anonymous username variable in mod_exec.
 
-2010-02-12 16:13  castaglia
+2010-06-30  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Start updating the 1.3.2 release notes for a maintenance release.
+	* 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-02-11 14:44  castaglia
+2010-06-30  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).
+	* 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-02-11 14:36  castaglia
+2010-06-30  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Minor code style cleanup, no functional change.
+	* modules/mod_core.c: Stylistic nits; no functional change.
 
-2010-02-11 14:35  castaglia
+2010-06-29  castaglia <castaglia>
 
-	* src/netacl.c:
-	  More trace logging of comparison of netacls.
+	* 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-02-10 22:30  castaglia
+2010-06-29  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.
+	* tests/t/etc/modules/mod_tls/NOTES: Reminder notes to myself for
+	generating the CRL and PKCS12 files.
 
-2010-02-10 15:29  castaglia
+2010-06-29  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.
+	* 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-02-10 13:45  castaglia
+2010-06-29  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.
+	* 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-02-10 12:54  castaglia
+2010-06-29  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.
+	* NEWS, RELEASE_NOTES, doc/contrib/index.html: Mention the new
+	mod_ifversion module.
 
-2010-02-10 12:50  castaglia
+2010-06-29  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.
+	* contrib/mod_ifversion.c, doc/contrib/mod_ifversion.html: Adding
+	mod_ifversion to the contrib/ modules area.
 
-2010-02-10 11:39  castaglia
+2010-06-28  castaglia <castaglia>
 
-	* doc/howto/Compiling.html:
-	  Slightly better/fuller example.
+	* RELEASE_NOTES: Minor formatting tweaks.
 
-2010-02-10 11:24  castaglia
+2010-06-28  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* RELEASE_NOTES: Start fleshing out the RELEASE_NOTES and preparing
+	for a release.
 
-2010-02-10 11:21  castaglia
+2010-06-28  jwm <jwm>
 
-	* 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).
+	* 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-02-10 11:20  castaglia
+2010-06-28  jwm <jwm>
 
-	* modules/mod_delay.c:
-	  Quell compiler warning about unreachable code.  Prepare mod_delay
-	  for acting properly when compiled as a DSO module.
+	* 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-02-10 11:19  castaglia
+2010-06-25  castaglia <castaglia>
 
-	* modules/mod_facl.c:
-	  Remove duplicate registration of module unload listener in
-	  mod_facl.
+	* 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-02-10 11:12  castaglia
+2010-06-25  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.
+	* 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-02-10 10:34  castaglia
+2010-06-25  castaglia <castaglia>
 
-	* contrib/mod_sftp/: interop.c, interop.h, keystore.c, keystore.h,
-	  mod_sftp.c, rfc4716.c, 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.
+	* tests/t/lib/ProFTPD/Tests/Commands/REST.pm: Accidentally
+	overloaded a function name.  Oops.
 
-2010-02-10 10:31  castaglia
+2010-06-24  castaglia <castaglia>
 
-	* contrib/: mod_wrap2_file.c, mod_wrap2_sql.c,
-	  mod_wrap2/mod_wrap2.c, mod_wrap2/mod_wrap2.h.in:
-	  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.
+	* 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-02-10 10:27  castaglia
+2010-06-24  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Quell some compiler warnings about unreachable code.
+	* 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-02-10 10:26  castaglia
+2010-06-23  castaglia <castaglia>
 
-	* contrib/mod_sql.c:
-	  Unregister the registered authtype handlers upon module unload.
+	* tests/t/lib/ProFTPD/Tests/Config/AnonRejectPasswords.pm: Remove
+	yet more debugging cruft.
 
-2010-02-10 10:24  castaglia
+2010-06-23  castaglia <castaglia>
 
-	* contrib/mod_quotatab.c:
-	  Set the prev pointer properly when registering a quotatab
-	  backend.
+	* tests/t/config/anonrejectpasswords.t,
+	tests/t/lib/ProFTPD/Tests/Config/AnonRejectPasswords.pm,
+	tests/tests.pl: Add regression test for the AnonRejectPasswords
+	directive.
 
-2010-02-10 09:29  castaglia
+2010-06-23  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.
+	* tests/t/lib/ProFTPD/Tests/Config/AnonRequirePassword.pm: Remove
+	debugging cruft.
 
-2010-02-09 18:16  castaglia
+2010-06-23  castaglia <castaglia>
 
-	* src/bindings.c:
-	  When getting a listening connection, handle cases where an IP
-	  address string can't be returned for some reason.
+	* tests/t/config/anonrequirepassword.t,
+	tests/t/lib/ProFTPD/Tests/Config/AnonRequirePassword.pm,
+	tests/tests.pl: Add regression tests for the AnonRequirePassword
+	directive.
 
-2010-02-09 17:05  castaglia
+2010-06-23  castaglia <castaglia>
 
-	* contrib/mod_dynmasq.c:
-	  Forgot to update the copyright date on this file, since it's been
-	  modified this year.
+	* 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-02-09 17:03  castaglia
+2010-06-23  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ban.c, contrib/mod_dynmasq.c:
-	  Backport of Bug#3387 to the 1.3.2 branch for mod_ban and
-	  mod_dynmasq.
+	* 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-02-09 17:01  castaglia
+2010-06-22  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.
+	* configure: Updated configure.
 
-	  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-06-22  castaglia <castaglia>
 
-2010-02-09 12:08  castaglia
+	* modules/mod_auth_unix.c: Forgot to update copyright dates on the
+	modified file.
 
-	* src/timers.c:
-	  Paranoid checking for NULL parameters for a trace message in the
-	  Timers API.
+2010-06-22  castaglia <castaglia>
 
-2010-02-09 07:53  castaglia
+	* NEWS, modules/mod_auth_unix.c: Bug#3475 - Add new 'noGetgrouplist'
+	AuthUnixOption to work around buggy libc code.
 
-	* 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-06-22  castaglia <castaglia>
 
-2010-02-08 15:12  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.
 
-	* 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-06-22  castaglia <castaglia>
 
-2010-02-08 15:01  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.
 
-	* 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-06-22  castaglia <castaglia>
 
-2010-02-08 13:54  castaglia
+	* NEWS, modules/mod_ls.c: Bug#3476 - LIST/NLST of path starting with
+	"-" fails.
 
-	* src/fsio.c:
-	  More defensive programming: check for cases where
-	  lookup_fs_file() returns NULL, and Do The Right Thing(tm).
+2010-06-22  castaglia <castaglia>
 
-2010-02-08 13:27  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.
 
-	* 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-06-22  castaglia <castaglia>
 
-2010-02-08 13:14  castaglia
+	* doc/contrib/mod_sftp.html: Add FAQ about "line too long"
+	authorized key errors.
 
-	* 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-06-22  castaglia <castaglia>
 
-2010-02-08 12:00  castaglia
+	* contrib/mod_wrap2_sql.c: Additional fixes for Bug#3471.
 
-	* 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-06-22  castaglia <castaglia>
 
-2010-02-08 11:45  castaglia
+	* configure: Updated configure.
 
-	* src/trace.c:
-	  Prevent long trace log lines from trampling each other by
-	  truncating and adding a terminating newline properly.
+2010-06-22  castaglia <castaglia>
 
-2010-02-08 09:28  castaglia
+	* configure.in: Add a --disable-getgrouplist configure option, to
+	disable use of the getgrouplist(3) function, hopefully working
+	around Bug#3475.
 
-	* contrib/mod_sftp/packet.c:
-	  Make sure we don't try to read in more data than can fit in our
-	  packet buffer.
+2010-06-21  castaglia <castaglia>
 
-2010-02-07 10:50  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.
 
-	* configure:
-	  Updated configure.
+2010-06-21  castaglia <castaglia>
 
-2010-02-07 10:45  castaglia
+	* doc/contrib/mod_sftp.html: Add SFTP FAQ about using Tectia/ssh.com
+	host keys with mod_sftp.
 
-	* configure.in:
-	  Make sure that compiler optimizations are disabled when
-	  --enable-devel is used.
+2010-06-21  castaglia <castaglia>
 
-2010-02-07 10:36  castaglia
+	* doc/contrib/mod_sftp.html: Make it clearer in the mod_sftp docs
+	that the modules does not support shell access.
 
-	* 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-06-21  castaglia <castaglia>
 
-2010-02-05 17:38  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.
 
-	* tests/t/lib/ProFTPD/TestSuite/Utils.pm:
-	  Make sure that config_write() can handle Anonymous sections which
-	  contain nested Directory or Limit sections.
+2010-06-21  castaglia <castaglia>
 
-2010-02-04 16:32  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.
 
-	* src/event.c:
-	  Include the memory address of the event callback being invoked in
-	  the trace message about event handling.
+2010-06-20  castaglia <castaglia>
 
-2010-02-04 11:26  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.
 
-	* doc/contrib/mod_sftp_sql.html:
-	  Update the schema examples for storing SSH keys; include indices
-	  in the example schema.
+2010-06-20  castaglia <castaglia>
 
-2010-02-04 09:24  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.
 
-	* src/pool.c:
-	  Make the name of the oom pool walking function be 'oom_printf',
-	  just to be very clear.
+2010-06-20  castaglia <castaglia>
 
-2010-02-04 09:14  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Add
+	regression test for Bug#3283.
 
-	* 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.
+2010-06-20  castaglia <castaglia>
 
-	  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.
+	* 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-02-03 20:08  castaglia
+2010-06-19  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.
+	* doc/howto/ListOptions.html: Include the new options (-c, -u) from
+	Bug#3396 in the ListOptions howto.
 
-	  Left myself a comment to this effect, so that I'm not tempted to
-	  make the same mistake again in the future.
+2010-06-19  castaglia <castaglia>
 
-2010-02-03 20:02  castaglia
+	* NEWS, modules/mod_ls.c,
+	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Bug#3396 - Support -c
+	and -u LIST options.
 
-	* 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-06-19  castaglia <castaglia>
 
-2010-02-03 20:00  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.
 
-	* 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-06-19  castaglia <castaglia>
 
-2010-02-03 19:42  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.
 
-	* 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-06-19  castaglia <castaglia>
 
-2010-02-03 19:23  castaglia
+	* contrib/mod_ldap.c: Quell compiler warning about an uninitialized
+	pointer.
 
-	* NEWS, contrib/mod_sftp/scp.c:
-	  Bug#3386 - Downloading via SCP can stall due to rekeying.
+2010-06-19  castaglia <castaglia>
 
-2010-02-03 19:12  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Add
+	regression test (and correct configuration) for Bug#3166.
 
-	* contrib/mod_sftp/scp.c:
-	  Typo.
+2010-06-19  castaglia <castaglia>
 
-2010-02-03 18:46  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
+	hostbased SSH2 authentication.
 
-	* contrib/mod_sftp/scp.c:
-	  Add some minor logging of the progress being made on the sending
-	  of data for a file via SCP.
+2010-06-17  castaglia <castaglia>
 
-	  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add mod_sftp
+	regression tests for Bug#3472.
 
-2010-02-03 18:15  castaglia
+2010-06-17  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/channel.c:
-	  Bug#3385 - Memory leak during SCP download.
+	* 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-02-03 17:03  castaglia
+2010-06-17  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.
+	* NEWS, contrib/mod_sftp/auth-publickey.c: Bug#3472 - mod_sftp
+	publickey authentication fails for large keys.
 
-	  With these two changes, downloading via SCP a largish (700 MB)
-	  file finally worked, without hanging the scp(1) OpenSSH client.
+2010-06-17  castaglia <castaglia>
 
-2010-02-03 15:42  castaglia
+	* NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#3471 - Null values in
+	allow/deny rules causes mod_wrap2 to segfault.
 
-	* contrib/mod_sftp/tap.c:
-	  Make "SFTPTrafficPolicy none" work; it was hanging if that
-	  setting had been explicitly configured in the proftpd.conf.
+2010-06-15  castaglia <castaglia>
 
-	  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 13:45  castaglia
-
-	* src/child.c:
-	  If sending a signal to the child/session process fails, log the
-	  reason via trace logging.
-
-2010-02-03 13:31  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 11:11  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 09:15  castaglia
-
-	* contrib/mod_sftp/fxp.c:
-	  Quell compiler warnings about unused return values.
-
-2010-02-02 16:56  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-02 16:29  castaglia
-
-	* contrib/mod_sftp/keys.c:
-	  Quell compiler warnings about unreachable code; no functional
-	  change.
-
-2010-02-02 15:06  jwm
-
-	* contrib/mod_ldap.c: revno: 93 message:   add ssh public key
-	  support (for mod_sftp_ldap) from TJ Saunders	 <tj at castaglia.org>
-
-2010-02-02 15:02  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 at 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 at 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 14:14  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 14:09  castaglia
-
-	* RELEASE_NOTES:
-	  Update the release notes; it's almost time for release.
-
-2010-02-01 11:30  castaglia
-
-	* doc/contrib/mod_sql_passwd.html:
-	  Updating mod_sql_passwd docs with description of new
-	  SQLPasswordUserSalt directive.
-
-2010-02-01 11:20  castaglia
+	* NEWS, contrib/mod_ifsession.c: Bug#3467 - mod_ifsession does not
+	merge <Directory> blocks properly.
 
-	* 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-06-15  castaglia <castaglia>
 
-2010-02-01 10:40  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 ('~').
 
-	* NEWS, contrib/mod_radius.c:
-	  Bug#3381 - RADIUS authentication broken on 64-bit platforms.
+2010-06-15  castaglia <castaglia>
 
-2010-01-31 13:12  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).
 
-	* 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-06-15  castaglia <castaglia>
 
-2010-01-31 13:06  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.
 
-	* 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-06-14  castaglia <castaglia>
 
-2010-01-31 12:34  castaglia
+	* NEWS, contrib/mod_tls.c: Bug#3465 - SIGSEGV at LIST after CCC.
 
-	* contrib/: mod_sftp/crypto.c, 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-06-14  castaglia <castaglia>
 
-2010-01-29 11:00  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.
 
-	* 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-06-14  castaglia <castaglia>
 
-2010-01-29 10:56  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: More
+	regression tests for Bug#3467.
 
-	* tests/t/lib/ProFTPD/TestSuite/Utils.pm:
-	  Add a function for getting the version of the current proftpd
-	  (using `proftpd -V').
+2010-06-12  castaglia <castaglia>
 
-2010-01-26 15:59  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Add regression
+	test for Bug#3467.
 
-	* src/support.c:
-	  Add a counter for signal blocking/unblocking, to handle nested
-	  calls.  Also added trace logging for signal blocking/unblocking.
+2010-06-12  castaglia <castaglia>
 
-2010-01-26 11:50  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add regression test
+	for Bug#3465.
 
-	* src/timers.c:
-	  Use proper pluralization in the timer trace messages.
+2010-06-11  castaglia <castaglia>
 
-2010-01-26 08:51  castaglia
+	* NEWS, contrib/mod_ifsession.c: Bug#3466 - mod_ifsession does not
+	check for properly closed <IfUser> contexts.
 
-	* 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-06-11  castaglia <castaglia>
 
-2010-01-26 08:41  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Add an
+	<IfGroup> test.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm:
-	  Add unit test for a "SQLLog EXIT" configuration.
+2010-05-27  castaglia <castaglia>
 
-2010-01-23 13:43  castaglia
+	* NEWS, contrib/ftpasswd: Bug#3463 - ftpasswd script's
+	--delete-group option does not work.
 
-	* configure:
-	  Update configure.
+2010-05-27  castaglia <castaglia>
 
-2010-01-23 13:39  castaglia
+	* NEWS, contrib/ftpasswd: Bug#3462 - ftpasswd script's --delete-user
+	option does not work.
 
-	* 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-05-25  castaglia <castaglia>
 
-2010-01-23 11:29  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Update mod_sftp
+	.ftpaccess unit test to check for regressions of Bug#3460.
 
-	* 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-05-25  castaglia <castaglia>
 
-2010-01-23 10:42  castaglia
+	* NEWS, contrib/mod_sftp/fxp.c: Bug#3460 - REALPATH SFTP request can
+	cause improperly cached directory configuration.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm:
-	  Adding more regression tests for mod_wrap2/mod_wrap2_file.
+2010-05-25  castaglia <castaglia>
 
-2010-01-23 10:42  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.
 
-	* 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-05-25  castaglia <castaglia>
 
-2010-01-23 10:31  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm: Add more
+	DefaultChdir tests.
 
-	* 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-05-25  castaglia <castaglia>
 
-2010-01-22 14:16  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.
 
-	* src/netaddr.c:
-	  Make sure that the errno value is preserved in failure cases in
-	  pr_netaddr_get_addr().
+2010-05-25  castaglia <castaglia>
 
-2010-01-21 09:37  castaglia
+	* NEWS, src/auth.c: Bug#3431 - Ensure that timezone info files are
+	opened prior to chroot.
 
-	* 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-05-25  castaglia <castaglia>
 
-2010-01-20 10:11  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.
 
-	* contrib/mod_ban.c:
-	  Removed some unnecessary logging.
+2010-05-24  castaglia <castaglia>
 
-2010-01-19 10:59  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.
 
-	* 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-05-24  castaglia <castaglia>
 
-2010-01-19 08:52  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).
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3375 - Minor SIGHUP-based memory leak in mod_tls.
+2010-05-24  castaglia <castaglia>
 
-2010-01-19 08:43  castaglia
+	* NEWS, contrib/mod_radius.c: Bug#3459 - mod_radius segfaults during
+	incorrect login due to stale data.
 
-	* 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-05-24  castaglia <castaglia>
 
-2010-01-19 08:37  castaglia
+	* contrib/mod_radius.c: Quell compiler warnings about unused
+	strtoul(3) return values.
 
-	* 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-05-20  castaglia <castaglia>
 
-2010-01-18 16:03  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.
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm,
-	  t/modules/mod_sftp_sql.t:
-	  Add unit tests for mod_sftp_sql.
+2010-05-20  castaglia <castaglia>
 
-2010-01-16 18:49  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add a couple more
+	SQL-related configuration tests to the mod_sftp suite.
 
-	* 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-05-18  castaglia <castaglia>
 
-2010-01-16 17:38  castaglia
+	* NEWS, contrib/mod_sftp/crypto.c: Bug#3458 - mod_sftp incorrectly
+	performs OpenSSL cleanup.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/: mod_wrap2_file.pm,
-	  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-05-18  castaglia <castaglia>
 
-2010-01-15 14:08  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.
 
-	* NEWS, contrib/mod_radius.c:
-	  Backported fix for Bug#3372 to the 1.3.2 branch.
+2010-05-06  castaglia <castaglia>
 
-2010-01-15 14:05  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression
+	tests for uploading/downloading empty dirs via SCP.
 
-	* contrib/mod_radius.c:
-	  Update the copyright dates in mod_radius.c, since the code has
-	  changed.
+2010-05-06  castaglia <castaglia>
 
-2010-01-15 14:05  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.
 
-	* NEWS, contrib/mod_radius.c:
-	  Bug#3372 - ProFTPD crashes when retrying a failed login with
-	  mod_radius being used.
+2010-05-06  castaglia <castaglia>
 
-2010-01-11 07:57  castaglia
+	* contrib/mod_sftp/channel.c: Minor nit about the proper plurality
+	in a trace message.
 
-	* doc/contrib/mod_sftp_sql.html:
-	  Use HTML entity encoding for angle brackets; more browsers like
-	  this.
+2010-05-05  castaglia <castaglia>
 
-2010-01-10 17:16  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.
 
-	* 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-05-05  castaglia <castaglia>
 
-2010-01-10 13:50  castaglia
+	* include/support.h, src/support.c: Missed some spots in the
+	exists() functions where the path string should also be constified.
 
-	* src/scoreboard.c:
-	  Whitespace/coding style change, no functional change.  Update the
-	  copyright date.
+2010-05-05  castaglia <castaglia>
 
-2010-01-10 13:49  castaglia
+	* include/support.h, src/support.c: Constify the arguments the
+	*exists() functions.
 
-	* src/scoreboard.c:
-	  Whitespace/style change, no functional change.
+2010-05-04  castaglia <castaglia>
 
-2010-01-10 13:10  castaglia
+	* NEWS, locale/Makefile.in: Bug#3454 - msgfmt(1) options used for
+	generating NLS files are not compatible with Solaris' msgfmt.
 
-	* configure:
-	  Updated configure.
+2010-05-02  castaglia <castaglia>
 
-2010-01-10 13:05  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.
 
-	* NEWS, config.h.in, configure.in, contrib/mod_ban.c,
-	  contrib/mod_ctrls_admin.c, include/scoreboard.h,
-	  src/scoreboard.c:
-	  Backported fix for Bug#3370 to 1.3.2 branch.
+2010-05-02  castaglia <castaglia>
 
-2010-01-10 12:08  castaglia
+	* modules/mod_xfer.c: Log, at debug level 8, if an APPE command is
+	blocked because of a <Limit> configuration.
 
-	* 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-05-01  castaglia <castaglia>
 
-2010-01-10 12:06  castaglia
+	* contrib/mod_sftp/fxp.c: Make a note about better reporting of
+	incomplete uploads, where possible.
 
-	* configure:
-	  Updated configure.
+2010-04-29  castaglia <castaglia>
 
-2010-01-10 12:01  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.
 
-	* 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-04-29  castaglia <castaglia>
 
-2010-01-08 10:53  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.
 
-	* 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-04-29  castaglia <castaglia>
 
-2010-01-08 10:20  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.
 
-	* 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-04-28  castaglia <castaglia>
 
-2010-01-08 10:03  castaglia
+	* NEWS, contrib/mod_sftp/fxp.c: Bug#3451 - WinSCP can't upload files
+	using protocol version 5 with mod_sftp.
 
-	* 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-04-28  castaglia <castaglia>
 
-2010-01-07 14:45  castaglia
+	* src/main.c: Stylistic changes; no functional changes.
 
-	* src/dirtree.c:
-	  Backport the fix for the "find_config() can return wrong
-	  config_rec" bug from trunk.
+2010-04-28  castaglia <castaglia>
 
-2010-01-07 11:59  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.
 
-	* 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-04-28  castaglia <castaglia>
 
-2010-01-07 11:22  castaglia
+	* NEWS, contrib/mod_sftp/fxp.c: Bug#3450 - mod_sftp does not
+	properly handle the O_APPEND flag in a SFTP OPEN request.
 
-	* 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.
+2010-04-27  castaglia <castaglia>
 
-	  The rest of this change simply alters the coding style to make
-	  future debugging in that section of code easier.
+	* 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-01-06 15:30  castaglia
+2010-04-27  castaglia <castaglia>
 
-	* doc/contrib/mod_ctrls_admin.html:
-	  Add example of using new 'ftpdctl restart count' functionality.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression test
+	for Bug#3425.
 
-2010-01-06 15:24  castaglia
+2010-04-27  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.
+	* contrib/mod_sftp/fxp.c: Correct a comment.
 
-2010-01-06 15:05  castaglia
+2010-04-27  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.
+	* 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-01-05 16:41  castaglia
+2010-04-27  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Add SFTP FAQ about <Limit SITE_CHMOD> and SFTP uploads.
+	* NEWS: Bug#3448 - Ensure that STAT/LSTAT/FSTAT SFTP requests do not
+	use cached/stale data.
 
-2010-01-05 15:17  castaglia
+2010-04-27  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Remove debugging
+	cruft.
 
-2010-01-04 10:16  castaglia
+2010-04-27  castaglia <castaglia>
 
-	* contrib/mod_wrap2/mod_wrap2.c:
-	  Fix broken checks added yesterday.  Also quell compiler warnings
-	  about unreachable code.
+	* 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-01-04 09:58  castaglia
+2010-04-26  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.
+	* NEWS, contrib/mod_sftp/scp.c: Bug#3447 - mod_sftp can become
+	confused during large recursive SCP uploads.
 
-2010-01-03 13:08  castaglia
+2010-04-25  castaglia <castaglia>
 
-	* contrib/mod_wrap2/mod_wrap2.c:
-	  Cleanup of some of the coding style in mod_wrap2 to be more
-	  legible.
+	* contrib/mod_shaper.c: Add trace logging, using the "lock" trace
+	channel, of mod_shaper's locking of its ShaperTable.
 
-2010-01-03 13:05  castaglia
+2010-04-25  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.
+	* 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.
 
-2009-12-28 12:32  castaglia
+2010-04-25  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.
+	* contrib/mod_sftp/scp.c: Remove unused strlen(3) call.
 
-2009-12-28 12:12  castaglia
+2010-04-24  castaglia <castaglia>
 
-	* doc/howto/TLS.html:
-	  Fix typos.
+	* tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm: Add unit test for
+	CreateHome's skel parameter.
 
-2009-12-23 15:46  castaglia
+2010-04-23  castaglia <castaglia>
 
-	* doc/contrib/mod_wrap.html:
-	  The libnsl library isn't needed for mod_wrap on Mac OSX, either.
+	* src/dirtree.c: Use updated patch for Bug#3446.
 
-2009-12-19 17:19  castaglia
+2010-04-23  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Rather than testing for CYGWIN to use the O_BINARY flag, just
-	  test for the O_BINARY flag directly.
+	* 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.
 
-2009-12-18 09:40  castaglia
+2010-04-23  castaglia <castaglia>
 
-	* contrib/mod_tls_shmcache.c:
-	  Fix compiler warning.
+	* 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.
 
-	  Rename the 'core.exit' event listener to be more accurate (it's a
-	  shutdown listener in some cases, not a session-exit listener).
+2010-04-22  castaglia <castaglia>
 
-2009-12-18 09:36  castaglia
+	* doc/howto/Limit.html: Add an example of blocking renames.
 
-	* NEWS, contrib/mod_tls_shmcache.c:
-	  Bug#3359 - mod_tls_shmcache segfaults during syntax check.
+2010-04-21  castaglia <castaglia>
 
-2009-12-15 15:24  castaglia
+	* doc/contrib/mod_sftp.html: Typo.
 
-	* Makefile.in, NEWS:
-	  Bug#3356 - Build timestamp using date(1) can fail depending on
-	  environment.
+2010-04-21  castaglia <castaglia>
 
-2009-12-15 14:31  castaglia
+	* doc/contrib/mod_sftp.html: Add a "Known Client Issues" section to
+	the mod_sftp docs.
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Bug#3357 - mod_sftp fails to compile on AIX.
+2010-04-20  castaglia <castaglia>
 
-2009-12-15 10:56  castaglia
+	* contrib/mod_sftp/mod_sftp.c: Fix bug in the fix for Bug#3444 that
+	was committed yesterday.
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3358 - mod_tls doesn't compile with pre-0.9.7 openssl.
+2010-04-20  castaglia <castaglia>
 
-2009-12-14 22:22  castaglia
+	* NEWS, modules/mod_core.c: Bug#3443 - Deprecate the DisplayGoAway
+	directive.
 
-	* modules/mod_xfer.c:
-	  Typo.
+2010-04-20  castaglia <castaglia>
 
-2009-12-14 17:13  castaglia
+	* NEWS: Make sure the NEWS file tracks the correct bug title for
+	Bug#3445.
 
-	* contrib/mod_shaper.c,
-	  tests/t/lib/ProFTPD/Tests/Modules/mod_shaper.pm:
-	  Fix a problem in mod_shaper, noted in this forums post:
+2010-04-20  castaglia <castaglia>
 
-	    http://forums.proftpd.org/smf/index.php/topic,1628.0.html
+	* 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.
 
-	  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.
+2010-04-20  castaglia <castaglia>
 
-	  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.
+	* contrib/mod_sftp/kex.c: Update the copyright date for this file.
 
-2009-12-14 16:37  castaglia
+2010-04-20  castaglia <castaglia>
 
-	* contrib/mod_shaper.c:
-	  Fix compiler warnings about unreachable code, and rename an event
-	  listener to be more appropriately named.
+	* 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.
 
-2009-12-14 13:29  castaglia
+2010-04-20  castaglia <castaglia>
 
-	* doc/contrib/mod_wrap.html:
-	  Adding more examples of paranoid libwrap log messages.
+	* contrib/mod_sftp/fxp.c: Make sure the statcache is cleared when
+	handling STAT/FSTAT/LSTAT requests.
 
-2009-12-14 12:48  castaglia
+2010-04-19  castaglia <castaglia>
 
-	* doc/howto/TLS.html:
-	  Another SSL/TLS FAQ.
+	* 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.
 
-2009-12-14 10:53  castaglia
+2010-04-19  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.
+	* contrib/mod_sftp/mod_sftp.h.in: Update copyright date in the
+	header, since we've modified the file this year.
 
-2009-12-14 10:39  castaglia
+2010-04-19  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Clear up compiler warnings about unreachable code in mod_tls.  No
-	  functional change.
+	* 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.
 
-2009-12-14 09:37  castaglia
+2010-04-19  castaglia <castaglia>
 
-	* doc/howto/Stopping.html:
-	  Fixing up the Stopping howto, and adding an example Mac OSX
-	  launchd plist config.
+	* doc/howto/Logging.html: Add Logging FAQ about logging xferlog data
+	to syslog.
 
-2009-12-13 12:17  castaglia
+2010-04-18  castaglia <castaglia>
 
-	* utils/ftptop.c:
-	  Quell compiler warnings about unreachable code.
+	* contrib/mod_sftp/utf8.c, src/encode.c: More notes to myself
+	regarding possible encoding failures and their causes.
 
-2009-12-13 11:31  castaglia
+2010-04-17  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Drat.  Forgot one of the SSL/TLS renegotiation backport changes
-	  from trunk.  Without this, data transfers might be improperly
-	  detected as renegotiations and denied.
+	* tests/t/config/serveradmin.t,
+	tests/t/lib/ProFTPD/Tests/Config/ServerAdmin.pm, tests/tests.pl: Add
+	regression tests for the ServerAdmin directive.
 
-2009-12-11 16:47  castaglia
+2010-04-17  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.
+	* 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.
 
-	  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.
+2010-04-17  castaglia <castaglia>
 
-2009-12-11 15:09  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.
 
-	* src/table.c:
-	  Clean up some "code will never be executed" warnings.
+2010-04-17  castaglia <castaglia>
 
-2009-12-11 15:03  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.
 
-	* 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.
+2010-04-17  castaglia <castaglia>
 
-2009-12-10 20:44  castaglia
+	* modules/mod_core.c, src/display.c: Additional fixes for Bug#3423,
+	handling single line DisplayLogin and DisplayChdir files, and
+	multiline DisplayChdir files.
 
-	* doc/howto/: Versioning.html, index.html:
-	  Finally got around to writing up the version naming conventions
-	  that are currently used for ProFTPD releases.
+2010-04-17  castaglia <castaglia>
 
-2009-12-10 19:16  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.
 
-	* contrib/mod_tls.c:
-	  Be a little more verbose in the error messages logged for
-	  SSL_accept() failures.
+2010-04-16  castaglia <castaglia>
 
-2009-12-10 17:06  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.
 
-	* doc/modules/mod_lang.html:
-	  Typo.
+2010-04-16  castaglia <castaglia>
 
-2009-12-10 15:06  castaglia
+	* modules/mod_ls.c: Coding style nits; no functional change.
 
-	* include/version.h:
-	  Update the CVS version.
+2010-04-16  castaglia <castaglia>
 
-2009-12-10 14:49  castaglia
+	* doc/howto/Logging.html: Mention the configure option for Bug#3436
+	in the Logging howto's section on FIFOs.
 
-	* doc/contrib/mod_sql.html:
-	  Typo.
+2010-04-14  castaglia <castaglia>
 
-2009-12-10 12:04  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.
 
-	* ChangeLog:
-	  Update the ChangeLog.
+2010-04-14  castaglia <castaglia>
 
-2009-12-10 12:03  castaglia
+	* NEWS, src/encode.c: Bug#3439 - Encoding fails if an NLS-enabled
+	proftpd starts in a UTF8 locale.
 
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Preparing to release 1.3.3rc3 today.
+2010-04-14  castaglia <castaglia>
 
-2009-12-10 10:34  castaglia
+	* src/main.c: Stylistic nit.
 
-	* ChangeLog:
-	  Updated ChangeLog.
+2010-04-14  castaglia <castaglia>
 
-2009-12-10 10:33  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.
 
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Preparing to release 1.3.2c today.
+2010-04-14  castaglia <castaglia>
 
-2009-12-10 10:24  castaglia
+	* contrib/mod_sftp/scp.c: Silly typos in comment; no functional
+	change.
 
-	* 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.
+2010-04-13  castaglia <castaglia>
 
-2009-12-10 09:59  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.
 
-	* contrib/mod_wrap.c:
-	  Specify the module version data in the module structure for
-	  mod_wrap.
+2010-04-13  castaglia <castaglia>
 
-2009-12-10 09:45  castaglia
+	* configure: Updated configure for Bug#3436.
 
-	* NEWS, modules/mod_auth.c, modules/mod_auth_file.c:
-	  Backported fixes for Bug#3347 and Bug#3351.
+2010-04-13  castaglia <castaglia>
 
-2009-12-10 09:45  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.
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#3351 - Nonchrooted logins on HPUX do not get proper UID/GID.
+2010-04-13  castaglia <castaglia>
 
-2009-12-10 09:40  castaglia
+	* contrib/mod_sftp/utf8.c, src/encode.c: Remove unused variables,
+	and quell compiler warnings about "incompatible pointer types" on
+	FreeBSD.
 
-	* NEWS, modules/mod_auth_file.c, tests/tests.pl,
-	  tests/t/config/authgroupfile.t,
-	  tests/t/lib/ProFTPD/Tests/Config/AuthGroupFile.pm:
-	  Bug#3347 - mod_auth_file handles 'getgroups' request incorrectly.
+2010-04-13  castaglia <castaglia>
 
-2009-12-10 08:26  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.
 
-	* src/: support.c:
-	  Updated fix for Bug#3350.
+2010-04-13  castaglia <castaglia>
 
-2009-12-10 07:52  castaglia
+	* contrib/mod_sftp/utf8.c, src/encode.c: Additional part of fix for
+	Bug#3435.
 
-	* NEWS, src/support.c:
-	  Bug#3350 - Segfault caused by scrubbing zero-length portion of
-	  memory.
+2010-04-12  castaglia <castaglia>
 
-2009-12-09 15:45  castaglia
+	* NEWS, contrib/mod_sftp/utf8.c, src/encode.c: Bug#3435 -
+	Encoding/decoding conversion can cause CPU spike.
 
-	* 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.
+2010-04-12  castaglia <castaglia>
 
-2009-12-09 15:44  castaglia
+	* contrib/mod_sftp/utf8.c, src/encode.c: Make sure we reset any
+	state contained in iconv_t before calling iconv(3).
 
-	* src/expr.c:
-	  Fix the logic for iterating over session.groups, and handling
-	  NULL names, in the pr_expr_eval_group_or() function as well.
+2010-04-12  castaglia <castaglia>
 
-2009-12-09 15:41  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.
 
-	* 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.
+2010-04-12  castaglia <castaglia>
 
-2009-12-09 15:40  castaglia
+	* src/trace.c: Prevent a recurrence of Bug#3434 by treating a trace
+	message level of zero as an invalid parameter.
 
-	* src/expr.c, tests/api/expr.c:
-	  Fix a segfault uncovered by Michael, where the
-	  pr_expr_eval_group_and() function didn't handle a NULL group name
-	  in the middle of the session.groups list.
+2010-04-12  castaglia <castaglia>
 
-2009-12-09 13:39  castaglia
+	* src/fsio.c: Include the number of bytes being read/written in the
+	trace messages for the read()/write() callbacks.
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3349 - SSL_SESSION_cmp not available in OpenSSL 1.0.0 betas.
+2010-04-12  castaglia <castaglia>
 
-2009-12-09 11:55  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.
 
-	* contrib/mod_tls.c:
-	  Backport of a mod_tls fix to handle checking of "is this a
-	  renegotiation" only for control connections, not data
-	  connections.
+2010-04-12  castaglia <castaglia>
 
-2009-12-09 11:52  castaglia
+	* NEWS, modules/mod_xfer.c, src/fsio.c: Bug#3434 - TraceLog contains
+	messages even with "Trace DEFAULT:0" configured.
 
-	* 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.
+2010-04-12  castaglia <castaglia>
 
-	  Also quell a compiler warning using a typecast;
-	  OpenSSL-1.0.0-betaN uses more const'd types than previously.
+	* 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.
 
-2009-12-09 11:49  castaglia
+2010-04-12  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Make sure that mod_tls can compile against OpenSSL-1.0.0-betaN,
-	  which does not have the UNSAFE_LEGACY_RENEGOTIATION flag (it uses
-	  something different).
+	* NEWS, contrib/mod_sftp/scp.c: Bug#3427 - mod_sftp does not handle
+	recursive SCP uploads properly.
 
-2009-12-09 09:25  castaglia
+2010-04-12  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.
+	* doc/contrib/mod_sftp.html: Add mod_sftp FAQ about
+	UserOwner/GroupOwner, and the need to use the RootRevoke directive.
 
-2009-12-08 16:51  castaglia
+2010-04-12  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.
+	* 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.
 
-2009-12-07 16:24  castaglia
+2010-04-11  castaglia <castaglia>
 
-	* doc/contrib/mod_ban.html:
-	  Add a FAQ about creating whitelists for mod_ban.
+	* modules/mod_xfer.c: Minor style nits in stor_chown(); no
+	functional changes.
 
-2009-12-07 15:24  castaglia
+2010-04-11  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.
+	* doc/howto/Tracing.html: Add a FAQ/example to the Tracing howto
+	describing how to use Trace in mod_ifsession sections.
 
-2009-12-07 15:02  castaglia
+2010-04-11  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/: Commands/ALLO.pm, Commands/APPE.pm,
-	  Commands/CDUP.pm, Commands/EPRT.pm, Commands/EPSV.pm,
-	  Commands/MDTM.pm, Commands/MODE.pm, Commands/NOOP.pm,
-	  Commands/PASS.pm, Commands/PASV.pm, Commands/PWD.pm,
-	  Commands/QUIT.pm, Commands/RNFR.pm, Commands/RNTO.pm,
-	  Commands/SIZE.pm, Commands/STOU.pm, Commands/STRU.pm,
-	  Config/DeleteAbortedStores.pm, Config/FTPAccess/DELE.pm,
-	  Commands/SYST.pm, Commands/TYPE.pm, Commands/USER.pm:
-	  Updating more testsuite tests to use the consistent `tests.log'
-	  log file.
+	* 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.
 
-2009-12-07 14:33  castaglia
+2010-04-09  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/: Config/AllowOverwrite.pm,
-	  Config/GroupOwner.pm, Config/MaxInstances.pm,
-	  Config/MaxRetrieveFileSize.pm, Config/MaxStoreFileSize.pm,
-	  Config/Order.pm, Config/RequireValidShell.pm,
-	  Config/StoreUniquePrefix.pm, Config/TimeoutNoTransfer.pm,
-	  Config/TimeoutSession.pm, Config/TimeoutStalled.pm,
-	  Config/UseFtpUsers.pm, Config/UserOwner.pm, Signals/ABRT.pm,
-	  Signals/HUP.pm, Signals/SEGV.pm, Signals/TERM.pm:
-	  Updating more of the testsuite tests to use `tests.log' as their
-	  output logging file, for consistency.
+	* NEWS, contrib/mod_sftp/scp.c: Bug#3425 - Improperly constructed
+	destination paths for SCP uploads.
 
-2009-12-07 08:44  castaglia
+2010-04-09  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Work on preparing the release notes for 1.3.3rc3.
+	* NEWS, contrib/mod_sftp/auth.c: Bug#3426 - mod_sftp does not log to
+	TransferLog by default.
 
-2009-12-07 08:20  castaglia
+2010-04-09  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec:
-	  Correct the %description sections in proftpd.spec.
+	* contrib/mod_sftp/scp.c: Cache errno in a few more places, so that
+	the proper error is reported.
 
-2009-12-06 09:19  castaglia
+2010-04-09  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().
+	* 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.
 
-2009-12-06 09:08  castaglia
+2010-04-08  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.
+	* src/mkhome.c: Stylistic cleanup/changes; no functional changes.
 
-2009-12-05 15:48  castaglia
+2010-04-08  castaglia <castaglia>
 
-	* doc/contrib/mod_sql_passwd.html:
-	  Updated the mod_sql_passwd doc to mention support of SHA256 and
-	  SHA512 passwords.
+	* doc/howto/CreateHome.html: Typo.
 
-2009-12-05 15:46  castaglia
+2010-04-07  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.
+	* modules/mod_core.c: With the fix for Bug#3423, the adding a
+	trailing blank line to the DisplayQuit message is no longer
+	necessary.
 
-2009-12-03 13:45  castaglia
+2010-04-07  castaglia <castaglia>
 
-	* utils/scoreboard.c:
-	  Fix an "unreachable code" compiler warning, and clean up the code
-	  stylistically.
+	* tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm: Update the
+	DisplayLogin regression test to match the current behavior, as per
+	changes for Bug#3423.
 
-2009-12-02 19:57  castaglia
+2010-04-07  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.
+	* 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.
 
-2009-12-02 19:30  castaglia
+2010-04-07  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/REST.pm:
-	  Add a test for resuming downloads of >4GB files as well.
+	* 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.
 
-2009-12-02 18:49  castaglia
+2010-04-07  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/REST.pm:
-	  Add unit test for FileZilla's REST behavior over 2GB.
+	* 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.
 
-	  Modify all tests to output to the 'tests.log' file.
+2010-04-07  castaglia <castaglia>
 
-2009-12-01 20:45  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.
 
-	* modules/mod_xfer.c:
-	  Typos.
+2010-04-07  castaglia <castaglia>
 
-2009-12-01 20:38  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.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm:
-	  Fix broken mod_ban+mod_ifsession test.
+2010-04-07  castaglia <castaglia>
 
-2009-12-01 19:59  castaglia
+	* src/main.c: Add trace logging of when the response chains are
+	flushed during the command dispatch cycle.
 
-	* src/display.c:
-	  The displaying of multiline Display files was leaving off the
-	  last line in the file; now fixed.
+2010-04-05  castaglia <castaglia>
 
-2009-12-01 19:56  castaglia
+	* utils/ftpcount.c: Fix a pedantic memory leak spotted by cppcheck.
+	Also fixes the code style in a few places.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/DELE.pm:
-	  Fix the DELE unit tests to handle different strerror(3) strings.
+2010-04-05  castaglia <castaglia>
 
-2009-12-01 11:39  castaglia
+	* contrib/mod_sftp/mac.c: Scrub the key memory area before freeing
+	it.
 
-	* 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.
+2010-04-05  castaglia <castaglia>
 
-2009-12-01 10:10  castaglia
+	* contrib/mod_sftp/mac.c: Running cppcheck found a memory leak where
+	we aren't freeing up malloc()'d memory on MAC errors.
 
-	* tests/t/lib/ProFTPD/: TestSuite/FTP.pm, Tests/Commands/RMD.pm,
-	  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.
+2010-04-05  castaglia <castaglia>
 
-2009-11-30 09:26  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.
 
-	* contrib/mod_sftp/channel.c, doc/contrib/mod_sftp.html:
-	  Handle multiple SFTPAcceptEnv directives if configured.
+2010-04-04  castaglia <castaglia>
 
-	  Add docs for the SFTPAcceptEnv directive.
+	* contrib/mod_sftp/mod_sftp.h.in: Add more explanation about the
+	assumptions involved in registering an 'exec' channel handler.
 
-2009-11-26 11:18  castaglia
+2010-04-04  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Include EINVAL in the list of errno values we expect to see from
-	  PRE_CMD handlers.
+	* contrib/mod_sftp/channel.c: Add more trace logging around the
+	searching and invoking of registered 'exec' channel handlers.
 
-2009-11-26 10:47  castaglia
+2010-04-03  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Make sure that the PRE_CMD handlers for RETR, APPE, and STOR set
-	  appropriate errno values.
+	* src/main.c: Make sure that premature SIGALRMs don't kill us; we
+	want to ignore SIGALRM unless we've registered a timer.
 
-	  Remove some code that would never be executed.
+2010-04-02  castaglia <castaglia>
 
-2009-11-26 10:38  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.
 
-	* 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.
+2010-04-02  castaglia <castaglia>
 
-2009-11-24 09:29  castaglia
+	* modules/mod_lang.c: Log the reason why the LANG command is denied
+	after a client has authenticated.
 
-	* 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.
+2010-04-01  castaglia <castaglia>
 
-2009-11-23 14:35  castaglia
+	* NEWS, contrib/mod_tls.c: Bug#3419 - SSL_shutdown() errors with
+	openssl-0.9.8m.
 
-	* src/dirtree.c:
-	  Added note for myself for the future, about why <Directory>
-	  patterns aren't matching as I had assumed they would.
+2010-03-31  castaglia <castaglia>
 
-2009-11-22 14:18  castaglia
+	* doc/contrib/mod_sftp.html: Update the mod_sftp doc, removing
+	DirFakeUser/DirFakeGroup from the list of unsupported features.
 
-	* 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.
+2010-03-31  castaglia <castaglia>
 
-	  This also fixes a warning about unreachable code, and adds a
-	  preemptive guard against trying to call memcpy(2) with a zero
-	  length.
+	* NEWS, contrib/mod_sftp/fxp.c: Bug#3413 - Support DirFakeUser,
+	DirFakeGroup for SFTP connections.
 
-2009-11-22 13:46  castaglia
+2010-03-31  castaglia <castaglia>
 
-	* contrib/mod_sftp/: kex.c, mod_sftp.c, packet.c:
-	  Close the SFTPLog descriptor at session exit.  Initialize some
-	  buffers (keeps Valgrind from whining about them).
+	* 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.
 
-2009-11-22 13:44  castaglia
+2010-03-31  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Close the scoreboard descriptor at session exit.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add regression test
+	for Bug#3420.
 
-2009-11-22 13:30  castaglia
+2010-03-30  castaglia <castaglia>
 
-	* contrib/mod_sftp/kex.c:
-	  Forgot the return statement.
+	* 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.
 
-2009-11-22 11:46  castaglia
+2010-03-30  castaglia <castaglia>
 
-	* contrib/mod_sftp/: kex.c, kex.h, 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.
+	* 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.
 
-2009-11-22 11:34  castaglia
+2010-03-30  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.
+	* 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.
 
-2009-11-20 20:55  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.
+2010-03-25  castaglia <castaglia>
 
-	  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.
+	* 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.
 
-	  Include MLSD in the list of commands which can trigger data
-	  transfers, and thus fall under the "TLSRequired data" checks.
+2010-03-22  castaglia <castaglia>
 
-2009-11-20 06:40  jwm
+	* src/scoreboard.c: Make sure we don't leak an fd when scrubbing the
+	scoreboard and we fail to lock the entire scoreboard.
 
-	* contrib/mod_ldap.c: release 2.8.21, with backports from bzr
-	  trunk:
+2010-03-19  castaglia <castaglia>
 
-	  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:
+	* 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.
 
-	    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.
+2010-03-19  castaglia <castaglia>
 
-	  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
+	* doc/howto/DisplayFiles.html: Add a FAQ about Display files whose
+	names contain spaces.
 
-	  bzr r77, r78:   Bug 3301 -  LDAP server failover does not work
-	  when ldap_initialize() is   available
+2010-03-19  castaglia <castaglia>
 
-	    fix LDAP server failover by implementing our own failover
-	  mechanism instead
-	    of relying on the LDAP SDK's.
+	* 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.
 
-	    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:
+2010-03-18  castaglia <castaglia>
 
-	      'LDAPServer "127.0.0.1 172.16.0.5"
+	* NEWS, contrib/mod_dynmasq.c: Bug#3411 - Support ftpdctl action to
+	manually request a mod_dynmasq refresh.
 
-	    was passed to ldap_initailize() as:
+2010-03-17  castaglia <castaglia>
 
-	      ldap://127.0.0.1 172.16.0.5/
+	* NEWS, modules/mod_facts.c,
+	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Bug#3318 - MLSD should
+	indicate symlinks if ShowSymlinks is enabled.
 
-	    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.
+2010-03-15  castaglia <castaglia>
 
-	    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).
+	* doc/contrib/mod_sftp.html: Another mod_sftp FAQ.
 
-	    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.
+2010-03-14  castaglia <castaglia>
 
-	    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.
+	* src/wtmp.c: Forgot to update the copyright date on this file.
 
-2009-11-19 21:10  castaglia
+2010-03-14  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.
+	* NEWS, src/wtmp.c: Bug#3409 - Build failure on newer FreeBSD due to
+	utmp/utmpx system changes.
 
-	  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.
+2010-03-14  castaglia <castaglia>
 
-2009-11-19 20:53  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.
 
-	* modules/mod_ls.c:
-	  Fix up some of the code style in mod_ls.
+2010-03-14  castaglia <castaglia>
 
-	  Add handling of signals in the while() loops which iterate over
-	  globbed paths.
+	* 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.
 
-	  Removed the '{' character from the glob character checks; it is
-	  not a glob(3) character.
+2010-03-14  castaglia <castaglia>
 
-2009-11-19 15:09  castaglia
+	* include/memcache.h: Fix some pesky compiler warnings about
+	shadowed 'pool' declarations.
 
-	* doc/contrib/mod_sftp.html:
-	  Try to make the requirement of using ssh-keygen to convert public
-	  keys to RFC4716 format clearer.
+2010-03-13  castaglia <castaglia>
 
-2009-11-19 10:55  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.
 
-	* NEWS, src/bindings.c:
-	  Bug#3306 - ECONNREFUSED while handling SIGHUP.
+2010-03-12  castaglia <castaglia>
 
-2009-11-18 21:29  castaglia
+	* NEWS, modules/mod_core.c: Bug#3412 - Include files not included
+	after restart due to permissions.
 
-	* lib/libltdl/.cvsignore:
-	  More auto-generated files to ignore.
+2010-03-12  castaglia <castaglia>
 
-2009-11-18 19:04  castaglia
+	* configure: Updated configure.
 
-	* configure:
-	  Updated configure.
+2010-03-12  castaglia <castaglia>
 
-2009-11-18 18:58  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.
 
-	* configure.in:
-	  Handle empty CONFIG_SHELL values.
+2010-03-11  castaglia <castaglia>
 
-2009-11-18 18:47  castaglia
+	* contrib/mod_deflate.c: Missing break statements.
 
-	* configure:
-	  Updated configure.
+2010-03-10  castaglia <castaglia>
 
-2009-11-18 18:45  castaglia
+	* contrib/mod_copy.c: Updated mod_copy to reflect the
+	xferlog_write() changes.
 
-	* configure.in:
-	  Although it looks like LTDL_INIT(convenience) and
-	  LTDL_CONVENIENCE are the same, they are not.	So we need to use
-	  both.
+2010-03-10  castaglia <castaglia>
 
-2009-11-18 18:18  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.
 
-	* Makefile.in:
-	  Comment out the target that might cause the machine to re-run
-	  autoconf.
+2010-03-10  castaglia <castaglia>
 
-2009-11-18 17:47  castaglia
+	* NEWS, RELEASE_NOTES, contrib/mod_copy.c,
+	doc/contrib/mod_copy.html: Added mod_copy to the contrib modules
+	area.
 
-	* configure:
-	  Updated configure.
+2010-03-10  castaglia <castaglia>
 
-2009-11-18 17:40  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.
 
-	* configure.in:
-	  More libtool-2.2.4 tweaking fun.
+2010-03-10  castaglia <castaglia>
 
-2009-11-18 17:33  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.
 
-	* configure:
-	  Updated configure.
+2010-03-10  castaglia <castaglia>
 
-2009-11-18 17:30  castaglia
+	* NEWS, contrib/mod_radius.c: Bug#3371 - Group limits in <LIMIT
+	LOGIN> blocks won't work with RADIUS-supplied groups.
 
-	* lib/libltdl/m4/ltdl.m4:
-	  In order to avoid the very, very annoying error of:
+2010-03-10  castaglia <castaglia>
 
-	    configure: error: conditional "INSTALL_LTDL" was never defined.
-	    Usually this means that the macro was only invoked
-	  conditionally.
+	* NEWS, contrib/mod_radius.c: Bug#3373 - RadiusGroupInfo should not
+	require that both names and IDs be VSAs.
 
-	  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.
+2010-03-10  castaglia <castaglia>
 
-2009-11-18 13:51  castaglia
+	* doc/contrib/mod_ban.html: Update mod_ban docs to include mention
+	of new -s command-line option for ban/permit ftpdctl actions.
 
-	* configure:
-	  Updated configure.
+2010-03-10  castaglia <castaglia>
 
-2009-11-18 13:48  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.
 
-	* Make.rules.in, configure.in:
-	  More libtool-2.2.4 tweaks, with help from Bob Friesenhahn.
+2010-03-10  castaglia <castaglia>
 
-2009-11-18 13:46  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.
 
-	* aclocal.m4:
-	  Re-create our aclocal.m4 using the aclocal tool.
+2010-03-10  castaglia <castaglia>
 
-2009-11-18 09:48  castaglia
+	* NEWS, RELEASE_NOTES, contrib/mod_deflate.c,
+	doc/contrib/mod_deflate.html: Adding mod_deflate to the contrib
+	module area.
 
-	* configure:
-	  Updated configure.
+2010-03-10  castaglia <castaglia>
 
-2009-11-18 09:45  castaglia
+	* contrib/mod_sql.c: There's no reason for the caches used by
+	mod_sql to be visible outside of that file.
 
-	* 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.
+2010-03-10  castaglia <castaglia>
 
-2009-11-18 09:39  castaglia
+	* NEWS, contrib/mod_tls.c: Bug#3374 - TLSVerifyClient and TLSOptions
+	NoCertRequest are incompatible.
 
-	* Makefile.in, configure.in:
-	  More wrestling with libtool-2.2.4.  I am *really* not liking this
-	  2.2.x release series.
+2010-03-10  castaglia <castaglia>
 
-2009-11-17 23:01  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.
 
-	* contrib/mod_sftp/fxp.c:
-	  Quelling compiler warnings.
+2010-03-10  castaglia <castaglia>
 
-2009-11-17 22:38  castaglia
+	* src/inet.c: Removed development/debug logging.
 
-	* NEWS, modules/mod_core.c:
-	  Bug#3342 - FEAT response contains LF without preceding CR.
+2010-03-09  castaglia <castaglia>
 
-2009-11-17 20:08  castaglia
+	* configure: Updated configure.
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Config/Limit/RMD.pm,
-	  t/config/limit/rmd.t:
-	  Add regression test demonstrating how to make an undeletable
-	  directory using the <Limit> + Filter approach.
+2010-03-09  castaglia <castaglia>
 
-2009-11-17 16:52  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.
 
-	* doc/contrib/mod_sftp.html:
-	  Update mod_sftp doc so that it's hopefully less confusing.
+2010-03-09  castaglia <castaglia>
 
-2009-11-17 14:55  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>
 
-	* 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.
+	* configure: Updated configure.
 
-2009-11-17 11:28  castaglia
+2010-03-08  castaglia <castaglia>
 
-	* NEWS:
-	  Bug#3331 - Update bundled libtool to 2.2.4.
+	* NEWS, config.h.in, configure.in, include/conf.h: Bug#3408 - Use
+	<termios.h> instead of <sys/termios.h> where possible.
 
-2009-11-17 11:27  castaglia
+2010-03-08  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* configure: Updated configure.
 
-2009-11-17 11:20  castaglia
+2010-03-08  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.
+	* NEWS, configure.in: Bug#2768 - Provide
+	--with-mysql-config/--with-postgres-config build options.
 
-2009-11-17 11:19  castaglia
+2010-03-08  castaglia <castaglia>
 
-	* lib/libltdl/.cvsignore:
-	  One more libtool file to ignore.
+	* 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.
 
-2009-11-17 11:18  castaglia
+2010-03-08  castaglia <castaglia>
 
-	* lib/libltdl/.cvsignore:
-	  More files to ignore with this new version of libtool.
+	* NEWS, include/netaddr.h, src/inet.c, src/netaddr.c: Bug#2196 -
+	Handle IPv4-mapped IPv6 addresses as IPv4 addresses.
 
-2009-11-17 10:46  castaglia
+2010-03-06  castaglia <castaglia>
 
-	* lib/libltdl/ltdl.c:
-	  Backport the patch for the bugs found in libtool-2.2.6 to this
-	  2.2.4 version.
+	* 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.
 
-2009-11-17 10:44  castaglia
+2010-03-06  castaglia <castaglia>
 
-	* lib/libltdl/: Makefile.in, acinclude.m4, argz.c, config.guess,
-	  config.sub, install-sh, ltmain.sh, missing:
-	  Bug#3331 - Update bundled libtool to 2.2.4.
+	* src/stash.c: Remove some development/testing cruft.
 
-2009-11-17 10:33  castaglia
+2010-03-06  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* 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.
 
-2009-11-17 10:25  castaglia
+2010-03-06  castaglia <castaglia>
 
-	* 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/configure,
-	  lib/libltdl/configure.ac, 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/slist.c,
-	  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/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/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,
-	  aclocal.m4, ltmain.sh, configure.in, modules/mod_dso.c:
-	  Bug#3331 - Update bundled libtool to 2.2.4.
+	* 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.
 
-2009-11-17 10:12  castaglia
+2010-03-06  castaglia <castaglia>
 
-	* config.guess, config.sub:
-	  Updating the config.guess and config.sub helper scripts.
+	* src/modules.c: Removed unused/dead callback typedef.
 
-2009-11-17 10:01  castaglia
+2010-03-05  castaglia <castaglia>
 
-	* install-sh:
-	  Updated the install-sh script.
+	* NEWS, contrib/mod_ban.c: Bug#3393 - Specify the <VirtualHost> when
+	using 'ban' or 'permit' ftpdctl actions.
 
-2009-11-17 09:36  castaglia
+2010-03-05  castaglia <castaglia>
 
-	* doc/howto/Timestamps.html:
-	  Mention MFMT in the Timestamps howto.
+	* 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.
 
-2009-11-16 20:38  castaglia
+2010-03-04  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Add the SFTP Extensions Draft to the list.
+	* NEWS, contrib/mod_ban.c: Bug#3392 - Display <VirtualHost>
+	information in 'ban info' ftpdctl action response.
 
-2009-11-15 22:12  castaglia
+2010-03-04  castaglia <castaglia>
 
-	* contrib/mod_sftp/channel.c:
-	  Locking down more environment variables from SSH2 client
-	  tweaking.
+	* contrib/mod_sftp/channel.c: Add a little more trace logging to the
+	handling of SSH2 channel data.
 
-2009-11-15 21:48  castaglia
+2010-03-04  castaglia <castaglia>
 
-	* contrib/mod_sftp/channel.c:
-	  Add more barred environment variables to the list.
+	* contrib/mod_sftp/msg.c: Initialize these variables pedantically.
 
-2009-11-15 21:41  castaglia
+2010-03-04  castaglia <castaglia>
 
-	* contrib/mod_sftp/channel.c:
-	  Don't allow SSH2 clients to change the TZ environment variable,
-	  either.
+	* contrib/mod_sftp/msg.c: Log data lengths as unsigned longs for
+	size_t, not unsigned ints.
 
-2009-11-15 21:40  castaglia
+2010-03-04  castaglia <castaglia>
 
-	* contrib/mod_sftp/channel.c:
-	  Add a few more environment variables that SSH2 clients are barred
-	  from sending/overriding in their session.
+	* doc/contrib/mod_qos.html: Adding documentation for mod_qos
+	(Bug#3353).
 
-2009-11-15 21:16  castaglia
+2010-03-04  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Adding some notes for my future self.
+	* README.modules, RELEASE_NOTES: Update docs with mention of
+	mod_qos.
 
-2009-11-15 21:14  castaglia
+2010-03-04  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.
+	* 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.
 
-2009-11-15 19:56  castaglia
+2010-03-04  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Simpler fix for Bug#3337.
+	* tests/api/scoreboard.c, tests/api/str.c: Update failing scoreboard
+	API test.  Add new sreplace API test.
 
-2009-11-15 12:18  castaglia
+2010-03-04  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.
+	* 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.
 
-2009-11-15 12:13  castaglia
+2010-03-04  castaglia <castaglia>
 
-	* contrib/mod_sftp/scp.c:
-	  Include the sticky bit when sending/receiving files/directories.
+	* 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.
 
-2009-11-14 16:27  castaglia
+2010-03-04  castaglia <castaglia>
 
-	* NEWS, src/dirtree.c:
-	  Bug#3337 - <Directory> sections with a trailing directory name of
-	  one character have <Limit> problems.	This is a regression caused
-	  by Bug#3146.
+	* src/dirtree.c: Avoid compiler warning about uninitialized
+	variable.
 
-2009-11-14 16:23  castaglia
+2010-03-04  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.
+	* modules/mod_core.c: Avoid compiler warning about unitialized
+	variable.
 
-2009-11-14 15:29  castaglia
+2010-03-04  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.
+	* src/throttle.c: Remove an unused variable.
 
-2009-11-14 14:57  castaglia
+2010-03-03  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.
+	* 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.
 
-2009-11-14 12:40  castaglia
+2010-03-03  castaglia <castaglia>
 
-	* configure:
-	  Updated configure script.
+	* include/options.h: 4K for an environ variable value might be a bit
+	excessive; let's use 2K.
 
-2009-11-14 12:37  castaglia
+2010-03-03  castaglia <castaglia>
 
-	* configure.in:
-	  Add use of the -Wunreachable-code compiler flag, where supported,
-	  when --enable-devel is used.
+	* include/options.h, src/env.c, src/proctitle.c: Set a limit on the
+	maximum length of environment variable values.
 
-	  Make the use of the AC_DEFINE macro more consistent by providing
-	  the optional message in more places.
+2010-03-03  castaglia <castaglia>
 
-2009-11-14 12:13  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.
 
-	* m4/proftpd.m4:
-	  Try to make the use of the AC_DEFINE macro more consistent with
-	  other occurrences by supplying a message.
+2010-03-03  castaglia <castaglia>
 
-2009-11-14 11:15  castaglia
+	* NEWS, src/log.c: Bug#3404 - SyslogLevel not applied to SystemLog.
 
-	* 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.
+2010-03-03  castaglia <castaglia>
 
-2009-11-14 10:23  castaglia
+	* NEWS, contrib/mod_sftp/mod_sftp.c: Bug#3405 - Multiple
+	SFTPAuthorizedUserKeys stores causes segfault on 64-bit platforms.
 
-	* modules/mod_core.c:
-	  Add trace logging of the pr_netacl_t objects created via other
-	  config directives.
+2010-03-03  castaglia <castaglia>
 
-2009-11-13 17:16  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.
 
-	* 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.
+2010-03-02  castaglia <castaglia>
 
-2009-11-13 10:59  castaglia
+	* doc/contrib/mod_sftp_sql.html: Update the mod_sftp_sql doc to
+	mention where to find the latest version.
 
-	* doc/contrib/mod_sql.html:
-	  Fix typo in mod_sql docs.
+2010-03-02  castaglia <castaglia>
 
-	  Add description of the interaction between the
-	  useNormalizedGroupSchema SQLOption and custom SQLGroupInfo
-	  queries.
+	* NEWS, contrib/mod_ban.c: Bug#3339 - Support ban rule for clients
+	which login too frequently.
 
-2009-11-13 10:29  castaglia
+2010-03-02  castaglia <castaglia>
 
-	* contrib/mod_sql_mysql.c:
-	  Typo.
+	* NEWS, locale/Makefile.in, locale/ja_JP.po: Bug#3400 - Add Japanese
+	translation.
 
-2009-11-13 10:26  castaglia
+2010-03-02  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql_mysql.c:
-	  Bug#3333 - mod_sql_mysql should support calling stored procedures
-	  better.
+	* NEWS, modules/mod_facts.c: Bug#3403 - File upload followed by MLSD
+	leads to wrong file size entries in TransferLog.
 
-2009-11-13 09:19  castaglia
+2010-03-02  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.
+	* NEWS, contrib/mod_tls.c: Bug#3402 - mod_tls does not compile with
+	pre-0.9.7 OpenSSL due to Bug#3349.
 
-2009-11-13 07:56  castaglia
+2010-03-02  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.
+	* NEWS, contrib/mod_sftp/crypto.c: Bug#3401 - mod_sftp does not
+	compile with pre-0.9.7 OpenSSL.
 
-2009-11-12 23:34  castaglia
+2010-02-28  jwm <jwm>
 
-	* contrib/mod_sftp/fxp.c:
-	  Make sure that we only send defined flag values in the
-	  statvfs at openssh.com extension response.
+	* 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
 
-2009-11-12 18:29  castaglia
+2010-02-25  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.
+	* 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.
 
-2009-11-12 09:24  castaglia
+2010-02-25  castaglia <castaglia>
 
-	* doc/contrib/mod_ban.html:
-	  Adding a mod_ban FAQ, cleaning up a minor nit.
+	* tests/t/lib/ProFTPD/Tests/Config/Limit/MFMT.pm: Remove development
+	cruft.
 
-2009-11-11 09:51  castaglia
+2010-02-25  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.
+	* doc/howto/Versioning.html: Fix typo, update example.
 
-2009-11-10 09:32  castaglia
+2010-02-24  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/Limit/SubDirectories.pm:
-	  Add more tests for the fix for Bug#3077.
+	* NEWS, modules/mod_facts.c,
+	tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Bug#3302 - MLST response
+	should include full path name.
 
-2009-11-10 09:23  castaglia
+2010-02-24  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.
+	* 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.
 
-2009-11-09 22:11  castaglia
+2010-02-24  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.
+	* NEWS, contrib/mod_tls.c: Bug#3365 - First certificate in
+	TLSCertificateChainFile is skipped.
 
-2009-11-09 21:02  castaglia
+2010-02-24  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).
+	* 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.
 
-2009-11-09 17:08  castaglia
+2010-02-24  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.
+	* doc/contrib/index.html: Updated index of contrib module docs.
 
-2009-11-09 17:03  castaglia
+2010-02-24  castaglia <castaglia>
 
-	* NEWS, contrib/mod_quotatab.c:
-	  Bug#3328 - Failed database transaction can cause mod_quotatab to
-	  loop endlessly.
+	* include/version.h: Updated for CVS.
 
-2009-11-09 16:40  castaglia
+2010-02-24  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm:
-	  Add mod_quotatab test for RETR byte limits.
+	* ChangeLog: Updated ChangeLog.
 
-2009-11-09 14:09  castaglia
+2010-02-24  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.
+	* NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec,
+	include/version.h: Preparing for release of 1.3.3-stable.
 
-2009-11-09 10:34  castaglia
+2010-02-24  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Quell Perl
+	interpreter warnings about redeclared variables.
 
-2009-11-09 09:26  castaglia
+2010-02-24  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Backport the change to mod_tls that removes the daemon-exit
-	  listener from the session process.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Quell some Perl
+	interpreter warnings about redeclared variables.
 
-2009-11-08 22:46  castaglia
+2010-02-24  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.
+	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Quell Perl
+	interpreter warning about "useless use of private variable in void
+	context".
 
-2009-11-08 22:41  castaglia
+2010-02-23  castaglia <castaglia>
 
-	* contrib/: mod_quotatab.c, 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.
+	* 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.
 
-2009-11-08 20:40  castaglia
+2010-02-23  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.
+	* modules/mod_ls.c: Make sure that the pluralization of "paths"
+	matches the count displayed in the log message.
 
-2009-11-08 19:51  castaglia
+2010-02-22  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.
+	* NEWS, contrib/mod_ban.c: Bug#3389 - Cannot create mod_ban
+	whitelists using <Class> and <IfClass> sections.
 
-2009-11-08 19:47  castaglia
+2010-02-22  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.
+	* 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.
 
-2009-11-08 18:18  castaglia
+2010-02-21  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.
+	* contrib/mod_sftp/rfc4716.c: Support use of FIFOs as
+	SFTPAuthorized{Host,User}Keys files.
 
-2009-11-08 17:27  castaglia
+2010-02-21  castaglia <castaglia>
 
-	* RELEASE_NOTES, doc/contrib/mod_sftp.html:
-	  Mention the new SFTP extensions, and the SFTPExtensions
-	  directive, in the release notes.
+	* src/inet.c: Log if getsockname(2) returns an error.
 
-	  Update the mod_sftp doc to cover the SFTPExtensions directive.
+2010-02-21  castaglia <castaglia>
 
-2009-11-08 16:50  castaglia
+	* src/dirtree.c: Handle an edge case/regression from Bug#3337.
 
-	* 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).
+2010-02-19  castaglia <castaglia>
 
-2009-11-08 16:48  castaglia
+	* contrib/mod_tls.c: Slightly better logging of SSL session reuse
+	for data connections.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/DELE.pm:
-	  Add unit test for DELEs on symlinks.
+2010-02-19  castaglia <castaglia>
 
-2009-11-08 13:23  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.
 
-	* contrib/mod_sftp/: fxp.c, fxp.h, 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.
+2010-02-19  castaglia <castaglia>
 
-	  Thus this patch introduces a new SFTPExtensions directive.
+	* contrib/mod_sftp/fxp.c: Fix some of the compiler warnings
+	mentioned in Bug#3394.
 
-2009-11-08 12:43  castaglia
+2010-02-17  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Update the list of SFTP extensions supported by mod_sftp.
+	* 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.
 
-2009-11-08 12:37  castaglia
+2010-02-17  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Bug#3320 - Support the "copy-file" SFTP extension.
+	* doc/howto/Limit.html: Add blocking of STAT to "blind directory"
+	example, per Bug#3391.
 
-2009-11-08 12:25  castaglia
+2010-02-15  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.
+	* doc/howto/SQL.html: Add SQL FAQ about encrypting the connections
+	between mod_sql and the backend database server.
 
-2009-11-08 11:58  castaglia
+2010-02-15  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
+	* 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.
 
-	  Also some stylistic changes.
+2010-02-15  castaglia <castaglia>
 
-2009-11-08 11:20  castaglia
+	* configure: Updated configure.
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Bug#3321 - Support the "check-file-name" and "check-file-handle"
-	  SFTP extensions.
+2010-02-15  castaglia <castaglia>
 
-2009-11-07 19:41  castaglia
+	* configure.in: The various library directories need to be included
+	in the `proftpd -V' output as well.
 
-	* contrib/mod_sftp/configure:
-	  Updated mod_sftp's configure script.
+2010-02-15  castaglia <castaglia>
 
-2009-11-07 19:28  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.
 
-	* contrib/mod_sftp/: configure.in, mod_sftp.h.in:
-	  Add checks for support for SHA256 and SHA512 in OpenSSL to
-	  mod_sftp's configure script.
+2010-02-14  castaglia <castaglia>
 
-2009-11-07 14:41  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.
 
-	* 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.
+2010-02-14  castaglia <castaglia>
 
-2009-11-07 14:40  castaglia
+	* src/modules.c: Comment corrections.
 
-	* contrib/mod_sftp/fxp.c:
-	  Minor refinement to the version-select SFTP extension
-	  implementation.
+2010-02-13  castaglia <castaglia>
 
-2009-11-07 14:34  castaglia
+	* include/version.h: Updated version for CVS.
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Bug#3322 - Support the "version-select" SFTP extension.
+2010-02-13  castaglia <castaglia>
 
-2009-11-07 12:11  castaglia
+	* ChangeLog: Updated ChangeLog.
 
-	* NEWS, contrib/mod_tls_shmcache.c:
-	  Bug#3326 - Shared memory segment used for session cache should be
-	  protected via mlock(2).
+2010-02-13  castaglia <castaglia>
 
-2009-11-07 11:46  castaglia
+	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Updates
+	for the 1.3.3rc4 release.
 
-	* NEWS, contrib/mod_tls_shmcache.c:
-	  Bug#3327 - Clear external SSL session caches on server
-	  restart/shutdown.
+2010-02-13  castaglia <castaglia>
 
-2009-11-07 10:46  castaglia
+	* RELEASE_NOTES: Preparing release notes for another RC.
 
-	* 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.
+2010-02-11  castaglia <castaglia>
 
-2009-11-06 19:45  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).
 
-	* NEWS, RELEASE_NOTES, contrib/mod_tls.c:
-	  Bug#3324 - Vulnerability in SSL/TLS protocol during renegotiation
-	  (CVE-2009-3555).
+2010-02-11  castaglia <castaglia>
 
-2009-11-06 19:44  castaglia
+	* src/dirtree.c: Minor code style cleanup, no functional change.
 
-	* RELEASE_NOTES:
-	  Typo.
+2010-02-11  castaglia <castaglia>
 
-2009-11-06 19:41  castaglia
+	* src/netacl.c: More trace logging of comparison of netacls.
 
-	* doc/contrib/mod_tls.html:
-	  Mention that server-initiated SSL session renegotiations are
-	  still honored when possible.
+2010-02-11  castaglia <castaglia>
 
-2009-11-06 19:39  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression
+	tests for uploading and downloading zero-length files via SFTP and
+	SCP.
 
-	* 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.
+2010-02-10  castaglia <castaglia>
 
-2009-11-06 19:36  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.
 
-	* NEWS, configure.in:
-	  Bug#3311 - configure script should automatically detect when -ldl
-	  is needed by OpenSSL.
+2010-02-10  castaglia <castaglia>
 
-2009-11-06 18:42  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.
 
-	* 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.
+2010-02-10  castaglia <castaglia>
 
-2009-11-06 18:01  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.
 
-	* contrib/mod_tls.c:
-	  Handle signals in the diagnostic callback.
+2010-02-10  castaglia <castaglia>
 
-2009-11-06 17:52  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.
 
-	* contrib/mod_tls.c:
-	  More work towards Bug#3324 - allow server-initiated session
-	  renegotiations whilst rejecting client-initiated session
-	  renegotiations.
+2010-02-10  castaglia <castaglia>
 
-2009-11-06 17:11  castaglia
+	* doc/howto/Compiling.html: Slightly better/fuller example.
 
-	* doc/contrib/mod_tls.html:
-	  Document the new AllowClientRenegotiations TLSOption.
+2010-02-10  castaglia <castaglia>
 
-2009-11-06 17:06  castaglia
+	* configure: Updated configure.
 
-	* RELEASE_NOTES:
-	  Update the release notes.
+2010-02-10  castaglia <castaglia>
 
-2009-11-06 16:55  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).
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3324 - Vulnerability in SSL/TLS protocol during renegotiation
-	  (CVE-2009-3555).
+2010-02-10  castaglia <castaglia>
 
-2009-11-06 16:53  castaglia
+	* modules/mod_delay.c: Quell compiler warning about unreachable
+	code.  Prepare mod_delay for acting properly when compiled as a DSO
+	module.
 
-	* doc/howto/TLS.html:
-	  Add a TLS FAQ, inspired by Bug#3247 (and its ensuing duplicates).
+2010-02-10  castaglia <castaglia>
 
-2009-11-06 10:57  castaglia
+	* modules/mod_facl.c: Remove duplicate registration of module unload
+	listener in mod_facl.
 
-	* 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).
+2010-02-10  castaglia <castaglia>
 
-2009-11-06 10:52  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.
 
-	* contrib/mod_tls.c:
-	  Allow "TLSRenegotiate off" as a synonym for "TLSRenegotiate
-	  none".
+2010-02-10  castaglia <castaglia>
 
-2009-11-06 10:46  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.
 
-	* 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.
+2010-02-10  castaglia <castaglia>
 
-2009-11-06 10:12  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.
 
-	* contrib/mod_tls.c:
-	  Ignore EAGAIN errors when the EnableDiags TLSOption is used; they
-	  just clutter up the TLSLog.
+2010-02-10  castaglia <castaglia>
 
-2009-11-06 07:47  castaglia
+	* contrib/mod_tls.c: Quell some compiler warnings about unreachable
+	code.
 
-	* 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.
+2010-02-10  castaglia <castaglia>
 
-2009-11-05 17:56  castaglia
+	* contrib/mod_sql.c: Unregister the registered authtype handlers
+	upon module unload.
 
-	* 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.
+2010-02-10  castaglia <castaglia>
 
-2009-11-05 16:09  castaglia
+	* contrib/mod_quotatab.c: Set the prev pointer properly when
+	registering a quotatab backend.
 
-	* contrib/mod_tls.c:
-	  Minor reordering of the logged SSL/TLS end-of-connection stats;
-	  this way the cache-related stats appear together.
+2010-02-10  castaglia <castaglia>
 
-2009-11-05 10:24  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.
 
-	* modules/mod_ls.c:
-	  Make sure that we can handle symlinks whose target paths are long
-	  (e.g.  longer than 1K).
+2010-02-10  castaglia <castaglia>
 
-2009-11-05 09:46  castaglia
+	* src/bindings.c: When getting a listening connection, handle cases
+	where an IP address string can't be returned for some reason.
 
-	* contrib/mod_sql_passwd.c, contrib/mod_sftp/fxp.c,
-	  contrib/mod_sftp/keys.c, contrib/mod_sftp/scp.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.
+2010-02-10  castaglia <castaglia>
 
-2009-11-05 09:40  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.
 
-	* contrib/: mod_sftp_pam.c, mod_sftp/auth.h, mod_sftp/keystore.c,
-	  mod_sftp/mod_sftp.h.in:
-	  Clean up a few warts and warnings.
+2010-02-09  castaglia <castaglia>
 
-2009-11-04 21:37  castaglia
+	* src/timers.c: Paranoid checking for NULL parameters for a trace
+	message in the Timers API.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm:
-	  Adding unit test for LIST output of a symlink when ShowSymlinks
-	  is enabled.
+2010-02-09  castaglia <castaglia>
 
-2009-11-04 18:19  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).
 
-	* 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.
+2010-02-08  castaglia <castaglia>
 
-2009-11-04 18:17  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.
 
-	* tests/: tests.pl, t/config/classes.t,
-	  t/lib/ProFTPD/Tests/Config/Classes.pm:
-	  Adding unit tests for various <Class> configurations and rules.
+2010-02-08  castaglia <castaglia>
 
-2009-11-04 15:24  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.
 
-	* 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.
+2010-02-08  castaglia <castaglia>
 
-2009-11-04 15:02  castaglia
+	* src/fsio.c: More defensive programming: check for cases where
+	lookup_fs_file() returns NULL, and Do The Right Thing(tm).
 
-	* RELEASE_NOTES, doc/modules/mod_cap.html, modules/mod_cap.c:
-	  Support adding the CAP_FOWNER capability.
+2010-02-08  castaglia <castaglia>
 
-2009-11-04 13:09  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.
 
-	* RELEASE_NOTES:
-	  Mention support for the OpenSSH extensions in the release notes.
+2010-02-08  castaglia <castaglia>
 
-2009-11-04 13:07  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.
 
-	* contrib/mod_sftp/fxp.c, doc/contrib/mod_sftp.html:
-	  Added support for the posix-rename at openssh.com OpenSSH SFTP
-	  extension.
+2010-02-08  castaglia <castaglia>
 
-2009-11-04 12:51  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.
 
-	* contrib/mod_sftp/fxp.c:
-	  When handling RENAME SFTP requests, make sure to update the
-	  scoreboard with the name of "RENAME", not "REALPATH".  Sheesh.
+2010-02-08  castaglia <castaglia>
 
-2009-11-04 12:27  castaglia
+	* src/trace.c: Prevent long trace log lines from trampling each
+	other by truncating and adding a terminating newline properly.
 
-	* 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.
+2010-02-08  castaglia <castaglia>
 
-2009-11-04 12:19  castaglia
+	* contrib/mod_sftp/packet.c: Make sure we don't try to read in more
+	data than can fit in our packet buffer.
 
-	* NEWS, contrib/mod_wrap.c, include/log.h, src/log.c:
-	  Bug#3317 - mod_wrap/libwrap should honor SyslogFacility setting.
+2010-02-07  castaglia <castaglia>
 
-2009-11-04 11:07  castaglia
+	* configure: Updated configure.
 
-	* 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.
+2010-02-07  castaglia <castaglia>
 
-	  Mention the support for OpenSSH's "statvfs at openssh.com" and
-	  "fstatvfs at openssh.com" SFTP extensions.
+	* configure.in: Make sure that compiler optimizations are disabled
+	when --enable-devel is used.
 
-2009-11-04 10:49  castaglia
+2010-02-07  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Document the use of the SSH_CONNECTION environment variable.
+	* 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.
 
-2009-11-04 10:48  castaglia
+2010-02-06  castaglia <castaglia>
 
-	* contrib/mod_sftp/mod_sftp.c:
-	  Set the SSH_CONNECTION environment variable, using the same
-	  format as OpenSSH.
+	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Make sure that
+	config_write() can handle Anonymous sections which contain nested
+	Directory or Limit sections.
 
-2009-11-04 10:01  castaglia
+2010-02-05  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.
+	* src/event.c: Include the memory address of the event callback
+	being invoked in the trace message about event handling.
 
-2009-11-04 09:50  castaglia
+2010-02-04  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp_pam.c, contrib/mod_sftp/auth.c,
-	  contrib/mod_sftp/auth.h:
-	  Bug#3316 - Messages from PAM modules are ignored when
-	  authenticating SSH clients via 'keyboard-interactive'.
+	* doc/contrib/mod_sftp_sql.html: Update the schema examples for
+	storing SSH keys; include indices in the example schema.
 
-2009-11-03 11:12  castaglia
+2010-02-04  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Mention the %u variable in the SFTPAuthorizedUserKeys directive
-	  description.
+	* src/pool.c: Make the name of the oom pool walking function be
+	'oom_printf', just to be very clear.
 
-2009-11-03 11:03  castaglia
+2010-02-04  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.
+	* 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.
 
-2009-11-03 10:15  castaglia
+2010-02-04  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* 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.
 
-2009-11-03 10:09  castaglia
+2010-02-04  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.
+	* 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.
 
-2009-11-03 00:09  castaglia
+2010-02-04  castaglia <castaglia>
 
-	* contrib/mod_sftp/: fxp.c, fxp.h:
-	  Added support for the statvfs at openss.com and fstatvfs at openssh.com
-	  OpenSSH SFTP extensions.
+	* 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.
 
-2009-11-02 22:39  castaglia
+2010-02-04  castaglia <castaglia>
 
-	* NEWS:
-	  Pedantic correction: lseek(2), not lseek(3).
+	* 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".
 
-2009-11-02 22:37  castaglia
+2010-02-04  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/scp.c, modules/mod_xfer.c:
-	  Bug#3314 - Downloading from FIFOs via SFTP/SCP fails.
+	* NEWS, contrib/mod_sftp/scp.c: Bug#3386 - Downloading via SCP can
+	stall due to rekeying.
 
-2009-11-02 22:35  castaglia
+2010-02-04  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/fxp.c:
-	  Bug#3313 - Uploading via SFTP to FIFOs fails due to illegal
-	  lseek(3), truncate(2) calls.
+	* contrib/mod_sftp/scp.c: Typo.
 
-2009-11-02 22:32  castaglia
+2010-02-04  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.
+	* 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.
 
-2009-11-02 22:28  castaglia
+2010-02-04  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  On some platforms, ENXIO has a string representation of "Device
-	  not configured".
+	* NEWS, contrib/mod_sftp/channel.c: Bug#3385 - Memory leak during
+	SCP download.
 
-2009-11-02 20:10  castaglia
+2010-02-04  castaglia <castaglia>
 
-	* contrib/mod_sftp/packet.c:
-	  Adding reminder notes/comments for my future self.
+	* 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.
 
-2009-11-02 19:53  castaglia
+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 at 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 at 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 at 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>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Remove duplicate unit test entry from the list.
+	* 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.
 
-2009-11-02 19:48  castaglia
+2010-02-01  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.
+	* NEWS, contrib/mod_radius.c: Bug#3381 - RADIUS authentication
+	broken on 64-bit platforms.
 
-2009-11-02 19:22  castaglia
+2010-01-31  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.
+	* 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.
 
-2009-11-02 19:01  castaglia
+2010-01-31  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).
+	* 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.
 
-2009-11-02 18:31  castaglia
+2010-01-31  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.
+	* 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.
 
-2009-11-02 17:28  castaglia
+2010-01-29  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.
+	* NEWS, modules/mod_log.c,
+	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#3383 -
+	ExtendedLog variables for protocol and version not handled properly.
 
-2009-11-02 16:26  castaglia
+2010-01-29  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.
+	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add a function for getting
+	the version of the current proftpd (using `proftpd -V').
 
-2009-11-02 16:26  castaglia
+2010-01-26  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.)
+	* src/support.c: Add a counter for signal blocking/unblocking, to
+	handle nested calls.  Also added trace logging for signal
+	blocking/unblocking.
 
-2009-11-02 16:25  castaglia
+2010-01-26  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).
+	* src/timers.c: Use proper pluralization in the timer trace
+	messages.
 
-2009-10-30 16:36  castaglia
+2010-01-26  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap.pm:
-	  Adding unit tests for more of mod_wrap's directives.
+	* 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.
 
-2009-10-30 15:37  castaglia
+2010-01-26  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_wrap.pm,
-	  t/modules/mod_wrap.t:
-	  Start of unit tests for the mod_wrap module.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add unit test
+	for a "SQLLog EXIT" configuration.
 
-2009-10-30 10:30  castaglia
+2010-01-23  castaglia <castaglia>
 
-	* locale/fr_FR.po:
-	  Bug#3309 - Fix whitespace in MLST response when using the fr_FR
-	  locale.
+	* configure: Update configure.
 
-2009-10-29 09:53  castaglia
+2010-01-23  castaglia <castaglia>
 
-	* RELEASE_NOTES, locale/Makefile.in, locale/zh_TW.po:
-	  Wei-Lun Chao contributed a Taiwan translation for proftpd.
+	* 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).
 
-2009-10-29 09:52  castaglia
+2010-01-23  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Mention new Taiwan translation in release notes.
+	* 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.
 
-2009-10-29 09:52  castaglia
+2010-01-23  castaglia <castaglia>
 
-	* locale/: Makefile.in, zh_TW.po:
-	  Wei-Lun Chao contributed a Taiwanese translation for proftpd.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Adding more
+	regression tests for mod_wrap2/mod_wrap2_file.
 
-2009-10-29 08:24  castaglia
+2010-01-23  castaglia <castaglia>
 
-	* contrib/mod_sftp/cipher.c:
-	  Quell compiler warnings about mismatched data types.
+	* 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.
 
-2009-10-28 14:48  castaglia
+2010-01-23  castaglia <castaglia>
 
-	* src/auth.c:
-	  Fixing another part of Bug#3307.
+	* src/netaddr.c: When resolving names to addresses via
+	getaddrinfo(3), give getaddrinfo() the hint that we're only
+	interested in TCP, not UDP.
 
-2009-10-28 14:46  castaglia
+2010-01-22  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Logins.pm:
-	  Adding more regression tests (and improving existing tests) for
-	  Bug#3307.
+	* src/netaddr.c: Make sure that the errno value is preserved in
+	failure cases in pr_netaddr_get_addr().
 
-2009-10-27 09:45  castaglia
+2010-01-21  castaglia <castaglia>
 
-	* NEWS, src/auth.c, tests/t/lib/ProFTPD/Tests/Logins.pm:
-	  Bug#3307 - All FTP logins treated as anonymous logins.
+	* doc/howto/Upgrade.html: Update the Upgrade howto to use -d10
+	rather than -d9; more information is better when testing a version
+	for upgrading.
 
-2009-10-26 16:01  castaglia
+2010-01-20  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.
+	* contrib/mod_ban.c: Removed some unnecessary logging.
 
-2009-10-26 15:12  castaglia
+2010-01-19  castaglia <castaglia>
 
-	* modules/mod_log.c:
-	  Add some additional room for other ExtendedLog data.
+	* 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.
 
-2009-10-26 15:09  castaglia
+2010-01-19  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).
+	* NEWS, contrib/mod_tls.c: Bug#3375 - Minor SIGHUP-based memory leak
+	in mod_tls.
 
-2009-10-26 08:39  castaglia
+2010-01-19  castaglia <castaglia>
 
-	* doc/howto/: Nonroot.html, index.html:
-	  Add the nonroot howto to the collection.
+	* 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).
 
-2009-10-23 09:28  castaglia
+2010-01-19  castaglia <castaglia>
 
-	* NEWS, lib/pr-syslog.c:
-	  Bug#3305 - Emulate Solaris 10 syslog "header" on Solaris 10
-	  servers.
+	* 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.
 
-2009-10-23 09:16  castaglia
+2010-01-19  castaglia <castaglia>
 
-	* src/main.c:
-	  Initialize the xerrno variable, to quell a compiler warning.
+	* 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.
 
-2009-10-21 17:40  castaglia
+2010-01-17  castaglia <castaglia>
 
-	* src/inet.c:
-	  Pedantic comment typo correction.
+	* 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.
 
-2009-10-21 10:26  castaglia
+2010-01-17  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/hidenoaccess.t,
-	  t/lib/ProFTPD/Tests/Config/HideNoAccess.pm:
-	  Add unit test for the HideNoAccess directive.
+	* 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.
 
-2009-10-21 09:42  castaglia
+2010-01-15  castaglia <castaglia>
 
-	* doc/howto/Scoreboard.html:
-	  Add scoreboard FAQ about "bad version (too old)" errors.
+	* contrib/mod_radius.c: Update the copyright dates in mod_radius.c,
+	since the code has changed.
 
-2009-10-21 09:39  castaglia
+2010-01-15  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Added mod_sftp FAQ about ListOptions.
+	* NEWS, contrib/mod_radius.c: Bug#3372 - ProFTPD crashes when
+	retrying a failed login with mod_radius being used.
 
-2009-10-21 08:05  castaglia
+2010-01-11  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Cleanly shutdown the SSL/TLS session (if there is one) for
-	  TimeoutLogin as well.
+	* doc/contrib/mod_sftp_sql.html: Use HTML entity encoding for angle
+	brackets; more browsers like this.
 
-2009-10-20 18:41  castaglia
+2010-01-11  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.
+	* 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.
 
-2009-10-20 17:24  castaglia
+2010-01-10  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3303 - FileZilla reports "Server did not properly shut down
-	  TLS connection" after TimeoutIdle triggered..
+	* src/scoreboard.c: Whitespace/coding style change, no functional
+	change.  Update the copyright date.
 
-2009-10-20 14:58  castaglia
+2010-01-10  castaglia <castaglia>
 
-	* doc/contrib/mod_tls.html:
-	  Markup error.
+	* 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.
 
-2009-10-20 14:47  castaglia
+2010-01-10  castaglia <castaglia>
 
-	* include/version.h:
-	  Bumped version to what will become 1.3.3rc3.
+	* configure: Updated configure.
 
-2009-10-20 14:13  castaglia
+2010-01-10  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Getting versions ready for 1.3.3rc2 release.
+	* 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.
 
-2009-10-20 14:11  castaglia
+2010-01-08  castaglia <castaglia>
 
-	* NEWS:
-	  Mention the release date for 1.3.3rc2.
+	* 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.
 
-2009-10-20 11:52  castaglia
+2010-01-08  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Typos, corrections.
+	* 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.
 
-2009-10-20 11:46  castaglia
+2010-01-08  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updated the ChangeLog.
+	* contrib/mod_ban.c: Report the server ID for a ban entry in the
+	BanLog; it helps differentiate what would otherwise look like
+	duplicates.
 
-2009-10-20 10:58  castaglia
+2010-01-07  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updated the ChangeLog.
+	* 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)".
 
-2009-10-20 10:30  castaglia
+2010-01-07  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec,
-	  include/version.h:
-	  Readying the release of 1.3.2b.
+	* 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.
 
-2009-10-20 10:03  castaglia
+2010-01-06  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Adding more to the release notes, getting them ready for the
-	  release of RC2.
+	* doc/contrib/mod_ctrls_admin.html: Add example of using new
+	'ftpdctl restart count' functionality.
 
-2009-10-19 18:11  castaglia
+2010-01-06  castaglia <castaglia>
 
-	* contrib/mod_sql_postgres.c:
-	  Minor tweaks to the Postgres NLS/encoding code.
+	* 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.
 
-2009-10-19 17:19  castaglia
+2010-01-06  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Point out a potential hazard with the delayed-open database
-	  connection policy and logging-only database configs.
+	* 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.
 
-2009-10-19 15:07  castaglia
+2010-01-06  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.
+	* doc/contrib/mod_sftp.html: Add SFTP FAQ about <Limit SITE_CHMOD>
+	and SFTP uploads.
 
-2009-10-19 14:58  castaglia
+2010-01-05  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.
+	* NEWS, modules/mod_auth.c,
+	tests/t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm: Bug#3362 -
+	Regression in handling of MaxLoginAttempts in 1.3.3rc1.
 
-2009-10-19 14:08  castaglia
+2010-01-04  castaglia <castaglia>
 
-	* doc/howto/NAT.html:
-	  Fixed URL to IP Masquerade howto doc.
+	* contrib/mod_wrap2/mod_wrap2.c: Fix broken checks added yesterday.
+	Also quell compiler warnings about unreachable code.
 
-2009-10-14 16:45  castaglia
+2010-01-04  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.
+	* doc/howto/Authentication.html: Updated Authentication howto,
+	removing mention of deprecated AuthPAMAuthoritative directive and
+	updating URLs to point to the www.proftpd.org docs.
 
-2009-10-14 11:49  castaglia
+2010-01-03  castaglia <castaglia>
 
-	* modules/mod_auth_unix.c:
-	  Helps if we provide the data type for variables.
+	* contrib/mod_wrap2/mod_wrap2.c: Cleanup of some of the coding style
+	in mod_wrap2 to be more legible.
 
-2009-10-14 11:35  castaglia
+2010-01-03  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.
+	* 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-10-14 11:31  castaglia
+2009-12-28  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.)
+	* 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-10-14 10:54  castaglia
+2009-12-28  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm:
-	  Fixing quietly broken MLSD unit tests; they were using the wrong
-	  regex.
+	* doc/howto/TLS.html: Fix typos.
 
-2009-10-13 08:30  castaglia
+2009-12-23  castaglia <castaglia>
 
-	* modules/: mod_core.c, mod_xfer.c:
-	  Found a few more cases where errno could be trampled by
-	  pr_trace_msg(), and thus requires brief caching.
+	* doc/contrib/mod_wrap.html: The libnsl library isn't needed for
+	mod_wrap on Mac OSX, either.
 
-2009-10-12 16:52  jwm
+2009-12-20  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: mod_ldap bzr r70:   2.8.20 release
+	* src/fsio.c: Rather than testing for CYGWIN to use the O_BINARY
+	flag, just test for the O_BINARY flag directly.
 
-2009-10-12 16:51  jwm
+2009-12-18  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: mod_ldap bzr r68:   ldap_server and ldap_port
-	  should be defined in the !(openldap	LDAP_VENDOR_VERSION >= 192)
-	  case
+	* 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).
 
-	  mod_ldap bzr r67:   bump version date
+2009-12-18  castaglia <castaglia>
 
-	  mod_ldap bzr r66:   fix reversed logic when keeping server/port
-	  settings for	 non-ldap_initialize() SDKs.
+	* NEWS, contrib/mod_tls_shmcache.c: Bug#3359 - mod_tls_shmcache
+	segfaults during syntax check.
 
-	  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.
+2009-12-15  castaglia <castaglia>
 
-	  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
+	* Makefile.in, NEWS: Bug#3356 - Build timestamp using date(1) can
+	fail depending on environment.
 
-2009-10-12 16:11  castaglia
+2009-12-15  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.
+	* NEWS, contrib/mod_sftp/fxp.c: Bug#3357 - mod_sftp fails to compile
+	on AIX.
 
-2009-10-07 13:38  castaglia
+2009-12-15  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth_unix.c:
-	  Bug#3300 - Support disabling use of S_RLOGIN when calling AIX
-	  loginrestrictions().
+	* NEWS, contrib/mod_tls.c: Bug#3358 - mod_tls doesn't compile with
+	pre-0.9.7 openssl.
 
-2009-10-07 11:37  castaglia
+2009-12-15  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Add a little more description of the sftpUTF8ProtocolVersion
-	  config setting.
+	* modules/mod_xfer.c: Typo.
 
-2009-10-06 08:44  castaglia
+2009-12-15  castaglia <castaglia>
 
-	* doc/howto/ServerType.html:
-	  Add a FAQ about another cause of slow/timed out logins.
+	* 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-10-05 16:26  castaglia
+2009-12-15  castaglia <castaglia>
 
-	* contrib/mod_sql.c:
-	  Add more info to the mod_sql logs when handling (and looking up)
-	  named queries.
+	* contrib/mod_shaper.c: Fix compiler warnings about unreachable
+	code, and rename an event listener to be more appropriately named.
 
-2009-10-05 15:52  castaglia
+2009-12-14  castaglia <castaglia>
 
-	* contrib/mod_sql.c:
-	  When processing named queries, log the named query being
-	  processed.
+	* doc/contrib/mod_wrap.html: Adding more examples of paranoid
+	libwrap log messages.
 
-2009-10-05 15:47  castaglia
+2009-12-14  castaglia <castaglia>
 
-	* contrib/: mod_shaper.c, mod_rewrite.c:
-	  Quell compiler warnings.
+	* doc/howto/TLS.html: Another SSL/TLS FAQ.
 
-2009-10-05 15:23  castaglia
+2009-12-14  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.
+	* 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-10-05 14:21  castaglia
+2009-12-14  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Just to be defensive, make sure that the EISDIR errno value
-	  exists before using it.
+	* contrib/mod_tls.c: Clear up compiler warnings about unreachable
+	code in mod_tls.  No functional change.
 
-2009-10-05 14:07  castaglia
+2009-12-14  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.
+	* doc/howto/Stopping.html: Fixing up the Stopping howto, and adding
+	an example Mac OSX launchd plist config.
 
-2009-10-05 13:57  castaglia
+2009-12-13  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm:
-	  Uncomment line to delete log file.
+	* utils/ftptop.c: Quell compiler warnings about unreachable code.
 
-2009-10-05 09:59  castaglia
+2009-12-12  castaglia <castaglia>
 
-	* src/main.c:
-	  Fix the settings displayed so that we show either ncurses or
-	  ncursesw, but not both (related to Bug#3213).
+	* 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-10-05 09:52  castaglia
+2009-12-11  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.
+	* src/table.c: Clean up some "code will never be executed" warnings.
 
-2009-10-04 18:06  castaglia
+2009-12-11  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.
+	* 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-10-04 12:52  castaglia
+2009-12-11  castaglia <castaglia>
 
-	* NEWS, src/scoreboard.c, utils/ftptop.c:
-	  Bug#3214 - ftpwho/ftptop truncate UTF8 strings due to byte,
-	  versus character, lengths.
+	* 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-10-04 12:51  castaglia
+2009-12-11  castaglia <castaglia>
 
-	* configure:
-	  Updated configure (for Bug#3213).
+	* contrib/mod_tls.c: Be a little more verbose in the error messages
+	logged for SSL_accept() failures.
 
-2009-10-04 12:47  castaglia
+2009-12-11  castaglia <castaglia>
 
-	* NEWS, config.h.in, configure.in, src/main.c:
-	  Bug#3213 - Use locale-sensitive libncursesw library for ftptop
-	  where available.
+	* doc/modules/mod_lang.html: Typo.
 
-2009-10-03 17:54  castaglia
+2009-12-10  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Add unit test for the iPAddressRequired TLSOption.
+	* include/version.h: Update the CVS version.
 
-2009-10-03 17:41  castaglia
+2009-12-10  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.
+	* doc/contrib/mod_sql.html: Typo.
 
-2009-10-03 17:23  castaglia
+2009-12-10  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.
+	* ChangeLog: Update the ChangeLog.
 
-2009-10-03 12:46  castaglia
+2009-12-10  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Add a unit test for the StdEnvVars TLSOption.
+	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
+	to release 1.3.3rc3 today.
 
-2009-10-03 12:35  castaglia
+2009-12-10  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}".)
+	* 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-10-03 12:03  castaglia
+2009-12-10  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.
+	* contrib/mod_wrap.c: Specify the module version data in the module
+	structure for mod_wrap.
 
-2009-10-03 09:35  castaglia
+2009-12-10  castaglia <castaglia>
 
-	* contrib/mod_sql_passwd.c:
-	  Quell compiler warnings, too.
+	* NEWS, modules/mod_auth.c: Bug#3351 - Nonchrooted logins on HPUX do
+	not get proper UID/GID.
 
-2009-10-03 09:34  castaglia
+2009-12-10  castaglia <castaglia>
 
-	* contrib/mod_sql_passwd.c:
-	  Typo.
+	* 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-10-02 16:38  castaglia
+2009-12-10  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.
+	* src/support.c: Updated fix for Bug#3350.
+
+2009-12-10  castaglia <castaglia>
 
-2009-10-02 14:26  castaglia
+	* NEWS, src/support.c: Bug#3350 - Segfault caused by scrubbing
+	zero-length portion of memory.
 
-	* RELEASE_NOTES, doc/contrib/mod_sql.html:
-	  Update docs to reflect Bug#3290.
+2009-12-09  castaglia <castaglia>
 
-2009-10-02 14:22  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.
 
-	* 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-12-09  castaglia <castaglia>
 
-2009-10-01 14:38  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.
 
-	* doc/contrib/mod_ban.html:
-	  Forgot to mention MaxLoginAttempts as one of the events handled
-	  by BanOnEvent.
+2009-12-09  castaglia <castaglia>
 
-2009-10-01 09:18  castaglia
+	* NEWS, contrib/mod_tls.c: Bug#3349 - SSL_SESSION_cmp not available
+	in OpenSSL 1.0.0 betas.
 
-	* doc/contrib/mod_quotatab.html:
-	  Clarify the string to which a configured QuotaExcludeFilter is
-	  applied.
+2009-12-09  castaglia <castaglia>
 
-2009-10-01 09:13  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.
 
-	* NEWS, contrib/mod_quotatab.c,
-	  tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm:
-	  Bug#3298 - QuotaExcludeFilter directive ignored by mod_quotatab.
+2009-12-09  castaglia <castaglia>
 
-2009-10-01 08:45  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.
 
-	* doc/contrib/mod_quotatab.html:
-	  Typo.
+2009-12-09  castaglia <castaglia>
 
-2009-10-01 08:25  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.
 
-	* 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-12-08  castaglia <castaglia>
 
-2009-09-30 17:33  castaglia
+	* doc/contrib/mod_ban.html: Add a FAQ about creating whitelists for
+	mod_ban.
 
-	* locale/files.txt:
-	  Remove a few duplicates (caused by symlinks and a working copy)
-	  from the list.
+2009-12-07  castaglia <castaglia>
 
-2009-09-30 17:26  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.
 
-	* locale/: Makefile.in, files.txt:
-	  Updated locale/files.txt.
+2009-12-07  castaglia <castaglia>
 
-2009-09-30 17:12  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.
 
-	* contrib/mod_rewrite.c:
-	  Quell compiler warning.
+2009-12-07  castaglia <castaglia>
 
-2009-09-30 15:23  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>
 
-	* doc/contrib/mod_sql_passwd.html:
-	  Provide an example config using a salt file in the Usage section.
+	* 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-09-30 15:21  castaglia
+2009-12-05  castaglia <castaglia>
 
-	* contrib/mod_sql_passwd.c:
-	  Fix bad grammar in a comment.
+	* doc/contrib/mod_sql_passwd.html: Updated the mod_sql_passwd doc to
+	mention support of SHA256 and SHA512 passwords.
 
-2009-09-30 15:18  castaglia
+2009-12-05  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.
+	* 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-09-30 14:05  castaglia
+2009-12-03  castaglia <castaglia>
 
-	* doc/contrib/mod_sql_passwd.html:
-	  Document the SQLPasswordSaltFile directive.
+	* utils/scoreboard.c: Fix an "unreachable code" compiler warning,
+	and clean up the code stylistically.
 
-2009-09-30 13:51  castaglia
+2009-12-03  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.
+	* 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-09-30 11:03  castaglia
+2009-12-03  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Make sure that mod_tls does not cleanup OpenSSL if mod_sql_passwd
-	  is in use.
+	* tests/t/lib/ProFTPD/Tests/Commands/REST.pm: Add a test for
+	resuming downloads of >4GB files as well.
 
-2009-09-29 14:46  castaglia
+2009-12-03  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.
+	* 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-09-29 13:53  castaglia
+2009-12-02  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/CWD.pm:
-	  Update regression test function names to match the names listed.
+	* modules/mod_xfer.c: Typos.
 
-2009-09-29 13:50  castaglia
+2009-12-02  castaglia <castaglia>
 
-	* NEWS, src/fsio.c:
-	  Bug#3297 - Symlinks to directories which end in trailing slashes
-	  may not be handled properly.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Fix broken
+	mod_ban+mod_ifsession test.
 
-2009-09-29 13:49  castaglia
+2009-12-02  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/CWD.pm:
-	  Regression tests for Bug#3297.
+	* src/display.c: The displaying of multiline Display files was
+	leaving off the last line in the file; now fixed.
 
-2009-09-29 10:09  castaglia
+2009-12-02  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.
+	* tests/t/lib/ProFTPD/Tests/Commands/DELE.pm: Fix the DELE unit
+	tests to handle different strerror(3) strings.
 
-2009-09-28 14:27  castaglia
+2009-12-01  castaglia <castaglia>
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#3295 - proftpd segfaults when STAT is used with ListOptions
-	  "-1".
+	* 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-09-28 14:24  castaglia
+2009-12-01  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Commands/STAT.pm,
-	  t/commands/stat.t:
-	  Adding unit tests for the STAT command.
+	* 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-09-28 14:22  castaglia
+2009-11-30  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  If we have trouble resolving the chroot path, make sure we log
-	  the reason why.
+	* contrib/mod_sftp/channel.c, doc/contrib/mod_sftp.html: Handle
+	multiple SFTPAcceptEnv directives if configured.  Add docs for the SFTPAcceptEnv directive.
 
-2009-09-28 13:38  castaglia
+2009-11-26  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.
+	* contrib/mod_sftp/fxp.c: Include EINVAL in the list of errno values
+	we expect to see from PRE_CMD handlers.
 
-2009-09-28 11:55  castaglia
+2009-11-26  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.)
+	* 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-09-28 10:07  castaglia
+2009-11-26  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.
+	* 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-09-26 16:52  castaglia
+2009-11-24  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.
+	* 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-09-24 17:42  castaglia
+2009-11-20  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Mention the 3des-ctr cipher in the SFTPCiphers doc.
+	* 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-09-24 17:25  castaglia
+2009-11-19  castaglia <castaglia>
+
+	* lib/libltdl/.cvsignore: More auto-generated files to ignore.
+
+2009-11-19  castaglia <castaglia>
 
-	* contrib/mod_sftp/: crypto.c, mod_sftp.h.in:
-	  Add support for the 3des-ctr cipher; tested using PuTTy-0.60.
+	* configure: Updated configure.
 
-2009-09-23 09:19  castaglia
+2009-11-19  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.
+	* configure.in: Handle empty CONFIG_SHELL values.
 
-2009-09-23 09:01  castaglia
+2009-11-19  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Mention custom HiddenStores prefixes in the release notes.
+	* configure: Updated configure.
 
-2009-09-23 09:00  castaglia
+2009-11-19  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c,
-	  tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm:
-	  Bug#3294 - Support configurable HiddenStores prefixes.
+	* 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-09-22 09:23  castaglia
+2009-11-19  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.
+	* Makefile.in: Comment out the target that might cause the machine
+	to re-run autoconf.
 
-2009-09-21 16:50  castaglia
+2009-11-19  castaglia <castaglia>
 
-	* src/inet.c:
-	  Pre-emptively update the code for Mac OSX 10.6 machines.
+	* configure: Updated configure.
 
-2009-09-21 15:55  castaglia
+2009-11-19  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.
+	* configure.in: More libtool-2.2.4 tweaking fun.
 
-2009-09-21 14:06  castaglia
+2009-11-19  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).
+	* configure: Updated configure.
 
-2009-09-18 14:15  castaglia
+2009-11-19  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/TestSuite/FTP.pm:
-	  Cut-n-pasto.
+	* 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-09-17 14:33  castaglia
+2009-11-18  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/limit/anonymous.t,
-	  t/lib/ProFTPD/Tests/Config/Limit/Anonymous.pm:
-	  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.
+	* configure: Updated configure.
 
-2009-09-17 13:54  castaglia
+2009-11-18  castaglia <castaglia>
 
-	* doc/howto/Chroot.html:
-	  Add FAQ about using multiple DefaultRoot directives at the same
-	  time.
+	* Make.rules.in, configure.in: More libtool-2.2.4 tweaks, with help
+	from Bob Friesenhahn.
 
-2009-09-17 10:30  castaglia
+2009-11-18  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.
+	* aclocal.m4: Re-create our aclocal.m4 using the aclocal tool.
 
-2009-09-17 10:16  castaglia
+2009-11-18  castaglia <castaglia>
 
-	* contrib/mod_sftp/mod_sftp.h.in:
-	  Forgot to include the blowfish header.
+	* configure: Updated configure.
 
-2009-09-16 22:57  castaglia
+2009-11-18  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Make sure that blowfish-ctr is listed in the docs.
+	* 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-09-16 22:54  castaglia
+2009-11-18  castaglia <castaglia>
 
-	* contrib/mod_sftp/crypto.c:
-	  Add support for the blowfish-ctr cipher from RFC4344.
+	* Makefile.in, configure.in: More wrestling with libtool-2.2.4.  I
+	am *really* not liking this 2.2.x release series.
 
-2009-09-16 20:57  castaglia
+2009-11-18  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/TestSuite/FTP.pm:
-	  Add support for issuing the HOST command in the testsuite client.
+	* contrib/mod_sftp/fxp.c: Quelling compiler warnings.
 
-2009-09-16 13:51  castaglia
+2009-11-18  castaglia <castaglia>
 
-	* contrib/mod_sftp/: cipher.c, keys.c, mac.c:
-	  Clean up some minor compiler warnings.
+	* NEWS, modules/mod_core.c: Bug#3342 - FEAT response contains LF
+	without preceding CR.
 
-2009-09-16 13:47  castaglia
+2009-11-18  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.)
+	* 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-09-16 10:26  castaglia
+2009-11-18  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.
+	* doc/contrib/mod_sftp.html: Update mod_sftp doc so that it's
+	hopefully less confusing.
 
-2009-09-16 09:32  castaglia
+2009-11-17  castaglia <castaglia>
 
-	* src/privs.c:
-	  Make the "SETUP PRIVS" log message be at DEBUG9, like the other
-	  debug log messages generated when manipulating privs.
+	* 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-09-16 08:09  castaglia
+2009-11-17  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).
+	* NEWS: Bug#3331 - Update bundled libtool to 2.2.4.
 
-2009-09-15 23:18  castaglia
+2009-11-17  castaglia <castaglia>
 
-	* contrib/mod_sftp/crypto.c:
-	  Pedantic comment typo correction.
+	* configure: Updated configure.
 
-2009-09-15 23:12  castaglia
+2009-11-17  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* 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-09-15 23:09  castaglia
+2009-11-17  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.
+	* lib/libltdl/.cvsignore: One more libtool file to ignore.
 
-2009-09-15 17:12  castaglia
+2009-11-17  castaglia <castaglia>
 
-	* contrib/mod_sftp/: cipher.c, mac.c:
-	  Minor adjustment to the debug logging of packet dumps, so that
-	  they are easier to pick out of the SFTPLog file.
+	* lib/libltdl/.cvsignore: More files to ignore with this new version
+	of libtool.
 
-2009-09-15 16:18  castaglia
+2009-11-17  castaglia <castaglia>
 
-	* modules/mod_core.c, src/dirtree.c, src/modules.c:
-	  Various stylistic cleanups generated while pursuing strange
-	  segfault.
+	* lib/libltdl/ltdl.c: Backport the patch for the bugs found in
+	libtool-2.2.6 to this 2.2.4 version.
 
-2009-09-15 16:10  castaglia
+2009-11-17  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.
+	* lib/libltdl/Makefile.in, lib/libltdl/argz.c: Bug#3331 - Update
+	bundled libtool to 2.2.4.
 
-2009-09-15 08:17  castaglia
+2009-11-17  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.
+	* configure: Updated configure.
 
-2009-09-14 23:28  castaglia
+2009-11-17  castaglia <castaglia>
 
-	* tests/t/: commands/host.t, lib/ProFTPD/Tests/Commands/HOST.pm:
-	  Start working on unit tests for the HOST command, as part of
-	  Bug#3289.
+	* 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-09-14 13:44  castaglia
+2009-11-17  castaglia <castaglia>
 
-	* src/session.c:
-	  When marking a session as idle, make sure that session.user is
-	  non-NULL; if not, using "(authenticating)".
+	* config.guess, config.sub: Updating the config.guess and config.sub
+	helper scripts.
 
-2009-09-14 11:58  castaglia
+2009-11-17  castaglia <castaglia>
 
-	* src/dirtree.c, tests/t/lib/ProFTPD/Tests/Config/Limit/Filters.pm:
+	* install-sh: Updated the install-sh script.
 
-	  Set the errno appropriately for implicit denies.
+2009-11-17  castaglia <castaglia>
 
-2009-09-14 10:46  castaglia
+	* doc/howto/Timestamps.html: Mention MFMT in the Timestamps howto.
 
-	* doc/howto/Filters.html:
-	  Add example config for using AllowFilter to only allow specific
-	  filename extensions in a directory.
+2009-11-17  castaglia <castaglia>
 
-2009-09-14 10:15  castaglia
+	* doc/contrib/mod_sftp.html: Add the SFTP Extensions Draft to the
+	list.
 
-	* 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-11-16  castaglia <castaglia>
 
-2009-09-11 22:05  castaglia
+	* contrib/mod_sftp/channel.c: Locking down more environment
+	variables from SSH2 client tweaking.
 
-	* 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-11-16  castaglia <castaglia>
 
-2009-09-09 16:44  castaglia
+	* contrib/mod_sftp/channel.c: Add more barred environment variables
+	to the list.
 
-	* 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-11-16  castaglia <castaglia>
 
-2009-09-09 16:27  castaglia
+	* contrib/mod_sftp/channel.c: Don't allow SSH2 clients to change the
+	TZ environment variable, either.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Looks like newer libssh2 versions have addressed some issues,
-	  though not all.
+2009-11-16  castaglia <castaglia>
 
-2009-09-09 14:15  castaglia
+	* contrib/mod_sftp/channel.c: Add a few more environment variables
+	that SSH2 clients are barred from sending/overriding in their
+	session.
 
-	* doc/contrib/mod_sql_passwd.html:
-	  Be sure to list the additional SQLAuthTypes provided by
-	  mod_sql_passwd.
+2009-11-16  castaglia <castaglia>
 
-2009-09-09 11:47  castaglia
+	* contrib/mod_sftp/fxp.c: Adding some notes for my future self.
 
-	* RELEASE_NOTES, doc/contrib/mod_sql_passwd.html:
-	  Adding documentation for mod_sql_passwd.
+2009-11-16  castaglia <castaglia>
 
-2009-09-09 11:45  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.
 
-	* doc/contrib/mod_sql.html:
-	  Adding the required notice for using OpenSSL.
+2009-11-16  castaglia <castaglia>
 
-2009-09-09 11:22  castaglia
+	* src/dirtree.c: Simpler fix for Bug#3337.
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm,
-	  t/modules/mod_sql_passwd.t:
-	  Added unit tests for the mod_sql_passwd module.
+2009-11-15  castaglia <castaglia>
 
-2009-09-09 11:17  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.
 
-	* 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-11-15  castaglia <castaglia>
 
-2009-09-08 13:48  castaglia
+	* contrib/mod_sftp/scp.c: Include the sticky bit when
+	sending/receiving files/directories.
 
-	* contrib/mod_sftp/auth.c:
-	  Add trace logging of the list of SSH2 authentication methods that
-	  are offered to the client.
+2009-11-15  castaglia <castaglia>
 
-2009-09-08 13:39  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.
 
-	* 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-11-14  castaglia <castaglia>
 
-2009-09-08 13:35  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.
 
-	* modules/mod_auth.c:
-	  Clear the auth-only module list after authentication has
-	  succeeded.
+2009-11-14  castaglia <castaglia>
 
-2009-09-08 13:34  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.
 
-	* 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-11-14  castaglia <castaglia>
 
-2009-09-08 11:39  castaglia
+	* configure: Updated configure script.
 
-	* 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-11-14  castaglia <castaglia>
 
-2009-09-08 10:38  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.
 
-	* 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-11-14  castaglia <castaglia>
 
-2009-09-08 10:28  castaglia
+	* m4/proftpd.m4: Try to make the use of the AC_DEFINE macro more
+	consistent with other occurrences by supplying a message.
 
-	* 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-11-14  castaglia <castaglia>
 
-2009-09-08 10:25  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.
 
-	* modules/mod_lang.c:
-	  Skip the "." and ".." directory entries when scanning the
-	  LangPath directory.
+2009-11-14  castaglia <castaglia>
 
-2009-09-07 15:21  castaglia
+	* modules/mod_core.c: Add trace logging of the pr_netacl_t objects
+	created via other config directives.
 
-	* NEWS:
-	  Forgot to update the NEWS file.
+2009-11-14  castaglia <castaglia>
 
-2009-09-07 15:20  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.
 
-	* src/inet.c:
-	  Don't re-declare a variable that's already in scope.
+2009-11-13  castaglia <castaglia>
 
-	  Be paranoid, and only avoid ENOPROTOOPT errors if that errno is
-	  actually defined on the system.
+	* 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-09-07 15:17  castaglia
+2009-11-13  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.
+	* contrib/mod_sql_mysql.c: Typo.
 
-2009-09-06 19:03  castaglia
+2009-11-13  castaglia <castaglia>
 
-	* contrib/mod_quotatab.c:
-	  Quell a few compiler printf warnings by using explicit typecasts.
+	* NEWS, contrib/mod_sql_mysql.c: Bug#3333 - mod_sql_mysql should
+	support calling stored procedures better.
 
-2009-09-06 18:37  castaglia
+2009-11-13  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.
+	* 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.
 
-	  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.
+2009-11-13  castaglia <castaglia>
 
-	  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.
+	* 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.
 
-	  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-11-13  castaglia <castaglia>
 
-2009-09-06 18:24  castaglia
+	* contrib/mod_sftp/fxp.c: Make sure that we only send defined flag
+	values in the statvfs at openssh.com extension response.
 
-	* 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-11-13  castaglia <castaglia>
 
-2009-09-04 22:39  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.
 
-	* src/encode.c:
-	  Need to set the LC_NUMERIC locale back to "C" after calling
-	  setlocale() using LC_ALL.
+2009-11-12  castaglia <castaglia>
 
-2009-09-04 22:35  castaglia
+	* doc/contrib/mod_ban.html: Adding a mod_ban FAQ, cleaning up a
+	minor nit.
 
-	* 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-11-11  castaglia <castaglia>
 
-2009-09-04 15:26  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.
 
-	* doc/howto/ConfigFile.html:
-	  Specifically mention that proftpd switches to the UID/GID of the
-	  logged-in user.
+2009-11-10  castaglia <castaglia>
 
-2009-09-04 15:02  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/Limit/SubDirectories.pm: Add more
+	tests for the fix for Bug#3077.
 
-	* 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-11-10  castaglia <castaglia>
 
-2009-09-04 15:01  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.
 
-	* src/encode.c:
-	  Fix segfault found by the mod_lang unit tests.
+2009-11-10  castaglia <castaglia>
 
-2009-09-04 10:16  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.
 
-	* RELEASE_NOTES:
-	  Update release notes with note about scoreboard format change;
-	  need to expand on this at release time, of course.
+2009-11-10  castaglia <castaglia>
 
-2009-09-04 10:13  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).
 
-	* 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'.
+2009-11-10  castaglia <castaglia>
 
-	  Bug#3286 - Client command field in scoreboard entry too short for
-	  SSH2/SFTP commands.
+	* 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.
 
-	  These changes are combined in one change, in order to rev the
-	  scoreboard format version only once for these format changes.
+2009-11-10  castaglia <castaglia>
 
-2009-09-02 15:30  castaglia
+	* NEWS, contrib/mod_quotatab.c: Bug#3328 - Failed database
+	transaction can cause mod_quotatab to loop endlessly.
 
-	* 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-11-10  castaglia <castaglia>
 
-2009-09-02 11:13  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Add
+	mod_quotatab test for RETR byte limits.
 
-	* 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-11-09  castaglia <castaglia>
 
-2009-09-02 10:58  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.
 
-	* 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-11-09  castaglia <castaglia>
 
-2009-09-01 11:39  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.
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#3287 - MaxTransfersPerHost, MaxTransfersPerUser directives
-	  not supported properly.
+2009-11-09  castaglia <castaglia>
 
-2009-09-01 10:18  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.
 
-	* doc/contrib/mod_sftp.html:
-	  Add SFTP FAQ about CBC cipher mode attacks.
+2009-11-09  castaglia <castaglia>
 
-2009-09-01 10:04  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.
 
-	* contrib/mod_sftp/: mod_sftp.h.in, packet.c, ssh2.h:
-	  Implement the recommended countermeasure for mitigating the SSH2
-	  plaintext recovery attack against CBC mode ciphers described in
-	  CPNI-957037:
+2009-11-09  castaglia <castaglia>
 
-	    http://www.cpni.gov.uk/Docs/Vulnerability_Advisory_SSH.txt
+	* 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.
 
-	  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-11-09  castaglia <castaglia>
 
-2009-08-31 13:40  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.
 
-	* doc/howto/Controls.html:
-	  Updating URLs and such in Controls howto.
+2009-11-09  castaglia <castaglia>
 
-2009-08-31 11:47  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.
 
-	* 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-11-09  castaglia <castaglia>
 
-2009-08-31 11:43  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.
 
-	* contrib/mod_sftp/packet.c:
-	  Handle a few more types of errors that we might encounter while
-	  reading from a socket.
+2009-11-09  castaglia <castaglia>
 
-2009-08-30 11:49  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.
 
-	* src/session.c:
-	  Getting ready to support the "publickey" SSH2 subsystem
-	  (RFC4819).
+2009-11-09  castaglia <castaglia>
 
-2009-08-28 10:33  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).
 
-	* NEWS, RELEASE_NOTES, src/dirtree.c:
-	  Bug#3279 - .ftpaccess configurations not merged properly with
-	  existing configuration.
+2009-11-09  castaglia <castaglia>
 
-2009-08-28 09:20  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/DELE.pm: Add unit test for
+	DELEs on symlinks.
 
-	* 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-11-08  castaglia <castaglia>
 
-2009-08-28 09:14  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.
 
-	* 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-11-08  castaglia <castaglia>
 
-2009-08-28 07:50  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 11:46  castaglia
+	* doc/contrib/mod_sftp.html: Update the list of SFTP extensions
+	supported by mod_sftp.
 
-	* src/inet.c:
-	  Update the copyright year range, since we just updated this file.
-
-2009-08-27 11:45  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-27 11:38  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 10:23  castaglia
-
-	* contrib/mod_sftp/: channel.c, 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-25 22:23  castaglia
+2009-11-08  castaglia <castaglia>
 
-	* contrib/mod_sftp/: packet.c, tap.c, 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).
+	* NEWS, contrib/mod_sftp/fxp.c: Bug#3320 - Support the "copy-file"
+	SFTP extension.
 
-2009-08-25 09:59  castaglia
+2009-11-08  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.
+	* 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-08-25 08:59  castaglia
+2009-11-08  castaglia <castaglia>
 
-	* contrib/mod_sftp/: kex.c, tap.c, tap.h:
-	  Rename the 'cbc-mode' TAP policy to 'rogaway', to be more clear
-	  (and interesting).
+	* 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-08-24 22:07  castaglia
+2009-11-08  castaglia <castaglia>
 
-	* contrib/mod_sftp/: kex.c, mod_sftp.c, tap.c, 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.
+	* NEWS, contrib/mod_sftp/fxp.c: Bug#3321 - Support the
+	"check-file-name" and "check-file-handle" SFTP extensions.
 
-2009-08-24 17:24  castaglia
+2009-11-08  castaglia <castaglia>
 
-	* contrib/mod_sftp/scp.c:
-	  Adding comment/note to myself for future tweaking.
+	* contrib/mod_sftp/configure: Updated mod_sftp's configure script.
 
-2009-08-23 19:16  castaglia
+2009-11-08  castaglia <castaglia>
 
-	* contrib/mod_sftp/: channel.c, channel.h, 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.
+	* 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.
 
-	  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-11-07  castaglia <castaglia>
 
-2009-08-23 16:58  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.
 
-	* 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.
+2009-11-07  castaglia <castaglia>
 
-	  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.
+	* contrib/mod_sftp/fxp.c: Minor refinement to the version-select
+	SFTP extension implementation.
 
-2009-08-21 19:57  castaglia
+2009-11-07  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.
+	* NEWS, contrib/mod_sftp/fxp.c: Bug#3322 - Support the
+	"version-select" SFTP extension.
 
-2009-08-19 14:20  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 14:18  castaglia
-
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Add unit test for DefaultChdir config in mod_sftp.
-
-2009-08-19 11:30  castaglia
+2009-11-07  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.
+	* NEWS, contrib/mod_tls_shmcache.c: Bug#3326 - Shared memory segment
+	used for session cache should be protected via mlock(2).
 
-2009-08-14 19:55  castaglia
+2009-11-07  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/ftpaccess/merging.t,
-	  t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm,
-	  t/lib/ProFTPD/Tests/Config/FTPAccess/Merging.pm:
-	  Adding unit tests derived from investigations into Bug#3279.
+	* NEWS, contrib/mod_tls_shmcache.c: Bug#3327 - Clear external SSL
+	session caches on server restart/shutdown.
 
-2009-08-14 19:43  castaglia
+2009-11-07  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Sigh; fix the spacing in these HideFiles log messages again.
+	* 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-08-14 18:57  castaglia
+2009-11-07  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.
+	* RELEASE_NOTES: Typo.
 
-2009-08-14 08:46  castaglia
+2009-11-07  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.
+	* doc/contrib/mod_tls.html: Mention that server-initiated SSL
+	session renegotiations are still honored when possible.
 
-2009-08-14 07:36  castaglia
+2009-11-07  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Fix the spacing of the log messages about negated (or not)
-	  HideFiles directives.
+	* 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-08-13 14:31  castaglia
+2009-11-07  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).
+	* NEWS, configure.in: Bug#3311 - configure script should
+	automatically detect when -ldl is needed by OpenSSL.
 
-2009-08-13 14:12  castaglia
+2009-11-07  castaglia <castaglia>
 
-	* NEWS, contrib/mod_radius.c, modules/mod_xfer.c, src/data.c:
-	  Bug#3278 - Aborted data transfers not reflected in RADIUS
-	  accounting.
+	* 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-08-13 13:54  castaglia
+2009-11-07  castaglia <castaglia>
 
-	* tests/t/: lib/ProFTPD/Tests/Modules/mod_radius.pm,
-	  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.
+	* contrib/mod_tls.c: Handle signals in the diagnostic callback.
 
-2009-08-13 12:09  castaglia
+2009-11-07  castaglia <castaglia>
 
-	* contrib/mod_radius.c:
-	  Fix compiler warnings about signedness mismatches.
+	* contrib/mod_tls.c: More work towards Bug#3324 - allow
+	server-initiated session renegotiations whilst rejecting
+	client-initiated session renegotiations.
 
-2009-08-12 15:16  castaglia
+2009-11-07  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.)
+	* doc/contrib/mod_tls.html: Document the new
+	AllowClientRenegotiations TLSOption.
 
-2009-08-12 15:13  castaglia
+2009-11-07  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.
+	* RELEASE_NOTES: Update the release notes.
 
-2009-08-12 14:16  castaglia
+2009-11-07  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.
+	* NEWS, contrib/mod_tls.c: Bug#3324 - Vulnerability in SSL/TLS
+	protocol during renegotiation (CVE-2009-3555).
 
-2009-08-11 08:27  castaglia
+2009-11-07  castaglia <castaglia>
 
-	* doc/howto/Authentication.html:
-	  Orthographic correction.
+	* doc/howto/TLS.html: Add a TLS FAQ, inspired by Bug#3247 (and its
+	ensuing duplicates).
 
-2009-08-10 10:05  castaglia
+2009-11-06  castaglia <castaglia>
 
-	* NEWS:
-	  Had the bug number wrong; should be Bug#3252, not Bug#3272.
+	* 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-08-10 10:01  castaglia
+2009-11-06  castaglia <castaglia>
 
-	* NEWS, src/fsio.c:
-	  Bug#3272 - %F/%f Display variables can report wrong size on
-	  64-bit systems.
+	* contrib/mod_tls.c: Allow "TLSRenegotiate off" as a synonym for
+	"TLSRenegotiate none".
 
-2009-08-06 13:48  castaglia
+2009-11-06  castaglia <castaglia>
 
-	* contrib/mod_sftp/rfc4716.c:
-	  Quibble, quibble.
+	* 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-08-06 11:17  castaglia
+2009-11-06  castaglia <castaglia>
 
-	* contrib/mod_sftp/rfc4716.c:
-	  Thinko.
+	* contrib/mod_tls.c: Ignore EAGAIN errors when the EnableDiags
+	TLSOption is used; they just clutter up the TLSLog.
 
-2009-08-06 10:27  castaglia
+2009-11-06  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Add a function to get a printable version of a suspicious dNSName
-	  value; related to Bug#3275.
+	* 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-08-06 09:58  castaglia
+2009-11-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.
+	* 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-08-05 15:08  castaglia
+2009-11-06  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.
+	* contrib/mod_tls.c: Minor reordering of the logged SSL/TLS
+	end-of-connection stats; this way the cache-related stats appear
+	together.
 
-2009-08-05 15:03  castaglia
+2009-11-05  castaglia <castaglia>
 
-	* src/encode.c: [no log message]
+	* modules/mod_ls.c: Make sure that we can handle symlinks whose
+	target paths are long (e.g.  longer than 1K).
 
-2009-08-05 14:03  castaglia
+2009-11-05  castaglia <castaglia>
 
-	* modules/mod_lang.c:
-	  Try to make for better, more informative error messages if we
-	  fail to set the locale.
+	* 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-08-05 10:31  castaglia
+2009-11-05  castaglia <castaglia>
 
-	* src/data.c:
-	  We handle signals in pr_data_xfer() when writiing; we should do
-	  the same when reading.
+	* 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-08-05 08:07  castaglia
+2009-11-05  castaglia <castaglia>
 
-	* modules/mod_lang.c:
-	  Declaring the curr_locale variable in the right scope helps to
-	  make the code actually compile properly.
+	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding unit test for
+	LIST output of a symlink when ShowSymlinks is enabled.
 
-2009-08-05 06:34  castaglia
+2009-11-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.
+	* 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-08-04 10:34  castaglia
+2009-11-05  castaglia <castaglia>
 
-	* doc/contrib/mod_sql.html:
-	  Document the new "noReconnect" SQLOption added as part of
-	  Bug#3270.
+	* 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-08-04 10:32  castaglia
+2009-11-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.
+	* 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-08-04 08:59  castaglia
+2009-11-04  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sftp/utf8.c, src/encode.c:
-	  Bug#3272 - Avoid encoding if to/from charsets are the same.
+	* RELEASE_NOTES, doc/modules/mod_cap.html, modules/mod_cap.c: 
+	Support adding the CAP_FOWNER capability.
 
-2009-08-04 08:53  castaglia
+2009-11-04  castaglia <castaglia>
 
-	* NEWS, src/support.c:
-	  Bug#3274 - Timestamp formatting in TransferLog needs padded
-	  day-of-month.
+	* RELEASE_NOTES: Mention support for the OpenSSH extensions in the
+	release notes.
 
-2009-08-02 15:08  castaglia
+2009-11-04  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.
+	* contrib/mod_sftp/fxp.c, doc/contrib/mod_sftp.html: Added support
+	for the posix-rename at openssh.com OpenSSH SFTP extension.
 
-2009-08-02 14:44  castaglia
+2009-11-04  castaglia <castaglia>
 
-	* contrib/: mod_sql_mysql.c, mod_sql_postgres.c:
-	  Report on the database client and server versions, when known.
+	* 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-07-30 09:03  castaglia
+2009-11-04  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Fix compilation error on AIX5.
+	* 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-07-29 13:59  castaglia
+2009-11-04  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.
+	* NEWS, contrib/mod_wrap.c, include/log.h, src/log.c: Bug#3317 -
+	mod_wrap/libwrap should honor SyslogFacility setting.
 
-2009-07-28 21:41  castaglia
+2009-11-04  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm:
-	  Add unit test for LIST command for Bug#3254.
+	* 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 at openssh.com" and
+	"fstatvfs at openssh.com" SFTP extensions.
 
-2009-07-28 09:20  castaglia
+2009-11-04  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:
+	* doc/contrib/mod_sftp.html: Document the use of the SSH_CONNECTION
+	environment variable.
 
-	    http://forums.proftpd.org/smf/index.php/topic,3971.0.html
+2009-11-04  castaglia <castaglia>
 
-	  Hopefully this change works around the issue and still preserves
-	  the desired functionality.
+	* contrib/mod_sftp/mod_sftp.c: Set the SSH_CONNECTION environment
+	variable, using the same format as OpenSSH.
 
-2009-07-27 08:29  castaglia
+2009-11-04  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.)
+	* 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-07-27 08:25  castaglia
+2009-11-04  castaglia <castaglia>
 
-	* contrib/mod_sftp/channel.c:
-	  Missed one change from the weekend's mod_sftp hacking.
+	* 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-07-26 18:00  castaglia
+2009-11-03  castaglia <castaglia>
 
-	* contrib/mod_sftp/: channel.c, channel.h, fxp.c, fxp.h,
-	  mod_sftp.h.in, scp.c, 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.)
+	* doc/contrib/mod_sftp.html: Mention the %u variable in the
+	SFTPAuthorizedUserKeys directive description.
 
-2009-07-25 20:16  castaglia
+2009-11-03  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.
+	* 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-07-24 10:31  castaglia
+2009-11-03  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.
+	* configure: Updated configure.
 
-2009-07-23 10:45  castaglia
+2009-11-03  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.
+	* 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-07-23 08:18  castaglia
+2009-11-03  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.
+	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/fxp.h: Added support for
+	the statvfs at openss.com and fstatvfs at openssh.com OpenSSH SFTP
+	extensions.
 
-2009-07-23 08:07  castaglia
+2009-11-03  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm:
-	  Add unit test for handling of DELE in mod_quotatab.
+	* NEWS: Pedantic correction: lseek(2), not lseek(3).
 
-2009-07-23 08:04  castaglia
+2009-11-03  castaglia <castaglia>
 
-	* doc/howto/Quotas.html:
-	  Add another quota FAQ.
+	* NEWS, contrib/mod_sftp/scp.c, modules/mod_xfer.c: Bug#3314 -
+	Downloading from FIFOs via SFTP/SCP fails.
 
-2009-07-23 07:37  castaglia
+2009-11-03  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.
+	* NEWS, contrib/mod_sftp/fxp.c: Bug#3313 - Uploading via SFTP to
+	FIFOs fails due to illegal lseek(3), truncate(2) calls.
 
-	  Add unit test for the "[NC]" RewriteCondition flags.
+2009-11-03  castaglia <castaglia>
 
-2009-07-22 20:11  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.
 
-	* NEWS, contrib/mod_rewrite.c,
-	  tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm:
-	  Bug#3269 - RewriteCondition OR/ornext flag does not work.
+2009-11-03  castaglia <castaglia>
 
-2009-07-22 19:34  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: On some platforms,
+	ENXIO has a string representation of "Device not configured".
 
-	* 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-11-03  castaglia <castaglia>
 
-2009-07-22 14:37  castaglia
+	* contrib/mod_sftp/packet.c: Adding reminder notes/comments for my
+	future self.
 
-	* 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-11-03  castaglia <castaglia>
 
-2009-07-22 09:57  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Remove duplicate
+	unit test entry from the list.
 
-	* modules/mod_delay.c:
-	  Add paranoid check that an array pointer is non-null before we
-	  use it.
+2009-11-03  castaglia <castaglia>
 
-2009-07-21 16:38  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.
 
-	* 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-11-03  castaglia <castaglia>
 
-2009-07-21 16:21  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.
 
-	* contrib/mod_sql.c:
-	  Make sure that mod_sql logs the corresponding "leaving func"
-	  message in some cases; it wasn't doing so.
+2009-11-03  castaglia <castaglia>
 
-2009-07-21 15:20  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).
 
-	* 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-11-03  castaglia <castaglia>
 
-2009-07-21 15:06  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.
 
-	* 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-11-03  castaglia <castaglia>
 
-2009-07-21 15:01  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.
 
-	* 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-11-03  castaglia <castaglia>
 
-2009-07-21 09:26  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.
 
-	* contrib/dist/rpm/proftpd.spec:
-	  Attempt to add support for mod_sftp to the .spec file.
+2009-11-03  castaglia <castaglia>
 
-2009-07-21 08:47  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.)
 
-	* 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-11-03  castaglia <castaglia>
 
-2009-07-20 21:58  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).
 
-	* 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-10-30  castaglia <castaglia>
 
-2009-07-20 21:32  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap.pm: Adding unit tests
+	for more of mod_wrap's directives.
 
-	* 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-10-30  castaglia <castaglia>
 
-2009-07-20 17:25  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.
 
-	* contrib/mod_sftp/fxp.c:
-	  More explanatory comments, for my future reference.
+2009-10-30  castaglia <castaglia>
 
-2009-07-20 17:19  castaglia
+	* locale/fr_FR.po: Bug#3309 - Fix whitespace in MLST response when
+	using the fr_FR locale.
 
-	* contrib/mod_sftp/fxp.c:
-	  Add comment describing the implementation of the RENAME handler,
-	  and how it is technically nonconformant in particular cases.
+2009-10-29  castaglia <castaglia>
 
-2009-07-20 17:11  castaglia
+	* RELEASE_NOTES, locale/Makefile.in, locale/zh_TW.po: Wei-Lun Chao
+	contributed a Taiwan translation for proftpd.
 
-	* contrib/mod_sftp/fxp.c:
-	  Still trying to properly map the V5 OPEN flags/bitmasks to
-	  open(2) flags.
+2009-10-29  castaglia <castaglia>
 
-2009-07-20 14:07  castaglia
+	* contrib/mod_sftp/cipher.c: Quell compiler warnings about
+	mismatched data types.
 
-	* 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-10-28  castaglia <castaglia>
 
-2009-07-20 11:43  castaglia
+	* src/auth.c: Fixing another part of Bug#3307.
 
-	* 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-10-28  castaglia <castaglia>
 
-2009-07-20 11:33  castaglia
+	* tests/t/lib/ProFTPD/Tests/Logins.pm: Adding more regression tests
+	(and improving existing tests) for Bug#3307.
 
-	* 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-10-27  castaglia <castaglia>
 
-2009-07-20 11:22  castaglia
+	* NEWS, src/auth.c, tests/t/lib/ProFTPD/Tests/Logins.pm: Bug#3307 -
+	All FTP logins treated as anonymous logins.
 
-	* 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-10-26  castaglia <castaglia>
 
-2009-07-20 08:41  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.
 
-	* doc/contrib/mod_sftp.html:
-	  Removed duplicated text.
+2009-10-26  castaglia <castaglia>
 
-2009-07-19 19:37  castaglia
+	* modules/mod_log.c: Add some additional room for other ExtendedLog
+	data.
 
-	* contrib/mod_sftp/keys.c:
-	  Update the handling of the SFTPPassPhraseProvider config with
-	  tweaks found from working on mod_exec.
+2009-10-26  castaglia <castaglia>
 
-2009-07-19 18:13  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).
 
-	* 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-10-26  castaglia <castaglia>
 
-2009-07-19 17:18  castaglia
+	* doc/howto/Nonroot.html, doc/howto/index.html: Add the nonroot
+	howto to the collection.
 
-	* NEWS, src/auth.c:
-	  Bug#2070 - AuthAliasOnly off in <Global> section kills anonymous
-	  logins.
+2009-10-23  castaglia <castaglia>
 
-2009-07-19 17:17  castaglia
+	* NEWS, lib/pr-syslog.c: Bug#3305 - Emulate Solaris 10 syslog
+	"header" on Solaris 10 servers.
 
-	* 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-10-23  castaglia <castaglia>
 
-2009-07-19 17:08  castaglia
+	* src/main.c: Initialize the xerrno variable, to quell a compiler
+	warning.
 
-	* tests/t/lib/ProFTPD/Tests/: Config/Limit/SubDirectories.pm,
-	  Logging/ExtendedLog.pm:
-	  Fix variable redeclarations, and soothe the savage Perl
-	  interpreter beast.
+2009-10-22  castaglia <castaglia>
 
-2009-07-19 16:35  castaglia
+	* src/inet.c: Pedantic comment typo correction.
 
-	* tests/: tests.pl, t/config/authaliasonly.t,
-	  t/lib/ProFTPD/Tests/Config/AuthAliasOnly.pm:
-	  Add unit tests for the AuthAliasOnly directive, including a test
-	  which reproduces Bug#2070.
+2009-10-21  castaglia <castaglia>
 
-2009-07-19 15:23  castaglia
+	* tests/t/config/hidenoaccess.t,
+	tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm, tests/tests.pl: 
+	Add unit test for the HideNoAccess directive.
 
-	* tests/: tests.pl, t/config/authusingalias.t,
-	  t/lib/ProFTPD/Tests/Config/AuthUsingAlias.pm:
-	  Add unit tests for the AuthUsingAlias directive.
+2009-10-21  castaglia <castaglia>
 
-2009-07-19 14:24  castaglia
+	* doc/howto/Scoreboard.html: Add scoreboard FAQ about "bad version
+	(too old)" errors.
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Utils/ftpwho.pm,
-	  t/utils/ftpwho.t:
-	  Start adding unit tests for the ftpwho utility.
+2009-10-21  castaglia <castaglia>
 
-2009-07-19 13:18  castaglia
+	* doc/contrib/mod_sftp.html: Added mod_sftp FAQ about ListOptions.
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Utils/ftpcount.pm,
-	  t/utils/ftpcount.t:
-	  Start of unit tests for the ftpcount utility.
+2009-10-21  castaglia <castaglia>
 
-2009-07-19 12:11  castaglia
+	* contrib/mod_tls.c: Cleanly shutdown the SSL/TLS session (if there
+	is one) for TimeoutLogin as well.
 
-	* 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-10-21  castaglia <castaglia>
 
-2009-07-19 12:07  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.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm:
-	  Add unit test for the ExecOnRestart directive.
+2009-10-21  castaglia <castaglia>
 
-2009-07-19 12:06  castaglia
+	* NEWS, contrib/mod_tls.c: Bug#3303 - FileZilla reports "Server did
+	not properly shut down TLS connection" after TimeoutIdle triggered..
 
-	* contrib/mod_exec.c:
-	  Add handling of signals to some while() loops.
+2009-10-20  castaglia <castaglia>
 
-2009-07-18 15:58  castaglia
+	* doc/contrib/mod_tls.html: Markup error.
 
-	* 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-10-20  castaglia <castaglia>
 
-2009-07-18 12:50  castaglia
+	* include/version.h: Bumped version to what will become 1.3.3rc3.
 
-	* doc/contrib/mod_exec.html:
-	  Fix typos, update mod_exec doc to point to local copy of Logging
-	  howto.
+2009-10-20  castaglia <castaglia>
 
-2009-07-18 12:38  castaglia
+	* contrib/dist/rpm/proftpd.spec, include/version.h: Getting versions
+	ready for 1.3.3rc2 release.
 
-	* tests/: tests.pl, t/config/useglobbing.t,
-	  t/lib/ProFTPD/Tests/Config/UseGlobbing.pm:
-	  Add unit test for the UseGlobbing directive.
+2009-10-20  castaglia <castaglia>
 
-2009-07-18 12:29  castaglia
+	* NEWS: Mention the release date for 1.3.3rc2.
 
-	* tests/: tests.pl, t/config/userpassword.t,
-	  t/lib/ProFTPD/Tests/Config/UserPassword.pm:
-	  Add unit test for the UserPassword directive.
+2009-10-20  castaglia <castaglia>
 
-2009-07-17 18:51  castaglia
+	* RELEASE_NOTES: Typos, corrections.
 
-	* doc/howto/TLS.html:
-	  Update the TLS howto FAQ regarding implicit FTPS to reflect the
-	  addition of implicit FTPS support (in Bug#3266).
+2009-10-20  castaglia <castaglia>
 
-2009-07-17 18:48  castaglia
+	* ChangeLog: Updated the ChangeLog.
 
-	* 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-10-20  castaglia <castaglia>
 
-2009-07-17 09:35  castaglia
+	* RELEASE_NOTES: Adding more to the release notes, getting them
+	ready for the release of RC2.
 
-	* 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-10-20  castaglia <castaglia>
 
-2009-07-16 18:16  castaglia
+	* contrib/mod_sql_postgres.c: Minor tweaks to the Postgres
+	NLS/encoding code.
 
-	* modules/mod_ctrls.c:
-	  If ControlsEngine is set to 'off', then we should not try to
-	  listen on the ControlsSocket.
+2009-10-20  castaglia <castaglia>
 
-2009-07-16 18:10  castaglia
+	* RELEASE_NOTES: Point out a potential hazard with the delayed-open
+	database connection policy and logging-only database configs.
 
-	* 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-10-19  castaglia <castaglia>
 
-2009-07-16 14:28  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.
 
-	* configure:
-	  Forgot to check in the updated configure script.
+2009-10-19  castaglia <castaglia>
 
-2009-07-16 13:47  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.
 
-	* doc/howto/Umask.html:
-	  Add a FAQ to the Umask howto explaining why proftpd does not
-	  allow uploading of files with execute permissions.
+2009-10-19  castaglia <castaglia>
 
-2009-07-16 11:15  castaglia
+	* doc/howto/NAT.html: Fixed URL to IP Masquerade howto doc.
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_shaper.pm,
-	  t/modules/mod_shaper.t:
-	  Start adding unit/regression tests for the mod_shaper module.
+2009-10-14  castaglia <castaglia>
 
-2009-07-16 10:52  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm:
-	  Add unit test for CreateHome's 'dirmode' parameter.
+2009-10-14  castaglia <castaglia>
 
-2009-07-15 14:59  castaglia
+	* modules/mod_auth_unix.c: Helps if we provide the data type for
+	variables.
 
-	* 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-10-14  castaglia <castaglia>
 
-2009-07-15 14:41  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.
 
-	* contrib/mod_sftp/fxp.c:
-	  Use the SFTP session's pool, rather than the Response API pool,
-	  for adding our status codes.
+2009-10-14  castaglia <castaglia>
 
-2009-07-15 14:25  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.)
 
-	* 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-10-14  castaglia <castaglia>
 
-2009-07-15 09:37  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Fixing quietly broken
+	MLSD unit tests; they were using the wrong regex.
 
-	* contrib/mod_sftp/fxp.c:
-	  Simplify the obtaining of proper open(2) flags when handling
-	  version 5 (and higher) SFTP OPEN requests.
+2009-10-13  castaglia <castaglia>
 
-2009-07-14 22:59  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.
 
-	* 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-10-12  jwm <jwm>
 
-2009-07-14 22:58  castaglia
+	* contrib/mod_ldap.c: mod_ldap bzr r70:   2.8.20 release
 
-	* 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-10-12  jwm <jwm>
 
-2009-07-14 15:40  castaglia
+	* 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
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Add unit test for the %s LogFormat variable in ExtendedLogs for
-	  SFTP requests.
+2009-10-12  castaglia <castaglia>
 
-2009-07-14 14:31  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.
 
-	* 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-10-07  castaglia <castaglia>
 
-2009-07-14 11:46  castaglia
+	* NEWS, modules/mod_auth_unix.c: Bug#3300 - Support disabling use of
+	S_RLOGIN when calling AIX loginrestrictions().
 
-	* 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-10-07  castaglia <castaglia>
 
-2009-07-14 09:27  castaglia
+	* doc/contrib/mod_sftp.html: Add a little more description of the
+	sftpUTF8ProtocolVersion config setting.
 
-	* 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-10-06  castaglia <castaglia>
 
-2009-07-09 00:18  castaglia
+	* doc/howto/ServerType.html: Add a FAQ about another cause of
+	slow/timed out logins.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm:
-	  Add unit tests for ExecOnError.
+2009-10-05  castaglia <castaglia>
 
-2009-07-09 00:17  castaglia
+	* contrib/mod_sql.c: Add more info to the mod_sql logs when handling
+	(and looking up) named queries.
 
-	* 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-10-05  castaglia <castaglia>
 
-2009-07-08 18:32  castaglia
+	* contrib/mod_sql.c: When processing named queries, log the named
+	query being processed.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm:
-	  Add unit test for ExecOnExit.
+2009-10-05  castaglia <castaglia>
 
-2009-07-08 18:29  castaglia
+	* contrib/mod_rewrite.c, contrib/mod_shaper.c: Quell compiler
+	warnings.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm:
-	  Adding more mod_exec unit tests, including one for the "%{...}"
-	  variable support.
+2009-10-05  castaglia <castaglia>
 
-2009-07-08 18:27  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.
 
-	* contrib/mod_exec.c:
-	  Add support for the Variables API-style "%{...}" variables to
-	  mod_exec's variable interpolation.  For example, you could now
-	  do:
+2009-10-05  castaglia <castaglia>
 
-	    ExecOnExit /bin/bash -c "echo %{total_bytes_out} >>
-	  bytes-downloaded.txt"
+	* modules/mod_core.c: Just to be defensive, make sure that the
+	EISDIR errno value exists before using it.
 
-	  and it would work properly.
+2009-10-05  castaglia <castaglia>
 
-2009-07-08 18:12  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.
 
-	* contrib/mod_exec.c:
-	  Fix off-by-one error which caused mod_exec to log all but the
-	  last parameter when calling exec.
+2009-10-05  castaglia <castaglia>
 
-2009-07-08 18:11  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm: Uncomment
+	line to delete log file.
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_exec.pm,
-	  t/modules/mod_exec.t:
-	  Start working on unit tests for the mod_exec module.
+2009-10-05  castaglia <castaglia>
 
-2009-07-08 16:43  castaglia
+	* src/main.c: Fix the settings displayed so that we show either
+	ncurses or ncursesw, but not both (related to Bug#3213).
 
-	* lib/sstrncpy.c:
-	  Catch a possible null pointer exception in sstrncpy(), if the src
-	  pointer provided by the caller is null.
+2009-10-05  castaglia <castaglia>
 
-2009-07-08 13:29  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.
 
-	* 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-10-05  castaglia <castaglia>
 
-2009-07-08 11:16  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.
 
-	* 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-10-04  castaglia <castaglia>
 
-2009-07-08 11:06  castaglia
+	* NEWS, src/scoreboard.c, utils/ftptop.c: Bug#3214 - ftpwho/ftptop
+	truncate UTF8 strings due to byte, versus character, lengths.
 
-	* 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-10-04  castaglia <castaglia>
 
-2009-07-06 08:28  castaglia
+	* configure: Updated configure (for Bug#3213).
 
-	* NEWS, src/dirtree.c:
-	  Bug#3221 - Fixed regression causing command-line -D/--define
-	  options not to work.
+2009-10-04  castaglia <castaglia>
 
-2009-07-05 20:13  castaglia
+	* NEWS, config.h.in, configure.in, src/main.c: Bug#3213 - Use
+	locale-sensitive libncursesw library for ftptop where available.
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#2758 - ProFTPD doesn't always pay attention to AccessDenyMsg.
+2009-10-04  castaglia <castaglia>
 
-2009-07-05 20:11  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add unit test for
+	the iPAddressRequired TLSOption.
 
-	* tests/: tests.pl, t/config/accessdenymsg.t,
-	  t/lib/ProFTPD/Tests/Config/AccessDenyMsg.pm:
-	  Add unit tests for the AccessDenyMsg config directive.
+2009-10-04  castaglia <castaglia>
 
-2009-07-05 19:35  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.
 
-	* tests/: tests.pl, t/config/accessgrantmsg.t,
-	  t/lib/ProFTPD/Tests/Config/AccessGrantMsg.pm:
-	  Add unit tests for the AccessGrantMsg config directive.
+2009-10-04  castaglia <castaglia>
 
-2009-07-05 19:15  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.
 
-	* tests/: tests.pl, t/config/useralias.t,
-	  t/lib/ProFTPD/Tests/Config/UserAlias.pm:
-	  Add unit tests for the UserAlias config directive.
+2009-10-03  castaglia <castaglia>
 
-2009-07-05 12:36  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add a unit test for
+	the StdEnvVars TLSOption.
 
-	* 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-10-03  castaglia <castaglia>
 
-2009-07-04 19:02  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}".)
 
-	* 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-10-03  castaglia <castaglia>
 
-2009-07-04 18:48  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.
 
-	* contrib/mod_sftp/scp.c,
-	  tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  The mod_sftp module was not honoring a configuration like:
+2009-10-03  castaglia <castaglia>
 
-	    <Limit WRITE>
-	      DenyAll
-	    </Limit>
+	* contrib/mod_sql_passwd.c: Quell compiler warnings, too.
 
-	    <Directory ~/*/*>
-	      <Limit STOR>
-		AllowAll
-	      </Limit>
-	    </Directory>
+2009-10-03  castaglia <castaglia>
 
-	  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.
+	* contrib/mod_sql_passwd.c: Typo.
 
-	  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-10-02  castaglia <castaglia>
 
-2009-07-03 18:33  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.
 
-	* 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.
+2009-10-02  castaglia <castaglia>
 
-	  By the time the signal handlers were being installed (i.e. after
-	  parsing) this would not have been possible.
+	* RELEASE_NOTES, doc/contrib/mod_sql.html: Update docs to reflect
+	Bug#3290.
 
-2009-07-03 18:02  castaglia
+2009-10-02  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.
+	* 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-07-03 17:34  castaglia
+2009-10-01  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.
+	* doc/contrib/mod_ban.html: Forgot to mention MaxLoginAttempts as
+	one of the events handled by BanOnEvent.
 
-	  The cmd_rec.class field needed to be set on the SSH2 and SFTP
-	  cmd_recs used.
+2009-10-01  castaglia <castaglia>
 
-2009-07-03 16:02  castaglia
+	* doc/contrib/mod_quotatab.html: Clarify the string to which a
+	configured QuotaExcludeFilter is applied.
 
-	* NEWS, contrib/mod_sftp/mod_sftp.c:
-	  Bug#3263 - Supplying optional SFTPRekey timeout parameter causes
-	  segmentation fault.
+2009-10-01  castaglia <castaglia>
 
-2009-07-01 11:18  castaglia
+	* NEWS, contrib/mod_quotatab.c,
+	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3298 -
+	QuotaExcludeFilter directive ignored by mod_quotatab.
 
-	* doc/contrib/mod_sql.html:
-	  Mention that --enable-openssl can be used to enable the OpenSSL
-	  SQLAuthType.
+2009-10-01  castaglia <castaglia>
 
-2009-06-30 20:22  castaglia
+	* doc/contrib/mod_quotatab.html: Typo.
 
-	* include/version.h:
-	  Update the version.h file for the next RC release.
+2009-10-01  castaglia <castaglia>
 
-2009-06-30 19:50  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.
 
-	* ChangeLog:
-	  Updated ChangeLog.
+2009-10-01  castaglia <castaglia>
 
-2009-06-30 19:50  castaglia
+	* locale/files.txt: Remove a few duplicates (caused by symlinks and
+	a working copy) from the list.
 
-	* NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec,
-	  include/version.h:
-	  Updating the files for the release of 1.3.3rc1.
+2009-10-01  castaglia <castaglia>
 
-2009-06-30 18:43  castaglia
+	* locale/Makefile.in, locale/files.txt: Updated locale/files.txt.
 
-	* ChangeLog:
-	  Updated change log for 1.3.2a.
+2009-10-01  castaglia <castaglia>
 
-2009-06-30 18:41  castaglia
+	* contrib/mod_rewrite.c: Quell compiler warning.
 
-	* contrib/dist/rpm/proftpd.spec:
-	  Update the version in the RPM spec file.
+2009-09-30  castaglia <castaglia>
 
-2009-06-30 18:38  castaglia
+	* doc/contrib/mod_sql_passwd.html: Provide an example config using a
+	salt file in the Usage section.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Update mod_tls unit tests to reflect behavior of newer
-	  Net::FTPSSL Perl module.
+2009-09-30  castaglia <castaglia>
 
-2009-06-30 18:29  castaglia
+	* contrib/mod_sql_passwd.c: Fix bad grammar in a comment.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm:
-	  Quell Perl interpreter warnings about redeclared variables.
+2009-09-30  castaglia <castaglia>
 
-2009-06-30 18:29  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.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm:
-	  Remove unit test for bug not fixed in this release.  Quell Perl
-	  interpreter warnings about redeclared variables.
+2009-09-30  castaglia <castaglia>
 
-2009-06-30 18:17  castaglia
+	* doc/contrib/mod_sql_passwd.html: Document the SQLPasswordSaltFile
+	directive.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm:
-	  More handling of spelling differences across systems.
+2009-09-30  castaglia <castaglia>
 
-2009-06-30 18:03  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/TimeoutLogin.pm:
-	  Cleanup of these older tests.
+2009-09-30  castaglia <castaglia>
 
-2009-06-30 17:58  castaglia
+	* contrib/mod_tls.c: Make sure that mod_tls does not cleanup OpenSSL
+	if mod_sql_passwd is in use.
 
-	* tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm:
-	  Account for spelling differences among different systems.
+2009-09-29  castaglia <castaglia>
 
-2009-06-30 17:57  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.
 
-	* 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-09-29  castaglia <castaglia>
 
-2009-06-30 17:49  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/CWD.pm: Update regression test
+	function names to match the names listed.
 
-	* 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.)
+2009-09-29  castaglia <castaglia>
 
-	  The code was also not properly honoring the seldom-used
-	  "MaxLoginAttempts none".
+	* NEWS, src/fsio.c: Bug#3297 - Symlinks to directories which end in
+	trailing slashes may not be handled properly.
 
-	  Adjust MaxLoginAttempts unit tests accordingly.
+2009-09-29  castaglia <castaglia>
 
-2009-06-30 17:27  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/CWD.pm: Regression tests for
+	Bug#3297.
 
-	* modules/mod_xfer.c:
-	  Backport of segfault fix when a data transfer is aborted by a
-	  client.
+2009-09-29  castaglia <castaglia>
 
-2009-06-30 17:27  castaglia
+	* doc/howto/Timestamps.html: Attempt to highlight that unexpected
+	timestamps in directory listings are affected by the TimesGMT
+	directive, not by chrooted processes.
 
-	* 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-09-28  castaglia <castaglia>
 
-2009-06-30 17:26  castaglia
+	* NEWS, modules/mod_ls.c: Bug#3295 - proftpd segfaults when STAT is
+	used with ListOptions "-1".
 
-	* modules/mod_xfer.c:
-	  Fix possible segfault (picked up by a unit test) when a data
-	  transfer is aborted.
+2009-09-28  castaglia <castaglia>
 
-2009-06-30 16:55  castaglia
+	* tests/t/commands/stat.t,
+	tests/t/lib/ProFTPD/Tests/Commands/STAT.pm, tests/tests.pl: Adding
+	unit tests for the STAT command.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm:
-	  Typo.
+2009-09-28  castaglia <castaglia>
 
-2009-06-30 16:45  castaglia
+	* modules/mod_auth.c: If we have trouble resolving the chroot path,
+	make sure we log the reason why.
 
-	* 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-09-28  castaglia <castaglia>
 
-2009-06-30 16:43  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.
 
-	* tests/t/lib/ProFTPD/TestSuite/Utils.pm:
-	  Typo.
+2009-09-28  castaglia <castaglia>
 
-2009-06-30 16:31  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.)
 
-	* src/help.c:
-	  Actually make the code do what the comment (correctly) says it
-	  does.
+2009-09-28  castaglia <castaglia>
 
-2009-06-30 15:46  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.
 
-	* RELEASE_NOTES:
-	  Updating release notes for 1.3.2a maintenance release.
+2009-09-26  castaglia <castaglia>
 
-2009-06-30 15:38  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.
 
-	* RELEASE_NOTES:
-	  Mention the support for TimeoutLogin for the BanOnEvent
-	  directive.
+2009-09-25  castaglia <castaglia>
 
-2009-06-30 14:20  castaglia
+	* doc/contrib/mod_sftp.html: Mention the 3des-ctr cipher in the
+	SFTPCiphers doc.
 
-	* 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-09-25  castaglia <castaglia>
 
-2009-06-30 14:05  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.
 
-	* RELEASE_NOTES, doc/contrib/mod_sql.html:
-	  Working on documentation for new/changed features for the
-	  upcoming 1.3.3rc1 release.
+2009-09-23  castaglia <castaglia>
 
-2009-06-30 10:22  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.
 
-	* NEWS, modules/mod_auth.c, modules/mod_core.c, src/dirtree.c:
-	  Bug#3243 - Broken support for AllowOverride per user/group/class
-	  conditionals.
+2009-09-23  castaglia <castaglia>
 
-2009-06-30 10:09  castaglia
+	* RELEASE_NOTES: Mention custom HiddenStores prefixes in the release
+	notes.
 
-	* modules/mod_cap.c:
-	  Use pr_module_exists() consistently; it more accurately describes
-	  the check that is being made.
+2009-09-23  castaglia <castaglia>
 
-2009-06-30 10:00  castaglia
+	* NEWS, modules/mod_xfer.c,
+	tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Bug#3294 - Support
+	configurable HiddenStores prefixes.
 
-	* NEWS, doc/modules/mod_cap.html, modules/mod_cap.c:
-	  Bug#3257 - CAP_AUDIT_WRITE capability needed for some PAM
-	  modules.
+2009-09-22  castaglia <castaglia>
 
-2009-06-30 09:53  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.
 
-	* NEWS, doc/modules/mod_cap.html, modules/mod_cap.c:
-	  Bug#3257 - CAP_AUDIT_WRITE capability needed for some PAM
-	  modules.
+2009-09-21  castaglia <castaglia>
 
-2009-06-30 09:48  castaglia
+	* src/inet.c: Pre-emptively update the code for Mac OSX 10.6
+	machines.
 
-	* contrib/mod_sql_sqlite.c:
-	  Backport the SQLite fix for mod_sql_sqlite, so that if a new
-	  enough version of SQLite is used, mod_sql_sqlite will be able to
-	  support SQLLog directives in a chrooted session.
+2009-09-21  castaglia <castaglia>
 
-2009-06-30 09:44  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.
 
-	* contrib/: mod_sql_mysql.c, mod_sql_odbc.c, mod_sql_postgres.c,
-	  mod_sql_sqlite.c:
-	  Bug#3259 - Adding second database connection causes segfault.
+2009-09-21  castaglia <castaglia>
 
-2009-06-30 09:42  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).
 
-	* contrib/mod_sql_odbc.c:
-	  Fix some compiler warnings about shadowed variables in
-	  mod_sql_odbc.
+2009-09-18  castaglia <castaglia>
 
-2009-06-30 09:41  castaglia
+	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Cut-n-pasto.
 
-	* contrib/: mod_sql_mysql.c, mod_sql_odbc.c, mod_sql_postgres.c,
-	  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-09-17  castaglia <castaglia>
 
-2009-06-30 09:04  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.
 
-	* tests/: tests.pl, t/config/limit/subdirs.t,
-	  t/lib/ProFTPD/Tests/Config/Limit/SubDirectories.pm:
-	  Add unit test demonstrating how Bug#3077 can cause some
-	  unexpected <Limit> configurations, due to need to handle the
-	  X-variant commands.
+2009-09-17  castaglia <castaglia>
 
-2009-06-29 17:50  castaglia
+	* doc/howto/Chroot.html: Add FAQ about using multiple DefaultRoot
+	directives at the same time.
 
-	* NEWS, contrib/mod_tls.c, modules/mod_xfer.c, 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-09-17  castaglia <castaglia>
 
-	  Bug#3258 - Log cluttered with "using sendfile capability"
-	  messages.
+	* 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.
 
-	  Bug#3261 - Badly formatted TLSRenegotiate directive causes
-	  proftpd to hang.
+2009-09-17  castaglia <castaglia>
 
-2009-06-29 17:33  castaglia
+	* contrib/mod_sftp/mod_sftp.h.in: Forgot to include the blowfish
+	header.
 
-	* contrib/mod_tls.c:
-	  Fix a bug in mod_tls' parsing of the TLSRenegotiate directive, as
-	  per:
+2009-09-17  castaglia <castaglia>
 
-	    https://bugzilla.redhat.com/show_bug.cgi?id=476847
+	* doc/contrib/mod_sftp.html: Make sure that blowfish-ctr is listed
+	in the docs.
 
-	  No one was nice enough to report that bug in the ProFTPD
-	  Bugzilla, though.
+2009-09-17  castaglia <castaglia>
 
-2009-06-29 16:02  castaglia
+	* contrib/mod_sftp/crypto.c: Add support for the blowfish-ctr cipher
+	from RFC4344.
 
-	* contrib/: mod_sql.c, mod_sql_postgres.c:
-	  Bug#3251 - mod_sql_postgres should be more verbose when failing
-	  the "Backend" SQLAuthType check.
+2009-09-17  castaglia <castaglia>
 
-2009-06-29 13:36  castaglia
+	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Add support for issuing the
+	HOST command in the testsuite client.
 
-	* contrib/mod_sql_mysql.c:
-	  Stylistic nits; no functional change.
+2009-09-16  castaglia <castaglia>
 
-2009-06-29 10:18  castaglia
+	* contrib/mod_sftp/cipher.c, contrib/mod_sftp/keys.c,
+	contrib/mod_sftp/mac.c: Clean up some minor compiler warnings.
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#3258 - Log cluttered with "using sendfile capability"
-	  messages.
+2009-09-16  castaglia <castaglia>
 
-2009-06-29 10:10  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.)
 
-	* 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-09-16  castaglia <castaglia>
 
-2009-06-28 22:31  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.
 
-	* 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.
+2009-09-16  castaglia <castaglia>
 
-	  Add an accompanying unit test for the chrooted behavior of
-	  mod_sql_sqlite.
+	* src/privs.c: Make the "SETUP PRIVS" log message be at DEBUG9, like
+	the other debug log messages generated when manipulating privs.
 
-2009-06-25 13:35  castaglia
+2009-09-16  castaglia <castaglia>
 
-	* doc/howto/SQL.html:
-	  Replace the URLs to castaglia.org with URLs to proftpd.org.
+	* 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-06-24 16:44  castaglia
+2009-09-16  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.
+	* contrib/mod_sftp/crypto.c: Pedantic comment typo correction.
 
-2009-06-23 16:15  castaglia
+2009-09-16  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Update the release notes; I still need to flesh out the
-	  descriptions more before doing the 1.3.3rc1 release.
+	* configure: Updated configure.
 
-2009-06-22 13:54  castaglia
+2009-09-16  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.
+	* 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-06-22 11:10  castaglia
+2009-09-16  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.
+	* 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-06-22 10:54  castaglia
+2009-09-15  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.
+	* modules/mod_core.c, src/dirtree.c, src/modules.c: Various
+	stylistic cleanups generated while pursuing strange segfault.
 
-2009-06-22 10:48  castaglia
+2009-09-15  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.
+	* 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.
 
-	  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-09-15  castaglia <castaglia>
 
-2009-06-22 10:44  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.
 
-	* src/fsio.c:
-	  Include utimes(2), futimes(3) in the debug output for a
-	  registered FS object.
+2009-09-15  castaglia <castaglia>
 
-2009-06-22 09:54  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.
 
-	* doc/howto/Limit.html:
-	  Mention that the parsing rules for AllowUser pertain to DenyUser
-	  as well.
+2009-09-14  castaglia <castaglia>
 
-2009-06-21 12:19  castaglia
+	* src/session.c: When marking a session as idle, make sure that
+	session.user is non-NULL; if not, using "(authenticating)".
 
-	* NEWS, contrib/mod_tls.c,
-	  tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Bug#3247 - "TLSRequired auth" and "TLSOptions AllowPerUser" are
-	  incompatible.
+2009-09-14  castaglia <castaglia>
 
-2009-06-21 12:14  castaglia
+	* src/dirtree.c, tests/t/lib/ProFTPD/Tests/Config/Limit/Filters.pm: 
+	Set the errno appropriately for implicit denies.
 
-	* 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-09-14  castaglia <castaglia>
 
-2009-06-21 12:05  castaglia
+	* doc/howto/Filters.html: Add example config for using AllowFilter
+	to only allow specific filename extensions in a directory.
 
-	* 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-09-14  castaglia <castaglia>
 
-2009-06-21 11:57  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.
 
-	* tests/: tests.pl, t/config/ftpaccess/empty.t,
-	  t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm:
-	  Add unit test for an empty .ftpaccess file, for
-	  investigating/regressing Bug#3240.
+2009-09-12  castaglia <castaglia>
 
-2009-06-20 19:24  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.
 
-	* 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-09-09  castaglia <castaglia>
 
-2009-06-20 14:49  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.
 
-	* 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-09-09  castaglia <castaglia>
 
-2009-06-20 13:33  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Looks like newer
+	libssh2 versions have addressed some issues, though not all.
 
-	* 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-09-09  castaglia <castaglia>
 
-2009-06-20 11:42  castaglia
+	* doc/contrib/mod_sql_passwd.html: Be sure to list the additional
+	SQLAuthTypes provided by mod_sql_passwd.
 
-	* contrib/mod_sftp/mod_sftp.c:
-	  When mod_sftp handles a restart, it needs to clear any
-	  passphrases held in memory.
+2009-09-09  castaglia <castaglia>
 
-2009-06-19 17:54  castaglia
+	* RELEASE_NOTES, doc/contrib/mod_sql_passwd.html: Adding
+	documentation for mod_sql_passwd.
 
-	* 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-09-09  castaglia <castaglia>
 
-2009-06-19 17:29  castaglia
+	* doc/contrib/mod_sql.html: Adding the required notice for using
+	OpenSSL.
 
-	* 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-09-09  castaglia <castaglia>
 
-2009-06-19 17:15  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.
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_cap.pm,
-	  t/modules/mod_cap.t:
-	  Start on unit tests for the mod_cap module.
+2009-09-09  castaglia <castaglia>
 
-2009-06-19 11:55  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.
 
-	* tests/: tests.pl, t/config/allowoverwrite.t,
-	  t/lib/ProFTPD/Tests/Config/AllowOverwrite.pm: Add unit tests for
-	  the AllowOverwrite directive.
+2009-09-08  castaglia <castaglia>
 
-2009-06-18 17:32  castaglia
+	* contrib/mod_sftp/auth.c: Add trace logging of the list of SSH2
+	authentication methods that are offered to the client.
 
-	* 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-09-08  castaglia <castaglia>
 
-2009-06-10 14:48  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.
 
-	* configure:
-	  Updated configure.
+2009-09-08  castaglia <castaglia>
 
-2009-06-10 14:44  castaglia
+	* modules/mod_auth.c: Clear the auth-only module list after
+	authentication has succeeded.
 
-	* 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-09-08  castaglia <castaglia>
 
-2009-06-10 09:18  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.
 
-	* NEWS, contrib/mod_ban.c, doc/contrib/mod_ban.html:
-	  Bug#3249 - mod_ban support for TimeoutLogin.
+2009-09-08  castaglia <castaglia>
 
-2009-06-09 09:07  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).
 
-	* 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-09-08  castaglia <castaglia>
 
-2009-06-09 09:05  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.
 
-	* modules/mod_core.c:
-	  Add debug logging when the SITE CHMOD/CHGRP commands are denied
-	  because of <Limit> sections in the configuration.
+2009-09-08  castaglia <castaglia>
 
-2009-06-03 11:42  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).
 
-	* contrib/mod_sftp/auth.c:
-	  Make sure that any configured SFTPDisplayBanner is only sent once
-	  to the connecting client.
+2009-09-08  castaglia <castaglia>
 
-2009-06-03 10:28  castaglia
+	* modules/mod_lang.c: Skip the "." and ".." directory entries when
+	scanning the LangPath directory.
 
-	* contrib/mod_sftp/keys.c:
-	  Add a missing PRIVS_RELINQUISH call.	Adjust spacing in that same
-	  area, so that the formatting is consistent.
+2009-09-07  castaglia <castaglia>
 
-2009-05-28 13:13  castaglia
+	* NEWS: Forgot to update the NEWS file.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Add test case to make sure that RootLogin works properly in
-	  mod_sftp.
+2009-09-07  castaglia <castaglia>
 
-2009-05-27 16:10  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.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm:
-	  Fix typo in mod_rewrite PORT rewriting config.
+2009-09-07  castaglia <castaglia>
 
-2009-05-27 16:09  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.
 
-	* doc/howto/Rewrite.html:
-	  Fix typo/omission in Rewrite howto.
+2009-09-07  castaglia <castaglia>
 
-2009-05-27 11:31  castaglia
+	* contrib/mod_quotatab.c: Quell a few compiler printf warnings by
+	using explicit typecasts.
 
-	* 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-09-07  castaglia <castaglia>
 
-2009-05-27 09:14  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.
 
-	* contrib/dist/rpm/proftpd.logrotate:
-	  Bug#3245 - proftpd.logrotate assumes location of `kill' command.
-	  Simply rely on PATH to find the appropriate location.
+2009-09-07  castaglia <castaglia>
 
-2009-05-22 14:15  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).
 
-	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm:
-	  Add test showing that a file with leading whitespace in its name
-	  can be downloaded.
+2009-09-05  castaglia <castaglia>
 
-2009-05-22 10:35  castaglia
+	* src/encode.c: Need to set the LC_NUMERIC locale back to "C" after
+	calling setlocale() using LC_ALL.
 
-	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
-	  Yet more redundant variables removed.
+2009-09-05  castaglia <castaglia>
 
-2009-05-22 10:34  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm:
-	  More redundant variables removed.
+2009-09-04  castaglia <castaglia>
 
-2009-05-22 10:28  castaglia
+	* doc/howto/ConfigFile.html: Specifically mention that proftpd
+	switches to the UID/GID of the logged-in user.
 
-	* tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm:
-	  Remove another redundant variable declaration.
+2009-09-04  castaglia <castaglia>
 
-2009-05-22 10:22  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'.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm:
-	  Remove redundant variable declaration.
+2009-09-04  castaglia <castaglia>
 
-2009-05-20 14:00  castaglia
+	* src/encode.c: Fix segfault found by the mod_lang unit tests.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/STOR.pm:
-	  Add unit test demonstrating that upload a file whose name begins
-	  with whitespace is possible.
+2009-09-04  castaglia <castaglia>
 
-	  Update all tests to use 'tests.log' as the logfile name.
+	* RELEASE_NOTES: Update release notes with note about scoreboard
+	format change; need to expand on this at release time, of course.
 
-2009-05-19 14:38  castaglia
+2009-09-04  castaglia <castaglia>
 
-	* tests/t/: lib/ProFTPD/Tests/Modules/mod_ifsession.pm,
-	  modules/mod_ifsession.t:
-	  Start working on unit tests for mod_ifsession's functionality.
-	  This first test is inspired/used for verifying Bug#3243.
+	* 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-05-19 14:36  castaglia
+2009-09-02  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.
+	* 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-05-19 09:23  castaglia
+2009-09-02  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.
+	* 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-05-18 14:16  castaglia
+2009-09-02  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.
+	* 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-05-18 09:11  castaglia
+2009-09-01  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.
+	* NEWS, modules/mod_xfer.c: Bug#3287 - MaxTransfersPerHost,
+	MaxTransfersPerUser directives not supported properly.
 
-2009-05-14 17:29  castaglia
+2009-09-01  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.
+	* doc/contrib/mod_sftp.html: Add SFTP FAQ about CBC cipher mode
+	attacks.
 
-2009-05-14 17:19  castaglia
+2009-09-01  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.
+	* 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-05-14 14:51  castaglia
+2009-08-31  castaglia <castaglia>
 
-	* contrib/mod_sftp/: fxp.c, 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.
+	* doc/howto/Controls.html: Updating URLs and such in Controls howto.
 
-2009-05-14 14:46  castaglia
+2009-08-31  castaglia <castaglia>
 
-	* contrib/mod_sftp/: fxp.c, scp.c: [no log message]
+	* 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-05-14 12:22  castaglia
+2009-08-31  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.
+	* contrib/mod_sftp/packet.c: Handle a few more types of errors that
+	we might encounter while reading from a socket.
 
-2009-05-14 12:21  castaglia
+2009-08-30  castaglia <castaglia>
 
-	* contrib/mod_sftp/scp.c:
-	  This adds support for HiddenStores, DeleteAbortedStores, and
-	  'incomplete' TransferLog entries to SCP.
+	* src/session.c: Getting ready to support the "publickey" SSH2
+	subsystem (RFC4819).
 
-2009-05-14 12:18  castaglia
+2009-08-28  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Cut-n-paste error.
+	* NEWS, RELEASE_NOTES, src/dirtree.c: Bug#3279 - .ftpaccess
+	configurations not merged properly with existing configuration.
 
-2009-05-14 11:48  castaglia
+2009-08-28  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Add a trace message for renaming of a HiddenStores file.
+	* 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-05-14 09:56  castaglia
+2009-08-28  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  HiddenStores is now supported by mod_sftp.
+	* 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-05-14 09:48  castaglia
+2009-08-19  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Added unit tests for 'incomplete' TransferLog entries via SFTP.
+	* 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>
 
-2009-05-14 09:44  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
+	DefaultChdir config in mod_sftp.
 
-	* 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).
+2009-08-19  castaglia <castaglia>
 
-	  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).
+	* 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-05-13 16:19  castaglia
+2009-08-15  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Added regression tests for HiddenStores and DeleteAbortedStores
-	  via SFTP uploads.
+	* 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-05-13 16:18  castaglia
+2009-08-15  castaglia <castaglia>
 
-	* contrib/mod_sftp/: channel.c, channel.h, fxp.c, mod_sftp.c:
-	  Added support for the HiddenStores and DeleteAbortedStores
-	  directives for SFTP.
+	* src/dirtree.c: Sigh; fix the spacing in these HideFiles log
+	messages again.
 
-2009-05-13 11:13  castaglia
+2009-08-15  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Add tests for TransferLog entries generated from
-	  downloading/uploading via SCP.
+	* 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-05-13 09:41  castaglia
+2009-08-14  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.
+	* 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-05-13 09:41  castaglia
+2009-08-14  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.
+	* src/dirtree.c: Fix the spacing of the log messages about negated
+	(or not) HideFiles directives.
 
-2009-05-13 09:31  castaglia
+2009-08-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.
+	* 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-05-11 11:58  castaglia
+2009-08-13  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Warn of the change to the values in the service-name field of the
-	  TransferLog.
+	* NEWS, contrib/mod_radius.c, modules/mod_xfer.c, src/data.c: 
+	Bug#3278 - Aborted data transfers not reflected in RADIUS
+	accounting.
 
-2009-05-11 11:07  castaglia
+2009-08-13  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.
+	* 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-05-11 10:33  castaglia
+2009-08-13  castaglia <castaglia>
 
-	* tests/Makefile.in:
-	  Make sure the privs.o code is linked into the API tests.
+	* contrib/mod_radius.c: Fix compiler warnings about signedness
+	mismatches.
 
-2009-05-11 10:18  castaglia
+2009-08-12  castaglia <castaglia>
 
-	* tests/Makefile.in:
-	  Separate the API and the running tests into two separate make
-	  targets.
+	* 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-05-11 09:59  castaglia
+2009-08-12  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Add regression test for the TransferLog delete file entries for
-	  SFTP.
+	* 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-05-11 09:58  castaglia
+2009-08-12  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Make sure that deleting a file via SFTP generates the proper
-	  TransferLog entry.
+	* 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-05-09 10:02  castaglia
+2009-08-11  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.
+	* doc/howto/Authentication.html: Orthographic correction.
 
-2009-05-08 16:14  castaglia
+2009-08-10  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Added unit test for the TransferLog generated by downloading a
-	  file via sftp.
+	* NEWS: Had the bug number wrong; should be Bug#3252, not Bug#3272.
 
-2009-05-08 16:13  castaglia
+2009-08-10  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".
+	* NEWS, src/fsio.c: Bug#3272 - %F/%f Display variables can report
+	wrong size on 64-bit systems.
 
-2009-05-06 10:38  castaglia
+2009-08-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.
+	* contrib/mod_sftp/rfc4716.c: Quibble, quibble.
 
-2009-05-04 16:31  castaglia
+2009-08-06  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.
+	* contrib/mod_sftp/rfc4716.c: Thinko.
 
-2009-05-03 13:13  castaglia
+2009-08-06  castaglia <castaglia>
 
-	* contrib/mod_sftp/scp.c:
-	  Fix the handling of recursive uploads of directories via SCP; it
-	  was completely broken.
+	* contrib/mod_tls.c: Add a function to get a printable version of a
+	suspicious dNSName value; related to Bug#3275.
 
-2009-05-03 12:18  castaglia
+2009-08-06  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.
+	* 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-05-02 16:15  castaglia
+2009-08-05  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.
+	* 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-05-02 11:48  castaglia
+2009-08-05  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm:
-	  Added unit tests for the 'OpenSSL' SQLAuthType.
+	* src/encode.c: [no log message]
 
-2009-05-01 08:47  castaglia
+2009-08-05  castaglia <castaglia>
 
-	* doc/howto/ListOptions.html:
-	  Mention the new -B ListOption.
+	* modules/mod_lang.c: Try to make for better, more informative error
+	messages if we fail to set the locale.
 
-2009-05-01 08:42  castaglia
+2009-08-05  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.
+	* src/data.c: We handle signals in pr_data_xfer() when writiing; we
+	should do the same when reading.
 
-2009-04-30 14:18  castaglia
+2009-08-05  castaglia <castaglia>
 
-	* src/main.c:
-	  Add trace logging for when the 'requires_auth' check fails.
+	* modules/mod_lang.c: Declaring the curr_locale variable in the
+	right scope helps to make the code actually compile properly.
 
-2009-04-30 14:10  castaglia
+2009-08-05  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.
+	* 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-04-30 11:54  castaglia
+2009-08-04  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).
+	* doc/contrib/mod_sql.html: Document the new "noReconnect" SQLOption
+	added as part of Bug#3270.
 
-2009-04-29 22:50  castaglia
+2009-08-04  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.
+	* 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-04-29 16:32  castaglia
+2009-08-04  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.
+	* NEWS, contrib/mod_sftp/utf8.c, src/encode.c: Bug#3272 - Avoid
+	encoding if to/from charsets are the same.
 
-2009-04-29 11:14  castaglia
+2009-08-04  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.
+	* NEWS, src/support.c: Bug#3274 - Timestamp formatting in
+	TransferLog needs padded day-of-month.
 
-2009-04-29 09:09  castaglia
+2009-08-02  castaglia <castaglia>
 
-	* modules/mod_ls.c:
-	  Quell compiler warnings about unused variables when --enable-nls
-	  is used.
+	* 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-04-28 15:53  castaglia
+2009-08-02  castaglia <castaglia>
 
-	* include/version.h:
-	  Update the version number and string, and mark this as a
-	  maintenance branch/version.
+	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Report on the
+	database client and server versions, when known.
 
-2009-04-28 15:50  castaglia
+2009-07-30  castaglia <castaglia>
 
-	* NEWS, locale/Makefile.in, locale/bg_BG.po, locale/fr_FR.po,
-	  locale/ko_KR.po:
-	  Added Bulgarian, French, Korean translations.
+	* contrib/mod_sftp/fxp.c: Fix compilation error on AIX5.
 
-2009-04-28 15:44  castaglia
+2009-07-29  castaglia <castaglia>
 
-	* NEWS, src/ctrls.c, src/event.c:
-	  Backport fix for Bug#3179.
+	* 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-04-28 15:33  castaglia
+2009-07-29  castaglia <castaglia>
 
-	* NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c,
-	  src/main.c:
-	  Backport fix for Bug#3221.
+	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Add unit test for LIST
+	command for Bug#3254.
 
-2009-04-28 15:26  castaglia
+2009-07-28  castaglia <castaglia>
 
-	* doc/contrib/mod_exec.html:
-	  Include the %w variable in the mentioned list of supported
-	  variables.
+	* 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-04-28 15:24  castaglia
+2009-07-27  castaglia <castaglia>
 
-	* doc/contrib/: mod_exec.html, mod_shaper.html:
-	  Update the mod_exec and mod_shaper docs.
+	* 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-04-28 15:22  castaglia
+2009-07-27  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.
+	* contrib/mod_sftp/channel.c: Missed one change from the weekend's
+	mod_sftp hacking.
 
-2009-04-28 15:20  castaglia
+2009-07-27  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql.c:
-	  Backport fix for Bug#3203.
+	* 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-04-28 15:18  castaglia
+2009-07-26  castaglia <castaglia>
 
-	* NEWS, README.modules, RELEASE_NOTES, contrib/mod_exec.c,
-	  doc/contrib/mod_exec.html:
-	  Added mod_exec to contrib modules.
+	* 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-04-28 14:52  castaglia
+2009-07-24  castaglia <castaglia>
 
-	* NEWS, contrib/mod_quotatab.c:
-	  Backport fix for Bug#3196.
+	* 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-04-28 14:49  castaglia
+2009-07-23  castaglia <castaglia>
 
-	* NEWS, contrib/mod_wrap2_sql.c:
-	  Backport fix for Bug#3215.
+	* 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-04-28 14:34  castaglia
+2009-07-23  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Backport fix for Bug#3234.
+	* 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-04-28 14:17  castaglia
+2009-07-23  castaglia <castaglia>
 
-	* NEWS, modules/mod_facts.c:
-	  Backported fix for Bug#3190.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Add unit
+	test for handling of DELE in mod_quotatab.
 
-2009-04-28 14:11  castaglia
+2009-07-23  castaglia <castaglia>
 
-	* NEWS, src/dirtree.c:
-	  Backport fixes for Bug#3184.
+	* doc/howto/Quotas.html: Add another quota FAQ.
 
-2009-04-28 14:04  castaglia
+2009-07-23  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth.c, src/main.c:
-	  Backport fix for Bug#3183.
+	* 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-04-28 13:22  castaglia
+2009-07-23  castaglia <castaglia>
 
-	* NEWS, src/prxs.in:
-	  Backported fix for Bug#3188.
+	* NEWS, contrib/mod_rewrite.c,
+	tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Bug#3269 -
+	RewriteCondition OR/ornext flag does not work.
 
-2009-04-28 13:10  castaglia
+2009-07-23  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql_postgres.c:
-	  Backported fix for Bug#3176.
+	* 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-04-28 12:58  castaglia
+2009-07-22  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql_postgres.c:
-	  Backported fix for Bug#3123.
+	* 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-04-28 12:45  castaglia
+2009-07-22  castaglia <castaglia>
 
-	* src/main.c:
-	  Backporting bugfixes:
+	* modules/mod_delay.c: Add paranoid check that an array pointer is
+	non-null before we use it.
 
-	    + Handle restart parsing errors better.
-	    + Clear the signal bitflag before processing the signal, not
-	  after.  This
-	      was causing some crashes due to endless loops during a
-	  restart.
+2009-07-21  castaglia <castaglia>
 
-2009-04-28 12:41  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.
 
-	* src/auth.c:
-	  Backport the fix for the first UID/GID lookup failing to return
-	  the name.
+2009-07-21  castaglia <castaglia>
 
-2009-04-28 11:35  castaglia
+	* contrib/mod_sql.c: Make sure that mod_sql logs the corresponding
+	"leaving func" message in some cases; it wasn't doing so.
 
-	* modules/mod_core.c, modules/mod_ls.c, src/dirtree.c:
-	  Backporting bugfixes from trunk; these particular changes do not
-	  have an associated bug number.
+2009-07-21  castaglia <castaglia>
 
-2009-04-27 23:34  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.
 
-	* doc/howto/TLS.html:
-	  Add TLS FAQ about whether FTPS protects both control and data
-	  connections (it does).
+2009-07-21  castaglia <castaglia>
 
-2009-04-27 23:26  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).
 
-	* doc/contrib/mod_sftp.html:
-	  Added SFTP FAQ about having an SFTP-only proftpd.
+2009-07-21  castaglia <castaglia>
 
-2009-04-27 23:22  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.
 
-	* tests/tests.pl:
-	  Run the DisplayQuit tests as part of the testsuite.
+2009-07-21  castaglia <castaglia>
 
-2009-04-27 23:21  castaglia
+	* contrib/dist/rpm/proftpd.spec: Attempt to add support for mod_sftp
+	to the .spec file.
 
-	* tests/t/lib/ProFTPD/Tests/Config/DisplayQuit.pm:
-	  Adding tests for the DisplayQuit directive.
+2009-07-21  castaglia <castaglia>
 
-2009-04-27 16:10  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.
 
-	* NEWS, README.modules, RELEASE_NOTES, contrib/mod_shaper.c,
-	  doc/contrib/mod_shaper.html:
-	  Add mod_shaper to the contrib/ modules.
+2009-07-21  castaglia <castaglia>
 
-2009-04-25 14:25  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.
 
-	* 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-07-21  castaglia <castaglia>
 
-2009-04-25 14:14  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.
 
-	* 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-07-21  castaglia <castaglia>
 
-2009-04-24 13:48  castaglia
+	* contrib/mod_sftp/fxp.c: More explanatory comments, for my future
+	reference.
 
-	* modules/mod_core.c:
-	  Fix another unsafe use of sizeof() on a pointer.
+2009-07-21  castaglia <castaglia>
 
-2009-04-24 13:45  castaglia
+	* contrib/mod_sftp/fxp.c: Add comment describing the implementation
+	of the RENAME handler, and how it is technically nonconformant in
+	particular cases.
 
-	* src/dirtree.c:
-	  Fix unsafe sizeof(); it was being used on a pointer, not on a
-	  static buffer.
+2009-07-21  castaglia <castaglia>
 
-2009-04-24 10:38  castaglia
+	* contrib/mod_sftp/fxp.c: Still trying to properly map the V5 OPEN
+	flags/bitmasks to open(2) flags.
 
-	* contrib/mod_sftp/fxp.c:
-	  Increase the allocated buffer size for a READDIR response, and
-	  try to be smarter about the buffer size.
+2009-07-20  castaglia <castaglia>
 
-2009-04-24 10:18  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.
 
-	* 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-07-20  castaglia <castaglia>
 
-2009-04-24 09:55  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.
 
-	* 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-07-20  castaglia <castaglia>
 
-2009-04-24 09:48  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.
 
-	* contrib/mod_sftp/auth.c:
-	  No need to acquire root privs explicitly before dropping them.
+2009-07-20  castaglia <castaglia>
 
-2009-04-24 09:44  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.
 
-	* 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.
+2009-07-20  castaglia <castaglia>
 
-	  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.
+	* doc/contrib/mod_sftp.html: Removed duplicated text.
 
-	  Minor stylistic cleanup is also part of this change.
+2009-07-20  castaglia <castaglia>
 
-2009-04-24 08:46  castaglia
+	* contrib/mod_sftp/keys.c: Update the handling of the
+	SFTPPassPhraseProvider config with tweaks found from working on
+	mod_exec.
 
-	* 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-07-20  castaglia <castaglia>
 
-2009-04-23 17:31  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.
 
-	* configure:
-	  Updated configure.
+2009-07-20  castaglia <castaglia>
 
-2009-04-23 17:24  castaglia
+	* NEWS, src/auth.c: Bug#2070 - AuthAliasOnly off in <Global> section
+	kills anonymous logins.
 
-	* configure.in:
-	  Automatically set the PR_USE_OPENSSL define if mod_sftp is
-	  requested, just as we do when mod_tls is requested.
+2009-07-20  castaglia <castaglia>
 
-2009-04-23 16:57  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.
 
-	* contrib/mod_ctrls_admin.c:
-	  Quell a compiler warning about a declared but not used variable.
+2009-07-20  castaglia <castaglia>
 
-2009-04-23 15:02  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.
 
-	* contrib/mod_quotatab.c:
-	  The mod_quotatab module really should report when it fails to
-	  open the configured QuotaLog for any reason.
+2009-07-19  castaglia <castaglia>
 
-2009-04-22 22:40  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.
 
-	* 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-07-19  castaglia <castaglia>
 
-2009-04-22 22:26  castaglia
+	* tests/t/config/authusingalias.t,
+	tests/t/lib/ProFTPD/Tests/Config/AuthUsingAlias.pm, tests/tests.pl: 
+	Add unit tests for the AuthUsingAlias directive.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/: LIST.pm, NLST.pm:
-	  Update the unit tests for Bug#3032 to only run if NLS support is
-	  not enabled.
+2009-07-19  castaglia <castaglia>
 
-2009-04-22 21:40  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.
 
-	* modules/mod_ls.c:
-	  Forgot to add the NLS conditional to the handling of NLST as
-	  well.
+2009-07-19  castaglia <castaglia>
 
-2009-04-22 21:24  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.
 
-	* 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-07-19  castaglia <castaglia>
 
-2009-04-22 20:25  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.
 
-	* NEWS, src/inet.c:
-	  Bug#3237 - "error setting IPV6_V6ONLY: Protocol not available"
-	  message filling up log file.
+2009-07-19  castaglia <castaglia>
 
-	  The change was to not try to set the IPV6_V6ONLY socket option on
-	  an IPv4-mapped IPv6 address.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Add unit test for
+	the ExecOnRestart directive.
 
-2009-04-21 16:45  castaglia
+2009-07-19  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Quell more compiler warnings about possbily using variables
-	  before they have been initialized.
+	* contrib/mod_exec.c: Add handling of signals to some while() loops.
 
-2009-04-21 16:31  castaglia
+2009-07-18  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.
+	* 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-04-21 16:30  castaglia
+2009-07-18  castaglia <castaglia>
 
-	* contrib/mod_quotatab.c:
-	  Actually use the lock type given by the caller.  Ouch.
+	* doc/contrib/mod_exec.html: Fix typos, update mod_exec doc to point
+	to local copy of Logging howto.
 
-2009-04-21 16:20  castaglia
+2009-07-18  castaglia <castaglia>
 
-	* contrib/mod_sftp/kex.c:
-	  Handle "SFTPCompression off" properly.
+	* tests/t/config/useglobbing.t,
+	tests/t/lib/ProFTPD/Tests/Config/UseGlobbing.pm, tests/tests.pl: Add
+	unit test for the UseGlobbing directive.
 
-2009-04-21 16:01  castaglia
+2009-07-18  castaglia <castaglia>
 
-	* contrib/mod_quotatab.c:
-	  More changes to the QuotaLock lock operation handling, trying to
-	  avoid spinning in a loop too tightly.
+	* tests/t/config/userpassword.t,
+	tests/t/lib/ProFTPD/Tests/Config/UserPassword.pm, tests/tests.pl: 
+	Add unit test for the UserPassword directive.
 
-2009-04-21 15:21  castaglia
+2009-07-18  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Make sure that the variables are initialised, when handling
-	  REALPATH requests, before a permissions check.
+	* doc/howto/TLS.html: Update the TLS howto FAQ regarding implicit
+	FTPS to reflect the addition of implicit FTPS support (in Bug#3266).
 
-2009-04-21 14:59  castaglia
+2009-07-18  castaglia <castaglia>
 
-	* contrib/mod_quotatab.c:
-	  Retry the lock operation on the QuotaLock for EAGAIN as well.
+	* 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-04-20 20:26  castaglia
+2009-07-17  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/displayfiletransfer.t,
-	  t/lib/ProFTPD/Tests/Config/DisplayFileTransfer.pm:
-	  Add unit tests for the DisplayFileTransfer directive.
+	* 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-04-20 15:11  castaglia
+2009-07-17  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.
+	* modules/mod_ctrls.c: If ControlsEngine is set to 'off', then we
+	should not try to listen on the ControlsSocket.
 
-2009-04-20 09:55  castaglia
+2009-07-17  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Document the sftpUTF8ProtocolVersion SFTPClientMatch attribute.
+	* 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-04-20 09:52  castaglia
+2009-07-16  castaglia <castaglia>
 
-	* contrib/mod_sftp/: fxp.c, fxp.h, interop.c, 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.
+	* configure: Forgot to check in the updated configure script.
 
-2009-04-17 16:19  castaglia
+2009-07-16  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Clarify when the various SSH2 authentication methods are offered.
-	  Fix a typo.
+	* doc/howto/Umask.html: Add a FAQ to the Umask howto explaining why
+	proftpd does not allow uploading of files with execute permissions.
 
-2009-04-17 11:51  castaglia
+2009-07-16  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.
+	* 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-04-16 17:51  castaglia
+2009-07-16  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).
+	* tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm: Add unit test for
+	CreateHome's 'dirmode' parameter.
 
-2009-04-15 14:03  castaglia
+2009-07-15  castaglia <castaglia>
 
-	* doc/howto/Filters.html:
-	  Add the example PathAllowFilter that only allows printable
-	  characters.
+	* 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-04-15 13:57  castaglia
+2009-07-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.
+	* contrib/mod_sftp/fxp.c: Use the SFTP session's pool, rather than
+	the Response API pool, for adding our status codes.
 
-2009-04-15 11:20  castaglia
+2009-07-15  castaglia <castaglia>
 
-	* doc/howto/Filters.html:
-	  Give an example of using PathDenyFilter to prevent filenames
-	  which contain non-printable characters.
+	* 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-04-15 11:15  castaglia
+2009-07-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.
+	* contrib/mod_sftp/fxp.c: Simplify the obtaining of proper open(2)
+	flags when handling version 5 (and higher) SFTP OPEN requests.
 
-2009-04-14 11:53  castaglia
+2009-07-15  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.
+	* 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-04-14 11:47  castaglia
+2009-07-15  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.)
+	* 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-04-14 11:45  castaglia
+2009-07-14  castaglia <castaglia>
 
-	* NEWS, modules/mod_delay.c:
-	  Bug#3230 - Differentiate among protocol connections in
-	  DelayTable.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
+	the %s LogFormat variable in ExtendedLogs for SFTP requests.
 
-2009-04-14 11:39  castaglia
+2009-07-14  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Update the list of config directives that are not supported by
-	  mod_sftp.
+	* 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-04-14 11:38  castaglia
+2009-07-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.
+	* 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-04-13 11:49  castaglia
+2009-07-14  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* 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-04-13 11:47  castaglia
+2009-07-09  castaglia <castaglia>
 
-	* configure.in:
-	  Add a check for --with-modules=mod_dso, and warn the admin to use
-	  --enable-dso instead.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Add unit tests for
+	ExecOnError.
 
-2009-04-10 08:58  castaglia
+2009-07-09  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* 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-04-10 08:55  castaglia
+2009-07-09  castaglia <castaglia>
 
-	* configure.in:
-	  Typo.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Add unit test for
+	ExecOnExit.
 
-2009-04-09 08:59  castaglia
+2009-07-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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Adding more
+	mod_exec unit tests, including one for the "%{...}" variable
+	support.
 
-2009-04-09 08:44  castaglia
+2009-07-09  castaglia <castaglia>
 
-	* modules/mod_facts.c:
-	  Clean up some of the logging when opendir(3) fails when handling
-	  MLSD.
+	* 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-04-09 08:33  castaglia
+2009-07-09  castaglia <castaglia>
 
-	* src/timers.c:
-	  Add trace logging when timers are reset.
+	* contrib/mod_exec.c: Fix off-by-one error which caused mod_exec to
+	log all but the last parameter when calling exec.
 
-2009-04-08 22:06  castaglia
+2009-07-09  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c,
-	  tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  mod_sftp now honors DirFakeMode.
+	* 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-04-08 20:48  castaglia
+2009-07-08  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/dirfakemode.t,
-	  t/lib/ProFTPD/Tests/Config/DirFakeMode.pm:
-	  Add unit test for the DirFakeMode directive.
+	* lib/sstrncpy.c: Catch a possible null pointer exception in
+	sstrncpy(), if the src pointer provided by the caller is null.
 
-2009-04-08 20:27  castaglia
+2009-07-08  castaglia <castaglia>
 
-	* contrib/mod_sftp/: fxp.c, scp.c:
-	  Set the session.xfer.direction variable when using SFTP or SCP.
+	* 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-04-08 11:56  castaglia
+2009-07-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).
+	* 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-04-07 19:48  castaglia
+2009-07-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.
+	* 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-04-07 18:44  castaglia
+2009-07-06  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/Directory/: Limits.pm, Umask.pm:
+	* NEWS, modules/mod_auth.c: Bug#2758 - ProFTPD doesn't always pay
+	attention to AccessDenyMsg.
 
-	  Fix more unit tests to run properly as root.
+2009-07-06  castaglia <castaglia>
 
-2009-04-07 10:15  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.
 
-	* contrib/mod_tls.c:
-	  Typo/bug.
+2009-07-06  castaglia <castaglia>
 
-2009-04-07 08:42  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.
 
-	* src/ftpdctl.c:
-	  Include the privs.h header so as to avoid compiler warnings about
-	  the pr_privs* functions not being previously declared.
+2009-07-06  castaglia <castaglia>
 
-2009-04-07 08:41  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.
 
-	* contrib/mod_ctrls_admin.c:
-	  Use the proper number of arguments for pr_ctrls_log(), and avoid
-	  pedantic compiler warnings/errors.
+2009-07-05  castaglia <castaglia>
 
-2009-04-06 17:11  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm:
-	  Another set of tests to clean up so that they run properly when
-	  root.
+2009-07-05  castaglia <castaglia>
 
-2009-04-06 17:03  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/: HideFiles.pm, Limit/XMKD.pm:
-	  More cleanup of unit tests that don't work properly when run as
-	  root.
+2009-07-05  castaglia <castaglia>
 
-2009-04-06 17:03  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).
 
-	* modules/mod_core.c:
-	  Fix bug introduced by the patch for Bug#2067.  Style cleanup
-	  there, too.
+2009-07-04  castaglia <castaglia>
 
-2009-04-06 16:18  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/: Order.pm, PathAllowFilter.pm,
-	  PathDenyFilter.pm, ServerIdent.pm, TimeoutIdle.pm:
-	  Fixup more test cases so run properly when run as root.
+2009-07-04  castaglia <castaglia>
 
-2009-04-06 16:08  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.
 
-	* 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-07-04  castaglia <castaglia>
 
-2009-04-06 15:47  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.
 
-	* 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-07-03  castaglia <castaglia>
 
-2009-04-06 15:41  castaglia
+	* NEWS, contrib/mod_sftp/mod_sftp.c: Bug#3263 - Supplying optional
+	SFTPRekey timeout parameter causes segmentation fault.
 
-	* doc/howto/Tracing.html, src/trace.c:
-	  Add the "privs" logging channel to the default list of channels.
+2009-07-01  castaglia <castaglia>
 
-2009-04-06 15:32  castaglia
+	* doc/contrib/mod_sql.html: Mention that --enable-openssl can be
+	used to enable the OpenSSL SQLAuthType.
 
-	* 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.
+2009-07-01  castaglia <castaglia>
 
-	  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.
+	* include/version.h: Update the version.h file for the next RC
+	release.
 
-2009-04-06 15:28  castaglia
+2009-07-01  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/: Logging/ExtendedLog.pm,
-	  Modules/mod_ctrls.pm:
-	  Fix a few more tests which fail when run with root privs.
+	* ChangeLog: Updated ChangeLog.
 
-2009-04-06 15:22  castaglia
+2009-07-01  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/: MFF.pm, 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.
+	* NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec,
+	include/version.h: Updating the files for the release of 1.3.3rc1.
 
-2009-04-06 15:13  castaglia
+2009-07-01  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/: Logins.pm, Commands/ABOR.pm,
-	  Commands/FEAT.pm, Commands/HELP.pm, Commands/MFF.pm,
-	  Commands/MFMT.pm, Config/Directory/Umask.pm,
-	  Logging/ExtendedLog.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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Update mod_tls unit
+	tests to reflect behavior of newer Net::FTPSSL Perl module.
 
-2009-04-05 10:56  castaglia
+2009-07-01  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Quell Perl
+	interpreter warnings about redeclared variables.
 
-2009-04-05 10:47  castaglia
+2009-07-01  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: More
+	handling of spelling differences across systems.
 
-2009-04-05 09:34  castaglia
+2009-07-01  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-03 21:42  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-03 21:38  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/TimeoutLogin.pm: Cleanup of these
+	older tests.
 
-	* NEWS, contrib/mod_quotatab.c, contrib/mod_quotatab.h,
-	  contrib/mod_quotatab_sql.c:
-	  Bug#3086 - mod_quotatab write locking is ineffective.
+2009-07-01  castaglia <castaglia>
 
-2009-04-03 16:04  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm: Account for
+	spelling differences among different systems.
 
-	* contrib/: mod_ban.c, mod_tls.c, mod_sftp/scp.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.
+2009-07-01  castaglia <castaglia>
 
-	  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.
+	* 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-04-03 14:23  castaglia
+2009-07-01  castaglia <castaglia>
 
-	* doc/howto/Compiling.html:
-	  Mention the --with-lastlog configure option, and use an unordered
-	  list for the main/popular configure options.
+	* 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-04-03 14:03  castaglia
+2009-07-01  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.
+	* 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-04-03 10:09  castaglia
+2009-07-01  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.
+	* modules/mod_xfer.c: Fix possible segfault (picked up by a unit
+	test) when a data transfer is aborted.
 
-2009-04-03 07:30  castaglia
+2009-06-30  castaglia <castaglia>
 
-	* modules/mod_auth_unix.c:
-	  Fix compilation errors when HAVE_LOGINRESTRICTIONS (AIX platform,
-	  mostly) is defined.
+	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Typo.
 
-2009-04-01 16:09  castaglia
+2009-06-30  castaglia <castaglia>
 
-	* NEWS, src/dirtree.c:
-	  Bug#3233 - Dynamic config causes many copies of static configs to
-	  be merged.
+	* 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-04-01 15:41  castaglia
+2009-06-30  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.
+	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Typo.
 
-2009-04-01 15:36  castaglia
+2009-06-30  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3234 - SSL connections can cause 100% CPU usage.
+	* src/help.c: Actually make the code do what the comment (correctly)
+	says it does.
 
-	  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-06-30  castaglia <castaglia>
 
-2009-03-31 07:45  castaglia
+	* RELEASE_NOTES: Mention the support for TimeoutLogin for the
+	BanOnEvent directive.
 
-	* 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-06-30  castaglia <castaglia>
 
-2009-03-30 23:34  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.
 
-	* 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.
+2009-06-30  castaglia <castaglia>
 
-	  Hopefully this does not cause other strange library/link
-	  order-related issues.
+	* RELEASE_NOTES, doc/contrib/mod_sql.html: Working on documentation
+	for new/changed features for the upcoming 1.3.3rc1 release.
 
-2009-03-30 20:27  castaglia
+2009-06-30  castaglia <castaglia>
 
-	* modules/mod_lang.c:
-	  Missed a dir_check() call which needs to pass the cmd_rec
-	  pointer, not just the command name.
+	* NEWS, modules/mod_auth.c, modules/mod_core.c, src/dirtree.c: 
+	Bug#3243 - Broken support for AllowOverride per user/group/class
+	conditionals.
 
-2009-03-30 16:16  castaglia
+2009-06-30  castaglia <castaglia>
 
-	* src/log.c:
-	  Add some sane errno values if pr_log_openfile() fails in some
-	  cases.
+	* modules/mod_cap.c: Use pr_module_exists() consistently; it more
+	accurately describes the check that is being made.
 
-2009-03-30 11:43  castaglia
+2009-06-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.
+	* NEWS, doc/modules/mod_cap.html, modules/mod_cap.c: Bug#3257 -
+	CAP_AUDIT_WRITE capability needed for some PAM modules.
 
-	  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-06-30  castaglia <castaglia>
 
-2009-03-30 11:31  castaglia
+	* contrib/mod_sql_odbc.c: Fix some compiler warnings about shadowed
+	variables in mod_sql_odbc.
 
-	* doc/howto/Rewrite.html:
-	  Another good mod_rewrite example.
+2009-06-30  castaglia <castaglia>
 
-2009-03-28 17:51  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.
 
-	* NEWS, contrib/mod_wrap.c, contrib/mod_wrap2/mod_wrap2.c:
-	  Bug#3209 - mod_wrap2 should support the 'spawn' feature (or
-	  equivalent) of tcpwrappers.
+2009-06-30  castaglia <castaglia>
 
-	  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.
+	* 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-03-28 17:39  castaglia
+2009-06-30  castaglia <castaglia>
 
-	* doc/contrib/mod_wrap.html:
-	  Add mod_wrap FAQ about Bugs #2629, #2787, #3209.
+	* 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-03-28 12:26  castaglia
+2009-06-29  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.
+	* 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-03-27 11:44  castaglia
+2009-06-29  castaglia <castaglia>
 
-	* contrib/mod_sftp/scp.c:
-	  More futzing with the path resolution for SCP uploading.
+	* contrib/mod_sql_mysql.c: Stylistic nits; no functional change.
 
-2009-03-27 10:26  castaglia
+2009-06-29  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.
+	* NEWS, modules/mod_xfer.c: Bug#3258 - Log cluttered with "using
+	sendfile capability" messages.
 
-2009-03-27 10:23  castaglia
+2009-06-29  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* 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-03-27 10:15  castaglia
+2009-06-29  castaglia <castaglia>
 
-	* NEWS, config.h.in, configure.in, modules/mod_auth_unix.c:
-	  Bug#3231 - Use getgrset(3) on AIX to emulate getgrouplist(3).
+	* 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-03-26 13:20  castaglia
+2009-06-25  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.
+	* doc/howto/SQL.html: Replace the URLs to castaglia.org with URLs to
+	proftpd.org.
 
-2009-03-26 09:44  castaglia
+2009-06-24  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Typo.
+	* 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-03-25 22:18  castaglia
+2009-06-23  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Another note about use of the %{protocol} variable.
+	* RELEASE_NOTES: Update the release notes; I still need to flesh out
+	the descriptions more before doing the 1.3.3rc1 release.
 
-2009-03-25 18:47  castaglia
+2009-06-22  castaglia <castaglia>
 
-	* contrib/mod_sftp/scp.c:
-	  Fix SCP uploading to handle an OpenSSH scp client invocations
-	  like:
+	* 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.
 
-	    scp <file> <addr>:
-	    scp <file> <addr>:.
+2009-06-22  castaglia <castaglia>
 
-	  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".
+	* 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-03-25 09:02  castaglia
+2009-06-22  castaglia <castaglia>
 
-	* doc/howto/SQL.html:
-	  Mention that the discussion about userset/usersetfast holds true
-	  for groupset/groupsetfast as well.
+	* 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-03-24 23:37  castaglia
+2009-06-22  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.)
+	* 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-03-24 23:08  castaglia
+2009-06-22  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.
+	* src/fsio.c: Include utimes(2), futimes(3) in the debug output for
+	a registered FS object.
 
-2009-03-24 23:05  castaglia
+2009-06-22  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.
+	* doc/howto/Limit.html: Mention that the parsing rules for AllowUser
+	pertain to DenyUser as well.
 
-2009-03-24 22:41  castaglia
+2009-06-21  castaglia <castaglia>
 
-	* doc/howto/SQL.html:
-	  Add a SQL FAQ about the 'userset' and 'usersetfast'
-	  SQLAuthenticate options.
+	* NEWS, contrib/mod_tls.c,
+	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3247 -
+	"TLSRequired auth" and "TLSOptions AllowPerUser" are incompatible.
 
-2009-03-24 22:30  castaglia
+2009-06-21  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.
+	* 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-03-24 22:03  castaglia
+2009-06-21  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.
+	* 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.
 
-	  Fixing this required supporting a couple of other SQLNamedQuery
-	  names, optional, to handle the 'userset' and 'usersetfast' cases.
+2009-06-21  castaglia <castaglia>
 
-2009-03-24 10:50  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.
 
-	* RELEASE_NOTES:
-	  Don't forget to mention the new %{protocol} variable in the
-	  release notes.
+2009-06-21  castaglia <castaglia>
 
-2009-03-23 23:23  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.
 
-	* NEWS, contrib/mod_quotatab.c, contrib/mod_ratio.c,
-	  contrib/mod_site_misc.c, contrib/mod_tls.c,
-	  contrib/mod_sftp/auth.c, contrib/mod_sftp/fxp.c,
-	  contrib/mod_sftp/scp.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/tests.pl,
-	  tests/t/config/limit/filters.t,
-	  tests/t/lib/ProFTPD/Tests/Config/Limit/Filters.pm:
-	  Bug#2067 - Allow/Deny Filters should be supported in the <Limit>
-	  context.
-
-2009-03-23 14:27  castaglia
+2009-06-20  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.
+	* 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.
 
-	  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-06-20  castaglia <castaglia>
 
-2009-03-22 19:04  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.
 
-	* doc/contrib/mod_rewrite.html:
-	  Update the mod_rewrite docs to mention the Bug#3028 fix.
+2009-06-20  castaglia <castaglia>
 
-2009-03-22 18:59  castaglia
+	* contrib/mod_sftp/mod_sftp.c: When mod_sftp handles a restart, it
+	needs to clear any passphrases held in memory.
 
-	* 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-06-20  castaglia <castaglia>
 
-2009-03-22 18:15  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.
 
-	* 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.
+2009-06-20  castaglia <castaglia>
 
-	  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.
+	* 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-03-22 18:12  castaglia
+2009-06-20  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.
+	* 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.
 
-	  Add a unit test using LIST -C, also for such tests.
+2009-06-19  castaglia <castaglia>
 
-2009-03-22 11:46  castaglia
+	* tests/t/config/allowoverwrite.t,
+	tests/t/lib/ProFTPD/Tests/Config/AllowOverwrite.pm, tests/tests.pl: 
+	Add unit tests for the AllowOverwrite directive.
 
-	* tests/t/lib/ProFTPD/Tests/Config/Directory/Lookups.pm:
-	  More work on the <Directory>-related performance tests.
+2009-06-19  castaglia <castaglia>
 
-2009-03-21 21:47  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.
 
-	* src/: cmd.c, 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.)
+2009-06-10  castaglia <castaglia>
 
-	  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.
+	* configure: Updated configure.
 
-2009-03-21 21:13  castaglia
+2009-06-10  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.
+	* 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-03-21 20:31  castaglia
+2009-06-10  castaglia <castaglia>
 
-	* src/main.c:
-	  Quell compiler warning.
+	* NEWS, contrib/mod_ban.c, doc/contrib/mod_ban.html: Bug#3249 -
+	mod_ban support for TimeoutLogin.
 
-2009-03-21 18:38  castaglia
+2009-06-09  castaglia <castaglia>
 
-	* doc/howto/Globbing.html:
-	  Updating the Globbing howto to mention the tunable name
-	  changes/additions.
+	* 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-03-21 18:30  castaglia
+2009-06-09  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.
+	* modules/mod_core.c: Add debug logging when the SITE CHMOD/CHGRP
+	commands are denied because of <Limit> sections in the
+	configuration.
 
-2009-03-21 18:27  castaglia
+2009-06-03  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Commands/LIST.pm,
-	  t/lib/ProFTPD/Tests/Commands/NLST.pm:
-	  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.
+	* contrib/mod_sftp/auth.c: Make sure that any configured
+	SFTPDisplayBanner is only sent once to the connecting client.
 
-2009-03-21 18:11  castaglia
+2009-06-03  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).
+	* contrib/mod_sftp/keys.c: Add a missing PRIVS_RELINQUISH call.
+	Adjust spacing in that same area, so that the formatting is
+	consistent.
 
-	  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-05-28  castaglia <castaglia>
 
-2009-03-21 16:08  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add test case to
+	make sure that RootLogin works properly in mod_sftp.
 
-	* 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-05-27  castaglia <castaglia>
 
-2009-03-20 21:01  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Fix typo in
+	mod_rewrite PORT rewriting config.
 
-	* src/pool.c:
-	  Optimize for the most common case; this is frequently called
-	  function.
+2009-05-27  castaglia <castaglia>
 
-2009-03-20 16:03  castaglia
+	* doc/howto/Rewrite.html: Fix typo/omission in Rewrite howto.
 
-	* 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-05-27  castaglia <castaglia>
 
-2009-03-20 16:02  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.
 
-	* contrib/mod_sftp/: disconnect.c, disconnect.h:
-	  Clean up the disconnect trace log message a little when the
-	  __FUNC__ (or equivalent) macro is not supported by the compiler.
+2009-05-27  castaglia <castaglia>
 
-2009-03-20 12:01  castaglia
+	* contrib/dist/rpm/proftpd.logrotate: Bug#3245 - proftpd.logrotate
+	assumes location of `kill' command.  Simply rely on PATH to find the
+	appropriate location.
 
-	* 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-05-22  castaglia <castaglia>
 
-2009-03-20 09:58  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Add test showing that
+	a file with leading whitespace in its name can be downloaded.
 
-	* doc/howto/ASCII.html:
-	  Add a FAQ about why the ASCII mode restriction was placed on the
-	  SIZE command.
+2009-05-22  castaglia <castaglia>
 
-2009-03-19 17:03  castaglia
+	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Yet more
+	redundant variables removed.
 
-	* modules/mod_core.c:
-	  Make sure that any stat cache is cleared when answering a SIZE
-	  command.
+2009-05-22  castaglia <castaglia>
 
-2009-03-19 10:09  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: More redundant
+	variables removed.
 
-	* contrib/mod_sftp/configure:
-	  Updated mod_sftp's configure.
+2009-05-22  castaglia <castaglia>
 
-2009-03-19 10:02  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm: Remove another
+	redundant variable declaration.
 
-	* contrib/mod_sftp/: configure.in, crypto.c, 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-05-22  castaglia <castaglia>
 
-2009-03-18 23:04  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Remove redundant
+	variable declaration.
 
-	* contrib/mod_sftp/: auth-hostbased.c, auth-kbdint.c,
-	  auth-password.c, auth-publickey.c, auth.c, 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-05-20  castaglia <castaglia>
 
-2009-03-18 22:51  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.
 
-	* 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-05-19  castaglia <castaglia>
 
-2009-03-18 22:39  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.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Add unit tests for the SCP+mod_rewrite cases.
+2009-05-19  castaglia <castaglia>
 
-2009-03-18 22:39  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.
 
-	* contrib/mod_sftp/: channel.c, fxp.c, scp.c:
-	  Make sure that mod_rewrite can be applied to SCP commands as
-	  well.
+2009-05-19  castaglia <castaglia>
 
-2009-03-18 22:00  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.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Unit tests validating the use of mod_rewrite to rewrite SFTP
-	  requests.
+2009-05-18  castaglia <castaglia>
 
-2009-03-18 21:58  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.
 
-	* contrib/mod_rewrite.c:
-	  Add a comment about why there's a test for a SYMLINK command in
-	  mod_rewrite.
+2009-05-18  castaglia <castaglia>
 
-2009-03-18 21:57  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.
 
-	* contrib/: mod_rewrite.c, 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-05-15  castaglia <castaglia>
 
-2009-03-18 18:40  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.
 
-	* doc/howto/Compiling.html:
-	  Match the example configure options to their surrounding text.
+2009-05-15  castaglia <castaglia>
 
-2009-03-18 16:48  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.
 
-	* doc/contrib/mod_rewrite.html:
-	  Updated mod_rewrite docs to cover the %{ENV:var} syntax.
+2009-05-14  castaglia <castaglia>
 
-2009-03-18 16:32  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.
 
-	* 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-05-14  castaglia <castaglia>
 
-2009-03-18 11:08  castaglia
+	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: [no log message]
 
-	* 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-05-14  castaglia <castaglia>
 
-2009-03-18 09:03  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.
 
-	* NEWS, contrib/mod_ban.c:
-	  Bug#3187 - Inconsistent mod_ban logging and display when using
-	  "BanEngine off" in an <IfClass> configuration.
+2009-05-14  castaglia <castaglia>
 
-2009-03-18 09:01  castaglia
+	* contrib/mod_sftp/scp.c: This adds support for HiddenStores,
+	DeleteAbortedStores, and 'incomplete' TransferLog entries to SCP.
 
-	* 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-05-14  castaglia <castaglia>
 
-2009-03-17 22:34  castaglia
+	* contrib/mod_sftp/fxp.c: Cut-n-paste error.
 
-	* 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-05-14  castaglia <castaglia>
 
-2009-03-17 17:23  castaglia
+	* contrib/mod_sftp/fxp.c: Add a trace message for renaming of a
+	HiddenStores file.
 
-	* 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-05-14  castaglia <castaglia>
 
-2009-03-17 16:47  castaglia
+	* doc/contrib/mod_sftp.html: HiddenStores is now supported by
+	mod_sftp.
 
-	* doc/howto/Limit.html:
-	  Update the Limit docs to mention MLSD and MLST.
+2009-05-14  castaglia <castaglia>
 
-2009-03-16 23:09  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added unit tests
+	for 'incomplete' TransferLog entries via SFTP.
 
-	* 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-05-14  castaglia <castaglia>
 
-2009-03-16 22:36  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).
 
-	* 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-05-13  castaglia <castaglia>
 
-2009-03-16 17:16  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
+	tests for HiddenStores and DeleteAbortedStores via SFTP uploads.
 
-	* NEWS, RELEASE_NOTES, src/bindings.c:
-	  Bug#2680 - Add support for <VirtualHost 0.0.0.0>.
+2009-05-13  castaglia <castaglia>
 
-2009-03-16 16:26  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.
 
-	* 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-05-13  castaglia <castaglia>
 
-2009-03-16 09:47  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add tests for
+	TransferLog entries generated from downloading/uploading via SCP.
 
-	* 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-05-13  castaglia <castaglia>
 
-2009-03-14 10:59  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.
 
-	* 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-05-13  castaglia <castaglia>
 
-2009-03-13 13:38  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.
 
-	* doc/howto/Quotas.html:
-	  Another common cause of quota tallies not being updated.
+2009-05-13  castaglia <castaglia>
 
-2009-03-13 08:55  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Add regression
+	test for the 14-digit version of the SITE UTIME command.
 
-	* 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-05-11  castaglia <castaglia>
 
-2009-03-12 15:20  castaglia
+	* RELEASE_NOTES: Warn of the change to the values in the
+	service-name field of the TransferLog.
 
-	* configure:
-	  Updated configure.
+2009-05-11  castaglia <castaglia>
 
-2009-03-12 15:17  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.
 
-	* configure.in:
-	  Guard against empty --with-FOO arguments; these lead to strange
-	  build failures such as:
+2009-05-11  castaglia <castaglia>
 
-	    configure: error: source file './modules/d_ident.c' cannot be
-	  found -- aborting
+	* tests/Makefile.in: Make sure the privs.o code is linked into the
+	API tests.
 
-2009-03-12 10:43  castaglia
+2009-05-11  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.
+	* tests/Makefile.in: Separate the API and the running tests into two
+	separate make targets.
 
-2009-03-12 10:23  castaglia
+2009-05-11  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec:
-	  Updating the proftpd.spec to match Bug#2613.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression test
+	for the TransferLog delete file entries for SFTP.
 
-2009-03-12 10:13  castaglia
+2009-05-11  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* contrib/mod_sftp/fxp.c: Make sure that deleting a file via SFTP
+	generates the proper TransferLog entry.
 
-2009-03-12 10:11  castaglia
+2009-05-09  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, configure.in:
-	  Bug#2613 - Configure script should not append '/proftpd' to the
-	  --localstatedir.
+	* 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-03-11 20:36  castaglia
+2009-05-08  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added unit test for
+	the TransferLog generated by downloading a file via sftp.
 
-2009-03-11 19:57  castaglia
+2009-05-08  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.
+	* 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-03-11 19:55  castaglia
+2009-05-06  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.
+	* 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-03-11 09:34  castaglia
+2009-05-04  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Stylistic cleanups in tls_verify_crl().
+	* 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-03-11 09:33  castaglia
+2009-05-03  castaglia <castaglia>
 
-	* tests/t/: etc/modules/mod_tls/ca-crl.pem,
-	  etc/modules/mod_tls/client-cert.pem,
-	  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.)
+	* contrib/mod_sftp/scp.c: Fix the handling of recursive uploads of
+	directories via SCP; it was completely broken.
 
-2009-03-11 07:59  castaglia
+2009-05-03  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).
+	* 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-03-10 21:52  castaglia
+2009-05-02  castaglia <castaglia>
 
-	* doc/contrib/mod_wrap2_sql.html:
-	  Fix the mod_wrap2_sql documentation, thanks to Szymon Juraszczyk.
+	* 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-03-10 21:50  castaglia
+2009-05-02  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Added unit
+	tests for the 'OpenSSL' SQLAuthType.
 
-2009-03-10 16:26  castaglia
+2009-05-01  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.
+	* doc/howto/ListOptions.html: Mention the new -B ListOption.
 
-2009-03-10 09:59  castaglia
+2009-05-01  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.
+	* 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-03-10 00:00  castaglia
+2009-04-30  castaglia <castaglia>
 
-	* RELEASE_NOTES, doc/contrib/mod_tls_shmcache.html:
-	  Added docs for mod_tls_shmcache.html.
+	* src/main.c: Add trace logging for when the 'requires_auth' check
+	fails.
 
-2009-03-09 23:53  castaglia
+2009-04-30  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.
+	* 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-03-09 23:52  castaglia
+2009-04-30  castaglia <castaglia>
 
-	* doc/contrib/mod_tls.html:
-	  Typo.
+	* 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-03-09 23:28  castaglia
+2009-04-30  castaglia <castaglia>
 
-	* RELEASE_NOTES, doc/contrib/mod_tls.html:
-	  Add docs for the NoSessionReuseRequired TLSOption added in
-	  Bug#3210.
+	* 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-03-09 23:26  castaglia
+2009-04-29  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Typo.
+	* 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-03-09 23:17  castaglia
+2009-04-29  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/mod_tls.c:
-	  Bug#3210 - Data transfers protected by SSL/TLS should reuse the
-	  control connection SSL session.
+	* 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-03-09 23:06  castaglia
+2009-04-29  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Mention the new directives and module.  Fuller descriptions will
-	  be added later.
+	* modules/mod_ls.c: Quell compiler warnings about unused variables
+	when --enable-nls is used.
 
-2009-03-09 23:04  castaglia
+2009-04-28  castaglia <castaglia>
 
-	* doc/contrib/mod_tls.html:
-	  Update the mod_tls docs to include TLSControlsACLs,
-	  TLSSessionCache, and the new mod_tls ftpdctl actions.
+	* doc/contrib/mod_exec.html: Include the %w variable in the
+	mentioned list of supported variables.
 
-2009-03-09 23:02  castaglia
+2009-04-28  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Include the name of the external session cache in the 'clear' and
-	  'remove' action outputs.
+	* doc/contrib/mod_exec.html, doc/contrib/mod_shaper.html: Update the
+	mod_exec and mod_shaper docs.
 
-2009-03-09 22:55  castaglia
+2009-04-28  castaglia <castaglia>
 
-	* contrib/mod_tls_shmcache.c:
-	  Add some identifying information about the module itself in the
-	  status output.
+	* contrib/mod_exec.c: The mod_exec module was not registering for
+	the proper event name for handling the unloading of the module.
 
-2009-03-09 22:28  castaglia
+2009-04-28  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).
+	* NEWS, README.modules, RELEASE_NOTES, contrib/mod_exec.c,
+	doc/contrib/mod_exec.html: Added mod_exec to contrib modules.
 
-2009-03-09 22:13  castaglia
+2009-04-28  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.
+	* doc/howto/TLS.html: Add TLS FAQ about whether FTPS protects both
+	control and data connections (it does).
 
-2009-03-09 22:10  castaglia
+2009-04-28  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c, contrib/mod_tls.h:
-	  Bug#3207 - Support for SSL/TLS session caching across
-	  processes/machines.
+	* doc/contrib/mod_sftp.html: Added SFTP FAQ about having an
+	SFTP-only proftpd.
 
-2009-03-09 20:11  castaglia
+2009-04-28  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).
+	* tests/tests.pl: Run the DisplayQuit tests as part of the
+	testsuite.
 
-2009-03-09 19:47  castaglia
+2009-04-28  castaglia <castaglia>
 
-	* doc/howto/Limit.html:
-	  Add another example <Limit> config, for a read-only account.
+	* tests/t/lib/ProFTPD/Tests/Config/DisplayQuit.pm: Adding tests for
+	the DisplayQuit directive.
 
-2009-03-09 16:04  castaglia
+2009-04-27  castaglia <castaglia>
 
-	* contrib/mod_ban.c:
-	  Pedantic ANSI C compilers might complain about the trailing
-	  comma.
+	* NEWS, README.modules, RELEASE_NOTES, contrib/mod_shaper.c,
+	doc/contrib/mod_shaper.html: Add mod_shaper to the contrib/ modules.
 
-2009-03-09 10:26  castaglia
+2009-04-25  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).
+	* 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-03-09 09:26  castaglia
+2009-04-25  castaglia <castaglia>
 
-	* doc/howto/Limit.html:
-	  Example <Limit> config of making a directory undeletable, but
-	  allowing its subdirectories to be deletable.
+	* 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-03-09 09:07  castaglia
+2009-04-24  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.
+	* modules/mod_core.c: Fix another unsafe use of sizeof() on a
+	pointer.
 
-2009-03-08 18:43  castaglia
+2009-04-24  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Typo.
+	* src/dirtree.c: Fix unsafe sizeof(); it was being used on a
+	pointer, not on a static buffer.
 
-2009-03-08 18:29  castaglia
+2009-04-24  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  If the EnableDiags TLSOption is enabled, log some SSL session
-	  stats when the session ends.
+	* contrib/mod_sftp/fxp.c: Increase the allocated buffer size for a
+	READDIR response, and try to be smarter about the buffer size.
 
-2009-03-07 19:16  castaglia
+2009-04-24  castaglia <castaglia>
 
-	* contrib/mod_ban.c:
-	  Typo.
+	* 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-03-06 22:12  castaglia
+2009-04-24  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.
+	* 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-03-06 19:49  castaglia
+2009-04-24  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.
+	* contrib/mod_sftp/auth.c: No need to acquire root privs explicitly
+	before dropping them.
 
-2009-03-06 18:00  castaglia
+2009-04-24  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.
+	* 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-03-06 16:25  castaglia
+2009-04-24  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec:
-	  Bug#2985 - Newest .spec file requires relatively current version
-	  of RPM.
+	* 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-03-06 12:10  castaglia
+2009-04-24  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.
+	* configure: Updated configure.
 
-2009-03-05 15:17  castaglia
+2009-04-24  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.
+	* configure.in: Automatically set the PR_USE_OPENSSL define if
+	mod_sftp is requested, just as we do when mod_tls is requested.
 
-2009-03-05 15:16  castaglia
+2009-04-23  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  The mod_sftp modules DOES support UseLastlog now.
+	* contrib/mod_ctrls_admin.c: Quell a compiler warning about a
+	declared but not used variable.
 
-2009-03-05 15:15  castaglia
+2009-04-23  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.
+	* contrib/mod_quotatab.c: The mod_quotatab module really should
+	report when it fails to open the configured QuotaLog for any reason.
 
-	  Also log to the "fileperms" log channel if pr_fsio_readlink()
-	  fails when handling a READLINK request.
+2009-04-23  castaglia <castaglia>
 
-2009-03-05 13:29  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.
 
-	* src/dirtree.c:
-	  Minor stylistic cleanups.
+2009-04-23  castaglia <castaglia>
 
-2009-03-05 13:18  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.
 
-	* 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).
+2009-04-23  castaglia <castaglia>
 
-	  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'.
+	* modules/mod_ls.c: Forgot to add the NLS conditional to the
+	handling of NLST as well.
 
-2009-03-05 13:13  castaglia
+2009-04-23  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Updated release notes with info about RewriteHome.
+	* 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-03-05 13:09  castaglia
+2009-04-23  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/rewritehome.t,
-	  t/lib/ProFTPD/Tests/Config/RewriteHome.pm:
-	  Added unit test for the new RewriteHome configuration directive.
+	* 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-03-05 10:56  castaglia
+2009-04-21  castaglia <castaglia>
 
-	* NEWS, contrib/mod_rewrite.c, include/auth.h, modules/mod_auth.c,
-	  src/auth.c:
-	  Bug#3167 - Support rewriting of home directories.
+	* contrib/mod_sftp/fxp.c: Quell more compiler warnings about
+	possbily using variables before they have been initialized.
 
-2009-03-04 23:08  castaglia
+2009-04-21  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.
+	* 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-03-04 22:01  castaglia
+2009-04-21  castaglia <castaglia>
 
-	* contrib/mod_rewrite.c, contrib/mod_wrap2_file.c,
-	  contrib/mod_sftp/rfc4716.c, include/fsio.h, src/display.c,
-	  src/fsio.c, modules/mod_facts.c, src/netio.c, src/parser.c,
-	  modules/mod_ls.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.
+	* contrib/mod_quotatab.c: Actually use the lock type given by the
+	caller.  Ouch.
 
-2009-03-04 21:24  castaglia
+2009-04-21  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.
+	* contrib/mod_sftp/kex.c: Handle "SFTPCompression off" properly.
 
-2009-03-04 20:57  castaglia
+2009-04-21  castaglia <castaglia>
 
-	* modules/mod_auth_pam.c:
-	  I finally got tired of seeing this compiler warning:
+	* contrib/mod_quotatab.c: More changes to the QuotaLock lock
+	operation handling, trying to avoid spinning in a loop too tightly.
 
-	    mod_auth_pam.c:88: warning: function declaration isn't a
-	  prototype
+2009-04-21  castaglia <castaglia>
 
-	  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.
+	* contrib/mod_sftp/fxp.c: Make sure that the variables are
+	initialised, when handling REALPATH requests, before a permissions
+	check.
 
-2009-03-04 16:33  castaglia
+2009-04-21  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.
+	* contrib/mod_quotatab.c: Retry the lock operation on the QuotaLock
+	for EAGAIN as well.
 
-	  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-04-21  castaglia <castaglia>
 
-2009-03-04 12:15  castaglia
+	* tests/t/config/displayfiletransfer.t,
+	tests/t/lib/ProFTPD/Tests/Config/DisplayFileTransfer.pm,
+	tests/tests.pl: Add unit tests for the DisplayFileTransfer
+	directive.
 
-	* src/dirtree.c:
-	  Corrected stale/misleading comment.
+2009-04-20  castaglia <castaglia>
 
-2009-03-04 10:44  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.
 
-	* 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-04-20  castaglia <castaglia>
 
-2009-03-04 10:30  castaglia
+	* doc/contrib/mod_sftp.html: Document the sftpUTF8ProtocolVersion
+	SFTPClientMatch attribute.
 
-	* contrib/mod_sftp/interop.c:
-	  Include the SSH2 client version info in the TraceLog.
+2009-04-20  castaglia <castaglia>
 
-2009-03-04 10:10  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.
 
-	* contrib/mod_sftp/keys.c:
-	  Add trace logging for channel "ssh2", level 17, of reasons why
-	  key mismatches occur.
+2009-04-17  castaglia <castaglia>
 
-2009-03-04 09:42  castaglia
+	* doc/contrib/mod_sftp.html: Clarify when the various SSH2
+	authentication methods are offered.  Fix a typo.
 
-	* 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-04-17  castaglia <castaglia>
 
-2009-03-04 09:41  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.
 
-	* contrib/mod_sftp/: crypto.c, kex.c, mac.c:
-	  Make mod_sftp compile properly when dealing with older versions
-	  of OpenSSL (e.g. OpenSSL versions older than 0.9.7).
+2009-04-17  castaglia <castaglia>
 
-2009-03-04 08:21  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).
 
-	* NEWS, src/prxs.in:
-	  Bug#3204 - Better support for installation and libs in prxs.
+2009-04-15  castaglia <castaglia>
 
-2009-03-03 22:47  castaglia
+	* doc/howto/Filters.html: Add the example PathAllowFilter that only
+	allows printable characters.
 
-	* contrib/mod_sftp/: channel.c, fxp.c:
-	  Include more info in the dispatched cmd_recs, e.g. channel IDs.
+2009-04-15  castaglia <castaglia>
 
-2009-03-03 22:11  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.
 
-	* doc/howto/ServerType.html:
-	  Add a real xinetd config example to the ServerType howto, rather
-	  than having the broken UserGuide link.
+2009-04-15  castaglia <castaglia>
 
-2009-03-03 22:06  castaglia
+	* doc/howto/Filters.html: Give an example of using PathDenyFilter to
+	prevent filenames which contain non-printable characters.
 
-	* 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-04-15  castaglia <castaglia>
 
-2009-03-03 16:57  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.
 
-	* doc/modules/mod_delay.html:
-	  Add some mod_delay FAQs.
+2009-04-14  castaglia <castaglia>
 
-2009-03-03 15:41  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.
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#3203 - Missing SQL backend modules can lead to null pointer
-	  segfault in mod_sql.
+2009-04-14  castaglia <castaglia>
 
-2009-03-03 10:29  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.)
 
-	* 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-04-14  castaglia <castaglia>
 
-2009-03-03 09:06  castaglia
+	* NEWS, modules/mod_delay.c: Bug#3230 - Differentiate among protocol
+	connections in DelayTable.
 
-	* contrib/mod_wrap2/mod_wrap2.c:
-	  String formatting fixed, as per Bug#3197.
+2009-04-14  castaglia <castaglia>
 
-2009-03-02 23:59  castaglia
+	* doc/contrib/mod_sftp.html: Update the list of config directives
+	that are not supported by mod_sftp.
 
-	* 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-04-14  castaglia <castaglia>
 
-2009-03-02 23:59  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.
 
-	* NEWS, contrib/mod_quotatab.c:
-	  Bug#3196 - mod_quotatab does not honor last group in supplemental
-	  group list.
+2009-04-13  castaglia <castaglia>
 
-2009-03-02 23:47  castaglia
+	* configure: Updated configure.
 
-	* tests/: tests.pl,
-	  t/etc/modules/mod_quotatab_file/ftpquota.limittab,
-	  t/etc/modules/mod_quotatab_file/ftpquota.tallytab,
-	  t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm,
-	  t/modules/mod_quotatab_file.t:
-	  Add a unit test for mod_quotatab_file.
+2009-04-13  castaglia <castaglia>
 
-2009-03-02 15:48  castaglia
+	* configure.in: Add a check for --with-modules=mod_dso, and warn the
+	admin to use --enable-dso instead.
 
-	* 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-04-10  castaglia <castaglia>
 
-2009-03-02 09:56  castaglia
+	* configure: Updated configure.
 
-	* include/support.h:
-	  Remove the declaration of the now-obsolete set_protocol_name()
-	  function.
+2009-04-10  castaglia <castaglia>
 
-2009-03-02 09:22  castaglia
+	* configure.in: Typo.
 
-	* RELEASE_NOTES:
-	  Mention the Korean translation.
+2009-04-09  castaglia <castaglia>
 
-2009-03-02 09:21  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.
 
-	* locale/: Makefile.in, ko_KR.po:
-	  Bug#3194 - Add Korean translation.
+2009-04-09  castaglia <castaglia>
 
-2009-03-02 09:21  castaglia
+	* modules/mod_facts.c: Clean up some of the logging when opendir(3)
+	fails when handling MLSD.
 
-	* locale/ko_KR.po: file ko_KR.po was added on branch B1_3_2 on
-	  2009-04-28 22:50:22 +0000
+2009-04-09  castaglia <castaglia>
 
-2009-02-27 14:32  castaglia
+	* src/timers.c: Add trace logging when timers are reset.
 
-	* contrib/mod_sftp/kex.c:
-	  Copy the client-sent language lists out of the kex pool, not out
-	  of the packet pool.
+2009-04-09  castaglia <castaglia>
 
-2009-02-26 16:23  castaglia
+	* contrib/mod_sftp/fxp.c,
+	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: mod_sftp now honors
+	DirFakeMode.
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm:
-	  Add unit tests for the one-hostkey-only mod_sftp configurations.
+2009-04-09  castaglia <castaglia>
 
-2009-02-26 16:22  castaglia
+	* tests/t/config/dirfakemode.t,
+	tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm, tests/tests.pl: Add
+	unit test for the DirFakeMode directive.
 
-	* doc/contrib/mod_sftp.html:
-	  Update the mod_sftp docs to mention that only one SFTPHostKey is
-	  now required.
+2009-04-09  castaglia <castaglia>
 
-2009-02-26 16:20  castaglia
+	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Set the
+	session.xfer.direction variable when using SFTP or SCP.
 
-	* contrib/mod_sftp/: kex.c, keys.c, keys.h, 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.
+2009-04-08  castaglia <castaglia>
 
-	  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.
+	* 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-02-26 15:14  castaglia
+2009-04-08  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.
+	* 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-02-26 14:35  castaglia
+2009-04-08  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.
+	* 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-02-26 14:04  castaglia
+2009-04-07  castaglia <castaglia>
 
-	* locale/fr_FR.po:
-	  Updated French translation from the translator.
+	* contrib/mod_tls.c: Typo/bug.
 
-2009-02-26 14:04  castaglia
+2009-04-07  castaglia <castaglia>
 
-	* locale/fr_FR.po: file fr_FR.po was added on branch B1_3_2 on
-	  2009-04-28 22:50:22 +0000
+	* src/ftpdctl.c: Include the privs.h header so as to avoid compiler
+	warnings about the pr_privs* functions not being previously
+	declared.
 
-2009-02-26 13:43  castaglia
+2009-04-07  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.
+	* contrib/mod_ctrls_admin.c: Use the proper number of arguments for
+	pr_ctrls_log(), and avoid pedantic compiler warnings/errors.
 
-2009-02-26 12:31  castaglia
+2009-04-07  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.
+	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Another set of
+	tests to clean up so that they run properly when root.
 
-2009-02-21 18:49  castaglia
+2009-04-07  castaglia <castaglia>
 
-	* contrib/mod_sftp/fxp.c:
-	  Update mod_sftp so that it too uses the new
-	  pr_filter_allow_path() function.
+	* 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-02-21 18:48  castaglia
+2009-04-07  castaglia <castaglia>
 
-	* contrib/mod_sftp/utf8.c:
-	  Fix the compilation of mod_sftp when --enable-nls is NOT used.
+	* modules/mod_core.c: Fix bug introduced by the patch for Bug#2067.
+	Style cleanup there, too.
 
-2009-02-21 17:51  castaglia
+2009-04-06  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.
+	* 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-02-21 16:28  castaglia
+2009-04-06  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.
+	* 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.
 
-	  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-04-06  castaglia <castaglia>
 
-2009-02-21 16:24  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.
 
-	* utils/.cvsignore:
-	  Ignore the generated ftpscrub.8 man page in CVS commands.
+2009-04-06  castaglia <castaglia>
 
-2009-02-21 16:22  castaglia
+	* doc/howto/Tracing.html, src/trace.c: Add the "privs" logging
+	channel to the default list of channels.
 
-	* src/log.c:
-	  Implement pr_log_writefile() so that it calls
-	  pr_log_vwritefile(), just like the other module logging functions
-	  do.
+2009-04-06  castaglia <castaglia>
 
-2009-02-21 16:09  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.
 
-	* tests/: tests.pl, t/config/pathallowfilter.t,
-	  t/config/pathdenyfilter.t,
-	  t/lib/ProFTPD/Tests/Config/PathAllowFilter.pm,
-	  t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm:
-	  Added unit tests for the PathAllowFilter and PathDenyFilter
-	  directives.  Will be adding more tests for this directives,
-	  involving other FTP commands, soon.
+2009-04-06  castaglia <castaglia>
 
-2009-02-20 22:19  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.
 
-	* 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?
+2009-04-06  castaglia <castaglia>
 
-	  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.
+	* 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.
 
-	  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-04-06  castaglia <castaglia>
 
-2009-02-20 22:14  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.
 
-	* 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-04-05  castaglia <castaglia>
 
-2009-02-20 22:11  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.
 
-	* .cvsignore:
-	  Add the new ftpscrub utility to the cvs ignore list.
+2009-04-05  castaglia <castaglia>
 
-2009-02-20 17:13  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.
 
-	* contrib/mod_tls.c:
-	  Be a little paranoid, and keep X509_NAME_oneline() from using the
-	  entire buffer; reserve one character for NUL.
+2009-04-05  castaglia <castaglia>
 
-2009-02-20 14:47  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>
 
-	* 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.
+	* NEWS, contrib/mod_quotatab.c, contrib/mod_quotatab.h,
+	contrib/mod_quotatab_sql.c: Bug#3086 - mod_quotatab write locking is
+	ineffective.
 
-2009-02-20 09:19  castaglia
+2009-04-03  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.
+	* 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-02-19 09:45  castaglia
+2009-04-03  castaglia <castaglia>
 
-	* src/ftpscrub.c, utils/ftpscrub.c:
-	  Forgot to move the ftpscrub.c source from from src/ to utils/,
-	  along with the its man pages and build rules.
+	* doc/howto/Compiling.html: Mention the --with-lastlog configure
+	option, and use an unordered list for the main/popular configure
+	options.
 
-2009-02-19 09:34  castaglia
+2009-04-03  castaglia <castaglia>
 
-	* contrib/mod_sftp/: mod_sftp.c, utf8.c, 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.
+	* 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-02-18 13:55  castaglia
+2009-04-03  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.
+	* 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-02-18 13:40  castaglia
+2009-04-03  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* modules/mod_auth_unix.c: Fix compilation errors when
+	HAVE_LOGINRESTRICTIONS (AIX platform, mostly) is defined.
 
-2009-02-18 13:40  castaglia
+2009-04-01  castaglia <castaglia>
 
-	* src/Makefile.in, src/ftpscrub.8.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/.
+	* NEWS, src/dirtree.c: Bug#3233 - Dynamic config causes many copies
+	of static configs to be merged.
 
-2009-02-18 13:33  castaglia
+2009-04-01  castaglia <castaglia>
 
-	* NEWS, Make.rules.in, Makefile.in, configure.in,
-	  modules/mod_core.c, src/Makefile.in, src/ftpscrub.8.in,
-	  src/ftpscrub.c, utils/Makefile.in, utils/scoreboard.c,
-	  utils/utils.h:
-	  Bug#3129 - Support configurable scoreboard scrubbing.
+	* 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-02-18 13:24  castaglia
+2009-04-01  castaglia <castaglia>
 
-	* contrib/mod_sql_postgres.c:
-	  Minor OCD reordering.
+	* 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-02-18 10:54  castaglia
+2009-03-31  castaglia <castaglia>
 
-	* contrib/mod_sftp/disconnect.h:
-	  Helps if the comment matches the code.
+	* 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-02-18 10:53  castaglia
+2009-03-31  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.
+	* 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-02-18 10:24  castaglia
+2009-03-31  castaglia <castaglia>
 
-	* src/wtmp.c:
-	  Finally get rid of these compiler warnings:
+	* modules/mod_lang.c: Missed a dir_check() call which needs to pass
+	the cmd_rec pointer, not just the command name.
 
-	    wtmp.c:38: warning: unused variable `ut'
-	    wtmp.c:39: warning: unused variable `fd'
+2009-03-30  castaglia <castaglia>
 
-	  on Solaris systems.
+	* src/log.c: Add some sane errno values if pr_log_openfile() fails
+	in some cases.
 
-2009-02-18 10:01  castaglia
+2009-03-30  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql_postgres.c:
-	  Bug#3176 - Postgres chokes on standard charset names.
+	* 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-02-17 10:26  castaglia
+2009-03-30  castaglia <castaglia>
 
-	* Makefile.in, NEWS:
-	  Bug#3189 - Linker errors occur when using "make -j" parallel
-	  builds.
+	* doc/howto/Rewrite.html: Another good mod_rewrite example.
 
-2009-02-17 09:06  castaglia
+2009-03-29  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.
+	* 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-02-16 21:59  castaglia
+2009-03-29  castaglia <castaglia>
 
-	* RELEASE_NOTES, doc/contrib/mod_tls.html:
-	  Update the docs for the new PKCS#12 file support in mod_tls.
+	* doc/contrib/mod_wrap.html: Add mod_wrap FAQ about Bugs #2629,
+	#2787, #3209.
 
-2009-02-16 21:51  castaglia
+2009-03-28  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c,
-	  tests/t/etc/modules/mod_tls/server-cert.p12,
-	  tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
-	  Bug#3111 - Support SSL/TLS server certificates stored in PKCS#12
-	  files.
+	* 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-02-16 21:30  castaglia
+2009-03-27  castaglia <castaglia>
 
-	* NEWS, configure:
-	  Bug#3154 - Update bundled libtool version.  The bundled libltdl
-	  version has been updated to libtool-1.5.26.
+	* contrib/mod_sftp/scp.c: More futzing with the path resolution for
+	SCP uploading.
 
-2009-02-16 21:27  castaglia
+2009-03-27  castaglia <castaglia>
 
-	* aclocal.m4, ltmain.sh:
-	  More towards Bug#3154.
+	* 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-02-16 21:26  castaglia
+2009-03-27  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.)
+	* configure: Updated configure.
 
-2009-02-16 21:22  castaglia
+2009-03-27  castaglia <castaglia>
 
-	* lib/libltdl/: COPYING.LIB, Makefile.am, Makefile.in,
-	  acinclude.m4, aclocal.m4, config.guess, config.sub, configure,
-	  configure.ac, install-sh, ltdl.c, ltdl.h, ltmain.sh, missing:
-	  Bug#3154 - Update bundled libtool version.
+	* NEWS, config.h.in, configure.in, modules/mod_auth_unix.c: Bug#3231
+	- Use getgrset(3) on AIX to emulate getgrouplist(3).
 
-2009-02-16 21:07  castaglia
+2009-03-26  castaglia <castaglia>
 
-	* src/Makefile.in:
-	  Clean up the other generated files from the src directory (i.e.
-	  the man pages).
+	* 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-02-16 20:13  castaglia
+2009-03-26  castaglia <castaglia>
 
-	* src/Makefile.in:
-	  Clean up the generated prxs script.
+	* doc/contrib/mod_sftp.html: Typo.
 
-2009-02-16 17:29  castaglia
+2009-03-26  castaglia <castaglia>
 
-	* doc/contrib/mod_sftp.html:
-	  Add hrefs to the individual SFTP FAQs.
+	* RELEASE_NOTES: Another note about use of the %{protocol} variable.
 
-	  Added FAQ about using mod_sftp as an OpenSSH subsystem.
+2009-03-26  castaglia <castaglia>
 
-2009-02-16 10:45  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".
 
-	* src/prxs.in:
-	  Give the prxs tool a --help option.
+2009-03-25  castaglia <castaglia>
 
-2009-02-16 10:32  castaglia
+	* doc/howto/SQL.html: Mention that the discussion about
+	userset/usersetfast holds true for groupset/groupsetfast as well.
 
-	* NEWS, src/prxs.in:
-	  Bug#3188 - prxs broken due to typo.
+2009-03-25  castaglia <castaglia>
 
-2009-02-16 09:46  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.)
 
-	* contrib/: mod_load/.cvsignore, mod_sftp/.cvsignore,
-	  mod_wrap2/.cvsignore:
-	  Ignore libtool object files (*.lo) in CVS commands.
+2009-03-25  castaglia <castaglia>
 
-2009-02-15 19:14  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Fix the test
+	case for Bug#3149 slightly, to avoid any DNS issues.
 
-	* 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-03-25  castaglia <castaglia>
 
-2009-02-15 18:51  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.
 
-	* include/support.h:
-	  Forgot to remove the old make_arg_str() declaration.
+2009-03-25  castaglia <castaglia>
 
-2009-02-15 16:44  castaglia
+	* doc/howto/SQL.html: Add a SQL FAQ about the 'userset' and
+	'usersetfast' SQLAuthenticate options.
 
-	* 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.
+2009-03-25  castaglia <castaglia>
 
-	  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.
+	* 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-02-15 15:34  castaglia
+2009-03-25  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm:
-	  Add regression tests for the BanEngine behavior added in
-	  Bug#3186.
+	* 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-02-15 15:32  castaglia
+2009-03-24  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ban.c:
-	  Bug#3186 - Support use of <IfClass> directive with mod_ban.
+	* RELEASE_NOTES: Don't forget to mention the new %{protocol}
+	variable in the release notes.
 
-2009-02-14 19:15  castaglia
+2009-03-24  castaglia <castaglia>
 
-	* NEWS, contrib/mod_wrap2/mod_wrap2.c:
-	  Bug#3185 - mod_wrap2 does not honour partial DNS name in access
-	  files.
+	* 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-02-14 16:27  castaglia
+2009-03-23  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).
+	* 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.
 
-	  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-03-23  castaglia <castaglia>
 
-2009-02-14 15:35  castaglia
+	* doc/contrib/mod_rewrite.html: Update the mod_rewrite docs to
+	mention the Bug#3028 fix.
 
-	* 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.
+2009-03-23  castaglia <castaglia>
 
-	  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.
+	* 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-02-14 14:33  castaglia
+2009-03-23  castaglia <castaglia>
 
-	* contrib/: mod_quotatab.c, mod_radius.c, mod_sql.c, mod_tls.c,
-	  mod_sftp/mod_sftp.c, mod_wrap2/mod_wrap2.c:
-	  When unloading modules which can have their own logs, make sure
-	  that those log descriptors are closed.
+	* 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-02-14 13:16  castaglia
+2009-03-23  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/: mod_wrap2_file.pm,
-	  mod_wrap2_sql.pm:
-	  Add separate mod_wrap2 deny table tests for IP addresses and DNS
-	  names.
+	* 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-02-13 22:02  castaglia
+2009-03-22  castaglia <castaglia>
 
-	* src/session.c:
-	  Use a plain unadorned "ssh" as the TTY name in case of SSH
-	  sessions.
+	* tests/t/lib/ProFTPD/Tests/Config/Directory/Lookups.pm: More work
+	on the <Directory>-related performance tests.
 
-2009-02-13 21:06  castaglia
+2009-03-22  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.
+	* 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.
 
-	  Update mod_sftp to honor WtmpLog and UseLastlog.
+2009-03-22  castaglia <castaglia>
 
-2009-02-13 21:01  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.
 
-	* contrib/mod_sql.c:
-	  Constify one of the functions, and deal with the consequences.
+2009-03-22  castaglia <castaglia>
 
-2009-02-13 19:59  castaglia
+	* src/main.c: Quell compiler warning.
 
-	* Make.rules.in, contrib/mod_sql.c, contrib/mod_tls.c,
-	  contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c,
-	  contrib/mod_sftp/scp.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.
+2009-03-22  castaglia <castaglia>
 
-	  Bug#3183 proved that the construction of the pseudo-ttyname, used
-	  in WtmpLog and PAM authentication, should be consolidated, and
-	  this has been done.
+	* doc/howto/Globbing.html: Updating the Globbing howto to mention
+	the tunable name changes/additions.
 
-	  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-03-22  castaglia <castaglia>
 
-2009-02-13 15:43  castaglia
+	* include/options.h, lib/glibc-glob.c, src/main.c: Add new
+	PR_TUNABLE_GLOBBING_MAX_MATCHES tunable, as part of Bug#2821.
 
-	* contrib/: mod_sftp_pam.c, mod_sftp_sql.c:
-	  Update the copyright dates for these modules.
+2009-03-22  castaglia <castaglia>
 
-2009-02-13 15:41  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.
 
-	* contrib/mod_sftp/: auth-hostbased.c, auth-kbdint.c,
-	  auth-password.c, auth-publickey.c, auth.c, auth.h, blacklist.c,
-	  blacklist.h, channel.c, channel.h, cipher.c, cipher.h,
-	  compress.c, compress.h, crypto.c, crypto.h, disconnect.c,
-	  disconnect.h, fxp.c, fxp.h, interop.c, interop.h, kbdint.c,
-	  kbdint.h, kex.c, kex.h, keys.c, keys.h, keystore.c, keystore.h,
-	  mac.c, mac.h, mod_sftp.c, mod_sftp.h.in, msg.c, msg.h, packet.c,
-	  packet.h, rfc4716.c, rfc4716.h, scp.c, scp.h, service.c,
-	  service.h, session.c, session.h, ssh2.h, tap.c, tap.h, utf8.c,
-	  utf8.h:
-	  Add the Id keyword to the source files.
+2009-03-22  castaglia <castaglia>
 
-2009-02-13 15:09  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.
 
-	* src/netaddr.c:
-	  Quell a compiler warning about const-ness.
+2009-03-21  castaglia <castaglia>
 
-2009-02-13 15:07  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.
 
-	* contrib/mod_sftp/: keys.c, keys.h:
-	  Forgot the keys.[ch] files for mod_sftp.
+2009-03-21  castaglia <castaglia>
 
-2009-02-13 14:20  castaglia
+	* src/pool.c: Optimize for the most common case; this is frequently
+	called function.
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_sftp.pm,
-	  t/modules/mod_sftp.t:
-	  Adding the mod_sftp testsuite.
+2009-03-20  castaglia <castaglia>
 
-2009-02-13 14:17  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.
 
-	* tests/t/etc/modules/mod_sftp/: authorized_dsa_keys,
-	  authorized_rsa_keys, ssh_host_dsa_key, ssh_host_dsa_key.pub,
-	  ssh_host_rsa_key, ssh_host_rsa_key.pub, test_dsa_key,
-	  test_dsa_key.pub, test_rsa_key, test_rsa_key.pub:
-	  Adding some of the files used by the mod_sftp unit tests.
+2009-03-20  castaglia <castaglia>
 
-2009-02-13 14:03  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.
 
-	* contrib/mod_sftp/mod_sftp.c:
-	  Make sure that, when unloaded, mod_sftp unregisters all event
-	  handlers, and scrubs any keys from memory.
+2009-03-20  castaglia <castaglia>
 
-2009-02-13 13:51  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.
 
-	* NEWS, README.modules, RELEASE_NOTES:
-	  Add mention of the added mod_sftp et al modules.
+2009-03-20  castaglia <castaglia>
 
-2009-02-13 13:45  castaglia
+	* doc/howto/ASCII.html: Add a FAQ about why the ASCII mode
+	restriction was placed on the SIZE command.
 
-	* 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 13:43  castaglia
-
-	* contrib/mod_sftp/: .cvsignore, Makefile.in, auth-hostbased.c,
-	  auth-kbdint.c, auth-password.c, auth-publickey.c, auth.c, auth.h,
-	  blacklist.c, blacklist.dat, blacklist.h, channel.c, channel.h,
-	  cipher.c, cipher.h, compress.c, compress.h, config.guess,
-	  config.sub, configure, configure.in, crypto.c, crypto.h,
-	  dhparams.pem, disconnect.c, disconnect.h, fxp.c, fxp.h,
-	  install-sh, interop.c, interop.h, kbdint.c, kbdint.h, kex.c,
-	  kex.h, keystore.c, keystore.h, mac.c, mac.h, mod_sftp.c,
-	  mod_sftp.h.in, msg.c, msg.h, packet.c, packet.h, rfc4716.c,
-	  rfc4716.h, scp.c, scp.h, service.c, service.h, session.c,
-	  session.h, ssh2.h, tap.c, tap.h, utf8.c, utf8.h:
-	  Adding mod_sftp to the contrib modules.
-
-2009-02-13 09:11  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 08:04  castaglia
-
-	* NEWS, src/dirtree.c:
-	  Bug#3184 - When started in a chroot, proftpd fails to set
-	  transfer buffer size.
-
-2009-02-12 14:41  castaglia
-
-	* doc/howto/DNS.html:
-	  Mention the new -S command-line option in the DNS howto's FAQ
-	  section.
-
-2009-02-12 14:32  castaglia
+2009-03-20  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.
+	* modules/mod_core.c: Make sure that any stat cache is cleared when
+	answering a SIZE command.
 
-2009-02-12 13:36  castaglia
+2009-03-19  castaglia <castaglia>
 
-	* contrib/mod_quotatab_file.c:
-	  Handle possible interruptions of readv(2) and writev(2) in
-	  mod_quotatab_file.
+	* contrib/mod_sftp/configure: Updated mod_sftp's configure.
 
-2009-02-12 12:13  castaglia
+2009-03-19  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:
+	* 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.
 
-	  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.
+2009-03-19  castaglia <castaglia>
 
-	  Removed older compatibility macros for the log functions from
-	  compat.h.
+	* 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.
 
-	  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-03-19  castaglia <castaglia>
 
-2009-02-12 12:02  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.
 
-	* .cvsignore, contrib/.cvsignore, contrib/mod_load/.cvsignore,
-	  contrib/mod_wrap2/.cvsignore:
-	  Minor refinement of the .libs exclusion.
+2009-03-19  castaglia <castaglia>
 
-2009-02-12 12:01  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit tests for
+	the SCP+mod_rewrite cases.
 
-	* .cvsignore, contrib/.cvsignore, contrib/mod_load/.cvsignore,
-	  contrib/mod_wrap2/.cvsignore:
-	  Ignore .la files and the .libs/ directory.
+2009-03-19  castaglia <castaglia>
 
-2009-02-12 11:13  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.
 
-	* NEWS, modules/mod_auth.c, src/main.c:
-	  Bug#3183 - Incorrect logging to wtmp.
+2009-03-19  castaglia <castaglia>
 
-2009-02-11 22:47  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Unit tests
+	validating the use of mod_rewrite to rewrite SFTP requests.
 
-	* tests/: tests.pl, t/config/hidegroup.t, t/config/hideuser.t,
-	  t/lib/ProFTPD/Tests/Config/HideGroup.pm,
-	  t/lib/ProFTPD/Tests/Config/HideUser.pm:
-	  Adding testcases for the HideUser and HideGroup directives.
+2009-03-19  castaglia <castaglia>
 
-2009-02-11 22:46  castaglia
+	* contrib/mod_rewrite.c: Add a comment about why there's a test for
+	a SYMLINK command in mod_rewrite.
 
-	* NEWS, modules/mod_core.c, src/dirtree.c:
-	  Bug#2720 - HideUser/HideGroup should be more flexible.
+2009-03-19  castaglia <castaglia>
 
-2009-02-11 21:31  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.
 
-	* NEWS, src/ctrls.c, src/event.c:
-	  Bug#3179 - Restarted proftpd using mod_shaper will segfault.
+2009-03-19  castaglia <castaglia>
 
-2009-02-11 21:04  castaglia
+	* doc/howto/Compiling.html: Match the example configure options to
+	their surrounding text.
 
-	* 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-03-18  castaglia <castaglia>
 
-2009-02-11 12:03  castaglia
+	* doc/contrib/mod_rewrite.html: Updated mod_rewrite docs to cover
+	the %{ENV:var} syntax.
 
-	* contrib/mod_ban.c:
-	  Avoid unsightly error messages like this when shutting down a
-	  proftpd using mod_ban:
+2009-03-18  castaglia <castaglia>
 
-	    mod_ban/0.5.3: error removing shmid -1: No such file or
-	  directory
+	* 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.
 
-	  by actually checking that the shmid is greater than -1 before
-	  attempting to remove it.
+2009-03-18  castaglia <castaglia>
 
-2009-02-11 11:49  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.
 
-	* 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-03-18  castaglia <castaglia>
 
-2009-02-11 10:44  castaglia
+	* NEWS, contrib/mod_ban.c: Bug#3187 - Inconsistent mod_ban logging
+	and display when using "BanEngine off" in an <IfClass>
+	configuration.
 
-	* NEWS, contrib/mod_wrap2/mod_wrap2.c:
-	  Bug#3178 - mod_wrap2 does not handle IPv4-mapped IPv6 addresses.
+2009-03-18  castaglia <castaglia>
 
-2009-02-10 22:56  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.
 
-	* 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-03-18  castaglia <castaglia>
 
-2009-02-10 21:57  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.
 
-	* NEWS, src/main.c,
-	  tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm:
-	  Bug#2728 - Support for variables in ServerIdent directive.
+2009-03-18  castaglia <castaglia>
 
-2009-02-10 13:57  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).
 
-	* 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>.
+2009-03-17  castaglia <castaglia>
 
-	  Update the distributed sample configs to use <IfModule> guards
-	  around IdentLookups.
+	* doc/howto/Limit.html: Update the Limit docs to mention MLSD and
+	MLST.
 
-2009-02-09 16:39  castaglia
+2009-03-17  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  If we can't set the certificate-related environment variables,
-	  log the reason why.
+	* 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-02-09 16:31  castaglia
+2009-03-17  castaglia <castaglia>
 
-	* NEWS, contrib/mod_rewrite.c:
-	  Bug#3170 - RewriteMap unescape URL encoding broken by
-	  RewriteCondition backreference handling.
+	* 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-02-09 16:05  castaglia
+2009-03-17  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.
+	* NEWS, RELEASE_NOTES, src/bindings.c: Bug#2680 - Add support for
+	<VirtualHost 0.0.0.0>.
 
-2009-02-09 15:27  castaglia
+2009-03-16  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm:
-	  Add regression test for Bug#3156.
+	* 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-02-09 15:27  castaglia
+2009-03-16  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#3156 - Allow resumed downloads when HiddenStore is in effect.
+	* 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-02-09 10:51  castaglia
+2009-03-14  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.
+	* 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-02-09 09:58  castaglia
+2009-03-13  castaglia <castaglia>
 
-	* RELEASE_NOTES, locale/Makefile.in, locale/bg_BG.po:
-	  Added Bulgarian translation, courtesy of Georgi D. Sotirov.
+	* doc/howto/Quotas.html: Another common cause of quota tallies not
+	being updated.
 
-2009-02-09 09:58  castaglia
+2009-03-13  castaglia <castaglia>
 
-	* locale/bg_BG.po: file bg_BG.po was added on branch B1_3_2 on
-	  2009-04-28 22:50:22 +0000
+	* 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-02-09 09:21  castaglia
+2009-03-12  castaglia <castaglia>
 
-	* contrib/mod_sql_postgres.c:
-	  Fix compile error.
+	* configure: Updated configure.
 
-2009-02-05 15:19  castaglia
+2009-03-12  castaglia <castaglia>
 
-	* locale/en_US.po:
-	  Updated English translation.
+	* 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-02-05 14:52  castaglia
+2009-03-12  castaglia <castaglia>
 
-	* doc/modules/mod_cap.html:
-	  Another mod_cap-related FAQ.
+	* 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-02-05 14:41  castaglia
+2009-03-12  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Remove vestigal IdentLookups handling left by mistake in
-	  mod_core.
+	* contrib/dist/rpm/proftpd.spec: Updating the proftpd.spec to match
+	Bug#2613.
 
-2009-02-05 14:40  castaglia
+2009-03-12  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, modules/mod_ident.c:
-	  Bug#3155 - Change the IdentLookups default to 'off'.
+	* configure: Updated configure.
 
-2009-02-05 14:33  castaglia
+2009-03-12  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.
+	* NEWS, RELEASE_NOTES, configure.in: Bug#2613 - Configure script
+	should not append '/proftpd' to the --localstatedir.
 
-2009-02-05 14:26  castaglia
+2009-03-12  castaglia <castaglia>
 
-	* NEWS, modules/mod_facts.c:
-	  Bug#3133 - mod_facts should advertise TVFS support in the FEAT
-	  response.
+	* 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-02-05 14:23  castaglia
+2009-03-12  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql_postgres.c:
-	  Bug#3123 - Use PQescapeStringConn() rather than PQescapeString().
+	* 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-02-05 14:06  castaglia
+2009-03-12  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, modules/mod_auth.c, src/auth.c:
-	  Bug#2894 - Deprecate the AnonymousGroup directive.
+	* 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-02-05 13:49  castaglia
+2009-03-11  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.
+	* contrib/mod_tls.c: Stylistic cleanups in tls_verify_crl().
 
-2009-02-05 13:36  castaglia
+2009-03-11  castaglia <castaglia>
 
-	* locale/: Makefile.in, proftpd.pot:
-	  Updated the `find' command used to create the files.txt input for
-	  creating a new .pot.	Updated the current proftpd.pot.
+	* 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-02-05 12:18  castaglia
+2009-03-11  castaglia <castaglia>
 
-	* locale/: Makefile.in, fr_FR.po:
-	  Added French translation.
+	* 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-02-05 11:39  castaglia
+2009-03-11  castaglia <castaglia>
 
-	* include/version.h:
-	  On to the 1.3.3 release cycle!
+	* doc/contrib/mod_wrap2_sql.html: Fix the mod_wrap2_sql
+	documentation, thanks to Szymon Juraszczyk.
 
-2009-02-05 10:59  castaglia
+2009-03-11  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updating ChangeLog for 1.3.2.
+	* 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-02-05 10:58  castaglia
+2009-03-10  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Updating versions for the 1.3.2 release.
+	* 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-02-05 10:56  castaglia
+2009-03-10  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Updating release notes.
+	* 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-02-05 10:53  castaglia
+2009-03-10  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c:
-	  Bug#3173 - Encoding-dependent SQL injection vulnerability.
+	* RELEASE_NOTES, doc/contrib/mod_tls_shmcache.html: Added docs for
+	mod_tls_shmcache.html.
 
-2009-02-03 09:43  castaglia
+2009-03-10  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
-	  Added testcase for Bug#3171.
+	* 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-02-03 09:42  castaglia
+2009-03-10  castaglia <castaglia>
 
-	* NEWS, modules/mod_log.c:
-	  Bug#3171 - ExtendedLog should log full SITE command using %m.
+	* doc/contrib/mod_tls.html: Typo.
 
-2009-02-02 11:47  castaglia
+2009-03-10  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm:
-	  Added testcase for Bug#3170.
+	* RELEASE_NOTES, doc/contrib/mod_tls.html: Add docs for the
+	NoSessionReuseRequired TLSOption added in Bug#3210.
 
-2009-02-02 11:46  castaglia
+2009-03-10  castaglia <castaglia>
 
-	* doc/howto/Rewrite.html:
-	  Give examples for handling non-ASCII characters in RewriteRule
-	  expressions.
+	* contrib/mod_tls.c: Typo.
 
-2009-02-02 10:46  castaglia
+2009-03-10  castaglia <castaglia>
 
-	* doc/contrib/mod_rewrite.html:
-	  Clarify exactly what type of encoding is unescaped by
-	  mod_rewrite's unescape RewriteMap.
+	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3210 - Data transfers
+	protected by SSL/TLS should reuse the control connection SSL
+	session.
 
-2009-02-02 10:35  castaglia
+2009-03-10  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm:
-	  Added testcase for Bug#3169.
+	* RELEASE_NOTES: Mention the new directives and module.  Fuller
+	descriptions will be added later.
 
-2009-02-02 10:34  castaglia
+2009-03-10  castaglia <castaglia>
 
-	* NEWS, contrib/mod_rewrite.c:
-	  Bug#3169 - Multiple RewriteRules for the same RewriteCondition
-	  not processed properly.
+	* doc/contrib/mod_tls.html: Update the mod_tls docs to include
+	TLSControlsACLs, TLSSessionCache, and the new mod_tls ftpdctl
+	actions.
 
-2009-01-30 09:58  castaglia
+2009-03-10  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.
+	* contrib/mod_tls.c: Include the name of the external session cache
+	in the 'clear' and 'remove' action outputs.
 
-2009-01-29 16:14  castaglia
+2009-03-10  castaglia <castaglia>
 
-	* tests/api/pool.c:
-	  Fix a test that was failing due to a thinko.
+	* contrib/mod_tls_shmcache.c: Add some identifying information about
+	the module itself in the status output.
 
-2009-01-29 08:40  castaglia
+2009-03-10  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).
+	* 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-01-28 09:56  castaglia
+2009-03-10  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Missed a few places in need of translation.
+	* 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-01-27 16:19  castaglia
+2009-03-10  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.
+	* NEWS, contrib/mod_tls.c, contrib/mod_tls.h: Bug#3207 - Support for
+	SSL/TLS session caching across processes/machines.
 
-2009-01-27 15:29  castaglia
+2009-03-10  castaglia <castaglia>
 
-	* src/scoreboard.c:
-	  Missed a spot.
+	* 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-01-27 15:23  castaglia
+2009-03-10  castaglia <castaglia>
 
-	* src/scoreboard.c:
-	  Cache the errno value when using pr_trace_msg(), since that
-	  function can change the errno value.
+	* doc/howto/Limit.html: Add another example <Limit> config, for a
+	read-only account.
 
-2009-01-26 13:56  castaglia
+2009-03-09  castaglia <castaglia>
 
-	* modules/mod_lang.c:
-	  When "UseEncoding off" is configured, *really* disable encoding.
+	* contrib/mod_ban.c: Pedantic ANSI C compilers might complain about
+	the trailing comma.
 
-2009-01-26 12:57  castaglia
+2009-03-09  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.
+	* 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).
 
-	  Added a FAQ about TLSCertificateChainFile, mostly for my own
-	  reference; it's a bit confusing as to when such a thing is
-	  useful.
+2009-03-09  castaglia <castaglia>
 
-2009-01-26 09:35  castaglia
+	* doc/howto/Limit.html: Example <Limit> config of making a directory
+	undeletable, but allowing its subdirectories to be deletable.
 
-	* contrib/mod_tls.c:
-	  Fix two minor issues in mod_tls:
+2009-03-09  castaglia <castaglia>
 
-	  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.)
+	* 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.
 
-	  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-03-09  castaglia <castaglia>
 
-2009-01-24 19:24  jwm
+	* contrib/mod_tls.c: Typo.
 
-	* 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 at noc.uoa.gr>.
-	  http://forums.proftpd.org/smf/index.php/topic,3562.0.html
+2009-03-09  castaglia <castaglia>
 
-2009-01-23 15:52  castaglia
+	* contrib/mod_tls.c: If the EnableDiags TLSOption is enabled, log
+	some SSL session stats when the session ends.
 
-	* include/version.h:
-	  Back to a CVS version.
+2009-03-08  castaglia <castaglia>
 
-2009-01-23 15:02  castaglia
+	* contrib/mod_ban.c: Typo.
 
-	* ChangeLog:
-	  Updating ChangeLog for 1.3.2rc4.
+2009-03-07  castaglia <castaglia>
 
-2009-01-23 14:59  castaglia
+	* contrib/mod_sftp/kbdint.c: Need to return -1, not zero, if we fail
+	to unregister a 'keyboard-interactive' driver for some reason.
 
-	* NEWS, RELEASE_NOTES:
-	  Updating NEWS, release notes for 1.3.2rc4.
+2009-03-07  castaglia <castaglia>
 
-2009-01-23 14:58  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.
 
-	* contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Preparing for 1.3.2rc4.
+2009-03-07  castaglia <castaglia>
 
-2009-01-23 09:30  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm:
-	  Fixup some tests which were failing because the default config
-	  changed the value of AllowOverride.
+2009-03-07  castaglia <castaglia>
 
-2009-01-22 11:25  castaglia
+	* NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec: Bug#2985 -
+	Newest .spec file requires relatively current version of RPM.
 
-	* doc/contrib/mod_sql.html:
-	  Add some links for easier cross-referencing.
+2009-03-06  castaglia <castaglia>
 
-2009-01-21 16:30  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.
 
-	* src/support.c:
-	  Make pr_gmtime() behave like pr_localtime() with regard to the
-	  use of the given memory pool.
+2009-03-05  castaglia <castaglia>
 
-	  Increase the buffer size used in pr_strtime(), just to be certain
-	  that we have enough room.
+	* 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-01-16 18:10  castaglia
+2009-03-05  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.
+	* doc/contrib/mod_sftp.html: The mod_sftp modules DOES support
+	UseLastlog now.
 
-2009-01-15 23:10  castaglia
+2009-03-05  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Mention the Compiling howto.
+	* 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-01-15 23:09  castaglia
+2009-03-05  castaglia <castaglia>
 
-	* doc/howto/: Compiling.html, index.html:
-	  Finally finished a howto on compiling proftpd.
+	* src/dirtree.c: Minor stylistic cleanups.
 
-2009-01-15 18:53  castaglia
+2009-03-05  castaglia <castaglia>
 
-	* INSTALL:
-	  Typos.
+	* 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-01-14 13:44  castaglia
+2009-03-05  castaglia <castaglia>
 
-	* doc/contrib/mod_tls.html:
-	  Typo.
+	* RELEASE_NOTES: Updated release notes with info about RewriteHome.
 
-2009-01-14 09:39  castaglia
+2009-03-05  castaglia <castaglia>
 
-	* src/main.c:
-	  Use "microsecs", as it is less confusing to admins.
+	* 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-01-13 09:38  castaglia
+2009-03-05  castaglia <castaglia>
 
-	* src/main.c:
-	  Copy the signo of a terminating signal a little earlierin the
-	  handler.
+	* NEWS, contrib/mod_rewrite.c, include/auth.h, modules/mod_auth.c,
+	src/auth.c: Bug#3167 - Support rewriting of home directories.
 
-2009-01-12 15:41  castaglia
+2009-03-05  castaglia <castaglia>
 
-	* doc/howto/Vhost.html:
-	  Add another vhost FAQ.
+	* 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-01-12 09:47  castaglia
+2009-03-05  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Add trace logging of any statvfs()/statfs() errors.
+	* 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-01-08 18:30  castaglia
+2009-03-05  castaglia <castaglia>
 
-	* src/main.c:
-	  Log segfaults in the TraceLog using the 'signal' channel.
+	* 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-01-08 12:21  castaglia
+2009-03-05  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.
+	* 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-01-07 23:36  castaglia
+2009-03-05  castaglia <castaglia>
 
-	* contrib/mod_sql.c:
-	  Typo.
+	* 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-01-07 23:32  castaglia
+2009-03-04  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.
+	* src/dirtree.c: Corrected stale/misleading comment.
 
-2009-01-07 10:25  castaglia
+2009-03-04  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.
+	* 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-01-06 10:51  castaglia
+2009-03-04  castaglia <castaglia>
 
-	* src/auth.c:
-	  Typo.
+	* contrib/mod_sftp/interop.c: Include the SSH2 client version info
+	in the TraceLog.
 
-2009-01-05 20:20  castaglia
+2009-03-04  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.
+	* contrib/mod_sftp/keys.c: Add trace logging for channel "ssh2",
+	level 17, of reasons why key mismatches occur.
 
-2009-01-05 17:35  castaglia
+2009-03-04  castaglia <castaglia>
 
-	* doc/howto/Vhost.html:
-	  I realized that the Vhost howto didn't mention the "already in
-	  use" warning message, and should.
+	* 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-01-05 09:29  castaglia
+2009-03-04  castaglia <castaglia>
 
-	* contrib/: mod_ldap.c, 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).
+	* 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-01-03 18:10  castaglia
+2009-03-04  castaglia <castaglia>
 
-	* contrib/: mod_ldap.c, 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.
+	* NEWS, src/prxs.in: Bug#3204 - Better support for installation and
+	libs in prxs.
 
-2009-01-03 17:14  castaglia
+2009-03-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().
+	* contrib/mod_sftp/channel.c, contrib/mod_sftp/fxp.c: Include more
+	info in the dispatched cmd_recs, e.g. channel IDs.
 
-2009-01-02 11:38  castaglia
+2009-03-04  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.
+	* doc/howto/ServerType.html: Add a real xinetd config example to the
+	ServerType howto, rather than having the broken UserGuide link.
 
-2009-01-01 16:31  castaglia
+2009-03-04  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.
+	* 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.
 
-2008-12-31 11:51  castaglia
+2009-03-04  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Remove unnecessary character.
+	* doc/modules/mod_delay.html: Add some mod_delay FAQs.
 
-2008-12-31 09:53  castaglia
+2009-03-03  castaglia <castaglia>
 
-	* NEWS, contrib/mod_rewrite.c:
-	  Bug#3159 - mod_rewrite build fails due to missing mode argument
-	  in open(2) call.
+	* NEWS, contrib/mod_sql.c: Bug#3203 - Missing SQL backend modules
+	can lead to null pointer segfault in mod_sql.
 
-2008-12-30 17:02  castaglia
+2009-03-03  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.
+	* 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.
 
-2008-12-30 13:39  castaglia
+2009-03-03  castaglia <castaglia>
 
-	* doc/howto/NAT.html:
-	  Update NAT howto with ipf example.
+	* contrib/mod_wrap2/mod_wrap2.c: String formatting fixed, as per
+	Bug#3197.
 
-2008-12-30 13:32  castaglia
+2009-03-03  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).
+	* 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.
 
-2008-12-24 00:05  castaglia
+2009-03-03  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.
+	* NEWS, contrib/mod_quotatab.c: Bug#3196 - mod_quotatab does not
+	honor last group in supplemental group list.
 
-2008-12-23 15:34  castaglia
+2009-03-03  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.
+	* 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.
 
-2008-12-23 11:46  castaglia
+2009-03-02  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.
+	* 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.
 
-2008-12-23 11:29  castaglia
+2009-03-02  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:
+	* include/support.h: Remove the declaration of the now-obsolete
+	set_protocol_name() function.
 
-	    setlocale(LC_ALL, "");
+2009-03-02  castaglia <castaglia>
 
-	  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.
+	* RELEASE_NOTES: Mention the Korean translation.
 
-2008-12-22 22:41  castaglia
+2009-03-02  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.
+	* locale/Makefile.in, locale/ko_KR.po: Bug#3194 - Add Korean
+	translation.
 
-2008-12-22 22:29  castaglia
+2009-02-27  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.
+	* contrib/mod_sftp/kex.c: Copy the client-sent language lists out of
+	the kex pool, not out of the packet pool.
 
-2008-12-22 09:25  castaglia
+2009-02-27  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Explicit cast to quell compiler warnings about signedness
-	  differences.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit tests for
+	the one-hostkey-only mod_sftp configurations.
 
-2008-12-21 15:25  castaglia
+2009-02-27  castaglia <castaglia>
 
-	* src/encode.c:
-	  Try to reduce confusion when we didn't detect iconv() (no
-	  HAVE_ICONV), but we did detect <iconv.h>.
+	* doc/contrib/mod_sftp.html: Update the mod_sftp docs to mention
+	that only one SFTPHostKey is now required.
 
-2008-12-21 14:17  castaglia
+2009-02-27  castaglia <castaglia>
 
-	* doc/howto/Quotas.html:
-	  Add FAQ about how mod_quotatab handles file overwrites/appends.
+	* 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.
 
-2008-12-21 11:53  castaglia
+2009-02-26  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.
+	* 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.
 
-2008-12-21 00:57  castaglia
+2009-02-26  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).
+	* 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.
 
-2008-12-20 16:55  castaglia
+2009-02-26  castaglia <castaglia>
 
-	* src/table.c:
-	  Fix some edge cases that could lead to segfaults.
+	* locale/fr_FR.po: Updated French translation from the translator.
 
-2008-12-18 15:05  castaglia
+2009-02-26  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Make sure that the cmd_rec returned by pr_cmd_alloc() has an
-	  instantiated cmd->notes table.
+	* 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.
 
-2008-12-18 10:00  castaglia
+2009-02-26  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm:
-	  Fix typos.
+	* 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.
 
-2008-12-17 15:44  castaglia
+2009-02-22  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.
+	* contrib/mod_sftp/fxp.c: Update mod_sftp so that it too uses the
+	new pr_filter_allow_path() function.
 
-2008-12-17 14:20  castaglia
+2009-02-22  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.
+	* contrib/mod_sftp/utf8.c: Fix the compilation of mod_sftp when
+	--enable-nls is NOT used.
 
-2008-12-17 10:18  castaglia
+2009-02-22  castaglia <castaglia>
 
-	* doc/howto/TLS.html:
-	  Add a FAQ about the OpenSSL header/library version mismatch
-	  warning.
+	* 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.
 
-2008-12-17 09:46  castaglia
+2009-02-22  castaglia <castaglia>
 
-	* NEWS, modules/mod_facl.c:
-	  Bug#3150 - mod_facl erroneously assumes no permissions, rather
-	  than all permissions, in some cases.
+	* 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.
 
-2008-12-16 19:37  castaglia
+2009-02-22  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.
+	* utils/.cvsignore: Ignore the generated ftpscrub.8 man page in CVS
+	commands.
 
-2008-12-16 16:24  castaglia
+2009-02-22  castaglia <castaglia>
 
-	* doc/contrib/mod_wrap2_file.html:
-	  Clean up the example mod_wrap2_file configs a little.
+	* src/log.c: Implement pr_log_writefile() so that it calls
+	pr_log_vwritefile(), just like the other module logging functions
+	do.
 
-2008-12-16 15:47  castaglia
+2009-02-22  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.)
+	* 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.
 
-2008-12-16 15:43  castaglia
+2009-02-21  castaglia <castaglia>
 
-	* src/: log.c, trace.c:
-	  Quell some compiler warnings on Solaris by using explicit casts,
-	  and by explicitly encompassing the tertiary expressions for those
-	  casts.
+	* 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.
 
-2008-12-15 22:23  castaglia
+2009-02-21  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Forgot to handle the case, in build_dyn_config(), where the path
-	  was just "/".
+	* 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).
 
-2008-12-15 17:38  castaglia
+2009-02-21  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.
+	* .cvsignore: Add the new ftpscrub utility to the cvs ignore list.
 
-2008-12-15 16:37  castaglia
+2009-02-21  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.
+	* contrib/mod_tls.c: Be a little paranoid, and keep
+	X509_NAME_oneline() from using the entire buffer; reserve one
+	character for NUL.
 
-2008-12-15 16:36  castaglia
+2009-02-20  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.
+	* 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.
 
-2008-12-14 14:51  castaglia
+2009-02-20  castaglia <castaglia>
 
-	* doc/howto/Tracing.html:
-	  Mention the trick of disabling some of the default trace
-	  channels.
+	* 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.
 
-2008-12-14 14:48  castaglia
+2009-02-19  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.
+	* utils/ftpscrub.c: Forgot to move the ftpscrub.c source from from
+	src/ to utils/, along with the its man pages and build rules.
 
-2008-12-13 22:45  castaglia
+2009-02-19  castaglia <castaglia>
 
-	* doc/howto/Sendfile.html:
-	  Correct the grammar.
+	* 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.
 
-2008-12-12 23:46  castaglia
+2009-02-18  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.
+	* RELEASE_NOTES, doc/howto/Scoreboard.html: Mention the
+	ScoreboardScrub directive in the release notes, and update the
+	Scoreboard howto to mention this new directive.
 
-2008-12-12 23:12  castaglia
+2009-02-18  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).
+	* configure: Updated configure.
 
-2008-12-12 20:49  castaglia
+2009-02-18  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Add handling of signals in a potentially long-running while loop
-	  (especially if recursion is requested).
+	* 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/.
 
-2008-12-12 18:20  castaglia
+2009-02-18  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.
+	* 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.
 
-2008-12-12 13:30  castaglia
+2009-02-18  castaglia <castaglia>
 
-	* doc/contrib/mod_sql.html:
-	  Fix the text for better legibility.
+	* contrib/mod_sql_postgres.c: Minor OCD reordering.
 
-2008-12-12 13:26  castaglia
+2009-02-18  castaglia <castaglia>
 
-	* doc/contrib/mod_sql.html:
-	  Mention that the SQL{Group,User}WhereClause directives support
-	  the same variables as SQLNamedQuery.
+	* contrib/mod_sftp/disconnect.h: Helps if the comment matches the
+	code.
 
-2008-12-12 11:41  castaglia
+2009-02-18  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm:
-	  Added test for the SQLUserWhereClause directive.
+	* 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.
 
-2008-12-12 08:45  castaglia
+2009-02-18  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.
+	* 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.
 
-2008-12-12 08:41  castaglia
+2009-02-18  castaglia <castaglia>
 
-	* tests/t/: config/directory.t, config/directory/lookups.t,
-	  lib/ProFTPD/Tests/Config/Directory.pm,
-	  lib/ProFTPD/Tests/Config/Directory/Lookups.pm:
-	  Renamed the <Directory> lookups test code to Directory::Lookups.
+	* NEWS, contrib/mod_sql_postgres.c: Bug#3176 - Postgres chokes on
+	standard charset names.
 
-2008-12-11 17:07  castaglia
+2009-02-17  castaglia <castaglia>
 
-	* tests/t/: config/directory.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.)
+	* Makefile.in, NEWS: Bug#3189 - Linker errors occur when using "make
+	-j" parallel builds.
 
-2008-12-11 12:52  castaglia
+2009-02-17  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.
+	* 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.
 
-2008-12-11 12:45  castaglia
+2009-02-17  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.
+	* RELEASE_NOTES, doc/contrib/mod_tls.html: Update the docs for the
+	new PKCS#12 file support in mod_tls.
 
-2008-12-11 12:41  castaglia
+2009-02-17  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm:
-	  Fix Perl warnings about redeclared variables.
+	* 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.
 
-2008-12-11 12:25  castaglia
+2009-02-17  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/: TestSuite/Utils.pm,
-	  Tests/Config/FTPAccess/DELE.pm, 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.
+	* NEWS, configure: Bug#3154 - Update bundled libtool version.  The
+	bundled libltdl version has been updated to libtool-1.5.26.
 
-2008-12-11 12:22  castaglia
+2009-02-17  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.)
+	* aclocal.m4, ltmain.sh: More towards Bug#3154.
 
-2008-12-11 12:19  castaglia
+2009-02-17  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Style cleanups in the <Directory> config handler.
+	* 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.)
 
-2008-12-11 10:59  castaglia
+2009-02-17  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).
+	* 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.
 
-2008-12-11 10:42  castaglia
+2009-02-17  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm:
-	  Quell some Perl warnings about redeclared variables.
+	* src/Makefile.in: Clean up the other generated files from the src
+	directory (i.e. the man pages).
 
-2008-12-10 22:40  castaglia
+2009-02-17  castaglia <castaglia>
 
-	* modules/mod_lang.c:
-	  Stupid thinko: If "OPTS UTF8 on" is sent, do not disable encoding
-	  by the FS functions.
+	* src/Makefile.in: Clean up the generated prxs script.
 
-2008-12-10 22:33  castaglia
+2009-02-17  castaglia <castaglia>
 
-	* modules/mod_lang.c:
-	  Fix some of the problems found in mod_lang using the testsuite.
+	* doc/contrib/mod_sftp.html: Add hrefs to the individual SFTP FAQs.  Added FAQ about using mod_sftp as an OpenSSH subsystem.
 
-2008-12-10 22:33  castaglia
+2009-02-16  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/FEAT.pm,
-	  t/lib/ProFTPD/Tests/Modules/mod_lang.pm, t/modules/mod_lang.t:
-	  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.
+	* src/prxs.in: Give the prxs tool a --help option.
 
-2008-12-10 21:44  castaglia
+2009-02-16  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.
+	* NEWS, src/prxs.in: Bug#3188 - prxs broken due to typo.
 
-2008-12-10 20:49  castaglia
+2009-02-16  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Stylistic nit cleanup.
+	* contrib/mod_load/.cvsignore, contrib/mod_sftp/.cvsignore,
+	contrib/mod_wrap2/.cvsignore: Ignore libtool object files (*.lo) in
+	CVS commands.
 
-2008-12-10 20:41  castaglia
+2009-02-16  castaglia <castaglia>
 
-	* modules/mod_delay.c:
-	  Clean up some stylistic nits in mod_delay.
+	* 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).
 
-2008-12-10 20:33  castaglia
+2009-02-16  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.
+	* include/support.h: Forgot to remove the old make_arg_str()
+	declaration.
 
-	  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).
+2009-02-16  castaglia <castaglia>
 
-	  Favor RLIMIT_DATA over RLIMIT_AS.
+	* 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.
 
-2008-12-10 14:40  castaglia
+2009-02-15  castaglia <castaglia>
 
-	* doc/howto/Directory.html:
-	  Add another FAQ for the Directory howto, covering preventing a
-	  directory from being renamed.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Add regression tests
+	for the BanEngine behavior added in Bug#3186.
 
-2008-12-10 14:28  castaglia
+2009-02-15  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).
+	* NEWS, contrib/mod_ban.c: Bug#3186 - Support use of <IfClass>
+	directive with mod_ban.
 
-2008-12-10 14:03  castaglia
+2009-02-15  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm:
-	  Add a couple of test cases for HideFiles, using the per-user
-	  parameters.
+	* NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#3185 - mod_wrap2 does not
+	honour partial DNS name in access files.
 
-2008-12-10 13:43  castaglia
+2009-02-15  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_unique_id.pm,
-	  t/modules/mod_unique_id.t:
-	  Added test for the mod_unique_id module.
+	* 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).
 
-2008-12-10 11:50  castaglia
+2009-02-14  castaglia <castaglia>
 
-	* doc/howto/Chroot.html:
-	  Add FAQ about DefaultRoot and NFS mounts.
+	* 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>
 
-2008-12-10 11:25  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/: GroupOwner.pm, UserOwner.pm:
-	  Switch these tests to use the new 'norootprivs' test class,
-	  rather than having the tests do that check themselves.
+2009-02-14  castaglia <castaglia>
 
-2008-12-10 11:23  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.
 
-	* 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.
+2009-02-14  castaglia <castaglia>
 
-2008-12-10 11:17  castaglia
+	* src/session.c: Use a plain unadorned "ssh" as the TTY name in case
+	of SSH sessions.
 
-	* tests/: tests.pl, t/config/order.t,
-	  t/lib/ProFTPD/Tests/Config/Order.pm:
-	  Added tests for the Order directive.
+2009-02-14  castaglia <castaglia>
 
-2008-12-10 11:07  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.
 
-	* tests/: tests.pl, t/config/storeuniqueprefix.t,
-	  t/lib/ProFTPD/Tests/Config/StoreUniquePrefix.pm:
-	  Added test for the StoreUniquePrefix directive.
+2009-02-14  castaglia <castaglia>
 
-2008-12-10 10:57  castaglia
+	* contrib/mod_sql.c: Constify one of the functions, and deal with
+	the consequences.
 
-	* doc/howto/Scoreboard.html:
-	  Mention the "ScoreboardFile /dev/null" trick.
+2009-02-14  castaglia <castaglia>
 
-2008-12-10 10:49  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.
 
-	* tests/: tests.pl, t/config/deleteabortedstores.t,
-	  t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm:
-	  Added test for the DeleteAbortedStores directive.
+2009-02-13  castaglia <castaglia>
 
-2008-12-10 10:46  castaglia
+	* contrib/mod_sftp_pam.c, contrib/mod_sftp_sql.c: Update the
+	copyright dates for these modules.
 
-	* tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm:
-	  Remove debugging cruft.
+2009-02-13  castaglia <castaglia>
 
-2008-12-10 10:43  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>
 
-	* tests/: tests.pl, t/config/hiddenstores.t,
-	  t/lib/ProFTPD/Tests/Config/HiddenStores.pm,
-	  t/lib/ProFTPD/Tests/Config/Directory/Limits.pm:
-	  Added unit test for the HiddenStores functionality.  Added more
-	  <Limit> cases.
+	* 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>
 
-2008-12-09 23:26  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.
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_ctrls.pm,
-	  t/modules/mod_ctrls.t:
-	  Start on tests for mod_ctrls.
+2009-02-12  castaglia <castaglia>
 
-2008-12-09 22:54  castaglia
+	* contrib/mod_quotatab_file.c: Handle possible interruptions of
+	readv(2) and writev(2) in mod_quotatab_file.
 
-	* contrib/mod_site_misc.c:
-	  Avoid descriptor leak by closing the directory descriptor before
-	  returning from site_misc_delete_dir().
+2009-02-12  castaglia <castaglia>
 
-2008-12-09 22:53  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>
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm,
-	  t/modules/mod_site_misc.t:
-	  Added basic tests for the various SITE commands offered by
-	  mod_site_misc.
+	* .cvsignore, contrib/.cvsignore, contrib/mod_load/.cvsignore,
+	contrib/mod_wrap2/.cvsignore: Minor refinement of the .libs
+	exclusion.
 
-2008-12-09 22:35  castaglia
+2009-02-12  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/TestSuite/FTP.pm:
-	  Pass along any other arguments for custom SITE commands.
+	* .cvsignore, contrib/.cvsignore, contrib/mod_load/.cvsignore,
+	contrib/mod_wrap2/.cvsignore: Ignore .la files and the .libs/
+	directory.
 
-2008-12-09 22:13  castaglia
+2009-02-12  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/TestSuite/Utils.pm:
-	  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:
+	* NEWS, modules/mod_auth.c, src/main.c: Bug#3183 - Incorrect logging
+	to wtmp.
 
-	    # cd /path/to/mod_sftp/tests
-	    # perl ~/path/to/proftpd/tests.pl t/modules/mod_sftp.t
+2009-02-12  castaglia <castaglia>
 
-	  This will help (me, anyway) when developing new modules, without
-	  having to write the new module test code in the proftpd source
-	  tree.
+	* 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.
 
-2008-12-09 14:58  castaglia
+2009-02-12  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Remove redundant "<Directory>:" in error message displayed when
-	  proftpd detects a duplicate <Directory> configuration.
+	* NEWS, modules/mod_core.c, src/dirtree.c: Bug#2720 -
+	HideUser/HideGroup should be more flexible.
 
-2008-12-09 14:56  castaglia
+2009-02-12  castaglia <castaglia>
 
-	* doc/howto/Directory.html:
-	  Add FAQ about matching multiple <Directory> sections to the same
-	  path, and which section wins.
+	* NEWS, src/ctrls.c, src/event.c: Bug#3179 - Restarted proftpd using
+	mod_shaper will segfault.
 
-2008-12-09 14:14  castaglia
+2009-02-12  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm:
-	  Regression tests for Bug#3147.
+	* 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.
 
-2008-12-09 14:13  castaglia
+2009-02-11  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c, src/dirtree.c:
-	  Bug#3147 - Comma-delimited commands in <Limit> sections not
-	  handled properly.
+	* 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.
 
-2008-12-09 11:11  castaglia
+2009-02-11  castaglia <castaglia>
 
-	* doc/howto/Tracing.html:
-	  Mention the "directory" log channel, added as part of the fix for
-	  Bug#3146.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add a
+	testcase for the SQLLog directive and the handling of the %{time}
+	variable.
 
-2008-12-09 11:09  castaglia
+2009-02-11  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/directory/limits.t,
-	  t/lib/ProFTPD/Tests/Config/Directory/Limits.pm:
-	  Added regression tests for Bug#3146.
+	* NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#3178 - mod_wrap2 does not
+	handle IPv4-mapped IPv6 addresses.
 
-2008-12-09 11:08  castaglia
+2009-02-11  castaglia <castaglia>
 
-	* NEWS, src/dirtree.c:
-	  Bug#3146 - <Directory> paths using glob characters may not match
-	  as expected.
+	* 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.
 
-2008-12-09 09:32  castaglia
+2009-02-11  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.
+	* NEWS, src/main.c, tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm: 
+	Bug#2728 - Support for variables in ServerIdent directive.
 
-2008-12-08 17:22  castaglia
+2009-02-10  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.
+	* 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.
 
-2008-12-08 16:42  castaglia
+2009-02-10  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm:
-	  Added mod_quotatab_sql tests for uploads and the 'all' limit.
+	* contrib/mod_tls.c: If we can't set the certificate-related
+	environment variables, log the reason why.
 
-2008-12-08 16:18  castaglia
+2009-02-10  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm:
-	  Added mod_quotatab_sql tests for uploads and class quota.
+	* NEWS, contrib/mod_rewrite.c: Bug#3170 - RewriteMap unescape URL
+	encoding broken by RewriteCondition backreference handling.
 
-2008-12-08 12:20  castaglia
+2009-02-10  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm:
-	  Added mod_quotatab_sql tests for uploads and group quota.
+	* 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.
 
-2008-12-08 11:25  castaglia
+2009-02-09  castaglia <castaglia>
 
-	* tests/: tests.pl,
-	  t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm,
-	  t/modules/mod_quotatab_sql.t:
-	  Start of some tests for mod_quotatab_sql; there are *many* more
-	  tests for this module to come.
+	* tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Add regression
+	test for Bug#3156.
 
-2008-12-08 09:54  castaglia
+2009-02-09  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/groupowner.t,
-	  t/lib/ProFTPD/Tests/Config/GroupOwner.pm:
-	  Added tests for the GroupOwner directive.
+	* NEWS, modules/mod_xfer.c: Bug#3156 - Allow resumed downloads when
+	HiddenStore is in effect.
 
-2008-12-08 09:53  castaglia
+2009-02-09  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/TestSuite/Utils.pm:
-	  Allow zero IDs in the AuthUserFile and AuthGroupFile files.
+	* 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.
 
-2008-12-08 09:32  castaglia
+2009-02-09  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/userowner.t,
-	  t/lib/ProFTPD/Tests/Config/UserOwner.pm:
-	  Added tests for the UserOwner directive.
+	* RELEASE_NOTES, locale/Makefile.in, locale/bg_BG.po: Added
+	Bulgarian translation, courtesy of Georgi D. Sotirov.
 
-2008-12-08 09:26  castaglia
+2009-02-09  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.
+	* contrib/mod_sql_postgres.c: Fix compile error.
 
-2008-12-08 07:48  castaglia
+2009-02-05  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/TestSuite/Utils.pm:
-	  Handle arrayrefs within hashrefs properly when writing out the
-	  config.
+	* locale/en_US.po: Updated English translation.
 
-2008-12-07 21:00  castaglia
+2009-02-05  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.
+	* doc/modules/mod_cap.html: Another mod_cap-related FAQ.
 
-2008-12-07 20:59  castaglia
+2009-02-05  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Signals/ABRT.pm,
-	  t/lib/ProFTPD/Tests/Signals/SEGV.pm, t/signals/abrt.t,
-	  t/signals/segv.t:
-	  Added unit tests for the handling of SIGABRT and SIGSEGV in the
-	  daemon process.
+	* modules/mod_core.c: Remove vestigal IdentLookups handling left by
+	mistake in mod_core.
 
-2008-12-07 20:35  castaglia
+2009-02-05  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/TestSuite/FTP.pm:
-	  Permit empty usernames, passwords (useful for certain tests).
+	* NEWS, RELEASE_NOTES, modules/mod_ident.c: Bug#3155 - Change the
+	IdentLookups default to 'off'.
 
-2008-12-07 20:00  castaglia
+2009-02-05  castaglia <castaglia>
 
-	* doc/howto/TLS.html:
-	  Update the TLSProtocol example in light of Bug#3107.
+	* NEWS, contrib/mod_sql_sqlite.c, doc/contrib/mod_sql_sqlite.html: 
+	Bug#3128 - mod_sql_sqlite should use transactions for INSERT/UPDATE
+	statements.
 
-2008-12-07 19:27  castaglia
+2009-02-05  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/: Commands/MKD.pm, Commands/MLST.pm,
-	  Commands/USER.pm, Config/HideFiles.pm:
-	  Cleaning up some test cases so that all pass when run as root,
-	  and that there are no Perl compiler warnings.
+	* NEWS, modules/mod_facts.c: Bug#3133 - mod_facts should advertise
+	TVFS support in the FEAT response.
 
-2008-12-07 19:05  castaglia
+2009-02-05  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Loosen the paranoid parameter sanity check in dir_hide_file() a
-	  little.
+	* NEWS, contrib/mod_sql_postgres.c: Bug#3123 - Use
+	PQescapeStringConn() rather than PQescapeString().
 
-2008-12-07 19:01  castaglia
+2009-02-05  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.
+	* NEWS, RELEASE_NOTES, modules/mod_auth.c, src/auth.c: Bug#2894 -
+	Deprecate the AnonymousGroup directive.
 
-2008-12-07 17:57  castaglia
+2009-02-05  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm:
-	  Adding regression test for Bug#2461.
+	* 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.
 
-2008-12-07 17:20  castaglia
+2009-02-05  castaglia <castaglia>
 
-	* NEWS, locale/Makefile.in, locale/ru_RU.po:
-	  Bug#3065 - Russian translation for proftpd.
+	* 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.
 
-2008-12-07 16:47  castaglia
+2009-02-05  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/directory/umask.t,
-	  t/lib/ProFTPD/TestSuite/Utils.pm,
-	  t/lib/ProFTPD/Tests/Config/Directory/Umask.pm:
-	  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.
+	* locale/Makefile.in, locale/fr_FR.po: Added French translation.
 
-2008-12-07 15:59  castaglia
+2009-02-05  castaglia <castaglia>
 
-	* doc/howto/Directory.html:
-	  Update the Directory howto to mention that <Directory> sections
-	  apply recursively (see Bug#2677).
+	* include/version.h: On to the 1.3.3 release cycle!
 
-2008-12-07 15:41  castaglia
+2009-02-05  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/ftpaccess/dele.t,
-	  t/lib/ProFTPD/Tests/Config/FTPAccess/DELE.pm:
-	  Add regression tests for Bug#2321.
+	* ChangeLog: Updating ChangeLog for 1.3.2.
 
-2008-12-07 15:07  castaglia
+2009-02-05  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.
+	* contrib/dist/rpm/proftpd.spec, include/version.h: Updating
+	versions for the 1.3.2 release.
 
-2008-12-07 14:55  castaglia
+2009-02-05  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/ftpaccess/retr.t,
-	  t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm:
-	  Added regression tests for Bug#2038, which doesn't seem to happen
-	  anymore.
+	* RELEASE_NOTES: Updating release notes.
 
-2008-12-07 12:56  castaglia
+2009-02-05  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.
+	* NEWS, contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: 
+	Bug#3173 - Encoding-dependent SQL injection vulnerability.
 
-2008-12-07 12:54  castaglia
+2009-02-03  castaglia <castaglia>
 
-	* tests/tests.pl:
-	  Add the mod_tls testcase to the testsuite.
+	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Added testcase
+	for Bug#3171.
 
-2008-12-07 12:54  castaglia
+2009-02-03  castaglia <castaglia>
 
-	* tests/t/: etc/modules/mod_tls/ca-cert.pem,
-	  etc/modules/mod_tls/server-cert.pem,
-	  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.
+	* NEWS, modules/mod_log.c: Bug#3171 - ExtendedLog should log full
+	SITE command using %m.
 
-2008-12-07 12:31  castaglia
+2009-02-02  castaglia <castaglia>
 
-	* doc/howto/TLS.html:
-	  Fix typos in TLS howto.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Added testcase
+	for Bug#3170.
 
-2008-12-07 12:16  castaglia
+2009-02-02  castaglia <castaglia>
 
-	* tests/t/: lib/ProFTPD/Tests/Modules/mod_tls.pm,
-	  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.
+	* doc/howto/Rewrite.html: Give examples for handling non-ASCII
+	characters in RewriteRule expressions.
 
-2008-12-06 19:38  castaglia
+2009-02-02  castaglia <castaglia>
 
-	* doc/howto/CreateHome.html:
-	  Update the CreateHome howto with an example of the feature added
-	  by Bug#3040.
+	* doc/contrib/mod_rewrite.html: Clarify exactly what type of
+	encoding is unescaped by mod_rewrite's unescape RewriteMap.
 
-2008-12-06 19:31  castaglia
+2009-02-02  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/createhome.t,
-	  t/lib/ProFTPD/Tests/Config/CreateHome.pm:
-	  Add tests verifying the fix for Bug#3040; more CreateHome tests
-	  are needed.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Added testcase
+	for Bug#3169.
 
-2008-12-06 19:29  castaglia
+2009-02-02  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth.c, src/mkhome.c:
-	  Bug#3040 - Support for CreateHome parent directories owned by
-	  user.
+	* NEWS, contrib/mod_rewrite.c: Bug#3169 - Multiple RewriteRules for
+	the same RewriteCondition not processed properly.
 
-2008-12-06 18:50  castaglia
+2009-01-30  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.
+	* 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.
 
-2008-12-06 16:35  castaglia
+2009-01-30  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Mention the Sendfile, Rewrite howtos in the release notes.
+	* tests/api/pool.c: Fix a test that was failing due to a thinko.
 
-2008-12-06 16:33  castaglia
+2009-01-29  castaglia <castaglia>
 
-	* doc/howto/Rewrite.html:
-	  Remove extraneous header.
+	* 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).
 
-2008-12-06 16:24  castaglia
+2009-01-28  castaglia <castaglia>
 
-	* doc/howto/Rewrite.html:
-	  Make the URLs in the doc be relative to the rest of the docs.
+	* modules/mod_auth.c: Missed a few places in need of translation.
 
-2008-12-06 16:19  castaglia
+2009-01-28  castaglia <castaglia>
 
-	* doc/howto/: Rewrite.html, index.html:
-	  Adding a rewrite howto to the collection.
+	* 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.
 
-2008-12-06 14:12  castaglia
+2009-01-27  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Logging/TransferLog.pm,
-	  t/logging/transferlog.t:
-	  Added unit tests for the TransferLog format.
+	* src/scoreboard.c: Missed a spot.
 
-2008-12-04 14:01  castaglia
+2009-01-27  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.
+	* src/scoreboard.c: Cache the errno value when using pr_trace_msg(),
+	since that function can change the errno value.
 
-2008-12-04 13:45  castaglia
+2009-01-26  castaglia <castaglia>
 
-	* NEWS, contrib/mod_dynmasq.c:
-	  Bug#3144 - mod_dynmasq returns same IP address, even though
-	  actual IP address has changed.
+	* modules/mod_lang.c: When "UseEncoding off" is configured, *really*
+	disable encoding.
 
-2008-12-04 13:35  castaglia
+2009-01-26  castaglia <castaglia>
 
-	* src/inet.c:
-	  After closing a connection, make sure the various fields are
-	  reset to NULL/-1 as appropriate.
+	* 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.
 
-2008-12-03 22:55  castaglia
+2009-01-26  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.
+	* 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.)
 
-2008-12-03 22:45  castaglia
+2009-01-25  jwm <jwm>
 
-	* 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).
+	* 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 at noc.uoa.gr>.
+	http://forums.proftpd.org/smf/index.php/topic,3562.0.html
 
-2008-12-03 21:49  castaglia
+2009-01-23  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/: TestSuite/Utils.pm,
-	  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.
+	* include/version.h: Back to a CVS version.
 
-2008-12-03 09:58  castaglia
+2009-01-23  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.
+	* ChangeLog: Updating ChangeLog for 1.3.2rc4.
 
-2008-12-03 00:41  castaglia
+2009-01-23  castaglia <castaglia>
 
-	* tests/: tests.pl, t/commands/mff.t, t/commands/mfmt.t,
-	  t/lib/ProFTPD/Tests/Commands/MFF.pm,
-	  t/lib/ProFTPD/Tests/Commands/MFMT.pm:
-	  Add some tests (not exhaustive) for the MFMT and MFF commands.
+	* NEWS, RELEASE_NOTES: Updating NEWS, release notes for 1.3.2rc4.
 
-2008-12-03 00:40  castaglia
+2009-01-23  castaglia <castaglia>
 
-	* NEWS, modules/mod_facts.c:
-	  Bug#3142 - "Invalid number of arguments MFMT" due to spaces in
-	  path argument.
+	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing for
+	1.3.2rc4.
 
-2008-12-03 00:14  castaglia
+2009-01-23  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/TestSuite/Utils.pm:
-	  Support use of <Limit> sections in the testcase config files.
+	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Fixup some tests
+	which were failing because the default config changed the value of
+	AllowOverride.
 
-2008-12-03 00:10  castaglia
+2009-01-22  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/limit/xmkd.t,
-	  t/lib/ProFTPD/Tests/Config/Limit/XMKD.pm:
-	  Begin the collection of unit tests for various <Limit>
-	  configurations.
+	* doc/contrib/mod_sql.html: Add some links for easier
+	cross-referencing.
 
-2008-12-03 00:06  castaglia
+2009-01-22  castaglia <castaglia>
 
-	* doc/modules/mod_facts.html:
-	  Updated URL to Draft for MFF/MFMT commands.
+	* 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.
 
-2008-12-02 21:09  castaglia
+2009-01-17  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
-	  t/logging/extendedlog.t:
-	  Add regression tests for Bug#3137.
+	* 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.
 
-2008-12-02 21:06  castaglia
+2009-01-16  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c, src/data.c:
-	  Bug#3137 - ProFTPD does not log filename %f for uploaded files.
+	* RELEASE_NOTES: Mention the Compiling howto.
 
-2008-11-26 09:21  castaglia
+2009-01-16  castaglia <castaglia>
 
-	* tests/: tests.pl, t/commands/mlsd.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/MLSD.pm:
-	  Adding tests for the MLSD command.
+	* doc/howto/Compiling.html, doc/howto/index.html: Finally finished a
+	howto on compiling proftpd.
 
-2008-11-26 09:18  castaglia
+2009-01-16  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).
+	* INSTALL: Typos.
 
-2008-11-24 16:41  castaglia
+2009-01-14  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/TestSuite/FTP.pm:
-	  Add the methods for the MLSD, MLST, MFF, MFMT commands.
+	* doc/contrib/mod_tls.html: Typo.
 
-2008-11-24 16:39  castaglia
+2009-01-14  castaglia <castaglia>
 
-	* tests/: tests.pl, t/commands/mlst.t,
-	  t/lib/ProFTPD/Tests/Commands/MLST.pm:
-	  Adding tests for the MLST command.
+	* src/main.c: Use "microsecs", as it is less confusing to admins.
 
-2008-11-24 14:37  castaglia
+2009-01-13  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/maxinstances.t,
-	  t/lib/ProFTPD/TestSuite/Utils.pm,
-	  t/lib/ProFTPD/Tests/Config/MaxInstances.pm:
-	  Added test for the MaxInstances directive.
+	* src/main.c: Copy the signo of a terminating signal a little
+	earlierin the handler.
 
-2008-11-22 15:23  castaglia
+2009-01-12  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.
+	* doc/howto/Vhost.html: Add another vhost FAQ.
 
-2008-11-22 08:25  castaglia
+2009-01-12  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Add signal handling in the potentially long-running while loops
-	  of the filesystem path resolution functions.
+	* src/fsio.c: Add trace logging of any statvfs()/statfs() errors.
 
-2008-11-21 23:07  castaglia
+2009-01-09  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ratio.c:
-	  Bug#1636 - GroupRatio does not check user's supplemental group
-	  membership.
+	* src/main.c: Log segfaults in the TraceLog using the 'signal'
+	channel.
 
-2008-11-21 20:45  castaglia
+2009-01-08  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm,
-	  t/modules/mod_rewrite.t:
-	  Added some unit tests for the mod_rewrite module.  There will be
-	  many more to come for this module.
+	* 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.
 
-2008-11-21 20:44  castaglia
+2009-01-08  castaglia <castaglia>
 
-	* NEWS, contrib/mod_rewrite.c:
-	  Bug#2915 - mod_rewrite does not work well for SITE commands.
+	* contrib/mod_sql.c: Typo.
 
-2008-11-21 19:12  castaglia
+2009-01-08  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/TestSuite/FTP.pm:
-	  Add a site() method, for sending arbitrary SITE commands.
+	* 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.
 
-2008-11-21 17:31  castaglia
+2009-01-07  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.
+	* 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.
 
-2008-11-21 16:57  castaglia
+2009-01-06  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Signals/HUP.pm,
-	  t/lib/ProFTPD/Tests/Signals/TERM.pm, t/signals/hup.t:
-	  Add unit tests for the HUP signal, at least for the daemon
-	  process.
+	* src/auth.c: Typo.
 
-2008-11-21 16:11  castaglia
+2009-01-06  castaglia <castaglia>
 
-	* doc/howto/: Sendfile.html, index.html:
-	  Adding doc covering sendfile and its issues.
+	* 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.
 
-2008-11-20 21:54  castaglia
+2009-01-06  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.
+	* doc/howto/Vhost.html: I realized that the Vhost howto didn't
+	mention the "already in use" warning message, and should.
 
-2008-11-20 15:17  castaglia
+2009-01-05  castaglia <castaglia>
 
-	* include/version.h:
-	  Updating version for CVS.
+	* 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).
 
-2008-11-20 14:28  castaglia
+2009-01-04  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updated ChangeLog.
+	* 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.
 
-2008-11-20 14:26  castaglia
+2009-01-04  castaglia <castaglia>
 
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Preparing for RC3 release.
+	* 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().
 
-2008-11-20 14:23  castaglia
+2009-01-02  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Updating release notes, preparing for release.
+	* 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.
 
-2008-11-20 13:59  castaglia
+2009-01-02  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.
+	* 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-11-20 11:50  castaglia
+2008-12-31  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/: TestSuite/Utils.pm,
-	  Tests/Modules/mod_wrap2_file.pm, Tests/Modules/mod_wrap2_sql.pm,
-	  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.
+	* contrib/mod_tls.c: Remove unnecessary character.
 
-2008-11-20 01:11  castaglia
+2008-12-31  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_ban.pm,
-	  t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm,
-	  t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
-	  t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm:
-	  Retrofit the module-specific unit tests to use test-specific
-	  scratch directories.	That should be all of the existing tests.
+	* NEWS, contrib/mod_rewrite.c: Bug#3159 - mod_rewrite build fails
+	due to missing mode argument in open(2) call.
 
-2008-11-20 00:27  castaglia
+2008-12-31  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm:
-	  Quell Perl warnings about redeclared variables.
+	* 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-11-20 00:18  castaglia
+2008-12-30  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/: Logins.pm, Commands/ABOR.pm,
-	  Commands/APPE.pm, Commands/LIST.pm, Commands/NLST.pm,
-	  Commands/RETR.pm, Commands/STOR.pm, Commands/STOU.pm,
-	  Config/DisplayConnect.pm, Config/DisplayLogin.pm,
-	  Config/HideFiles.pm, Config/MaxLoginAttempts.pm,
-	  Config/MaxRetrieveFileSize.pm, Config/MaxStoreFileSize.pm,
-	  Config/RequireValidShell.pm, Config/ServerIdent.pm,
-	  Config/TimeoutIdle.pm, Config/TimeoutLogin.pm,
-	  Config/TimeoutNoTransfer.pm, Config/TimeoutSession.pm,
-	  Config/TimeoutStalled.pm, Config/UseFtpUsers.pm, Signals/TERM.pm:
+	* doc/howto/NAT.html: Update NAT howto with ipf example.
 
-	  Retrofitted more of the testsuite to use more individualized
-	  per-test scratch directories.
+2008-12-30  castaglia <castaglia>
 
-2008-11-19 20:19  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).
 
-	* contrib/mod_ban.c:
-	  Minor nits and improvements to mod_ban; no real functional
-	  changes.
+2008-12-24  castaglia <castaglia>
 
-2008-11-19 16:35  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.
 
-	* tests/t/lib/ProFTPD/Tests/: Logins.pm, Commands/ALLO.pm,
-	  Commands/CDUP.pm, Commands/CWD.pm, Commands/DELE.pm,
-	  Commands/EPRT.pm, Commands/EPSV.pm, Commands/FEAT.pm,
-	  Commands/HELP.pm, Commands/MDTM.pm, Commands/MKD.pm,
-	  Commands/MODE.pm, Commands/NOOP.pm, Commands/PASS.pm,
-	  Commands/PASV.pm, Commands/PORT.pm, Commands/PWD.pm,
-	  Commands/QUIT.pm, Commands/REST.pm, Commands/RMD.pm,
-	  Commands/RNFR.pm, Commands/RNTO.pm, Commands/SIZE.pm,
-	  Commands/STRU.pm, Commands/SYST.pm, Commands/TYPE.pm,
-	  Commands/USER.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-12-23  castaglia <castaglia>
 
-2008-11-19 11:13  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.
 
-	* tests/t/lib/ProFTPD/: TestSuite/Utils.pm, Tests/Commands/ABOR.pm:
+2008-12-23  castaglia <castaglia>
 
-	  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.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Add test verifying
+	that mod_lang picks up and handles the LANG environment variable
+	properly.
 
-	  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-12-23  castaglia <castaglia>
 
-2008-11-19 10:21  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.
 
-	* 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-12-23  castaglia <castaglia>
 
-2008-11-19 10:07  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.
 
-	* NEWS, src/data.c:
-	  Bug#3135 - Aborting a download can lead to segfault in some
-	  cases.
+2008-12-23  castaglia <castaglia>
 
-2008-11-19 01:44  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.
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_ban.pm,
-	  t/modules/mod_ban.t:
-	  Added start of unit tests for the mod_ban module.
+2008-12-22  castaglia <castaglia>
 
-2008-11-19 01:42  castaglia
+	* contrib/mod_tls.c: Explicit cast to quell compiler warnings about
+	signedness differences.
 
-	* 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-12-21  castaglia <castaglia>
 
-2008-11-19 01:13  castaglia
+	* src/encode.c: Try to reduce confusion when we didn't detect
+	iconv() (no HAVE_ICONV), but we did detect <iconv.h>.
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Signals/TERM.pm,
-	  t/signals/term.t:
-	  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-12-21  castaglia <castaglia>
 
-2008-11-19 00:58  castaglia
+	* doc/howto/Quotas.html: Add FAQ about how mod_quotatab handles file
+	overwrites/appends.
 
-	* 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-12-21  castaglia <castaglia>
 
-2008-11-18 19:54  castaglia
+	* src/auth.c: The key comparators for the UID/GID cache tables need
+	to return zero if the keys match, not 1.  Oops.
 
-	* configure:
-	  Updated configure.
+2008-12-21  castaglia <castaglia>
 
-2008-11-18 19:51  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).
 
-	* Make.rules.in, Makefile.in, configure.in, locale/Makefile.in:
-	  Properly honor the --localedir configure option.
+2008-12-21  castaglia <castaglia>
 
-2008-11-18 19:31  castaglia
+	* src/table.c: Fix some edge cases that could lead to segfaults.
 
-	* src/encode.c:
-	  Comment typo.
+2008-12-18  castaglia <castaglia>
 
-2008-11-18 11:29  castaglia
+	* src/dirtree.c: Make sure that the cmd_rec returned by
+	pr_cmd_alloc() has an instantiated cmd->notes table.
 
-	* 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-12-18  castaglia <castaglia>
 
-2008-11-17 09:31  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Fix typos.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm:
-	  Be sure to clean up the generated log file.
+2008-12-17  castaglia <castaglia>
 
-2008-11-17 08:59  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.
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Commands/ABOR.pm:
-	  After all the work done on Bug#3131, these ABOR unit tests should
-	  definitely be checked in and added to the testsuite.
+2008-12-17  castaglia <castaglia>
 
-2008-11-16 18:32  castaglia
+	* contrib/mod_quotatab.c: It's not necessarily safe to use equality
+	comparisons with floats; better to use less-than/greater-than
+	instead.
 
-	* NEWS:
-	  Remove duplicate bug entry.
+2008-12-17  castaglia <castaglia>
 
-2008-11-16 17:49  castaglia
+	* doc/howto/TLS.html: Add a FAQ about the OpenSSL header/library
+	version mismatch warning.
 
-	* 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-12-17  castaglia <castaglia>
 
-2008-11-16 17:42  castaglia
+	* NEWS, modules/mod_facl.c: Bug#3150 - mod_facl erroneously assumes
+	no permissions, rather than all permissions, in some cases.
 
-	* 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-12-17  castaglia <castaglia>
 
-2008-11-16 12:35  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.
 
-	* NEWS, src/main.c:
-	  Bug#3073 - Command arguments not decoded properly in some places.
+2008-12-17  castaglia <castaglia>
 
-2008-11-15 14:53  castaglia
+	* doc/contrib/mod_wrap2_file.html: Clean up the example
+	mod_wrap2_file configs a little.
 
-	* configure:
-	  Updated configure.
+2008-12-16  castaglia <castaglia>
 
-2008-11-15 14:37  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.)
 
-	* RELEASE_NOTES:
-	  Mention the change in TimeoutLinger default value in the release
-	  notes.
+2008-12-16  castaglia <castaglia>
 
-2008-11-15 14:34  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.
 
-	* 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-12-16  castaglia <castaglia>
 
-2008-11-14 20:26  castaglia
+	* src/dirtree.c: Forgot to handle the case, in build_dyn_config(),
+	where the path was just "/".
 
-	* tests/t/lib/ProFTPD/Tests/Commands/: EPRT.pm, 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-12-16  castaglia <castaglia>
 
-2008-11-14 20:23  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.
 
-	* tests/t/lib/ProFTPD/TestSuite/FTP.pm:
-	  Allow the epsv() method to take an optional protocol number, as
-	  allowed in the EPSV command.
+2008-12-16  castaglia <castaglia>
 
-2008-11-14 19:31  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.
 
-	* 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-12-16  castaglia <castaglia>
 
-2008-11-14 19:23  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.
 
-	* tests/t/lib/ProFTPD/TestSuite/Utils.pm:
-	  Quell Perl warning about redeclared variable.
+2008-12-14  castaglia <castaglia>
 
-2008-11-14 19:21  castaglia
+	* doc/howto/Tracing.html: Mention the trick of disabling some of the
+	default trace channels.
 
-	* 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-12-14  castaglia <castaglia>
 
-2008-11-14 18:01  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.
 
-	* NEWS, src/data.c, src/netio.c:
-	  Bug#3131 - Session process uses 100% CPU after aborted transfer.
+2008-12-14  castaglia <castaglia>
 
-2008-11-14 14:40  castaglia
+	* doc/howto/Sendfile.html: Correct the grammar.
 
-	* tests/Makefile.in:
-	  Fix typo.
+2008-12-13  castaglia <castaglia>
 
-2008-11-14 11:58  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.
 
-	* 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-12-13  castaglia <castaglia>
 
-2008-11-14 11:35  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).
 
-	* NEWS, src/main.c:
-	  Bug#3132 - Handling of SIGABRT signal leads to endless loop.
+2008-12-13  castaglia <castaglia>
 
-2008-11-14 10:25  castaglia
+	* src/dirtree.c: Add handling of signals in a potentially
+	long-running while loop (especially if recursion is requested).
 
-	* src/: main.c, 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.
+2008-12-13  castaglia <castaglia>
 
-	  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.
+	* 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-11-13 12:00  castaglia
+2008-12-12  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.
+	* doc/contrib/mod_sql.html: Fix the text for better legibility.
 
-2008-11-13 00:15  castaglia
+2008-12-12  castaglia <castaglia>
 
-	* tests/t/: commands/abor.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.
+	* doc/contrib/mod_sql.html: Mention that the
+	SQL{Group,User}WhereClause directives support the same variables as
+	SQLNamedQuery.
 
-2008-11-12 08:33  castaglia
+2008-12-12  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm,
-	  t/modules/mod_wrap2_sql.t:
-	  Added unit tests for mod_wrap2_sql.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Added test
+	for the SQLUserWhereClause directive.
 
-2008-11-11 22:45  castaglia
+2008-12-12  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
-	  t/modules/mod_wrap2_file.t:
-	  Add unit tests for mod_wrap2_file.
+	* 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-11-11 09:42  castaglia
+2008-12-12  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.
+	* 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-11-11 09:25  castaglia
+2008-12-12  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/: Logins.pm, Commands/ALLO.pm,
-	  Commands/APPE.pm, Commands/CDUP.pm, Commands/CWD.pm,
-	  Commands/DELE.pm, Commands/EPRT.pm, Commands/EPSV.pm,
-	  Commands/FEAT.pm, Commands/HELP.pm, Commands/LIST.pm,
-	  Commands/MDTM.pm, Commands/MKD.pm, Commands/MODE.pm,
-	  Commands/NOOP.pm, Commands/PASS.pm, Commands/PASV.pm,
-	  Commands/PORT.pm, Commands/PWD.pm, Commands/QUIT.pm,
-	  Commands/REST.pm, Commands/RNFR.pm, Commands/SIZE.pm,
-	  Commands/STRU.pm, Commands/SYST.pm, Commands/TYPE.pm,
-	  Commands/USER.pm, Config/DisplayConnect.pm,
-	  Config/DisplayLogin.pm, Config/MaxLoginAttempts.pm,
-	  Config/ServerIdent.pm:
-	  Remove unnecessary import of module-related functions.
+	* 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-11-10 21:35  castaglia
+2008-12-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.
+	* 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-11-10 14:14  castaglia
+2008-12-11  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.
+	* 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-11-10 14:13  castaglia
+2008-12-11  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Config/: MaxRetrieveFileSize.pm,
-	  MaxStoreFileSize.pm:
-	  Quell Perl compiler warnings about re-declared variables.
+	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Fix Perl
+	warnings about redeclared variables.
 
-2008-11-08 14:56  castaglia
+2008-12-11  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/maxretrievefilesize.t,
-	  t/config/maxstorefilesize.t,
-	  t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
-	  t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm:
-	  Added unit tests for the MaxRetrieveFileSize and MaxStoreFileSize
-	  directives.
+	* 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-11-08 13:32  castaglia
+2008-12-11  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/requirevalidshell.t,
-	  t/config/useftpusers.t,
-	  t/lib/ProFTPD/Tests/Config/RequireValidShell.pm,
-	  t/lib/ProFTPD/Tests/Config/UseFtpUsers.pm:
-	  Added unit tests for the RequireValidShell and UseFtpUsers
-	  directives.
+	* 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-11-08 12:58  castaglia
+2008-12-11  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/timeoutidle.t,
-	  t/config/timeoutlogin.t, t/config/timeoutnotransfer.t,
-	  t/config/timeoutsession.t, t/config/timeoutstalled.t,
-	  t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm,
-	  t/lib/ProFTPD/Tests/Config/TimeoutLogin.pm,
-	  t/lib/ProFTPD/Tests/Config/TimeoutNoTransfer.pm,
-	  t/lib/ProFTPD/Tests/Config/TimeoutSession.pm,
-	  t/lib/ProFTPD/Tests/Config/TimeoutStalled.pm:
-	  Added unit tests for the various Timeout directives.
+	* modules/mod_core.c: Style cleanups in the <Directory> config
+	handler.
 
-2008-11-07 15:31  castaglia
+2008-12-11  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.
+	* 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-11-07 15:25  castaglia
+2008-12-11  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/STOU.pm:
-	  The STOU tests now pass when run both as root and as non-root.
+	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Quell some
+	Perl warnings about redeclared variables.
 
-2008-11-07 15:21  castaglia
+2008-12-11  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/STOR.pm:
-	  Update the STOR tests to pass when run as root and as non-root.
+	* modules/mod_lang.c: Stupid thinko: If "OPTS UTF8 on" is sent, do
+	not disable encoding by the FS functions.
 
-2008-11-07 15:17  castaglia
+2008-12-11  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm:
-	  Make sure the RNTO tests pass when run as root and as non-root.
+	* modules/mod_lang.c: Fix some of the problems found in mod_lang
+	using the testsuite.
 
-2008-11-07 15:13  castaglia
+2008-12-11  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/RMD.pm:
-	  Adjust the RMD tests to pass when run as root and as non-root.
+	* 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-11-07 15:10  castaglia
+2008-12-11  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm:
-	  Make the RETR tests pass when run as both root and non-root.
+	* 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-11-07 15:06  castaglia
+2008-12-11  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Commands/NLST.pm:
-	  Update the NLST tests to pass when run as root and as non-root.
+	* modules/mod_core.c: Stylistic nit cleanup.
 
-2008-11-07 15:00  castaglia
+2008-12-11  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.
+	* modules/mod_delay.c: Clean up some stylistic nits in mod_delay.
 
-2008-11-07 14:57  castaglia
+2008-12-11  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.
+	* 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-11-07 14:50  castaglia
+2008-12-10  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.
+	* doc/howto/Directory.html: Add another FAQ for the Directory howto,
+	covering preventing a directory from being renamed.
 
-2008-11-07 14:43  castaglia
+2008-12-10  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.
+	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Some cases
+	where directory/file renaming works (as expected) or is denied (as
+	expected).
 
-2008-11-07 11:35  castaglia
+2008-12-10  castaglia <castaglia>
 
-	* doc/howto/Testing.html:
-	  Mention that some integration tests are skipped if not run with
-	  root privs.
+	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Add a couple of
+	test cases for HideFiles, using the per-user parameters.
 
-2008-11-07 11:23  castaglia
+2008-12-10  castaglia <castaglia>
 
-	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm:
-	  Add a regression test for Bug#2922.
+	* 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-11-07 10:37  castaglia
+2008-12-10  castaglia <castaglia>
 
-	* tests/t/: lib/ProFTPD/TestSuite/FTP.pm,
-	  lib/ProFTPD/TestSuite/Utils.pm,
-	  lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm,
-	  modules/mod_sql_sqlite.t:
-	  Adding some regressions tests for Bugs #3116, #3124, and #3126.
+	* doc/howto/Chroot.html: Add FAQ about DefaultRoot and NFS mounts.
 
-2008-11-06 13:47  castaglia
+2008-12-10  castaglia <castaglia>
 
-	* NEWS, src/dirtree.c:
-	  Bug#3130 - HideFiles can cause segfault.
+	* 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-11-06 13:46  castaglia
+2008-12-10  castaglia <castaglia>
 
-	* tests/: tests.pl, t/config/hidefiles.t,
-	  t/lib/ProFTPD/TestSuite/Utils.pm,
-	  t/lib/ProFTPD/Tests/Config/HideFiles.pm:
-	  Added unit test for reproducing Bug#3130 (and preventing
-	  regressions).
+	* 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-11-05 23:46  castaglia
+2008-12-10  castaglia <castaglia>
 
-	* tests/: tests.pl, t/lib/ProFTPD/TestSuite/Utils.pm,
-	  t/lib/ProFTPD/Tests/Modules/mod_sql.pm,
-	  t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm,
-	  t/modules/mod_sql.t, t/modules/mod_sql_sqlite.t:
-	  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).
+	* tests/t/config/order.t,
+	tests/t/lib/ProFTPD/Tests/Config/Order.pm, tests/tests.pl: Added
+	tests for the Order directive.
 
-	  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-12-10  castaglia <castaglia>
 
-2008-11-05 18:46  castaglia
+	* tests/t/config/storeuniqueprefix.t,
+	tests/t/lib/ProFTPD/Tests/Config/StoreUniquePrefix.pm,
+	tests/tests.pl: Added test for the StoreUniquePrefix directive.
 
-	* doc/howto/Testing.html:
-	  Update the Testing howto to reflect changes made to the 'make
-	  check' target.
+2008-12-10  castaglia <castaglia>
 
-2008-11-05 18:45  castaglia
+	* doc/howto/Scoreboard.html: Mention the "ScoreboardFile /dev/null"
+	trick.
 
-	* tests/: .cvsignore, Makefile.in, t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/STOU.pm:
-	  Run the integration tests after the API tests, as part of the
-	  'make check' target.
+2008-12-10  castaglia <castaglia>
 
-	  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).
+	* tests/t/config/deleteabortedstores.t,
+	tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm,
+	tests/tests.pl: Added test for the DeleteAbortedStores directive.
 
-2008-11-05 18:28  castaglia
+2008-12-10  castaglia <castaglia>
 
-	* doc/howto/index.html:
-	  Add a link to the Testing howto in the howto index.
+	* tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Remove debugging
+	cruft.
 
-2008-11-05 18:27  castaglia
+2008-12-10  castaglia <castaglia>
 
-	* doc/howto/Testing.html:
-	  The Testing howto is now in a mostly usable form.
+	* 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-11-05 18:23  castaglia
+2008-12-10  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.
+	* 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-11-05 17:38  castaglia
+2008-12-10  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.
+	* contrib/mod_site_misc.c: Avoid descriptor leak by closing the
+	directory descriptor before returning from site_misc_delete_dir().
 
-2008-11-03 11:27  castaglia
+2008-12-10  castaglia <castaglia>
 
-	* contrib/mod_sql_sqlite.c:
-	  Explain why sqlite3_shutdown() is not called when the
-	  mod_sql_sqlite module is being unloaded.
+	* 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-11-03 10:46  castaglia
+2008-12-10  castaglia <castaglia>
 
-	* contrib/mod_sql_sqlite.c:
-	  Stylistic nits; no functional change.
+	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Pass along any other
+	arguments for custom SITE commands.
 
-2008-11-03 09:55  castaglia
+2008-12-10  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql_sqlite.c:
-	  Bug#3126 - Segfault in mod_sql_sqlite when user belongs to
-	  multiple groups.
+	* 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-10-31 13:15  castaglia
+2008-12-09  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ldap.c, contrib/mod_sql.c, src/log.c:
-	  Bug#2767 - gcc 4.0/amd64 warnings.
+	* modules/mod_core.c: Remove redundant "<Directory>:" in error
+	message displayed when proftpd detects a duplicate <Directory>
+	configuration.
 
-2008-10-31 10:38  castaglia
+2008-12-09  castaglia <castaglia>
 
-	* NEWS, include/fsio.h, src/fsio.c:
-	  Bug#3092 - FSIO API needs mechanism for allowing registered FS
-	  handlers to permit atomic renames.
+	* doc/howto/Directory.html: Add FAQ about matching multiple
+	<Directory> sections to the same path, and which section wins.
 
-2008-10-30 16:38  castaglia
+2008-12-09  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.
+	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Regression
+	tests for Bug#3147.
 
-	  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-12-09  castaglia <castaglia>
 
-2008-10-29 15:07  castaglia
+	* NEWS, modules/mod_core.c, src/dirtree.c: Bug#3147 -
+	Comma-delimited commands in <Limit> sections not handled properly.
 
-	* RELEASE_NOTES:
-	  Start prepping the RC3 release notes.
+2008-12-09  castaglia <castaglia>
 
-2008-10-28 10:22  castaglia
+	* doc/howto/Tracing.html: Mention the "directory" log channel, added
+	as part of the fix for Bug#3146.
 
-	* 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-12-09  castaglia <castaglia>
 
-2008-10-28 10:19  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.
 
-	* 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-12-09  castaglia <castaglia>
 
-2008-10-27 18:02  castaglia
+	* NEWS, src/dirtree.c: Bug#3146 - <Directory> paths using glob
+	characters may not match as expected.
 
-	* doc/howto/Testing.html:
-	  Adding slightly more substance to the Testing howto; hopefully I
-	  can muster the motivation to finish it later tonight.
+2008-12-09  castaglia <castaglia>
 
-2008-10-27 17:48  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Add checks
+	of the tally values for more of the upload quotatab tests.
 
-	* 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-12-09  castaglia <castaglia>
 
-2008-10-27 17:46  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.
 
-	* include/inet.h, src/inet.c:
-	  Remove the pr_inet_associate() function; nothing was using it.
+2008-12-09  castaglia <castaglia>
 
-2008-10-27 15:35  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Added
+	mod_quotatab_sql tests for uploads and the 'all' limit.
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#3124 - mod_sql improperly substitutes variables in user/group
-	  names.
+2008-12-09  castaglia <castaglia>
 
-2008-10-21 11:03  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Added
+	mod_quotatab_sql tests for uploads and class quota.
 
-	* configure:
-	  Updated configure.
+2008-12-08  castaglia <castaglia>
 
-2008-10-21 11:01  castaglia
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Added
+	mod_quotatab_sql tests for uploads and group quota.
 
-	* NEWS, config.h.in, configure.in, src/encode.c:
-	  Bug#3122: iconv() not detected properly on FreeBSD when
-	  --enable-nls is used.
+2008-12-08  castaglia <castaglia>
 
-2008-10-20 09:08  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.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/PASS.pm:
-	  Make sure that the PASS unit tests expected the proper response
-	  message.
+2008-12-08  castaglia <castaglia>
 
-2008-10-20 08:14  castaglia
+	* tests/t/config/groupowner.t,
+	tests/t/lib/ProFTPD/Tests/Config/GroupOwner.pm, tests/tests.pl: 
+	Added tests for the GroupOwner directive.
 
-	* include/glibc-glob.h:
-	  Fix compiler detection to deal with other compilers.
+2008-12-08  castaglia <castaglia>
 
-2008-10-19 17:45  castaglia
+	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Allow zero IDs in the
+	AuthUserFile and AuthGroupFile files.
 
-	* tests/: tests.pl, t/config/maxloginattempts.t,
-	  t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm:
-	  Added unit tests for the MaxLoginAttempts directive.
+2008-12-08  castaglia <castaglia>
 
-2008-10-19 17:02  castaglia
+	* tests/t/config/userowner.t,
+	tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm, tests/tests.pl: Added
+	tests for the UserOwner directive.
 
-	* locale/: en_US.po, it_IT.po, proftpd.pot, zh_CN.po:
-	  Removing redundant (and now absent) entry for "Login incorrect";
-	  there is already a "Login incorrect." (note the period) entry.
+2008-12-08  castaglia <castaglia>
 
-2008-10-19 17:01  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.
 
-	* 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-12-08  castaglia <castaglia>
 
-2008-10-19 16:59  castaglia
+	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Handle arrayrefs within
+	hashrefs properly when writing out the config.
 
-	* modules/mod_auth.c:
-	  Fixed failed login message to be consistent with other instances
-	  of the "Login incorrect" string.
+2008-12-08  castaglia <castaglia>
 
-2008-10-19 16:41  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.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/: EPSV.pm, PASV.pm:
-	  Make the regexes tigher for checking the expected EPSV and PASV
-	  responses.
+2008-12-08  castaglia <castaglia>
 
-2008-10-19 12:48  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.
 
-	* tests/: tests.pl, t/commands/eprt.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/EPRT.pm:
-	  Added tests for the EPRT command.
+2008-12-08  castaglia <castaglia>
 
-2008-10-19 12:31  castaglia
+	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Permit empty usernames,
+	passwords (useful for certain tests).
 
-	* tests/: tests.pl, t/commands/epsv.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/EPSV.pm:
-	  Added tests for the EPSV command.
+2008-12-08  castaglia <castaglia>
 
-2008-10-19 12:23  castaglia
+	* doc/howto/TLS.html: Update the TLSProtocol example in light of
+	Bug#3107.
 
-	* tests/: tests.pl, t/commands/feat.t, t/commands/help.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/FEAT.pm,
-	  t/lib/ProFTPD/Tests/Commands/HELP.pm:
-	  Added tests for the FEAT and HELP commands.
+2008-12-08  castaglia <castaglia>
 
-2008-10-19 12:02  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.
 
-	* tests/: tests.pl, t/commands/pass.t, t/commands/user.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/PASS.pm,
-	  t/lib/ProFTPD/Tests/Commands/USER.pm:
-	  Added tests for the USER and PASS commands.
+2008-12-08  castaglia <castaglia>
 
-2008-10-19 11:36  castaglia
+	* src/dirtree.c: Loosen the paranoid parameter sanity check in
+	dir_hide_file() a little.
 
-	* tests/: tests.pl, t/config/displaylogin.t,
-	  t/lib/ProFTPD/Tests/Config/DisplayLogin.pm:
-	  Added tests for the DisplayLogin directive.
+2008-12-08  castaglia <castaglia>
 
-2008-10-18 19:04  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.
 
-	* tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm:
-	  Forgot to clean up a test file that's outside of the tmp/
-	  directory.
+2008-12-08  castaglia <castaglia>
 
-2008-10-18 18:50  castaglia
+	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Adding
+	regression test for Bug#2461.
 
-	* tests/: tests.pl, t/config/displayconnect.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Config/DisplayConnect.pm:
-	  Added tests for the DisplayConnect directive.
+2008-12-08  castaglia <castaglia>
 
-2008-10-18 17:38  castaglia
+	* NEWS, locale/Makefile.in, locale/ru_RU.po: Bug#3065 - Russian
+	translation for proftpd.
 
-	* tests/: tests.pl, t/config/serverident.t,
-	  t/lib/ProFTPD/Tests/Config/ServerIdent.pm:
-	  Added first unit tests for config directives; we're starting with
-	  ServerIdent.
+2008-12-08  castaglia <castaglia>
 
-2008-10-18 16:20  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.
 
-	* tests/: tests.pl, t/commands/appe.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/APPE.pm:
-	  Added tests for the APPE command.
+2008-12-07  castaglia <castaglia>
 
-2008-10-18 16:12  castaglia
+	* doc/howto/Directory.html: Update the Directory howto to mention
+	that <Directory> sections apply recursively (see Bug#2677).
 
-	* tests/: tests.pl, t/commands/stou.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/LIST.pm,
-	  t/lib/ProFTPD/Tests/Commands/NLST.pm,
-	  t/lib/ProFTPD/Tests/Commands/RETR.pm,
-	  t/lib/ProFTPD/Tests/Commands/STOR.pm,
-	  t/lib/ProFTPD/Tests/Commands/STOU.pm:
-	  Added tests for the STOU command.  Cleaned up handling of FTP
-	  response messages.
+2008-12-07  castaglia <castaglia>
 
-2008-10-18 14:58  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.
 
-	* tests/: tests.pl, t/commands/stor.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/STOR.pm:
-	  Added some tests for the STOR command.
+2008-12-07  castaglia <castaglia>
 
-2008-10-18 14:48  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.
 
-	* 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-12-07  castaglia <castaglia>
 
-2008-10-18 13:43  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.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm:
-	  Remove copy-n-pasted code from the RETR tests, and make them work
-	  more reliably.
+2008-12-07  castaglia <castaglia>
 
-2008-10-18 12:59  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.
 
-	* 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-12-07  castaglia <castaglia>
 
-2008-10-17 17:24  castaglia
+	* tests/tests.pl: Add the mod_tls testcase to the testsuite.
 
-	* tests/: tests.pl, t/commands/retr.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/LIST.pm,
-	  t/lib/ProFTPD/Tests/Commands/NLST.pm,
-	  t/lib/ProFTPD/Tests/Commands/RETR.pm:
-	  Add some basic tests of the RETR command.
+2008-12-07  castaglia <castaglia>
 
-2008-10-17 14:27  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.
 
-	* tests/: tests.pl, t/commands/list.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm, t/lib/ProFTPD/TestSuite/Utils.pm,
-	  t/lib/ProFTPD/Tests/Commands/LIST.pm:
-	  Start of tests for the LIST command; expect more in the future.
+2008-12-07  castaglia <castaglia>
 
-2008-10-17 08:25  castaglia
+	* doc/howto/TLS.html: Fix typos in TLS howto.
 
-	* contrib/mod_wrap2/mod_wrap2.c:
-	  Fix Bug#3120 for the WrapGroupTables and WrapUserTables
-	  directives as well.
+2008-12-07  castaglia <castaglia>
 
-2008-10-17 08:16  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.
 
-	* NEWS, contrib/mod_wrap2/mod_wrap2.c:
-	  Bug#3120 - WrapTables not allowed in <Anonymous> context.
+2008-12-07  castaglia <castaglia>
 
-2008-10-15 19:04  castaglia
+	* doc/howto/CreateHome.html: Update the CreateHome howto with an
+	example of the feature added by Bug#3040.
 
-	* tests/t/lib/ProFTPD/Tests/: Logins.pm, Commands/ALLO.pm,
-	  Commands/CDUP.pm, Commands/CWD.pm, Commands/DELE.pm,
-	  Commands/MDTM.pm, Commands/MKD.pm, Commands/MODE.pm,
-	  Commands/NOOP.pm, Commands/PASV.pm, Commands/PORT.pm,
-	  Commands/PWD.pm, Commands/QUIT.pm, Commands/REST.pm,
-	  Commands/RMD.pm, Commands/SIZE.pm, Commands/STRU.pm,
-	  Commands/SYST.pm, Commands/TYPE.pm:
-	  Updated tests to use server_wait().
+2008-12-07  castaglia <castaglia>
 
-2008-10-15 16:55  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.
 
-	* tests/t/lib/ProFTPD/: TestSuite/FTP.pm, TestSuite/Utils.pm,
-	  Tests/Commands/NLST.pm, Tests/Commands/RNFR.pm,
-	  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-12-07  castaglia <castaglia>
 
-2008-10-15 10:18  castaglia
+	* NEWS, modules/mod_auth.c, src/mkhome.c: Bug#3040 - Support for
+	CreateHome parent directories owned by user.
 
-	* configure:
-	  Updated configure.
+2008-12-07  castaglia <castaglia>
 
-2008-10-15 10:12  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.
 
-	* NEWS, config.h.in, configure.in:
-	  Bug#3119 - Search for libcap2 in addition to libcap for mod_cap
-	  support.
+2008-12-07  castaglia <castaglia>
 
-2008-10-15 09:31  castaglia
+	* RELEASE_NOTES: Mention the Sendfile, Rewrite howtos in the release
+	notes.
 
-	* 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-12-07  castaglia <castaglia>
 
-2008-10-14 16:23  castaglia
+	* doc/howto/Rewrite.html: Remove extraneous header.
 
-	* 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-12-07  castaglia <castaglia>
 
-2008-10-14 15:28  castaglia
+	* doc/howto/Rewrite.html: Make the URLs in the doc be relative to
+	the rest of the docs.
 
-	* contrib/mod_ifsession.c:
-	  Fix compilation error.
+2008-12-07  castaglia <castaglia>
 
-2008-10-13 23:24  castaglia
+	* doc/howto/Rewrite.html, doc/howto/index.html: Adding a rewrite
+	howto to the collection.
 
-	* 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-12-06  castaglia <castaglia>
 
-2008-10-13 23:20  castaglia
+	* tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm,
+	tests/t/logging/transferlog.t, tests/tests.pl: Added unit tests for
+	the TransferLog format.
 
-	* 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-12-04  castaglia <castaglia>
 
-2008-10-13 23:03  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.
 
-	* tests/t/lib/ProFTPD/TestSuite/Utils.pm:
-	  Add a function that encapsulates the server-wait part of the
-	  tests, including a timeout.
+2008-12-04  castaglia <castaglia>
 
-2008-10-13 21:25  castaglia
+	* NEWS, contrib/mod_dynmasq.c: Bug#3144 - mod_dynmasq returns same
+	IP address, even though actual IP address has changed.
 
-	* tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm:
-	  Looks like some of the errno strings differ across platforms and
-	  versions.
+2008-12-04  castaglia <castaglia>
 
-2008-10-13 18:11  castaglia
+	* src/inet.c: After closing a connection, make sure the various
+	fields are reset to NULL/-1 as appropriate.
 
-	* tests/: tests.pl, t/commands/nlst.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/NLST.pm:
-	  Added tests for NLST; still more tests to be added.
+2008-12-04  castaglia <castaglia>
 
-2008-10-13 17:35  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.
 
-	* tests/t/lib/ProFTPD/TestSuite/Utils.pm:
-	  Make sure that lingering processes, if not killed properly, are
-	  timed out quickly.
+2008-12-04  castaglia <castaglia>
 
-2008-10-13 16:24  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).
 
-	* tests/: tests.pl, t/commands/rest.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/REST.pm:
-	  Added tests for the REST command.
+2008-12-04  castaglia <castaglia>
 
-2008-10-13 16:06  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.
 
-	* tests/: tests.pl, t/commands/quit.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/QUIT.pm:
-	  Added test for the QUIT command.
+2008-12-03  castaglia <castaglia>
 
-2008-10-13 15:52  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.
 
-	* tests/: tests.pl, t/commands/rnfr.t, t/commands/rnto.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/RNFR.pm,
-	  t/lib/ProFTPD/Tests/Commands/RNTO.pm:
-	  Added tests for the RNFR, RNTO commands.
+2008-12-03  castaglia <castaglia>
 
-2008-10-13 15:36  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.
 
-	* modules/mod_core.c:
-	  Preserve the actual errno value if the renaming fails; it was
-	  getting trounced in subsequent function calls.
+2008-12-03  castaglia <castaglia>
 
-2008-10-13 14:57  castaglia
+	* NEWS, modules/mod_facts.c: Bug#3142 - "Invalid number of arguments
+	MFMT" due to spaces in path argument.
 
-	* tests/: tests.pl, t/commands/noop.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/NOOP.pm:
-	  Added test for the NOOP command.
+2008-12-03  castaglia <castaglia>
 
-2008-10-13 14:50  castaglia
+	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Support use of <Limit>
+	sections in the testcase config files.
 
-	* tests/: tests.pl, t/commands/port.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/PORT.pm:
-	  Add tests for the PORT command.
+2008-12-03  castaglia <castaglia>
 
-2008-10-13 13:05  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.
 
-	* tests/t/lib/ProFTPD/TestSuite/FTP.pm:
-	  Fixed regex matching of ALLO response code leading digit.
+2008-12-03  castaglia <castaglia>
 
-2008-10-13 13:02  castaglia
+	* doc/modules/mod_facts.html: Updated URL to Draft for MFF/MFMT
+	commands.
 
-	* tests/: tests.pl, t/commands/allo.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/ALLO.pm:
-	  Added test for the ALLO command.
+2008-12-03  castaglia <castaglia>
 
-2008-10-13 12:38  castaglia
+	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
+	tests/t/logging/extendedlog.t, tests/tests.pl: Add regression tests
+	for Bug#3137.
 
-	* tests/: tests.pl, t/commands/stru.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/STRU.pm:
-	  Added tests for the STRU command.
+2008-12-03  castaglia <castaglia>
 
-2008-10-13 10:59  castaglia
+	* NEWS, modules/mod_xfer.c, src/data.c: Bug#3137 - ProFTPD does not
+	log filename %f for uploaded files.
 
-	* tests/: tests.pl, t/commands/mode.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/MODE.pm:
-	  Add tests for the MODE command.
+2008-11-26  castaglia <castaglia>
 
-2008-10-13 10:13  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.
 
-	* tests/: tests.pl, t/commands/pasv.t,
-	  t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/Tests/Commands/PASV.pm:
-	  Added tests for the PASV command.
+2008-11-26  castaglia <castaglia>
 
-2008-10-13 08:49  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).
 
-	* tests/: tests.pl, t/commands.t, t/commands/cdup.t,
-	  t/commands/cwd.t, t/commands/dele.t, t/commands/mdtm.t,
-	  t/commands/mkd.t, t/commands/pwd.t, t/commands/rmd.t,
-	  t/commands/size.t, t/commands/syst.t, t/commands/type.t,
-	  t/lib/ProFTPD/Tests/Commands.pm,
-	  t/lib/ProFTPD/Tests/Commands/CDUP.pm,
-	  t/lib/ProFTPD/Tests/Commands/CWD.pm,
-	  t/lib/ProFTPD/Tests/Commands/DELE.pm,
-	  t/lib/ProFTPD/Tests/Commands/MDTM.pm,
-	  t/lib/ProFTPD/Tests/Commands/MKD.pm,
-	  t/lib/ProFTPD/Tests/Commands/PWD.pm,
-	  t/lib/ProFTPD/Tests/Commands/RMD.pm,
-	  t/lib/ProFTPD/Tests/Commands/SIZE.pm,
-	  t/lib/ProFTPD/Tests/Commands/SYST.pm,
-	  t/lib/ProFTPD/Tests/Commands/TYPE.pm:
-	  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-11-25  castaglia <castaglia>
 
-2008-10-12 18:03  castaglia
+	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Add the methods for the
+	MLSD, MLST, MFF, MFMT commands.
 
-	* tests/t/lib/ProFTPD/: TestSuite/FTP.pm, Tests/Commands.pm:
-	  Added tests for the TYPE, MDTM, and SIZE commands.
+2008-11-25  castaglia <castaglia>
 
-2008-10-12 17:07  castaglia
+	* tests/t/commands/mlst.t,
+	tests/t/lib/ProFTPD/Tests/Commands/MLST.pm, tests/tests.pl: Adding
+	tests for the MLST command.
 
-	* tests/t/lib/ProFTPD/: TestSuite/FTP.pm, Tests/Commands.pm:
-	  Added tests for the DELE command.
+2008-11-24  castaglia <castaglia>
 
-2008-10-12 16:55  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.
 
-	* tests/t/lib/ProFTPD/: TestSuite/FTP.pm, Tests/Commands.pm,
-	  Tests/Logins.pm:
-	  Added command test cases where failures (for different reasons)
-	  are expected.
+2008-11-22  castaglia <castaglia>
 
-2008-10-12 15:27  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.
 
-	* tests/t/lib/ProFTPD/: TestSuite/FTP.pm, Tests/Commands.pm:
-	  Added tests for the MKD, XMKD, RMD, and XRMD commands.
+2008-11-22  castaglia <castaglia>
 
-2008-10-12 15:14  castaglia
+	* src/fsio.c: Add signal handling in the potentially long-running
+	while loops of the filesystem path resolution functions.
 
-	* tests/t/lib/ProFTPD/: TestSuite/FTP.pm, TestSuite/Utils.pm,
-	  Tests/Commands.pm, 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-11-22  castaglia <castaglia>
 
-2008-10-12 14:00  castaglia
+	* NEWS, contrib/mod_ratio.c: Bug#1636 - GroupRatio does not check
+	user's supplemental group membership.
 
-	* tests/t/lib/ProFTPD/: TestSuite/FTP.pm, Tests/Commands.pm:
-	  Fixed use of assertions when checking response codes and
-	  messages.
+2008-11-22  castaglia <castaglia>
 
-	  Added tests for the XPWD, CWD, and XCWD commands.
+	* 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-10-12 13:30  castaglia
+2008-11-22  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.
+	* NEWS, contrib/mod_rewrite.c: Bug#2915 - mod_rewrite does not work
+	well for SITE commands.
 
-2008-10-12 13:18  castaglia
+2008-11-22  castaglia <castaglia>
 
-	* tests/: tests.pl, t/commands.t, t/lib/ProFTPD/TestSuite/FTP.pm,
-	  t/lib/ProFTPD/TestSuite/Utils.pm,
-	  t/lib/ProFTPD/Tests/Commands.pm:
-	  Start of test cases for the various FTP commands; PWD is simple,
-	  so it was first.
+	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Add a site() method, for
+	sending arbitrary SITE commands.
 
-	  Also add support for writing AuthUserFiles and AuthGroupFiles;
-	  this makes it easier to log into the running proftpd without
-	  requiring root privs.
+2008-11-22  castaglia <castaglia>
 
-2008-10-12 12:12  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.
 
-	* tests/t/lib/ProFTPD/TestSuite/: FTP.pm, 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-11-22  castaglia <castaglia>
 
-2008-10-11 14:35  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.
 
-	* tests/t/lib/ProFTPD/: TestSuite/Utils.pm, Tests/Logins.pm:
-	  Fix the anonymous login test (it should fail, unless run with
-	  root privs).
+2008-11-22  castaglia <castaglia>
 
-	  Have defaults for the common config directives.  Exclude tests
-	  which require root privs unless we are being run with root privs.
+	* doc/howto/Sendfile.html, doc/howto/index.html: Adding doc covering
+	sendfile and its issues.
 
-2008-10-11 13:37  castaglia
+2008-11-21  castaglia <castaglia>
 
-	* tests/: tests.pl, t/logins.t, t/lib/ProFTPD/TestSuite/Child.pm,
-	  t/lib/ProFTPD/TestSuite/FTP.pm, t/lib/ProFTPD/TestSuite/Utils.pm,
-	  t/lib/ProFTPD/Tests/Logins.pm:
-	  Start of a collection of unit tests against a running proftpd
-	  server, using Perl.
+	* 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-10-11 08:58  castaglia
+2008-11-20  castaglia <castaglia>
 
-	* modules/mod_facts.c:
-	  Fixed bug handling the MFMT command; found by a user in the
-	  online forums.
+	* include/version.h: Updating version for CVS.
 
-2008-10-08 09:55  castaglia
+2008-11-20  castaglia <castaglia>
 
-	* doc/howto/: Translations.html, index.html:
-	  Adding a Translation mini-howto.
+	* ChangeLog: Updated ChangeLog.
 
-2008-10-07 15:48  castaglia
+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>
 
-	* doc/modules/mod_lang.html:
-	  Typo.
+	* configure: Updated configure.
 
-2008-10-07 10:43  castaglia
+2008-11-19  castaglia <castaglia>
 
-	* tests/: .cvsignore, Makefile.in, api/.cvsignore, 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.
+	* Make.rules.in, Makefile.in, configure.in, locale/Makefile.in: 
+	Properly honor the --localedir configure option.
 
-2008-10-07 10:10  castaglia
+2008-11-19  castaglia <castaglia>
 
-	* tests/api/.cvsignore:
-	  Add .cvsignore file for the new tests/api/ directory.
+	* src/encode.c: Comment typo.
 
-2008-10-06 23:17  castaglia
+2008-11-18  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.
+	* 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-10-06 11:36  castaglia
+2008-11-17  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.
+	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Be sure to clean up
+	the generated log file.
 
-2008-10-06 11:16  castaglia
+2008-11-17  castaglia <castaglia>
 
-	* tests/: Makefile.in, array.c, class.c, env.c, event.c, expr.c,
-	  feat.c, modules.c, netacl.c, netaddr.c, pool.c, regexp.c,
-	  scoreboard.c, sets.c, str.c, stubs.c, table.c, tests.c, tests.h,
-	  timers.c, var.c, version.c, api/array.c, api/class.c, api/env.c,
-	  api/event.c, api/expr.c, api/feat.c, api/modules.c, api/netacl.c,
-	  api/netaddr.c, api/pool.c, api/regexp.c, api/scoreboard.c,
-	  api/sets.c, api/str.c, api/stubs.c, api/table.c, api/tests.c,
-	  api/tests.h, api/timers.c, api/var.c, 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.
+	* 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-10-06 10:20  castaglia
+2008-11-17  castaglia <castaglia>
 
-	* NEWS, src/auth.c:
-	  Bug#3117 - Authentication improperly allowed (Bug#2922
-	  regression).
+	* NEWS: Remove duplicate bug entry.
 
-2008-10-06 08:54  castaglia
+2008-11-17  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.
+	* 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-10-06 08:47  castaglia
+2008-11-17  castaglia <castaglia>
 
-	* contrib/mod_ldap.c:
-	  When mod_ldap is initialized, print out the LDAP vendor and LDAP
-	  API version.
+	* 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-10-06 08:19  jwm
+2008-11-16  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: mod_ldap bzr r58:   typo
+	* NEWS, src/main.c: Bug#3073 - Command arguments not decoded
+	properly in some places.
 
-2008-10-06 08:11  jwm
+2008-11-15  castaglia <castaglia>
 
-	* 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.
+	* configure: Updated configure.
 
-	  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-11-15  castaglia <castaglia>
 
-2008-10-05 18:44  castaglia
+	* RELEASE_NOTES: Mention the change in TimeoutLinger default value
+	in the release notes.
 
-	* 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-11-15  castaglia <castaglia>
 
-2008-10-04 18:48  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.
 
-	* modules/mod_auth_pam.c:
-	  Correct some of the terms in the trace messages from the PAM
-	  conversation callback.
+2008-11-15  castaglia <castaglia>
 
-2008-10-04 16:55  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.
 
-	* modules/mod_auth_pam.c:
-	  Be less strict about AuthPAMOptions, and use case-insensitive
-	  checks.
+2008-11-15  castaglia <castaglia>
 
-2008-10-04 16:23  castaglia
+	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Allow the epsv() method to
+	take an optional protocol number, as allowed in the EPSV command.
 
-	* modules/mod_core.c:
-	  Fix typo which made for a rather confusing comment.
+2008-11-15  castaglia <castaglia>
 
-2008-10-04 15:15  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.
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#3116 - SQLNegativeCache with no group info can cause
-	  segfault.
+2008-11-15  castaglia <castaglia>
 
-2008-10-04 10:14  castaglia
+	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Quell Perl warning about
+	redeclared variable.
 
-	* src/: main.c, 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-11-15  castaglia <castaglia>
 
-2008-10-03 22:43  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.
 
-	* src/class.c:
-	  Tag any pools allocated for class definitions.
+2008-11-15  castaglia <castaglia>
 
-2008-10-03 22:38  castaglia
+	* NEWS, src/data.c, src/netio.c: Bug#3131 - Session process uses
+	100% CPU after aborted transfer.
 
-	* src/pool.c:
-	  Fix the mechanism used to count the number of sub-pools in a
-	  pool; it was not recursing properly.
+2008-11-14  castaglia <castaglia>
 
-2008-10-03 22:23  castaglia
+	* tests/Makefile.in: Fix typo.
 
-	* src/timers.c:
-	  It's high time the Timers API had its own memory pool, rather
-	  than using permanent_pool directly.
+2008-11-14  castaglia <castaglia>
 
-2008-10-03 22:03  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.
 
-	* 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-11-14  castaglia <castaglia>
 
-2008-10-03 22:01  castaglia
+	* NEWS, src/main.c: Bug#3132 - Handling of SIGABRT signal leads to
+	endless loop.
 
-	* src/pool.c:
-	  Prettify, and update, the messages emitted when debugging pool
-	  usage.
+2008-11-14  castaglia <castaglia>
 
-2008-10-03 22:00  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.
 
-	* 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-11-13  castaglia <castaglia>
 
-2008-10-03 21:53  castaglia
+	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Fix the feature-checking
+	code so that tests using a "feature_X" class are properly handled.
 
-	* 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-11-13  castaglia <castaglia>
 
-2008-10-03 21:01  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.
 
-	* src/help.c:
-	  Minor label nit.
+2008-11-12  castaglia <castaglia>
 
-2008-10-03 18:10  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.
 
-	* 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-11-12  castaglia <castaglia>
 
-2008-10-03 16:10  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.
 
-	* 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-11-11  castaglia <castaglia>
 
-2008-10-02 13:53  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.
 
-	* modules/mod_auth.c:
-	  Minor change to test SourceForge's commit mail.
+2008-11-11  castaglia <castaglia>
 
-2008-10-02 10:06  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.
 
-	* 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-11-11  castaglia <castaglia>
 
-2008-10-01 16:30  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.
 
-	* contrib/mod_tls.c:
-	  Minor tweaks to allow TLSPassPhraseProvider to work properly on
-	  Mac OSX.  Shouldn't harm anything.
+2008-11-10  castaglia <castaglia>
 
-2008-09-30 22:49  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.
 
-	* 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-11-10  castaglia <castaglia>
 
-2008-09-30 13:43  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.
 
-	* src/: main.c, trace.c:
-	  Add trace logging of when the various signals are handled.
+2008-11-08  castaglia <castaglia>
 
-	  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.
+	* 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-09-30 01:00  castaglia
+2008-11-08  castaglia <castaglia>
 
-	* contrib/mod_dynmasq.c:
-	  Reduce the log verbosity of mod_dynmasq more, as per user
-	  request.
+	* 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-09-29 16:02  castaglia
+2008-11-08  castaglia <castaglia>
 
-	* src/support.c: [no log message]
+	* 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-09-29 09:07  castaglia
+2008-11-07  castaglia <castaglia>
 
-	* contrib/mod_dynmasq.c:
-	  Change the logging of mod_dynmasq slightly, so that it does not
-	  spam the system log with messages.
+	* 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-09-26 13:57  castaglia
+2008-11-07  castaglia <castaglia>
 
-	* src/response.c:
-	  Add trace logging of the responses that are added, not just when
-	  the responses are flushed to the client.
+	* tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: The STOU tests now
+	pass when run both as root and as non-root.
 
-2008-09-25 15:24  castaglia
+2008-11-07  castaglia <castaglia>
 
-	* src/main.c:
-	  Include the version status (e.g. "CVS", "devel", "stable") in the
-	  -V output, as well as the build timestamp.
+	* tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Update the STOR tests
+	to pass when run as root and as non-root.
 
-2008-09-22 22:52  castaglia
+2008-11-07  castaglia <castaglia>
 
-	* INSTALL:
-	  Update the mailing list info in the INSTALL file.
+	* tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Make sure the RNTO
+	tests pass when run as root and as non-root.
 
-2008-09-22 21:40  castaglia
+2008-11-07  castaglia <castaglia>
 
-	* tests/array.c:
-	  Add unit test for the clear_array() function added in 1.3.2rc2.
+	* tests/t/lib/ProFTPD/Tests/Commands/RMD.pm: Adjust the RMD tests to
+	pass when run as root and as non-root.
 
-2008-09-20 13:18  castaglia
+2008-11-07  castaglia <castaglia>
 
-	* NEWS, src/main.c, src/netio.c:
-	  Bug#3115 - Cross-site request forgery.
+	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Make the RETR tests
+	pass when run as both root and non-root.
 
-2008-09-19 08:39  castaglia
+2008-11-07  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#3114 - Bad handling of uid/gid parameters for CreateHome.
+	* tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Update the NLST tests
+	to pass when run as root and as non-root.
 
-2008-09-17 14:45  castaglia
+2008-11-07  castaglia <castaglia>
 
-	* contrib/mod_sql.c:
-	  Quell a few more compiler warnings about signedness.
+	* 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-09-17 11:36  castaglia
+2008-11-07  castaglia <castaglia>
 
-	* include/version.h:
-	  Bump to RC3 in CVS.
+	* 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-09-17 09:48  castaglia
+2008-11-07  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updated ChangeLog.
+	* 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-09-17 09:47  castaglia
+2008-11-07  castaglia <castaglia>
 
-	* NEWS:
-	  Update release date in NEWS.
+	* tests/t/lib/ProFTPD/Tests/Commands/APPE.pm: Rework the APPE tests
+	so that they always pass, whether run as root or not.
 
-2008-09-17 09:46  castaglia
+2008-11-07  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Preparing for the release of 1.3.2rc2.
+	* doc/howto/Testing.html: Mention that some integration tests are
+	skipped if not run with root privs.
 
-2008-09-16 17:15  castaglia
+2008-11-07  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Update the release notes with the highlights of the upcoming RC2
-	  release.
+	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add a
+	regression test for Bug#2922.
 
-2008-09-12 10:35  castaglia
+2008-11-07  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Minor formatting nit; I prefer to have strings from clients (e.g.
-	  user names) enclosed in quotes.
+	* 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-09-12 10:08  castaglia
+2008-11-06  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#3112 - Uploaded files are not removed if close() fails.
+	* NEWS, src/dirtree.c: Bug#3130 - HideFiles can cause segfault.
 
-2008-09-10 23:12  castaglia
+2008-11-06  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Stir in some additional entropy, using the secret passphrases of
-	  certs as sources.
+	* 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-09-10 19:00  castaglia
+2008-11-06  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.
+	* 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-09-10 18:20  castaglia
+2008-11-06  castaglia <castaglia>
 
-	* contrib/mod_ban.c:
-	  Turns out that Mac OSX has the same semantics, with regard to
-	  reuse of getopt(3), as FreeBSD.
+	* doc/howto/Testing.html: Update the Testing howto to reflect
+	changes made to the 'make check' target.
 
-2008-09-08 23:24  castaglia
+2008-11-06  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.
+	* 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-09-08 21:00  castaglia
+2008-11-06  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).
+	* doc/howto/index.html: Add a link to the Testing howto in the howto
+	index.
 
-2008-09-08 16:49  castaglia
+2008-11-06  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.
+	* doc/howto/Testing.html: The Testing howto is now in a mostly
+	usable form.
 
-2008-09-08 13:56  castaglia
+2008-11-06  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.
+	* 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-09-08 13:54  castaglia
+2008-11-06  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Avoid cleaning up OpenSSL state if mod_sftp is present as well.
+	* tests/api/tests.c: Make sure that the testsuite log name is kept
+	in sync with what is displayed in the error message.
 
-2008-09-08 12:51  jwm
+2008-11-03  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: mod_ldap bzr r55:   high time for a 2.8.19
-	  release
+	* contrib/mod_sql_sqlite.c: Explain why sqlite3_shutdown() is not
+	called when the mod_sql_sqlite module is being unloaded.
 
-2008-09-08 12:40  jwm
+2008-11-03  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: mod_ldap bzr r54:   log message wording fix
+	* contrib/mod_sql_sqlite.c: Stylistic nits; no functional change.
 
-2008-09-08 12:26  jwm
+2008-11-03  castaglia <castaglia>
 
-	* 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)
+	* NEWS, contrib/mod_sql_sqlite.c: Bug#3126 - Segfault in
+	mod_sql_sqlite when user belongs to multiple groups.
 
-2008-09-07 23:52  castaglia
+2008-10-31  castaglia <castaglia>
 
-	* include/pool.h, src/pool.c:
-	  Add a clear_array() function, for clearing/resetting an
-	  array_header.
+	* NEWS, contrib/mod_ldap.c, contrib/mod_sql.c, src/log.c: Bug#2767 -
+	gcc 4.0/amd64 warnings.
 
-2008-09-07 17:47  castaglia
+2008-10-31  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.
+	* NEWS, include/fsio.h, src/fsio.c: Bug#3092 - FSIO API needs
+	mechanism for allowing registered FS handlers to permit atomic
+	renames.
 
-2008-09-07 16:58  castaglia
+2008-10-30  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Refresh the builtin 2048-bit DH group.
+	* 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-09-07 16:42  castaglia
+2008-10-29  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.
+	* RELEASE_NOTES: Start prepping the RC3 release notes.
 
-2008-09-07 16:40  castaglia
+2008-10-28  castaglia <castaglia>
 
-	* src/main.c:
-	  Quell some compiler complaints about formatting.
+	* 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-09-04 09:42  castaglia
+2008-10-28  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.
+	* 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-09-04 09:27  castaglia
+2008-10-28  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#3109 - Errors with file uploads logged but not reported to
-	  clients.
+	* doc/howto/Testing.html: Adding slightly more substance to the
+	Testing howto; hopefully I can muster the motivation to finish it
+	later tonight.
 
-2008-09-03 18:49  castaglia
+2008-10-28  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.
+	* 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-09-03 17:30  castaglia
+2008-10-28  castaglia <castaglia>
 
-	* src/: inet.c, log.c, main.c, scoreboard.c, trace.c:
-	  Change a few more places to using the cached session.pid, if
-	  available.
+	* include/inet.h, src/inet.c: Remove the pr_inet_associate()
+	function; nothing was using it.
 
-2008-09-03 11:19  castaglia
+2008-10-27  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.
+	* NEWS, contrib/mod_sql.c: Bug#3124 - mod_sql improperly substitutes
+	variables in user/group names.
 
-2008-09-03 09:49  castaglia
+2008-10-21  castaglia <castaglia>
 
-	* include/fsio.h, src/fsio.c:
-	  Add a pr_find_fs() function, for retrieving a registered FS
-	  object by name.
+	* configure: Updated configure.
 
-2008-09-02 09:00  castaglia
+2008-10-21  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* NEWS, config.h.in, configure.in, src/encode.c: Bug#3122: iconv()
+	not detected properly on FreeBSD when --enable-nls is used.
 
-2008-09-02 08:54  castaglia
+2008-10-20  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.
+	* tests/t/lib/ProFTPD/Tests/Commands/PASS.pm: Make sure that the
+	PASS unit tests expected the proper response message.
 
-2008-09-01 14:10  castaglia
+2008-10-20  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.
+	* include/glibc-glob.h: Fix compiler detection to deal with other
+	compilers.
 
-2008-09-01 12:26  castaglia
+2008-10-20  castaglia <castaglia>
 
-	* doc/howto/DSO.html:
-	  Updated DSO howto with mention of prxs.
+	* tests/t/config/maxloginattempts.t,
+	tests/t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm,
+	tests/tests.pl: Added unit tests for the MaxLoginAttempts directive.
 
-2008-09-01 12:05  castaglia
+2008-10-20  castaglia <castaglia>
 
-	* NEWS, doc/modules/mod_facts.html, modules/mod_facts.c:
-	  Bug#3108 - Support removing MLST from FEAT list.
+	* 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-08-29 17:11  castaglia
+2008-10-20  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Prettify some of the error messages emitted if the configuration
-	  is not correct.
+	* 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-08-29 17:06  castaglia
+2008-10-19  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Fix typos in fix for Bug#3107.
+	* modules/mod_auth.c: Fixed failed login message to be consistent
+	with other instances of the "Login incorrect" string.
 
-2008-08-29 17:04  castaglia
+2008-10-19  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c, doc/contrib/mod_tls.html:
-	  Bug#3107 - TLSProtocol supports misleading "SSLv23" parameter.
+	* 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-08-29 10:44  castaglia
+2008-10-19  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.
+	* 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-08-27 17:47  castaglia
+2008-10-19  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* 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-08-27 17:06  castaglia
+2008-10-19  castaglia <castaglia>
 
-	* include/data.h:
-	  Update copyright dates in just-modified header.
+	* 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-08-27 17:05  castaglia
+2008-10-19  castaglia <castaglia>
 
-	* NEWS, config.h.in, configure.in, include/data.h, src/data.c:
-	  Bug#3106 - Add support for Mac OSX 10.5 sendfile.
+	* 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-08-27 14:31  castaglia
+2008-10-19  castaglia <castaglia>
 
-	* locale/Makefile.in:
-	  Do not remove the .po files when cleaning the locale/ directory.
+	* tests/t/config/displaylogin.t,
+	tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm, tests/tests.pl: 
+	Added tests for the DisplayLogin directive.
 
-2008-08-27 10:09  jwm
+2008-10-19  castaglia <castaglia>
 
-	* 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?)
+	* tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm: Forgot to
+	clean up a test file that's outside of the tmp/ directory.
 
-2008-08-27 10:09  jwm
+2008-10-19  castaglia <castaglia>
 
-	* 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
+	* 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.
 
-	    proftpd bug 3097
+2008-10-19  castaglia <castaglia>
 
-2008-08-27 10:08  jwm
+	* 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.
 
-	* contrib/mod_ldap.c: use the configured ldap_port in
-	  "connected..." debug message, not LDAP_PORT
+2008-10-18  castaglia <castaglia>
 
-2008-08-27 10:08  jwm
+	* 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.
 
-	* contrib/mod_ldap.c:	* Define LDAP_SCOPE_DEFAULT if not defined
-	  by the SDK, fixing compilation
-	      with (recent?) Sun LDAP headers.
+2008-10-18  castaglia <castaglia>
 
-2008-08-27 10:08  jwm
+	* 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.
 
-	* contrib/mod_ldap.c:	* Fix compilation with old LDAP SDKs
-	  (LDAP_API_VERSION < 2000). Thanks to
-	      Saju Paul <saju.paul at messageway.com>.
+2008-10-18  castaglia <castaglia>
 
-2008-08-25 19:47  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.
 
-	* src/prxs.in:
-	  Add license to prxs.	Support use of LIBTOOL environment variable
-	  to direct prxs to use a different libtool, if necessary.
+2008-10-18  castaglia <castaglia>
 
-2008-08-25 15:32  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.
 
-	* src/inet.c:
-	  Extend the hack used for active ports to Mac OS 10.5 as well.
+2008-10-18  castaglia <castaglia>
 
-2008-08-25 15:22  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Remove copy-n-pasted
+	code from the RETR tests, and make them work more reliably.
 
-	* configure:
-	  Updated configure.
+2008-10-18  castaglia <castaglia>
 
-2008-08-25 15:19  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.
 
-	* 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-10-18  castaglia <castaglia>
 
-2008-08-25 15:16  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.
 
-	* lib/pr-syslog.c:
-	  Extend the fix for Bug#3104 to Mac OS 10.5 (i.e. DARWIN9) as
-	  well.
+2008-10-17  castaglia <castaglia>
 
-2008-08-24 12:57  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.
 
-	* 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-10-17  castaglia <castaglia>
 
-2008-08-23 17:30  castaglia
+	* contrib/mod_wrap2/mod_wrap2.c: Fix Bug#3120 for the
+	WrapGroupTables and WrapUserTables directives as well.
 
-	* NEWS, lib/pr-syslog.c:
-	  Bug#3104 - Syslog logging does not work on Mac OS X.
+2008-10-17  castaglia <castaglia>
 
-2008-08-23 17:23  castaglia
+	* NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#3120 - WrapTables not
+	allowed in <Anonymous> context.
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#2564 - Improper logging of "max connections per host".
+2008-10-16  castaglia <castaglia>
 
-2008-08-23 13:05  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().
 
-	* NEWS, contrib/mod_sql.c, doc/contrib/mod_sql.html:
-	  Bug#2537 - mod_sql does not support %{...}t variable.
+2008-10-15  castaglia <castaglia>
 
-2008-08-22 19:57  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).
 
-	* 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-10-15  castaglia <castaglia>
 
-2008-08-22 19:49  castaglia
+	* configure: Updated configure.
 
-	* lib/libcap/libcap.h:
-	  Fix typo (missing backslash).
+2008-10-15  castaglia <castaglia>
 
-2008-08-22 18:18  castaglia
+	* NEWS, config.h.in, configure.in: Bug#3119 - Search for libcap2 in
+	addition to libcap for mod_cap support.
 
-	* src/display.c:
-	  A temporary pool was being allocated from session.pool for each
-	  Display file, and was not being cleaned up.  Tsk.
+2008-10-15  castaglia <castaglia>
 
-2008-08-22 09:35  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".
 
-	* 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-10-14  castaglia <castaglia>
 
-2008-08-21 00:03  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.
 
-	* NEWS, src/log.c:
-	  Bug#3098 - Socket descriptor leak when using syslog logging,
-	  especially at SyslogLevel 'notice' or higher.
+2008-10-14  castaglia <castaglia>
 
-2008-08-20 11:23  castaglia
+	* contrib/mod_ifsession.c: Fix compilation error.
 
-	* contrib/mod_site_misc.c:
-	  Add signal handling to a while() loop.
+2008-10-14  castaglia <castaglia>
 
-2008-08-20 11:02  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.
 
-	* contrib/mod_load/Makefile.in:
-	  Make the mod_load Makefile consistent with other contrib module
-	  Makefiles.
+2008-10-14  castaglia <castaglia>
 
-2008-08-20 11:00  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.
 
-	* 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-10-14  castaglia <castaglia>
 
-2008-08-18 15:05  castaglia
+	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add a function that
+	encapsulates the server-wait part of the tests, including a timeout.
 
-	* NEWS, modules/mod_core.c, modules/mod_xfer.c:
-	  Bug#3030 - GroupOwner should work for all groups.
+2008-10-14  castaglia <castaglia>
 
-2008-08-18 13:55  castaglia
+	* tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Looks like some of the
+	errno strings differ across platforms and versions.
 
-	* 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-10-14  castaglia <castaglia>
 
-2008-08-18 13:50  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.
 
-	* NEWS, contrib/ftpmail, doc/contrib/ftpmail.html:
-	  Bug#3100 - Support ftpmail options for sending emails only for
-	  specific users.
+2008-10-14  castaglia <castaglia>
 
-2008-08-18 11:52  castaglia
+	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Make sure that lingering
+	processes, if not killed properly, are timed out quickly.
 
-	* doc/howto/Tracing.html:
-	  Mention the new "fileperms" trace log channel in the Trace
-	  logging howto.
+2008-10-13  castaglia <castaglia>
 
-2008-08-18 11:48  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.
 
-	* NEWS, modules/mod_core.c, modules/mod_xfer.c:
-	  Bug#3099 - Add trace logging of filesystem permission errors.
+2008-10-13  castaglia <castaglia>
 
-2008-08-18 11:46  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.
 
-	* contrib/mod_wrap2/.cvsignore:
-	  Ignore autoconf-generated cache file.
+2008-10-13  castaglia <castaglia>
 
-2008-08-15 22:26  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.
 
-	* 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-10-13  castaglia <castaglia>
 
-2008-08-15 20:56  castaglia
+	* modules/mod_core.c: Preserve the actual errno value if the
+	renaming fails; it was getting trounced in subsequent function
+	calls.
 
-	* 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-10-13  castaglia <castaglia>
 
-2008-08-15 16:41  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.
 
-	* src/throttle.c:
-	  Include signal.h, for the signal-masking function declarations.
+2008-10-13  castaglia <castaglia>
 
-2008-08-15 15:16  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.
 
-	* doc/contrib/: index.html, mod_ldap.html:
-	  Start a doc covering the mod_ldap directives.
+2008-10-13  castaglia <castaglia>
 
-2008-08-15 13:15  castaglia
+	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Fixed regex matching of ALLO
+	response code leading digit.
 
-	* configure:
-	  Updated configure.
+2008-10-13  castaglia <castaglia>
 
-2008-08-15 13:13  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.
 
-	* configure.in:
-	  Be sure to include all of the libraries that the proftpd
-	  executable is linked against in the `proftpd -V' output.
+2008-10-13  castaglia <castaglia>
 
-2008-08-15 11:18  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.
 
-	* contrib/mod_sql_sqlite.c:
-	  Log if there was an error closing the SQLite database as well.
+2008-10-13  castaglia <castaglia>
 
-2008-08-15 11:12  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.
 
-	* contrib/mod_sql_sqlite.c:
-	  Log the error, if there is one, when opening the SQLite database
-	  file.
+2008-10-13  castaglia <castaglia>
 
-2008-08-15 09:14  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.
 
-	* 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-10-13  castaglia <castaglia>
 
-2008-08-14 14:23  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.
 
-	* 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-10-13  castaglia <castaglia>
 
-2008-08-12 17:51  castaglia
+	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
+	tests/t/lib/ProFTPD/Tests/Commands.pm: Added tests for the TYPE,
+	MDTM, and SIZE commands.
 
-	* 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-10-13  castaglia <castaglia>
 
-2008-08-12 13:56  castaglia
+	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
+	tests/t/lib/ProFTPD/Tests/Commands.pm: Added tests for the DELE
+	command.
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3095 - TLSPassphraseProvider port number truncated.  Fixed by
-	  using 'sizeof(nbuf)', not 'sizeof(buf)', in the snprintf() call.
+2008-10-12  castaglia <castaglia>
 
-2008-08-12 11:54  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.
 
-	* 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-10-12  castaglia <castaglia>
 
-2008-08-11 13:52  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.
 
-	* 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-10-12  castaglia <castaglia>
 
-2008-08-11 11:39  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.
 
-	* configure:
-	  Updated configure.
+2008-10-12  castaglia <castaglia>
 
-2008-08-11 11:33  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.
 
-	* Make.rules.in, Makefile.in, NEWS, configure.in:
-	  Bug#3074 - Support configure option for pkgconfig .pc file
-	  install location.
+2008-10-12  castaglia <castaglia>
 
-2008-08-10 12:02  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.
 
-	* contrib/mod_sql_sqlite.c:
-	  Use root privs when opening the file configured for SQLite use.
+2008-10-12  castaglia <castaglia>
 
-2008-08-10 11:37  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.
 
-	* configure:
-	  Updated configure.
+2008-10-12  castaglia <castaglia>
 
-2008-08-10 11:29  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.
 
-	* 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-10-11  castaglia <castaglia>
 
-2008-08-06 11:00  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.
 
-	* contrib/mod_tls.c:
-	  Quell a compiler warning about signedness with an explicit cast.
+2008-10-11  castaglia <castaglia>
 
-2008-08-06 10:00  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.
 
-	* 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-10-11  castaglia <castaglia>
 
-2008-08-06 09:57  castaglia
+	* modules/mod_facts.c: Fixed bug handling the MFMT command; found by
+	a user in the online forums.
 
-	* configure:
-	  Updated configure.
+2008-10-08  castaglia <castaglia>
 
-2008-08-06 09:55  castaglia
+	* doc/howto/Translations.html, doc/howto/index.html: Adding a
+	Translation mini-howto.
 
-	* 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-10-07  castaglia <castaglia>
 
-2008-07-30 09:37  castaglia
+	* doc/modules/mod_lang.html: Typo.
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3094 - Perform unidirectional SSL/TLS shutdown on data
-	  connections.
+2008-10-07  castaglia <castaglia>
 
-2008-07-17 14:01  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.
 
-	* NEWS, contrib/mod_quotatab.c:
-	  Bug#3036 - Quota information not persisted if session ends
-	  abruptly.
+2008-10-07  castaglia <castaglia>
 
-2008-07-17 13:51  castaglia
+	* tests/api/.cvsignore: Add .cvsignore file for the new tests/api/
+	directory.
 
-	* contrib/mod_quotatab.h:
-	  Remove stale and misleading comment; confstreams were an
-	  interesting idea, but will not be added.
+2008-10-07  castaglia <castaglia>
 
-2008-07-16 14:38  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.
 
-	* doc/modules/mod_cap.html:
-	  Add a FAQ about the libcap1 warning (regarding 32-bit
-	  capabilities), and how to address the warning.
+2008-10-06  castaglia <castaglia>
 
-2008-06-18 20:22  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.
 
-	* modules/mod_auth.c:
-	  Replace the specific "FTP login timed out" with the more generic
-	  "Session timed out".
+2008-10-06  castaglia <castaglia>
 
-2008-06-18 10:29  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.
 
-	* NEWS, modules/mod_core.c:
-	  Bug#3077 - Transparently handle the X-variant commands when
-	  checking <Limit> permissions.
+2008-10-06  castaglia <castaglia>
 
-2008-06-16 18:01  castaglia
+	* NEWS, src/auth.c: Bug#3117 - Authentication improperly allowed
+	(Bug#2922 regression).
 
-	* include/compat.h:
-	  Minor formatting change, no functional change.
+2008-10-06  castaglia <castaglia>
 
-2008-06-16 14:56  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.
 
-	* 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-10-06  castaglia <castaglia>
 
-2008-06-16 09:43  castaglia
+	* contrib/mod_ldap.c: When mod_ldap is initialized, print out the
+	LDAP vendor and LDAP API version.
 
-	* src/main.c:
-	  Always remove the scoreboard entry when handling a termination
-	  signal, not just when we receive SIGSEGV.
+2008-10-06  jwm <jwm>
 
-2008-06-16 09:25  castaglia
+	* contrib/mod_ldap.c: mod_ldap bzr r58:   typo
 
-	* 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-10-06  jwm <jwm>
 
-2008-06-16 09:21  castaglia
+	* 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
 
-	* contrib/mod_ban.c:
-	  Update to use newer PR_LOG_ macros.
+2008-10-06  castaglia <castaglia>
 
-2008-06-13 19:40  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.
 
-	* 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-10-05  castaglia <castaglia>
 
-2008-06-13 18:26  castaglia
+	* modules/mod_auth_pam.c: Correct some of the terms in the trace
+	messages from the PAM conversation callback.
 
-	* tests/str.c:
-	  Add unit test for the pr_str_get_word() function.
+2008-10-04  castaglia <castaglia>
 
-2008-06-13 18:13  castaglia
+	* modules/mod_auth_pam.c: Be less strict about AuthPAMOptions, and
+	use case-insensitive checks.
 
-	* 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-10-04  castaglia <castaglia>
 
-2008-06-13 17:28  castaglia
+	* modules/mod_core.c: Fix typo which made for a rather confusing
+	comment.
 
-	* tests/: modules.c, tests.h:
-	  Fill in unit tests for the Module API functions.
+2008-10-04  castaglia <castaglia>
 
-2008-06-13 17:27  castaglia
+	* NEWS, contrib/mod_sql.c: Bug#3116 - SQLNegativeCache with no group
+	info can cause segfault.
 
-	* src/modules.c:
-	  Clean up a few more style nits, and guard against bad arguments,
-	  in the Module API.
+2008-10-04  castaglia <castaglia>
 
-2008-06-13 16:23  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.
 
-	* tests/modules.c:
-	  Add unit tests for the Stash API.
+2008-10-04  castaglia <castaglia>
 
-2008-06-13 16:22  castaglia
+	* src/class.c: Tag any pools allocated for class definitions.
 
-	* src/modules.c:
-	  Fix a few minor bugs and nits in the Stash API, discovered while
-	  writing unit tests for those functions.
+2008-10-04  castaglia <castaglia>
 
-2008-06-13 11:36  castaglia
+	* src/pool.c: Fix the mechanism used to count the number of
+	sub-pools in a pool; it was not recursing properly.
 
-	* tests/: .cvsignore, 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-10-04  castaglia <castaglia>
 
-2008-06-13 11:34  castaglia
+	* src/timers.c: It's high time the Timers API had its own memory
+	pool, rather than using permanent_pool directly.
 
-	* 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-10-04  castaglia <castaglia>
 
-2008-06-12 18:30  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.
 
-	* tests/: Makefile.in, modules.c, stubs.c, tests.c, tests.h:
-	  Add stubs for units tests for the APIs (stash, module) in the
-	  modules.c source file.
+2008-10-04  castaglia <castaglia>
 
-2008-06-12 15:57  castaglia
+	* src/pool.c: Prettify, and update, the messages emitted when
+	debugging pool usage.
 
-	* 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-10-04  castaglia <castaglia>
 
-2008-06-12 14:29  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.
 
-	* tests/scoreboard.c:
-	  Fill in the remaining unit tests for the Scoreboard API.
+2008-10-04  castaglia <castaglia>
 
-2008-06-12 14:19  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.
 
-	* 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-10-04  castaglia <castaglia>
 
-2008-06-12 10:05  castaglia
+	* src/help.c: Minor label nit.
 
-	* contrib/mod_load/: .cvsignore, mod_load.c.in:
-	  Fix function definition.  Add more entries of autogenerated
-	  files, to be ignored by CVS.
+2008-10-04  castaglia <castaglia>
 
-2008-06-10 20:48  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.
 
-	* tests/.cvsignore:
-	  More files to be ignored by CVS in the tests/ directory.
+2008-10-03  castaglia <castaglia>
 
-2008-06-10 20:48  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.
 
-	* tests/scoreboard.c:
-	  Fill in more of the unit tests for the Scoreboard API.
+2008-10-02  castaglia <castaglia>
 
-2008-06-10 20:47  castaglia
+	* modules/mod_auth.c: Minor change to test SourceForge's commit
+	mail.
 
-	* src/scoreboard.c:
-	  Fix some minor bugs found in the Scoreboard API while working on
-	  unit tests.
+2008-10-02  castaglia <castaglia>
 
-2008-06-10 09:29  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.
 
-	* 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-10-01  castaglia <castaglia>
 
-2008-06-05 17:47  castaglia
+	* contrib/mod_tls.c: Minor tweaks to allow TLSPassPhraseProvider to
+	work properly on Mac OSX.  Shouldn't harm anything.
 
-	* src/scoreboard.c:
-	  Add better argument checking in pr_set_scoreboard().
+2008-10-01  castaglia <castaglia>
 
-2008-06-05 17:46  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.
 
-	* tests/: Makefile.in, scoreboard.c, stubs.c, tests.c, tests.h:
-	  Start writing unit tests for the Scoreboard API.
+2008-09-30  castaglia <castaglia>
 
-2008-06-05 17:43  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.
 
-	* tests/sets.c:
-	  Avoid a compiler warning about a shadowed variable in the
-	  testsuite.
+2008-09-30  castaglia <castaglia>
 
-2008-06-05 14:34  castaglia
+	* contrib/mod_dynmasq.c: Reduce the log verbosity of mod_dynmasq
+	more, as per user request.
 
-	* 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-09-29  castaglia <castaglia>
 
-2008-06-05 09:48  castaglia
+	* src/support.c: [no log message]
 
-	* tests/stubs.c:
-	  Forgot to include these variables for unit tests.
+2008-09-29  castaglia <castaglia>
 
-2008-06-05 01:02  castaglia
+	* contrib/mod_dynmasq.c: Change the logging of mod_dynmasq slightly,
+	so that it does not spam the system log with messages.
 
-	* tests/str.c:
-	  Add unit tests for the newly added functions to the String API.
+2008-09-26  castaglia <castaglia>
 
-2008-06-05 01:01  castaglia
+	* src/response.c: Add trace logging of the responses that are added,
+	not just when the responses are flushed to the client.
 
-	* 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-09-25  castaglia <castaglia>
 
-2008-06-05 00:48  castaglia
+	* src/main.c: Include the version status (e.g. "CVS", "devel",
+	"stable") in the -V output, as well as the build timestamp.
 
-	* src/throttle.c:
-	  Make sure to explicit require a TRUE return value from the
-	  pr_expr_* calls.
+2008-09-23  castaglia <castaglia>
 
-2008-06-05 00:42  castaglia
+	* INSTALL: Update the mailing list info in the INSTALL file.
 
-	* tests/: Makefile.in, expr.c, regexp.c, tests.c, tests.h:
-	  Add unit tests for the Regexp API, and unit test stubs for the
-	  Expression API.
+2008-09-23  castaglia <castaglia>
 
-2008-06-04 21:13  castaglia
+	* tests/array.c: Add unit test for the clear_array() function added
+	in 1.3.2rc2.
 
-	* src/: class.c, netacl.c:
-	  Bug#3083 - Multiple issues with handling of <Class> definitions.
+2008-09-20  castaglia <castaglia>
 
-2008-06-04 21:11  castaglia
+	* NEWS, src/main.c, src/netio.c: Bug#3115 - Cross-site request
+	forgery.
 
-	* tests/: Makefile.in, class.c, netacl.c, tests.c, tests.h:
-	  Added unit tests for the NetACL and Class APIs.
+2008-09-19  castaglia <castaglia>
 
-2008-06-04 21:02  castaglia
+	* NEWS, modules/mod_auth.c: Bug#3114 - Bad handling of uid/gid
+	parameters for CreateHome.
 
-	* doc/howto/Classes.html:
-	  Add more material to the Classes howto, covering the Satisfy
-	  directive and giving some examples.
+2008-09-17  castaglia <castaglia>
 
-2008-06-04 20:00  castaglia
+	* contrib/mod_sql.c: Quell a few more compiler warnings about
+	signedness.
 
-	* 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-09-17  castaglia <castaglia>
 
-2008-06-04 18:57  castaglia
+	* include/version.h: Bump to RC3 in CVS.
 
-	* 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-09-17  castaglia <castaglia>
 
-2008-06-04 15:43  castaglia
+	* ChangeLog: Updated ChangeLog.
 
-	* 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-09-17  castaglia <castaglia>
 
-2008-06-02 15:29  castaglia
+	* NEWS: Update release date in NEWS.
 
-	* NEWS, doc/howto/Tracing.html, src/trace.c:
-	  Bug#3082 - Use "DEFAULT" keyword instead of "ALL" for Trace
-	  directive.
+2008-09-17  castaglia <castaglia>
 
-2008-05-20 07:35  castaglia
+	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing for
+	the release of 1.3.2rc2.
 
-	* 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-09-17  castaglia <castaglia>
 
-2008-05-17 13:05  castaglia
+	* RELEASE_NOTES: Update the release notes with the highlights of the
+	upcoming RC2 release.
 
-	* src/throttle.c:
-	  Make sure that the signal-handling functions (e.g. sigemptyset())
-	  can be properly found on some platforms (e.g. Solaris).
+2008-09-12  castaglia <castaglia>
 
-2008-05-14 19:51  castaglia
+	* modules/mod_auth.c: Minor formatting nit; I prefer to have strings
+	from clients (e.g. user names) enclosed in quotes.
 
-	* modules/mod_core.c:
-	  Make sure that we honor the TimeoutIdle directive *before*
-	  authentication, as well as after.
+2008-09-12  castaglia <castaglia>
 
-2008-05-13 22:51  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#3112 - Uploaded files are not
+	removed if close() fails.
 
-	* 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-09-11  castaglia <castaglia>
 
-2008-05-12 22:41  castaglia
+	* contrib/mod_tls.c: Stir in some additional entropy, using the
+	secret passphrases of certs as sources.
 
-	* 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.
+2008-09-11  castaglia <castaglia>
 
-	  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().
+	* 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-05-12 10:22  castaglia
+2008-09-11  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.
+	* contrib/mod_ban.c: Turns out that Mac OSX has the same semantics,
+	with regard to reuse of getopt(3), as FreeBSD.
 
-2008-05-12 10:16  castaglia
+2008-09-09  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* modules/Makefile.in: Cycle through a single combined list of
+	subdirectories in which to invoke the `install' target, rather than
+	two separate lists.
 
-2008-05-12 10:11  castaglia
+2008-09-09  castaglia <castaglia>
 
-	* configure.in, modules/mod_dso.c:
-	  Make sure we use the libltdl shipped with proftpd, not the system
-	  libltdl.
+	* 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-05-11 18:23  castaglia
+2008-09-08  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Found more while loops without signal handling.  Tsk tsk.
+	* 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-05-11 13:40  castaglia
+2008-09-08  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.
+	* 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-05-10 19:36  castaglia
+2008-09-08  castaglia <castaglia>
 
-	* src/main.c:
-	  Make a lowercased version of the protocol name, in
-	  set_protocol_name(), for use in the WtmpLog entry.
+	* contrib/mod_tls.c: Avoid cleaning up OpenSSL state if mod_sftp is
+	present as well.
 
-2008-05-08 08:28  castaglia
+2008-09-08  jwm <jwm>
 
-	* modules/mod_core.c:
-	  As it turns out, the <Limit> section can handles commands for
-	  more than just FTP.
+	* contrib/mod_ldap.c: mod_ldap bzr r55:   high time for a 2.8.19 release
 
-2008-05-08 08:06  castaglia
+2008-09-08  jwm <jwm>
 
-	* contrib/mod_load/mod_load.c.in:
-	  Mark a string used by mod_load as localisable.
+	* contrib/mod_ldap.c: mod_ldap bzr r54:   log message wording fix
 
-2008-05-07 23:49  castaglia
+2008-09-08  jwm <jwm>
 
-	* 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.
+	* 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-05-07 23:16  castaglia
+2008-09-08  castaglia <castaglia>
 
-	* src/main.c:
-	  Stylistic nits, no functional change.
+	* include/pool.h, src/pool.c: Add a clear_array() function, for
+	clearing/resetting an array_header.
 
-2008-05-07 22:29  castaglia
+2008-09-08  castaglia <castaglia>
 
-	* src/main.c:
-	  Always have signal handling in while loops.
+	* 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-05-07 08:14  castaglia
+2008-09-07  castaglia <castaglia>
 
-	* NEWS, contrib/dist/rpm/proftpd.spec:
-	  Bug#3076 - RPM build failing on 64 bit OS due to incomplete
-	  .spec.
+	* contrib/mod_tls.c: Refresh the builtin 2048-bit DH group.
 
-2008-05-06 10:42  castaglia
+2008-09-07  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.
+	* 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-05-06 10:01  castaglia
+2008-09-07  castaglia <castaglia>
 
-	* doc/howto/Authentication.html:
-	  Typo.
+	* src/main.c: Quell some compiler complaints about formatting.
 
-2008-05-06 09:33  castaglia
+2008-09-04  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* src/encode.c: If the selected locale does not support the Telnet
+	IAC character, be sure that the toggled setting is not overwritten.
 
-2008-05-06 09:30  castaglia
+2008-09-04  castaglia <castaglia>
 
-	* configure.in, config.h.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.
+	* NEWS, modules/mod_xfer.c: Bug#3109 - Errors with file uploads
+	logged but not reported to clients.
 
-	  Update the mod_facts and mod_site_misc modules, which used
-	  utime(2) directly, to call these new FSIO APIs.
+2008-09-04  castaglia <castaglia>
 
-2008-05-06 00:23  castaglia
+	* src/parser.c: Get rid of small function that is only used in one
+	place; simply move the code into the calling function.
 
-	* 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-09-04  castaglia <castaglia>
 
-2008-05-05 22:19  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.
 
-	* 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-09-03  castaglia <castaglia>
 
-2008-05-05 22:17  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.
 
-	* src/main.c:
-	  If sending responses in pr_cmd_dispatch_phase(), be sure to flush
-	  the correct response chain.
+2008-09-03  castaglia <castaglia>
 
-2008-05-05 22:13  castaglia
+	* include/fsio.h, src/fsio.c: Add a pr_find_fs() function, for
+	retrieving a registered FS object by name.
 
-	* 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-09-02  castaglia <castaglia>
 
-2008-05-05 21:31  castaglia
+	* configure: Updated configure.
 
-	* 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.
+2008-09-02  castaglia <castaglia>
 
-	  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.
+	* 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-05-05 21:11  castaglia
+2008-09-01  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.
+	* 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-04-28 08:14  castaglia
+2008-09-01  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.
+	* doc/howto/DSO.html: Updated DSO howto with mention of prxs.
 
-2008-04-25 17:20  castaglia
+2008-09-01  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.
+	* NEWS, doc/modules/mod_facts.html, modules/mod_facts.c: Bug#3108 -
+	Support removing MLST from FEAT list.
 
-2008-04-25 09:41  castaglia
+2008-08-30  castaglia <castaglia>
 
-	* NEWS, locale/Makefile.in, locale/zh_CN.po:
-	  Adding Chinese translation.
+	* contrib/mod_tls.c: Prettify some of the error messages emitted if
+	the configuration is not correct.
 
-2008-04-17 18:18  castaglia
+2008-08-30  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* contrib/mod_tls.c: Fix typos in fix for Bug#3107.
 
-2008-04-17 18:14  castaglia
+2008-08-30  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.
+	* NEWS, contrib/mod_tls.c, doc/contrib/mod_tls.html: Bug#3107 -
+	TLSProtocol supports misleading "SSLv23" parameter.
 
-2008-04-16 19:13  castaglia
+2008-08-29  castaglia <castaglia>
 
-	* NEWS:
-	  Had wrong bug number for IPv6-by-default change.
+	* 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-04-16 19:11  castaglia
+2008-08-28  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* configure: Updated configure.
 
-2008-04-16 19:06  castaglia
+2008-08-28  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.
+	* include/data.h: Update copyright dates in just-modified header.
 
-2008-04-16 09:27  castaglia
+2008-08-28  castaglia <castaglia>
 
-	* NEWS:
-	  Forgot to mention the release date for 1.3.2rc1 in the NEWS file.
+	* NEWS, config.h.in, configure.in, include/data.h, src/data.c: 
+	Bug#3106 - Add support for Mac OSX 10.5 sendfile.
 
-2008-04-16 09:26  castaglia
+2008-08-27  castaglia <castaglia>
 
-	* include/version.h:
-	  Update version for CVS.
+	* locale/Makefile.in: Do not remove the .po files when cleaning the
+	locale/ directory.
 
-2008-04-15 19:06  castaglia
+2008-08-27  jwm <jwm>
 
-	* Makefile.in:
-	  Clean up the locale/Makefile when handling the 'distclean'
-	  target.
+	* 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-04-15 17:30  castaglia
+2008-08-27  jwm <jwm>
 
-	* ChangeLog:
-	  Updating ChangeLog.
+	* 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-04-15 17:29  castaglia
+2008-08-27  jwm <jwm>
 
-	* contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Preparing to release 1.3.2rc1.
+	* contrib/mod_ldap.c: use the configured ldap_port in "connected..."
+	debug message, not LDAP_PORT
 
-2008-04-15 17:26  castaglia
+2008-08-27  jwm <jwm>
 
-	* 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.
+	* contrib/mod_ldap.c:   * Define LDAP_SCOPE_DEFAULT if not defined by the SDK, fixing
+	    compilation with (recent?) Sun LDAP headers.
 
-2008-04-15 15:38  castaglia
+2008-08-27  jwm <jwm>
 
-	* 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.
+	* contrib/mod_ldap.c:   * Fix compilation with old LDAP SDKs (LDAP_API_VERSION < 2000).
+	    Thanks to Saju Paul <saju.paul at messageway.com>.
 
-2008-04-15 13:51  castaglia
+2008-08-26  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Updating release notes.
+	* src/prxs.in: Add license to prxs.  Support use of LIBTOOL
+	environment variable to direct prxs to use a different libtool, if
+	necessary.
 
-2008-04-11 18:07  castaglia
+2008-08-25  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.
+	* src/inet.c: Extend the hack used for active ports to Mac OS 10.5
+	as well.
 
-2008-04-10 08:04  castaglia
+2008-08-25  castaglia <castaglia>
 
-	* doc/howto/Limit.html:
-	  Mention that within <Limit> sections, limits are applied only
-	  based on names, not on IDs.
+	* configure: Updated configure.
 
-2008-04-09 10:03  castaglia
+2008-08-25  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.
+	* 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-04-08 16:34  castaglia
+2008-08-25  castaglia <castaglia>
 
-	* locale/it_IT.po:
-	  Updated Italian translation.
+	* lib/pr-syslog.c: Extend the fix for Bug#3104 to Mac OS 10.5 (i.e.
+	DARWIN9) as well.
 
-2008-04-05 14:05  castaglia
+2008-08-24  castaglia <castaglia>
 
-	* locale/proftpd.pot:
-	  Fill in some descriptive details in the .pot file header.
+	* 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-04-05 13:47  castaglia
+2008-08-24  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* NEWS, lib/pr-syslog.c: Bug#3104 - Syslog logging does not work on
+	Mac OS X.
 
-2008-04-05 13:44  castaglia
+2008-08-24  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).
+	* NEWS, modules/mod_auth.c: Bug#2564 - Improper logging of "max
+	connections per host".
 
-2008-04-05 12:46  castaglia
+2008-08-23  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.
+	* NEWS, contrib/mod_sql.c, doc/contrib/mod_sql.html: Bug#2537 -
+	mod_sql does not support %{...}t variable.
 
-2008-04-04 20:22  castaglia
+2008-08-23  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.
+	* 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-04-04 20:11  castaglia
+2008-08-23  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.
+	* lib/libcap/libcap.h: Fix typo (missing backslash).
 
-2008-04-04 18:56  castaglia
+2008-08-23  castaglia <castaglia>
 
-	* locale/Makefile.in:
-	  Make sure that all .po files pass the msgfmt format check.
+	* src/display.c: A temporary pool was being allocated from
+	session.pool for each Display file, and was not being cleaned up.
+	Tsk.
 
-2008-04-04 18:39  castaglia
+2008-08-22  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.
+	* 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-04-04 18:29  castaglia
+2008-08-21  castaglia <castaglia>
 
-	* locale/: en.po, it.po:
-	  Remove the vestiges of the renamed .po files.
+	* NEWS, src/log.c: Bug#3098 - Socket descriptor leak when using
+	syslog logging, especially at SyslogLevel 'notice' or higher.
 
-2008-04-04 18:26  castaglia
+2008-08-20  castaglia <castaglia>
 
-	* locale/: Makefile.in, en_US.po, 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.
+	* contrib/mod_site_misc.c: Add signal handling to a while() loop.
 
-2008-04-04 18:03  castaglia
+2008-08-20  castaglia <castaglia>
 
-	* locale/proftpd.pot:
-	  Updated proftpd.pot to reflect changed line numbers.
+	* contrib/mod_load/Makefile.in: Make the mod_load Makefile
+	consistent with other contrib module Makefiles.
 
-2008-04-04 18:01  castaglia
+2008-08-20  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().
+	* 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-04-04 17:49  castaglia
+2008-08-18  castaglia <castaglia>
 
-	* locale/it.po:
-	  Fix msgfmt format check warning in it.po.
+	* NEWS, modules/mod_core.c, modules/mod_xfer.c: Bug#3030 -
+	GroupOwner should work for all groups.
 
-2008-04-04 14:14  castaglia
+2008-08-18  castaglia <castaglia>
 
-	* locale/proftpd.pot:
-	  Update proftpd.pot with the strings to be translated from
-	  mod_quotatab.
+	* 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-04-04 14:13  castaglia
+2008-08-18  castaglia <castaglia>
 
-	* contrib/mod_quotatab.c:
-	  Tag a few more strings that need to be translated, when
-	  displaying quota limit/tallies to clients.
+	* NEWS, contrib/ftpmail, doc/contrib/ftpmail.html: Bug#3100 -
+	Support ftpmail options for sending emails only for specific users.
 
-2008-04-04 11:37  castaglia
+2008-08-18  castaglia <castaglia>
 
-	* locale/: Makefile.in, en.po, it.po:
-	  Add it.po (courtesy of Frankie) and en.po for default
-	  translations.
+	* doc/howto/Tracing.html: Mention the new "fileperms" trace log
+	channel in the Trace logging howto.
 
-2008-04-04 10:52  castaglia
+2008-08-18  castaglia <castaglia>
 
-	* locale/: Makefile.in, files.txt, proftpd.pot:
-	  Update the list of files to include contrib modules, and updated
-	  the .pot file accordingly.
+	* NEWS, modules/mod_core.c, modules/mod_xfer.c: Bug#3099 - Add trace
+	logging of filesystem permission errors.
 
-2008-04-04 10:47  castaglia
+2008-08-18  castaglia <castaglia>
 
-	* contrib/: mod_quotatab.c, mod_radius.c, mod_readme.c,
-	  mod_site_misc.c, mod_tls.c, mod_wrap2/mod_wrap2.c:
-	  Add tags for the response strings which need to be
-	  localised/translated in the contrib modules.
+	* contrib/mod_wrap2/.cvsignore: Ignore autoconf-generated cache
+	file.
 
-2008-04-04 10:44  castaglia
+2008-08-16  castaglia <castaglia>
 
-	* contrib/mod_wrap2/.cvsignore:
-	  More files to be ignored by CVS.
+	* 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-04-04 10:21  castaglia
+2008-08-16  castaglia <castaglia>
 
-	* modules/mod_lang.c:
-	  Delay the call to setlocale() until the postparse event, after we
-	  have called bindtextdomain().
+	* 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-04-04 10:16  castaglia
+2008-08-15  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.
+	* src/throttle.c: Include signal.h, for the signal-masking function
+	declarations.
 
-2008-04-03 18:13  castaglia
+2008-08-15  castaglia <castaglia>
 
-	* locale/Makefile.in:
-	  When installing locale .mo files, actually do the installation
-	  into the proper directory structure.
+	* doc/contrib/index.html, doc/contrib/mod_ldap.html: Start a doc
+	covering the mod_ldap directives.
 
-2008-04-03 18:12  castaglia
+2008-08-15  castaglia <castaglia>
 
-	* modules/mod_lang.c:
-	  When requesting a locale change, it helps to actually use the
-	  locale provided by the caller.  Sheesh.
+	* configure: Updated configure.
 
-2008-04-03 18:01  castaglia
+2008-08-15  castaglia <castaglia>
 
-	* modules/mod_lang.c:
-	  Hook up handling of LangPath and LangDefault, and start trying to
-	  actually use the configured locale message catalogs.
+	* configure.in: Be sure to include all of the libraries that the
+	proftpd executable is linked against in the `proftpd -V' output.
 
-2008-04-03 15:08  castaglia
+2008-08-15  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* contrib/mod_sql_sqlite.c: Log if there was an error closing the
+	SQLite database as well.
 
-2008-04-03 15:01  castaglia
+2008-08-15  castaglia <castaglia>
 
-	* configure.in:
-	  Fix the handling of the PR_LOCALE_DIR macro, so that it properly
-	  substitutes the variables.
+	* contrib/mod_sql_sqlite.c: Log the error, if there is one, when
+	opening the SQLite database file.
 
-2008-04-03 10:50  castaglia
+2008-08-15  castaglia <castaglia>
 
-	* locale/: Makefile.in, proftpd.pot:
-	  Provide a .pot file as a starting point for translators.
+	* 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-04-03 09:03  castaglia
+2008-08-14  castaglia <castaglia>
 
-	* locale/Makefile.in:
-	  Older msginit versions do not support the --sort-by-file option.
-	  Also, do not run msgfmt if msginit fails.
+	* 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-04-03 08:56  castaglia
+2008-08-13  castaglia <castaglia>
 
-	* locale/.cvsignore:
-	  Ignore a few other generated files in the locale/ directory.
+	* 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-04-03 08:55  castaglia
+2008-08-12  castaglia <castaglia>
 
-	* locale/files.txt:
-	  Update the list of files from which to extract strings via
-	  xgettext.
+	* NEWS, contrib/mod_tls.c: Bug#3095 - TLSPassphraseProvider port
+	number truncated.  Fixed by using 'sizeof(nbuf)', not 'sizeof(buf)',
+	in the snprintf() call.
 
-2008-04-02 20:21  castaglia
+2008-08-12  castaglia <castaglia>
 
-	* src/encode.c:
-	  Fix typo which breaks the solution for Bug#3064.
+	* 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-04-02 20:18  castaglia
+2008-08-11  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.
+	* 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-04-02 20:14  castaglia
+2008-08-11  castaglia <castaglia>
 
-	* NEWS, include/encode.h, src/encode.c, src/netio.c:
-	  Bug#3064 - Better handling of 0xFF character for Cyrillic,
-	  non-UTF8 charsets.
+	* configure: Updated configure.
 
-2008-04-02 19:33  castaglia
+2008-08-11  castaglia <castaglia>
 
-	* modules/mod_lang.c:
-	  Bug#3063 - proftpd fails to start if LC_ALL environment variable
-	  is wrong.
+	* Make.rules.in, Makefile.in, NEWS, configure.in: Bug#3074 - Support
+	configure option for pkgconfig .pc file install location.
 
-2008-04-02 19:02  castaglia
+2008-08-10  castaglia <castaglia>
 
-	* NEWS:
-	  Bug#3056 - Support non-UTF8 encoding and character sets.
+	* contrib/mod_sql_sqlite.c: Use root privs when opening the file
+	configured for SQLite use.
 
-2008-04-02 18:57  castaglia
+2008-08-10  castaglia <castaglia>
 
-	* doc/howto/Tracing.html:
-	  The log channel name changed from "utf8" to "encode".
+	* configure: Updated configure.
 
-2008-04-02 18:54  castaglia
+2008-08-10  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.
+	* 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-04-02 18:34  castaglia
+2008-08-06  castaglia <castaglia>
 
-	* Make.rules.in, include/conf.h, include/encode.h, include/fsio.h,
-	  include/utf8.h, modules/mod_core.c, modules/mod_lang.c,
-	  src/encode.c, src/fsio.c, src/main.c, src/trace.c, src/utf8.c:
-	  Bug#3056 - Support non-UTF8 encoding and character sets.
+	* contrib/mod_tls.c: Quell a compiler warning about signedness with
+	an explicit cast.
 
-2008-03-31 18:15  castaglia
+2008-08-06  castaglia <castaglia>
 
-	* doc/: contrib/mod_quotatab.html, 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).
+	* 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-03-27 11:28  castaglia
+2008-08-06  castaglia <castaglia>
 
-	* src/scoreboard.c:
-	  In addition to logging the PID of the blocking lock owner, log
-	  the type of blocking lock (read/write).
+	* configure: Updated configure.
 
-2008-03-26 23:24  castaglia
+2008-08-06  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.
+	* 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-03-26 23:04  castaglia
+2008-07-30  castaglia <castaglia>
 
-	* contrib/mod_wrap2_sql.c:
-	  Replace some "magic numbers" with macros, and increase
-	  legibility.
+	* NEWS, contrib/mod_tls.c: Bug#3094 - Perform unidirectional SSL/TLS
+	shutdown on data connections.
 
-2008-03-26 19:30  castaglia
+2008-07-17  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.
+	* NEWS, contrib/mod_quotatab.c: Bug#3036 - Quota information not
+	persisted if session ends abruptly.
 
-2008-03-26 19:06  castaglia
+2008-07-17  castaglia <castaglia>
 
-	* contrib/mod_wrap2_sql.c:
-	  Clear up a temporary pool before exiting early.
+	* contrib/mod_quotatab.h: Remove stale and misleading comment;
+	confstreams were an interesting idea, but will not be added.
 
-2008-03-26 18:57  castaglia
+2008-07-16  castaglia <castaglia>
 
-	* contrib/mod_wrap2/mod_wrap2.c:
-	  Quell compiler warning about partially-declared callback function
-	  signature.
+	* doc/modules/mod_cap.html: Add a FAQ about the libcap1 warning
+	(regarding 32-bit capabilities), and how to address the warning.
 
-2008-03-26 18:47  castaglia
+2008-06-19  castaglia <castaglia>
 
-	* NEWS, contrib/mod_quotatab_sql.c:
-	  Bug#3061 - Segfault in mod_quotatab_sql if the SQL query returns
-	  NULL bytes/files values.
+	* modules/mod_auth.c: Replace the specific "FTP login timed out"
+	with the more generic "Session timed out".
 
-2008-03-26 18:00  castaglia
+2008-06-18  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.
+	* NEWS, modules/mod_core.c: Bug#3077 - Transparently handle the
+	X-variant commands when checking <Limit> permissions.
 
-2008-03-26 15:33  castaglia
+2008-06-17  castaglia <castaglia>
 
-	* src/scoreboard.c:
-	  Add trace logging of scoreboard locking.
+	* include/compat.h: Minor formatting change, no functional change.
 
-2008-03-26 14:13  castaglia
+2008-06-16  castaglia <castaglia>
 
-	* src/scoreboard.c, utils/scoreboard.c:
-	  Bug#3057 - ftptop can lock scoreboard, blocking proftpd.  Try not
-	  to lock as aggressively in ftptop.
+	* 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-03-25 15:20  castaglia
+2008-06-16  castaglia <castaglia>
 
-	* NEWS, src/utf8.c:
-	  Bug#3059 - Wrong handling of UTF8 conversions.
+	* src/main.c: Always remove the scoreboard entry when handling a
+	termination signal, not just when we receive SIGSEGV.
 
-2008-03-25 10:14  castaglia
+2008-06-16  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c:
-	  Bug#3058 - Handling of OPTS command results in badly set values
-	  in code.
+	* 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-03-21 14:01  castaglia
+2008-06-16  castaglia <castaglia>
 
-	* tests/tests.c:
-	  Clarify that the tests.log file can be found in the tests/
-	  directory.
+	* contrib/mod_ban.c: Update to use newer PR_LOG_ macros.
 
-2008-03-20 14:56  castaglia
+2008-06-14  castaglia <castaglia>
 
-	* src/netaddr.c:
-	  Unit tests caught regression where a NULL buffer was not being
-	  checked properly.  Yay unit testing!
+	* 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-03-20 14:17  castaglia
+2008-06-14  castaglia <castaglia>
 
-	* .cvsignore:
-	  Ignore the generated proftpd.pc file.
+	* tests/str.c: Add unit test for the pr_str_get_word() function.
 
-2008-03-19 14:16  castaglia
+2008-06-14  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.
+	* 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-03-19 14:01  castaglia
+2008-06-14  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* tests/modules.c, tests/tests.h: Fill in unit tests for the Module
+	API functions.
 
-2008-03-19 13:59  castaglia
+2008-06-14  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.
+	* src/modules.c: Clean up a few more style nits, and guard against
+	bad arguments, in the Module API.
 
-2008-03-17 09:40  castaglia
+2008-06-13  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Protect some OCSP-specific code with checks against the OpenSSL
-	  version.
+	* tests/modules.c: Add unit tests for the Stash API.
 
-2008-03-17 09:33  castaglia
+2008-06-13  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Make checking of the verification mechanism names (CRL, OCSP)
-	  case-insensitive.
+	* src/modules.c: Fix a few minor bugs and nits in the Stash API,
+	discovered while writing unit tests for those functions.
 
-2008-03-17 09:32  castaglia
+2008-06-13  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Be sure to mention TLSVerifyOrder in the release notes.
+	* 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-03-17 09:15  castaglia
+2008-06-13  castaglia <castaglia>
 
-	* doc/contrib/mod_tls.html:
-	  Add docs for the new TLSVerifyOrder directive.
+	* 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-03-17 09:02  castaglia
+2008-06-13  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#2840 - Online Certificate Status Protocol (OCSP) support.
+	* 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-03-17 08:19  castaglia
+2008-06-12  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".
+	* 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-03-15 12:12  castaglia
+2008-06-12  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.
+	* tests/scoreboard.c: Fill in the remaining unit tests for the
+	Scoreboard API.
 
-2008-03-14 15:27  castaglia
+2008-06-12  castaglia <castaglia>
 
-	* contrib/mod_sql_odbc.c:
-	  Check for the FreeTDS driver; if so, use TOP instead of LIMIT.
+	* 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-03-13 15:44  castaglia
+2008-06-12  castaglia <castaglia>
 
-	* contrib/: mod_sql_mysql.c, mod_sql_postgres.c:
-	  Use pcalloc() rather than palloc() in the database backend
-	  modules.  Fix some inconsistent style while there.
+	* 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-03-13 15:35  castaglia
+2008-06-11  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.
+	* tests/.cvsignore: More files to be ignored by CVS in the tests/
+	directory.
 
-2008-03-13 10:27  castaglia
+2008-06-11  castaglia <castaglia>
 
-	* doc/contrib/mod_sql_odbc.html:
-	  Update instructions for configuring proftpd for using ODBC
-	  libraries.
+	* tests/scoreboard.c: Fill in more of the unit tests for the
+	Scoreboard API.
 
-2008-03-13 09:43  castaglia
+2008-06-11  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.
+	* src/scoreboard.c: Fix some minor bugs found in the Scoreboard API
+	while working on unit tests.
 
-	  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-06-10  castaglia <castaglia>
 
-2008-03-11 15:28  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.
 
-	* NEWS, contrib/mod_quotatab.c:
-	  Bug#3051 - mod_quotatab incorrectly reduces file count on rename.
+2008-06-06  castaglia <castaglia>
 
-2008-03-11 10:39  castaglia
+	* src/scoreboard.c: Add better argument checking in
+	pr_set_scoreboard().
 
-	* configure:
-	  Updated configure.
+2008-06-06  castaglia <castaglia>
 
-2008-03-11 10:35  castaglia
+	* tests/Makefile.in, tests/scoreboard.c, tests/stubs.c,
+	tests/tests.c, tests/tests.h: Start writing unit tests for the
+	Scoreboard API.
 
-	* RELEASE_NOTES:
-	  Mention the pkgconfig file.
+2008-06-06  castaglia <castaglia>
 
-2008-03-11 10:31  castaglia
+	* tests/sets.c: Avoid a compiler warning about a shadowed variable
+	in the testsuite.
 
-	* Make.rules.in, Makefile.in, configure.in, lib/Makefile.in:
-	  When installing proftpd, be sure to install the libsupp library
-	  as well.
+2008-06-05  castaglia <castaglia>
 
-	  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.
+	* 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.
 
-	  These changes are for Bug #2991.
+2008-06-05  castaglia <castaglia>
 
-2008-03-08 11:52  castaglia
+	* tests/stubs.c: Forgot to include these variables for unit tests.
 
-	* 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-06-05  castaglia <castaglia>
 
-2008-03-07 21:16  castaglia
+	* tests/str.c: Add unit tests for the newly added functions to the
+	String API.
 
-	* contrib/mod_tls.c:
-	  If FIPS mode is requested, and the OpenSSL installation doesn't
-	  support FIPS, log a warning.
+2008-06-05  castaglia <castaglia>
 
-2008-03-07 21:12  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.
 
-	* Makefile.in, NEWS, RELEASE_NOTES, contrib/mod_tls.c,
-	  contrib/mod_load/Makefile.in, 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-06-05  castaglia <castaglia>
 
-2008-03-05 19:08  castaglia
+	* src/throttle.c: Make sure to explicit require a TRUE return value
+	from the pr_expr_* calls.
 
-	* NEWS, RELEASE_NOTES:
-	  Add mention of ftpmail in the NEWS and in the release notes.
+2008-06-05  castaglia <castaglia>
 
-2008-03-05 19:06  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.
 
-	* contrib/ftpmail, doc/contrib/ftpmail.html:
-	  Added ftpmail, a Perl script which reads a TransferLog FIFO and
-	  sends automatic email notifications for uploads.
+2008-06-05  castaglia <castaglia>
 
-2008-03-03 18:05  castaglia
+	* src/class.c, src/netacl.c: Bug#3083 - Multiple issues with
+	handling of <Class> definitions.
 
-	* doc/contrib/mod_ban.html:
-	  Update docs for the BanOnEvent directive.
+2008-06-05  castaglia <castaglia>
 
-2008-03-03 18:01  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.
 
-	* NEWS, contrib/mod_ban.c:
-	  Bug#3047 - BanOnEvent should support optional ban message.
+2008-06-05  castaglia <castaglia>
 
-2008-03-03 09:13  castaglia
+	* doc/howto/Classes.html: Add more material to the Classes howto,
+	covering the Satisfy directive and giving some examples.
 
-	* NEWS, contrib/mod_quotatab.c:
-	  Bug#3045 - "QuotaOptions ScanOnLogin" does not work for 'class'
-	  or 'all' limits.
+2008-06-05  castaglia <castaglia>
 
-2008-03-03 08:26  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.
 
-	* NEWS, contrib/mod_wrap2_file.c:
-	  Bug#3048 - mod_wrap2_file should support comma-delimited lists of
-	  clients.
+2008-06-05  castaglia <castaglia>
 
-2008-03-03 08:21  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).
 
-	* modules/mod_core.c:
-	  Make the message about an AuthOrder module with no auth handlers
-	  a little more explicit.
+2008-06-04  castaglia <castaglia>
 
-2008-02-25 11:05  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.
 
-	* src/inet.c:
-	  Forgot to remove the old pr_inet_validate() function from inet.c.
+2008-06-02  castaglia <castaglia>
 
-2008-02-24 14:25  castaglia
+	* NEWS, doc/howto/Tracing.html, src/trace.c: Bug#3082 - Use
+	"DEFAULT" keyword instead of "ALL" for Trace directive.
 
-	* tests/: Makefile.in, netaddr.c, stubs.c, tests.c, tests.h:
-	  Adding unit tests for the Netaddr API.  Note that some of the
-	  tests still need to be filled in.
+2008-05-20  castaglia <castaglia>
 
-2008-02-24 14:23  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.
 
-	* src/netaddr.c:
-	  Fix minor bugs in the Netaddr API.
+2008-05-17  castaglia <castaglia>
 
-2008-02-24 12:35  castaglia
+	* src/throttle.c: Make sure that the signal-handling functions (e.g.
+	sigemptyset()) can be properly found on some platforms (e.g.
+	Solaris).
 
-	* 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-05-15  castaglia <castaglia>
 
-2008-02-23 17:53  castaglia
+	* modules/mod_core.c: Make sure that we honor the TimeoutIdle
+	directive *before* authentication, as well as after.
 
-	* src/log.c:
-	  Set errno when appropriate, and catch a corner case where the
-	  caller might provide a null format string.
+2008-05-14  castaglia <castaglia>
 
-2008-02-20 14:09  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.
 
-	* src/log.c:
-	  Log if ftruncate(3) fails.
+2008-05-13  castaglia <castaglia>
 
-2008-02-20 14:07  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().
 
-	* 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-05-12  castaglia <castaglia>
 
-2008-02-20 14:01  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.
 
-	* 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-05-12  castaglia <castaglia>
 
-2008-02-20 13:59  castaglia
+	* configure: Updated configure.
 
-	* 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-05-12  castaglia <castaglia>
 
-2008-02-20 10:47  castaglia
+	* configure.in, modules/mod_dso.c: Make sure we use the libltdl
+	shipped with proftpd, not the system libltdl.
 
-	* 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-05-12  castaglia <castaglia>
 
-2008-02-19 08:42  castaglia
+	* modules/mod_xfer.c: Found more while loops without signal
+	handling.  Tsk tsk.
 
-	* NEWS, modules/mod_delay.c:
-	  Bug#3044 - Segfault if mod_delay fails to load DelayTable.
+2008-05-11  castaglia <castaglia>
 
-2008-02-18 18:31  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.
 
-	* tests/: Makefile.in, tests.c, tests.h, version.c:
-	  Add unit tests for the new Version API functions.
+2008-05-11  castaglia <castaglia>
 
-2008-02-18 18:29  castaglia
+	* src/main.c: Make a lowercased version of the protocol name, in
+	set_protocol_name(), for use in the WtmpLog entry.
 
-	* 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-05-08  castaglia <castaglia>
 
-2008-02-18 13:45  castaglia
+	* modules/mod_core.c: As it turns out, the <Limit> section can
+	handles commands for more than just FTP.
 
-	* include/log.h:
-	  Use gcc's varargs checking for printf-like statements for the
-	  pr_log_auth() function.
+2008-05-08  castaglia <castaglia>
 
-2008-02-18 13:26  castaglia
+	* contrib/mod_load/mod_load.c.in: Mark a string used by mod_load as
+	localisable.
 
-	* tests/: Makefile.in, event.c, tests.c, tests.h:
-	  Added unit tests for the Event API.
+2008-05-08  castaglia <castaglia>
 
-2008-02-18 13:25  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.
 
-	* 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-05-08  castaglia <castaglia>
 
-2008-02-17 18:58  castaglia
+	* src/main.c: Stylistic nits, no functional change.
 
-	* tests/: Makefile.in, feat.c, tests.c, tests.h:
-	  Add unit tests for the Feat API.
+2008-05-08  castaglia <castaglia>
 
-2008-02-17 18:56  castaglia
+	* src/main.c: Always have signal handling in while loops.
 
-	* 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-05-07  castaglia <castaglia>
 
-2008-02-17 18:15  castaglia
+	* NEWS, contrib/dist/rpm/proftpd.spec: Bug#3076 - RPM build failing
+	on 64 bit OS due to incomplete .spec.
 
-	* tests/: Makefile.in, tests.c, tests.h, var.c:
-	  Add unit tests for the Var API.
+2008-05-06  castaglia <castaglia>
 
-2008-02-17 18:13  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.
 
-	* 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-05-06  castaglia <castaglia>
 
-2008-02-17 13:27  castaglia
+	* doc/howto/Authentication.html: Typo.
 
-	* tests/tests.c:
-	  Slightly more elegant way of iterating over all of the
-	  testsuites, without needing to use strcmp().
+2008-05-06  castaglia <castaglia>
 
-2008-02-17 13:19  castaglia
+	* configure: Updated configure.
 
-	* tests/: Makefile.in, table.c, tests.c, tests.h:
-	  Add unit tests for the Table API.
+2008-05-06  castaglia <castaglia>
 
-2008-02-17 13:17  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.
 
-	* src/table.c:
-	  Fix a few minor bugs related to checking for improper arguments.
+2008-05-06  castaglia <castaglia>
 
-2008-02-16 20:15  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.
 
-	* doc/howto/Testing.html:
-	  Start of a doc that will describe ProFTPD's burgeoning testsuite,
-	  and how to use it.
+2008-05-06  castaglia <castaglia>
 
-2008-02-16 19:26  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.
 
-	* 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-05-06  castaglia <castaglia>
 
-2008-02-16 18:44  castaglia
+	* src/main.c: If sending responses in pr_cmd_dispatch_phase(), be
+	sure to flush the correct response chain.
 
-	* 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-05-06  castaglia <castaglia>
 
-2008-02-16 18:11  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.
 
-	* tests/: Makefile.in, stubs.c, tests.c, tests.h, timers.c:
-	  Adding unit tests for the Timers API.
+2008-05-06  castaglia <castaglia>
 
-2008-02-16 18:06  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.
 
-	* 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-05-06  castaglia <castaglia>
 
-2008-02-16 17:01  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.
 
-	* tests/: Makefile.in, sets.c, tests.c, tests.h:
-	  Adding unit tests for the Sets API.
+2008-04-28  castaglia <castaglia>
 
-2008-02-16 16:59  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.
 
-	* 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-04-26  castaglia <castaglia>
 
-2008-02-16 12:46  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.
 
-	* 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-04-25  castaglia <castaglia>
 
-2008-02-15 21:36  castaglia
+	* NEWS, locale/Makefile.in, locale/zh_CN.po: Adding Chinese
+	translation.
 
-	* tests/str.c:
-	  Fill in the unit test for the sstrncpy() function.
+2008-04-18  castaglia <castaglia>
 
-2008-02-15 21:18  castaglia
+	* configure: Updated configure.
 
-	* tests/: .cvsignore, array.c, env.c, str.c, 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-04-18  castaglia <castaglia>
 
-2008-02-15 17:44  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.
 
-	* doc/contrib/mod_quotatab.html:
-	  Properly close the line item.
+2008-04-17  castaglia <castaglia>
 
-2008-02-15 17:37  castaglia
+	* NEWS: Had wrong bug number for IPv6-by-default change.
 
-	* 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-04-17  castaglia <castaglia>
 
-2008-02-15 07:41  castaglia
+	* configure: Updating configure.
 
-	* doc/howto/CreateHome.html:
-	  Start a FAQ for CreateHome questions.
+2008-04-17  castaglia <castaglia>
 
-2008-02-14 09:07  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.
 
-	* doc/howto/CreateHome.html:
-	  List the uid and gid parameters of CreateHome, and talk about
-	  them a little.
+2008-04-16  castaglia <castaglia>
 
-2008-02-14 07:15  castaglia
+	* NEWS: Forgot to mention the release date for 1.3.2rc1 in the NEWS
+	file.
 
-	* doc/howto/TLS.html:
-	  Add TLS FAQ on removing cert key passphrases.
+2008-04-16  castaglia <castaglia>
 
-2008-02-13 18:23  castaglia
+	* include/version.h: Update version for CVS.
 
-	* 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-04-16  castaglia <castaglia>
 
-2008-02-13 09:23  castaglia
+	* Makefile.in: Clean up the locale/Makefile when handling the
+	'distclean' target.
 
-	* tests/.cvsignore:
-	  Ignore generated files.
+2008-04-16  castaglia <castaglia>
 
-2008-02-13 09:14  castaglia
+	* ChangeLog: Updating ChangeLog.
 
-	* configure:
-	  Updated configure.
+2008-04-16  castaglia <castaglia>
 
-2008-02-13 09:11  castaglia
+	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing to
+	release 1.3.2rc1.
 
-	* 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-04-16  castaglia <castaglia>
 
-2008-02-13 09:10  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.
 
-	* 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-04-15  castaglia <castaglia>
 
-2008-02-13 08:16  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.
 
-	* tests/str.c:
-	  Fill in the unit tests for more of the string manipulation
-	  functions.
+2008-04-15  castaglia <castaglia>
 
-2008-02-13 08:16  castaglia
+	* RELEASE_NOTES: Updating release notes.
 
-	* src/str.c:
-	  Fix up the indentation/style in sreplace().  Guard against
-	  null/bad arguments.
+2008-04-12  castaglia <castaglia>
 
-2008-02-12 23:49  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.
 
-	* tests/: Makefile.in, env.c, tests.c, tests.h:
-	  Add unit tests for the Env API.
+2008-04-10  castaglia <castaglia>
 
-2008-02-12 23:24  castaglia
+	* doc/howto/Limit.html: Mention that within <Limit> sections, limits
+	are applied only based on names, not on IDs.
 
-	* 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-04-09  castaglia <castaglia>
 
-2008-02-12 23:21  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.
 
-	* tests/: Makefile.in, array.c, tests.c, tests.h:
-	  Adding unit tests for the Array API.
+2008-04-08  castaglia <castaglia>
 
-2008-02-12 19:45  castaglia
+	* locale/it_IT.po: Updated Italian translation.
 
-	* src/str.c:
-	  Guard against NULL arguments in sreplace().
+2008-04-05  castaglia <castaglia>
 
-2008-02-12 09:04  castaglia
+	* locale/proftpd.pot: Fill in some descriptive details in the .pot
+	file header.
 
-	* configure:
-	  Updated configure.
+2008-04-05  castaglia <castaglia>
 
-2008-02-12 08:58  castaglia
+	* configure: Updated configure.
 
-	* configure.in:
-	  Try to describe the --enable-devel option such that packagers
-	  won't use it.
+2008-04-05  castaglia <castaglia>
 
-2008-02-11 07:13  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).
 
-	* configure:
-	  Updated configure.
+2008-04-05  castaglia <castaglia>
 
-2008-02-10 20:46  castaglia
+	* modules/mod_core.c: Don't set the UTF8 feature in mod_core; it's
+	already handled by mod_lang.  Addresses Bug#3070.
 
-	* 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-04-05  castaglia <castaglia>
 
-2008-02-10 20:44  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.
 
-	* tests/: Makefile.in, pool.c, str.c, stubs.c, tests.c, tests.h:
-	  Start of a testsuite for proftpd.  Uses the 'check' package; see
+2008-04-05  castaglia <castaglia>
 
-	    http://check.sourceforge.net/
+	* 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.
 
-	  To enable, compile proftpd using --enable-tests.  Then run `make
-	  check' before installing.
+2008-04-05  castaglia <castaglia>
 
-	  Expect to see a lot of activity here, as proftpd gets the
-	  testsuite its desperately needed for years.
+	* locale/Makefile.in: Make sure that all .po files pass the msgfmt
+	format check.
 
-2008-02-10 20:37  castaglia
+2008-04-05  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.
+	* 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-02-10 12:14  castaglia
+2008-04-05  castaglia <castaglia>
 
-	* contrib/: mod_ban.c, mod_ctrls_admin.c:
-	  Updated mod_ban and mod_ctrls_admin to use the re-named
-	  scoreboard entry reading function.
+	* 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-02-09 18:29  castaglia
+2008-04-05  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.
+	* locale/proftpd.pot: Updated proftpd.pot to reflect changed line
+	numbers.
 
-	  Also updated ftpwho and ftptop to properly display uploading,
-	  downloading, and listing commands (including handling the MLST
-	  and MLSD commands properly).
+2008-04-05  castaglia <castaglia>
 
-	  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.
+	* 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-02-09 17:17  castaglia
+2008-04-04  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.
+	* locale/proftpd.pot: Update proftpd.pot with the strings to be
+	translated from mod_quotatab.
 
-2008-01-30 09:26  castaglia
+2008-04-04  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.
+	* contrib/mod_quotatab.c: Tag a few more strings that need to be
+	translated, when displaying quota limit/tallies to clients.
 
-	  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-04-04  castaglia <castaglia>
 
-2008-01-28 07:38  castaglia
+	* locale/Makefile.in: Add it.po (courtesy of Frankie) and en.po for
+	default translations.
 
-	* 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-04-04  castaglia <castaglia>
 
-2008-01-24 17:53  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.
 
-	* contrib/mod_wrap.c:
-	  Quell some compiler warnings in mod_wrap.
+2008-04-04  castaglia <castaglia>
 
-2008-01-24 17:11  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.
 
-	* src/proctitle.c:
-	  Silence a compiler warning about unused variables when
-	  PR_DEVEL_STACK_TRACE is defined.
+2008-04-04  castaglia <castaglia>
 
-2008-01-24 09:11  castaglia
+	* contrib/mod_wrap2/.cvsignore: More files to be ignored by CVS.
 
-	* 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-04-04  castaglia <castaglia>
 
-2008-01-23 08:59  castaglia
+	* modules/mod_lang.c: Delay the call to setlocale() until the
+	postparse event, after we have called bindtextdomain().
 
-	* 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-04-04  castaglia <castaglia>
 
-2008-01-22 20:26  castaglia
+	* include/conf.h: Use dgettext() instead of gettext() when
+	retrieving localised strings, so that we can explicitly specify the
+	domain ("proftpd") to use.
 
-	* 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-04-04  castaglia <castaglia>
 
-2008-01-21 10:05  castaglia
+	* locale/Makefile.in: When installing locale .mo files, actually do
+	the installation into the proper directory structure.
 
-	* src/main.c:
-	  Remove some tabs; no functional change.
+2008-04-04  castaglia <castaglia>
 
-2008-01-21 09:50  castaglia
+	* modules/mod_lang.c: When requesting a locale change, it helps to
+	actually use the locale provided by the caller.  Sheesh.
 
-	* RELEASE_NOTES:
-	  Mention the inclusion of IPv6 support in the default build.
+2008-04-04  castaglia <castaglia>
 
-2008-01-21 09:48  castaglia
+	* modules/mod_lang.c: Hook up handling of LangPath and LangDefault,
+	and start trying to actually use the configured locale message
+	catalogs.
 
-	* README.IPv6:
-	  Updated the IPv6 README.
+2008-04-03  castaglia <castaglia>
 
-2008-01-21 09:48  castaglia
+	* configure: Updated configure.
 
-	* configure:
-	  Updated configure.
+2008-04-03  castaglia <castaglia>
 
-2008-01-21 09:44  castaglia
+	* configure.in: Fix the handling of the PR_LOCALE_DIR macro, so that
+	it properly substitutes the variables.
 
-	* NEWS, configure.in, sample-configurations/basic.conf:
-	  Bug#2577 - IPv6 support should be enabled by default.
+2008-04-03  castaglia <castaglia>
 
-2008-01-18 11:23  castaglia
+	* locale/Makefile.in, locale/proftpd.pot: Provide a .pot file as a
+	starting point for translators.
 
-	* NEWS, contrib/mod_rewrite.c:
-	  Bug#3034 - Rewritten command parameters need to be set in
-	  multiple places.
+2008-04-03  castaglia <castaglia>
 
-2008-01-18 08:26  castaglia
+	* locale/Makefile.in: Older msginit versions do not support the
+	--sort-by-file option.  Also, do not run msgfmt if msginit fails.
 
-	* contrib/mod_ctrls_admin.c:
-	  Silence compiler warning about unused variable.
+2008-04-03  castaglia <castaglia>
 
-2008-01-18 08:17  castaglia
+	* locale/.cvsignore: Ignore a few other generated files in the
+	locale/ directory.
 
-	* NEWS, include/netacl.h, src/class.c, src/netacl.c:
-	  Bug#3033 - Class rules not honoring '!' negation character.
+2008-04-03  castaglia <castaglia>
 
-2008-01-17 17:01  castaglia
+	* locale/files.txt: Update the list of files from which to extract
+	strings via xgettext.
 
-	* 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-04-03  castaglia <castaglia>
 
-2008-01-16 18:19  castaglia
+	* src/encode.c: Fix typo which breaks the solution for Bug#3064.
 
-	* 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.)
+2008-04-03  castaglia <castaglia>
 
-	  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.
+	* src/encode.c: Add a few more character sets to the list of those
+	which override the value of the Telnet IAC value.
 
-2008-01-16 17:42  castaglia
+2008-04-03  castaglia <castaglia>
 
-	* NEWS, src/netaddr.c:
-	  Bug#3031 - IPv4-mapped IPv6 connections not matched properly
-	  against IPv4 glob ACLs.
+	* NEWS, include/encode.h, src/encode.c, src/netio.c: Bug#3064 -
+	Better handling of 0xFF character for Cyrillic, non-UTF8 charsets.
 
-2008-01-15 17:21  castaglia
+2008-04-03  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.
+	* modules/mod_lang.c: Bug#3063 - proftpd fails to start if LC_ALL
+	environment variable is wrong.
 
-2008-01-15 16:38  castaglia
+2008-04-03  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.:
+	* NEWS: Bug#3056 - Support non-UTF8 encoding and character sets.
 
-	    ./configure CFLAGS=-DPR_TUNABLE_EINTR_RETRY_INTERVAL=0.5 ...
+2008-04-03  castaglia <castaglia>
 
-	  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:
+	* doc/howto/Tracing.html: The log channel name changed from "utf8"
+	to "encode".
 
-	    main.c:1527: warning: unsigned int format, double arg (arg 3)
+2008-04-03  castaglia <castaglia>
 
-2008-01-15 10:27  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.
 
-	* 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-04-03  castaglia <castaglia>
 
-2008-01-15 09:56  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.
 
-	* 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.
+2008-04-01  castaglia <castaglia>
 
-	  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.
+	* 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-01-14 18:26  castaglia
+2008-03-27  castaglia <castaglia>
 
-	* contrib/mod_ratio.c:
-	  Silence some compiler warnings about uninitialized variables.
+	* src/scoreboard.c: In addition to logging the PID of the blocking
+	lock owner, log the type of blocking lock (read/write).
 
-2008-01-14 17:21  castaglia
+2008-03-27  castaglia <castaglia>
 
-	* src/data.c:
-	  Found a few more places where text needs to be marked for
-	  localisation.
+	* 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-01-14 14:42  castaglia
+2008-03-27  castaglia <castaglia>
 
-	* doc/contrib/mod_tls.html:
-	  Update TLSLog description to note requirement about parent
-	  directory permissions.
+	* contrib/mod_wrap2_sql.c: Replace some "magic numbers" with macros,
+	and increase legibility.
 
-2008-01-14 07:38  castaglia
+2008-03-27  castaglia <castaglia>
 
-	* include/ftp.h, modules/mod_facts.c:
-	  Add definitions of the MLSD, MLST commands to ftp.h.
+	* 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-01-12 15:01  castaglia
+2008-03-27  castaglia <castaglia>
 
-	* NEWS, contrib/mod_rewrite.c:
-	  Bug#3027 - Unmatched backreferences are not handled properly in
-	  RewriteRules.
+	* contrib/mod_wrap2_sql.c: Clear up a temporary pool before exiting
+	early.
 
-2008-01-12 14:59  castaglia
+2008-03-27  castaglia <castaglia>
 
-	* contrib/mod_rewrite.c:
-	  Additional changes needed for the full fix for Bug #3026.
+	* contrib/mod_wrap2/mod_wrap2.c: Quell compiler warning about
+	partially-declared callback function signature.
 
-2008-01-11 19:28  castaglia
+2008-03-27  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* NEWS, contrib/mod_quotatab_sql.c: Bug#3061 - Segfault in
+	mod_quotatab_sql if the SQL query returns NULL bytes/files values.
 
-2008-01-11 19:25  castaglia
+2008-03-27  castaglia <castaglia>
 
-	* configure.in:
-	  Copy-n-paste error in configure.in added erroneous line break.
+	* 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-01-11 19:00  castaglia
+2008-03-26  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.
+	* src/scoreboard.c: Add trace logging of scoreboard locking.
 
-2008-01-11 18:20  castaglia
+2008-03-26  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* src/scoreboard.c, utils/scoreboard.c: Bug#3057 - ftptop can lock
+	scoreboard, blocking proftpd.  Try not to lock as aggressively in
+	ftptop.
 
-2008-01-11 18:12  castaglia
+2008-03-25  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>.
+	* NEWS, src/utf8.c: Bug#3059 - Wrong handling of UTF8 conversions.
 
-2008-01-11 13:55  castaglia
+2008-03-25  castaglia <castaglia>
 
-	* NEWS, contrib/mod_rewrite.c:
-	  Bug#3026 - RewriteCondition does not negate -d -f -s tests.
+	* NEWS, modules/mod_core.c: Bug#3058 - Handling of OPTS command
+	results in badly set values in code.
 
-2008-01-11 09:12  castaglia
+2008-03-21  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.
+	* tests/tests.c: Clarify that the tests.log file can be found in the
+	tests/ directory.
 
-2008-01-10 10:22  castaglia
+2008-03-20  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.
+	* src/netaddr.c: Unit tests caught regression where a NULL buffer
+	was not being checked properly.  Yay unit testing!
 
-2008-01-09 20:24  castaglia
+2008-03-20  castaglia <castaglia>
 
-	* contrib/mod_sql.c:
-	  Remove the mod_sql code which used to support the (deprecated and
-	  removed) SQLHomedirOnDemand feature.
+	* .cvsignore: Ignore the generated proftpd.pc file.
 
-2008-01-09 20:10  castaglia
+2008-03-19  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* 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-01-09 20:08  castaglia
+2008-03-19  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.
+	* configure: Updated configure.
 
-2008-01-09 10:56  castaglia
+2008-03-19  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.
+	* 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-01-09 08:13  castaglia
+2008-03-17  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.)
+	* contrib/mod_tls.c: Protect some OCSP-specific code with checks
+	against the OpenSSL version.
 
-2008-01-09 08:06  castaglia
+2008-03-17  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#3025 - Using %b in a SQLNamedQuery does not properly log the
-	  file size for DELE.
+	* contrib/mod_tls.c: Make checking of the verification mechanism
+	names (CRL, OCSP) case-insensitive.
 
-2008-01-09 07:28  castaglia
+2008-03-17  castaglia <castaglia>
 
-	* contrib/mod_sql_odbc.c:
-	  Removed "IMHO" from comment describing Oracle library bug; it's
-	  been confirmed by Oracle.
+	* RELEASE_NOTES: Be sure to mention TLSVerifyOrder in the release
+	notes.
 
-2008-01-08 16:06  castaglia
+2008-03-17  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.
+	* doc/contrib/mod_tls.html: Add docs for the new TLSVerifyOrder
+	directive.
 
-	  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-03-17  castaglia <castaglia>
 
-2008-01-08 16:04  castaglia
+	* NEWS, contrib/mod_tls.c: Bug#2840 - Online Certificate Status
+	Protocol (OCSP) support.
 
-	* modules/mod_core.c:
-	  Explicit cast to avoid compiler warning.
+2008-03-17  castaglia <castaglia>
 
-2008-01-08 15:27  castaglia
+	* contrib/mod_sql_odbc.c: Use the TOP clause when the driver name is
+	"FreeTDS", or when the driver name contains "SQL Server".
 
-	* 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-03-15  castaglia <castaglia>
 
-2008-01-08 09:59  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.
 
-	* 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-03-14  castaglia <castaglia>
 
-2008-01-08 09:58  castaglia
+	* contrib/mod_sql_odbc.c: Check for the FreeTDS driver; if so, use
+	TOP instead of LIMIT.
 
-	* 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-03-13  castaglia <castaglia>
 
-2008-01-08 09:37  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.
 
-	* 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-03-13  castaglia <castaglia>
 
-2008-01-07 20:23  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.
 
-	* README.modules, RELEASE_NOTES:
-	  Mention the new database backend modules: mod_sql_odbc and
-	  mod_sql_sqlite.
+2008-03-13  castaglia <castaglia>
 
-2008-01-07 20:21  castaglia
+	* doc/contrib/mod_sql_odbc.html: Update instructions for configuring
+	proftpd for using ODBC libraries.
 
-	* 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-03-13  castaglia <castaglia>
 
-2008-01-07 20:15  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.
 
-	* 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-03-11  castaglia <castaglia>
 
-2008-01-07 20:15  castaglia
+	* NEWS, contrib/mod_quotatab.c: Bug#3051 - mod_quotatab incorrectly
+	reduces file count on rename.
 
-	* NEWS, contrib/mod_sql_odbc.c, doc/contrib/mod_sql_odbc.html:
-	  Add the mod_sql_odbc module to the contrib area.
+2008-03-11  castaglia <castaglia>
 
-2008-01-07 20:12  castaglia
+	* configure: Updated configure.
 
-	* configure:
-	  Updated configure.
+2008-03-11  castaglia <castaglia>
 
-2008-01-07 20:07  castaglia
+	* RELEASE_NOTES: Mention the pkgconfig file.
 
-	* 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-03-11  castaglia <castaglia>
 
-2008-01-07 18:38  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.
 
-	* 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.
+2008-03-08  castaglia <castaglia>
 
-	  Update docs to mention the SQLBackend name provided by
-	  mod_sql_sqlite.
+	* 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-01-07 18:31  castaglia
+2008-03-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.
+	* contrib/mod_tls.c: If FIPS mode is requested, and the OpenSSL
+	installation doesn't support FIPS, log a warning.
 
-2008-01-07 18:21  castaglia
+2008-03-08  castaglia <castaglia>
 
-	* contrib/: mod_sql_mysql.c, mod_sql_postgres.c:
-	  Typo.
+	* 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-01-07 18:13  castaglia
+2008-03-06  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* NEWS, RELEASE_NOTES: Add mention of ftpmail in the NEWS and in the
+	release notes.
 
-2008-01-07 18:09  castaglia
+2008-03-06  castaglia <castaglia>
 
-	* configure.in:
-	  Decided I do not need the leading '$' character in the configure
-	  invocation string, for I am capricious that way.
+	* contrib/ftpmail, doc/contrib/ftpmail.html: Added ftpmail, a Perl
+	script which reads a TransferLog FIFO and sends automatic email
+	notifications for uploads.
 
-2008-01-07 18:07  castaglia
+2008-03-04  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.
+	* doc/contrib/mod_ban.html: Update docs for the BanOnEvent
+	directive.
 
-	  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-03-04  castaglia <castaglia>
 
-2008-01-07 07:35  castaglia
+	* NEWS, contrib/mod_ban.c: Bug#3047 - BanOnEvent should support
+	optional ban message.
 
-	* configure:
-	  Update configure.
+2008-03-03  castaglia <castaglia>
 
-2008-01-06 17:56  castaglia
+	* NEWS, contrib/mod_quotatab.c: Bug#3045 - "QuotaOptions
+	ScanOnLogin" does not work for 'class' or 'all' limits.
 
-	* 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.
+2008-03-03  castaglia <castaglia>
 
-	  Remove any mention of long-deprecated directives; they will only
-	  serve to confuse people at this point in time.
+	* NEWS, contrib/mod_wrap2_file.c: Bug#3048 - mod_wrap2_file should
+	support comma-delimited lists of clients.
 
-2008-01-06 17:44  castaglia
+2008-03-03  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c:
-	  Bug#3022 - Timed SQL connections don't reconnect to database.
+	* modules/mod_core.c: Make the message about an AuthOrder module
+	with no auth handlers a little more explicit.
 
-2008-01-05 15:12  castaglia
+2008-02-25  castaglia <castaglia>
 
-	* README.modules:
-	  Update README.modules to mention the new modules.
+	* src/inet.c: Forgot to remove the old pr_inet_validate() function
+	from inet.c.
 
-2008-01-05 13:37  castaglia
+2008-02-24  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.
+	* 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-01-05 13:21  castaglia
+2008-02-24  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.
+	* src/netaddr.c: Fix minor bugs in the Netaddr API.
 
-2008-01-04 22:40  castaglia
+2008-02-24  castaglia <castaglia>
 
-	* contrib/mod_sql.c:
-	  Remove the unused add_virtualbool() function.
+	* 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-01-04 22:28  castaglia
+2008-02-24  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.
+	* src/log.c: Set errno when appropriate, and catch a corner case
+	where the caller might provide a null format string.
 
-2008-01-04 22:26  castaglia
+2008-02-20  castaglia <castaglia>
 
-	* include/conf.h, include/ident.h, src/ident.c: Delete the now
-	  unused core ident lookup code; this functionality has been moved
-	  to the mod_ident module, as per Bug#2453.
+	* src/log.c: Log if ftruncate(3) fails.
 
-2008-01-04 22:23  castaglia
+2008-02-20  castaglia <castaglia>
 
-	* src/xferlog.c:
-	  Forgot to check in the changes for this file, relating to
-	  Bug#2453.  Without these, the build fails.
+	* 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-01-04 20:55  castaglia
+2008-02-20  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.
+	* 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-01-04 17:29  castaglia
+2008-02-20  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#3023 - Allow uploading to /dev/null.
+	* 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-01-04 17:22  castaglia
+2008-02-20  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* 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-01-04 17:22  castaglia
+2008-02-19  castaglia <castaglia>
 
-	* RELEASE_NOTES, doc/modules/mod_ident.html:
-	  Update documentation for the new mod_ident module.
+	* NEWS, modules/mod_delay.c: Bug#3044 - Segfault if mod_delay fails
+	to load DelayTable.
 
-2008-01-04 17:12  castaglia
+2008-02-19  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.
+	* tests/Makefile.in, tests/tests.c, tests/tests.h, tests/version.c: 
+	Add unit tests for the new Version API functions.
 
-2008-01-04 17:01  castaglia
+2008-02-19  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.
+	* 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-01-04 15:22  castaglia
+2008-02-18  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.  (Upgraded to autoconf-2.61 as well.)
+	* include/log.h: Use gcc's varargs checking for printf-like
+	statements for the pr_log_auth() function.
 
-2008-01-04 15:18  castaglia
+2008-02-18  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.
+	* tests/Makefile.in, tests/event.c, tests/tests.c, tests/tests.h: 
+	Added unit tests for the Event API.
 
-2008-01-04 14:23  castaglia
+2008-02-18  castaglia <castaglia>
 
-	* modules/mod_auth_unix.c:
-	  Fix compiler warning about using the wrong datatype when calling
-	  getgrouplist(2).
+	* 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-01-04 14:22  castaglia
+2008-02-18  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Use socklen_t, not int, for getsockopt(2) calls.
+	* tests/Makefile.in, tests/feat.c, tests/tests.c, tests/tests.h: Add
+	unit tests for the Feat API.
 
-2008-01-02 20:23  castaglia
+2008-02-18  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* 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-01-02 20:21  castaglia
+2008-02-18  castaglia <castaglia>
 
-	* NEWS, config.h.in, configure.in, modules/mod_auth_unix.c:
-	  Bug#1896 - Check AIX account status.
+	* tests/Makefile.in, tests/tests.c, tests/tests.h, tests/var.c: Add
+	unit tests for the Var API.
 
-2008-01-02 19:49  castaglia
+2008-02-18  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ratio.c:
-	  Bug#1973 - mod_ratio uses the too-small int datatype for tracking
-	  bytes.
+	* 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-01-02 18:52  castaglia
+2008-02-17  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ratio.c:
-	  Bug#1771 - mod_ratio compile warnings.
+	* tests/tests.c: Slightly more elegant way of iterating over all of
+	the testsuites, without needing to use strcmp().
 
-	  Add better formatting, error checking, function definition, etc.
+2008-02-17  castaglia <castaglia>
 
-2008-01-02 18:13  castaglia
+	* tests/Makefile.in, tests/table.c, tests/tests.c, tests/tests.h: 
+	Add unit tests for the Table API.
 
-	* utils/: ftpcount.c, ftpwho.c, misc.c, scoreboard.c, 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-02-17  castaglia <castaglia>
 
-2008-01-02 18:00  castaglia
+	* src/table.c: Fix a few minor bugs related to checking for improper
+	arguments.
 
-	* modules/mod_facts.c:
-	  Fix printf(3) format warning in mod_facts.
+2008-02-17  castaglia <castaglia>
 
-2008-01-02 17:39  castaglia
+	* doc/howto/Testing.html: Start of a doc that will describe
+	ProFTPD's burgeoning testsuite, and how to use it.
 
-	* 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-02-17  castaglia <castaglia>
 
-2008-01-02 15:17  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.
 
-	* RELEASE_NOTES:
-	  Mention the new TransferPriority directive.
+2008-02-17  castaglia <castaglia>
 
-2008-01-02 15:16  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.
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#2731 - Add ability to set process priority for file
-	  transfers.
+2008-02-17  castaglia <castaglia>
 
-2008-01-02 15:07  castaglia
+	* tests/Makefile.in, tests/stubs.c, tests/tests.c, tests/tests.h,
+	tests/timers.c: Adding unit tests for the Timers API.
 
-	* modules/mod_xfer.c:
-	  Need to add the name of the timer added, as per the changed Timer
-	  API.
+2008-02-17  castaglia <castaglia>
 
-2008-01-02 14:47  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.
 
-	* configure:
-	  Updated configure.
+2008-02-17  castaglia <castaglia>
 
-2008-01-02 14:44  castaglia
+	* tests/Makefile.in, tests/sets.c, tests/tests.c, tests/tests.h: 
+	Adding unit tests for the Sets API.
 
-	* configure.in:
-	  Missing quotation mark broke the configure script.
+2008-02-17  castaglia <castaglia>
 
-2008-01-02 14:43  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.
 
-	* 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-02-16  castaglia <castaglia>
 
-2008-01-02 10:31  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.
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#2889 - Update SQLLog so that RNTO stores the path when using
-	  the %F variable.
+2008-02-16  castaglia <castaglia>
 
-2008-01-02 09:58  castaglia
+	* tests/str.c: Fill in the unit test for the sstrncpy() function.
 
-	* NEWS, modules/mod_auth.c, src/auth.c:
-	  Bug#2997 - Uploading files with "~" causes harmless but annoying
-	  log message.
+2008-02-16  castaglia <castaglia>
 
-2008-01-01 09:31  jwm
+	* 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.
 
-	* contrib/mod_ldap.c: happy new year
+2008-02-16  castaglia <castaglia>
 
-2008-01-01 09:29  jwm
+	* doc/contrib/mod_quotatab.html: Properly close the line item.
 
-	* 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.
+2008-02-16  castaglia <castaglia>
 
-2007-12-31 14:47  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.
 
-	* 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.
+2008-02-15  castaglia <castaglia>
 
-2007-12-31 14:33  castaglia
+	* doc/howto/CreateHome.html: Start a FAQ for CreateHome questions.
 
-	* 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.
+2008-02-14  castaglia <castaglia>
 
-2007-12-31 13:45  castaglia
+	* doc/howto/CreateHome.html: List the uid and gid parameters of
+	CreateHome, and talk about them a little.
 
-	* RELEASE_NOTES, doc/modules/mod_auth_pam.html:
-	  Updated documentation.
+2008-02-14  castaglia <castaglia>
 
-2007-12-31 13:37  castaglia
+	* doc/howto/TLS.html: Add TLS FAQ on removing cert key passphrases.
 
-	* NEWS, modules/mod_auth_pam.c:
-	  Bug#3014 - Optionally set PAM_TTY item when using PAM.
+2008-02-14  castaglia <castaglia>
 
-2007-12-31 11:39  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.
 
-	* doc/rfc/rfc2640.txt:
-	  Add RFC2640 to the docs collection.
+2008-02-13  castaglia <castaglia>
 
-2007-12-31 11:34  castaglia
+	* tests/.cvsignore: Ignore generated files.
 
-	* configure:
-	  Updated configure.
+2008-02-13  castaglia <castaglia>
 
-2007-12-31 11:31  castaglia
+	* configure: Updated configure.
 
-	* 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.
+2008-02-13  castaglia <castaglia>
 
-2007-12-31 11:30  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.
 
-	* 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.
+2008-02-13  castaglia <castaglia>
 
-2007-12-31 11:19  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.
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#3003 - Fallback to normal transmission in case of sendfile
-	  EOVERFLOW error missing.
+2008-02-13  castaglia <castaglia>
 
-2007-12-31 11:13  castaglia
+	* tests/str.c: Fill in the unit tests for more of the string
+	manipulation functions.
 
-	* RELEASE_NOTES:
-	  Updating the release notes.
+2008-02-13  castaglia <castaglia>
 
-2007-12-31 11:12  castaglia
+	* src/str.c: Fix up the indentation/style in sreplace().  Guard
+	against null/bad arguments.
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#2894 - Mark the AnonymousGroup directive as deprecated, to be
-	  removed in a future release.
+2008-02-13  castaglia <castaglia>
 
-2007-12-31 10:56  castaglia
+	* tests/Makefile.in, tests/env.c, tests/tests.c, tests/tests.h: Add
+	unit tests for the Env API.
 
-	* doc/modules/mod_facts.html:
-	  Adding documentation (though brief) for the new mod_facts module.
+2008-02-13  castaglia <castaglia>
 
-2007-12-31 10:47  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).
 
-	* doc/rfc/: draft-ietf-ftpext-mlst-15.txt,
-	  draft-somers-ftp-mfxx-03.txt, rfc3659.txt:
-	  Adding RFC3659 (which supercedes an Internet Draft on MLST), and
-	  adding an Internet Draft defining the MFF and MFMT commands.
+2008-02-13  castaglia <castaglia>
 
-2007-12-31 10:33  castaglia
+	* tests/Makefile.in, tests/array.c, tests/tests.c, tests/tests.h: 
+	Adding unit tests for the Array API.
 
-	* configure:
-	  Updated configure.
+2008-02-13  castaglia <castaglia>
 
-2007-12-31 10:28  castaglia
+	* src/str.c: Guard against NULL arguments in sreplace().
 
-	* 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.
+2008-02-12  castaglia <castaglia>
 
-2007-12-31 09:39  castaglia
+	* configure: Updated configure.
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#3019 - DisplayLogin in <Anonymous> section not displayed
-	  properly.
+2008-02-12  castaglia <castaglia>
 
-2007-12-22 13:17  castaglia
+	* configure.in: Try to describe the --enable-devel option such that
+	packagers won't use it.
 
-	* modules/mod_lang.c: Pedantic correction of indentation, so that
-	  it is consistent with the style of the rest of the file.
+2008-02-11  castaglia <castaglia>
 
-2007-12-22 11:26  castaglia
+	* configure: Updated configure.
 
-	* 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.
+2008-02-11  castaglia <castaglia>
 
-2007-12-17 19:26  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.
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#3013 - "TLSOptions AllowPerUser" not working as expected.
+2008-02-11  castaglia <castaglia>
 
-2007-12-17 18:15  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.
 
-	* modules/mod_site.c:
-	  Typo.
+2008-02-11  castaglia <castaglia>
 
-2007-12-17 18:09  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.
 
-	* modules/mod_auth.c:
-	  Make sure to localise strings sent via pr_response_send().
+2008-02-10  castaglia <castaglia>
 
-2007-12-15 13:47  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.
 
-	* 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.
+2008-02-10  castaglia <castaglia>
 
-2007-12-12 13:23  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>
 
-	* NEWS, contrib/mod_site_misc.c, doc/contrib/mod_site_misc.html:
-	  Bug#3012 - SITE UTIME should support YYYYMMDDhhmmss format.
+	* 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.
 
-2007-12-10 13:46  castaglia
+2008-01-30  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Bug#3011: "TLSRequired !data" configuration does not allow PROT
-	  C.
+	* 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.
 
-	  If the TLSRequired directive policy does not explicitly require
-	  SSL/TLS protection on the data channel, then allow any PROT C
-	  requests from clients.
+2008-01-28  castaglia <castaglia>
 
-2007-11-15 19:16  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.
 
-	* NEWS, src/data.c:
-	  Bug#3001 - Incomplete downloads not logged properly in
-	  TransferLog if sendfile is used.
+2008-01-25  castaglia <castaglia>
 
-2007-11-15 18:15  castaglia
+	* contrib/mod_wrap.c: Quell some compiler warnings in mod_wrap.
 
-	* 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.
+2008-01-25  castaglia <castaglia>
 
-2007-11-15 09:33  castaglia
+	* src/proctitle.c: Silence a compiler warning about unused variables
+	when PR_DEVEL_STACK_TRACE is defined.
 
-	* NEWS, contrib/mod_quotatab.c:
-	  Bug#3006 - 'ScanOnLogin' QuotaOption may try to update a
-	  nonexistent tally record.
+2008-01-24  castaglia <castaglia>
 
-2007-11-15 09:21  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.
 
-	* NEWS, contrib/mod_quotatab.c:
-	  Bug#3004 - 'ScanOnLogin' QuotaOption does not honor
-	  QuotaDirectoryTally directive.
+2008-01-23  castaglia <castaglia>
 
-2007-11-15 08:38  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.
 
-	* src/main.c:
-	  Use REG_RIP for 64-bit machines, rather than REG_EIP, if the
-	  'stacktrace' --enable-devel configure option is used.
+2008-01-23  castaglia <castaglia>
 
-2007-11-15 07:15  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.)
 
-	* NEWS, src/data.c, src/netio.c:
-	  Bug#3005 - OOB abort closes the control connection.
+2008-01-21  castaglia <castaglia>
 
-2007-10-26 09:02  castaglia
+	* src/main.c: Remove some tabs; no functional change.
 
-	* 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.
+2008-01-21  castaglia <castaglia>
 
-2007-10-24 22:18  castaglia
+	* RELEASE_NOTES: Mention the inclusion of IPv6 support in the
+	default build.
 
-	* modules/Makefile.in: Be sure to clean up any .a archive files
-	  around as well.
+2008-01-21  castaglia <castaglia>
 
-2007-10-22 11:09  castaglia
+	* README.IPv6: Updated the IPv6 README.
 
-	* 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.
+2008-01-21  castaglia <castaglia>
 
-2007-10-18 09:22  castaglia
+	* configure: Updated configure.
 
-	* NEWS:
-	  Typo.
+2008-01-21  castaglia <castaglia>
 
-2007-10-17 08:39  castaglia
+	* NEWS, configure.in, sample-configurations/basic.conf: Bug#2577 -
+	IPv6 support should be enabled by default.
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#2996 - Requirement for same OpenSSL header, library version
-	  in mod_tls too restrictive.
+2008-01-18  castaglia <castaglia>
 
-2007-10-16 09:29  castaglia
+	* NEWS, contrib/mod_rewrite.c: Bug#3034 - Rewritten command
+	parameters need to be set in multiple places.
 
-	* RELEASE_NOTES:
-	  Add more release notes fragments, to be filled in more detail
-	  later.
+2008-01-18  castaglia <castaglia>
 
-2007-10-16 09:27  castaglia
+	* contrib/mod_ctrls_admin.c: Silence compiler warning about unused
+	variable.
 
-	* NEWS, modules/mod_core.c:
-	  Bug#2995 - The %f LogFormat variable expanded to same file for
-	  RNFR and RNTO.
+2008-01-18  castaglia <castaglia>
 
-2007-10-15 23:12  castaglia
+	* NEWS, include/netacl.h, src/class.c, src/netacl.c: Bug#3033 -
+	Class rules not honoring '!' negation character.
 
-	* src/main.c:
-	  Add some missing (albeit sometimes unnecessary) 'break'
-	  statements.
+2008-01-18  castaglia <castaglia>
 
-2007-10-15 23:07  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.
 
-	* src/main.c:
-	  Remove crufty unused ElectricFence code.
+2008-01-17  castaglia <castaglia>
 
-2007-10-15 11:16  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.
 
-	* configure:
-	  Updated configure.
+2008-01-17  castaglia <castaglia>
 
-2007-10-15 11:11  castaglia
+	* NEWS, src/netaddr.c: Bug#3031 - IPv4-mapped IPv6 connections not
+	matched properly against IPv4 glob ACLs.
 
-	* 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).
+2008-01-16  castaglia <castaglia>
 
-2007-10-15 10:53  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.
 
-	* NEWS, modules/mod_log.c:
-	  Bug#2992 - The %f LogFormat variable expanded improperly to "-"
-	  for SITE CHMOD.
+2008-01-16  castaglia <castaglia>
 
-2007-10-15 10:30  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)
 
-	* configure:
-	  Updated configure.
+2008-01-15  castaglia <castaglia>
 
-2007-10-15 10:27  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).
 
-	* NEWS, acconfig.h, config.h.in, configure.in:
-	  Bug#2993 - Unable to compile 1.3.1 on Debian unstable/amd64.
+2008-01-15  castaglia <castaglia>
 
-2007-10-15 09:51  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.
 
-	* NEWS, RELEASE_NOTES, include/modules.h, src/main.c,
-	  src/modules.c:
-	  Bug#2937 - Should list modules (with versions) for modules loaded
-	  as DSOs.
+2008-01-15  castaglia <castaglia>
 
-2007-10-15 09:23  castaglia
+	* contrib/mod_ratio.c: Silence some compiler warnings about
+	uninitialized variables.
 
-	* doc/howto/DSO.html:
-	  Update the DSO doc with better instructions, after having run
-	  through them myself.
+2008-01-15  castaglia <castaglia>
 
-2007-10-14 15:59  castaglia
+	* src/data.c: Found a few more places where text needs to be marked
+	for localisation.
 
-	* 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.
+2008-01-14  castaglia <castaglia>
 
-2007-10-13 18:10  castaglia
+	* doc/contrib/mod_tls.html: Update TLSLog description to note
+	requirement about parent directory permissions.
 
-	* contrib/mod_tls.c: Explicitly cast one of the tls_log() arguments
-	  to an unsigned int, to silence compilers warning of mismatched
-	  printf arguments.
+2008-01-14  castaglia <castaglia>
 
-2007-10-13 17:48  castaglia
+	* include/ftp.h, modules/mod_facts.c: Add definitions of the MLSD,
+	MLST commands to ftp.h.
 
-	* 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.
+2008-01-12  castaglia <castaglia>
 
-2007-10-12 22:16  castaglia
+	* NEWS, contrib/mod_rewrite.c: Bug#3027 - Unmatched backreferences
+	are not handled properly in RewriteRules.
 
-	* 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.
+2008-01-12  castaglia <castaglia>
 
-2007-10-12 20:08  castaglia
+	* contrib/mod_rewrite.c: Additional changes needed for the full fix
+	for Bug #3026.
 
-	* configure:
-	  Update configure.
+2008-01-12  castaglia <castaglia>
 
-2007-10-12 20:05  castaglia
+	* configure: Updated configure.
 
-	* 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.
+2008-01-12  castaglia <castaglia>
 
-2007-10-12 18:47  castaglia
+	* configure.in: Copy-n-paste error in configure.in added erroneous
+	line break.
 
-	* 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.
+2008-01-12  castaglia <castaglia>
 
-2007-10-12 13:40  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.
 
-	* NEWS, contrib/mod_radius.c, include/auth.h, src/auth.c:
-	  Bug#2989 - Unable to authenticate users if RadiusUserInfo is not
-	  configured.
+2008-01-12  castaglia <castaglia>
 
-2007-10-12 09:05  castaglia
+	* configure: Updated configure.
 
-	* contrib/mod_tls.c:
-	  Style cleanup; no functional changes.
+2008-01-12  castaglia <castaglia>
 
-2007-10-12 09:01  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>.
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#2990 - TLSCryptoDevice does not work.
+2008-01-11  castaglia <castaglia>
 
-2007-10-11 11:08  castaglia
+	* NEWS, contrib/mod_rewrite.c: Bug#3026 - RewriteCondition does not
+	negate -d -f -s tests.
 
-	* doc/howto/ConfigurationTricks.html:
-	  Add note about how different PassivePorts are not needed for
-	  different proftpd instances.
+2008-01-11  castaglia <castaglia>
 
-2007-10-11 10:07  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.
 
-	* RELEASE_NOTES:
-	  Mention mod_unique_id in the release notes.
+2008-01-10  castaglia <castaglia>
 
-2007-10-11 10:06  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.
 
-	* 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.
+2008-01-10  castaglia <castaglia>
 
-2007-10-11 10:02  castaglia
+	* contrib/mod_sql.c: Remove the mod_sql code which used to support
+	the (deprecated and removed) SQLHomedirOnDemand feature.
 
-	* NEWS, contrib/mod_unique_id.c, doc/contrib/index.html,
-	  doc/contrib/mod_unique_id.html:
-	  Added the mod_unique_id contrib module.
+2008-01-10  castaglia <castaglia>
 
-2007-10-11 09:58  castaglia
+	* configure: Updated configure.
 
-	* contrib/mod_dynmasq.c:
-	  Use the PR_ macro namespace.
+2008-01-10  castaglia <castaglia>
 
-2007-10-11 09:47  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.
 
-	* contrib/mod_tls.c:
-	  Had checking for <Limit> on PROT command in the wrong place.
-	  Oops.
+2008-01-09  castaglia <castaglia>
 
-2007-10-11 09:45  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.
 
-	* RELEASE_NOTES, doc/contrib/mod_tls.html:
-	  Document the new TLSRequired policy configurations.
+2008-01-09  castaglia <castaglia>
 
-2007-10-11 09:39  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.)
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#2968 - Ability to allow protection on control channel, but
-	  reject protection on data channel.
+2008-01-09  castaglia <castaglia>
 
-2007-10-11 09:32  castaglia
+	* NEWS, contrib/mod_sql.c: Bug#3025 - Using %b in a SQLNamedQuery
+	does not properly log the file size for DELE.
 
-	* RELEASE_NOTES:
-	  Start of a new release notes doc for the 1.3.2 series.
+2008-01-09  castaglia <castaglia>
 
-2007-10-11 09:29  castaglia
+	* contrib/mod_sql_odbc.c: Removed "IMHO" from comment describing
+	Oracle library bug; it's been confirmed by Oracle.
 
-	* doc/contrib/index.html:
-	  The mod_ban module was not in the contrib index list.  Oops.
+2008-01-09  castaglia <castaglia>
 
-2007-10-11 09:28  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.
 
-	* doc/contrib/mod_dynmasq.html:
-	  Updating the mod_dynmasq docs for their new home.
+2008-01-09  castaglia <castaglia>
 
-2007-10-11 09:26  castaglia
+	* modules/mod_core.c: Explicit cast to avoid compiler warning.
 
-	* NEWS, contrib/mod_dynmasq.c, doc/contrib/index.html,
-	  doc/contrib/mod_dynmasq.html:
-	  Adding the mod_dynmasq module to the source distribution.
+2008-01-08  castaglia <castaglia>
 
-2007-10-11 09:23  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).
 
-	* contrib/: INSTALL.mod_wrap, README.mod_wrap:
-	  Removing obsoleted documentation; this documentation is now
-	  available in doc/contrib/mod_wrap.html.
+2008-01-08  castaglia <castaglia>
 
-2007-10-11 09:21  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.
 
-	* doc/howto/: ConfigurationTricks.html, index.html:
-	  Adding ConfigurationTricks doc to source distribution.
+2008-01-08  castaglia <castaglia>
 
-2007-10-10 19:37  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.
 
-	* src/ctrls.c:
-	  Use "credentials" consistently, not the lazy "creds", in log
-	  messages.
+2008-01-08  castaglia <castaglia>
 
-2007-10-10 19:35  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.
 
-	* configure:
-	  Updating configure.
+2008-01-08  castaglia <castaglia>
 
-2007-10-10 19:31  castaglia
+	* README.modules, RELEASE_NOTES: Mention the new database backend
+	modules: mod_sql_odbc and mod_sql_sqlite.
 
-	* 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.
+2008-01-08  castaglia <castaglia>
 
-2007-10-10 10:13  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.
 
-	* 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.
+2008-01-08  castaglia <castaglia>
 
-2007-10-09 20:56  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.
 
-	* 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).
+2008-01-08  castaglia <castaglia>
 
-2007-10-09 20:44  castaglia
+	* NEWS, contrib/mod_sql_odbc.c, doc/contrib/mod_sql_odbc.html: Add
+	the mod_sql_odbc module to the contrib area.
 
-	* 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.
+2008-01-08  castaglia <castaglia>
 
-2007-10-09 20:38  castaglia
+	* configure: Updated configure.
 
-	* 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.
+2008-01-08  castaglia <castaglia>
 
-2007-10-09 19:32  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).
 
-	* 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.
+2008-01-08  castaglia <castaglia>
 
-2007-10-09 14:56  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.
 
-	* 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.
+2008-01-08  castaglia <castaglia>
 
-2007-10-09 14:54  castaglia
+	* NEWS, contrib/mod_sql_sqlite.c, doc/contrib/mod_sql_sqlite.html: 
+	Add the mod_sql_sqlite module to the contrib area.
 
-	* src/netaddr.c:
-	  Add trace logging for when comparing netaddrs yields no match,
-	  for completeness.
+2008-01-08  castaglia <castaglia>
 
-2007-10-09 10:30  castaglia
+	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Typo.
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#2982 - Support limit on number of simultaneous file transfers
-	  from one client.
+2008-01-08  castaglia <castaglia>
 
-2007-10-09 10:24  castaglia
+	* configure: Updated configure.
 
-	* NEWS, contrib/mod_wrap2_file.c:
-	  Bug#2988 - mod_wrap2_file ignores "ALL" keyword.
+2008-01-08  castaglia <castaglia>
 
-2007-10-08 11:47  castaglia
+	* configure.in: Decided I do not need the leading '$' character in
+	the configure invocation string, for I am capricious that way.
 
-	* NEWS, src/auth.c:
-	  Bug#2986 - Authoritative PAM is not honored.
+2008-01-08  castaglia <castaglia>
 
-2007-10-08 11:22  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.
 
-	* NEWS, contrib/mod_ban.c:
-	  Bug#2987 - Verbose ban information (i.e. 'ftpdctl ban info -v')
-	  not working on FreeBSD.
+2008-01-07  castaglia <castaglia>
 
-2007-10-05 11:36  castaglia
+	* configure: Update configure.
 
-	* doc/contrib/mod_ban.html:
-	  Document the new ClientConnectRate BanOnEvent rule.
+2008-01-07  castaglia <castaglia>
 
-2007-10-05 11:33  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.
 
-	* NEWS, contrib/mod_ban.c:
-	  Bug#2979 - Ability to ban clients which connect too often.
+2008-01-07  castaglia <castaglia>
 
-2007-10-05 10:33  castaglia
+	* NEWS, contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: 
+	Bug#3022 - Timed SQL connections don't reconnect to database.
 
-	* modules/mod_core.c:
-	  Removing support for the deprecated DisplayFirstChdir directive;
-	  it has been replaced with the DisplayChdir directive.
+2008-01-05  castaglia <castaglia>
 
-2007-10-05 10:25  castaglia
+	* README.modules: Update README.modules to mention the new modules.
 
-	* contrib/mod_sql.c:
-	  Removing deprecated SQLHomedirOnDemand directive; it has been
-	  superceded by the CreateHome directive.
+2008-01-05  castaglia <castaglia>
 
-2007-10-05 10:22  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.
 
-	* modules/mod_xfer.c:
-	  Removing support for the deprecated HiddenStor directive; it has
-	  been superceded by the HiddenStores directive.
+2008-01-05  castaglia <castaglia>
 
-2007-10-05 10:13  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.
 
-	* doc/contrib/mod_ctrls_admin.html:
-	  Document the new 'dns clear cache' ftpdctl command.
+2008-01-05  castaglia <castaglia>
 
-2007-10-05 10:08  castaglia
+	* contrib/mod_sql.c: Remove the unused add_virtualbool() function.
 
-	* 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.
+2008-01-05  castaglia <castaglia>
 
-2007-10-05 10:04  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.
 
-	* src/auth.c:
-	  Forgot semicolon.
+2008-01-05  castaglia <castaglia>
 
-2007-10-05 10:00  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.
 
-	* NEWS, include/auth.h, src/auth.c, src/table.c:
-	  Bug#2984 - mod_auth_file uid2name() does not cache results
-	  causing slow LIST response.
+2008-01-05  castaglia <castaglia>
 
-2007-10-05 09:57  castaglia
+	* src/xferlog.c: Forgot to check in the changes for this file,
+	relating to Bug#2453.  Without these, the build fails.
 
-	* configure:
-	  Updating configure.
+2008-01-05  castaglia <castaglia>
 
-2007-10-05 09:55  castaglia
+	* contrib/mod_ban.c, contrib/mod_wrap.c, modules/mod_auth.c: Fix a
+	few more places where text needs to be localised.
 
-	* NEWS, config.h.in, configure.in, modules/mod_auth_unix.c:
-	  Bug#2983 - Use getgrouplist(3) for group lookup, if available.
+2008-01-05  castaglia <castaglia>
 
-2007-10-05 09:48  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#3023 - Allow uploading to /dev/null.
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#2969 - Allow APPE after REST.
+2008-01-05  castaglia <castaglia>
 
-2007-10-05 09:44  castaglia
+	* configure: Updated configure.
 
-	* doc/contrib/mod_tls.html:
-	  Document the new EnableDiags TLSOption.
+2008-01-05  castaglia <castaglia>
 
-2007-10-05 09:42  castaglia
+	* RELEASE_NOTES, doc/modules/mod_ident.html: Update documentation
+	for the new mod_ident module.
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#2978 - Support more verbose OpenSSL diagnostic logging.
+2008-01-05  castaglia <castaglia>
 
-2007-10-05 09:40  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.
 
-	* include/version.h:
-	  Start of a new release cycle (1.3.2).
+2008-01-05  castaglia <castaglia>
 
-2007-10-05 08:47  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.
 
-	* NEWS:
-	  Forgot to update NEWS with the release time.
+2008-01-04  castaglia <castaglia>
 
-2007-10-05 08:40  castaglia
+	* configure: Updated configure.  (Upgraded to autoconf-2.61 as
+	well.)
 
-	* ChangeLog:
-	  Updating the ChangeLog.
+2008-01-04  castaglia <castaglia>
 
-2007-10-05 08:38  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.
 
-	* doc/: Configuration.html, Configuration.pdf:
-	  Updating the HTML page with the configuration directives.  Also
-	  added a PDF copy of the same information (thanks Sven!).
+2008-01-04  castaglia <castaglia>
 
-2007-10-05 08:15  castaglia
+	* modules/mod_auth_unix.c: Fix compiler warning about using the
+	wrong datatype when calling getgrouplist(2).
 
-	* contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Updating version for 1.3.1-stable.
+2008-01-04  castaglia <castaglia>
 
-2007-10-04 10:04  castaglia
+	* src/dirtree.c: Use socklen_t, not int, for getsockopt(2) calls.
 
-	* contrib/mod_tls.c:
-	  Log a PID as an explicit unsigned int, not an implicit int.
-	  Quells a compiler warning about mismatched printf arguments.
+2008-01-03  castaglia <castaglia>
 
-2007-10-04 10:01  castaglia
+	* configure: Updated configure.
 
-	* src/env.c:
-	  Quell a compiler warning about casting away the const qualifier,
-	  on systems which support the putenv(3) function.
+2008-01-03  castaglia <castaglia>
 
-2007-10-04 09:24  castaglia
+	* NEWS, config.h.in, configure.in, modules/mod_auth_unix.c: Bug#1896
+	- Check AIX account status.
 
-	* RELEASE_NOTES:
-	  Updating the release notes, preparing for a release.
+2008-01-03  castaglia <castaglia>
 
-2007-10-03 19:25  castaglia
+	* NEWS, contrib/mod_ratio.c: Bug#1973 - mod_ratio uses the too-small
+	int datatype for tracking bytes.
 
-	* 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.
+2008-01-03  castaglia <castaglia>
 
-2007-10-03 18:46  castaglia
+	* NEWS, contrib/mod_ratio.c: Bug#1771 - mod_ratio compile warnings.  Add better formatting, error checking, function definition, etc.
 
-	* include/table.h:
-	  Correct comment in table.h.
+2008-01-03  castaglia <castaglia>
 
-2007-10-02 15:29  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.
 
-	* doc/howto/TLS.html:
-	  Add mention of RFC 2228, and URL, to TLS doc.
+2008-01-03  castaglia <castaglia>
 
-2007-10-01 14:41  castaglia
+	* modules/mod_facts.c: Fix printf(3) format warning in mod_facts.
 
-	* modules/mod_delay.c:
-	  Update the trace message for the other location in mod_delay
-	  where the DelayTable is mapped into memory.
+2008-01-03  castaglia <castaglia>
 
-2007-10-01 14:25  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.
 
-	* modules/mod_delay.c:
-	  Log the table size, and the table fd, when attempting to map a
-	  DelayTable into memory.
+2008-01-02  castaglia <castaglia>
 
-2007-10-01 09:40  castaglia
+	* RELEASE_NOTES: Mention the new TransferPriority directive.
 
-	* doc/modules/mod_delay.html:
-	  Change to using relative URLs, so that the documentation can be
-	  used outside of a network connection.
+2008-01-02  castaglia <castaglia>
 
-2007-10-01 08:14  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#2731 - Add ability to set process
+	priority for file transfers.
 
-	* doc/modules/mod_delay.html:
-	  Add notes about mod_delay usage to the mod_delay documentation.
+2008-01-02  castaglia <castaglia>
 
-2007-09-30 16:38  castaglia
+	* modules/mod_xfer.c: Need to add the name of the timer added, as
+	per the changed Timer API.
 
-	* src/timers.c: Catch edge case where the timers list may be
-	  empty/null.
+2008-01-02  castaglia <castaglia>
 
-2007-09-30 14:05  castaglia
+	* configure: Updated configure.
 
-	* NEWS, src/main.c: Bug#2981 - Command-line long options --ipv4 and
-	  --ipv6 do not work.
+2008-01-02  castaglia <castaglia>
 
-2007-09-27 17:53  castaglia
+	* configure.in: Missing quotation mark broke the configure script.
 
-	* 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.:
+2008-01-02  castaglia <castaglia>
 
-	    226 Transfer complete
-	    226 Abort successful
+	* 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).
 
-	  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.
+2008-01-02  castaglia <castaglia>
 
-	  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.
+	* NEWS, contrib/mod_sql.c: Bug#2889 - Update SQLLog so that RNTO
+	stores the path when using the %F variable.
 
-2007-09-27 17:47  castaglia
+2008-01-02  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.
+	* NEWS, modules/mod_auth.c, src/auth.c: Bug#2997 - Uploading files
+	with "~" causes harmless but annoying log message.
 
-2007-09-27 09:13  castaglia
+2008-01-01  jwm <jwm>
 
-	* modules/mod_xfer.c:
-	  Add some tracing to aborted transfers.
+	* contrib/mod_ldap.c: happy new year
 
-2007-09-27 09:04  castaglia
+2008-01-01  jwm <jwm>
 
-	* src/trace.c:
-	  Add the 'xfer' channel to the list of default trace channels.
+	* 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-09-25 09:27  castaglia
+2007-12-31  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  No need to report on system call errors of "Success".
+	* 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-09-24 19:16  castaglia
+2007-12-31  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.
+	* 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-09-18 20:22  castaglia
+2007-12-31  castaglia <castaglia>
 
-	* doc/howto/TLS.html:
-	  Minor formatting tweak.
+	* RELEASE_NOTES, doc/modules/mod_auth_pam.html: Updated
+	documentation.
 
-2007-09-18 20:14  castaglia
+2007-12-31  castaglia <castaglia>
 
-	* doc/howto/TLS.html:
-	  Add FAQ about a commonly-seen error in the TLSLog, and how using
-	  the NoCertRequest TLSOption may help.
+	* NEWS, modules/mod_auth_pam.c: Bug#3014 - Optionally set PAM_TTY
+	item when using PAM.
 
-2007-09-17 10:36  castaglia
+2007-12-31  castaglia <castaglia>
 
-	* NEWS, modules/Makefile.in:
-	  Bug#2974 - Install error if multiple modules, using their own
-	  build script, are built as shared modules.
+	* doc/rfc/rfc2640.txt: Add RFC2640 to the docs collection.
 
-2007-09-14 09:08  castaglia
+2007-12-31  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  When handling an EPSV command, close any existing data connection
-	  first.  Related to Bug #2900.
+	* configure: Updated configure.
 
-2007-09-13 14:32  castaglia
+2007-12-31  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.
+	* 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-09-13 08:25  castaglia
+2007-12-31  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.
+	* 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.
 
-	  Patch suggested by Nigel Kukard a while ago.
+2007-12-31  castaglia <castaglia>
 
-2007-09-13 08:22  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#3003 - Fallback to normal
+	transmission in case of sendfile EOVERFLOW error missing.
 
-	* 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-12-31  castaglia <castaglia>
 
-2007-09-13 07:57  castaglia
+	* RELEASE_NOTES: Updating the release notes.
 
-	* modules/mod_dso.c:
-	  Fix compiler warning about redeclaring a variable if Controls
-	  support is enabled.
+2007-12-31  castaglia <castaglia>
 
-2007-09-12 11:08  castaglia
+	* NEWS, modules/mod_auth.c: Bug#2894 - Mark the AnonymousGroup
+	directive as deprecated, to be removed in a future release.
 
-	* doc/howto/Vhost.html:
-	  Remove mention of the now-deprecated Bind directive.
+2007-12-31  castaglia <castaglia>
 
-2007-09-11 19:24  castaglia
+	* doc/modules/mod_facts.html: Adding documentation (though brief)
+	for the new mod_facts module.
 
-	* 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-12-31  castaglia <castaglia>
 
-2007-09-11 15:58  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.
 
-	* modules/mod_dso.c:
-	  Add trace logging of the succesful loading of modules/files.
+2007-12-31  castaglia <castaglia>
 
-2007-09-11 10:47  castaglia
+	* configure: Updated configure.
 
-	* 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-12-31  castaglia <castaglia>
 
-2007-09-10 17:52  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.
 
-	* contrib/mod_sql.c:
-	  Cast the off_t value of total_xfer_bytes properly, and quell
-	  warnings from picky compilers.
+2007-12-31  castaglia <castaglia>
 
-2007-09-10 17:49  castaglia
+	* NEWS, modules/mod_auth.c: Bug#3019 - DisplayLogin in <Anonymous>
+	section not displayed properly.
 
-	* src/log.c:
-	  When writing to utmp/wtmp logs, we're really not concerned if we
-	  fail to truncate the file as requested.
+2007-12-22  castaglia <castaglia>
 
-2007-09-10 17:47  castaglia
+	* modules/mod_lang.c: Pedantic correction of indentation, so that it
+	is consistent with the style of the rest of the file.
 
-	* 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-12-22  castaglia <castaglia>
 
-2007-09-10 17:44  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.
 
-	* 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-12-18  castaglia <castaglia>
 
-2007-09-10 17:42  castaglia
+	* NEWS, contrib/mod_tls.c: Bug#3013 - "TLSOptions AllowPerUser" not
+	working as expected.
 
-	* modules/mod_xfer.c:
-	  Make sure to cast the restart_pos value (an off_t), in order to
-	  satisfy picky compilers.
+2007-12-18  castaglia <castaglia>
 
-2007-09-10 15:55  castaglia
+	* modules/mod_site.c: Typo.
 
-	* contrib/dist/rpm/proftpd.spec:
-	  Fix syntax of RPM options for some modules.
+2007-12-18  castaglia <castaglia>
 
-2007-09-07 17:13  castaglia
+	* modules/mod_auth.c: Make sure to localise strings sent via
+	pr_response_send().
 
-	* 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-12-15  castaglia <castaglia>
 
-2007-09-07 09:13  jwm
+	* 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.
 
-	* contrib/mod_ldap.c: Fix anonymous binds when
-	  draft-ietf-ldapext-ldap-c-api-04 functions are used.
+2007-12-12  castaglia <castaglia>
 
-	  Submitted by: Quentin Garnier <cube at cubidou.net>
+	* NEWS, contrib/mod_site_misc.c, doc/contrib/mod_site_misc.html: 
+	Bug#3012 - SITE UTIME should support YYYYMMDDhhmmss format.
 
-2007-09-04 14:14  castaglia
+2007-12-10  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.
+	* 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-08-29 19:00  castaglia
+2007-11-16  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.
+	* NEWS, src/data.c: Bug#3001 - Incomplete downloads not logged
+	properly in TransferLog if sendfile is used.
 
-2007-08-29 10:47  castaglia
+2007-11-16  castaglia <castaglia>
 
-	* doc/howto/SQL.html:
-	  Added SQL FAQ about shared library loader errors.
+	* 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-08-24 08:07  castaglia
+2007-11-15  castaglia <castaglia>
 
-	* doc/howto/Debugging.html:
-	  Mention using `proftpd -V' in the Debugging howto.
+	* NEWS, contrib/mod_quotatab.c: Bug#3006 - 'ScanOnLogin' QuotaOption
+	may try to update a nonexistent tally record.
 
-2007-08-22 07:50  castaglia
+2007-11-15  castaglia <castaglia>
 
-	* src/: fsio.c, 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.
+	* NEWS, contrib/mod_quotatab.c: Bug#3004 - 'ScanOnLogin' QuotaOption
+	does not honor QuotaDirectoryTally directive.
 
-2007-08-21 19:00  jwm
+2007-11-15  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: missed version number
+	* src/main.c: Use REG_RIP for 64-bit machines, rather than REG_EIP,
+	if the 'stacktrace' --enable-devel configure option is used.
 
-2007-08-21 15:36  castaglia
+2007-11-15  castaglia <castaglia>
 
-	* NEWS, lib/sstrncpy.c:
-	  Bug#2964 - Building RPM fails because of *snprintf trying to be
-	  redefined.
+	* NEWS, src/data.c, src/netio.c: Bug#3005 - OOB abort closes the
+	control connection.
 
-2007-08-17 14:41  jwm
+2007-10-26  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: release 2.8.17
+	* 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-08-09 15:56  castaglia
+2007-10-25  castaglia <castaglia>
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#2963 - Use of -A option for LIST/NLST commands not cleared
-	  for subsequent commands.
+	* modules/Makefile.in: Be sure to clean up any .a archive files
+	around as well.
 
-2007-08-09 15:16  castaglia
+2007-10-22  castaglia <castaglia>
 
-	* README.facl:
-	  Remove extraneous whitespace.
+	* 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-08-03 07:52  castaglia
+2007-10-18  castaglia <castaglia>
 
-	* NEWS, contrib/mod_wrap2_file.c, contrib/mod_wrap2_sql.c,
-	  contrib/mod_wrap2/mod_wrap2.c, contrib/mod_wrap2/mod_wrap2.h.in:
-	  Bug#2958 - mod_wrap2 does not handle multiple rules in access
-	  files.
+	* NEWS: Typo.
 
-2007-07-31 15:08  castaglia
+2007-10-17  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Coding style changes; no functional change.
+	* NEWS, contrib/mod_tls.c: Bug#2996 - Requirement for same OpenSSL
+	header, library version in mod_tls too restrictive.
 
-2007-07-31 08:17  castaglia
+2007-10-16  castaglia <castaglia>
 
-	* NEWS, modules/mod_delay.c:
-	  Bug#2955 - Undeclared identifier MAP_FAILED for mod_delay on AIX.
+	* RELEASE_NOTES: Add more release notes fragments, to be filled in
+	more detail later.
 
-2007-07-24 15:09  castaglia
+2007-10-16  castaglia <castaglia>
 
-	* NEWS, src/dirtree.c:
-	  Bug#2950 - Hostname with multiple IP addresses might cause
-	  "ai_family not supported" error if IPv6 support enabled.
+	* NEWS, modules/mod_core.c: Bug#2995 - The %f LogFormat variable
+	expanded to same file for RNFR and RNTO.
 
-2007-07-19 11:12  castaglia
+2007-10-16  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.
+	* src/main.c: Add some missing (albeit sometimes unnecessary)
+	'break' statements.
 
-2007-07-18 09:41  castaglia
+2007-10-16  castaglia <castaglia>
 
-	* NEWS, modules/mod_facl.c:
-	  Bug#2946 - Anonymous logins fail if the mod_facl module is
-	  enabled.
+	* src/main.c: Remove crufty unused ElectricFence code.
 
-2007-07-07 07:24  jwm
+2007-10-15  castaglia <castaglia>
 
-	* 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.
+	* configure: Updated configure.
 
-2007-07-06 15:40  castaglia
+2007-10-15  castaglia <castaglia>
 
-	* contrib/: mod_sql_mysql.c, mod_sql_postgres.c:
-	  Correct misspellings.
+	* 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-07-06 09:51  castaglia
+2007-10-15  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql_mysql.c:
-	  Bug#2944 - mod_sql_mysql fails to compile due to missing
-	  quotation.
+	* NEWS, modules/mod_log.c: Bug#2992 - The %f LogFormat variable
+	expanded improperly to "-" for SITE CHMOD.
 
-2007-07-05 08:18  castaglia
+2007-10-15  castaglia <castaglia>
 
-	* NEWS, include/version.h:
-	  Reset files for 1.3.1rc4.
+	* configure: Updated configure.
 
-2007-07-04 12:34  castaglia
+2007-10-15  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updating ChangeLog.
+	* NEWS, acconfig.h, config.h.in, configure.in: Bug#2993 - Unable to
+	compile 1.3.1 on Debian unstable/amd64.
 
-2007-07-04 12:33  castaglia
+2007-10-15  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Preparing for 1.3.1rc3 release.
+	* 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-07-04 12:27  castaglia
+2007-10-15  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Updating the release notes, getting ready for a release.
+	* doc/howto/DSO.html: Update the DSO doc with better instructions,
+	after having run through them myself.
 
-2007-07-04 11:08  castaglia
+2007-10-14  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.
+	* 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-07-02 16:20  jwm
+2007-10-14  castaglia <castaglia>
 
-	* 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
+	* 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-07-02 13:27  castaglia
+2007-10-14  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Updating release notes.
+	* 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-07-02 11:09  castaglia
+2007-10-13  castaglia <castaglia>
 
-	* contrib/mod_wrap2/mod_wrap2.c:
-	  Make sure that mod_wrap2 honors the runtime UseIPv6 configuration
-	  directive.
+	* 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-06-28 10:41  castaglia
+2007-10-13  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.
+	* configure: Update configure.
 
-2007-06-28 08:52  castaglia
+2007-10-13  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().
+	* 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-06-25 15:55  castaglia
+2007-10-13  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.
+	* 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-06-25 10:19  castaglia
+2007-10-12  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ban.c:
-	  Bug#2942 - BanLog directive does not accept "none" parameter.
+	* NEWS, contrib/mod_radius.c, include/auth.h, src/auth.c: Bug#2989 -
+	Unable to authenticate users if RadiusUserInfo is not configured.
 
-2007-06-25 08:10  castaglia
+2007-10-12  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#2939 - Anonymous restrictions apply after a failed anonymous
-	  login followed by a successful normal user login.
+	* contrib/mod_tls.c: Style cleanup; no functional changes.
 
-2007-06-18 19:04  castaglia
+2007-10-12  castaglia <castaglia>
 
-	* NEWS:
-	  Fix typos.
+	* NEWS, contrib/mod_tls.c: Bug#2990 - TLSCryptoDevice does not work.
 
-2007-06-18 14:45  castaglia
+2007-10-11  castaglia <castaglia>
 
-	* doc/howto/Quotas.html:
-	  Add a FAQ about group quota determination.
+	* doc/howto/ConfigurationTricks.html: Add note about how different
+	PassivePorts are not needed for different proftpd instances.
 
-2007-06-12 11:57  castaglia
+2007-10-11  castaglia <castaglia>
 
-	* src/auth.c:
-	  Yet another patch, working on the PAM-related fallout from Bug
-	  #2922.
+	* RELEASE_NOTES: Mention mod_unique_id in the release notes.
 
-2007-06-12 10:41  castaglia
+2007-10-11  castaglia <castaglia>
 
-	* modules/mod_auth_file.c:
-	  Remove some debug logging which inadvertently crept into
-	  mod_auth_file.
+	* 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-06-11 17:59  castaglia
+2007-10-11  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.
+	* NEWS, contrib/mod_unique_id.c, doc/contrib/index.html,
+	doc/contrib/mod_unique_id.html: Added the mod_unique_id contrib
+	module.
 
-2007-06-11 08:28  castaglia
+2007-10-11  castaglia <castaglia>
 
-	* NEWS, contrib/mod_wrap2/mod_wrap2.c:
-	  Bug#2938 - mod_wrap2 does not honor WrapTables for <Anonymous>
-	  logins.
+	* contrib/mod_dynmasq.c: Use the PR_ macro namespace.
 
-2007-06-06 17:30  castaglia
+2007-10-11  castaglia <castaglia>
 
-	* contrib/: mod_ifsession.c, mod_rewrite.c:
-	  Add reporting of the module version for the mod_ifsession and
-	  mod_rewrite modules.
+	* contrib/mod_tls.c: Had checking for <Limit> on PROT command in the
+	wrong place.  Oops.
 
-2007-06-04 16:53  castaglia
+2007-10-11  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c:
-	  Bug#2935 - DELE command doesn't check file stat result before
-	  logging.
+	* RELEASE_NOTES, doc/contrib/mod_tls.html: Document the new
+	TLSRequired policy configurations.
 
-2007-06-03 20:57  jwm
+2007-10-11  castaglia <castaglia>
 
-	* 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.
+	* NEWS, contrib/mod_tls.c: Bug#2968 - Ability to allow protection on
+	control channel, but reject protection on data channel.
 
-2007-05-30 08:52  castaglia
+2007-10-11  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.
+	* RELEASE_NOTES: Start of a new release notes doc for the 1.3.2
+	series.
 
-2007-05-25 17:26  castaglia
+2007-10-11  castaglia <castaglia>
 
-	* doc/howto/Quotas.html:
-	  Add a FAQ about the QuotaExcludeFilter directive.
+	* doc/contrib/index.html: The mod_ban module was not in the contrib
+	index list.  Oops.
 
-2007-05-24 10:17  castaglia
+2007-10-11  castaglia <castaglia>
 
-	* doc/howto/Tracing.html:
-	  No need for the quotations -- they're a bit much.
+	* doc/contrib/mod_dynmasq.html: Updating the mod_dynmasq docs for
+	their new home.
 
-2007-05-24 10:15  castaglia
+2007-10-11  castaglia <castaglia>
 
-	* RELEASE_NOTES, doc/howto/Tracing.html, doc/howto/index.html:
-	  Adding tracing howto.
+	* NEWS, contrib/mod_dynmasq.c, doc/contrib/index.html,
+	doc/contrib/mod_dynmasq.html: Adding the mod_dynmasq module to the
+	source distribution.
 
-2007-05-24 08:47  castaglia
+2007-10-11  castaglia <castaglia>
 
-	* src/help.c:
-	  The list of commands displayed for the HELP command was being
-	  truncated.  Fix suggested by Richard Gray.
+	* doc/howto/ConfigurationTricks.html, doc/howto/index.html: Adding
+	ConfigurationTricks doc to source distribution.
 
-2007-05-23 08:25  castaglia
+2007-10-11  castaglia <castaglia>
 
-	* README.PAM:
-	  Update the PAM readme with notes for Linux, per Bug#2907.
+	* src/ctrls.c: Use "credentials" consistently, not the lazy "creds",
+	in log messages.
 
-2007-05-22 14:21  castaglia
+2007-10-11  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.
+	* configure: Updating configure.
 
-2007-05-22 14:01  castaglia
+2007-10-11  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* 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-05-22 13:54  castaglia
+2007-10-10  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.
+	* 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-05-22 10:45  castaglia
+2007-10-10  castaglia <castaglia>
 
-	* include/options.h:
-	  Minor style nit.  No functional change.
+	* 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-05-21 09:10  castaglia
+2007-10-10  castaglia <castaglia>
 
-	* src/inet.c:
-	  Use tracing to log if there was a problem using getsockopt() to
-	  get the IPV6_V6ONLY option.
+	* 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-05-21 09:04  castaglia
+2007-10-10  castaglia <castaglia>
 
-	* NEWS, src/inet.c:
-	  Bug#2932 - Syslog contains "error setting IPV6_V6ONLY: Protocol
-	  not available".
+	* 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-05-21 08:30  castaglia
+2007-10-10  castaglia <castaglia>
 
-	* doc/howto/Directory.html:
-	  Include RNTO in the list of FTP commands affected by trailing
-	  "/*" suffixes in <Directory> lines.
+	* 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-05-21 08:19  castaglia
+2007-10-09  castaglia <castaglia>
 
-	* src/auth.c:
-	  Additional patch for Bug#2922, to check for and use mod_auth_pam
-	  for authentication, if present (and usable).
+	* 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-05-21 07:39  castaglia
+2007-10-09  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#2890 - SystemLog permission errors on SIGHUP when mod_tls is
-	  enabled.
+	* src/netaddr.c: Add trace logging for when comparing netaddrs
+	yields no match, for completeness.
 
-2007-05-18 18:51  castaglia
+2007-10-09  castaglia <castaglia>
 
-	* modules/mod_facl.c:
-	  Use the event handler defined for the "core.module-unload" event,
-	  when compiled as a DSO module.
+	* NEWS, modules/mod_xfer.c: Bug#2982 - Support limit on number of
+	simultaneous file transfers from one client.
 
-2007-05-16 08:25  castaglia
+2007-10-09  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.
+	* NEWS, contrib/mod_wrap2_file.c: Bug#2988 - mod_wrap2_file ignores
+	"ALL" keyword.
 
-2007-05-15 10:35  castaglia
+2007-10-08  castaglia <castaglia>
 
-	* src/netio.c:
-	  More work towards Bug#2920.  Hopefully this will be the last of
-	  that particular issue.
+	* NEWS, src/auth.c: Bug#2986 - Authoritative PAM is not honored.
 
-2007-05-14 19:23  castaglia
+2007-10-08  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Short-circuit out of xfer_rate_throttle() early, if the transfer
-	  has already been aborted.
+	* NEWS, contrib/mod_ban.c: Bug#2987 - Verbose ban information (i.e.
+	'ftpdctl ban info -v') not working on FreeBSD.
 
-2007-05-14 19:11  castaglia
+2007-10-05  castaglia <castaglia>
 
-	* doc/howto/Timestamps.html:
-	  Adjust link to mod_site_misc docs to use the local copy.
+	* doc/contrib/mod_ban.html: Document the new ClientConnectRate
+	BanOnEvent rule.
 
-2007-05-14 19:08  castaglia
+2007-10-05  castaglia <castaglia>
 
-	* doc/howto/Timestamps.html:
-	  Start adding a FAQ section about timezones and timestamps.
+	* NEWS, contrib/mod_ban.c: Bug#2979 - Ability to ban clients which
+	connect too often.
 
-2007-05-14 17:41  castaglia
+2007-10-05  castaglia <castaglia>
 
-	* modules/mod_xfer.c, src/data.c:
-	  More checks of XFER_ABORTED, in pursuit of a solution for
-	  Bug#2920.
+	* modules/mod_core.c: Removing support for the deprecated
+	DisplayFirstChdir directive; it has been replaced with the
+	DisplayChdir directive.
 
-2007-05-14 14:34  castaglia
+2007-10-05  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Attempt to handle aborted transfers that were in the midst of
-	  being throttled.
+	* contrib/mod_sql.c: Removing deprecated SQLHomedirOnDemand
+	directive; it has been superceded by the CreateHome directive.
 
-2007-05-14 14:31  castaglia
+2007-10-05  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Do not block SIGURG (used to abort transfers) when handling
-	  throttled transfers.
+	* modules/mod_xfer.c: Removing support for the deprecated HiddenStor
+	directive; it has been superceded by the HiddenStores directive.
 
-2007-05-10 15:47  castaglia
+2007-10-05  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.
+	* doc/contrib/mod_ctrls_admin.html: Document the new 'dns clear
+	cache' ftpdctl command.
 
-2007-05-10 14:55  castaglia
+2007-10-05  castaglia <castaglia>
 
-	* src/: inet.c, 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.
+	* 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.
 
-	  Came out of investigating Bug#2920.
+2007-10-05  castaglia <castaglia>
 
-2007-05-10 14:49  castaglia
+	* src/auth.c: Forgot semicolon.
 
-	* src/main.c:
-	  Add tracing of received FTP commands.
+2007-10-05  castaglia <castaglia>
 
-2007-05-09 10:15  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.
 
-	* contrib/: mod_sql_mysql.c, 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-10-05  castaglia <castaglia>
 
-2007-05-07 08:35  castaglia
+	* configure: Updating configure.
 
-	* NEWS, modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c:
+2007-10-05  castaglia <castaglia>
 
-	  Bug#2864 - DisplayLogin should work regardless of chroot.  This
-	  feature includes DisplayQuit and DisplayTransferFiles as well.
+	* NEWS, config.h.in, configure.in, modules/mod_auth_unix.c: Bug#2983
+	- Use getgrouplist(3) for group lookup, if available.
 
-	  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-10-05  castaglia <castaglia>
 
-2007-05-04 10:10  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#2969 - Allow APPE after REST.
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#2921 - NLST fails if using POSIX ACLs.
+2007-10-05  castaglia <castaglia>
 
-2007-05-04 10:05  castaglia
+	* doc/contrib/mod_tls.html: Document the new EnableDiags TLSOption.
 
-	* 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.
+2007-10-05  castaglia <castaglia>
 
-	  Hopefully this clears up some of the issues for Bug #2661.
+	* NEWS, contrib/mod_tls.c: Bug#2978 - Support more verbose OpenSSL
+	diagnostic logging.
 
-2007-04-30 10:47  castaglia
+2007-10-05  castaglia <castaglia>
 
-	* modules/mod_facl.c:
-	  Fix the initialization of mod_facl's configuration directives.
-	  Oops.
+	* include/version.h: Start of a new release cycle (1.3.2).
 
-2007-04-24 09:12  castaglia
+2007-10-05  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).
+	* NEWS: Forgot to update NEWS with the release time.
 
-2007-04-18 08:31  castaglia
+2007-10-05  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).
+	* ChangeLog: Updating the ChangeLog.
 
-2007-04-17 14:33  castaglia
+2007-10-05  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.
+	* doc/Configuration.html: Updating the HTML page with the
+	configuration directives.  Also added a PDF copy of the same
+	information (thanks Sven!).
 
-2007-04-17 14:03  castaglia
+2007-10-05  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.
+	* contrib/dist/rpm/proftpd.spec, include/version.h: Updating version
+	for 1.3.1-stable.
 
-2007-04-15 20:07  castaglia
+2007-10-04  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.
+	* 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-04-02 15:22  castaglia
+2007-10-04  castaglia <castaglia>
 
-	* src/inet.c:
-	  Allow data transfers on low-numbered sockets to work on SCO Unix.
+	* src/env.c: Quell a compiler warning about casting away the const
+	qualifier, on systems which support the putenv(3) function.
 
-2007-04-02 09:32  castaglia
+2007-10-04  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.
+	* RELEASE_NOTES: Updating the release notes, preparing for a
+	release.
 
-2007-03-27 20:49  castaglia
+2007-10-04  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.
+	* 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-03-27 20:33  castaglia
+2007-10-04  castaglia <castaglia>
 
-	* src/parser.c:
-	  Tag the temporary pool right after its creation, not after it has
-	  been used.
+	* include/table.h: Correct comment in table.h.
 
-2007-03-27 20:24  castaglia
+2007-10-02  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#2913 - TYPE command does not clear ASCII flag from LIST/NLST
-	  commands.
+	* doc/howto/TLS.html: Add mention of RFC 2228, and URL, to TLS doc.
 
-2007-03-27 19:58  castaglia
+2007-10-01  castaglia <castaglia>
 
-	* contrib/mod_rewrite.c:
-	  Updating coding style in a few places.  No functional change.
+	* modules/mod_delay.c: Update the trace message for the other
+	location in mod_delay where the DelayTable is mapped into memory.
 
-2007-03-26 17:35  castaglia
+2007-10-01  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.
+	* modules/mod_delay.c: Log the table size, and the table fd, when
+	attempting to map a DelayTable into memory.
 
-2007-03-21 20:54  castaglia
+2007-10-01  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Formatting tweaks, no functional change.
+	* doc/modules/mod_delay.html: Change to using relative URLs, so that
+	the documentation can be used outside of a network connection.
 
-2007-03-09 11:01  castaglia
+2007-10-01  castaglia <castaglia>
 
-	* sample-configurations/: anonymous.conf, basic.conf,
-	  complex-virtual.conf, mod_sql.conf:
-	  Update the example config files to use DisplayChdir, rather than
-	  the deprecated DisplayFirstChdir directive.
+	* doc/modules/mod_delay.html: Add notes about mod_delay usage to the
+	mod_delay documentation.
 
-2007-03-09 08:20  castaglia
+2007-09-30  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Bar configurations like:
+	* src/timers.c: Catch edge case where the timers list may be
+	empty/null.
 
-	    PassivePorts 2222 2222
+2007-09-30  castaglia <castaglia>
 
-	  where the max and min port numbers are the same; it's a useless
-	  configuration.
+	* NEWS, src/main.c: Bug#2981 - Command-line long options --ipv4 and
+	--ipv6 do not work.
 
-2007-03-06 10:30  castaglia
+2007-09-28  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.
+	* 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-03-06 09:55  castaglia
+2007-09-28  castaglia <castaglia>
 
-	* README.PAM:
-	  Typo.
+	* 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-03-01 08:07  castaglia
+2007-09-27  castaglia <castaglia>
 
-	* NEWS:
-	  Fix typo noted by Sven.
+	* modules/mod_xfer.c: Add some tracing to aborted transfers.
 
-2007-02-21 15:04  jwm
+2007-09-27  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: - bump version - previous commit wrt LDAPAttr
-	  fetching was submitted by TJ Saunders   <tj at castaglia.org>; got a
-	  little fresh with my editor and missed the paste
+	* src/trace.c: Add the 'xfer' channel to the list of default trace
+	channels.
 
-2007-02-21 15:02  jwm
+2007-09-25  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: fetch attribute redefinitions (LDAPAttr)
-	  before using any attribute names, such as when generating the
-	  default search filters
+	* contrib/mod_tls.c: No need to report on system call errors of
+	"Success".
 
-2007-02-21 14:58  jwm
+2007-09-25  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: wordwrap, error message tweak
+	* 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-02-20 14:01  castaglia
+2007-09-19  castaglia <castaglia>
 
-	* doc/contrib/: mod_quotatab_radius.html, mod_radius.html:
-	  Fix the documentation for the RadiusQuotaInfo.
+	* doc/howto/TLS.html: Minor formatting tweak.
 
-2007-02-20 09:07  castaglia
+2007-09-19  castaglia <castaglia>
 
-	* NEWS, contrib/mod_rewrite.c:
-	  Bug#2906 - RewriteCondition backreferences not properly
-	  substituted.
+	* doc/howto/TLS.html: Add FAQ about a commonly-seen error in the
+	TLSLog, and how using the NoCertRequest TLSOption may help.
 
-2007-02-19 20:46  castaglia
+2007-09-17  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.
+	* NEWS, modules/Makefile.in: Bug#2974 - Install error if multiple
+	modules, using their own build script, are built as shared modules.
 
-2007-02-19 20:39  castaglia
+2007-09-14  castaglia <castaglia>
 
-	* contrib/mod_quotatab_radius.c: Need to include mod_quotatab.h,
-	  which includes the ProFTPD headers, before doing the ProFTPD
-	  version check.
+	* modules/mod_core.c: When handling an EPSV command, close any
+	existing data connection first.  Related to Bug #2900.
 
-2007-02-16 08:36  castaglia
+2007-09-13  castaglia <castaglia>
 
-	* doc/howto/TLS.html:
-	  Add FAQ about SSL/TLS renegotiations, and how some FTPS clients
-	  do not handle them well.
+	* 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-02-15 11:02  castaglia
+2007-09-13  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Note new doc for 1.3.1rc3 release, whenever that is.
+	* 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-02-15 11:00  castaglia
+2007-09-13  castaglia <castaglia>
 
-	* doc/howto/: Timestamps.html, index.html:
-	  Add a document talking about timestamps and chroots (see Bug
-	  #2717, Bug #2896).
+	* 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-02-15 09:56  castaglia
+2007-09-13  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* modules/mod_dso.c: Fix compiler warning about redeclaring a
+	variable if Controls support is enabled.
 
-2007-02-15 09:54  castaglia
+2007-09-12  castaglia <castaglia>
 
-	* lib/pr-syslog.c, src/support.c:
-	  Use the feature macro to determine if tzname is actually present
-	  to be guarded.
+	* doc/howto/Vhost.html: Remove mention of the now-deprecated Bind
+	directive.
 
-2007-02-15 09:52  castaglia
+2007-09-12  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.
+	* 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-02-15 09:48  castaglia
+2007-09-11  castaglia <castaglia>
 
-	* config.h.in, configure.in:
-	  Be defensive, and add autoconf detection for the tzname,
-	  timezone, and daylight global variables.
+	* modules/mod_dso.c: Add trace logging of the succesful loading of
+	modules/files.
 
-2007-02-15 09:01  castaglia
+2007-09-11  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().
+	* 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-02-15 08:54  castaglia
+2007-09-11  castaglia <castaglia>
 
-	* src/log.c:
-	  Missed a call to localtime(3) that needs to replaced with
-	  pr_localtime().
+	* contrib/mod_sql.c: Cast the off_t value of total_xfer_bytes
+	properly, and quell warnings from picky compilers.
 
-2007-02-15 08:46  castaglia
+2007-09-11  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.
+	* src/log.c: When writing to utmp/wtmp logs, we're really not
+	concerned if we fail to truncate the file as requested.
 
-2007-02-15 08:43  castaglia
+2007-09-11  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.
+	* 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-02-14 17:40  castaglia
+2007-09-11  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.
+	* 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-02-14 17:31  castaglia
+2007-09-11  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.
+	* modules/mod_xfer.c: Make sure to cast the restart_pos value (an
+	off_t), in order to satisfy picky compilers.
 
-	  This investigation was prompted by looking into Bug #2896.
+2007-09-10  castaglia <castaglia>
 
-2007-02-14 17:23  castaglia
+	* contrib/dist/rpm/proftpd.spec: Fix syntax of RPM options for some
+	modules.
 
-	* src/: ftpdctl.c, 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-09-08  castaglia <castaglia>
 
-2007-02-13 08:29  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.
 
-	* modules/mod_xfer.c:
-	  Forgot to log one of the reasons for not using sendfile():
-	  UseSendfile set to 'off'.
+2007-09-07  jwm <jwm>
 
-2007-02-13 08:17  castaglia
+	* contrib/mod_ldap.c: Fix anonymous binds when
+	draft-ietf-ldapext-ldap-c-api-04 functions are used.  Submitted by: Quentin Garnier <cube at cubidou.net>
 
-	* 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-09-04  castaglia <castaglia>
 
-2007-02-13 08:00  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.
 
-	* src/dirtree.c:
-	  Fix typo.
+2007-08-30  castaglia <castaglia>
 
-2007-02-12 11:43  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.
 
-	* 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-08-29  castaglia <castaglia>
 
-2007-02-12 11:28  castaglia
+	* doc/howto/SQL.html: Added SQL FAQ about shared library loader
+	errors.
 
-	* 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-08-24  castaglia <castaglia>
 
-2007-02-12 09:16  castaglia
+	* doc/howto/Debugging.html: Mention using `proftpd -V' in the
+	Debugging howto.
 
-	* NEWS, contrib/mod_quotatab.c:
-	  Bug#2897 - mod_quotatab subtracts size of deleted file from
-	  bytes-transferred tally.
+2007-08-22  castaglia <castaglia>
 
-2007-02-08 11:11  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.
 
-	* modules/mod_auth.c:
-	  Add explanatory comment about checks for session.gids,
-	  session.groups.
+2007-08-22  jwm <jwm>
 
-2007-02-08 09:24  castaglia
+	* contrib/mod_ldap.c: missed version number
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#2893 - ProFTPD can use the wrong group data if the user name
-	  changes.
+2007-08-21  castaglia <castaglia>
 
-2007-01-19 15:01  castaglia
+	* NEWS, lib/sstrncpy.c: Bug#2964 - Building RPM fails because of
+	*snprintf trying to be redefined.
 
-	* NEWS, modules/mod_lang.c:
-	  Bug#2883 - Problem with locale and SQL database queries.
+2007-08-17  jwm <jwm>
 
-2007-01-19 14:52  castaglia
+	* contrib/mod_ldap.c: release 2.8.17
 
-	* locale/files.txt:
-	  Update the list of source files in locale/files.txt.
+2007-08-09  castaglia <castaglia>
 
-2007-01-19 14:51  castaglia
+	* NEWS, modules/mod_ls.c: Bug#2963 - Use of -A option for LIST/NLST
+	commands not cleared for subsequent commands.
 
-	* locale/Makefile.in:
-	  Fixed typos in command used to generate files.txt.
+2007-08-09  castaglia <castaglia>
 
-2007-01-19 13:59  castaglia
+	* README.facl: Remove extraneous whitespace.
 
-	* 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-08-03  castaglia <castaglia>
 
-2007-01-18 08:08  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.
 
-	* src/trace.c:
-	  The list of channel names should be named 'trace_channels', not
-	  'trace_levels'.  What was I thinking?
+2007-07-31  castaglia <castaglia>
 
-2007-01-17 18:48  castaglia
+	* modules/mod_auth.c: Coding style changes; no functional change.
 
-	* NEWS, include/conf.h, include/lastlog.h, include/log.h:
-	  Bug#2878 - Error compiling proftpd on Solaris 2.9 using
-	  --with-lastlog.
+2007-07-31  castaglia <castaglia>
 
-2007-01-17 18:14  castaglia
+	* NEWS, modules/mod_delay.c: Bug#2955 - Undeclared identifier
+	MAP_FAILED for mod_delay on AIX.
 
-	* 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-07-24  castaglia <castaglia>
 
-2007-01-17 18:11  castaglia
+	* NEWS, src/dirtree.c: Bug#2950 - Hostname with multiple IP
+	addresses might cause "ai_family not supported" error if IPv6
+	support enabled.
 
-	* 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-07-19  castaglia <castaglia>
 
-2007-01-17 11:50  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.
 
-	* contrib/mod_sql.c:
-	  Update mod_sql.c to use pr_env_get() rather than getenv(3).
+2007-07-18  castaglia <castaglia>
 
-2007-01-17 11:38  castaglia
+	* NEWS, modules/mod_facl.c: Bug#2946 - Anonymous logins fail if the
+	mod_facl module is enabled.
 
-	* configure:
-	  Updated configure.
+2007-07-07  jwm <jwm>
 
-2007-01-17 11:32  castaglia
+	* 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.
 
-	* contrib/mod_tls.c, configure.in, src/main.c, src/proctitle.c:
-	  The proper macro to use is PR_USE_DEVEL, not PR_DEVEL.
+2007-07-06  castaglia <castaglia>
 
-2007-01-17 10:48  castaglia
+	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Correct
+	misspellings.
 
-	* configure:
-	  Updated configure.
+2007-07-06  castaglia <castaglia>
 
-2007-01-17 10:34  castaglia
+	* NEWS, contrib/mod_sql_mysql.c: Bug#2944 - mod_sql_mysql fails to
+	compile due to missing quotation.
 
-	* configure.in:
-	  Add printing of "checking for" messages when scanning for the
-	  list of usual suspects of lastlog locations.
+2007-07-05  castaglia <castaglia>
 
-	  Related to Bug #2878.
+	* NEWS, include/version.h: Reset files for 1.3.1rc4.
 
-2007-01-17 10:16  castaglia
+2007-07-04  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* ChangeLog: Updating ChangeLog.
 
-2007-01-17 10:12  castaglia
+2007-07-04  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).
+	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing for
+	1.3.1rc3 release.
 
-	  Part of Bug #2878.
+2007-07-04  castaglia <castaglia>
 
-2007-01-17 09:44  castaglia
+	* RELEASE_NOTES: Updating the release notes, getting ready for a
+	release.
 
-	* include/lastlog.h:
-	  Error out of the build process if PR_LASTLOG_PATH has not been
-	  defined in one form or another.  Include a slightly more
-	  informative error message, so that it's better than some cryptic
-	  compiler error later, when compiling lastlog.c.
+2007-07-04  castaglia <castaglia>
 
-	  Part of the fixes for Bug #2878.
+	* 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-01-17 07:39  castaglia
+2007-07-02  jwm <jwm>
 
-	* NEWS, src/inet.c:
-	  Bug#2877 - ServerType 'inetd' results in "getnameinfo error:
-	  ai_family not supported" errors in log.
+	* 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-01-16 21:33  castaglia
+2007-07-02  castaglia <castaglia>
 
-	* src/main.c: Remove the redundant is_standalone variable; it can
-	  be replaced with checks against the global variable ServerType.
+	* RELEASE_NOTES: Updating release notes.
 
-2007-01-16 11:58  castaglia
+2007-07-02  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.
+	* contrib/mod_wrap2/mod_wrap2.c: Make sure that mod_wrap2 honors the
+	runtime UseIPv6 configuration directive.
 
-2007-01-16 11:54  castaglia
+2007-06-28  castaglia <castaglia>
 
-	* src/main.c:
-	  A bad patch mixed up the ordering of settings displayed via
-	  show_settings().
+	* 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-01-16 11:53  castaglia
+2007-06-28  castaglia <castaglia>
 
-	* src/env.c:
-	  Fix bug in pr_env_set() on systems that have putenv(3) rather
-	  than setenv(3).
+	* 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-01-15 15:55  castaglia
+2007-06-25  castaglia <castaglia>
 
-	* configure: Updated configure.
+	* 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-01-15 15:51  castaglia
+2007-06-25  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.
+	* NEWS, contrib/mod_ban.c: Bug#2942 - BanLog directive does not
+	accept "none" parameter.
 
-2007-01-15 15:49  castaglia
+2007-06-25  castaglia <castaglia>
 
-	* NEWS: Forgot to list Bug #2875 in the NEWS file.
+	* NEWS, modules/mod_auth.c: Bug#2939 - Anonymous restrictions apply
+	after a failed anonymous login followed by a successful normal user
+	login.
 
-2007-01-15 14:21  castaglia
+2007-06-19  castaglia <castaglia>
 
-	* modules/mod_ctrls.c: Use a socklen_t, rather than a size_t, for
-	  accept(2).
+	* NEWS: Fix typos.
 
-2007-01-14 17:33  castaglia
+2007-06-18  castaglia <castaglia>
 
-	* configure: Updated configure.
+	* doc/howto/Quotas.html: Add a FAQ about group quota determination.
 
-2007-01-14 17:30  castaglia
+2007-06-12  castaglia <castaglia>
 
-	* configure.in: Bug#2875 - Malformed getopt checks cause
-	  compilation errors in getopt.c.
+	* src/auth.c: Yet another patch, working on the PAM-related fallout
+	from Bug #2922.
 
-2007-01-13 16:18  castaglia
+2007-06-12  castaglia <castaglia>
 
-	* configure: Updated configure.
+	* modules/mod_auth_file.c: Remove some debug logging which
+	inadvertently crept into mod_auth_file.
 
-2007-01-13 16:16  castaglia
+2007-06-12  castaglia <castaglia>
 
-	* configure.in: There's no need to define PR_USE_SENDFILE as zero.
+	* 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-01-12 22:12  castaglia
+2007-06-11  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).
+	* NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#2938 - mod_wrap2 does not
+	honor WrapTables for <Anonymous> logins.
 
-2007-01-12 20:29  castaglia
+2007-06-07  castaglia <castaglia>
 
-	* doc/contrib/mod_quotatab.html:
-	  Specify what I mean when I say "groups" and "classes".
+	* contrib/mod_ifsession.c, contrib/mod_rewrite.c: Add reporting of
+	the module version for the mod_ifsession and mod_rewrite modules.
 
-2007-01-12 20:16  castaglia
+2007-06-04  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.
+	* NEWS, modules/mod_core.c: Bug#2935 - DELE command doesn't check
+	file stat result before logging.
 
-2007-01-12 20:14  castaglia
+2007-06-04  jwm <jwm>
 
-	* locale/.cvsignore:
-	  Another .cvsignore file for locale/.
+	* 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-01-12 10:54  castaglia
+2007-05-30  castaglia <castaglia>
 
-	* contrib/: mod_load/.cvsignore, mod_wrap2/.cvsignore:
-	  Add .cvsignore files for the mod_load/ and mod_wrap2/
-	  directories.
+	* 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-01-12 10:51  castaglia
+2007-05-26  castaglia <castaglia>
 
-	* include/version.h:
-	  Back to CVS status, for the next RC release.
+	* doc/howto/Quotas.html: Add a FAQ about the QuotaExcludeFilter
+	directive.
 
-2007-01-12 09:52  castaglia
+2007-05-24  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updated ChangeLog.
+	* doc/howto/Tracing.html: No need for the quotations -- they're a
+	bit much.
 
-2007-01-12 09:49  castaglia
+2007-05-24  castaglia <castaglia>
 
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Preparing for 1.3.1rc2 release.
+	* RELEASE_NOTES, doc/howto/Tracing.html, doc/howto/index.html: 
+	Adding tracing howto.
 
-2007-01-12 09:44  castaglia
+2007-05-24  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Adding release notes for 1.3.1rc2.
+	* src/help.c: The list of commands displayed for the HELP command
+	was being truncated.  Fix suggested by Richard Gray.
 
-2007-01-12 09:33  castaglia
+2007-05-23  castaglia <castaglia>
 
-	* doc/howto/TLS.html:
-	  Add a mod_tls FAQ about the "no shared cipher" error.
+	* README.PAM: Update the PAM readme with notes for Linux, per
+	Bug#2907.
 
-2007-01-11 23:01  castaglia
+2007-05-22  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.
+	* 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-01-11 21:40  castaglia
+2007-05-22  castaglia <castaglia>
 
-	* src/: env.c, pidfile.c, proctitle.c: Correct the license wording
-	  to mention The ProFTPD Project as primary copyright holder.
+	* configure: Updating configure.
 
-2007-01-11 17:30  castaglia
+2007-05-22  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.
+	* 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-01-11 15:43  castaglia
+2007-05-22  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.
+	* include/options.h: Minor style nit.  No functional change.
 
-2007-01-11 15:08  castaglia
+2007-05-21  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.
+	* src/inet.c: Use tracing to log if there was a problem using
+	getsockopt() to get the IPV6_V6ONLY option.
 
-2007-01-11 13:36  castaglia
+2007-05-21  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.
+	* NEWS, src/inet.c: Bug#2932 - Syslog contains "error setting
+	IPV6_V6ONLY: Protocol not available".
 
-2007-01-11 11:16  castaglia
+2007-05-21  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.
+	* doc/howto/Directory.html: Include RNTO in the list of FTP commands
+	affected by trailing "/*" suffixes in <Directory> lines.
 
-2007-01-11 10:21  castaglia
+2007-05-21  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.
+	* src/auth.c: Additional patch for Bug#2922, to check for and use
+	mod_auth_pam for authentication, if present (and usable).
 
-2007-01-10 20:09  castaglia
+2007-05-21  castaglia <castaglia>
 
-	* src/pool.c:
-	  The bytes_in_block_list() function should be #ifdef'd as well
-	  behind PR_USE_DEVEL.
+	* NEWS, contrib/mod_tls.c: Bug#2890 - SystemLog permission errors on
+	SIGHUP when mod_tls is enabled.
 
-2007-01-10 20:05  castaglia
+2007-05-19  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).
+	* modules/mod_facl.c: Use the event handler defined for the
+	"core.module-unload" event, when compiled as a DSO module.
 
-	  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-05-16  castaglia <castaglia>
 
-2007-01-09 20:55  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.
 
-	* configure:
-	  Updated configure.
+2007-05-15  castaglia <castaglia>
 
-2007-01-09 19:45  castaglia
+	* src/netio.c: More work towards Bug#2920.  Hopefully this will be
+	the last of that particular issue.
 
-	* configure.in:
-	  Thinko.
+2007-05-15  castaglia <castaglia>
 
-2007-01-09 19:19  castaglia
+	* modules/mod_xfer.c: Short-circuit out of xfer_rate_throttle()
+	early, if the transfer has already been aborted.
 
-	* 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-05-15  castaglia <castaglia>
 
-2007-01-09 19:17  castaglia
+	* doc/howto/Timestamps.html: Adjust link to mod_site_misc docs to
+	use the local copy.
 
-	* configure:
-	  Updated configure.
+2007-05-15  castaglia <castaglia>
 
-2007-01-09 19:16  castaglia
+	* doc/howto/Timestamps.html: Start adding a FAQ section about
+	timezones and timestamps.
 
-	* contrib/mod_load/: config.guess, config.sub:
-	  The configure script for the mod_load module requires the
-	  config.sub and config.guess helper scripts.
+2007-05-15  castaglia <castaglia>
 
-2007-01-09 19:07  castaglia
+	* modules/mod_xfer.c, src/data.c: More checks of XFER_ABORTED, in
+	pursuit of a solution for Bug#2920.
 
-	* configure.in:
-	  Check for the existence of the file before trying to cat it.
+2007-05-14  castaglia <castaglia>
 
-2007-01-09 18:25  castaglia
+	* modules/mod_xfer.c: Attempt to handle aborted transfers that were
+	in the midst of being throttled.
 
-	* configure:
-	  Updated configure.
+2007-05-14  castaglia <castaglia>
 
-2007-01-09 18:19  castaglia
+	* modules/mod_xfer.c: Do not block SIGURG (used to abort transfers)
+	when handling throttled transfers.
 
-	* 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.
+2007-05-10  castaglia <castaglia>
 
-	  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.)
+	* 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.
 
-	  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-05-10  castaglia <castaglia>
 
-2007-01-09 12:08  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.
 
-	* configure:
-	  Updating configure.
+2007-05-10  castaglia <castaglia>
 
-2007-01-09 12:04  castaglia
+	* src/main.c: Add tracing of received FTP commands.
 
-	* 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-05-09  castaglia <castaglia>
 
-2007-01-08 20:19  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.
 
-	* configure:
-	  Updating configure.
+2007-05-07  castaglia <castaglia>
 
-2007-01-08 20:16  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.
 
-	* contrib/: mod_load/Makefile.in, 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-05-04  castaglia <castaglia>
 
-2007-01-08 20:14  castaglia
+	* NEWS, modules/mod_ls.c: Bug#2921 - NLST fails if using POSIX ACLs.
 
-	* contrib/dist/rpm/proftpd.spec:
-	  Add DSO and lastlog support to the RPM spec.
+2007-05-04  castaglia <castaglia>
 
-2007-01-08 20:09  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.
 
-	* 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-04-30  castaglia <castaglia>
 
-2007-01-08 19:31  castaglia
+	* modules/mod_facl.c: Fix the initialization of mod_facl's
+	configuration directives.  Oops.
 
-	* src/modules.c:
-	  Set errno to EINVAL, when appropriate, in a few places.
+2007-04-24  castaglia <castaglia>
 
-2007-01-08 18:14  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).
 
-	* src/parser.c:
-	  Paranoid checking of signals within a while loop, in case the
-	  loop should decide to continue endlessly.
+2007-04-18  castaglia <castaglia>
 
-2007-01-08 14:59  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).
 
-	* 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-04-17  castaglia <castaglia>
 
-2007-01-08 11:58  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.
 
-	* modules/Makefile.in, src/Makefile.in, utils/Makefile.in:
-	  Remove crufty, outdated, and unnecessary dependency listings.
+2007-04-17  castaglia <castaglia>
 
-2007-01-08 11:50  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.
 
-	* configure:
-	  Updated configure.
+2007-04-16  castaglia <castaglia>
 
-2007-01-08 11:47  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.
 
-	* 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.)
+2007-04-02  castaglia <castaglia>
 
-	  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.
+	* src/inet.c: Allow data transfers on low-numbered sockets to work
+	on SCO Unix.
 
-2007-01-07 22:52  castaglia
+2007-04-02  castaglia <castaglia>
 
-	* src/auth.c: Yet another while loop in need of signal handling.
+	* 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-01-07 12:48  castaglia
+2007-03-28  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec: Add controls support to the RPM
-	  spec.
+	* 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-01-07 12:42  castaglia
+2007-03-28  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec: Include the installed header files
-	  in the RPM spec.
+	* src/parser.c: Tag the temporary pool right after its creation, not
+	after it has been used.
 
-	  Add ability for specifying mod_quotatab_file.
+2007-03-28  castaglia <castaglia>
 
-2007-01-05 19:25  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#2913 - TYPE command does not clear
+	ASCII flag from LIST/NLST commands.
 
-	* 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-03-28  castaglia <castaglia>
 
-2007-01-05 16:07  castaglia
+	* contrib/mod_rewrite.c: Updating coding style in a few places.  No
+	functional change.
 
-	* 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-03-27  castaglia <castaglia>
 
-2007-01-03 23:26  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.
 
-	* src/support.c: Fix dir_abs_path() such that it does not tack on
-	  redundant directories to the end of a relative path.
+2007-03-22  castaglia <castaglia>
 
-2007-01-03 14:57  castaglia
+	* src/dirtree.c: Formatting tweaks, no functional change.
 
-	* modules/mod_auth_file.c:
-	  Remember to use PR_DECLINED rather than DECLINED.
+2007-03-09  castaglia <castaglia>
 
-2007-01-03 14:06  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.
 
-	* 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-03-09  castaglia <castaglia>
 
-2007-01-03 10:24  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.
 
-	* contrib/mod_sql.c:
-	  Make sure that "SQLAuthenticate groupset" works properly.
+2007-03-06  castaglia <castaglia>
 
-2007-01-02 18:54  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.
 
-	* Make.rules.in:
-	  Make sure the LIBS environment variable is honored when linking
-	  the utility programs (i.e. ftptop, ftpwho).
+2007-03-06  castaglia <castaglia>
 
-2007-01-02 14:27  castaglia
+	* README.PAM: Typo.
 
-	* doc/contrib/mod_quotatab_ldap.html:
-	  Minor clarification.
+2007-03-01  castaglia <castaglia>
 
-2006-12-28 09:52  castaglia
+	* NEWS: Fix typo noted by Sven.
 
-	* NEWS, src/mkhome.c: Bug#2872 - CreateHome doesn't recreate
-	  symlinks from skeleton properly.
+2007-02-21  jwm <jwm>
 
-2006-12-26 17:59  castaglia
+	* contrib/mod_ldap.c: - bump version - previous commit wrt LDAPAttr fetching was submitted by TJ Saunders   <tj at castaglia.org>; got a little fresh with my editor and missed
+	  the paste
 
-	* src/parser.c: Fix a nasty bug where a <Directory> section which
-	  contained a <Limit> section, but no other directives, e.g.:
+2007-02-21  jwm <jwm>
 
-	    <Directory /path>
-	      <Limit LIST>
-		DenyAll
-	      </Limit>
-	    </Directory>
+	* contrib/mod_ldap.c: fetch attribute redefinitions (LDAPAttr)
+	before using any attribute names, such as when generating the
+	default search filters
 
-	  was handled as being "empty", and thus ignored; the <Limit> would
-	  not take effect.
+2007-02-21  jwm <jwm>
 
-2006-12-22 12:23  castaglia
+	* contrib/mod_ldap.c: wordwrap, error message tweak
 
-	* contrib/mod_sql.c:
-	  Paranoid NULL termination of vararg lists to the
-	  sql_prepare_where() variadic function.
+2007-02-20  castaglia <castaglia>
 
-2006-12-22 11:52  castaglia
+	* doc/contrib/mod_quotatab_radius.html, doc/contrib/mod_radius.html: 
+	Fix the documentation for the RadiusQuotaInfo.
 
-	* 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.)
+2007-02-20  castaglia <castaglia>
 
-2006-12-22 10:48  castaglia
+	* NEWS, contrib/mod_rewrite.c: Bug#2906 - RewriteCondition
+	backreferences not properly substituted.
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#2869 - mod_sql botches WHERE clauses.
+2007-02-20  castaglia <castaglia>
 
-2006-12-21 14:19  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.
 
-	* 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.
+2007-02-20  castaglia <castaglia>
 
-2006-12-21 10:01  castaglia
+	* contrib/mod_quotatab_radius.c: Need to include mod_quotatab.h,
+	which includes the ProFTPD headers, before doing the ProFTPD version
+	check.
 
-	* 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.
+2007-02-16  castaglia <castaglia>
 
-2006-12-20 10:39  castaglia
+	* doc/howto/TLS.html: Add FAQ about SSL/TLS renegotiations, and how
+	some FTPS clients do not handle them well.
 
-	* 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.
+2007-02-15  castaglia <castaglia>
 
-2006-12-20 10:28  castaglia
+	* RELEASE_NOTES: Note new doc for 1.3.1rc3 release, whenever that
+	is.
 
-	* modules/mod_core.c, src/trace.c:
-	  Fixing two issues with this change:
+2007-02-15  castaglia <castaglia>
 
-	  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.
+	* doc/howto/Timestamps.html, doc/howto/index.html: Add a document
+	talking about timestamps and chroots (see Bug #2717, Bug #2896).
 
-	  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).
+2007-02-15  castaglia <castaglia>
 
-2006-12-19 15:54  castaglia
+	* configure: Updated configure.
 
-	* src/: parser.c, trace.c:
-	  Adding tracing of the parser, using the 'config' trace channel.
+2007-02-15  castaglia <castaglia>
 
-2006-12-19 13:36  castaglia
+	* lib/pr-syslog.c, src/support.c: Use the feature macro to determine
+	if tzname is actually present to be guarded.
 
-	* src/netaddr.c:
-	  More tracing of netaddr functions, particularly in the reverse
-	  DNS resolution code.
+2007-02-15  castaglia <castaglia>
 
-2006-12-18 19:26  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.
 
-	* modules/mod_auth_pam.c:
-	  Adding tracing of PAM.
+2007-02-15  castaglia <castaglia>
 
-2006-12-18 19:11  castaglia
+	* config.h.in, configure.in: Be defensive, and add autoconf
+	detection for the tzname, timezone, and daylight global variables.
 
-	* src/netaddr.c:
-	  Adding tracing of netaddr functions, using the trace channel name
-	  'dns'.
+2007-02-15  castaglia <castaglia>
 
-2006-12-18 18:42  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().
 
-	* modules/mod_facl.c, src/trace.c:
-	  Adding tracing of POSIX ACLs.
+2007-02-15  castaglia <castaglia>
 
-2006-12-18 18:38  castaglia
+	* src/log.c: Missed a call to localtime(3) that needs to replaced
+	with pr_localtime().
 
-	* 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).
+2007-02-15  castaglia <castaglia>
 
-2006-12-18 17:29  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.
 
-	* NEWS, src/event.c:
-	  Bug#2857 - Failure to properly unregister event handlers leads to
-	  segfault after restarts.
+2007-02-15  castaglia <castaglia>
 
-	  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.
+	* 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.
 
-2006-12-18 15:09  castaglia
+2007-02-15  castaglia <castaglia>
 
-	* src/netacl.c:
-	  Adding tracing of NetACLs.
+	* 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.
 
-2006-12-18 14:43  castaglia
+2007-02-15  castaglia <castaglia>
 
-	* src/ident.c:
-	  Add tracing of ident lookups.
+	* 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.
 
-2006-12-18 12:04  castaglia
+2007-02-15  castaglia <castaglia>
 
-	* contrib/mod_ban.c:
-	  Get in the habit of setting pools to NULL after destroying them.
+	* 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.
 
-	  Update to use newer Timer API.
+2007-02-13  castaglia <castaglia>
 
-2006-12-18 11:27  castaglia
+	* modules/mod_xfer.c: Forgot to log one of the reasons for not using
+	sendfile(): UseSendfile set to 'off'.
 
-	* 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.
+2007-02-13  castaglia <castaglia>
 
-2006-12-18 10:33  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.
 
-	* src/inet.c:
-	  FreeBSD 7 on its way.
+2007-02-13  castaglia <castaglia>
 
-2006-12-18 10:09  castaglia
+	* src/dirtree.c: Fix typo.
 
-	* src/support.c:
-	  The pickier compiler on my Linux laptop caught this thinko.
+2007-02-12  castaglia <castaglia>
 
-2006-12-17 15:37  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.
 
-	* modules/mod_auth.c, modules/mod_log.c, src/parser.c: Use
-	  pr_env_get() rather than getenv(3).
+2007-02-12  castaglia <castaglia>
 
-2006-12-17 15:28  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.
 
-	* 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().
+2007-02-12  castaglia <castaglia>
 
-2006-12-17 15:27  castaglia
+	* NEWS, contrib/mod_quotatab.c: Bug#2897 - mod_quotatab subtracts
+	size of deleted file from bytes-transferred tally.
 
-	* configure: Updated configure.
+2007-02-08  castaglia <castaglia>
 
-2006-12-17 15:24  castaglia
+	* modules/mod_auth.c: Add explanatory comment about checks for
+	session.gids, session.groups.
 
-	* 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.)
+2007-02-08  castaglia <castaglia>
 
-2006-12-15 17:13  castaglia
+	* NEWS, modules/mod_auth.c: Bug#2893 - ProFTPD can use the wrong
+	group data if the user name changes.
 
-	* modules/mod_ctrls.c, src/ctrls.c:
-	  Add tracing of controls.
+2007-01-19  castaglia <castaglia>
 
-2006-12-15 15:24  castaglia
+	* NEWS, modules/mod_lang.c: Bug#2883 - Problem with locale and SQL
+	database queries.
 
-	* modules/mod_dso.c:
-	  Adding tracing of DSO modules.
+2007-01-19  castaglia <castaglia>
 
-2006-12-15 15:10  castaglia
+	* locale/files.txt: Update the list of source files in
+	locale/files.txt.
 
-	* doc/contrib/mod_ctrls_admin.html:
-	  Documentation for the 'trace info' ftpctl action.
+2007-01-19  castaglia <castaglia>
 
-2006-12-15 15:07  castaglia
+	* locale/Makefile.in: Fixed typos in command used to generate
+	files.txt.
 
-	* 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.
+2007-01-19  castaglia <castaglia>
 
-2006-12-15 14:32  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.
 
-	* src/fsio.c:
-	  Add more handling of possible signals within while() loops.
+2007-01-18  castaglia <castaglia>
 
-2006-12-15 14:25  castaglia
+	* src/trace.c: The list of channel names should be named
+	'trace_channels', not 'trace_levels'.  What was I thinking?
 
-	* modules/mod_ls.c:
-	  Style changes, and some additional pr_signals_handle() calls in
-	  while() loops.
+2007-01-18  castaglia <castaglia>
 
-2006-12-15 14:17  castaglia
+	* NEWS, include/conf.h, include/log.h: Bug#2878 - Error compiling
+	proftpd on Solaris 2.9 using --with-lastlog.
 
-	* src/event.c:
-	  Use tracing for logging of events, rather than debug logging.
+2007-01-18  castaglia <castaglia>
 
-2006-12-15 11:49  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!
 
-	* src/fsio.c:
-	  Add tracing of the FSIO API, no longer using pr_log_debug().
+2007-01-18  castaglia <castaglia>
 
-2006-12-15 11:35  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).
 
-	* 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.
+2007-01-17  castaglia <castaglia>
 
-2006-12-15 11:32  castaglia
+	* contrib/mod_sql.c: Update mod_sql.c to use pr_env_get() rather
+	than getenv(3).
 
-	* doc/contrib/mod_ctrls_admin.html:
-	  Add docs for the 'trace' control action.
+2007-01-17  castaglia <castaglia>
 
-2006-12-15 11:05  castaglia
+	* configure: Updated configure.
 
-	* NEWS, modules/mod_core.c:
-	  Bug#2849 - Error msg "Not owner" returned by "SIZE in ASCII mode"
-	  is misleading.
+2007-01-17  castaglia <castaglia>
 
-2006-12-15 10:51  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.
 
-	* src/utf8.c:
-	  Make sure that utf8_init() and utf8_free() are present for use by
-	  the linker, even if they return ENOSYS.
+2007-01-17  castaglia <castaglia>
 
-2006-12-15 10:46  castaglia
+	* configure: Updated configure.
 
-	* lib/getopt.c:
-	  Make sure to reference the gettext() function only when NLS
-	  support has been requested.  Otherwise, confusing linker errors
-	  result.
+2007-01-17  castaglia <castaglia>
 
-2006-12-14 16:21  castaglia
+	* configure.in: Add printing of "checking for" messages when
+	scanning for the list of usual suspects of lastlog locations.  Related to Bug #2878.
 
-	* src/timers.c:
-	  Add timer tracing.
+2007-01-17  castaglia <castaglia>
 
-2006-12-14 16:06  castaglia
+	* configure: Updated configure.
 
-	* include/: compat.h, timers.h:
-	  Compatibility macros should all be collected in compat.h.
+2007-01-17  castaglia <castaglia>
 
-2006-12-14 15:15  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.
 
-	* locale/Makefile.in:
-	  Using the --sort-by-file option when generating message catalogs.
+2007-01-17  castaglia <castaglia>
 
-2006-12-14 15:12  castaglia
+	* NEWS, src/inet.c: Bug#2877 - ServerType 'inetd' results in
+	"getnameinfo error: ai_family not supported" errors in log.
 
-	* 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.
+2007-01-17  castaglia <castaglia>
 
-2006-12-14 14:18  castaglia
+	* src/main.c: Remove the redundant is_standalone variable; it can be
+	replaced with checks against the global variable ServerType.
 
-	* src/inet.c:
-	  Use tracing to log when we have successfully bound an
-	  address/port to a socket.
+2007-01-16  castaglia <castaglia>
 
-2006-12-14 08:37  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.
 
-	* configure:
-	  Updated configure.
+2007-01-16  castaglia <castaglia>
 
-2006-12-14 08:27  castaglia
+	* src/main.c: A bad patch mixed up the ordering of settings
+	displayed via show_settings().
 
-	* 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.
+2007-01-16  castaglia <castaglia>
 
-2006-12-13 14:54  castaglia
+	* src/env.c: Fix bug in pr_env_set() on systems that have putenv(3)
+	rather than setenv(3).
 
-	* NEWS, contrib/mod_radius.c, doc/contrib/mod_radius.html:
-	  Bug#2856 - Support for RADIUS NAS-Identifier attribute.
+2007-01-15  castaglia <castaglia>
 
-2006-12-13 10:19  castaglia
+	* configure: Updated configure.
 
-	* configure:
-	  Updated configure.
+2007-01-15  castaglia <castaglia>
 
-2006-12-13 10:16  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.
 
-	* 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.
+2007-01-15  castaglia <castaglia>
 
-2006-12-13 10:04  castaglia
+	* NEWS: Forgot to list Bug #2875 in the NEWS file.
 
-	* modules/mod_ls.c:
-	  Use strcoll(3) both when NLS is enabled and when strcoll(3) is
-	  actually present.
+2007-01-15  castaglia <castaglia>
 
-2006-12-13 09:44  castaglia
+	* modules/mod_ctrls.c: Use a socklen_t, rather than a size_t, for
+	accept(2).
 
-	* modules/mod_lang.c:
-	  Make sure that mod_lang can compile if libintl support is absent.
+2007-01-15  castaglia <castaglia>
 
-2006-12-13 09:40  castaglia
+	* configure: Updated configure.
 
-	* src/utf8.c:
-	  Make sure utf8.c can compile and run, even when iconv support is
-	  lacking.
+2007-01-15  castaglia <castaglia>
 
-2006-12-12 10:44  castaglia
+	* configure.in: Bug#2875 - Malformed getopt checks cause compilation
+	errors in getopt.c.
 
-	* doc/modules/mod_delay.html:
-	  Typo.
+2007-01-14  castaglia <castaglia>
 
-2006-12-12 10:24  castaglia
+	* configure: Updated configure.
 
-	* include/version.h:
-	  Back to CVS mode, for the next RC release.
+2007-01-14  castaglia <castaglia>
 
-2006-12-12 09:02  castaglia
+	* configure.in: There's no need to define PR_USE_SENDFILE as zero.
 
-	* ChangeLog:
-	  Updated ChangeLog.
+2007-01-13  castaglia <castaglia>
 
-2006-12-12 09:00  castaglia
+	* include/proctitle.h, src/main.c, src/proctitle.c: Move the
+	proctitle functions into the 'pr_' namespace, just to be safe (and
+	consistent).
 
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Preparing for 1.3.1rc1 release.
+2007-01-13  castaglia <castaglia>
 
-2006-12-12 08:52  castaglia
+	* doc/contrib/mod_quotatab.html: Specify what I mean when I say
+	"groups" and "classes".
 
-	* RELEASE_NOTES:
-	  Finish polishing up these release notes.
+2007-01-13  castaglia <castaglia>
 
-2006-12-12 08:34  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.
 
-	* NEWS, src/ctrls.c:
-	  Bug#2867 - Local authorized user buffer overflow in Controls
-	  request handling.
+2007-01-13  castaglia <castaglia>
 
-2006-12-11 15:11  castaglia
+	* locale/.cvsignore: Another .cvsignore file for locale/.
 
-	* src/var.c:
-	  Handle the case where the retrieved variable is NULL.
+2007-01-12  castaglia <castaglia>
 
-2006-12-11 14:42  castaglia
+	* contrib/mod_load/.cvsignore, contrib/mod_wrap2/.cvsignore: Add
+	.cvsignore files for the mod_load/ and mod_wrap2/ directories.
 
-	* modules/mod_ls.c:
-	  More pedantic checks for NULL pointers.
+2007-01-12  castaglia <castaglia>
 
-2006-12-11 14:40  castaglia
+	* include/version.h: Back to CVS status, for the next RC release.
 
-	* 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.
+2007-01-12  castaglia <castaglia>
 
-2006-12-11 13:45  castaglia
+	* ChangeLog: Updated ChangeLog.
 
-	* doc/howto/TLS.html:
-	  Add a mod_tls FAQ about linker errors related to libdl.
+2007-01-12  castaglia <castaglia>
 
-2006-12-11 12:06  castaglia
+	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
+	for 1.3.1rc2 release.
 
-	* modules/mod_core.c:
-	  More safety checking of possibly NULL return values.
+2007-01-12  castaglia <castaglia>
 
-2006-12-11 11:58  castaglia
+	* RELEASE_NOTES: Adding release notes for 1.3.1rc2.
 
-	* 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.
+2007-01-12  castaglia <castaglia>
 
-2006-12-11 11:53  castaglia
+	* doc/howto/TLS.html: Add a mod_tls FAQ about the "no shared cipher"
+	error.
 
-	* src/log.c:
-	  Handle a possible return value of NULL from localtime(3).
+2007-01-12  castaglia <castaglia>
 
-2006-12-11 11:05  castaglia
+	* src/fsio.c: In the case of successful chown() and chmod() calls,
+	clear the statcache, as the cached data may now be stale.
 
-	* src/fsio.c:
-	  Check for NULL return values from strdup(3).
+2007-01-12  castaglia <castaglia>
 
-2006-12-11 10:59  castaglia
+	* src/env.c, src/pidfile.c, src/proctitle.c: Correct the license
+	wording to mention The ProFTPD Project as primary copyright holder.
 
-	* 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)).
+2007-01-12  castaglia <castaglia>
 
-2006-12-11 09:07  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.
 
-	* src/trace.c:
-	  Off by one.
+2007-01-11  castaglia <castaglia>
 
-2006-12-11 09:03  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.
 
-	* src/fsio.c, modules/mod_ls.c, modules/mod_site.c:
-	  Off by one.
+2007-01-11  castaglia <castaglia>
 
-2006-12-11 00:20  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.
 
-	* lib/glibc-glob.c: Paranoid null pointer check.  Useful, since we
-	  do use the ALTDIRFUNC flag.
+2007-01-11  castaglia <castaglia>
 
-2006-12-11 00:12  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.
 
-	* src/fsio.c: Make sure pr_fs_dircat() doesn't attempt to operate
-	  on NULL pointers.
+2007-01-11  castaglia <castaglia>
 
-2006-12-11 00:02  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.
 
-	* modules/mod_log.c: More insurance that a possible NULL value
-	  isn't passed to a library call, e.g. strftime(3).
+2007-01-11  castaglia <castaglia>
 
-2006-12-10 23:59  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.
 
-	* modules/mod_log.c: Ensure we don't inadvertently attempt to
-	  lookup a NULL environment variable name, or copy a NULL
-	  environment variable value.
+2007-01-11  castaglia <castaglia>
 
-2006-12-10 23:55  castaglia
+	* src/pool.c: The bytes_in_block_list() function should be #ifdef'd
+	as well behind PR_USE_DEVEL.
 
-	* src/trace.c: Paranoid check for improper indices into the
-	  allocated buffer.
+2007-01-11  castaglia <castaglia>
 
-2006-12-10 23:52  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>
 
-	* src/support.c: Ensure that we don't accidentally go past the end
-	  of the allocated array.
+	* configure: Updated configure.
 
-2006-12-10 23:40  castaglia
+2007-01-10  castaglia <castaglia>
 
-	* modules/mod_site.c: Another possible negative array index catch.
+	* configure.in: Thinko.
 
-2006-12-10 23:37  castaglia
+2007-01-10  castaglia <castaglia>
 
-	* modules/mod_ls.c: Catch another possible situation where the
-	  index used may inadvertently be -1.
+	* 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.
 
-2006-12-10 23:21  castaglia
+2007-01-10  castaglia <castaglia>
 
-	* src/fsio.c: Pedantically fix some edge cases where an index of -1
-	  might accidentally be used.
+	* configure: Updated configure.
 
-2006-12-07 09:18  castaglia
+2007-01-10  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.
+	* 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.
 
-2006-12-06 16:10  castaglia
+2007-01-10  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).
+	* configure.in: Check for the existence of the file before trying to
+	cat it.
 
-2006-12-06 10:56  castaglia
+2007-01-10  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* configure: Updated configure.
 
-2006-12-06 10:55  castaglia
+2007-01-10  castaglia <castaglia>
 
-	* config.h.in, configure.in, include/conf.h:
-	  NLS support requires checking for the locale.h header, and
-	  including it if necessary.
+	* 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.
 
-2006-12-05 21:15  castaglia
+2007-01-09  castaglia <castaglia>
 
-	* doc/howto/DisplayFiles.html:
-	  Renamed DisplayFirstChdir to DisplayChdir, and added mention of
-	  the new DisplayFileTransfer.
+	* configure: Updating configure.
 
-2006-12-05 20:29  castaglia
+2007-01-09  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().
+	* 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.
 
-	  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.
+2007-01-09  castaglia <castaglia>
 
-2006-12-05 20:22  castaglia
+	* configure: Updating configure.
 
-	* src/display.c:
-	  Use tracing, rather than debug level 10, for logging about
-	  unresolved variables in Display files.
+2007-01-09  castaglia <castaglia>
 
-2006-12-05 20:21  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.
 
-	* src/trace.c:
-	  Add a default trace channel for logging from the Variables API
-	  layer.
+2007-01-09  castaglia <castaglia>
 
-2006-12-05 20:05  castaglia
+	* contrib/dist/rpm/proftpd.spec: Add DSO and lastlog support to the
+	RPM spec.
 
-	* lib/sstrncpy.c:
-	  Include the library support header libsupp.h, at least, since
-	  that is what its purpose is.
+2007-01-09  castaglia <castaglia>
 
-2006-12-05 19:57  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).
 
-	* lib/sstrncpy.c:
-	  No need to pull in all of proftpd's configuration for sstrncpy().
+2007-01-09  castaglia <castaglia>
 
-2006-12-05 13:44  castaglia
+	* src/modules.c: Set errno to EINVAL, when appropriate, in a few
+	places.
 
-	* contrib/mod_wrap2/mod_wrap2.c:
-	  More updates to the current APIs.
+2007-01-09  castaglia <castaglia>
 
-2006-12-05 12:05  castaglia
+	* src/parser.c: Paranoid checking of signals within a while loop, in
+	case the loop should decide to continue endlessly.
 
-	* contrib/: mod_ban.c, mod_wrap2/mod_wrap2.c:
-	  Updating mod_ban, mod_wrap2 to use newer module API names and
-	  macros.
+2007-01-08  castaglia <castaglia>
 
-2006-12-05 11:00  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.
 
-	* include/log.h:
-	  Use GCC pragmas for checking callers of pr_log_writefile() as
-	  well.
+2007-01-08  castaglia <castaglia>
 
-2006-12-05 10:54  castaglia
+	* modules/Makefile.in, src/Makefile.in, utils/Makefile.in: Remove
+	crufty, outdated, and unnecessary dependency listings.
 
-	* 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).
+2007-01-08  castaglia <castaglia>
 
-2006-12-05 09:47  castaglia
+	* configure: Updated configure.
 
-	* src/support.c:
-	  Typo.
+2007-01-08  castaglia <castaglia>
 
-2006-12-05 09:44  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.
 
-	* src/trace.c:
-	  Add 'data' as one of the built-in trace channel names.
+2007-01-08  castaglia <castaglia>
 
-2006-12-04 17:07  castaglia
+	* src/auth.c: Yet another while loop in need of signal handling.
 
-	* contrib/mod_tls.c:
-	  Add some comments reminding me why I see gibberish in the debug
-	  logging, depending on the mod_tls configuration.
+2007-01-07  castaglia <castaglia>
 
-2006-12-04 14:33  castaglia
+	* contrib/dist/rpm/proftpd.spec: Add controls support to the RPM
+	spec.
 
-	* contrib/mod_tls.c:
-	  Rather than logging when CRLs have not been configured, log when
-	  CRLs *are* present and being used.
+2007-01-07  castaglia <castaglia>
 
-2006-12-04 14:31  castaglia
+	* contrib/dist/rpm/proftpd.spec: Include the installed header files
+	in the RPM spec.  Add ability for specifying mod_quotatab_file.
 
-	* contrib/mod_tls.c:
-	  More paranoia.  Also some minor style changes.
+2007-01-06  castaglia <castaglia>
 
-2006-12-04 14:16  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.
 
-	* contrib/mod_tls.c:
-	  Increase the size of the buffer used to log X509 names from the
-	  client cert to 1KB
+2007-01-06  castaglia <castaglia>
 
-	  If the client certificate cannot be verified because of an
-	  invalid purpose, log the purposes of the client certificate.
+	* 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.
 
-2006-12-04 13:56  castaglia
+2007-01-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.
+	* src/support.c: Fix dir_abs_path() such that it does not tack on
+	redundant directories to the end of a relative path.
 
-	  Also conditionalize the use of the tls_crypto_device variable as
-	  per supporting OpenSSL version.
+2007-01-03  castaglia <castaglia>
 
-2006-12-04 11:31  castaglia
+	* modules/mod_auth_file.c: Remember to use PR_DECLINED rather than
+	DECLINED.
 
-	* 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.
+2007-01-03  castaglia <castaglia>
 
-2006-12-04 11:27  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.
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#2862 - NLST / returns a listing of the current directory.
+2007-01-03  castaglia <castaglia>
 
-2006-12-04 11:24  castaglia
+	* contrib/mod_sql.c: Make sure that "SQLAuthenticate groupset" works
+	properly.
 
-	* modules/mod_ls.c:
-	  More paranoia.  Make sure that the length returned from
-	  readlink() isn't too large for our buffers.
+2007-01-03  castaglia <castaglia>
 
-2006-12-04 11:11  castaglia
+	* Make.rules.in: Make sure the LIBS environment variable is honored
+	when linking the utility programs (i.e. ftptop, ftpwho).
 
-	* src/support.c:
-	  More defensive checking of input arguments, in pr_memscrub() and
-	  sstrcat().
+2007-01-02  castaglia <castaglia>
 
-2006-12-04 10:25  castaglia
+	* doc/contrib/mod_quotatab_ldap.html: Minor clarification.
 
-	* 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-28  castaglia <castaglia>
 
-2006-12-04 10:07  castaglia
+	* NEWS, src/mkhome.c: Bug#2872 - CreateHome doesn't recreate
+	symlinks from skeleton properly.
 
-	* locale/Makefile.in:
-	  Be more specific about the language support right now: en_US
-	  instead of en.
+2006-12-27  castaglia <castaglia>
 
-2006-12-01 19:26  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.
 
-	* RELEASE_NOTES:
-	  More release notes.
+2006-12-22  castaglia <castaglia>
 
-2006-12-01 19:17  castaglia
+	* contrib/mod_sql.c: Paranoid NULL termination of vararg lists to
+	the sql_prepare_where() variadic function.
 
-	* doc/contrib/mod_sql.html:
-	  Document the SQLOptions directive.
+2006-12-22  castaglia <castaglia>
 
-2006-12-01 18:24  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.)
 
-	* 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-22  castaglia <castaglia>
 
-2006-12-01 18:13  castaglia
+	* NEWS, contrib/mod_sql.c: Bug#2869 - mod_sql botches WHERE clauses.
 
-	* 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-21  castaglia <castaglia>
 
-2006-12-01 17:08  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.
 
-	* RELEASE_NOTES:
-	  More documentation for the release notes.
+2006-12-21  castaglia <castaglia>
 
-2006-12-01 16:06  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.
 
-	* configure:
-	  Updating configure.
+2006-12-20  castaglia <castaglia>
 
-2006-12-01 15:46  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.
 
-	* 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-20  castaglia <castaglia>
 
-2006-12-01 15:42  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).
 
-	* RELEASE_NOTES:
-	  Start adding more substance to the release notes, in preparation
-	  for a release.
+2006-12-19  castaglia <castaglia>
 
-2006-12-01 11:33  castaglia
+	* src/parser.c, src/trace.c: Adding tracing of the parser, using the
+	'config' trace channel.
 
-	* locale/Makefile.in:
-	  Make errors with creating translation catalogs non-fatal during
-	  the build process.
+2006-12-19  castaglia <castaglia>
 
-2006-12-01 11:29  castaglia
+	* src/netaddr.c: More tracing of netaddr functions, particularly in
+	the reverse DNS resolution code.
 
-	* locale/: Makefile.in, files.txt:
-	  More work on the Makefile for generating the template message
-	  catalog for translation.
+2006-12-19  castaglia <castaglia>
 
-2006-11-30 14:31  castaglia
+	* modules/mod_auth_pam.c: Adding tracing of PAM.
 
-	* contrib/ftpquota:
-	  If opening a quota table for displaying records only, open the
-	  table in read-only mode, rather than read-append mode.
+2006-12-19  castaglia <castaglia>
 
-2006-11-30 10:06  castaglia
+	* src/netaddr.c: Adding tracing of netaddr functions, using the
+	trace channel name 'dns'.
 
-	* src/ftpdctl.c:
-	  Return a value, since the function definition requires it.
+2006-12-19  castaglia <castaglia>
 
-2006-11-29 09:08  castaglia
+	* modules/mod_facl.c, src/trace.c: Adding tracing of POSIX ACLs.
 
-	* 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-12-19  castaglia <castaglia>
 
-2006-11-28 20:13  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).
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#2860 - Failure to check for data length in mod_tls could lead
-	  to remote buffer overwriting.
+2006-12-19  castaglia <castaglia>
 
-	  (Also add entry for Bug #2858.)
+	* 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-11-28 19:47  castaglia
+2006-12-18  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Prevent some possible NULL pointer dereferences by checking for
-	  tls_pkey before using it.
+	* src/netacl.c: Adding tracing of NetACLs.
 
-	  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-12-18  castaglia <castaglia>
 
-2006-11-28 19:29  castaglia
+	* src/ident.c: Add tracing of ident lookups.
 
-	* contrib/mod_radius.c:
-	  Fix typo in declaration of static MD5_Update() function.
+2006-12-18  castaglia <castaglia>
 
-	  Also add paranoid check for size of attribute length, in RADIUS
-	  packet, which exceeds the maximum size of the data type.
+	* contrib/mod_ban.c: Get in the habit of setting pools to NULL after
+	destroying them.  Update to use newer Timer API.
 
-2006-11-28 11:37  jwm
+2006-12-18  castaglia <castaglia>
 
-	* 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
+	* 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-11-27 06:49  jwm
+2006-12-18  castaglia <castaglia>
 
-	* src/support.c: Bug #2858 - CVE-2006-5815: remote code execution
-	  in ProFTPD
+	* src/inet.c: FreeBSD 7 on its way.
 
-2006-11-17 15:42  jwm
+2006-12-18  castaglia <castaglia>
 
-	* 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
+	* src/support.c: The pickier compiler on my Linux laptop caught this
+	thinko.
 
-2006-10-31 19:12  castaglia
+2006-12-17  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.
+	* modules/mod_auth.c, modules/mod_log.c, src/parser.c: Use
+	pr_env_get() rather than getenv(3).
 
-2006-10-31 19:11  castaglia
+2006-12-17  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.
+	* 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-10-31 18:36  castaglia
+2006-12-17  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.
+	* configure: Updated configure.
 
-2006-10-31 18:35  castaglia
+2006-12-17  castaglia <castaglia>
 
-	* src/netio.c:
-	  Require that callers of pr_netio_gets() and
-	  pr_netio_telnet_gets() specify a non-zero buffer length.
+	* 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-10-31 18:34  castaglia
+2006-12-16  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.
+	* modules/mod_ctrls.c, src/ctrls.c: Add tracing of controls.
 
-2006-10-31 14:49  castaglia
+2006-12-15  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.
+	* modules/mod_dso.c: Adding tracing of DSO modules.
 
-2006-10-30 14:07  castaglia
+2006-12-15  castaglia <castaglia>
 
-	* doc/howto/SQL.html:
-	  Add an example of using Python to generate an OpenSSL-encoded
-	  mod_sql password string.
+	* doc/contrib/mod_ctrls_admin.html: Documentation for the 'trace
+	info' ftpctl action.
 
-2006-10-25 09:05  castaglia
+2006-12-15  castaglia <castaglia>
 
-	* src/ftpdctl.c:
-	  Add stub for pr_trace_msg(), so that linking ftpdctl does not
-	  fail.
+	* 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-10-24 10:47  castaglia
+2006-12-15  castaglia <castaglia>
 
-	* src/event.c:
-	  Allocate a larger event pool (ref Bug #2850).
+	* src/fsio.c: Add more handling of possible signals within while()
+	loops.
 
-2006-10-24 09:43  castaglia
+2006-12-15  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.
+	* modules/mod_ls.c: Style changes, and some additional
+	pr_signals_handle() calls in while() loops.
 
-2006-10-24 09:13  castaglia
+2006-12-15  castaglia <castaglia>
 
-	* src/: ctrls.c, event.c:
-	  Add tracing of when control action handlers and event handlers
-	  are registered and unregistered.
+	* src/event.c: Use tracing for logging of events, rather than debug
+	logging.
 
-2006-10-23 19:40  castaglia
+2006-12-15  castaglia <castaglia>
 
-	* contrib/mod_ban.c:
-	  Update the mod_ban module to be better behaved as a shared
-	  module.
+	* src/fsio.c: Add tracing of the FSIO API, no longer using
+	pr_log_debug().
 
-2006-10-23 19:32  castaglia
+2006-12-15  castaglia <castaglia>
 
-	* src/trace.c:
-	  Be sure to set the trace table pointer to NULL after clearing the
-	  pool from which it was allocated.
+	* 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-10-23 18:34  castaglia
+2006-12-15  castaglia <castaglia>
 
-	* contrib/mod_wrap2/: mod_wrap2.c, mod_wrap2.h.in:
-	  Updated mod_wrap2 to be better behaved when compiled as a shared
-	  module.
+	* doc/contrib/mod_ctrls_admin.html: Add docs for the 'trace' control
+	action.
 
-2006-10-19 19:18  jwm
+2006-12-15  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: add much more extensive debugging output
+	* NEWS, modules/mod_core.c: Bug#2849 - Error msg "Not owner"
+	returned by "SIZE in ASCII mode" is misleading.
 
-2006-10-13 08:00  castaglia
+2006-12-15  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.
+	* src/utf8.c: Make sure that utf8_init() and utf8_free() are present
+	for use by the linker, even if they return ENOSYS.
 
-2006-10-13 07:53  castaglia
+2006-12-15  castaglia <castaglia>
 
-	* src/parser.c:
-	  Typo.
+	* lib/getopt.c: Make sure to reference the gettext() function only
+	when NLS support has been requested.  Otherwise, confusing linker
+	errors result.
 
-2006-10-13 07:51  castaglia
+2006-12-15  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.
+	* src/timers.c: Add timer tracing.
 
-2006-10-11 09:47  castaglia
+2006-12-15  castaglia <castaglia>
 
-	* doc/modules/mod_facl.html:
-	  Add small doc for the mod_facl module.
+	* include/compat.h, include/timers.h: Compatibility macros should
+	all be collected in compat.h.
 
-2006-10-11 09:37  castaglia
+2006-12-14  castaglia <castaglia>
 
-	* RELEASE_NOTES, modules/mod_facl.c:
-	  Add a runtime directive for disabling mod_facl, if needed.
+	* locale/Makefile.in: Using the --sort-by-file option when
+	generating message catalogs.
 
-2006-10-05 11:01  castaglia
+2006-12-14  castaglia <castaglia>
 
-	* src/parser.c:
-	  Style cleanup.  Sprinkle more "pr_signals_handle()" around within
-	  the while loops, too.
+	* 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-10-05 10:57  castaglia
+2006-12-14  castaglia <castaglia>
 
-	* NEWS, src/parser.c:
-	  Bug#2848 - Unable to properly parse config files using
-	  Windows-style line endings.
+	* src/inet.c: Use tracing to log when we have successfully bound an
+	address/port to a socket.
 
-2006-10-04 14:06  castaglia
+2006-12-14  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#2847 - HiddenStores files not properly removed if data
-	  transfer times out.
+	* configure: Updated configure.
 
-2006-09-29 09:41  castaglia
+2006-12-14  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  A little more about UseIPv6, and the command-line options.
+	* 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-09-29 09:38  castaglia
+2006-12-13  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.
+	* NEWS, contrib/mod_radius.c, doc/contrib/mod_radius.html: Bug#2856
+	- Support for RADIUS NAS-Identifier attribute.
 
-2006-09-27 08:58  castaglia
+2006-12-13  castaglia <castaglia>
 
-	* src/main.c:
-	  Reset the handler for the SIGUSR2 signal (and NOT the SIGHUP
-	  signal) in the sig_evnt() handler.
+	* configure: Updated configure.
 
-2006-09-18 09:55  castaglia
+2006-12-13  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* 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-09-18 09:48  castaglia
+2006-12-13  castaglia <castaglia>
 
-	* Makefile.in, configure.in, locale/Makefile.in:
-	  Renaming the po/ directory to locale/.
+	* modules/mod_ls.c: Use strcoll(3) both when NLS is enabled and when
+	strcoll(3) is actually present.
 
-2006-09-14 11:02  castaglia
+2006-12-13  castaglia <castaglia>
 
-	* NEWS, src/fsio.c:
-	  Bug#2842 - Filesystem statcache is not correctly caching return
-	  value of stat().
+	* modules/mod_lang.c: Make sure that mod_lang can compile if libintl
+	support is absent.
 
-2006-09-13 13:49  castaglia
+2006-12-13  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* src/utf8.c: Make sure utf8.c can compile and run, even when iconv
+	support is lacking.
 
-2006-09-13 13:32  castaglia
+2006-12-12  castaglia <castaglia>
 
-	* Makefile.in, configure.in:
-	  Start of a po/Makefile, for building .po files (localised message
-	  strings).  Part of the support for RFC2640.
+	* doc/modules/mod_delay.html: Typo.
 
-2006-09-11 19:38  castaglia
+2006-12-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.
+	* include/version.h: Back to CVS mode, for the next RC release.
 
-2006-09-11 18:31  castaglia
+2006-12-12  castaglia <castaglia>
 
-	* doc/contrib/mod_sql.html:
-	  Remove mention of SQLHomedirOnDemand, as that directive is now
-	  deprecated.
+	* ChangeLog: Updated ChangeLog.
 
-2006-09-11 17:51  castaglia
+2006-12-12  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES:
-	  There is no 'SQLWhereClause' directive.  Oops.
+	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
+	for 1.3.1rc1 release.
 
-2006-09-11 17:48  castaglia
+2006-12-12  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/mod_sql.c:
-	  Bug#2828 - Support variables in SQL Where directives.
+	* RELEASE_NOTES: Finish polishing up these release notes.
 
-2006-09-11 14:58  castaglia
+2006-12-12  castaglia <castaglia>
 
-	* doc/contrib/mod_sql.html:
-	  Document the syntax for refering to environment variables in a
-	  SQLNamedQuery.
+	* NEWS, src/ctrls.c: Bug#2867 - Local authorized user buffer
+	overflow in Controls request handling.
 
-2006-09-11 14:52  castaglia
+2006-12-11  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/mod_sql.c:
-	  Bug#2799 - SQLNamedQuery should support environment variables.
+	* src/var.c: Handle the case where the retrieved variable is NULL.
 
-2006-09-11 11:42  castaglia
+2006-12-11  castaglia <castaglia>
 
-	* doc/contrib/mod_tls.html:
-	  Add documentation for the new TLSPassPhraseProvider directive.
+	* modules/mod_ls.c: More pedantic checks for NULL pointers.
 
-2006-09-11 11:33  castaglia
+2006-12-11  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/mod_tls.c:
-	  Bug#2756 - Support for TLSPassPhraseProvider.
+	* 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-09-11 11:30  castaglia
+2006-12-11  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#2839 - ProFTPD seems to re-read the file two times in RETR
-	  command.
+	* doc/howto/TLS.html: Add a mod_tls FAQ about linker errors related
+	to libdl.
 
-2006-09-11 10:58  castaglia
+2006-12-11  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* modules/mod_core.c: More safety checking of possibly NULL return
+	values.
 
-2006-09-11 10:55  castaglia
+2006-12-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.
+	* 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-09-08 18:15  castaglia
+2006-12-11  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.)
+	* src/log.c: Handle a possible return value of NULL from
+	localtime(3).
 
-2006-09-08 17:51  castaglia
+2006-12-11  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* src/fsio.c: Check for NULL return values from strdup(3).
 
-2006-09-08 17:48  castaglia
+2006-12-11  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.
+	* 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-09-08 09:41  castaglia
+2006-12-11  castaglia <castaglia>
 
-	* NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c,
-	  src/main.c:
-	  Bug#2837 - Defines improperly persist across daemon restarts.
+	* modules/mod_ls.c, modules/mod_site.c, src/fsio.c, src/trace.c: Off
+	by one.
 
-2006-09-08 08:46  castaglia
+2006-12-11  castaglia <castaglia>
 
-	* NEWS, contrib/mod_quotatab.c:
-	  Bug#2835 - Group quotas not honored for supplemental group
-	  membership.
+	* lib/glibc-glob.c: Paranoid null pointer check.  Useful, since we
+	do use the ALTDIRFUNC flag.
 
-2006-09-07 09:04  castaglia
+2006-12-11  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Typo.
+	* src/fsio.c: Make sure pr_fs_dircat() doesn't attempt to operate on
+	NULL pointers.
 
-2006-09-06 20:06  castaglia
+2006-12-11  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#2825 - SSL/TLS CRLs are not working properly.
+	* modules/mod_log.c: More insurance that a possible NULL value isn't
+	passed to a library call, e.g. strftime(3).
 
-2006-09-06 19:56  castaglia
+2006-12-11  castaglia <castaglia>
 
-	* contrib/mod_ldap.c:
-	  Check for PR_USE_OPENSSL as well as HAVE_OPENSSL.
+	* 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-09-06 19:53  castaglia
+2006-12-11  castaglia <castaglia>
 
-	* contrib/mod_sql.c:
-	  Correct the checks for HAVE_OPENSSL and PR_USE_OPENSSL in
-	  mod_sql.
+	* src/trace.c: Paranoid check for improper indices into the
+	allocated buffer.
 
-2006-09-06 19:49  castaglia
+2006-12-11  castaglia <castaglia>
 
-	* contrib/mod_radius.c:
-	  Make the ordering of OpenSSL header inclusion a little more
-	  legible.
+	* src/support.c: Ensure that we don't accidentally go past the end
+	of the allocated array.
 
-2006-09-06 19:47  castaglia
+2006-12-11  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.
+	* modules/mod_site.c: Another possible negative array index catch.
 
-2006-09-06 19:27  castaglia
+2006-12-11  castaglia <castaglia>
 
-	* configure:
-	  Updated configure.
+	* modules/mod_ls.c: Catch another possible situation where the index
+	used may inadvertently be -1.
 
-2006-09-06 19:24  castaglia
+2006-12-11  castaglia <castaglia>
 
-	* configure.in:
-	  Make sure the USE_OPENSSL macro is set if mod_tls is compiled in.
+	* src/fsio.c: Pedantically fix some edge cases where an index of -1
+	might accidentally be used.
 
-2006-09-06 18:57  castaglia
+2006-12-07  castaglia <castaglia>
 
-	* src/bindings.c:
-	  Style changes; no functional change.
+	* 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-09-06 17:30  castaglia
+2006-12-07  castaglia <castaglia>
 
-	* NEWS:
-	  Added mod_wrap2 to the distro.
+	* 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-09-06 17:23  castaglia
+2006-12-06  castaglia <castaglia>
 
-	* README.modules, RELEASE_NOTES:
-	  Updating docs for mention of mod_wrap2.  Needs to fleshed out
-	  more.
+	* configure: Updated configure.
 
-2006-09-06 17:16  castaglia
+2006-12-06  castaglia <castaglia>
 
-	* contrib/mod_wrap2/configure:
-	  Adding configure script for mod_wrap2.
+	* config.h.in, configure.in, include/conf.h: NLS support requires
+	checking for the locale.h header, and including it if necessary.
 
-2006-09-06 17:15  castaglia
+2006-12-06  castaglia <castaglia>
 
-	* contrib/: mod_wrap2_file.c, mod_wrap2_sql.c:
-	  Adding mod_wrap2 submodules.
+	* doc/howto/DisplayFiles.html: Renamed DisplayFirstChdir to
+	DisplayChdir, and added mention of the new DisplayFileTransfer.
 
-2006-09-06 16:11  castaglia
+2006-12-06  castaglia <castaglia>
 
-	* contrib/mod_wrap2/: Makefile.in, configure.in, mod_wrap2.c,
-	  mod_wrap2.h.in:
-	  Adding mod_wrap2 to the contrib/ area.
+	* 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-09-06 16:09  castaglia
+2006-12-06  castaglia <castaglia>
 
-	* doc/contrib/: index.html, mod_wrap2.html, mod_wrap2_file.html,
-	  mod_wrap2_sql.html:
-	  Adding documentation for the mod_wrap2 et al modules.
+	* src/display.c: Use tracing, rather than debug level 10, for
+	logging about unresolved variables in Display files.
 
-2006-09-05 10:04  castaglia
+2006-12-06  castaglia <castaglia>
 
-	* include/modules.h:
-	  The privdata structure is no longer used.
+	* src/trace.c: Add a default trace channel for logging from the
+	Variables API layer.
 
-2006-08-23 19:29  castaglia
+2006-12-06  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).
+	* lib/sstrncpy.c: Include the library support header libsupp.h, at
+	least, since that is what its purpose is.
 
-2006-08-17 09:05  castaglia
+2006-12-06  castaglia <castaglia>
 
-	* modules/mod_ls.c:
-	  Fix an issue noticed by Daniel, using lftp (but not ftp).
+	* lib/sstrncpy.c: No need to pull in all of proftpd's configuration
+	for sstrncpy().
 
-	  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.
+2006-12-05  castaglia <castaglia>
 
-	  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.)
+	* contrib/mod_wrap2/mod_wrap2.c: More updates to the current APIs.
 
-2006-08-16 11:42  jwm
+2006-12-05  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: fix debug message format (thanks to mathew
-	  <meta at pobox.com>)
+	* contrib/mod_ban.c, contrib/mod_wrap2/mod_wrap2.c: Updating
+	mod_ban, mod_wrap2 to use newer module API names and macros.
 
-2006-08-09 08:39  castaglia
+2006-12-05  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.
+	* include/log.h: Use GCC pragmas for checking callers of
+	pr_log_writefile() as well.
 
-2006-08-04 08:11  castaglia
+2006-12-05  castaglia <castaglia>
 
-	* doc/howto/Limit.html:
-	  Mention that <Limit LOGIN> does not work as expected within
-	  <Directory> sections.
+	* 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-08-02 11:26  castaglia
+2006-12-05  castaglia <castaglia>
 
-	* NEWS, include/options.h, src/main.c:
-	  Bug#2774 - Idle clients exhibit excessive usage of system
-	  resources.
+	* src/support.c: Typo.
 
-2006-07-19 19:15  castaglia
+2006-12-05  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.
+	* src/trace.c: Add 'data' as one of the built-in trace channel
+	names.
 
-2006-06-29 10:16  castaglia
+2006-12-05  castaglia <castaglia>
 
-	* modules/mod_auth_unix.c:
-	  Not only was the persistent_passwdf variable never used, neither
-	  was the _get_ppw_info() function.
+	* contrib/mod_tls.c: Add some comments reminding me why I see
+	gibberish in the debug logging, depending on the mod_tls
+	configuration.
 
-2006-06-29 09:00  castaglia
+2006-12-04  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.
+	* contrib/mod_tls.c: Rather than logging when CRLs have not been
+	configured, log when CRLs *are* present and being used.
 
-2006-06-28 09:32  castaglia
+2006-12-04  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.
+	* contrib/mod_tls.c: More paranoia.  Also some minor style changes.
 
-2006-06-28 09:16  castaglia
+2006-12-04  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).
+	* 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-06-28 09:10  castaglia
+2006-12-04  castaglia <castaglia>
 
-	* NEWS, contrib/mod_wrap.c:
-	  Bug#2810 - Incorrect use of assignment instead of comparison in
-	  mod_wrap.
+	* 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-06-22 13:37  castaglia
+2006-12-04  castaglia <castaglia>
 
-	* include/lastlog.h, src/lastlog.c:
-	  Oops.  Forgot to check these files in.  They're for Bug #2610.
+	* 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-06-22 12:48  jwm
+2006-12-04  castaglia <castaglia>
 
-	* modules/mod_ctrls.c: auth_(uid|gid)2name have become
-	  pr_auth_(uid|gid)2name
+	* NEWS, modules/mod_ls.c: Bug#2862 - NLST / returns a listing of the
+	current directory.
 
-2006-06-22 10:06  castaglia
+2006-12-04  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.
+	* modules/mod_ls.c: More paranoia.  Make sure that the length
+	returned from readlink() isn't too large for our buffers.
 
-2006-06-22 09:08  castaglia
+2006-12-04  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.
+	* src/support.c: More defensive checking of input arguments, in
+	pr_memscrub() and sstrcat().
 
-2006-06-20 09:54  castaglia
+2006-12-04  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#2807 - mod_sql processes SQLLog QUIT query twice.
+	* 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-06-16 14:35  castaglia
+2006-12-04  castaglia <castaglia>
 
-	* modules/mod_auth_unix.c:
-	  Remove unused variables and simplify the code.
+	* locale/Makefile.in: Be more specific about the language support
+	right now: en_US instead of en.
 
-2006-06-16 10:02  castaglia
+2006-12-02  castaglia <castaglia>
 
-	* contrib/mod_ldap.c:
-	  auth_check() -> pr_auth_check()
+	* RELEASE_NOTES: More release notes.
 
-2006-06-16 10:00  castaglia
+2006-12-02  castaglia <castaglia>
 
-	* contrib/mod_sql.c:
-	  Style cleanup.
+	* doc/contrib/mod_sql.html: Document the SQLOptions directive.
 
-2006-06-15 19:54  castaglia
+2006-12-02  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* 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-06-15 19:52  castaglia
+2006-12-02  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.
+	* 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-06-15 19:33  castaglia
+2006-12-02  castaglia <castaglia>
 
-	* contrib/mod_site_misc.c:
-	  Updating mod_site_misc to handle UTF8-encoded paths.
+	* RELEASE_NOTES: More documentation for the release notes.
 
-2006-06-15 19:30  castaglia
+2006-12-02  castaglia <castaglia>
 
-	* NEWS:
-	  Bug#2626 - "ERROR" macro collision can cause compiler errors on
-	  HP-UX.
+	* configure: Updating configure.
 
-2006-06-15 19:28  castaglia
+2006-12-01  castaglia <castaglia>
 
-	* Makefile.in:
-	  There is no real need to clean the include/ directory.
+	* 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-06-15 19:22  castaglia
+2006-12-01  castaglia <castaglia>
 
-	* contrib/: mod_ban.c, mod_ctrls_admin.c, mod_ifsession.c,
-	  mod_ldap.c, mod_quotatab.c, mod_radius.c, mod_ratio.c,
-	  mod_readme.c, mod_rewrite.c, mod_site_misc.c, mod_sql.c,
-	  mod_sql_mysql.c, mod_sql_postgres.c, mod_tls.c, mod_wrap.c:
-	  Updating contrib modules to use PR_ERROR, PR_DECLINED, and
-	  PR_HANDLED.
+	* RELEASE_NOTES: Start adding more substance to the release notes,
+	in preparation for a release.
 
-2006-06-15 19:10  castaglia
+2006-12-01  castaglia <castaglia>
 
-	* contrib/mod_load/mod_load.c.in:
-	  Update mod_load to use PR_HANDLED.
+	* locale/Makefile.in: Make errors with creating translation catalogs
+	non-fatal during the build process.
 
-2006-06-15 18:40  castaglia
+2006-12-01  castaglia <castaglia>
 
-	* modules/: mod_auth.c, mod_auth_file.c, mod_auth_pam.c,
-	  mod_auth_unix.c, mod_cap.c, mod_core.c, mod_ctrls.c, mod_delay.c,
-	  mod_dso.c, mod_log.c, mod_ls.c, mod_site.c, mod_xfer.c:
-	  Updating the core modules to use the PR_ERROR, PR_DECLINED, and
-	  PR_HANDLED macros.  Also includes style changes.
+	* locale/Makefile.in, locale/files.txt: More work on the Makefile
+	for generating the template message catalog for translation.
 
-2006-06-15 18:11  castaglia
+2006-11-30  castaglia <castaglia>
 
-	* doc/mod_sample.c:
-	  Updating the sample module to reflect ongoing changes in the core
-	  code.
+	* contrib/ftpquota: If opening a quota table for displaying records
+	only, open the table in read-only mode, rather than read-append
+	mode.
 
-2006-06-15 17:53  castaglia
+2006-11-30  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  To enable lastlog support requires --with-lastlog, not
-	  --enable-lastlog.
+	* src/ftpdctl.c: Return a value, since the function definition
+	requires it.
 
-2006-06-15 17:48  castaglia
+2006-11-29  castaglia <castaglia>
 
-	* include/: compat.h, dirtree.h, 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.
+	* 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.
 
-	  Compatibility redefines in compat.h will help to make the
-	  transition transparent (hopefully).
+2006-11-29  castaglia <castaglia>
 
-2006-06-15 17:37  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.)
 
-	* src/main.c:
-	  Forgot a few places where SIG_REHASH was renamed to SIG_RESTART.
+2006-11-29  castaglia <castaglia>
 
-2006-06-15 17:36  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.
 
-	* configure:
-	  Updating configure.
+2006-11-29  castaglia <castaglia>
 
-2006-06-15 17:36  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.
 
-	* include/proftpd.h, src/main.c:
-	  Remove all the old "struct rehash" callback stuff.  Replace
-	  mention of "rehash" with "restart".
+2006-11-28  jwm <jwm>
 
-2006-06-15 17:32  castaglia
+	* 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
 
-	* 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-11-27  jwm <jwm>
 
-2006-06-15 17:26  castaglia
+	* src/support.c: Bug #2858 - CVE-2006-5815: remote code execution in
+	ProFTPD
 
-	* Make.rules.in, Makefile.in, NEWS, configure.in,
-	  include/Makefile.in:
-	  Bug#2719 - ProFTPD should install its header files into the
-	  installation location.
+2006-11-17  jwm <jwm>
 
-2006-06-15 16:00  castaglia
+	* 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
 
-	* include/.cvsignore:
-	  Preparing to ignore the generated Makefile that will appear in
-	  the include/ directory.
+2006-11-01  castaglia <castaglia>
 
-2006-06-15 14:40  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.
 
-	* configure:
-	  Updating configure.
+2006-11-01  castaglia <castaglia>
 
-2006-06-15 13:53  castaglia
+	* lib/sstrncpy.c, src/support.c, utils/misc.c: Prevent sstrcat() and
+	sstrncpy() from working on buffers if the length argument is zero.
 
-	* 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-11-01  castaglia <castaglia>
 
-2006-06-14 19:39  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.
 
-	* 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-11-01  castaglia <castaglia>
 
-2006-06-14 18:54  castaglia
+	* src/netio.c: Require that callers of pr_netio_gets() and
+	pr_netio_telnet_gets() specify a non-zero buffer length.
 
-	* include/pool.h, src/pool.c:
-	  Removing unused pool code.
+2006-11-01  castaglia <castaglia>
 
-2006-06-14 18:43  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.
 
-	* doc/contrib/mod_sql.html:
-	  Update the mod_sql docs, as per changes for Bug #2784.
+2006-10-31  castaglia <castaglia>
 
-	  Remove the list of deprecated directives from ancient mod_sql
-	  versions.
+	* 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-06-14 18:39  castaglia
+2006-10-30  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/mod_sql_mysql.c:
-	  Bug#2784 - Ability to specify MySQL Unix domain socket path.
+	* doc/howto/SQL.html: Add an example of using Python to generate an
+	OpenSSL-encoded mod_sql password string.
 
-2006-06-14 17:26  castaglia
+2006-10-25  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, modules/mod_core.c:
-	  Bug#2798 - MDTM should return time in GMT.
+	* src/ftpdctl.c: Add stub for pr_trace_msg(), so that linking
+	ftpdctl does not fail.
 
-2006-06-14 16:50  castaglia
+2006-10-24  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/mod_sql.c:
-	  Bug#2687 - Support for more efficient group table schema.
+	* src/event.c: Allocate a larger event pool (ref Bug #2850).
 
-2006-06-14 16:33  castaglia
+2006-10-24  castaglia <castaglia>
 
-	* src/utf8.c:
-	  Use "C" as a default local character set, if we cannot determine
-	  a better one.
+	* 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-06-14 13:42  castaglia
+2006-10-24  castaglia <castaglia>
 
-	* src/utf8.c:
-	  Add a trace message of the character set to which UTF8 conversion
-	  will be done.
+	* src/ctrls.c, src/event.c: Add tracing of when control action
+	handlers and event handlers are registered and unregistered.
 
-2006-06-14 10:53  castaglia
+2006-10-24  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)).
+	* contrib/mod_ban.c: Update the mod_ban module to be better behaved
+	as a shared module.
 
-2006-06-14 08:10  castaglia
+2006-10-24  castaglia <castaglia>
 
-	* NEWS, src/log.c:
-	  Bug#2801 - Error compiling proftpd on NetBSD 3.0/sparc64.
+	* src/trace.c: Be sure to set the trace table pointer to NULL after
+	clearing the pool from which it was allocated.
 
-2006-06-14 08:04  castaglia
+2006-10-24  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.
+	* 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-06-13 15:14  castaglia
+2006-10-20  jwm <jwm>
 
-	* src/scoreboard.c:
-	  Silence compiler warning (seen under --enable-devel) by renaming
-	  variable.
+	* contrib/mod_ldap.c: add much more extensive debugging output
 
-2006-06-12 09:03  castaglia
+2006-10-13  castaglia <castaglia>
 
-	* doc/howto/DSO.html:
-	  Update example Makefile to include DESTDIR.
+	* src/parser.c: Treat a trailing LF as the eol marker; no need to
+	treat any CRs before that LF as eol markers.
 
-2006-06-12 09:02  castaglia
+2006-10-13  castaglia <castaglia>
 
-	* contrib/mod_load/Makefile.in:
-	  Make sure that mod_load's Makefile honors DESTDIR.  Thanks to Ken
-	  Zalewski for pointing this out.
+	* src/parser.c: Typo.
 
-2006-06-09 11:29  castaglia
+2006-10-13  castaglia <castaglia>
 
-	* doc/contrib/mod_sql.html:
-	  Typo.
+	* 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-06-09 10:24  castaglia
+2006-10-11  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Updating the release notes.
+	* doc/modules/mod_facl.html: Add small doc for the mod_facl module.
 
-2006-06-09 10:21  castaglia
+2006-10-11  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.
+	* RELEASE_NOTES, modules/mod_facl.c: Add a runtime directive for
+	disabling mod_facl, if needed.
 
-2006-06-08 12:07  castaglia
+2006-10-05  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.
+	* src/parser.c: Style cleanup.  Sprinkle more "pr_signals_handle()"
+	around within the while loops, too.
 
-2006-06-08 12:00  castaglia
+2006-10-05  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.
+	* NEWS, src/parser.c: Bug#2848 - Unable to properly parse config
+	files using Windows-style line endings.
 
-2006-06-08 10:51  castaglia
+2006-10-04  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* NEWS, modules/mod_xfer.c: Bug#2847 - HiddenStores files not
+	properly removed if data transfer times out.
 
-2006-06-08 10:46  castaglia
+2006-09-29  castaglia <castaglia>
 
-	* configure.in:
-	  Fixing typo in handling of --enable-devel=profile configure
-	  option.
+	* RELEASE_NOTES: A little more about UseIPv6, and the command-line
+	options.
 
-2006-06-07 09:50  castaglia
+2006-09-29  castaglia <castaglia>
 
-	* doc/howto/Chroot.html:
-	  Bug#1323: DefaultRoot not working with nfs root squash +
-	  protected directories.
+	* 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-05-26 10:29  castaglia
+2006-09-27  castaglia <castaglia>
 
-	* configure:
-	  Updated configure script.
+	* src/main.c: Reset the handler for the SIGUSR2 signal (and NOT the
+	SIGHUP signal) in the sig_evnt() handler.
 
-2006-05-26 10:20  castaglia
+2006-09-18  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Modify mod_core for handling UTF8 paths, and mark it for i18n.
+	* configure: Updating configure.
 
-2006-05-26 10:16  castaglia
+2006-09-18  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).
+	* Makefile.in, configure.in, locale/Makefile.in: Renaming the po/
+	directory to locale/.
 
-2006-05-26 09:59  castaglia
+2006-09-14  castaglia <castaglia>
 
-	* src/trace.c:
-	  Change the format of the TraceLog: The log entry does not need to
-	  contain any server information.
+	* NEWS, src/fsio.c: Bug#2842 - Filesystem statcache is not correctly
+	caching return value of stat().
 
-2006-05-26 09:43  castaglia
+2006-09-13  castaglia <castaglia>
 
-	* src/: table.c, 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.
+	* configure: Updated configure.
 
-2006-05-26 08:35  castaglia
+2006-09-13  castaglia <castaglia>
 
-	* NEWS:
-	  Correct a bug number.
+	* 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-05-25 10:01  castaglia
+2006-09-12  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* modules/mod_auth.c: If MaxLoginAttempts is exceeded, mention in
+	the generated log message that we are refusing the client's
+	connection.
 
-2006-05-25 09:55  castaglia
+2006-09-12  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.
+	* doc/contrib/mod_sql.html: Remove mention of SQLHomedirOnDemand, as
+	that directive is now deprecated.
 
-	  Part of the work towards making the proftpd source i18n/l10n
-	  ready.
+2006-09-12  castaglia <castaglia>
 
-2006-05-25 08:46  castaglia
+	* NEWS, RELEASE_NOTES: There is no 'SQLWhereClause' directive.
+	Oops.
 
-	* NEWS, RELEASE_NOTES, modules/mod_log.c:
-	  Bug#2793 - LogFormat variable for the ProFTPD version.
+2006-09-12  castaglia <castaglia>
 
-2006-05-25 08:44  castaglia
+	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#2828 - Support
+	variables in SQL Where directives.
 
-	* NEWS, RELEASE_NOTES, modules/mod_xfer.c:
-	  Bug#2775 - Support for DisplayFileTransfer directive.
+2006-09-11  castaglia <castaglia>
 
-2006-05-24 08:00  castaglia
+	* doc/contrib/mod_sql.html: Document the syntax for refering to
+	environment variables in a SQLNamedQuery.
 
-	* README.AIX:
-	  Updating the AIX notes with remarks about gcc versions which do
-	  and don't work.
+2006-09-11  castaglia <castaglia>
 
-2006-05-23 10:34  castaglia
+	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#2799 - SQLNamedQuery
+	should support environment variables.
 
-	* NEWS, modules/mod_ctrls.c:
-	  Bug#2792 - ProFTPD fails after SIGHUP signal when Controls
-	  support is enabled.
+2006-09-11  castaglia <castaglia>
 
-2006-05-23 10:31  castaglia
+	* doc/contrib/mod_tls.html: Add documentation for the new
+	TLSPassPhraseProvider directive.
 
-	* src/dirtree.c:
-	  Style tweaks.  Add handling of signals to a while() loop.
+2006-09-11  castaglia <castaglia>
 
-2006-05-23 08:06  castaglia
+	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#2756 - Support for
+	TLSPassPhraseProvider.
 
-	* configure:
-	  Updating configure script.
+2006-09-11  castaglia <castaglia>
 
-2006-05-23 08:02  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#2839 - ProFTPD seems to re-read the
+	file two times in RETR command.
 
-	* 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-09-11  castaglia <castaglia>
 
-2006-05-23 07:55  castaglia
+	* configure: Updating configure.
 
-	* 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.
+2006-09-11  castaglia <castaglia>
 
-	  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.
+	* 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-05-22 09:45  castaglia
+2006-09-09  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Remove Perlism causing a broken module.  Add handling of signals
-	  to a potentially long-running while loop.
+	* 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-05-22 09:22  castaglia
+2006-09-09  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#2514 - Trouble with mod_tls and DSA certificates.
+	* configure: Updated configure.
 
-2006-05-19 15:07  castaglia
+2006-09-09  castaglia <castaglia>
 
-	* src/netaddr.c:
-	  Fix some compiler warnings, and a syntax error.
+	* 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-05-18 09:45  castaglia
+2006-09-08  castaglia <castaglia>
 
-	* src/trace.c:
-	  If pr_trace_msg() is used with an unknown channel, return -1
-	  rather than 0.
+	* NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c,
+	src/main.c: Bug#2837 - Defines improperly persist across daemon
+	restarts.
 
-2006-05-18 08:57  castaglia
+2006-09-08  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script.
+	* NEWS, contrib/mod_quotatab.c: Bug#2835 - Group quotas not honored
+	for supplemental group membership.
 
-2006-05-18 08:38  castaglia
+2006-09-07  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.
+	* RELEASE_NOTES: Typo.
 
-2006-05-17 17:47  castaglia
+2006-09-07  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.
+	* NEWS, contrib/mod_tls.c: Bug#2825 - SSL/TLS CRLs are not working
+	properly.
 
-2006-05-17 09:18  castaglia
+2006-09-07  castaglia <castaglia>
 
-	* NEWS, README.IPv6, src/netacl.c, src/netaddr.c:
-	  More work on Bug#2785.
+	* contrib/mod_ldap.c: Check for PR_USE_OPENSSL as well as
+	HAVE_OPENSSL.
 
-2006-05-15 14:42  castaglia
+2006-09-07  castaglia <castaglia>
 
-	* doc/howto/DSO.html:
-	  Make note of some of the errors you might encounter when using
-	  DSO modules.
+	* contrib/mod_sql.c: Correct the checks for HAVE_OPENSSL and
+	PR_USE_OPENSSL in mod_sql.
 
-2006-05-15 09:32  castaglia
+2006-09-07  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.
+	* contrib/mod_radius.c: Make the ordering of OpenSSL header
+	inclusion a little more legible.
 
-2006-05-12 14:53  castaglia
+2006-09-07  castaglia <castaglia>
 
-	* README.AIX:
-	  Document that some versions of AIX have sendfile issues.
+	* 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-05-05 09:02  castaglia
+2006-09-07  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Clean up the handling of the TLSCACertificatePath directive.
+	* configure: Updated configure.
 
-2006-04-21 09:37  castaglia
+2006-09-07  castaglia <castaglia>
 
-	* contrib/mod_quotatab.c, doc/contrib/mod_quotatab.html:
-	  Forgot to add the description for the QuotaExcludeFilter
-	  directive.
+	* configure.in: Make sure the USE_OPENSSL macro is set if mod_tls is
+	compiled in.
 
-2006-04-21 09:26  castaglia
+2006-09-07  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.
+	* src/bindings.c: Style changes; no functional change.
 
-2006-04-20 19:04  castaglia
+2006-09-07  castaglia <castaglia>
 
-	* contrib/mod_sql.h:
-	  Update the mod_sql header.  Crufty information, and a typo.
+	* NEWS: Added mod_wrap2 to the distro.
 
-2006-04-20 19:02  castaglia
+2006-09-07  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.
+	* README.modules, RELEASE_NOTES: Updating docs for mention of
+	mod_wrap2.  Needs to fleshed out more.
 
-2006-04-20 18:59  castaglia
+2006-09-07  castaglia <castaglia>
 
-	* contrib/: mod_sql.c, mod_sql_mysql.c, 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.
+	* contrib/mod_wrap2/configure: Adding configure script for
+	mod_wrap2.
 
-2006-04-20 18:32  castaglia
+2006-09-07  castaglia <castaglia>
 
-	* NEWS, README.modules, RELEASE_NOTES, contrib/mod_ban.c,
-	  doc/contrib/mod_ban.html:
-	  Adding mod_ban.
+	* contrib/mod_wrap2_file.c, contrib/mod_wrap2_sql.c: Adding
+	mod_wrap2 submodules.
 
-2006-04-20 10:03  castaglia
+2006-09-06  castaglia <castaglia>
 
-	* NEWS, src/inet.c:
-	  Bug#2733 - IP TOS not being set for data transfers.
+	* 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-04-19 19:28  castaglia
+2006-09-06  castaglia <castaglia>
 
-	* src/parser.c:
-	  Adding some sanity checks for NULL pointers, pointed out by
-	  Coverity scans.  Also remove some unnecessary conditionals.
+	* 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-04-19 19:24  castaglia
+2006-09-05  castaglia <castaglia>
 
-	* modules/mod_log.c:
-	  "writeable" -> "writable".
+	* include/modules.h: The privdata structure is no longer used.
 
-2006-04-19 19:06  castaglia
+2006-08-24  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Clean up dead code spotted by Coverity scan.
+	* 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-04-19 19:01  castaglia
+2006-08-17  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Clean up dead code spotted by Coverity scan.	Also fixup some
-	  formatting issues while I'm here.
+	* 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-04-19 18:46  castaglia
+2006-08-16  jwm <jwm>
 
-	* src/data.c, modules/mod_auth_file.c:
-	  Clean up dead code spotted by Coverity scan.
+	* contrib/mod_ldap.c: fix debug message format (thanks to mathew
+	<meta at pobox.com>)
 
-2006-04-19 18:42  castaglia
+2006-08-09  castaglia <castaglia>
 
-	* contrib/mod_sql.c:
-	  Clean up dead code spotted by Coverity.
+	* modules/mod_core.c: Prevent users from misconfiguring their
+	servers silently by trying to use something like "<Global ~user>" in
+	their proftpd.conf.
 
-2006-04-19 16:10  castaglia
+2006-08-04  castaglia <castaglia>
 
-	* RELEASE_NOTES, modules/mod_xfer.c:
-	  Get the ball rolling on deprecating HiddenStor, in favor of
-	  HiddenStores.
+	* doc/howto/Limit.html: Mention that <Limit LOGIN> does not work as
+	expected within <Directory> sections.
 
-2006-04-19 09:59  castaglia
+2006-08-02  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* NEWS, include/options.h, src/main.c: Bug#2774 - Idle clients
+	exhibit excessive usage of system resources.
 
-2006-04-19 09:56  castaglia
+2006-07-20  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.
+	* 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-04-19 09:44  castaglia
+2006-06-29  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.
+	* modules/mod_auth_unix.c: Not only was the persistent_passwdf
+	variable never used, neither was the _get_ppw_info() function.
 
-2006-04-17 15:48  castaglia
+2006-06-29  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, modules/mod_log.c:
-	  Bug#2651 - LogFormat should support variable for logging the
-	  response message.
+	* 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-04-17 15:38  castaglia
+2006-06-28  castaglia <castaglia>
 
-	* doc/contrib/: mod_quotatab.html, mod_quotatab_radius.html:
-	  Update mod_quotatab docs with links to RADIUS submodule.
+	* 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-04-17 15:35  castaglia
+2006-06-28  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.
+	* 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-04-17 15:23  castaglia
+2006-06-28  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.
+	* NEWS, contrib/mod_wrap.c: Bug#2810 - Incorrect use of assignment
+	instead of comparison in mod_wrap.
 
-2006-04-17 15:22  castaglia
+2006-06-22  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.
+	* include/lastlog.h, src/lastlog.c: Oops.  Forgot to check these
+	files in.  They're for Bug #2610.
 
-2006-04-17 15:20  castaglia
+2006-06-22  jwm <jwm>
 
-	* NEWS, RELEASE_NOTES, contrib/mod_sql.c:
-	  Bug#2628 - SQLHomedirOnDemand should be deprecated.
+	* modules/mod_ctrls.c: auth_(uid|gid)2name have become
+	pr_auth_(uid|gid)2name
 
-2006-04-17 14:01  castaglia
+2006-06-22  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/mod_tls.c, doc/contrib/mod_tls.html:
+	* 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.
 
-	  Bug#2686 - Allow CCC command but still require SSL/TLS protection
-	  during authentication.
+2006-06-22  castaglia <castaglia>
 
-2006-04-17 11:52  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.
 
-	* NEWS, RELEASE_NOTES, modules/mod_auth.c,
-	  doc/howto/CreateHome.html, doc/howto/index.html, src/mkhome.c:
-	  Bug#2611 - CreateHome should allow non-root-owned parent
-	  directories.
+2006-06-20  castaglia <castaglia>
 
-2006-04-17 11:39  castaglia
+	* NEWS, contrib/mod_sql.c: Bug#2807 - mod_sql processes SQLLog QUIT
+	query twice.
 
-	* NEWS, RELEASE_NOTES, contrib/mod_tls.c, doc/contrib/mod_tls.html:
+2006-06-16  castaglia <castaglia>
 
-	  Bug#2599 - Support for using OpenSSL "engines".
+	* modules/mod_auth_unix.c: Remove unused variables and simplify the
+	code.
 
-2006-04-17 10:53  castaglia
+2006-06-16  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* contrib/mod_ldap.c: auth_check() -> pr_auth_check()
 
-2006-04-17 10:04  castaglia
+2006-06-16  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.
+	* contrib/mod_sql.c: Style cleanup.
 
-2006-04-17 09:48  castaglia
+2006-06-16  castaglia <castaglia>
 
-	* NEWS, doc/modules/mod_delay.html, modules/mod_delay.c:
-	  Bug#2664 - Add 'delay info' ftpdctl action for showing DelayTable
-	  values.
+	* configure: Updating configure.
 
-2006-04-17 09:20  castaglia
+2006-06-16  castaglia <castaglia>
 
-	* NEWS, src/inet.c:
-	  Bug#2777 - ProFTPD does handle data sockets properly on FreeBSD
-	  6.
+	* config.h.in, configure.in, src/main.c: Enhance the -V output to
+	include the CFLAGS, LDFLAGS, and LIBS used to compile proftpd.
 
-2006-04-16 16:18  castaglia
+2006-06-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.
+	* contrib/mod_site_misc.c: Updating mod_site_misc to handle
+	UTF8-encoded paths.
 
-2006-04-16 16:08  castaglia
+2006-06-16  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#2740 - TYPE command not allowed before USER/PASS, causes
-	  problem for `ftp -n'.
+	* NEWS: Bug#2626 - "ERROR" macro collision can cause compiler errors
+	on HP-UX.
 
-2006-04-16 16:01  castaglia
+2006-06-16  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c:
-	  Bug#2654 - FEAT command should be subject to <Limit>.
+	* Makefile.in: There is no real need to clean the include/
+	directory.
 
-2006-04-16 15:51  castaglia
+2006-06-16  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#2753 - CCC not closing SSL/TLS connection correctly.
+	* 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-04-16 15:45  castaglia
+2006-06-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.
+	* contrib/mod_load/mod_load.c.in: Update mod_load to use PR_HANDLED.
 
-2006-04-16 15:41  castaglia
+2006-06-16  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth_unix.c:
-	  Bug#2721 - mod_auth_unix does not behave properly when first in
-	  AuthOrder.
+	* 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-04-16 15:39  castaglia
+2006-06-16  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth_file.c, modules/mod_auth_unix.c:
-	  Bug#2714 - mod_auth_file munges AuthUserFile, AuthGroupFile
-	  records.
+	* doc/mod_sample.c: Updating the sample module to reflect ongoing
+	changes in the core code.
 
-2006-04-16 15:35  castaglia
+2006-06-16  castaglia <castaglia>
 
-	* doc/howto/Debugging.html:
-	  Adding mention of the stack trace logging to the Debugging howto.
+	* modules/mod_auth.c: To enable lastlog support requires
+	--with-lastlog, not --enable-lastlog.
 
-2006-04-16 15:25  castaglia
+2006-06-16  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* 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-04-16 15:23  castaglia
+2006-06-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.
+	* src/main.c: Forgot a few places where SIG_REHASH was renamed to
+	SIG_RESTART.
 
-2006-04-16 15:12  castaglia
+2006-06-16  castaglia <castaglia>
 
-	* include/version.h:
-	  Now that 1.3.0 is out, we can start on 1.3.1.
+	* configure: Updating configure.
 
-2006-04-16 14:39  castaglia
+2006-06-16  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updating the ChangeLog.
+	* include/proftpd.h, src/main.c: Remove all the old "struct rehash"
+	callback stuff.  Replace mention of "rehash" with "restart".
 
-2006-04-16 14:36  castaglia
+2006-06-16  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec, include/version.h, NEWS:
-	  Preparing for release of 1.3.0-final.
+	* 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-04-10 09:41  castaglia
+2006-06-16  castaglia <castaglia>
 
-	* lib/glibc-mkstemp.c:
-	  Fix typo in mkstemp() implementation, noted by Charles Seeger.
+	* Make.rules.in, Makefile.in, NEWS, configure.in,
+	include/Makefile.in: Bug#2719 - ProFTPD should install its header
+	files into the installation location.
 
-2006-04-07 18:20  castaglia
+2006-06-15  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.
+	* include/.cvsignore: Preparing to ignore the generated Makefile
+	that will appear in the include/ directory.
 
-2006-03-22 14:10  castaglia
+2006-06-15  castaglia <castaglia>
 
-	* NEWS, lib/glibc-glob.c, lib/pwgrent.c, src/fsio.c:
-	  Quell several compiler warnings:
+	* configure: Updating configure.
 
-	  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-06-15  castaglia <castaglia>
 
-2006-03-22 13:45  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.
 
-	* Make.rules.in, NEWS:
-	  Bug#2733 - libtool requires sh/bash.
+2006-06-15  castaglia <castaglia>
 
-2006-03-22 10:51  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.)
 
-	* utils/: ftptop.c, 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-06-15  castaglia <castaglia>
 
-2006-03-18 12:15  castaglia
+	* include/pool.h, src/pool.c: Removing unused pool code.
 
-	* ChangeLog:
-	  Updated ChangeLog.
+2006-06-15  castaglia <castaglia>
 
-2006-03-18 12:13  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.
 
-	* NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec,
-	  include/version.h:
-	  Rolling up RC5 release.
+2006-06-15  castaglia <castaglia>
 
-2006-03-17 10:52  castaglia
+	* NEWS, RELEASE_NOTES, contrib/mod_sql_mysql.c: Bug#2784 - Ability
+	to specify MySQL Unix domain socket path.
 
-	* NEWS, modules/mod_delay.c:
-	  Bug#2723 - mod_delay causes process to hang on OS X when proftpd
-	  exits.
+2006-06-15  castaglia <castaglia>
 
-2006-03-16 18:12  castaglia
+	* NEWS, RELEASE_NOTES, modules/mod_core.c: Bug#2798 - MDTM should
+	return time in GMT.
 
-	* RELEASE_NOTES:
-	  Updating the release notes for the RC5 release.
+2006-06-14  castaglia <castaglia>
 
-2006-03-16 10:06  castaglia
+	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#2687 - Support for
+	more efficient group table schema.
 
-	* README.controls, doc/howto/Controls.html:
-	  Make notes about how Controls are affected by ServerType.
+2006-06-14  castaglia <castaglia>
 
-2006-03-15 11:41  castaglia
+	* src/utf8.c: Use "C" as a default local character set, if we cannot
+	determine a better one.
 
-	* src/main.c:
-	  We need to copy the session addresses into memory after any
-	  reverse DNS resolution is performed, not before.
+2006-06-14  castaglia <castaglia>
 
-2006-03-14 19:56  castaglia
+	* src/utf8.c: Add a trace message of the character set to which UTF8
+	conversion will be done.
 
-	* 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-06-14  castaglia <castaglia>
 
-2006-03-14 18:49  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)).
 
-	* modules/mod_auth.c:
-	  Remove slightly misleading (and outdated) comment.
+2006-06-14  castaglia <castaglia>
 
-2006-03-14 18:47  castaglia
+	* NEWS, src/log.c: Bug#2801 - Error compiling proftpd on NetBSD
+	3.0/sparc64.
 
-	* 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-06-14  castaglia <castaglia>
 
-2006-03-14 18:09  castaglia
+	* NEWS, contrib/mod_tls.c: Bug#2800 - free_proc_title() in developer
+	build tries to free strings from pool allocated by mod_tls.
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#2717 - Wrong timestamp in logs for chrooted processes.
+2006-06-13  castaglia <castaglia>
 
-2006-03-13 19:18  castaglia
+	* src/scoreboard.c: Silence compiler warning (seen under
+	--enable-devel) by renaming variable.
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#2764 - REST command does not return an error for negative
-	  numbers.
+2006-06-12  castaglia <castaglia>
 
-2006-03-11 16:16  castaglia
+	* doc/howto/DSO.html: Update example Makefile to include DESTDIR.
 
-	* include/privs.h:
-	  Remove some duplicating logging in the PRIVS_RELINQUISH macro
-	  definition.
+2006-06-12  castaglia <castaglia>
 
-2006-03-11 09:27  castaglia
+	* contrib/mod_load/Makefile.in: Make sure that mod_load's Makefile
+	honors DESTDIR.  Thanks to Ken Zalewski for pointing this out.
 
-	* include/version.h:
-	  Forgot to change the status back to "CVS", for now.
+2006-06-09  castaglia <castaglia>
 
-2006-03-09 10:50  castaglia
+	* doc/contrib/mod_sql.html: Typo.
 
-	* doc/contrib/mod_sql.html:
-	  Add description of the SQLBackend directive.
+2006-06-09  castaglia <castaglia>
 
-2006-03-09 10:20  castaglia
+	* RELEASE_NOTES: Updating the release notes.
 
-	* configure:
-	  Updating configure.
+2006-06-09  castaglia <castaglia>
 
-2006-03-09 10:12  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.
 
-	* configure.in:
-	  Updating changes made for fixing Bug#2759 so that the libsupp
-	  library can be found.
+2006-06-08  castaglia <castaglia>
 
-2006-03-08 11:11  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.
 
-	* configure:
-	  Updating configure.
+2006-06-08  castaglia <castaglia>
 
-2006-03-08 11:06  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.
 
-	* NEWS, configure.in:
-	  Bug#2759 - Adding --with-includes to configure can cause problems
-	  when building with other packages.
+2006-06-08  castaglia <castaglia>
 
-2006-03-06 13:49  castaglia
+	* configure: Updating configure.
 
-	* doc/howto/NAT.html:
-	  Add a description of what can happen if the configured
-	  PassivePorts range is too small.
+2006-06-08  castaglia <castaglia>
 
-2006-03-06 10:17  castaglia
+	* configure.in: Fixing typo in handling of --enable-devel=profile
+	configure option.
 
-	* NEWS, contrib/dist/rpm/proftpd.spec:
-	  Bug#2757 - Add support for quota modules to RPM spec.
+2006-06-07  castaglia <castaglia>
 
-2006-03-01 09:00  castaglia
+	* doc/howto/Chroot.html: Bug#1323: DefaultRoot not working with nfs
+	root squash + protected directories.
 
-	* RELEASE_NOTES:
-	  Updating release notes.
+2006-05-26  castaglia <castaglia>
 
-2006-03-01 08:45  castaglia
+	* configure: Updated configure script.
 
-	* ChangeLog, NEWS, contrib/dist/rpm/proftpd.spec,
-	  include/version.h:
-	  Preparing for release of 1.3.0rc4.
+2006-05-26  castaglia <castaglia>
 
-2006-02-23 15:01  castaglia
+	* modules/mod_core.c: Modify mod_core for handling UTF8 paths, and
+	mark it for i18n.
 
-	* doc/rfc/: draft-murray-auth-ftp-ssl-15.txt, rfc4217.txt:
-	  The old IETF Draft which defined FTPS was finally upgraded to a
-	  full-fledged RFC in Nov 2005, as RFC4217.
+2006-05-26  castaglia <castaglia>
 
-2006-02-23 14:42  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).
 
-	* doc/howto/SQL.html:
-	  Added FAQ about libz linker errors to SQL howto.
+2006-05-26  castaglia <castaglia>
 
-2006-02-21 09:51  castaglia
+	* src/trace.c: Change the format of the TraceLog: The log entry does
+	not need to contain any server information.
 
-	* 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-05-26  castaglia <castaglia>
 
-2006-02-20 22:55  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.
 
-	* NEWS, modules/mod_core.c: Bug#2752 - FEAT reply not RFC 2389
-	  compliant.
+2006-05-26  castaglia <castaglia>
 
-2006-02-07 17:25  castaglia
+	* NEWS: Correct a bug number.
 
-	* 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-05-25  castaglia <castaglia>
 
-2006-01-11 05:55  castaglia
+	* configure: Updating configure.
 
-	* doc/howto/: index.html, AuthFiles.html:
-	  Added the AuthFiles howto (it was referenced by the ConfigFile
-	  howto).
+2006-05-25  castaglia <castaglia>
 
-2006-01-04 05:31  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.
 
-	* 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.
+2006-05-25  castaglia <castaglia>
 
-2005-12-27 10:29  castaglia
+	* NEWS, RELEASE_NOTES, modules/mod_log.c: Bug#2793 - LogFormat
+	variable for the ProFTPD version.
 
-	* RELEASE_NOTES:
-	  Mention the OSX tweaks in the Release Notes.
+2006-05-25  castaglia <castaglia>
 
-2005-12-26 19:04  castaglia
+	* NEWS, RELEASE_NOTES, modules/mod_xfer.c: Bug#2775 - Support for
+	DisplayFileTransfer directive.
 
-	* 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.
+2006-05-24  castaglia <castaglia>
 
-2005-12-19 10:59  castaglia
+	* README.AIX: Updating the AIX notes with remarks about gcc versions
+	which do and don't work.
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#2735 - Allow REST 0 in ASCII mode.
+2006-05-23  castaglia <castaglia>
 
-2005-12-13 09:54  castaglia
+	* NEWS, modules/mod_ctrls.c: Bug#2792 - ProFTPD fails after SIGHUP
+	signal when Controls support is enabled.
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#2709 - mod_sql improperly strips spaces from names, allowing
-	  for confusing authentication.
+2006-05-23  castaglia <castaglia>
 
-2005-12-07 14:15  castaglia
+	* src/dirtree.c: Style tweaks.  Add handling of signals to a while()
+	loop.
 
-	* NEWS, modules/mod_auth_pam.c:
-	  Bug#2729 - Authorative PAM authentication doesn't work.
+2006-05-23  castaglia <castaglia>
 
-2005-12-05 11:17  castaglia
+	* configure: Updating configure script.
 
-	* RELEASE_NOTES, doc/howto/Quotas.html, doc/howto/index.html:
-	  Adding Quotas howto to doc/ area.
+2006-05-23  castaglia <castaglia>
 
-2005-12-02 10:34  jwm
+	* 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.
 
-	* 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.
+2006-05-23  castaglia <castaglia>
 
-2005-12-02 09:04  jwm
+	* 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.
 
-	* 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
+2006-05-22  castaglia <castaglia>
 
-2005-12-02 08:51  jwm
+	* contrib/mod_tls.c: Remove Perlism causing a broken module.  Add
+	handling of signals to a potentially long-running while loop.
 
-	* 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
+2006-05-22  castaglia <castaglia>
 
-2005-11-29 10:19  castaglia
+	* NEWS, contrib/mod_tls.c: Bug#2514 - Trouble with mod_tls and DSA
+	certificates.
 
-	* doc/contrib/mod_tls.html:
-	  Adding more specific instructions for what a
-	  TLSCertificateChainFile should contain.
+2006-05-19  castaglia <castaglia>
 
-2005-11-28 18:42  castaglia
+	* src/netaddr.c: Fix some compiler warnings, and a syntax error.
 
-	* 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.
+2006-05-18  castaglia <castaglia>
 
-2005-11-19 11:44  castaglia
+	* src/trace.c: If pr_trace_msg() is used with an unknown channel,
+	return -1 rather than 0.
 
-	* doc/howto/DSO.html:
-	  Adding more comments to the DSO howto, based on user
-	  feedback/questions.
+2006-05-18  castaglia <castaglia>
 
-2005-11-16 08:04  jwm
+	* configure: Updating configure script.
 
-	* contrib/mod_ldap.c: release 2.8.16
+2006-05-18  castaglia <castaglia>
 
-2005-11-15 12:01  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.
 
-	* doc/contrib/mod_quotatab.html:
-	  Formatting changes.
+2006-05-18  castaglia <castaglia>
 
-2005-11-15 11:44  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.
 
-	* 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.
+2006-05-17  castaglia <castaglia>
 
-2005-11-14 09:47  castaglia
+	* NEWS, README.IPv6, src/netacl.c, src/netaddr.c: More work on
+	Bug#2785.
 
-	* doc/contrib/mod_tls.html:
-	  Update description of AllowDotLogin TLSOption, as proftpd now
-	  will not prompt for a password if none is required.
+2006-05-15  castaglia <castaglia>
 
-2005-11-14 08:33  castaglia
+	* doc/howto/DSO.html: Make note of some of the errors you might
+	encounter when using DSO modules.
 
-	* 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.
+2006-05-15  castaglia <castaglia>
 
-	  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.
+	* 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.
 
-	  Thanks to Kostantinos Koukopoulos for the patch.
+2006-05-12  castaglia <castaglia>
 
-2005-11-12 10:25  castaglia
+	* README.AIX: Document that some versions of AIX have sendfile
+	issues.
 
-	* NEWS, modules/mod_core.c:
-	  Bug#2712 - DisplayFirstChdir directive does not work.
+2006-05-05  castaglia <castaglia>
 
-2005-11-11 13:05  castaglia
+	* contrib/mod_tls.c: Clean up the handling of the
+	TLSCACertificatePath directive.
 
-	* NEWS, include/ctrls.h, modules/mod_ctrls.c, src/ctrls.c:
-	  Bug#2711 - Controls socket detection broken.
+2006-04-21  castaglia <castaglia>
 
-2005-11-10 11:14  castaglia
+	* contrib/mod_quotatab.c, doc/contrib/mod_quotatab.html: Forgot to
+	add the description for the QuotaExcludeFilter directive.
 
-	* src/ctrls.c:
-	  Copy the full length of the socket path, including the
-	  terminating NUL.
+2006-04-21  castaglia <castaglia>
 
-2005-11-08 09:59  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.
 
-	* 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.
+2006-04-21  castaglia <castaglia>
 
-2005-11-08 08:13  castaglia
+	* contrib/mod_sql.h: Update the mod_sql header.  Crufty information,
+	and a typo.
 
-	* configure:
-	  Updating configure.
+2006-04-21  castaglia <castaglia>
 
-2005-11-08 08:06  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.
 
-	* NEWS, configure.in:
-	  Bug#2708 - configure cannot detect some headers.
+2006-04-21  castaglia <castaglia>
 
-2005-11-04 08:36  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.
 
-	* NEWS, src/log.c:
-	  Bug#2706 - utmp/wtmp logging on NetBSD needs some tweaks.
+2006-04-21  castaglia <castaglia>
 
-2005-11-04 08:34  castaglia
+	* NEWS, README.modules, RELEASE_NOTES, contrib/mod_ban.c,
+	doc/contrib/mod_ban.html: Adding mod_ban.
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#2703 - Disk quota exceeded for small files not being
-	  triggered.
+2006-04-20  castaglia <castaglia>
 
-2005-10-31 15:23  castaglia
+	* NEWS, src/inet.c: Bug#2733 - IP TOS not being set for data
+	transfers.
 
-	* include/version.h:
-	  Bump version to 1.3.0rc4 (hopefully will turn out to be
-	  1.3.0-stable).
+2006-04-20  castaglia <castaglia>
 
-2005-10-31 09:45  castaglia
+	* src/parser.c: Adding some sanity checks for NULL pointers, pointed
+	out by Coverity scans.  Also remove some unnecessary conditionals.
 
-	* ChangeLog:
-	  One more update.
+2006-04-20  castaglia <castaglia>
 
-2005-10-31 09:39  castaglia
+	* modules/mod_log.c: "writeable" -> "writable".
 
-	* src/fsio.c:
-	  Correct usage of pr_fsio_readlink().
+2006-04-20  castaglia <castaglia>
 
-2005-10-31 09:34  castaglia
+	* modules/mod_xfer.c: Clean up dead code spotted by Coverity scan.
 
-	* NEWS, include/version.h, contrib/dist/rpm/proftpd.spec:
-	  Preparing for 1.3.0rc3 roll.
+2006-04-20  castaglia <castaglia>
 
-2005-10-31 09:32  castaglia
+	* modules/mod_auth.c: Clean up dead code spotted by Coverity scan.
+	Also fixup some formatting issues while I'm here.
 
-	* ChangeLog:
-	  Updating ChangeLog.
+2006-04-20  castaglia <castaglia>
 
-2005-10-28 08:54  castaglia
+	* modules/mod_auth_file.c, src/data.c: Clean up dead code spotted by
+	Coverity scan.
 
-	* RELEASE_NOTES:
-	  Updating release notes.
+2006-04-20  castaglia <castaglia>
 
-2005-10-26 16:36  castaglia
+	* contrib/mod_sql.c: Clean up dead code spotted by Coverity.
 
-	* src/fsio.c:
-	  Drat.  Forgot to replace all occurrences of ->readlink() with
-	  pr_fsio_readlink().
+2006-04-19  castaglia <castaglia>
 
-2005-10-26 09:53  castaglia
+	* RELEASE_NOTES, modules/mod_xfer.c: Get the ball rolling on
+	deprecating HiddenStor, in favor of HiddenStores.
 
-	* modules/mod_facl.c:
-	  Use direct pointer assignment rather than acl_copy_entry(); the
-	  latter is not needed.  Patch supplied by Patrick McHardy.
+2006-04-19  castaglia <castaglia>
 
-2005-10-26 09:34  castaglia
+	* configure: Updating configure.
 
-	* 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.
+2006-04-19  castaglia <castaglia>
 
-2005-10-26 09:19  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.
 
-	* 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.
+2006-04-19  castaglia <castaglia>
 
-2005-10-23 14:50  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.
 
-	* 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.
+2006-04-17  castaglia <castaglia>
 
-2005-10-20 08:33  castaglia
+	* NEWS, RELEASE_NOTES, modules/mod_log.c: Bug#2651 - LogFormat
+	should support variable for logging the response message.
 
-	* doc/contrib/mod_tls.html:
-	  Fixed example installation instructions for mod_tls.
+2006-04-17  castaglia <castaglia>
 
-2005-10-19 16:33  castaglia
+	* doc/contrib/mod_quotatab.html,
+	doc/contrib/mod_quotatab_radius.html: Update mod_quotatab docs with
+	links to RADIUS submodule.
 
-	* configure:
-	  Updating configure.
+2006-04-17  castaglia <castaglia>
 
-2005-10-19 16:28  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.
 
-	* configure.in, config.h.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.
+2006-04-17  castaglia <castaglia>
 
-2005-10-18 16:27  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.
 
-	* 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.
+2006-04-17  castaglia <castaglia>
 
-2005-10-18 11:30  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.
 
-	* 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.
+2006-04-17  castaglia <castaglia>
 
-2005-10-10 10:58  castaglia
+	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#2628 -
+	SQLHomedirOnDemand should be deprecated.
 
-	* 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.
+2006-04-17  castaglia <castaglia>
 
-	  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.
+	* 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.
 
-2005-10-08 13:51  castaglia
+2006-04-17  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.
+	* 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.
 
-2005-10-08 13:34  castaglia
+2006-04-17  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Add some notes to the RELEASE_NOTES file for the upcoming
-	  1.3.0rc3 release.
+	* NEWS, RELEASE_NOTES, contrib/mod_tls.c, doc/contrib/mod_tls.html: 
+	Bug#2599 - Support for using OpenSSL "engines".
 
-2005-10-08 13:16  castaglia
+2006-04-17  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* configure: Updating configure.
 
-2005-10-08 13:14  castaglia
+2006-04-17  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.
+	* 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.
 
-	  The added test defines a PR_ISSOCK_UNIX macro, defined to the
-	  appropriate S_IS* macro, for use in proftpd code.
+2006-04-17  castaglia <castaglia>
 
-2005-09-28 11:50  castaglia
+	* NEWS, doc/modules/mod_delay.html, modules/mod_delay.c: Bug#2664 -
+	Add 'delay info' ftpdctl action for showing DelayTable values.
 
-	* doc/howto/Limit.html:
-	  Style.
+2006-04-17  castaglia <castaglia>
 
-2005-09-27 19:06  castaglia
+	* NEWS, src/inet.c: Bug#2777 - ProFTPD does handle data sockets
+	properly on FreeBSD 6.
 
-	* src/: dirtree.c, support.c:
-	  Style.
+2006-04-16  castaglia <castaglia>
 
-2005-09-27 09:22  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.
 
-	* src/response.c:
-	  Style.
+2006-04-16  castaglia <castaglia>
 
-2005-09-27 09:11  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#2740 - TYPE command not allowed
+	before USER/PASS, causes problem for `ftp -n'.
 
-	* NEWS, src/response.c:
-	  Bug#2692 - R_DUP response messages can break the FTP protocol
-	  responses.
+2006-04-16  castaglia <castaglia>
 
-2005-09-27 09:08  castaglia
+	* NEWS, modules/mod_core.c: Bug#2654 - FEAT command should be
+	subject to <Limit>.
 
-	* 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.
+2006-04-16  castaglia <castaglia>
 
-2005-09-26 16:36  castaglia
+	* NEWS, contrib/mod_tls.c: Bug#2753 - CCC not closing SSL/TLS
+	connection correctly.
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#2697 - Improper SSL session shutdown sequence used for some
-	  FTPS clients.
+2006-04-16  castaglia <castaglia>
 
-2005-09-21 10:40  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.
 
-	* 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.
+2006-04-16  castaglia <castaglia>
 
-2005-09-20 18:08  castaglia
+	* NEWS, modules/mod_auth_unix.c: Bug#2721 - mod_auth_unix does not
+	behave properly when first in AuthOrder.
 
-	* doc/contrib/mod_tls.html:
-	  Typo.
+2006-04-16  castaglia <castaglia>
 
-2005-09-20 18:04  castaglia
+	* NEWS, modules/mod_auth_file.c, modules/mod_auth_unix.c: Bug#2714 -
+	mod_auth_file munges AuthUserFile, AuthGroupFile records.
 
-	* 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.
+2006-04-16  castaglia <castaglia>
 
-2005-09-20 15:45  castaglia
+	* doc/howto/Debugging.html: Adding mention of the stack trace
+	logging to the Debugging howto.
 
-	* doc/contrib/mod_tls.html:
-	  Enhancing the explanations of the TLSCACertificateFile and
-	  TLSRandomSeed directives.
+2006-04-16  castaglia <castaglia>
 
-2005-09-20 11:33  castaglia
+	* configure: Updating configure.
 
-	* doc/contrib/mod_tls.html:
-	  Minor updates to mod_tls doc.
+2006-04-16  castaglia <castaglia>
 
-2005-09-19 14:35  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.
 
-	* 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.
+2006-04-16  castaglia <castaglia>
 
-2005-09-19 10:14  castaglia
+	* include/version.h: Now that 1.3.0 is out, we can start on 1.3.1.
 
-	* modules/mod_xfer.c:
-	  Style.
+2006-04-16  castaglia <castaglia>
 
-2005-09-08 11:36  castaglia
+	* ChangeLog: Updating the ChangeLog.
 
-	* README.modules:
-	  Minor corrections to the location of contrib module
-	  documentation, thanks to Sven Hoexter.
+2006-04-16  castaglia <castaglia>
 
-2005-09-08 09:39  castaglia
+	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
+	for release of 1.3.0-final.
 
-	* contrib/mod_tls.c:
-	  Log in the TLSLog when mod_tls denies FTP commands because of the
-	  configured security policy.
+2006-04-10  castaglia <castaglia>
 
-2005-09-04 17:05  castaglia
+	* lib/glibc-mkstemp.c: Fix typo in mkstemp() implementation, noted
+	by Charles Seeger.
 
-	* src/netaddr.c:
-	  When reporting DNS resolution errors, report the type of address
-	  requested, i.e. IPv4 or IPv6.
+2006-04-08  castaglia <castaglia>
 
-2005-09-04 16:57  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.
 
-	* NEWS, include/parser.h, src/main.c, src/parser.c:
-	  Bug#2689 - Parser does not complain about unclosed configuration
-	  sections.
+2006-03-22  castaglia <castaglia>
 
-2005-08-29 18:45  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.
 
-	* RELEASE_NOTES:
-	  Fix typo.
+2006-03-22  castaglia <castaglia>
 
-2005-08-28 11:01  castaglia
+	* Make.rules.in, NEWS: Bug#2733 - libtool requires sh/bash.
 
-	* 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.
+2006-03-22  castaglia <castaglia>
 
-2005-08-25 10:53  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.
 
-	* contrib/mod_tls.c:
-	  The mod_tls version information was missing from a couple of log
-	  messages.
+2006-03-18  castaglia <castaglia>
 
-2005-08-24 09:10  castaglia
+	* ChangeLog: Updated ChangeLog.
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#2685 - ListOptions' max parameters cannot be set higher than
-	  255.
+2006-03-18  castaglia <castaglia>
 
-2005-08-23 09:50  castaglia
+	* NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec,
+	include/version.h: Rolling up RC5 release.
 
-	* 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.
+2006-03-17  castaglia <castaglia>
 
-2005-08-23 09:25  castaglia
+	* NEWS, modules/mod_delay.c: Bug#2723 - mod_delay causes process to
+	hang on OS X when proftpd exits.
 
-	* 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.
+2006-03-17  castaglia <castaglia>
 
-2005-08-16 09:06  castaglia
+	* RELEASE_NOTES: Updating the release notes for the RC5 release.
 
-	* 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.
+2006-03-16  castaglia <castaglia>
 
-2005-08-10 09:08  jwm
+	* README.controls, doc/howto/Controls.html: Make notes about how
+	Controls are affected by ServerType.
 
-	* README.LDAP: update README.LDAP; oops, i've been forgetting about
-	  this
+2006-03-15  castaglia <castaglia>
 
-2005-08-07 09:35  castaglia
+	* src/main.c: We need to copy the session addresses into memory
+	after any reverse DNS resolution is performed, not before.
 
-	* modules/mod_core.c:
-	  When reporting on use or nonuse of <IfModule> and <IfDefine>
-	  sections, correctly report the "!" character.  Otherwise, the
-	  reporting is confusing.
+2006-03-15  castaglia <castaglia>
 
-2005-08-07 09:01  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.
 
-	* 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.
+2006-03-15  castaglia <castaglia>
 
-2005-08-07 08:46  castaglia
+	* modules/mod_auth.c: Remove slightly misleading (and outdated)
+	comment.
 
-	* configure:
-	  Updating configure.
+2006-03-15  castaglia <castaglia>
 
-2005-08-07 08:44  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.
 
-	* NEWS, configure.in:
-	  Bug#2676 - configure option --disable-ipv6 enables IPv6.
+2006-03-15  castaglia <castaglia>
 
-2005-08-04 14:06  castaglia
+	* NEWS, modules/mod_auth.c: Bug#2717 - Wrong timestamp in logs for
+	chrooted processes.
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#2674 - mod_sql string escape problem during group lookups.
+2006-03-14  castaglia <castaglia>
 
-2005-08-03 10:08  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#2764 - REST command does not return
+	an error for negative numbers.
 
-	* contrib/mod_radius.c:
-	  Pad the size of the radius_packet_t structure.
+2006-03-12  castaglia <castaglia>
 
-2005-08-03 10:06  castaglia
+	* include/privs.h: Remove some duplicating logging in the
+	PRIVS_RELINQUISH macro definition.
 
-	* NEWS, contrib/mod_radius.c:
-	  Bug#2669 - mod_radius segfaults if PASS command sent with no USER
-	  command.
+2006-03-11  castaglia <castaglia>
 
-2005-08-02 16:38  castaglia
+	* include/version.h: Forgot to change the status back to "CVS", for
+	now.
 
-	* doc/howto/ListOptions.html:
-	  Fix documentation for "-a" ListOption.
+2006-03-09  castaglia <castaglia>
 
-2005-08-02 08:53  castaglia
+	* doc/contrib/mod_sql.html: Add description of the SQLBackend
+	directive.
 
-	* NEWS, modules/mod_ctrls.c:
-	  Bug#2668 - mod_ctrls fails to open socket during SIGHUP.
+2006-03-09  castaglia <castaglia>
 
-2005-08-01 18:34  castaglia
+	* configure: Updating configure.
 
-	* modules/mod_facl.c:
-	  Add debugging output, level 6, showing when mod_facl has
-	  successfully registered its FS handler.
+2006-03-09  castaglia <castaglia>
 
-2005-08-01 13:49  castaglia
+	* configure.in: Updating changes made for fixing Bug#2759 so that
+	the libsupp library can be found.
 
-	* modules/mod_ctrls.c:
-	  Display the mod_ctrls version when using `proftpd -vv'.
+2006-03-08  castaglia <castaglia>
 
-2005-07-31 20:16  castaglia
+	* configure: Updating configure.
 
-	* src/ftpdctl.c:
-	  Display the name of the socket path being contacted when `ftpdctl
-	  -v' is used.
+2006-03-08  castaglia <castaglia>
 
-2005-07-31 20:15  castaglia
+	* NEWS, configure.in: Bug#2759 - Adding --with-includes to configure
+	can cause problems when building with other packages.
 
-	* 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.
+2006-03-06  castaglia <castaglia>
 
-2005-07-30 18:25  castaglia
+	* doc/howto/NAT.html: Add a description of what can happen if the
+	configured PassivePorts range is too small.
 
-	* 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.
+2006-03-06  castaglia <castaglia>
 
-2005-07-27 11:45  castaglia
+	* NEWS, contrib/dist/rpm/proftpd.spec: Bug#2757 - Add support for
+	quota modules to RPM spec.
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#2662 - OpenSolaris/Solaris 11 has TCP_CORK but not SOL_TCP.
+2006-03-01  castaglia <castaglia>
 
-2005-07-27 10:48  castaglia
+	* RELEASE_NOTES: Updating release notes.
 
-	* NEWS, contrib/dist/rpm/proftpd.spec:
-	  Bug#2660 - Add mod_facl in rpm spec file.
+2006-03-01  castaglia <castaglia>
 
-2005-07-26 19:08  castaglia
+	* ChangeLog, NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: 
+	Preparing for release of 1.3.0rc4.
 
-	* contrib/mod_tls.c:
-	  Explicitly mention that $SSL_CERT_DIR is an environment variable.
+2006-02-23  castaglia <castaglia>
 
-2005-07-24 12:25  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.
 
-	* include/version.h:
-	  Updating version.
+2006-02-23  castaglia <castaglia>
 
-2005-07-24 11:21  castaglia
+	* doc/howto/SQL.html: Added FAQ about libz linker errors to SQL
+	howto.
 
-	* ChangeLog:
-	  Updating ChangeLog.
+2006-02-21  castaglia <castaglia>
 
-2005-07-24 11:15  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.
 
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Preparing for release of 1.3.0rc2.
+2006-02-21  castaglia <castaglia>
 
-2005-07-24 11:08  castaglia
+	* NEWS, modules/mod_core.c: Bug#2752 - FEAT reply not RFC 2389
+	compliant.
 
-	* NEWS, contrib/mod_radius.c:
-	  Bug#2658 - Segfault in mod_radius when using long password.
+2006-02-08  castaglia <castaglia>
 
-2005-07-21 15:00  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().
 
-	* RELEASE_NOTES:
-	  Fix typo.
+2006-01-11  castaglia <castaglia>
 
-2005-07-20 17:43  castaglia
+	* doc/howto/AuthFiles.html, doc/howto/index.html: Added the
+	AuthFiles howto (it was referenced by the ConfigFile howto).
 
-	* contrib/mod_tls.c:
-	  Slight paranoia about calling BIO_free() on possibly NULL
-	  pointer.
+2006-01-04  castaglia <castaglia>
 
-2005-07-20 17:40  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.
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#2657 - Segfault in tls_get_error() function in mod_tls.
+2005-12-27  castaglia <castaglia>
 
-2005-07-18 17:30  castaglia
+	* RELEASE_NOTES: Mention the OSX tweaks in the Release Notes.
 
-	* doc/howto/: Classes.html, SQL.html:
-	  Updating Class and SQL howtos.
+2005-12-27  castaglia <castaglia>
 
-2005-07-15 15:13  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.
 
-	* NEWS:
-	  Minor rewording of NEWS, with respect to POSIX ACLs.
+2005-12-19  castaglia <castaglia>
 
-2005-07-08 08:53  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#2735 - Allow REST 0 in ASCII mode.
 
-	* RELEASE_NOTES:
-	  Updating the release notes.
+2005-12-13  castaglia <castaglia>
 
-2005-07-08 08:26  castaglia
+	* NEWS, contrib/mod_sql.c: Bug#2709 - mod_sql improperly strips
+	spaces from names, allowing for confusing authentication.
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#2653 - When MaxStoreFileSize is reached, error should be
-	  EDQUOT rather than EPERM.
+2005-12-07  castaglia <castaglia>
 
-2005-07-07 07:45  castaglia
+	* NEWS, modules/mod_auth_pam.c: Bug#2729 - Authorative PAM
+	authentication doesn't work.
 
-	* NEWS, src/data.c:
-	  Bug#2560 - Reporting errors when user filesystem quota is
-	  exceeded.
+2005-12-05  castaglia <castaglia>
 
-2005-07-07 00:10  castaglia
+	* RELEASE_NOTES, doc/howto/Quotas.html, doc/howto/index.html: Adding
+	Quotas howto to doc/ area.
 
-	* 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-12-02  jwm <jwm>
 
-2005-07-05 09:11  castaglia
+	* 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.
 
-	* doc/howto/: DNS.html, VirtualUsers.html, index.html:
-	  Adding DNS, VirtualUsers howtos.
+2005-12-02  jwm <jwm>
 
-2005-07-05 08:49  castaglia
+	* 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
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#2645 - SQLShowInfo format string vulnerability.
+2005-12-02  jwm <jwm>
 
-2005-07-05 08:42  castaglia
+	* 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
 
-	* NEWS, src/response.c:
-	  Bug#2646 - ftpshut format string vulnerability.
+2005-11-29  castaglia <castaglia>
 
-2005-07-03 11:52  castaglia
+	* doc/contrib/mod_tls.html: Adding more specific instructions for
+	what a TLSCertificateChainFile should contain.
 
-	* 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-11-29  castaglia <castaglia>
 
-2005-07-03 11:13  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.
 
-	* NEWS:
-	  Bug#2375 - Slow directory listing with several blank .ftpaccess
-	  files.
+2005-11-19  castaglia <castaglia>
 
-2005-07-03 11:08  castaglia
+	* doc/howto/DSO.html: Adding more comments to the DSO howto, based
+	on user feedback/questions.
 
-	* 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-11-16  jwm <jwm>
 
-2005-07-02 11:41  castaglia
+	* contrib/mod_ldap.c: release 2.8.16
 
-	* 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-11-15  castaglia <castaglia>
 
-2005-07-02 11:06  castaglia
+	* doc/contrib/mod_quotatab.html: Formatting changes.
 
-	* 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-11-15  castaglia <castaglia>
 
-2005-07-02 10:59  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.
 
-	* modules/mod_delay.c:
-	  More bounds checking in mod_delay, as part of an investigation
-	  into Bug #2621 using valgrind.
+2005-11-14  castaglia <castaglia>
 
-2005-06-29 17:39  castaglia
+	* doc/contrib/mod_tls.html: Update description of AllowDotLogin
+	TLSOption, as proftpd now will not prompt for a password if none is
+	required.
 
-	* NEWS, include/conf.h:
-	  Bug#2647 - Improper "socklen_t" redefine for HP-UX when using
-	  X/Open.
+2005-11-14  castaglia <castaglia>
 
-2005-06-29 12:11  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.
 
-	* doc/modules/mod_delay.html:
-	  This document covers mod_delay, not mod_dso.	Fix typo.
+2005-11-12  castaglia <castaglia>
 
-2005-06-27 13:40  castaglia
+	* NEWS, modules/mod_core.c: Bug#2712 - DisplayFirstChdir directive
+	does not work.
 
-	* NEWS, contrib/mod_sql_mysql.c:
-	  Bug#2644 - mod_sql_mysql should handle old MySQL password format
-	  more gracefully.
+2005-11-11  castaglia <castaglia>
 
-2005-06-26 22:38  castaglia
+	* NEWS, include/ctrls.h, modules/mod_ctrls.c, src/ctrls.c: Bug#2711
+	- Controls socket detection broken.
 
-	* configure:
-	  Updating configure.
+2005-11-10  castaglia <castaglia>
 
-2005-06-26 22:25  castaglia
+	* src/ctrls.c: Copy the full length of the socket path, including
+	the terminating NUL.
 
-	* config.h.in, configure.in:
-	  Check for the size of a time_t.  We do not need this immediately,
-	  but we will soon.
+2005-11-08  castaglia <castaglia>
 
-2005-06-23 16:23  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.
 
-	* 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-11-08  castaglia <castaglia>
 
-2005-06-22 13:56  castaglia
+	* configure: Updating configure.
 
-	* 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-11-08  castaglia <castaglia>
 
-2005-06-22 10:22  castaglia
+	* NEWS, configure.in: Bug#2708 - configure cannot detect some
+	headers.
 
-	* 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-11-04  castaglia <castaglia>
 
-2005-06-21 18:58  castaglia
+	* NEWS, src/log.c: Bug#2706 - utmp/wtmp logging on NetBSD needs some
+	tweaks.
 
-	* 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-11-04  castaglia <castaglia>
 
-2005-06-21 16:11  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#2703 - Disk quota exceeded for small
+	files not being triggered.
 
-	* 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-10-31  castaglia <castaglia>
 
-2005-06-21 15:06  castaglia
+	* include/version.h: Bump version to 1.3.0rc4 (hopefully will turn
+	out to be 1.3.0-stable).
 
-	* configure:
-	  Update configure.
+2005-10-31  castaglia <castaglia>
 
-2005-06-21 13:54  castaglia
+	* ChangeLog: One more update.
 
-	* src/bindings.c:
-	  The ipv6_supported variable need only be defined if --enable-ipv6
-	  is used.
+2005-10-31  castaglia <castaglia>
 
-2005-06-21 11:49  castaglia
+	* src/fsio.c: Correct usage of pr_fsio_readlink().
 
-	* 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-10-31  castaglia <castaglia>
 
-2005-06-21 11:27  castaglia
+	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
+	for 1.3.0rc3 roll.
 
-	* src/main.c:
-	  Display the default libexec/ directory for the -V option, if DSO
-	  support is enabled.
+2005-10-31  castaglia <castaglia>
 
-2005-06-21 10:22  castaglia
+	* ChangeLog: Updating ChangeLog.
 
-	* configure:
-	  Updating configure.
+2005-10-28  castaglia <castaglia>
 
-2005-06-21 10:02  castaglia
+	* RELEASE_NOTES: Updating release notes.
 
-	* 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-10-26  castaglia <castaglia>
 
-2005-06-21 06:54  castaglia
+	* src/fsio.c: Drat.  Forgot to replace all occurrences of
+	->readlink() with pr_fsio_readlink().
 
-	* NEWS:
-	  Update the description of Bug #2573, making note of the changed
-	  behavior and how to address it (as per Bug #2640).
+2005-10-26  castaglia <castaglia>
 
-2005-06-20 15:57  castaglia
+	* modules/mod_facl.c: Use direct pointer assignment rather than
+	acl_copy_entry(); the latter is not needed.  Patch supplied by
+	Patrick McHardy.
 
-	* configure:
-	  Updating configure.
+2005-10-26  castaglia <castaglia>
 
-2005-06-20 15:35  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.
 
-	* 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-10-26  castaglia <castaglia>
 
-2005-06-20 15:16  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.
 
-	* src/netaddr.c:
-	  Log when we are looking for IPv4 addresses via DNS, and when
-	  we're looking for IPv6 addresses.
+2005-10-23  castaglia <castaglia>
 
-2005-06-19 22:41  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.
 
-	* 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-10-20  castaglia <castaglia>
 
-2005-06-19 19:05  castaglia
+	* doc/contrib/mod_tls.html: Fixed example installation instructions
+	for mod_tls.
 
-	* doc/contrib/mod_ifsession.html:
-	  Updating mod_ifsession docs.
+2005-10-19  castaglia <castaglia>
 
-2005-06-18 14:05  castaglia
+	* configure: Updating configure.
 
-	* 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-10-19  castaglia <castaglia>
 
-2005-06-18 11:16  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.
 
-	* NEWS, modules/mod_delay.c:
-	  Bug#2630 - Use of mmap in mod_delay may be problematic on HP-UX.
+2005-10-18  castaglia <castaglia>
 
-2005-06-16 14:27  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.
 
-	* 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-10-18  castaglia <castaglia>
 
-2005-06-16 11:58  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.
 
-	* src/table.c:
-	  Added some missing pr_signals_handle() calls in while loops.
+2005-10-10  castaglia <castaglia>
 
-2005-06-15 10:38  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.
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#2639 - HiddenStores does not work.
+2005-10-08  castaglia <castaglia>
 
-2005-06-15 08:40  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.
 
-	* src/dirtree.c:
-	  Set a valid errno for pr_is_boolean().
+2005-10-08  castaglia <castaglia>
 
-2005-06-14 11:11  castaglia
+	* RELEASE_NOTES: Add some notes to the RELEASE_NOTES file for the
+	upcoming 1.3.0rc3 release.
 
-	* 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-10-08  castaglia <castaglia>
 
-2005-06-13 18:23  castaglia
+	* configure: Updating configure.
 
-	* 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:
+2005-10-08  castaglia <castaglia>
 
-	  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.
+	* 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-06-13 15:01  castaglia
+2005-09-28  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.
+	* doc/howto/Limit.html: Style.
 
-2005-06-13 09:27  castaglia
+2005-09-28  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c, src/data.c:
-	  Bug#2636 - Data connection failure when handling STOR does not
-	  trigger error response.
+	* src/dirtree.c, src/support.c: Style.
 
-2005-06-11 21:42  castaglia
+2005-09-27  castaglia <castaglia>
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#2637 - <Limit STAT> does not work.
+	* src/response.c: Style.
 
-2005-06-11 17:36  castaglia
+2005-09-27  castaglia <castaglia>
 
-	* include/: compat.h, dirtree.h:
-	  Moving some macro (name redefinitions) into the more appropiate
-	  compat.h header.
+	* NEWS, src/response.c: Bug#2692 - R_DUP response messages can break
+	the FTP protocol responses.
 
-2005-06-11 16:46  castaglia
+2005-09-27  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Style consistency and cleanup.
+	* 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-06-11 15:18  castaglia
+2005-09-26  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Comment typo.
+	* NEWS, contrib/mod_tls.c: Bug#2697 - Improper SSL session shutdown
+	sequence used for some FTPS clients.
 
-2005-06-10 10:21  castaglia
+2005-09-21  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.
+	* 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.
 
-	  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-09-21  castaglia <castaglia>
 
-2005-06-10 10:06  castaglia
+	* doc/contrib/mod_tls.html: Typo.
 
-	* NEWS, lib/pr-syslog.c:
-	  Bug#2632 - Invalid application of `sizeof' to an incomplete type
-	  on AIX.
+2005-09-21  castaglia <castaglia>
 
-2005-06-10 09:25  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.
 
-	* doc/howto/NAT.html:
-	  Provide an example configuration for the LAN/WAN
-	  MasqueradeAddress issue.
+2005-09-20  castaglia <castaglia>
 
-2005-06-09 06:14  castaglia
+	* doc/contrib/mod_tls.html: Enhancing the explanations of the
+	TLSCACertificateFile and TLSRandomSeed directives.
 
-	* doc/howto/SQL.html:
-	  Fix typo.
+2005-09-20  castaglia <castaglia>
 
-2005-06-08 11:33  castaglia
+	* doc/contrib/mod_tls.html: Minor updates to mod_tls doc.
 
-	* NEWS, contrib/mod_radius.c:
-	  Bug#2631 - Segfault when using RadiusAcctServer.
+2005-09-19  castaglia <castaglia>
 
-2005-06-08 09:21  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.
 
-	* 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-09-19  castaglia <castaglia>
 
-2005-06-07 11:58  castaglia
+	* modules/mod_xfer.c: Style.
 
-	* contrib/mod_radius.c:
-	  Minor style cleanup.
+2005-09-08  castaglia <castaglia>
 
-2005-06-06 10:45  castaglia
+	* README.modules: Minor corrections to the location of contrib
+	module documentation, thanks to Sven Hoexter.
 
-	* doc/contrib/mod_rewrite.html:
-	  No need for the trailing /, as the closing } serves as the
-	  delimiter.
+2005-09-08  castaglia <castaglia>
 
-2005-06-06 10:40  castaglia
+	* contrib/mod_tls.c: Log in the TLSLog when mod_tls denies FTP
+	commands because of the configured security policy.
 
-	* 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-09-05  castaglia <castaglia>
 
-2005-06-05 11:26  castaglia
+	* src/netaddr.c: When reporting DNS resolution errors, report the
+	type of address requested, i.e. IPv4 or IPv6.
 
-	* NEWS, README.FreeBSD:
-	  Bug#2250 - Add ports, compiling info to FreeBSD README.
+2005-09-04  castaglia <castaglia>
 
-2005-06-05 11:20  castaglia
+	* NEWS, include/parser.h, src/main.c, src/parser.c: Bug#2689 -
+	Parser does not complain about unclosed configuration sections.
 
-	* README:
-	  Updated README to use "1.3.x" as ProFTPD version, rather than
-	  "1.2.x".
+2005-08-30  castaglia <castaglia>
 
-2005-06-03 00:12  castaglia
+	* RELEASE_NOTES: Fix typo.
 
-	* NEWS, include/fsio.h:
-	  Bug#2624 - "fh_data" macro collision causes compiler error on
-	  Tru64 V5.1A.
+2005-08-28  castaglia <castaglia>
 
-2005-06-02 08:25  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.
 
-	* 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-08-25  castaglia <castaglia>
 
-2005-06-01 21:43  castaglia
+	* contrib/mod_tls.c: The mod_tls version information was missing
+	from a couple of log messages.
 
-	* modules/mod_delay.c:
-	  Bug#2622 - Segfault seen randomly in mod_delay.
+2005-08-24  castaglia <castaglia>
 
-	  This patch changes the bounds check for the j variable, which is
-	  decrementing, to be as necessary.
+	* NEWS, modules/mod_ls.c: Bug#2685 - ListOptions' max parameters
+	cannot be set higher than 255.
 
-2005-06-01 16:21  castaglia
+2005-08-23  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.
+	* 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-06-01 14:07  castaglia
+2005-08-23  castaglia <castaglia>
 
-	* doc/contrib/mod_radius.html:
-	  Remove extraneous space.
+	* 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-06-01 14:03  castaglia
+2005-08-16  castaglia <castaglia>
 
-	* doc/contrib/mod_radius.html:
-	  Updating mod_radius documentation.
+	* 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-06-01 13:52  castaglia
+2005-08-10  jwm <jwm>
 
-	* README.Solaris2.5x:
-	  Use "ProFTPD", not "ProFTP".
+	* README.LDAP: update README.LDAP; oops, i've been forgetting about
+	this
 
-2005-06-01 13:50  castaglia
+2005-08-07  castaglia <castaglia>
 
-	* contrib/mod_radius.c:
-	  More strict checking of the number of parameters for the
-	  RadiusLog directive.
+	* modules/mod_core.c: When reporting on use or nonuse of <IfModule>
+	and <IfDefine> sections, correctly report the "!" character.
+	Otherwise, the reporting is confusing.
 
-	  In general, this a problem with the CHECK_ARGS macro.  It allows
-	  >= n parameters, where it should check strictly for == n.
+2005-08-07  castaglia <castaglia>
 
-2005-06-01 10:21  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.
 
-	* NEWS, src/bindings.c, src/netaddr.c:
-	  Bug#2578 - ProFTPD does not listen on IPv6 addresses on FreeBSD.
+2005-08-07  castaglia <castaglia>
 
-2005-05-31 16:40  castaglia
+	* configure: Updating configure.
 
-	* NEWS, modules/mod_delay.c:
-	  Bug#2622 - Segfault seen randomly in mod_delay.
+2005-08-07  castaglia <castaglia>
 
-2005-05-31 09:15  castaglia
+	* NEWS, configure.in: Bug#2676 - configure option --disable-ipv6
+	enables IPv6.
 
-	* NEWS, modules/mod_delay.c:
-	  Bug#2601 - mod_delay sometimes delays for a long time.
+2005-08-04  castaglia <castaglia>
 
-2005-05-20 19:16  castaglia
+	* NEWS, contrib/mod_sql.c: Bug#2674 - mod_sql string escape problem
+	during group lookups.
 
-	* 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-08-03  castaglia <castaglia>
 
-2005-05-10 09:35  castaglia
+	* contrib/mod_radius.c: Pad the size of the radius_packet_t
+	structure.
 
-	* NEWS, lib/pr-syslog.c:
-	  Bug#2585 - Proftpd does not write RFC 3164 compliant messages
-	  into /dev/log.
+2005-08-03  castaglia <castaglia>
 
-2005-05-08 13:42  castaglia
+	* NEWS, contrib/mod_radius.c: Bug#2669 - mod_radius segfaults if
+	PASS command sent with no USER command.
 
-	* configure:
-	  Updated configure.
+2005-08-02  castaglia <castaglia>
 
-2005-05-08 13:37  castaglia
+	* doc/howto/ListOptions.html: Fix documentation for "-a" ListOption.
 
-	* NEWS, configure.in:
-	  Bug#2598 - Build system should check for duplicate module
-	  requests.
+2005-08-02  castaglia <castaglia>
 
-2005-05-07 12:19  castaglia
+	* NEWS, modules/mod_ctrls.c: Bug#2668 - mod_ctrls fails to open
+	socket during SIGHUP.
 
-	* Makefile.in, modules/Makefile.in:
-	  Make the use of `test' in the Makefiles non-silent, to aid in
-	  debugging build issues.
+2005-08-02  castaglia <castaglia>
 
-2005-05-07 10:52  castaglia
+	* modules/mod_facl.c: Add debugging output, level 6, showing when
+	mod_facl has successfully registered its FS handler.
 
-	* contrib/mod_load/Makefile.in:
-	  Make mod_load's Makefile portable.  Related to Bug#2589.
+2005-08-01  castaglia <castaglia>
 
-2005-05-07 10:38  castaglia
+	* modules/mod_ctrls.c: Display the mod_ctrls version when using
+	`proftpd -vv'.
 
-	* NEWS:
-	  Wrong bug number.
+2005-08-01  castaglia <castaglia>
 
-2005-05-07 10:38  castaglia
+	* src/ftpdctl.c: Display the name of the socket path being contacted
+	when `ftpdctl -v' is used.
 
-	* NEWS, modules/Makefile.in:
-	  Bug#2589 - Makefile in modules/ directory is not portable.
+2005-08-01  castaglia <castaglia>
 
-2005-05-07 10:01  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.
 
-	* 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-07-31  castaglia <castaglia>
 
-2005-05-05 22:53  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.
 
-	* NEWS, modules/mod_core.c, modules/mod_ctrls.c, src/table.c:
-	  Bug#2605 - Compiler warnings/errors about missing typecasts on
-	  HP-UX.
+2005-07-27  castaglia <castaglia>
 
-2005-05-05 22:33  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#2662 - OpenSolaris/Solaris 11 has
+	TCP_CORK but not SOL_TCP.
 
-	* contrib/mod_tls.c:
-	  Bug#2607 - Compiler warnings about missing typecasts in mod_tls
-	  on HP-UX.
+2005-07-27  castaglia <castaglia>
 
-2005-05-05 22:24  castaglia
+	* NEWS, contrib/dist/rpm/proftpd.spec: Bug#2660 - Add mod_facl in
+	rpm spec file.
 
-	* contrib/mod_rewrite.c:
-	  Bug#2606 - Compiler warnings about missing typecasts in
-	  mod_rewrite on HP-UX.
+2005-07-27  castaglia <castaglia>
 
-2005-04-30 17:04  castaglia
+	* contrib/mod_tls.c: Explicitly mention that $SSL_CERT_DIR is an
+	environment variable.
 
-	* 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-07-24  castaglia <castaglia>
 
-2005-04-30 16:32  castaglia
+	* include/version.h: Updating version.
 
-	* configure:
-	  Updating configure.
+2005-07-24  castaglia <castaglia>
 
-2005-04-30 16:27  castaglia
+	* ChangeLog: Updating ChangeLog.
 
-	* 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-07-24  castaglia <castaglia>
 
-2005-04-30 12:59  castaglia
+	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
+	for release of 1.3.0rc2.
 
-	* 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-07-24  castaglia <castaglia>
 
-2005-04-30 12:07  castaglia
+	* NEWS, contrib/mod_radius.c: Bug#2658 - Segfault in mod_radius when
+	using long password.
 
-	* 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-07-21  castaglia <castaglia>
 
-2005-04-30 11:03  castaglia
+	* RELEASE_NOTES: Fix typo.
 
-	* NEWS, modules/mod_auth_unix.c:
-	  Bug#2582 - ProFTPD on Tru64 with SIA does not call
-	  sia_ses_estab().
+2005-07-21  castaglia <castaglia>
 
-2005-04-29 09:34  castaglia
+	* contrib/mod_tls.c: Slight paranoia about calling BIO_free() on
+	possibly NULL pointer.
 
-	* configure:
-	  Updating configure.
+2005-07-21  castaglia <castaglia>
 
-2005-04-29 09:26  castaglia
+	* NEWS, contrib/mod_tls.c: Bug#2657 - Segfault in tls_get_error()
+	function in mod_tls.
 
-	* configure.in, config.h.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-07-19  castaglia <castaglia>
 
-2005-04-27 14:04  castaglia
+	* doc/howto/Classes.html, doc/howto/SQL.html: Updating Class and SQL
+	howtos.
 
-	* configure:
-	  Updating configure.
+2005-07-15  castaglia <castaglia>
 
-2005-04-27 14:01  castaglia
+	* NEWS: Minor rewording of NEWS, with respect to POSIX ACLs.
 
-	* NEWS, config.h.in, configure.in:
-	  Bug#2588 - AIX requires _USE_IRS #define to use hstrerror().
+2005-07-08  castaglia <castaglia>
 
-2005-04-25 15:12  castaglia
+	* RELEASE_NOTES: Updating the release notes.
 
-	* 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-07-08  castaglia <castaglia>
 
-2005-04-24 14:48  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#2653 - When MaxStoreFileSize is
+	reached, error should be EDQUOT rather than EPERM.
 
-	* config.h.in:
-	  Typo.
+2005-07-07  castaglia <castaglia>
 
-2005-04-23 15:54  castaglia
+	* NEWS, src/data.c: Bug#2560 - Reporting errors when user filesystem
+	quota is exceeded.
 
-	* 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-07-07  castaglia <castaglia>
 
-2005-04-23 11:03  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.
 
-	* contrib/mod_quotatab.c:
-	  More formatting tweaks for mod_quotatab's display in response to
-	  a SITE QUOTA command.
+2005-07-05  castaglia <castaglia>
 
-2005-04-23 09:13  castaglia
+	* doc/howto/DNS.html, doc/howto/VirtualUsers.html,
+	doc/howto/index.html: Adding DNS, VirtualUsers howtos.
 
-	* 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-07-05  castaglia <castaglia>
 
-2005-04-23 08:53  castaglia
+	* NEWS, contrib/mod_sql.c: Bug#2645 - SQLShowInfo format string
+	vulnerability.
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#2596 - STAT command can cause segfault.
+2005-07-05  castaglia <castaglia>
 
-2005-04-22 09:26  castaglia
+	* NEWS, src/response.c: Bug#2646 - ftpshut format string
+	vulnerability.
 
-	* contrib/mod_sql.c:
-	  Be consistent in the style/formatting of the "cache hit for"
-	  messages by quoting the group name, too.
+2005-07-03  castaglia <castaglia>
 
-2005-04-21 10:58  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.
 
-	* NEWS, modules/Makefile.in:
-	  Bug#2593 - `make install-modules' does not honour DESTDIR
-	  enviroment variable.
+2005-07-03  castaglia <castaglia>
 
-2005-04-21 10:33  jwm
+	* NEWS: Bug#2375 - Slow directory listing with several blank
+	.ftpaccess files.
 
-	* .cvsignore, lib/libltdl/.cvsignore: update for libtool
+2005-07-03  castaglia <castaglia>
 
-2005-04-21 10:08  jwm
+	* 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.
 
-	* modules/.cvsignore: - ignore libtool-generated files -
-	  mod_linuxprivs is gone
+2005-07-02  castaglia <castaglia>
 
-2005-04-17 10:12  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.
 
-	* 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-07-02  castaglia <castaglia>
 
-2005-04-15 14:18  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).
 
-	* NEWS, src/dirtree.c:
-	  Bug#2587 - HideNoAccess does not work for DefaultRoot/<Anonymous>
-	  logins.
+2005-07-02  castaglia <castaglia>
 
-2005-04-14 22:55  castaglia
+	* modules/mod_delay.c: More bounds checking in mod_delay, as part of
+	an investigation into Bug #2621 using valgrind.
 
-	* include/: auth.h, compat.h, conf.h, 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-06-30  castaglia <castaglia>
 
-2005-04-11 10:02  castaglia
+	* NEWS, include/conf.h: Bug#2647 - Improper "socklen_t" redefine for
+	HP-UX when using X/Open.
 
-	* NEWS, contrib/mod_sql_postgres.c:
-	  Bug#2584 - mod_sql_postgres missing end-of-comment character.
+2005-06-29  castaglia <castaglia>
 
-2005-04-11 09:47  castaglia
+	* doc/modules/mod_delay.html: This document covers mod_delay, not
+	mod_dso.  Fix typo.
 
-	* include/version.h:
-	  Update version.
+2005-06-27  castaglia <castaglia>
 
-2005-04-10 16:21  castaglia
+	* NEWS, contrib/mod_sql_mysql.c: Bug#2644 - mod_sql_mysql should
+	handle old MySQL password format more gracefully.
 
-	* NEWS:
-	  Updating release date for 1.3.0rc1.
+2005-06-27  castaglia <castaglia>
 
-2005-04-10 16:19  castaglia
+	* configure: Updating configure.
 
-	* 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.
+2005-06-27  castaglia <castaglia>
 
-	  Have I ever mentioned how much I find the sendfile API to be
-	  broken?
+	* config.h.in, configure.in: Check for the size of a time_t.  We do
+	not need this immediately, but we will soon.
 
-2005-04-10 16:15  castaglia
+2005-06-23  castaglia <castaglia>
 
-	* NEWS, modules/mod_delay.c:
-	  Bug#2554 - mod_delay gets segfault-signal on several logins.
+	* 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-04-04 13:40  castaglia
+2005-06-22  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth_unix.c:
-	  Bug#2580 - ProFTPD on Tru64 with SIA allows login with blank
-	  password.
+	* 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-03-26 13:10  castaglia
+2005-06-22  castaglia <castaglia>
 
-	* NEWS, include/version.h, contrib/dist/rpm/proftpd.spec,
-	  ChangeLog:
-	  Preparing for release of 1.3.0rc1.
+	* 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-03-26 12:53  jwm
+2005-06-22  castaglia <castaglia>
 
-	* RELEASE_NOTES: mod_ldap is now 2.8.15
+	* 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-03-26 12:48  castaglia
+2005-06-21  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Updating release notes, preparing for release of 1.3.0rc1.
+	* 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-03-25 08:41  castaglia
+2005-06-21  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#2493 - mod_tls should support CCC command.
+	* configure: Update configure.
 
-2005-03-18 10:25  castaglia
+2005-06-21  castaglia <castaglia>
 
-	* NEWS, src/support.c:
-	  Bug#2576 - PWD command does not handle " character properly.
+	* src/bindings.c: The ipv6_supported variable need only be defined
+	if --enable-ipv6 is used.
 
-2005-03-16 23:12  castaglia
+2005-06-21  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.
+	* 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-03-16 08:16  castaglia
+2005-06-21  castaglia <castaglia>
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#2551 - Recursive LIST with symlinked directories gives
-	  duplicate results.
+	* src/main.c: Display the default libexec/ directory for the -V
+	option, if DSO support is enabled.
 
-2005-03-15 22:16  castaglia
+2005-06-21  castaglia <castaglia>
 
-	* modules/mod_ls.c:
-	  Cruft removal.
+	* configure: Updating configure.
 
-2005-03-12 09:36  castaglia
+2005-06-21  castaglia <castaglia>
 
-	* modules/mod_ls.c:
-	  Fix an unreported bug where attempting to use the -t directory
-	  listing option would trigger a segfault.
+	* 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-03-11 12:44  jwm
+2005-06-21  castaglia <castaglia>
 
-	* contrib/mod_ldap.c: [no log message]
+	* NEWS: Update the description of Bug #2573, making note of the
+	changed behavior and how to address it (as per Bug #2640).
 
-2005-03-08 09:06  castaglia
+2005-06-20  castaglia <castaglia>
 
-	* NEWS, src/pool.c:
-	  Bug#2567 - Segmentation fault with 64-bit binary due to structure
-	  layout difference.
+	* configure: Updating configure.
 
-2005-03-05 22:03  castaglia
+2005-06-20  castaglia <castaglia>
 
-	* contrib/mod_quotatab.c:
-	  More consistent log messages.
+	* 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-03-05 15:02  castaglia
+2005-06-20  castaglia <castaglia>
 
-	* contrib/mod_quotatab.c:
-	  Fixed quotatab_fsio_write() to check the xfer limit as well as
-	  the upload limit.
+	* src/netaddr.c: Log when we are looking for IPv4 addresses via DNS,
+	and when we're looking for IPv6 addresses.
 
-2005-03-05 14:55  castaglia
+2005-06-20  castaglia <castaglia>
 
-	* NEWS, contrib/mod_quotatab.c:
-	  Bug#2515 - mod_quotatab should enforce hard limits at the
-	  filesystem level.
+	* 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-03-05 09:46  castaglia
+2005-06-20  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c, modules/mod_auth.c, src/auth.c:
-	  Bug#2164 - Support non-PASS response codes.
+	* doc/contrib/mod_ifsession.html: Updating mod_ifsession docs.
 
-2005-03-05 09:33  castaglia
+2005-06-18  castaglia <castaglia>
 
-	* NEWS, src/inet.c:
-	  Bug#2559 - IPv6 socket option should be set for ServerType inetd.
+	* 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-03-04 09:01  castaglia
+2005-06-18  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug #2573 - TLSProtocol directive in proftpd.conf is ignored.
+	* NEWS, modules/mod_delay.c: Bug#2630 - Use of mmap in mod_delay may
+	be problematic on HP-UX.
 
-2005-03-02 12:33  castaglia
+2005-06-16  castaglia <castaglia>
 
-	* modules/mod_delay.c:
-	  Allow for <IfClass>-based tweaks of the DelayEngine directive.
+	* 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-02-27 18:50  castaglia
+2005-06-16  castaglia <castaglia>
 
-	* README.DSO:
-	  Mention the DSO howto.
+	* src/table.c: Added some missing pr_signals_handle() calls in while
+	loops.
 
-2005-02-27 11:23  castaglia
+2005-06-15  castaglia <castaglia>
 
-	* README.modules:
-	  List mod_facl in the modules README.
+	* NEWS, modules/mod_xfer.c: Bug#2639 - HiddenStores does not work.
 
-2005-02-27 11:21  castaglia
+2005-06-15  castaglia <castaglia>
 
-	* README.facl:
-	  Fleshing out the POSIX ACL doc.
+	* src/dirtree.c: Set a valid errno for pr_is_boolean().
 
-2005-02-27 09:46  castaglia
+2005-06-14  castaglia <castaglia>
 
-	* README.DSO:
-	  Update the DSO doc with information on where to find more
-	  documentation for the mod_dso module.
+	* 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-02-26 18:37  castaglia
+2005-06-14  castaglia <castaglia>
 
-	* README.DSO:
-	  Adding more substance to the DSO doc.
+	* 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-02-26 12:22  castaglia
+2005-06-13  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Mention the new --enable-facl configure option, mod_facl module
-	  in the release notes.
+	* include/log.h, modules/mod_core.c, modules/mod_log.c, src/log.c: 
+	Move the log_str2sysloglevel() function into the 'pr_' namespace.
 
-2005-02-26 09:55  castaglia
+2005-06-13  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Fix missing variable declaration.
+	* NEWS, modules/mod_xfer.c, src/data.c: Bug#2636 - Data connection
+	failure when handling STOR does not trigger error response.
 
-2005-02-26 09:39  castaglia
+2005-06-12  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* NEWS, modules/mod_ls.c: Bug#2637 - <Limit STAT> does not work.
 
-2005-02-26 09:28  castaglia
+2005-06-12  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.
+	* include/compat.h, include/dirtree.h: Moving some macro (name
+	redefinitions) into the more appropiate compat.h header.
 
-2005-02-24 18:01  castaglia
+2005-06-11  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql_mysql.c:
-	  Bug #2563: Linking fails on Solaris with libz and libmysqlclient.
+	* contrib/mod_tls.c: Style consistency and cleanup.
 
-2005-02-24 16:00  castaglia
+2005-06-11  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updated ChangeLog.
+	* contrib/mod_tls.c: Comment typo.
 
-2005-02-15 13:54  jwm
+2005-06-10  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec: i don't have access to red hat
-	  machines anymore, so i'm no longer maintaining this
+	* 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-02-07 10:15  castaglia
+2005-06-10  castaglia <castaglia>
 
-	* include/inet.h, src/inet.c:
-	  Use "const char *" where appropriate.
+	* NEWS, lib/pr-syslog.c: Bug#2632 - Invalid application of `sizeof'
+	to an incomplete type on AIX.
 
-2005-02-04 15:54  castaglia
+2005-06-10  castaglia <castaglia>
 
-	* NEWS, src/fsio.c:
-	  Bug#2556: Rename of directory across devices fails.
+	* doc/howto/NAT.html: Provide an example configuration for the
+	LAN/WAN MasqueradeAddress issue.
 
-2005-01-25 11:30  castaglia
+2005-06-09  castaglia <castaglia>
 
-	* NEWS, lib/libcap/cap_sys.c:
-	  Bug#2503 - Bundled libcap library does not compile on IA64
-	  machine.
+	* doc/howto/SQL.html: Fix typo.
 
-2005-01-12 16:19  castaglia
+2005-06-08  castaglia <castaglia>
 
-	* modules/mod_ls.c:
+	* NEWS, contrib/mod_radius.c: Bug#2631 - Segfault when using
+	RadiusAcctServer.
 
-	  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-06-08  castaglia <castaglia>
 
-2005-01-06 15:39  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.
 
-	* 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-06-07  castaglia <castaglia>
 
-2005-01-06 10:55  castaglia
+	* contrib/mod_radius.c: Minor style cleanup.
 
-	* src/bindings.c:
-	  Fix segfault caused by a NULL listener_list.
+2005-06-06  castaglia <castaglia>
 
-2005-01-02 21:36  castaglia
+	* doc/contrib/mod_rewrite.html: No need for the trailing /, as the
+	closing } serves as the delimiter.
 
-	* doc/howto/Stopping.html:
-	  Updating FAQ URL.
+2005-06-06  castaglia <castaglia>
 
-2005-01-02 16:21  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.
 
-	* INSTALL:
-	  Apparently configure scripts don't pass env vars very well to
-	  sub-configure scripts.
+2005-06-05  castaglia <castaglia>
 
-2005-01-02 13:00  jwm
+	* NEWS, README.FreeBSD: Bug#2250 - Add ports, compiling info to
+	FreeBSD README.
 
-	* lib/glibc-hstrerror.c: silence ranlib's 'object contains no
-	  symbols' warning if the host OS already has hstrerror()
+2005-06-05  castaglia <castaglia>
 
-2005-01-02 00:01  castaglia
+	* README: Updated README to use "1.3.x" as ProFTPD version, rather
+	than "1.2.x".
 
-	* RELEASE_NOTES:
-	  Make a note to describe the addition of mod_delay to the module
-	  list.
+2005-06-03  castaglia <castaglia>
 
-2005-01-01 12:15  castaglia
+	* NEWS, include/fsio.h: Bug#2624 - "fh_data" macro collision causes
+	compiler error on Tru64 V5.1A.
 
-	* doc/contrib/mod_load.html:
-	  Updating the mod_load docs to mention the provided Display
-	  variables.
+2005-06-02  castaglia <castaglia>
 
-2005-01-01 12:06  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.
 
-	* doc/howto/DisplayFiles.html:
-	  Mention that other modules can add their own Display variables.
+2005-06-02  castaglia <castaglia>
 
-2005-01-01 12:04  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.
 
-	* contrib/mod_load/mod_load.c.in:
-	  Enhance mod_load to use the Variables API.
+2005-06-01  castaglia <castaglia>
 
-2005-01-01 11:42  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.
 
-	* contrib/mod_load/configure:
-	  Updating configure.
+2005-06-01  castaglia <castaglia>
 
-2005-01-01 11:41  castaglia
+	* doc/contrib/mod_radius.html: Remove extraneous space.
 
-	* 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-06-01  castaglia <castaglia>
 
-2005-01-01 11:39  castaglia
+	* doc/contrib/mod_radius.html: Updating mod_radius documentation.
 
-	* contrib/mod_load/: configure.in, getloadavg.c, mod_load.c,
-	  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.
+2005-06-01  castaglia <castaglia>
 
-	  Note that newer autoconf treatment of the AC_FUNC_GETLOADAVG
-	  macro requires that a getloadavg.c file be present, even if
-	  empty.  How annoying.
+	* README.Solaris2.5x: Use "ProFTPD", not "ProFTP".
 
-2005-01-01 11:13  castaglia
+2005-06-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.
+	* 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-01-01 11:02  castaglia
+2005-06-01  castaglia <castaglia>
 
-	* contrib/mod_load/mod_load.c:
-	  Fix some compiler warnings about formats.
+	* NEWS, src/bindings.c, src/netaddr.c: Bug#2578 - ProFTPD does not
+	listen on IPv6 addresses on FreeBSD.
 
-	  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-05-31  castaglia <castaglia>
 
-2005-01-01 10:55  castaglia
+	* NEWS, modules/mod_delay.c: Bug#2622 - Segfault seen randomly in
+	mod_delay.
 
-	* contrib/mod_load/mod_load.c:
-	  Slightly prettier code organization.
+2005-05-31  castaglia <castaglia>
 
-2005-01-01 10:49  castaglia
+	* NEWS, modules/mod_delay.c: Bug#2601 - mod_delay sometimes delays
+	for a long time.
 
-	* contrib/mod_load/mod_load.c:
-	  Updating mod_load source style.
+2005-05-21  castaglia <castaglia>
 
-2005-01-01 10:42  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.
 
-	* doc/contrib/index.html:
-	  Update doc/contrib index to include mod_load reference.
+2005-05-10  castaglia <castaglia>
 
-2005-01-01 10:40  castaglia
+	* NEWS, lib/pr-syslog.c: Bug#2585 - Proftpd does not write RFC 3164
+	compliant messages into /dev/log.
 
-	* README.modules, RELEASE_NOTES:
-	  Add mod_load to the list of modules.
+2005-05-08  castaglia <castaglia>
 
-2005-01-01 10:37  castaglia
+	* configure: Updated configure.
 
-	* 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-05-08  castaglia <castaglia>
 
-2005-01-01 10:36  castaglia
+	* NEWS, configure.in: Bug#2598 - Build system should check for
+	duplicate module requests.
 
-	* configure:
-	  Updating configure.
+2005-05-07  castaglia <castaglia>
 
-2005-01-01 10:20  castaglia
+	* Makefile.in, modules/Makefile.in: Make the use of `test' in the
+	Makefiles non-silent, to aid in debugging build issues.
 
-	* modules/Makefile.in:
-	  Fix the install target when handling only shared modules that
-	  install themselves.
+2005-05-07  castaglia <castaglia>
 
-2004-12-31 19:02  castaglia
+	* contrib/mod_load/Makefile.in: Make mod_load's Makefile portable.
+	Related to Bug#2589.
 
-	* .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.
+2005-05-07  castaglia <castaglia>
 
-2004-12-31 11:17  castaglia
+	* NEWS: Wrong bug number.
 
-	* doc/howto/FTP.html:
-	  Updating the list of SITE commands supported by ProFTPD.
+2005-05-07  castaglia <castaglia>
 
-2004-12-31 10:55  castaglia
+	* NEWS, modules/Makefile.in: Bug#2589 - Makefile in modules/
+	directory is not portable.
 
-	* doc/howto/FTP.html:
-	  Updating the list of FTP commands supported by ProFTPD.
+2005-05-07  castaglia <castaglia>
 
-2004-12-30 15:08  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.
 
-	* contrib/mod_sql_mysql.c:
-	  Log if mod_sql_mysql fails to authenticate a password using the
-	  'backend' SQLAuthType because of a password mismatch.
+2005-05-06  castaglia <castaglia>
 
-2004-12-30 14:51  castaglia
+	* NEWS, modules/mod_core.c, modules/mod_ctrls.c, src/table.c: 
+	Bug#2605 - Compiler warnings/errors about missing typecasts on
+	HP-UX.
 
-	* NEWS, modules/mod_core.c:
-	  Bug#2541 - <Directory ~user> path resolved at startup time,
-	  rather than at session time.
+2005-05-06  castaglia <castaglia>
 
-2004-12-30 14:23  castaglia
+	* contrib/mod_tls.c: Bug#2607 - Compiler warnings about missing
+	typecasts in mod_tls on HP-UX.
 
-	* NEWS, modules/mod_delay.c:
-	  Bug#2540 - Fails to disable mod_delay if no DelayTable file
-	  exists.
+2005-05-06  castaglia <castaglia>
 
-2004-12-23 12:17  castaglia
+	* contrib/mod_rewrite.c: Bug#2606 - Compiler warnings about missing
+	typecasts in mod_rewrite on HP-UX.
 
-	* modules/: mod_auth.c, mod_core.c, mod_log.c:
-	  More prettification of error messages.
+2005-05-01  castaglia <castaglia>
 
-2004-12-23 11:55  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.
 
-	* contrib/mod_sql.c:
-	  Makes for nicer error messages.
+2005-04-30  castaglia <castaglia>
 
-2004-12-22 22:58  castaglia
+	* configure: Updating configure.
 
-	* INSTALL:
-	  Updating the installation notes.
+2005-04-30  castaglia <castaglia>
 
-2004-12-17 15:14  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.
 
-	* 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.
+2005-04-30  castaglia <castaglia>
 
-2004-12-17 13:56  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.
 
-	* modules/mod_dso.c:
-	  Avoid compiler warning about unused function.
+2005-04-30  castaglia <castaglia>
 
-2004-12-17 10:24  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.
 
-	* NEWS, contrib/mod_ifsession.c:
-	  Bug#2536 - mod_ifsession does not properly merge in all
-	  directives.
+2005-04-30  castaglia <castaglia>
 
-2004-12-16 17:58  castaglia
+	* NEWS, modules/mod_auth_unix.c: Bug#2582 - ProFTPD on Tru64 with
+	SIA does not call sia_ses_estab().
 
-	* src/sets.c:
-	  Update xaset_insert_end() so that it updates the 'next' field of
-	  the previous member in the set.
+2005-04-29  castaglia <castaglia>
 
-2004-12-16 17:25  castaglia
+	* configure: Updating configure.
 
-	* 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().
+2005-04-29  castaglia <castaglia>
 
-2004-12-16 16:03  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.
 
-	* contrib/mod_ldap.c:
-	  Typo.
+2005-04-27  castaglia <castaglia>
 
-2004-12-16 15:54  castaglia
+	* configure: Updating configure.
 
-	* contrib/mod_ctrls_admin.c:
-	  Support being unloaded as a shared module.
+2005-04-27  castaglia <castaglia>
 
-2004-12-16 15:37  castaglia
+	* NEWS, config.h.in, configure.in: Bug#2588 - AIX requires _USE_IRS
+	#define to use hstrerror().
 
-	* contrib/mod_rewrite.c:
-	  Support being unloaded as a shared module.
+2005-04-25  castaglia <castaglia>
 
-2004-12-16 15:26  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.
 
-	* contrib/mod_radius.c:
-	  Add code to support being unloaded as a shared module.
+2005-04-24  castaglia <castaglia>
 
-2004-12-16 14:55  castaglia
+	* config.h.in: Typo.
 
-	* contrib/: mod_quotatab.c, mod_quotatab.h, mod_quotatab_file.c,
-	  mod_quotatab_ldap.c, 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.
+2005-04-23  castaglia <castaglia>
 
-	  Adds support for graceful unloading of mod_quotatab et al as
-	  shared modules.
+	* 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...
 
-2004-12-16 11:38  castaglia
+2005-04-23  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Add code to mod_tls to support being unloaded as a shared module.
+	* contrib/mod_quotatab.c: More formatting tweaks for mod_quotatab's
+	display in response to a SITE QUOTA command.
 
-2004-12-16 10:33  castaglia
+2005-04-23  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.
+	* 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".
 
-2004-12-16 10:17  castaglia
+2005-04-23  castaglia <castaglia>
 
-	* contrib/: mod_sql.c, mod_sql_mysql.c, mod_sql_postgres.c:
-	  Tweak the SQL modules to better handle being built as shared
-	  modules.
+	* NEWS, modules/mod_ls.c: Bug#2596 - STAT command can cause
+	segfault.
 
-2004-12-16 10:13  castaglia
+2005-04-22  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.
+	* contrib/mod_sql.c: Be consistent in the style/formatting of the
+	"cache hit for" messages by quoting the group name, too.
 
-	  Note that this requires changes to shared modules, to make sure
-	  they unload themselves properly.  Such changes for the contrib/
-	  modules will follow shortly.
+2005-04-21  castaglia <castaglia>
 
-2004-12-15 19:01  castaglia
+	* NEWS, modules/Makefile.in: Bug#2593 - `make install-modules' does
+	not honour DESTDIR enviroment variable.
 
-	* 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.
+2005-04-21  jwm <jwm>
 
-	  Gracefully avoid a possible segfault during pr_event_register().
+	* .cvsignore, lib/libltdl/.cvsignore: update for libtool
 
-2004-12-15 18:30  castaglia
+2005-04-21  jwm <jwm>
 
-	* src/auth.c:
-	  'login' is a global variable somewhere, so compiling under
-	  --enable-devel kicks up compiler warnings.
+	* modules/.cvsignore: - ignore libtool-generated files - mod_linuxprivs is gone
 
-2004-12-15 18:23  castaglia
+2005-04-17  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.
+	* 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
 
-2004-12-15 16:54  castaglia
+2005-04-15  castaglia <castaglia>
 
-	* doc/howto/DisplayFiles.html:
-	  Updating the DisplayFiles doc with the newly added Display
-	  variables.
+	* NEWS, src/dirtree.c: Bug#2587 - HideNoAccess does not work for
+	DefaultRoot/<Anonymous> logins.
 
-2004-12-15 16:50  castaglia
+2005-04-15  castaglia <castaglia>
 
-	* doc/howto/: DisplayFiles.html, index.html:
-	  Adding a doc covering the Display directives.
+	* 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.
 
-2004-12-12 15:55  castaglia
+2005-04-11  castaglia <castaglia>
 
-	* doc/howto/DSO.html:
-	  Grammatical nicety.
+	* NEWS, contrib/mod_sql_postgres.c: Bug#2584 - mod_sql_postgres
+	missing end-of-comment character.
 
-2004-12-12 15:03  castaglia
+2005-04-11  castaglia <castaglia>
 
-	* doc/howto/ListOptions.html:
-	  Updating URL for current location under doc/howto/.
+	* include/version.h: Update version.
 
-2004-12-12 15:01  castaglia
+2005-04-10  castaglia <castaglia>
 
-	* doc/howto/: ListOptions.html, index.html:
-	  Adding the ListOptions howto to the source distribution.
+	* NEWS: Updating release date for 1.3.0rc1.
 
-2004-12-12 14:57  castaglia
+2005-04-10  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Update the release notes.
+	* 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?
 
-2004-12-12 14:56  castaglia
+2005-04-10  castaglia <castaglia>
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#2534 - Add suport for -S ListOption, for sorting files by
-	  file size.
+	* NEWS, modules/mod_delay.c: Bug#2554 - mod_delay gets
+	segfault-signal on several logins.
 
-2004-12-12 14:00  castaglia
+2005-04-04  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.
+	* NEWS, modules/mod_auth_unix.c: Bug#2580 - ProFTPD on Tru64 with
+	SIA allows login with blank password.
 
-2004-12-12 13:52  castaglia
+2005-03-26  castaglia <castaglia>
 
-	* doc/howto/: DSO.html, index.html:
-	  Adding DSO howto to source distribution.
+	* ChangeLog, NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: 
+	Preparing for release of 1.3.0rc1.
 
-2004-12-12 11:27  castaglia
+2005-03-26  jwm <jwm>
 
-	* doc/contrib/mod_sql.html:
-	  Add documentation for the SQLEngine directive.
+	* RELEASE_NOTES: mod_ldap is now 2.8.15
 
-2004-12-12 09:53  castaglia
+2005-03-26  castaglia <castaglia>
 
-	* NEWS, RELEASE_NOTES, contrib/mod_sql.c:
-	  Bug#2406 - Add a SQLEngine directive.
+	* RELEASE_NOTES: Updating release notes, preparing for release of
+	1.3.0rc1.
 
-2004-12-11 21:59  castaglia
+2005-03-25  castaglia <castaglia>
 
-	* modules/: mod_ctrls.c, mod_site.c:
-	  Use the Auth API functions in the 'pr_' namespace.
+	* NEWS, contrib/mod_tls.c: Bug#2493 - mod_tls should support CCC
+	command.
 
-2004-12-11 16:14  castaglia
+2005-03-18  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#2027 - Add log message for timed out passive transfers.
+	* NEWS, src/support.c: Bug#2576 - PWD command does not handle "
+	character properly.
 
-2004-12-08 14:30  castaglia
+2005-03-17  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.
+	* 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.
 
-2004-12-05 00:12  castaglia
+2005-03-16  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.
+	* NEWS, modules/mod_ls.c: Bug#2551 - Recursive LIST with symlinked
+	directories gives duplicate results.
 
-2004-12-05 00:03  castaglia
+2005-03-16  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.
+	* modules/mod_ls.c: Cruft removal.
 
-2004-12-04 23:58  castaglia
+2005-03-12  castaglia <castaglia>
 
-	* src/main.c:
-	  Properly set session.c and session.d to NULL once we've closed
-	  them.
+	* modules/mod_ls.c: Fix an unreported bug where attempting to use
+	the -t directory listing option would trigger a segfault.
 
-2004-12-04 22:38  castaglia
+2005-03-11  jwm <jwm>
 
-	* doc/howto/Authentication.html:
-	  Correct the RequireValidShell FAQ URL.
+	* contrib/mod_ldap.c: [no log message]
 
-2004-12-04 21:50  castaglia
+2005-03-08  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").
+	* NEWS, src/pool.c: Bug#2567 - Segmentation fault with 64-bit binary
+	due to structure layout difference.
 
-2004-12-04 20:25  castaglia
+2005-03-06  castaglia <castaglia>
 
-	* doc/howto/Limit.html:
-	  Add examples of blocking PORT or PASV commands.
+	* contrib/mod_quotatab.c: More consistent log messages.
 
-2004-12-04 11:17  castaglia
+2005-03-05  castaglia <castaglia>
 
-	* doc/howto/: Upgrade.html, index.html:
-	  Add an Upgrade mini-HOWTO to doc/howto/.
+	* contrib/mod_quotatab.c: Fixed quotatab_fsio_write() to check the
+	xfer limit as well as the upload limit.
 
-2004-12-04 01:20  castaglia
+2005-03-05  castaglia <castaglia>
 
-	* doc/contrib/mod_quotatab.html:
-	  Fix up the links to the quotatab submodule docs.
+	* NEWS, contrib/mod_quotatab.c: Bug#2515 - mod_quotatab should
+	enforce hard limits at the filesystem level.
 
-2004-12-04 01:13  castaglia
+2005-03-05  castaglia <castaglia>
 
-	* doc/contrib/mod_quotatab.html:
-	  Update the mod_quotatab installation instructions.
+	* NEWS, contrib/mod_tls.c, modules/mod_auth.c, src/auth.c: Bug#2164
+	- Support non-PASS response codes.
 
-2004-12-03 23:52  castaglia
+2005-03-05  castaglia <castaglia>
 
-	* contrib/mod_quotatab.c, contrib/mod_quotatab.h,
-	  doc/contrib/mod_quotatab.html:
-	  Add some Display variables for mod_quotatab:
+	* NEWS, src/inet.c: Bug#2559 - IPv6 socket option should be set for
+	ServerType inetd.
 
-	    %{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}
+2005-03-04  castaglia <castaglia>
 
-	  These are documented in the mod_quotatab documentation under
-	  doc/contrib/.
+	* NEWS, contrib/mod_tls.c: Bug #2573 - TLSProtocol directive in
+	proftpd.conf is ignored.
 
-2004-12-03 23:43  castaglia
+2005-03-02  castaglia <castaglia>
 
-	* src/var.c:
-	  Pass the exact pointers provided by callers of pr_var_set(),
-	  rather than copies of the pointed-to data.
+	* modules/mod_delay.c: Allow for <IfClass>-based tweaks of the
+	DelayEngine directive.
 
-2004-12-03 23:40  castaglia
+2005-02-28  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).
+	* README.DSO: Mention the DSO howto.
 
-2004-12-03 23:39  castaglia
+2005-02-27  castaglia <castaglia>
 
-	* src/display.c:
-	  Fix displaying of variables.
+	* README.modules: List mod_facl in the modules README.
 
-2004-12-03 23:02  castaglia
+2005-02-27  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Mention the new Display variables in the release notes.
+	* README.facl: Fleshing out the POSIX ACL doc.
 
-2004-12-03 22:59  castaglia
+2005-02-27  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.
+	* README.DSO: Update the DSO doc with information on where to find
+	more documentation for the mod_dso module.
 
-2004-12-03 17:16  castaglia
+2005-02-27  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Handle the case where there's only one name provided in the
-	  Allow/Deny rule.
+	* README.DSO: Adding more substance to the DSO doc.
 
-2004-12-02 15:15  castaglia
+2005-02-26  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c:
-	  Bug#2528 - Incorrect username 'and' parsing in AllowUser.
+	* RELEASE_NOTES: Mention the new --enable-facl configure option,
+	mod_facl module in the release notes.
 
-2004-12-01 17:45  castaglia
+2005-02-26  castaglia <castaglia>
 
-	* src/main.c:
-	  Close the control and data connections before running any
-	  registered 'core.exit' event handlers.
+	* src/fsio.c: Fix missing variable declaration.
 
-2004-12-01 17:24  castaglia
+2005-02-26  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).
+	* configure: Updating configure.
 
-2004-12-01 10:08  castaglia
+2005-02-26  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.
+	* 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.
 
-2004-11-29 14:28  castaglia
+2005-02-25  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Style cleanup.
+	* NEWS, contrib/mod_sql_mysql.c: Bug #2563: Linking fails on Solaris
+	with libz and libmysqlclient.
 
-2004-11-28 16:26  castaglia
+2005-02-25  castaglia <castaglia>
 
-	* doc/howto/Debugging.html:
-	  Updating URL.
+	* ChangeLog: Updated ChangeLog.
 
-2004-11-25 11:03  jwm
+2005-02-15  jwm <jwm>
 
-	* modules/mod_delay.c: include signal.h to fix the build under
-	  Solaris 8
+	* contrib/dist/rpm/proftpd.spec: i don't have access to red hat
+	machines anymore, so i'm no longer maintaining this
 
-2004-11-24 12:38  castaglia
+2005-02-07  castaglia <castaglia>
 
-	* src/support.c:
-	  More old-style exit handler cruft.
+	* include/inet.h, src/inet.c: Use "const char *" where appropriate.
 
-2004-11-22 19:43  castaglia
+2005-02-04  castaglia <castaglia>
 
-	* src/display.c:
-	  Extraneous #include (and at the bottom of a file).
+	* NEWS, src/fsio.c: Bug#2556: Rename of directory across devices
+	fails.
 
-2004-11-22 19:30  castaglia
+2005-01-25  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  We were calling pr_display_file() on DisplayQuit files with the
-	  arguments in the wrong order.
+	* NEWS, lib/libcap/cap_sys.c: Bug#2503 - Bundled libcap library does
+	not compile on IA64 machine.
 
-2004-11-21 22:09  castaglia
+2005-01-13  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.
+	* 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.
 
-2004-11-21 21:36  castaglia
+2005-01-06  castaglia <castaglia>
 
-	* NEWS:
-	  Bug#2510 - Use of ExportCertData TLSOption leads to segfault.
+	* 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).
 
-2004-11-21 21:21  castaglia
+2005-01-06  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.
+	* src/bindings.c: Fix segfault caused by a NULL listener_list.
 
-	  This patch is also part of the solution for Bug #2313.
+2005-01-03  castaglia <castaglia>
 
-2004-11-21 17:37  castaglia
+	* doc/howto/Stopping.html: Updating FAQ URL.
 
-	* contrib/mod_tls.c:
-	  Adding some missing logic; pointers that have been free()'d
-	  should always be set to NULL afterwards.
+2005-01-03  castaglia <castaglia>
 
-2004-11-21 16:34  castaglia
+	* INSTALL: Apparently configure scripts don't pass env vars very
+	well to sub-configure scripts.
 
-	* Makefile.in:
-	  As per Michael's suggestion, remove the .libs/ directory, and
-	  libtool, during the 'distclean' target.
+2005-01-02  jwm <jwm>
 
-2004-11-21 16:27  castaglia
+	* lib/glibc-hstrerror.c: silence ranlib's 'object contains no
+	symbols' warning if the host OS already has hstrerror()
 
-	* src/support.c:
-	  More old-style exit handler cruft.
+2005-01-02  castaglia <castaglia>
 
-2004-11-21 16:26  castaglia
+	* RELEASE_NOTES: Make a note to describe the addition of mod_delay
+	to the module list.
 
-	* src/main.c:
-	  Straggler run_exit_handlers() call.  Be gone with ye!
+2005-01-01  castaglia <castaglia>
 
-2004-11-21 16:21  castaglia
+	* doc/contrib/mod_load.html: Updating the mod_load docs to mention
+	the provided Display variables.
 
-	* include/support.h, src/main.c, src/support.c:
-	  No more support for the old-style exit handlers.
+2005-01-01  castaglia <castaglia>
 
-2004-11-21 15:36  castaglia
+	* doc/howto/DisplayFiles.html: Mention that other modules can add
+	their own Display variables.
 
-	* modules/mod_delay.c:
-	  Allow SIGTERM to interrupt mod_delay.
+2005-01-01  castaglia <castaglia>
 
-2004-11-21 12:26  castaglia
+	* contrib/mod_load/mod_load.c.in: Enhance mod_load to use the
+	Variables API.
 
-	* 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.
+2005-01-01  castaglia <castaglia>
 
-	  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.
+	* contrib/mod_load/configure: Updating configure.
 
-2004-11-21 11:16  castaglia
+2005-01-01  castaglia <castaglia>
 
-	* doc/contrib/mod_ifsession.html:
-	  Forgot to list MaxInstances as not being alterable by
-	  mod_ifsession.
+	* doc/contrib/mod_load.html: Eliminated the need for Solaris users
+	to do anything special when building mod_load; its configure script
+	handles everything.
 
-2004-11-21 11:09  castaglia
+2005-01-01  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.
+	* 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.
 
-2004-11-20 14:35  castaglia
+2005-01-01  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.
+	* contrib/mod_load/mod_load.c: No need for mod_load's getloadavg()
+	function to be visible outside of the source file.
 
-2004-11-20 13:20  castaglia
+2005-01-01  castaglia <castaglia>
 
-	* src/timers.c:
-	  Be a little more paranoid: don't set the indispatch flag until
-	  after alarms have been blocked.
+	* 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).
 
-2004-11-20 12:38  castaglia
+2005-01-01  castaglia <castaglia>
 
-	* README.IPv6:
-	  Remove mention of the Bind directive.  We want it gone.
+	* contrib/mod_load/mod_load.c: Slightly prettier code organization.
 
-2004-11-20 12:32  castaglia
+2005-01-01  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.
+	* contrib/mod_load/mod_load.c: Updating mod_load source style.
 
-2004-11-19 19:15  castaglia
+2005-01-01  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Adding a comment about how use of sendfile() causes download
-	  transfer speeds not to be displayable.
+	* doc/contrib/index.html: Update doc/contrib index to include
+	mod_load reference.
 
-2004-11-17 09:58  castaglia
+2005-01-01  castaglia <castaglia>
 
-	* doc/howto/Controls.html:
-	  Mention that only primary groups, not supplemental groups, are
-	  used.
+	* README.modules, RELEASE_NOTES: Add mod_load to the list of
+	modules.
 
-2004-11-17 09:33  castaglia
+2005-01-01  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* 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.
 
-2004-11-17 09:28  castaglia
+2005-01-01  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.
+	* configure: Updating configure.
 
-2004-11-14 17:39  castaglia
+2005-01-01  castaglia <castaglia>
 
-	* README.modules:
-	  Updating README.modules.
+	* modules/Makefile.in: Fix the install target when handling only
+	shared modules that install themselves.
 
-2004-11-14 16:21  castaglia
+2005-01-01  castaglia <castaglia>
 
-	* modules/: mod_core.c, 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.
+	* .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-11-14 15:58  castaglia
+2004-12-31  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Check that a scoreboard entry's PID is non-zero before sending
-	  the zero signal to that PID.
+	* doc/howto/FTP.html: Updating the list of SITE commands supported
+	by ProFTPD.
 
-2004-11-14 15:45  castaglia
+2004-12-31  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.
+	* doc/howto/FTP.html: Updating the list of FTP commands supported by
+	ProFTPD.
 
-2004-11-14 13:03  castaglia
+2004-12-30  castaglia <castaglia>
 
-	* doc/howto/: Scoreboard.html, index.html:
-	  Adding a ScoreboardFile mini-HOWTO.
+	* 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-11-13 15:01  castaglia
+2004-12-30  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.
+	* NEWS, modules/mod_core.c: Bug#2541 - <Directory ~user> path
+	resolved at startup time, rather than at session time.
 
-2004-11-13 14:47  castaglia
+2004-12-30  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.
+	* NEWS, modules/mod_delay.c: Bug#2540 - Fails to disable mod_delay
+	if no DelayTable file exists.
 
-	  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-12-23  castaglia <castaglia>
 
-2004-11-13 14:41  castaglia
+	* modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c: More
+	prettification of error messages.
 
-	* modules/mod_delay.c:
-	  Use proper grammar.
+2004-12-23  castaglia <castaglia>
 
-2004-11-11 10:58  castaglia
+	* contrib/mod_sql.c: Makes for nicer error messages.
 
-	* RELEASE_NOTES, modules/mod_log.c:
-	  Make "SECURE" an alias for "SEC" when configuring ExtendedLog
-	  logging classes.
+2004-12-23  castaglia <castaglia>
 
-2004-11-10 18:44  castaglia
+	* INSTALL: Updating the installation notes.
 
-	* 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-12-17  castaglia <castaglia>
 
-2004-11-10 10:54  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.
 
-	* configure:
-	  Updating configure.
+2004-12-17  castaglia <castaglia>
 
-2004-11-10 10:34  castaglia
+	* modules/mod_dso.c: Avoid compiler warning about unused function.
 
-	* RELEASE_NOTES:
-	  Mention the new UseSendfile directive.
+2004-12-17  castaglia <castaglia>
 
-2004-11-10 10:32  castaglia
+	* NEWS, contrib/mod_ifsession.c: Bug#2536 - mod_ifsession does not
+	properly merge in all directives.
 
-	* NEWS, configure.in, modules/mod_xfer.c:
-	  Bug#2507 - Enable use of sendfile by default.
+2004-12-17  castaglia <castaglia>
 
-2004-11-10 10:19  castaglia
+	* src/sets.c: Update xaset_insert_end() so that it updates the
+	'next' field of the previous member in the set.
 
-	* 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-12-17  castaglia <castaglia>
 
-2004-11-09 19:26  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().
 
-	* src/timers.c:
-	  Prevent callers from providing a negative number of seconds when
-	  adding a timer.
+2004-12-17  castaglia <castaglia>
 
-2004-11-09 11:17  castaglia
+	* contrib/mod_ldap.c: Typo.
 
-	* NEWS:
-	  Add a header to the NEWS file indicating the Bugzilla URL to use
-	  for looking up the mentioned bug reports.
+2004-12-16  castaglia <castaglia>
 
-2004-11-08 19:07  castaglia
+	* contrib/mod_ctrls_admin.c: Support being unloaded as a shared
+	module.
 
-	* modules/mod_delay.c:
-	  Use PR_RUN_DIR, not RUN_DIR.
+2004-12-16  castaglia <castaglia>
 
-2004-11-08 18:46  castaglia
+	* contrib/mod_rewrite.c: Support being unloaded as a shared module.
 
-	* configure:
-	  Updating configure.
+2004-12-16  castaglia <castaglia>
 
-2004-11-08 18:45  castaglia
+	* contrib/mod_radius.c: Add code to support being unloaded as a
+	shared module.
 
-	* NEWS:
-	  Bug#2480 - Remote users discovery.
+2004-12-16  castaglia <castaglia>
 
-2004-11-08 18:41  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.
 
-	* configure.in:
-	  Make mod_delay one of the default modules.
+2004-12-16  castaglia <castaglia>
 
-2004-11-08 18:37  castaglia
+	* contrib/mod_tls.c: Add code to mod_tls to support being unloaded
+	as a shared module.
 
-	* modules/mod_delay.c, doc/modules/mod_delay.html:
-	  Adding mod_delay to the distribution.  Part of Bug #2480.
+2004-12-16  castaglia <castaglia>
 
-2004-11-07 17:43  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.
 
-	* modules/Makefile.in:
-	  Found a case where make(1) was not providing $(RM).  How
-	  annoying.
+2004-12-16  castaglia <castaglia>
 
-2004-11-06 13:25  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.
 
-	* configure:
-	  Updating configure.
+2004-12-16  castaglia <castaglia>
 
-2004-11-06 13:21  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.
 
-	* configure.in:
-	  I prefer, if possible, to see the functions checked in
-	  alphabetical order.
+2004-12-16  castaglia <castaglia>
 
-2004-11-04 21:12  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().
 
-	* README.DSO:
-	  Adding reminder note.
+2004-12-16  castaglia <castaglia>
 
-2004-11-04 16:49  castaglia
+	* src/auth.c: 'login' is a global variable somewhere, so compiling
+	under --enable-devel kicks up compiler warnings.
 
-	* configure:
-	  Updated configure.
+2004-12-16  castaglia <castaglia>
 
-2004-11-04 16:43  castaglia
+	* Makefile.in: The shell's test function prefers to operate on
+	single strings, so enclose the expanded $SHARED_MODULE_OBJS list
+	within quotations.
 
-	* configure.in, config.h.in:
-	  Check for the fdatasync(2) function.
+2004-12-16  castaglia <castaglia>
 
-2004-11-04 14:48  castaglia
+	* doc/howto/DisplayFiles.html: Updating the DisplayFiles doc with
+	the newly added Display variables.
 
-	* NEWS, include/data.h, modules/mod_xfer.c, src/data.c:
-	  Bug#2509 - sendfile() usage fails with > 2GB files.
+2004-12-16  castaglia <castaglia>
 
-2004-11-04 14:17  castaglia
+	* doc/howto/DisplayFiles.html, doc/howto/index.html: Adding a doc
+	covering the Display directives.
 
-	* doc/GetConf:
-	  Removing crufty old file.
+2004-12-12  castaglia <castaglia>
 
-2004-11-04 11:25  castaglia
+	* doc/howto/DSO.html: Grammatical nicety.
 
-	* configure:
-	  Updating configure.
+2004-12-12  castaglia <castaglia>
 
-2004-11-04 11:11  castaglia
+	* doc/howto/ListOptions.html: Updating URL for current location
+	under doc/howto/.
 
-	* config.h.in, configure.in:
-	  Add checks for iconv() and nl_langinfo(), which will be needed
-	  for i18n support.
+2004-12-12  castaglia <castaglia>
 
-2004-11-03 12:11  castaglia
+	* doc/howto/ListOptions.html, doc/howto/index.html: Adding the
+	ListOptions howto to the source distribution.
 
-	* doc/contrib/index.html:
-	  Adding an index to the doc/contrib/ directory.
+2004-12-12  castaglia <castaglia>
 
-2004-11-03 11:37  castaglia
+	* RELEASE_NOTES: Update the release notes.
 
-	* doc/contrib/: ftpasswd.html, ftpquota.html, mod_ctrls_admin.html,
-	  mod_ifsession.html, mod_quotatab.html, mod_quotatab_file.html,
-	  mod_quotatab_ldap.html, mod_quotatab_sql.html, mod_radius.html,
-	  mod_rewrite.html, mod_site_misc.html, mod_sql.html, mod_tls.html,
-	  mod_wrap.html:
-	  Moving the HTML documentation from contrib/ to doc/contrib/.
+2004-12-12  castaglia <castaglia>
 
-2004-11-03 11:37  castaglia
+	* NEWS, modules/mod_ls.c: Bug#2534 - Add suport for -S ListOption,
+	for sorting files by file size.
 
-	* contrib/: ftpasswd.html, ftpquota.html, mod_ctrls_admin.html,
-	  mod_ifsession.html, mod_quotatab.html, mod_quotatab_file.html,
-	  mod_quotatab_ldap.html, mod_quotatab_sql.html, mod_radius.html,
-	  mod_rewrite.html, mod_site_misc.html, mod_sql.html, mod_tls.html,
-	  mod_wrap.html:
-	  Moving the HTML documentation from contrib/ into doc/contrib/.
+2004-12-12  castaglia <castaglia>
 
-2004-11-03 08:53  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.
 
-	* modules/: mod_auth_pam.c, mod_core.c, mod_ls.c, mod_xfer.c:
-	  Removing deprecated directives.
+2004-12-12  castaglia <castaglia>
 
-2004-11-03 08:44  castaglia
+	* doc/howto/DSO.html, doc/howto/index.html: Adding DSO howto to
+	source distribution.
 
-	* 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-12-12  castaglia <castaglia>
 
-2004-11-02 19:18  castaglia
+	* doc/contrib/mod_sql.html: Add documentation for the SQLEngine
+	directive.
 
-	* config.h.in, configure.in:
-	  Check for, and record, the size of a size_t.
+2004-12-12  castaglia <castaglia>
 
-2004-11-02 17:54  castaglia
+	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#2406 - Add a SQLEngine
+	directive.
 
-	* 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.
+2004-12-12  castaglia <castaglia>
 
-	  Also handle signals while iterating through the table chains in
-	  pr_table_empty().
+	* modules/mod_ctrls.c, modules/mod_site.c: Use the Auth API
+	functions in the 'pr_' namespace.
 
-2004-11-02 16:40  castaglia
+2004-12-12  castaglia <castaglia>
 
-	* include/default_paths.h:
-	  Remove an unused macro, and its accompanying crufty comment.
+	* NEWS, modules/mod_xfer.c: Bug#2027 - Add log message for timed out
+	passive transfers.
 
-2004-11-02 10:18  castaglia
+2004-12-08  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.
+	* 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-11-01 20:01  castaglia
+2004-12-05  castaglia <castaglia>
 
-	* Makefile.in:
-	  No need to invoke modules/Makefile's 'shared-modules' target if
-	  there are no shared module to build.
+	* 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-11-01 19:35  castaglia
+2004-12-05  castaglia <castaglia>
 
-	* Makefile.in, lib/Makefile.in, modules/Makefile.in:
-	  More tweaks to get builds using just --with-modules to work
-	  again.
+	* 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-11-01 19:23  castaglia
+2004-12-05  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* src/main.c: Properly set session.c and session.d to NULL once
+	we've closed them.
 
-2004-11-01 19:15  castaglia
+2004-12-05  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.
+	* doc/howto/Authentication.html: Correct the RequireValidShell FAQ
+	URL.
 
-2004-11-01 09:48  castaglia
+2004-12-05  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.
+	* 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-11-01 09:42  castaglia
+2004-12-05  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* doc/howto/Limit.html: Add examples of blocking PORT or PASV
+	commands.
 
-2004-11-01 09:38  castaglia
+2004-12-04  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.
+	* doc/howto/Upgrade.html, doc/howto/index.html: Add an Upgrade
+	mini-HOWTO to doc/howto/.
 
-2004-11-01 09:30  castaglia
+2004-12-04  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().
+	* doc/contrib/mod_quotatab.html: Fix up the links to the quotatab
+	submodule docs.
 
-2004-11-01 09:21  castaglia
+2004-12-04  castaglia <castaglia>
 
-	* src/display.c:
-	  Bad reuse of variable name.
+	* doc/contrib/mod_quotatab.html: Update the mod_quotatab
+	installation instructions.
 
-2004-11-01 09:12  castaglia
+2004-12-04  castaglia <castaglia>
 
-	* include/var.h:
-	  Forgot to declare the pr_var_delete() function.
+	* 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-10-31 14:39  castaglia
+2004-12-04  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.
+	* src/var.c: Pass the exact pointers provided by callers of
+	pr_var_set(), rather than copies of the pointed-to data.
 
-2004-10-31 14:36  castaglia
+2004-12-04  castaglia <castaglia>
 
-	* modules/mod_dso.c:
-	  Remove an unnecessary function.
+	* 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-10-31 14:27  castaglia
+2004-12-04  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Report the line number of the <IfDefine>, <IfModule> sections
-	  used or skipped.
+	* src/display.c: Fix displaying of variables.
 
-2004-10-31 14:26  castaglia
+2004-12-04  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.
+	* RELEASE_NOTES: Mention the new Display variables in the release
+	notes.
 
-2004-10-31 14:11  castaglia
+2004-12-04  castaglia <castaglia>
 
-	* modules/mod_dso.c:
-	  Some of the loop variables are only used if Controls support is
-	  enabled.
+	* 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-10-31 14:03  castaglia
+2004-12-04  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* modules/mod_core.c: Handle the case where there's only one name
+	provided in the Allow/Deny rule.
 
-2004-10-31 14:00  castaglia
+2004-12-02  castaglia <castaglia>
 
-	* aclocal.m4:
-	  Update our local autoconf macros, specifically those dealing with
-	  libtool.  This should fix the warning:
+	* NEWS, modules/mod_core.c: Bug#2528 - Incorrect username 'and'
+	parsing in AllowUser.
 
-	    libtool: link: warning: `AC_LIBTOOL_DLOPEN' not used. Assuming
-	  no dlopen support.
+2004-12-02  castaglia <castaglia>
 
-	  that I was seeing.
+	* src/main.c: Close the control and data connections before running
+	any registered 'core.exit' event handlers.
 
-2004-10-31 13:22  castaglia
+2004-12-02  castaglia <castaglia>
 
-	* src/table.c:
-	  Quell a compiler warning about "use of cast expressions as
-	  lvalues" by being explicit.
+	* 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-10-31 13:06  castaglia
+2004-12-01  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.
+	* 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-10-31 12:58  castaglia
+2004-11-29  castaglia <castaglia>
 
-	* modules/Makefile.in:
-	  The building of modules should require the libltdl header or
-	  library.  Just libtool to handle the linking.
+	* src/dirtree.c: Style cleanup.
 
-2004-10-31 12:56  castaglia
+2004-11-29  castaglia <castaglia>
 
-	* src/main.c:
-	  Add the display of PR_TUNABLE_RCVBUFSZ, PR_TUNABLE_SNDBUFSZ to
-	  the -V output.
+	* doc/howto/Debugging.html: Updating URL.
 
-2004-10-31 12:49  castaglia
+2004-11-25  jwm <jwm>
 
-	* configure:
-	  Updating configure.
+	* modules/mod_delay.c: include signal.h to fix the build under
+	Solaris 8
 
-2004-10-31 12:46  castaglia
+2004-11-24  castaglia <castaglia>
 
-	* configure.in, Makefile.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.
+	* src/support.c: More old-style exit handler cruft.
 
-2004-10-31 12:24  castaglia
+2004-11-23  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.
+	* src/display.c: Extraneous #include (and at the bottom of a file).
 
-2004-10-31 12:19  castaglia
+2004-11-23  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* modules/mod_core.c: We were calling pr_display_file() on
+	DisplayQuit files with the arguments in the wrong order.
 
-2004-10-31 12:16  castaglia
+2004-11-22  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.
+	* 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-10-31 12:13  castaglia
+2004-11-22  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* NEWS: Bug#2510 - Use of ExportCertData TLSOption leads to
+	segfault.
 
-2004-10-31 12:11  castaglia
+2004-11-22  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.
+	* 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-10-31 12:06  castaglia
+2004-11-22  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.
+	* contrib/mod_tls.c: Adding some missing logic; pointers that have
+	been free()'d should always be set to NULL afterwards.
 
-2004-10-31 12:01  castaglia
+2004-11-22  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* Makefile.in: As per Michael's suggestion, remove the .libs/
+	directory, and libtool, during the 'distclean' target.
 
-2004-10-31 11:58  castaglia
+2004-11-22  castaglia <castaglia>
 
-	* src/var.c:
-	  Quell a compiler warning about a label with no expressions.
+	* src/support.c: More old-style exit handler cruft.
 
-2004-10-31 11:57  castaglia
+2004-11-22  castaglia <castaglia>
 
-	* config.h.in, configure.in:
-	  Check for the <string.h> header.
+	* src/main.c: Straggler run_exit_handlers() call.  Be gone with ye!
 
-2004-10-31 11:54  castaglia
+2004-11-22  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* include/support.h, src/main.c, src/support.c: No more support for
+	the old-style exit handlers.
 
-2004-10-31 11:51  castaglia
+2004-11-21  castaglia <castaglia>
 
-	* configure.in:
-	  Initialize the socket buffer sizes, just to be safe.
+	* modules/mod_delay.c: Allow SIGTERM to interrupt mod_delay.
 
-2004-10-31 11:37  castaglia
+2004-11-21  castaglia <castaglia>
 
-	* RELEASE_NOTES, include/version.h:
-	  As Daniel noted, it should be "1.3.0", not just "1.3".
+	* 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-10-31 11:35  castaglia
+2004-11-21  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* doc/contrib/mod_ifsession.html: Forgot to list MaxInstances as not
+	being alterable by mod_ifsession.
 
-2004-10-31 11:31  castaglia
+2004-11-21  castaglia <castaglia>
 
-	* configure.in:
-	  Bourne shell tests on Solaris don't like testing empty values;
-	  they prefer the empty string if nothing else.
+	* 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-10-31 11:12  castaglia
+2004-11-20  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* 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-10-31 11:09  castaglia
+2004-11-20  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.
+	* src/timers.c: Be a little more paranoid: don't set the indispatch
+	flag until after alarms have been blocked.
 
-	  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-11-20  castaglia <castaglia>
 
-2004-10-31 11:03  castaglia
+	* README.IPv6: Remove mention of the Bind directive.  We want it
+	gone.
 
-	* 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-11-20  castaglia <castaglia>
 
-2004-10-31 10:53  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.
 
-	* NEWS:
-	  Updating NEWS.
+2004-11-20  castaglia <castaglia>
 
-2004-10-31 10:53  castaglia
+	* RELEASE_NOTES: Adding a comment about how use of sendfile() causes
+	download transfer speeds not to be displayable.
 
-	* 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.
+2004-11-17  castaglia <castaglia>
 
-	  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.
+	* doc/howto/Controls.html: Mention that only primary groups, not
+	supplemental groups, are used.
 
-2004-10-31 10:45  castaglia
+2004-11-17  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.
+	* configure: Updating configure.
 
-2004-10-30 19:14  castaglia
+2004-11-17  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Updating the release notes.  These still need some work.
+	* 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-10-30 18:57  castaglia
+2004-11-15  castaglia <castaglia>
 
-	* src/inet.c:
-	  Typo.
+	* README.modules: Updating README.modules.
 
-2004-10-30 18:39  castaglia
+2004-11-15  castaglia <castaglia>
 
-	* src/parser.c:
-	  Update the license to reflect the proper original copyright
-	  holder(s).
+	* 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-10-30 18:32  castaglia
+2004-11-14  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.
+	* modules/mod_core.c: Check that a scoreboard entry's PID is
+	non-zero before sending the zero signal to that PID.
 
-2004-10-30 17:57  castaglia
+2004-11-14  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.
+	* 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-10-30 16:18  castaglia
+2004-11-14  castaglia <castaglia>
 
-	* src/main.c:
-	  Use pr_auth_getgroups(), not auth_getgroups().
+	* doc/howto/Scoreboard.html, doc/howto/index.html: Adding a
+	ScoreboardFile mini-HOWTO.
 
-2004-10-30 16:16  castaglia
+2004-11-13  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.
+	* 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-10-30 16:14  castaglia
+2004-11-13  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Use the Auth API functions in the 'pr_' namespace rather than
-	  relying on the compatibility macros.
+	* 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-10-30 15:11  castaglia
+2004-11-13  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* modules/mod_delay.c: Use proper grammar.
 
-2004-10-30 15:06  castaglia
+2004-11-11  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.
+	* RELEASE_NOTES, modules/mod_log.c: Make "SECURE" an alias for "SEC"
+	when configuring ExtendedLog logging classes.
 
-2004-10-30 14:55  castaglia
+2004-11-11  castaglia <castaglia>
 
-	* src/timers.c:
-	  This struct is no longer typedef'd.
+	* 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-10-30 14:01  castaglia
+2004-11-10  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.
+	* configure: Updating configure.
 
-2004-10-30 13:57  castaglia
+2004-11-10  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).
+	* RELEASE_NOTES: Mention the new UseSendfile directive.
 
-2004-10-30 13:45  castaglia
+2004-11-10  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.
+	* NEWS, configure.in, modules/mod_xfer.c: Bug#2507 - Enable use of
+	sendfile by default.
 
-2004-10-30 13:44  castaglia
+2004-11-10  castaglia <castaglia>
 
-	* include/ftp.h:
-	  In the near future, a module will implement support for RFC2640's
-	  LANG command.
+	* 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-10-30 13:42  castaglia
+2004-11-10  castaglia <castaglia>
 
-	* include/version.h:
-	  With the addition of DSO support, ProFTPD is now moving into the
-	  1.3.x series.  Whee!
+	* src/timers.c: Prevent callers from providing a negative number of
+	seconds when adding a timer.
 
-2004-10-29 15:56  castaglia
+2004-11-09  castaglia <castaglia>
 
-	* ltmain.sh:
-	  Yet another bug in GNU's ltmain.sh script -- yet another
-	  undeclared variable.
+	* NEWS: Add a header to the NEWS file indicating the Bugzilla URL to
+	use for looking up the mentioned bug reports.
 
-2004-10-29 15:33  castaglia
+2004-11-09  castaglia <castaglia>
 
-	* doc/modules/mod_dso.html:
-	  Typo (spotted by Michael).
+	* modules/mod_delay.c: Use PR_RUN_DIR, not RUN_DIR.
 
-2004-10-29 15:23  castaglia
+2004-11-09  castaglia <castaglia>
 
-	* doc/modules/mod_dso.html:
-	  Adding documentation for mod_dso.
+	* configure: Updating configure.
 
-2004-10-29 14:46  castaglia
+2004-11-09  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.
+	* NEWS: Bug#2480 - Remote users discovery.
 
-2004-10-29 12:17  castaglia
+2004-11-09  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  The DebugLevel configuration handler was not recognizing 10 as a
-	  valid debug level.
+	* configure.in: Make mod_delay one of the default modules.
 
-2004-10-29 09:08  castaglia
+2004-11-09  castaglia <castaglia>
 
-	* doc/modules/mod_ctrls.html:
-	  Grammar fix.
+	* doc/modules/mod_delay.html, modules/mod_delay.c: Adding mod_delay
+	to the distribution.  Part of Bug #2480.
 
-2004-10-29 08:29  castaglia
+2004-11-08  castaglia <castaglia>
 
-	* modules/mod_dso.c:
-	  Removing debugging cruft.
+	* modules/Makefile.in: Found a case where make(1) was not providing
+	$(RM).  How annoying.
 
-2004-10-29 08:21  castaglia
+2004-11-06  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* configure: Updating configure.
 
-2004-10-28 23:01  castaglia
+2004-11-06  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.
+	* configure.in: I prefer, if possible, to see the functions checked
+	in alphabetical order.
 
-2004-10-28 22:51  castaglia
+2004-11-05  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.
+	* README.DSO: Adding reminder note.
 
-2004-10-28 22:33  castaglia
+2004-11-05  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* configure: Updated configure.
 
-2004-10-28 22:28  castaglia
+2004-11-05  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.
+	* config.h.in, configure.in: Check for the fdatasync(2) function.
 
-2004-10-28 22:21  castaglia
+2004-11-04  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.
+	* NEWS, include/data.h, modules/mod_xfer.c, src/data.c: Bug#2509 -
+	sendfile() usage fails with > 2GB files.
 
-2004-10-28 22:19  castaglia
+2004-11-04  castaglia <castaglia>
 
-	* aclocal.m4:
-	  Adding GNU libtool M4 definitions to our aclocal.m4.
+	* configure: Updating configure.
 
-2004-10-28 22:17  castaglia
+2004-11-04  castaglia <castaglia>
 
-	* lib/libltdl/: COPYING.LIB, Makefile.am, Makefile.in, README,
-	  acinclude.m4, aclocal.m4, config-h.in, config.guess, config.sub,
-	  configure, configure.ac, install-sh, ltdl.c, ltdl.h, ltmain.sh,
-	  missing:
-	  Adding GNU libtool's libltdl files to ProFTPD.
+	* config.h.in, configure.in: Add checks for iconv() and
+	nl_langinfo(), which will be needed for i18n support.
 
-2004-10-28 18:10  castaglia
+2004-11-03  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  The checks for <IfDefine>, </IfDefine>, <IfModule>, and
-	  </IfModule>, within the respective directive handlers, need to be
-	  case-insensitive.
+	* doc/contrib/index.html: Adding an index to the doc/contrib/
+	directory.
 
-2004-10-28 12:11  castaglia
+2004-11-03  castaglia <castaglia>
 
-	* NEWS, utils/ftptop.c:
-	  Bug#2484 - Better ftptop formatting.
+	* 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-10-26 18:49  castaglia
+2004-11-03  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Typo.
+	* modules/mod_auth_pam.c, modules/mod_core.c, modules/mod_ls.c,
+	modules/mod_xfer.c: Removing deprecated directives.
 
-2004-10-26 16:24  castaglia
+2004-11-03  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.
+	* 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-10-26 15:28  castaglia
+2004-11-03  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* config.h.in, configure.in: Check for, and record, the size of a
+	size_t.
 
-2004-10-26 15:19  castaglia
+2004-11-03  castaglia <castaglia>
 
-	* config.h.in, configure.in:
-	  Define CONFIG_DIR to point to the hardcoded directory containing
-	  the proftpd.conf file.
+	* 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-10-26 15:14  castaglia
+2004-11-03  castaglia <castaglia>
 
-	* Make.rules.in, include/conf.h, include/table.h, src/table.c:
-	  Adding the Table API source.
+	* include/default_paths.h: Remove an unused macro, and its
+	accompanying crufty comment.
 
-2004-10-19 18:32  castaglia
+2004-11-02  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.
+	* 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.
 
-	  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-11-02  castaglia <castaglia>
 
-2004-10-18 09:42  castaglia
+	* Makefile.in: No need to invoke modules/Makefile's 'shared-modules'
+	target if there are no shared module to build.
 
-	* modules/mod_xfer.c:
-	  A few cases where log_pri() was being used, rather than
-	  pr_log_pri().
+2004-11-02  castaglia <castaglia>
 
-2004-10-17 16:42  castaglia
+	* Makefile.in, lib/Makefile.in, modules/Makefile.in: More tweaks to
+	get builds using just --with-modules to work again.
 
-	* doc/howto/Directory.html:
-	  Mention using quotations to enclose directory paths that contain
-	  spaces.
+2004-11-02  castaglia <castaglia>
 
-2004-10-17 16:29  castaglia
+	* configure: Updating configure.
 
-	* NEWS, modules/mod_core.c:
-	  Bug#1965 - Change timing of handling of QUIT command.
+2004-11-02  castaglia <castaglia>
 
-2004-10-17 12:09  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.
 
-	* contrib/mod_sql.c:
-	  Extraneous redeclaration of a variable.
+2004-11-01  castaglia <castaglia>
 
-2004-10-17 10:47  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.
 
-	* contrib/: mod_sql_mysql.c, mod_sql_postgres.c:
-	  Fixing bad reuse of variable name from outer scope.
+2004-11-01  castaglia <castaglia>
 
-2004-10-16 18:21  castaglia
+	* configure: Updating configure.
 
-	* RELEASE_NOTES:
-	  Mention the new MaxConnectionsPerHost directive in the release
-	  notes.
+2004-11-01  castaglia <castaglia>
 
-2004-10-16 18:10  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.
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#2273 - Ability to limit number of unauthenticated clients
-	  from a single host.
+2004-11-01  castaglia <castaglia>
 
-2004-10-15 17:43  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().
 
-	* NEWS, modules/mod_auth_pam.c:
-	  Bug#2497 - Users can login without password if pam_start() fails.
+2004-11-01  castaglia <castaglia>
 
-2004-10-15 10:07  castaglia
+	* src/display.c: Bad reuse of variable name.
 
-	* NEWS, src/auth.c, src/dirtree.c:
-	  Bug#2499 - make_cmd() does not NULL-terminate cmd->argv[].
+2004-11-01  castaglia <castaglia>
 
-2004-10-14 19:43  castaglia
+	* include/var.h: Forgot to declare the pr_var_delete() function.
 
-	* 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-31  castaglia <castaglia>
 
-2004-10-11 20:07  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.
 
-	* src/inet.c:
-	  Nicer error message.
+2004-10-31  castaglia <castaglia>
 
-2004-10-11 10:03  castaglia
+	* modules/mod_dso.c: Remove an unnecessary function.
 
-	* 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-31  castaglia <castaglia>
 
-2004-10-11 09:33  castaglia
+	* modules/mod_core.c: Report the line number of the <IfDefine>,
+	<IfModule> sections used or skipped.
 
-	* 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-31  castaglia <castaglia>
 
-2004-10-09 15:34  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.
 
-	* doc/howto/TLS.html:
-	  Update link to FTPS Draft.
+2004-10-31  castaglia <castaglia>
 
-2004-10-09 15:24  castaglia
+	* modules/mod_dso.c: Some of the loop variables are only used if
+	Controls support is enabled.
 
-	* 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-31  castaglia <castaglia>
 
-2004-10-09 13:46  castaglia
+	* configure: Updating configure.
 
-	* 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-31  castaglia <castaglia>
 
-2004-10-09 13:44  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.
 
-	* 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-31  castaglia <castaglia>
 
-2004-10-08 18:16  jwm
+	* src/table.c: Quell a compiler warning about "use of cast
+	expressions as lvalues" by being explicit.
 
-	* contrib/mod_ldap.c: release 2.8.14
+2004-10-31  castaglia <castaglia>
 
-2004-10-07 14:17  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.
 
-	* contrib/ftpasswd:
-	  Explicitly mention "RequireValidShell off" if the given shell is
-	  not in /etc/shells.
+2004-10-31  castaglia <castaglia>
 
-2004-10-07 11:59  castaglia
+	* modules/Makefile.in: The building of modules should require the
+	libltdl header or library.  Just libtool to handle the linking.
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#2496 - NLST off-by-one bug when handling relative paths in a
-	  chrooted session.
+2004-10-31  castaglia <castaglia>
 
-2004-10-07 11:35  castaglia
+	* src/main.c: Add the display of PR_TUNABLE_RCVBUFSZ,
+	PR_TUNABLE_SNDBUFSZ to the -V output.
 
-	* contrib/mod_sql.html:
-	  Remove mention of the PERCALL parameter of SQLConnectInfo, until
-	  the feature actually works.
+2004-10-31  castaglia <castaglia>
 
-2004-10-07 08:53  castaglia
+	* configure: Updating configure.
 
-	* modules/mod_ls.c:
-	  Use the Auth API in the 'pr_' namespace.
+2004-10-31  castaglia <castaglia>
 
-2004-10-06 11:42  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.
 
-	* contrib/mod_sql.html:
-	  Removing mention of SQLAuthenticate's "*" suffix, as it was
-	  deprecated in the 1.2.10 release cycle.
+2004-10-31  castaglia <castaglia>
 
-2004-10-02 13:22  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.
 
-	* contrib/mod_tls.c:
-	  Handle signals when in potentially infinite gotos, so that the
-	  process can be interrupted.
+2004-10-31  castaglia <castaglia>
 
-	  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).
+	* configure: Updating configure.
 
-2004-10-02 13:05  castaglia
+2004-10-31  castaglia <castaglia>
 
-	* doc/howto/TLS.html:
-	  Adding two more FAQs to the TLS howto.
+	* 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-01 22:48  castaglia
+2004-10-31  castaglia <castaglia>
 
-	* doc/rfc/: draft-murray-auth-ftp-ssl-13.txt,
-	  draft-murray-auth-ftp-ssl-15.txt:
-	  Updating the FTPS Draft to the current version.
+	* configure: Updating configure.
 
-2004-10-01 21:24  castaglia
+2004-10-31  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Fix the logic when reporting on syscall errors, so that the
-	  errors are properly reported.
+	* 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-01 20:34  castaglia
+2004-10-31  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.
+	* 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-01 20:30  castaglia
+2004-10-31  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Remove code that is never compiled.
+	* configure: Updating configure.
 
-2004-09-30 17:43  castaglia
+2004-10-31  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth_pam.c:
-	  Bug#2492 - Off-by-one error in FreeBSD PAM username length check.
+	* src/var.c: Quell a compiler warning about a label with no
+	expressions.
 
-2004-09-29 14:04  castaglia
+2004-10-31  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.
+	* config.h.in, configure.in: Check for the <string.h> header.
 
-2004-09-27 18:25  jwm
+2004-10-31  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ldap.c: new mod_ldap 2.8.13
+	* configure: Updating configure.
 
-2004-09-27 10:12  castaglia
+2004-10-31  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.
+	* configure.in: Initialize the socket buffer sizes, just to be safe.
 
-2004-09-26 14:12  castaglia
+2004-10-31  castaglia <castaglia>
 
-	* modules/mod_auth_file.c:
-	  Use the 'pr_' namespace of the Auth API.
+	* RELEASE_NOTES, include/version.h: As Daniel noted, it should be
+	"1.3.0", not just "1.3".
 
-2004-09-26 14:07  castaglia
+2004-10-31  castaglia <castaglia>
 
-	* modules/mod_auth_unix.c:
-	  Use the 'pr_' namespace of the Auth API.
+	* configure: Updating configure.
 
-2004-09-26 13:23  castaglia
+2004-10-31  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Removing code that should not have been committed.  Oops.
+	* configure.in: Bourne shell tests on Solaris don't like testing
+	empty values; they prefer the empty string if nothing else.
 
-2004-09-26 13:11  castaglia
+2004-10-31  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.
+	* configure: Updating configure.
 
-2004-09-26 11:24  castaglia
+2004-10-31  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.
+	* 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-09-26 11:17  castaglia
+2004-10-31  castaglia <castaglia>
 
-	* NEWS:
-	  Mention the new init.d script for SuSE.
+	* 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-09-26 11:09  castaglia
+2004-10-31  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.
+	* NEWS: Updating NEWS.
 
-2004-09-26 10:57  castaglia
+2004-10-31  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.
+	* 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-09-25 16:47  jwm
+2004-10-31  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.init.d.suse: suse init script Submitted
-	  by: Daniel Weuthen <dw at megabit.net>
+	* 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-09-23 14:37  castaglia
+2004-10-31  castaglia <castaglia>
 
-	* NEWS, include/privs.h:
-	  Bug#2488 - Wrong order of privs calls on HP generates "unable to
-	  setregid()" error.
+	* RELEASE_NOTES: Updating the release notes.  These still need some
+	work.
 
-2004-09-18 12:08  castaglia
+2004-10-31  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.
+	* src/inet.c: Typo.
 
-2004-09-17 17:40  castaglia
+2004-10-31  castaglia <castaglia>
 
-	* src/proftpd.8.in:
-	  Document the new -N option in the proftpd(8) man page.
+	* src/parser.c: Update the license to reflect the proper original
+	copyright holder(s).
 
-2004-09-17 17:38  castaglia
+2004-10-31  castaglia <castaglia>
 
-	* NEWS, include/proftpd.h, modules/mod_core.c, src/main.c:
-	  Bug#2468 - Ability to disable address/port collision checking.
+	* 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-09-17 10:50  castaglia
+2004-10-31  castaglia <castaglia>
 
-	* contrib/mod_quotatab.c:
-	  Explicitly use the more modern 'pr_log_openfile' symbol.
+	* 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-09-14 18:01  castaglia
+2004-10-30  castaglia <castaglia>
 
-	* include/conf.h:
-	  Typo (log -> long).
+	* src/main.c: Use pr_auth_getgroups(), not auth_getgroups().
 
-2004-09-14 10:49  castaglia
+2004-10-30  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.
+	* 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-09-12 18:47  castaglia
+2004-10-30  castaglia <castaglia>
 
-	* src/support.c:
-	  Add an explicit typecast to quell warnings on 64-bit platforms.
+	* modules/mod_core.c: Use the Auth API functions in the 'pr_'
+	namespace rather than relying on the compatibility macros.
 
-2004-09-12 18:43  castaglia
+2004-10-30  castaglia <castaglia>
 
-	* modules/mod_auth_pam.c:
-	  Quell a compiler warning on Solaris with an explicit typecast.
+	* configure: Updating configure.
 
-2004-09-12 17:12  castaglia
+2004-10-30  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.
+	* 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-09-12 16:36  castaglia
+2004-10-30  castaglia <castaglia>
 
-	* doc/howto/FXP.html:
-	  Add text noting the ISPs may filter FTP ports, blocking FXP.
+	* src/timers.c: This struct is no longer typedef'd.
 
-2004-09-11 16:43  castaglia
+2004-10-30  castaglia <castaglia>
 
-	* contrib/UPGRADE.mod_sql:
-	  Removing crufty old file.
+	* include/timers.h: Include some redefines for supporting legacy
+	modules that may not have been updated to use the 'pr_' namespace
+	Timer API.
 
-2004-09-11 10:53  castaglia
+2004-10-30  castaglia <castaglia>
 
-	* src/main.c:
-	  Typo.
+	* 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-09-07 17:40  castaglia
+2004-10-30  castaglia <castaglia>
 
-	* contrib/mod_quotatab.c:
-	  Add logging of the non-ENOENT cases when the uploaded file has
-	  disappeared.
+	* 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-09-07 15:34  castaglia
+2004-10-30  castaglia <castaglia>
 
-	* src/main.c:
-	  Settings display format tweak.
+	* include/ftp.h: In the near future, a module will implement support
+	for RFC2640's LANG command.
 
-2004-09-07 15:29  castaglia
+2004-10-30  castaglia <castaglia>
 
-	* src/main.c:
-	  Add --settings option to the long getopt() list.
+	* include/version.h: With the addition of DSO support, ProFTPD is
+	now moving into the 1.3.x series.  Whee!
 
-2004-09-07 15:23  castaglia
+2004-10-29  castaglia <castaglia>
 
-	* src/main.c:
-	  Update the long descriptions for the -n, -d command-line
-	  parameters.
+	* ltmain.sh: Yet another bug in GNU's ltmain.sh script -- yet
+	another undeclared variable.
 
-2004-09-07 15:18  castaglia
+2004-10-29  castaglia <castaglia>
 
-	* include/proftpd.h:
-	  Removing cruft.
+	* doc/modules/mod_dso.html: Typo (spotted by Michael).
 
-2004-09-07 12:41  castaglia
+2004-10-29  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).
+	* doc/modules/mod_dso.html: Adding documentation for mod_dso.
 
-2004-09-07 12:22  castaglia
+2004-10-29  castaglia <castaglia>
 
-	* src/proftpd.8.in:
-	  Mention debug level 10 in the proftpd(8) man page.
+	* 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-09-05 15:42  castaglia
+2004-10-29  castaglia <castaglia>
 
-	* src/event.c:
-	  More graceful handling of NULL evh->module pointers.
+	* modules/mod_core.c: The DebugLevel configuration handler was not
+	recognizing 10 as a valid debug level.
 
-2004-09-05 15:01  castaglia
+2004-10-29  castaglia <castaglia>
 
-	* doc/mod_sample.c:
-	  Update the sample module to include registering the module
-	  version.
+	* doc/modules/mod_ctrls.html: Grammar fix.
 
-2004-09-05 14:36  castaglia
+2004-10-29  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script.
+	* modules/mod_dso.c: Removing debugging cruft.
 
-2004-09-05 14:36  castaglia
+2004-10-29  castaglia <castaglia>
 
-	* src/main.c:
-	  Display the --enable-scoreboard-updates setting in the -V output.
+	* configure: Updating configure.
 
-2004-09-05 14:34  castaglia
+2004-10-29  castaglia <castaglia>
 
-	* NEWS, config.h.in, configure.in:
-	  Add autoconf support for a --enable-scoreboard-updates option.
+	* 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-09-05 14:29  castaglia
+2004-10-29  castaglia <castaglia>
 
-	* NEWS, include/options.h, modules/mod_xfer.c:
-	  Bug#2455 - Allow fine-tuning of how often mod_xfer updates the
-	  scoreboard.
+	* 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-09-05 14:24  castaglia
+2004-10-29  castaglia <castaglia>
 
-	* RELEASE_NOTES:
-	  Update release notes for 1.2.11 release cycle.
+	* configure: Updating configure.
 
-2004-09-05 14:21  castaglia
+2004-10-29  castaglia <castaglia>
 
-	* src/proftpd.8.in:
-	  Remove extra space.
+	* 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-09-05 14:16  castaglia
+2004-10-29  castaglia <castaglia>
 
-	* src/proftpd.8.in:
-	  Document the new -V command-line option in the proftpd(8) man
-	  page.
+	* 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-09-05 14:12  castaglia
+2004-10-29  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script.
+	* aclocal.m4: Adding GNU libtool M4 definitions to our aclocal.m4.
 
-2004-09-05 14:10  castaglia
+2004-10-29  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.
+	* 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-09-04 19:37  castaglia
+2004-10-29  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.
+	* modules/mod_core.c: The checks for <IfDefine>, </IfDefine>,
+	<IfModule>, and </IfModule>, within the respective directive
+	handlers, need to be case-insensitive.
 
-2004-09-04 19:23  castaglia
+2004-10-28  castaglia <castaglia>
 
-	* contrib/: mod_sql.c, mod_sql_mysql.c, 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.
+	* NEWS, utils/ftptop.c: Bug#2484 - Better ftptop formatting.
 
-2004-09-04 17:53  castaglia
+2004-10-27  castaglia <castaglia>
 
-	* modules/mod_log.c:
-	  Convert mod_log to use the Events API.
+	* modules/mod_xfer.c: Typo.
 
-2004-09-04 17:43  castaglia
+2004-10-26  castaglia <castaglia>
 
-	* contrib/mod_rewrite.c:
-	  Convert mod_rewrite to use the Events API.
+	* 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-09-04 17:38  castaglia
+2004-10-26  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.
+	* configure: Updating configure.
 
-2004-09-04 17:36  castaglia
+2004-10-26  castaglia <castaglia>
 
-	* src/regexp.c:
-	  Convert the Regexp API to use the Events API for cleanup.
+	* config.h.in, configure.in: Define CONFIG_DIR to point to the
+	hardcoded directory containing the proftpd.conf file.
 
-2004-09-04 17:36  castaglia
+2004-10-26  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Update mod_xfer to use the Events API a little more.
+	* Make.rules.in, include/conf.h, include/table.h, src/table.c: 
+	Adding the Table API source.
 
-2004-09-04 17:31  castaglia
+2004-10-20  castaglia <castaglia>
 
-	* modules/mod_auth_unix.c:
-	  Convert mod_auth_unix to use the Events API.
+	* 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-09-04 17:31  castaglia
+2004-10-18  castaglia <castaglia>
 
-	* modules/mod_auth_pam.c:
-	  Convert mod_auth_pam to use the Events API.
+	* modules/mod_xfer.c: A few cases where log_pri() was being used,
+	rather than pr_log_pri().
 
-2004-09-04 17:19  castaglia
+2004-10-17  castaglia <castaglia>
 
-	* contrib/mod_sql.c:
-	  Convert mod_sql to use the Events API.
+	* doc/howto/Directory.html: Mention using quotations to enclose
+	directory paths that contain spaces.
 
-2004-09-04 17:16  castaglia
+2004-10-17  castaglia <castaglia>
 
-	* contrib/mod_radius.c:
-	  Convert mod_radius to use the Events API.
+	* NEWS, modules/mod_core.c: Bug#1965 - Change timing of handling of
+	QUIT command.
 
-2004-09-04 17:15  castaglia
+2004-10-17  castaglia <castaglia>
 
-	* contrib/mod_quotatab.c:
-	  Convert mod_quotatab to using the Events API.
+	* contrib/mod_sql.c: Extraneous redeclaration of a variable.
 
-2004-09-04 16:05  castaglia
+2004-10-17  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.
+	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Fixing bad
+	reuse of variable name from outer scope.
 
-2004-09-04 15:56  castaglia
+2004-10-17  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#2463 - mod_xfer doesn't check how many bytes it has written
-	  to disk.
+	* RELEASE_NOTES: Mention the new MaxConnectionsPerHost directive in
+	the release notes.
 
-2004-09-04 15:53  castaglia
+2004-10-17  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#2458 - Bad handling of CreateHome parameters.
+	* NEWS, modules/mod_auth.c: Bug#2273 - Ability to limit number of
+	unauthenticated clients from a single host.
 
-2004-09-04 15:51  castaglia
+2004-10-16  castaglia <castaglia>
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#2457 - Directory listing provides bad info when path ends
-	  with /.
+	* NEWS, modules/mod_auth_pam.c: Bug#2497 - Users can login without
+	password if pam_start() fails.
 
-2004-09-04 15:46  castaglia
+2004-10-15  castaglia <castaglia>
 
-	* NEWS, src/main.c:
-	  Bug#2449 - ProFTPD silently ignores extra command-line
-	  parameters.
+	* NEWS, src/auth.c, src/dirtree.c: Bug#2499 - make_cmd() does not
+	NULL-terminate cmd->argv[].
 
-2004-09-04 14:21  castaglia
+2004-10-15  castaglia <castaglia>
 
-	* include/version.h:
-	  Update version, indicating CVS status once more.
+	* 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-09-04 11:54  castaglia
+2004-10-12  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updating ChangeLog.
+	* src/inet.c: Nicer error message.
 
-2004-09-04 11:50  castaglia
+2004-10-11  castaglia <castaglia>
 
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Preparing to release 1.2.10-final.
+	* 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-08-25 11:08  castaglia
+2004-10-11  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.
+	* 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.
 
-	  This fixes an endless loop seen at a particular site involving
-	  use of sendfile() and NFS/SAN-shared files.
+2004-10-09  castaglia <castaglia>
 
-2004-08-24 15:24  castaglia
+	* doc/howto/TLS.html: Update link to FTPS Draft.
 
-	* modules/mod_xfer.c:
-	  Reset the 'have_prot' flag to false when a successful PROT C
-	  command is processed.
+2004-10-09  castaglia <castaglia>
 
-2004-08-12 16:24  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).
 
-	* 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-10-09  castaglia <castaglia>
 
-2004-08-07 15:22  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.
 
-	* NEWS, src/log.c, src/main.c:
-	  Bug#2427 - proftpd gets a memory fault when run from ssh batch
-	  mode.
+2004-10-09  castaglia <castaglia>
 
-2004-08-07 15:21  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.
 
-	* 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-10-09  jwm <jwm>
 
-2004-08-07 13:58  castaglia
+	* contrib/mod_ldap.c: release 2.8.14
 
-	* 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:
+2004-10-07  castaglia <castaglia>
 
-	    <VirtualHost 127.0.0.1>
-	      Bind 1.2.3.4
-	      ...
-	    </VirtualHost>
+	* contrib/ftpasswd: Explicitly mention "RequireValidShell off" if
+	the given shell is not in /etc/shells.
 
-	  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-10-07  castaglia <castaglia>
 
-2004-08-05 19:16  castaglia
+	* NEWS, modules/mod_ls.c: Bug#2496 - NLST off-by-one bug when
+	handling relative paths in a chrooted session.
 
-	* 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.:
+2004-10-07  castaglia <castaglia>
 
-	    <IfClass foo>
-	      IdentLookups off
-	    </IfClass>
+	* modules/mod_ls.c: Use the Auth API in the 'pr_' namespace.
 
-	  so that ident lookups can be enabled/disabled selectively.
+2004-10-02  castaglia <castaglia>
 
-2004-08-05 17:58  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).
 
-	* doc/howto/Limit.html:
-	  Add description of applying <Limit> sections to SITE commands.
+2004-10-02  castaglia <castaglia>
 
-2004-08-05 12:12  castaglia
+	* doc/howto/TLS.html: Adding two more FAQs to the TLS howto.
 
-	* RELEASE_NOTES:
-	  Updating the release notes.
+2004-10-02  castaglia <castaglia>
 
-2004-08-04 11:52  castaglia
+	* contrib/mod_tls.c: Fix the logic when reporting on syscall errors,
+	so that the errors are properly reported.
 
-	* 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-10-02  castaglia <castaglia>
 
-2004-08-03 16:17  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.
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#2444 - Use of sendfile() does not interoperate well with
-	  RFC2228 security mechanisms.
+2004-10-02  castaglia <castaglia>
 
-2004-08-02 17:44  castaglia
+	* contrib/mod_tls.c: Remove code that is never compiled.
 
-	* contrib/mod_sql.c:
-	  Convert mod_sql to using ProFTPD's sstrcat() function, rather
-	  than strcat(3).
+2004-10-01  castaglia <castaglia>
 
-2004-08-01 12:02  castaglia
+	* NEWS, modules/mod_auth_pam.c: Bug#2492 - Off-by-one error in
+	FreeBSD PAM username length check.
 
-	* 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-09-29  castaglia <castaglia>
 
-2004-07-30 18:35  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.
 
-	* 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-09-28  jwm <jwm>
 
-2004-07-30 17:07  castaglia
+	* NEWS, contrib/mod_ldap.c: new mod_ldap 2.8.13
 
-	* doc/howto/Limit.html:
-	  Add example <Limit LOGIN> configuration that allows only
-	  anonymous logins.
+2004-09-27  castaglia <castaglia>
 
-2004-07-30 10:42  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.
 
-	* 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-09-26  castaglia <castaglia>
 
-2004-07-28 13:41  castaglia
+	* modules/mod_auth_file.c, modules/mod_auth_unix.c: Use the 'pr_'
+	namespace of the Auth API.
 
-	* doc/howto/Authentication.html:
-	  Updating the section on "Resolving ~", fixing mention of
-	  mod_auth_pam.
+2004-09-26  castaglia <castaglia>
 
-2004-07-22 14:49  castaglia
+	* modules/mod_auth.c: Removing code that should not have been
+	committed.  Oops.
 
-	* NEWS, modules/mod_auth_pam.c:
-	  Bug#2442 - Segfault in FreeBSD PAM library with long login names.
+2004-09-26  castaglia <castaglia>
 
-2004-07-22 13:53  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.
 
-	* README.PAM:
-	  Update the PAM docs about AuthPAMAuthoritative, and add an Issues
-	  section.
+2004-09-26  castaglia <castaglia>
 
-2004-07-21 17:11  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.
 
-	* contrib/: mod_ldap.c, 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-09-26  castaglia <castaglia>
 
-2004-07-21 16:58  castaglia
+	* NEWS: Mention the new init.d script for SuSE.
 
-	* 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-09-26  castaglia <castaglia>
 
-2004-07-20 10:39  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.
 
-	* 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-09-26  castaglia <castaglia>
 
-2004-07-14 17:08  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.
 
-	* modules/mod_ctrls.c:
-	  We were forgetting to remove our previous timer before adding a
-	  new one.
+2004-09-25  jwm <jwm>
 
-2004-07-14 17:07  castaglia
+	* contrib/dist/rpm/proftpd.init.d.suse: suse init script Submitted
+	by: Daniel Weuthen <dw at megabit.net>
 
-	* src/timers.c:
-	  Prevent add_timer() from adding multiple timers that use the same
-	  timerno.
+2004-09-23  castaglia <castaglia>
 
-2004-07-14 14:51  castaglia
+	* NEWS, include/privs.h: Bug#2488 - Wrong order of privs calls on HP
+	generates "unable to setregid()" error.
 
-	* modules/mod_ctrls.c:
-	  We don't want child processes handling these events for
-	  mod_ctrls.
+2004-09-18  castaglia <castaglia>
 
-2004-07-13 17:20  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.
 
-	* include/version.h:
-	  Let's try this again.
+2004-09-18  castaglia <castaglia>
 
-2004-07-13 16:58  castaglia
+	* src/proftpd.8.in: Document the new -N option in the proftpd(8) man
+	page.
 
-	* ChangeLog:
-	  Updating ChangeLog.
+2004-09-18  castaglia <castaglia>
 
-2004-07-13 16:57  castaglia
+	* NEWS, include/proftpd.h, modules/mod_core.c, src/main.c: Bug#2468
+	- Ability to disable address/port collision checking.
 
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  How embarassing.  A typo broke 1.2.10rc2, necessitating a release
-	  of rc3.
+2004-09-17  castaglia <castaglia>
 
-2004-07-13 16:51  castaglia
+	* contrib/mod_quotatab.c: Explicitly use the more modern
+	'pr_log_openfile' symbol.
 
-	* modules/mod_core.c:
-	  Typo.
+2004-09-15  castaglia <castaglia>
 
-2004-07-13 15:19  castaglia
+	* include/conf.h: Typo (log -> long).
 
-	* include/version.h:
-	  Bump version for CVS checkouts.
+2004-09-14  castaglia <castaglia>
 
-2004-07-13 11:34  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.
 
-	* ChangeLog:
-	  Updating ChangeLog.
+2004-09-13  castaglia <castaglia>
 
-2004-07-13 11:32  castaglia
+	* src/support.c: Add an explicit typecast to quell warnings on
+	64-bit platforms.
 
-	* NEWS, include/version.h, contrib/dist/rpm/proftpd.spec:
-	  Preparing for release of 1.2.10rc2.
+2004-09-13  castaglia <castaglia>
 
-2004-07-13 10:56  castaglia
+	* modules/mod_auth_pam.c: Quell a compiler warning on Solaris with
+	an explicit typecast.
 
-	* modules/mod_core.c:
-	  Variable name collision from different scopes; fix to quell a
-	  compiler warning.
+2004-09-13  castaglia <castaglia>
 
-2004-07-13 10:53  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.
 
-	* src/support.c:
-	  Quell a warning about reusing a global symbol name 'dup'.
+2004-09-12  castaglia <castaglia>
 
-2004-07-13 09:54  castaglia
+	* doc/howto/FXP.html: Add text noting the ISPs may filter FTP ports,
+	blocking FXP.
 
-	* modules/mod_core.c:
-	  Rest of patch for Bug#2439.
+2004-09-11  castaglia <castaglia>
 
-2004-07-11 14:52  castaglia
+	* src/main.c: Typo.
 
-	* NEWS, modules/mod_core.c:
-	  Bug#2439 - <Limit CWD> doesn't work.
+2004-09-08  castaglia <castaglia>
 
-2004-07-09 11:24  castaglia
+	* contrib/mod_quotatab.c: Add logging of the non-ENOENT cases when
+	the uploaded file has disappeared.
 
-	* NEWS, modules/mod_core.c:
-	  Bug#2438 - Display variable %z not expanded properly.
+2004-09-07  castaglia <castaglia>
 
-2004-07-08 14:38  castaglia
+	* src/main.c: Settings display format tweak.
 
-	* 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-09-07  castaglia <castaglia>
 
-2004-07-06 10:32  castaglia
+	* src/main.c: Add --settings option to the long getopt() list.
 
-	* doc/howto/TLS.html:
-	  Update the link to the most current FTPS Draft.
+2004-09-07  castaglia <castaglia>
 
-2004-07-06 10:31  castaglia
+	* src/main.c: Update the long descriptions for the -n, -d
+	command-line parameters.
 
-	* doc/rfc/: draft-murray-auth-ftp-ssl-10.txt,
-	  draft-murray-auth-ftp-ssl-13.txt:
-	  Updating the FTPS Draft to the current version.
+2004-09-07  castaglia <castaglia>
 
-2004-06-30 19:00  castaglia
+	* include/proftpd.h: Removing cruft.
 
-	* 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:
+2004-09-07  castaglia <castaglia>
 
-	    <IfClass !name>
+	* 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).
 
-	  would evaluate to false.  It _should_ evaluate to true; this
-	  change makes it so.
+2004-09-07  castaglia <castaglia>
 
-	  This fixes a problem Michael was encountering with mod_ifsession
-	  and Classes.
+	* src/proftpd.8.in: Mention debug level 10 in the proftpd(8) man
+	page.
 
-2004-06-30 18:52  castaglia
+2004-09-05  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.
+	* src/event.c: More graceful handling of NULL evh->module pointers.
 
-	  This change also includes some style cleanup.
+2004-09-05  castaglia <castaglia>
 
-2004-06-30 18:17  castaglia
+	* doc/mod_sample.c: Update the sample module to include registering
+	the module version.
 
-	* src/dirtree.c:
-	  Style.
+2004-09-05  castaglia <castaglia>
 
-2004-06-30 18:06  castaglia
+	* configure: Updating configure script.
 
-	* 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-09-05  castaglia <castaglia>
 
-2004-06-30 11:25  castaglia
+	* src/main.c: Display the --enable-scoreboard-updates setting in the
+	-V output.
 
-	* contrib/mod_tls.html, 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-09-05  castaglia <castaglia>
 
-2004-06-30 10:52  castaglia
+	* NEWS, config.h.in, configure.in: Add autoconf support for a
+	--enable-scoreboard-updates option.
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#2419 - Ability to disable TLSRequired on per-user basis (e.g.
-	  for anonymous logins).
+2004-09-05  castaglia <castaglia>
 
-2004-06-29 19:42  castaglia
+	* NEWS, include/options.h, modules/mod_xfer.c: Bug#2455 - Allow
+	fine-tuning of how often mod_xfer updates the scoreboard.
 
-	* NEWS, src/class.c, src/netacl.c, src/netaddr.c:
-	  Bug#2303 - Problem evaluating multiple <Class> rules.
+2004-09-05  castaglia <castaglia>
 
-2004-06-23 10:47  castaglia
+	* RELEASE_NOTES: Update release notes for 1.2.11 release cycle.
 
-	* contrib/mod_sql.html:
-	  Typo.
+2004-09-05  castaglia <castaglia>
 
-2004-06-22 17:04  castaglia
+	* src/proftpd.8.in: Remove extra space.
 
-	* 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-09-05  castaglia <castaglia>
 
-2004-06-21 10:34  castaglia
+	* src/proftpd.8.in: Document the new -V command-line option in the
+	proftpd(8) man page.
 
-	* contrib/mod_ifsession.html:
-	  Add ExtendedLog to the list of directives that mod_ifsession does
-	  not handle.
+2004-09-05  castaglia <castaglia>
 
-2004-06-18 14:29  castaglia
+	* configure: Updating configure script.
 
-	* contrib/mod_tls.html:
-	  Typo.
+2004-09-05  castaglia <castaglia>
 
-2004-06-17 13:34  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.
 
-	* NEWS, include/dirtree.h, src/dirtree.c, src/main.c:
-	  Bug#2418 - chmod returns 550 with filename containing multiple
-	  spaces.
+2004-09-05  castaglia <castaglia>
 
-2004-06-16 17:06  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.
 
-	* NEWS:
-	  Typo.
+2004-09-05  castaglia <castaglia>
 
-2004-06-15 09:45  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.
 
-	* src/netio.c:
-	  Style.
+2004-09-05  castaglia <castaglia>
 
-2004-06-11 19:03  castaglia
+	* modules/mod_log.c: Convert mod_log to use the Events API.
 
-	* src/modules.c:
-	  Removal of symbols (e.g. AuthOrder) was not working properly
-	  without this change.
+2004-09-05  castaglia <castaglia>
 
-2004-06-11 14:19  castaglia
+	* contrib/mod_rewrite.c: Convert mod_rewrite to use the Events API.
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#2422 - %v not working in SQLNamedQuery.
+2004-09-05  castaglia <castaglia>
 
-2004-06-10 14:51  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.
 
-	* NEWS, modules/mod_core.c:
-	  Bug#2411 - Caching effects cause RNTO to fail if AllowOverwrite
-	  is off and target path does not exist.
+2004-09-05  castaglia <castaglia>
 
-2004-06-10 11:30  castaglia
+	* src/regexp.c: Convert the Regexp API to use the Events API for
+	cleanup.
 
-	* contrib/mod_sql.c:
-	  Remove debugging cruft.
+2004-09-05  castaglia <castaglia>
 
-2004-06-10 11:27  castaglia
+	* modules/mod_xfer.c: Update mod_xfer to use the Events API a little
+	more.
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#2424 - SQLDefaultHomedir overrides column value.
+2004-09-05  castaglia <castaglia>
 
-2004-06-08 16:08  castaglia
+	* modules/mod_auth_unix.c: Convert mod_auth_unix to use the Events
+	API.
 
-	* 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-09-05  castaglia <castaglia>
 
-2004-06-07 16:00  castaglia
+	* modules/mod_auth_pam.c: Convert mod_auth_pam to use the Events
+	API.
 
-	* contrib/: mod_quotatab.h, mod_sql.c:
-	  Increment versions of mod_quotatab, mod_sql.
+2004-09-05  castaglia <castaglia>
 
-2004-06-07 15:58  castaglia
+	* contrib/mod_sql.c: Convert mod_sql to use the Events API.
 
-	* 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.
+2004-09-05  castaglia <castaglia>
 
-	  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.
+	* contrib/mod_radius.c: Convert mod_radius to use the Events API.
 
-2004-06-05 18:14  castaglia
+2004-09-05  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Fix scrubbing of passphrases when a session process exits.
+	* contrib/mod_quotatab.c: Convert mod_quotatab to using the Events
+	API.
 
-2004-06-03 10:32  castaglia
+2004-09-04  castaglia <castaglia>
 
-	* contrib/mod_tls.html:
-	  Adding required OpenSSL clauses.
+	* 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-05-31 15:07  castaglia
+2004-09-04  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()).
+	* NEWS, modules/mod_xfer.c: Bug#2463 - mod_xfer doesn't check how
+	many bytes it has written to disk.
 
-2004-05-31 14:49  castaglia
+2004-09-04  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.
+	* NEWS, modules/mod_auth.c: Bug#2458 - Bad handling of CreateHome
+	parameters.
 
-2004-05-31 14:47  castaglia
+2004-09-04  castaglia <castaglia>
 
-	* src/modules.c:
-	  Slightly cleaner structure.
+	* NEWS, modules/mod_ls.c: Bug#2457 - Directory listing provides bad
+	info when path ends with /.
 
-2004-05-31 14:20  castaglia
+2004-09-04  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.
+	* NEWS, src/main.c: Bug#2449 - ProFTPD silently ignores extra
+	command-line parameters.
 
-2004-05-31 12:33  castaglia
+2004-09-04  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.
+	* include/version.h: Update version, indicating CVS status once
+	more.
 
-2004-05-31 11:58  castaglia
+2004-09-04  castaglia <castaglia>
 
-	* src/modules.c:
-	  Fix removal of a module from the loaded_modules list.
+	* ChangeLog: Updating ChangeLog.
 
-2004-05-31 10:54  castaglia
+2004-09-04  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.
+	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
+	to release 1.2.10-final.
 
-2004-05-31 10:47  castaglia
+2004-08-25  castaglia <castaglia>
 
-	* src/modules.c:
-	  Missed a case where the PR_SYM_CONF hashing needed to be handled
-	  differently.
+	* 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-05-30 18:51  castaglia
+2004-08-24  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.
+	* modules/mod_xfer.c: Reset the 'have_prot' flag to false when a
+	successful PROT C command is processed.
 
-	  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.
+2004-08-12  castaglia <castaglia>
 
-	  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.
+	* 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-05-30 15:46  castaglia
+2004-08-07  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).
+	* NEWS, src/log.c, src/main.c: Bug#2427 - proftpd gets a memory
+	fault when run from ssh batch mode.
 
-2004-05-30 14:54  castaglia
+2004-08-07  castaglia <castaglia>
 
-	* NEWS:
-	  Bug#2125 - -vv command line switch should list versions of
-	  modules.
+	* 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-05-30 14:50  castaglia
+2004-08-07  castaglia <castaglia>
 
-	* modules/mod_cap.c, src/main.c:
-	  Minor formatting tweak.  Update mod_cap to report its version.
-	  Other modules will follow.
+	* 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-05-30 14:48  castaglia
+2004-08-06  castaglia <castaglia>
 
-	* src/main.c:
-	  Typo.
+	* 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-05-30 14:45  castaglia
+2004-08-06  castaglia <castaglia>
 
-	* src/main.c:
-	  Bug#2125 - -vv command line switch should list versions of
-	  modules.
+	* doc/howto/Limit.html: Add description of applying <Limit> sections
+	to SITE commands.
 
-	  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-08-05  castaglia <castaglia>
 
-2004-05-30 14:34  castaglia
+	* RELEASE_NOTES: Updating the release notes.
 
-	* 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-08-04  castaglia <castaglia>
 
-2004-05-29 19:39  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.
 
-	* 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-08-03  castaglia <castaglia>
 
-2004-05-29 16:38  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#2444 - Use of sendfile() does not
+	interoperate well with RFC2228 security mechanisms.
 
-	* src/event.c:
-	  Make pr_event_unregister() function as documented if given a NULL
-	  callback argument.
+2004-08-03  castaglia <castaglia>
 
-2004-05-29 16:02  castaglia
+	* contrib/mod_sql.c: Convert mod_sql to using ProFTPD's sstrcat()
+	function, rather than strcat(3).
 
-	* 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.
+2004-08-01  castaglia <castaglia>
 
-	  More work needs to be done on abstracting the process of loading
-	  of a module.
+	* 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-05-29 15:31  castaglia
+2004-07-31  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.
+	* 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-05-29 14:02  castaglia
+2004-07-31  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.
+	* doc/howto/Limit.html: Add example <Limit LOGIN> configuration that
+	allows only anonymous logins.
 
-2004-05-29 13:13  castaglia
+2004-07-30  castaglia <castaglia>
 
-	* src/modules.c:
-	  Add sane errno values.
+	* 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-05-29 13:03  castaglia
+2004-07-28  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.
+	* doc/howto/Authentication.html: Updating the section on "Resolving
+	~", fixing mention of mod_auth_pam.
 
-2004-05-29 12:52  castaglia
+2004-07-22  castaglia <castaglia>
 
-	* modules/mod_ctrls.c:
-	  Add more info to the ControlsLog when the ControlsAuthFreshness
-	  is exceeded, to help in debugging why this happens.
+	* NEWS, modules/mod_auth_pam.c: Bug#2442 - Segfault in FreeBSD PAM
+	library with long login names.
 
-2004-05-29 11:55  castaglia
+2004-07-22  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Typo (thanks John!).
+	* README.PAM: Update the PAM docs about AuthPAMAuthoritative, and
+	add an Issues section.
 
-2004-05-28 21:22  castaglia
+2004-07-22  castaglia <castaglia>
 
-	* doc/howto/Directory.html:
-	  Wording update.
+	* 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-05-28 21:19  castaglia
+2004-07-21  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.
+	* 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.
 
-	  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-07-20  castaglia <castaglia>
 
-2004-05-28 18:56  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.
 
-	* contrib/mod_tls.c:
-	  Silence a compiler warning by providing a default value.
+2004-07-15  castaglia <castaglia>
 
-2004-05-28 18:55  castaglia
+	* modules/mod_ctrls.c: We were forgetting to remove our previous
+	timer before adding a new one.
 
-	* contrib/mod_tls.c:
-	  Typo.
+2004-07-15  castaglia <castaglia>
 
-2004-05-28 17:28  castaglia
+	* src/timers.c: Prevent add_timer() from adding multiple timers that
+	use the same timerno.
 
-	* src/scoreboard.c:
-	  Unblock signals properly.
+2004-07-14  castaglia <castaglia>
 
-2004-05-28 09:46  castaglia
+	* modules/mod_ctrls.c: We don't want child processes handling these
+	events for mod_ctrls.
 
-	* README.modules:
-	  Update this README.
+2004-07-14  castaglia <castaglia>
 
-2004-05-27 10:20  castaglia
+	* include/version.h: Let's try this again.
 
-	* 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-07-13  castaglia <castaglia>
 
-2004-05-26 12:25  castaglia
+	* ChangeLog: Updating ChangeLog.
 
-	* src/ctrls.c:
-	  Make sure that the destination ctrl object has a valid temporary
-	  pool from which to copy arguments.
+2004-07-13  castaglia <castaglia>
 
-2004-05-26 11:54  castaglia
+	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: How
+	embarassing.  A typo broke 1.2.10rc2, necessitating a release of
+	rc3.
 
-	* src/dirtree.c:
-	  Reset the sid (server ID) counter when preparing to parse a
-	  configuration.
+2004-07-13  castaglia <castaglia>
 
-2004-05-25 19:17  castaglia
+	* modules/mod_core.c: Typo.
 
-	* configure:
-	  Updating configure script.
+2004-07-13  castaglia <castaglia>
 
-2004-05-25 19:15  castaglia
+	* include/version.h: Bump version for CVS checkouts.
 
-	* config.h.in, configure.in:
-	  Check if intptr_t is defined.
+2004-07-13  castaglia <castaglia>
 
-2004-05-25 16:31  castaglia
+	* ChangeLog: Updating ChangeLog.
 
-	* 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-07-13  castaglia <castaglia>
 
-2004-05-25 16:00  castaglia
+	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
+	for release of 1.2.10rc2.
 
-	* contrib/mod_tls.c:
-	  Check the return value of SSL_CTX_set_default_verify_locations(),
-	  and log the error (if any).
+2004-07-13  castaglia <castaglia>
 
-2004-05-25 10:41  castaglia
+	* modules/mod_core.c: Variable name collision from different scopes;
+	fix to quell a compiler warning.
 
-	* doc/howto/BCP.html:
-	  Wording.
+2004-07-13  castaglia <castaglia>
 
-2004-05-25 10:17  castaglia
+	* src/support.c: Quell a warning about reusing a global symbol name
+	'dup'.
 
-	* 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-07-13  castaglia <castaglia>
 
-2004-05-24 16:27  castaglia
+	* modules/mod_core.c: Rest of patch for Bug#2439.
 
-	* 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-07-11  castaglia <castaglia>
 
-2004-05-24 14:35  castaglia
+	* NEWS, modules/mod_core.c: Bug#2439 - <Limit CWD> doesn't work.
 
-	* lib/pr-syslog.c:
-	  Mention the Sun bug number that caused the /dev/log kernel memory
-	  leak.
+2004-07-09  castaglia <castaglia>
 
-2004-05-22 17:11  castaglia
+	* NEWS, modules/mod_core.c: Bug#2438 - Display variable %z not
+	expanded properly.
 
-	* contrib/mod_quotatab_sql.c:
-	  Typo.
+2004-07-08  castaglia <castaglia>
 
-2004-05-22 16:59  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.
 
-	* contrib/mod_quotatab_sql.c:
-	  Don't complain about being unable to delete a nonexistent
-	  QuotaLock.
+2004-07-06  castaglia <castaglia>
 
-2004-05-21 10:46  castaglia
+	* doc/howto/TLS.html: Update the link to the most current FTPS
+	Draft.
 
-	* RELEASE_NOTES:
-	  Style.
+2004-07-01  castaglia <castaglia>
 
-2004-05-21 10:35  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.
 
-	* RELEASE_NOTES:
-	  Update the release notes with mention of TimeoutLinger.
+2004-07-01  castaglia <castaglia>
 
-2004-05-21 10:19  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.
 
-	* 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-07-01  castaglia <castaglia>
 
-2004-05-20 10:28  castaglia
+	* src/dirtree.c: Style.
 
-	* contrib/mod_ctrls_admin.c:
-	  Check for signals while waiting for all kids to end when handling
-	  a graceful shutdown.
+2004-07-01  castaglia <castaglia>
 
-2004-05-19 20:39  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.
 
-	* doc/howto/: Controls.html, index.html:
-	  Add a Controls howto.
+2004-06-30  castaglia <castaglia>
 
-2004-05-19 14:44  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.
 
-	* modules/mod_auth.c:
-	  Make sure a Class has been assigned before attempting to use it.
+2004-06-30  castaglia <castaglia>
 
-2004-05-19 10:07  castaglia
+	* NEWS, contrib/mod_tls.c: Bug#2419 - Ability to disable TLSRequired
+	on per-user basis (e.g. for anonymous logins).
 
-	* NEWS, lib/pr-syslog.c, src/main.c:
-	  Bug#2336 - Use of /dev/log on Solaris leads to kernel memory
-	  leak.
+2004-06-30  castaglia <castaglia>
 
-2004-05-18 19:32  castaglia
+	* NEWS, src/class.c, src/netacl.c, src/netaddr.c: Bug#2303 - Problem
+	evaluating multiple <Class> rules.
 
-	* src/dirtree.c:
-	  Style.
+2004-06-23  castaglia <castaglia>
 
-2004-05-18 16:22  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.
 
-	* contrib/mod_ctrls_admin.html:
-	  Typo.
+2004-06-17  castaglia <castaglia>
 
-2004-05-18 15:43  castaglia
+	* NEWS, include/dirtree.h, src/dirtree.c, src/main.c: Bug#2418 -
+	chmod returns 550 with filename containing multiple spaces.
 
-	* contrib/mod_ctrls_admin.html:
-	  Document that 'ftpdctl get' accepts both 'config' and
-	  'directives' parameters.
+2004-06-17  castaglia <castaglia>
 
-2004-05-17 11:24  castaglia
+	* NEWS: Typo.
 
-	* 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-06-15  castaglia <castaglia>
 
-2004-05-15 10:25  castaglia
+	* src/netio.c: Style.
 
-	* 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-06-12  castaglia <castaglia>
 
-2004-05-13 07:01  castaglia
+	* src/modules.c: Removal of symbols (e.g. AuthOrder) was not working
+	properly without this change.
 
-	* 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-06-11  castaglia <castaglia>
 
-2004-05-12 19:58  castaglia
+	* NEWS, contrib/mod_sql.c: Bug#2422 - %v not working in
+	SQLNamedQuery.
 
-	* 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-06-10  castaglia <castaglia>
 
-2004-05-12 18:13  castaglia
+	* NEWS, modules/mod_core.c: Bug#2411 - Caching effects cause RNTO to
+	fail if AllowOverwrite is off and target path does not exist.
 
-	* NEWS, modules/mod_auth.c, src/mkhome.c:
-	  Bug#2410 - CreateHome always copies skel directory.
+2004-06-10  castaglia <castaglia>
 
-2004-05-11 19:20  castaglia
+	* contrib/mod_sql.c: Remove debugging cruft.
 
-	* 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-06-10  castaglia <castaglia>
 
-2004-05-11 16:37  castaglia
+	* NEWS, contrib/mod_sql.c: Bug#2424 - SQLDefaultHomedir overrides
+	column value.
 
-	* 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-06-08  castaglia <castaglia>
 
-2004-05-11 09:56  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).
 
-	* 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-06-07  castaglia <castaglia>
 
-2004-05-10 10:50  castaglia
+	* contrib/mod_quotatab.h, contrib/mod_sql.c: Increment versions of
+	mod_quotatab, mod_sql.
 
-	* 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-06-07  castaglia <castaglia>
 
-2004-05-09 13:05  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.
 
-	* src/data.c:
-	  When opening a data connection, check for the ESPV ALL mode as
-	  well.
+2004-06-06  castaglia <castaglia>
 
-2004-05-08 18:07  castaglia
+	* contrib/mod_tls.c: Fix scrubbing of passphrases when a session
+	process exits.
 
-	* 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.
+2004-05-31  castaglia <castaglia>
 
-	  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.
+	* 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-07 20:21  castaglia
+2004-05-31  castaglia <castaglia>
 
-	* contrib/: mod_sql_mysql.c, mod_sql_postgres.c:
-	  Style cleanup of the SQL backend modules.  Also updating them to
-	  use an event handler for the "core.exit" event.
+	* 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.
 
-	  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-31  castaglia <castaglia>
 
-2004-05-07 14:31  castaglia
+	* src/modules.c: Slightly cleaner structure.
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#2366 - Add support for -h list option.
+2004-05-31  castaglia <castaglia>
 
-2004-05-07 11:17  castaglia
+	* src/dirtree.c: Attempting to dump the config for a minimally
+	configured server_rec (i.e.  server_rec->conf is NULL) would
+	segfault.
 
-	* modules/mod_ls.c:
-	  Redeclaring a variable isn't a good thing to do.
+2004-05-31  castaglia <castaglia>
 
-2004-05-06 20:36  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.
 
-	* src/child.c:
-	  Include <signal.h> so that the kill(2) function prototype is
-	  visible.
+2004-05-31  castaglia <castaglia>
 
-2004-05-06 08:35  castaglia
+	* src/modules.c: Fix removal of a module from the loaded_modules
+	list.
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#2405 - "LIST *" should not list dotfiles.
+2004-05-31  castaglia <castaglia>
 
-2004-05-05 10:49  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.
 
-	* 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-31  castaglia <castaglia>
 
-2004-05-04 09:54  castaglia
+	* src/modules.c: Missed a case where the PR_SYM_CONF hashing needed
+	to be handled differently.
 
-	* lib/glibc-glob.c:
-	  The buffer length should be PR_TUNABLE_LOGIN_MAX + 1.
+2004-05-31  castaglia <castaglia>
 
-2004-05-03 19:59  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.
 
-	* 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-30  castaglia <castaglia>
 
-2004-05-03 10:25  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).
 
-	* NEWS, include/class.h, src/class.c, src/main.c:
-	  Bug#2403 - Sending SIGHUP to proftpd stops it when using Classes.
+2004-05-30  castaglia <castaglia>
 
-2004-05-02 08:05  castaglia
+	* NEWS: Bug#2125 - -vv command line switch should list versions of
+	modules.
 
-	* NEWS, contrib/mod_rewrite.c, contrib/mod_rewrite.html:
-	  Bug#2082 - Add mod_rewrite "replaceall" builtin function.
+2004-05-30  castaglia <castaglia>
 
-2004-05-01 22:42  castaglia
+	* modules/mod_cap.c, src/main.c: Minor formatting tweak.  Update
+	mod_cap to report its version.  Other modules will follow.
 
-	* NEWS, contrib/mod_ctrls_admin.c, contrib/mod_ctrls_admin.html:
-	  Bug#2399 - Rename start/stop control actions to up/down.
+2004-05-30  castaglia <castaglia>
 
-2004-05-01 20:39  castaglia
+	* src/main.c: Typo.
 
-	* 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-30  castaglia <castaglia>
 
-2004-05-01 11:44  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.
 
-	* contrib/mod_tls.c:
-	  Only report the version of OpenSSL being used at debug level 2 or
-	  higher.
+2004-05-30  castaglia <castaglia>
 
-2004-05-01 11:27  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.
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#2401 - MaxClientsPerClass only checks first directive in
-	  config file.
+2004-05-30  castaglia <castaglia>
 
-2004-05-01 11:01  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).
 
-	* NEWS, src/class.c:
-	  Bug#2400 - <Class> search order is wrong.
+2004-05-29  castaglia <castaglia>
 
-2004-04-30 12:01  castaglia
+	* src/event.c: Make pr_event_unregister() function as documented if
+	given a NULL callback argument.
 
-	* NEWS, contrib/mod_ctrls_admin.c, contrib/mod_ctrls_admin.html,
-	  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-05-29  castaglia <castaglia>
 
-2004-04-29 13:09  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.
 
-	* contrib/mod_ctrls_admin.html:
-	  Typo.
+2004-05-29  castaglia <castaglia>
 
-2004-04-29 12:28  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.
 
-	* 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-05-29  castaglia <castaglia>
 
-2004-04-28 20:35  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.
 
-	* 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-05-29  castaglia <castaglia>
 
-2004-04-28 20:35  castaglia
+	* src/modules.c: Add sane errno values.
 
-	* 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-05-29  castaglia <castaglia>
 
-2004-04-28 18:55  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.
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#2396 - NLST command doesn't understand options.
+2004-05-29  castaglia <castaglia>
 
-2004-04-28 14:29  castaglia
+	* modules/mod_ctrls.c: Add more info to the ControlsLog when the
+	ControlsAuthFreshness is exceeded, to help in debugging why this
+	happens.
 
-	* 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-05-29  castaglia <castaglia>
 
-2004-04-28 14:00  castaglia
+	* contrib/mod_tls.c: Typo (thanks John!).
 
-	* include/version.h:
-	  Set version back to CVS status for rc2.
+2004-05-29  castaglia <castaglia>
 
-2004-04-28 10:54  castaglia
+	* doc/howto/Directory.html: Wording update.
 
-	* ChangeLog:
-	  Updating ChangeLog.
+2004-05-29  castaglia <castaglia>
 
-2004-04-28 10:52  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.
 
-	* NEWS, include/version.h, contrib/dist/rpm/proftpd.spec:
-	  Preparing to roll 1.2.10rc1 tarball.
+2004-05-29  castaglia <castaglia>
 
-2004-04-28 10:43  castaglia
+	* contrib/mod_tls.c: Silence a compiler warning by providing a
+	default value.
 
-	* 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.
+2004-05-29  castaglia <castaglia>
 
-	  Add a note about RELEASE_NOTES to the README.
+	* contrib/mod_tls.c: Typo.
 
-2004-04-27 13:49  castaglia
+2004-05-29  castaglia <castaglia>
 
-	* contrib/mod_sql.html:
-	  Update mod_sql installation instructions.
+	* src/scoreboard.c: Unblock signals properly.
 
-2004-04-27 09:58  castaglia
+2004-05-28  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Make the error message returned here consistent with the other
-	  occurrences of 500 responses in mod_xfer.
+	* README.modules: Update this README.
 
-2004-04-26 16:33  castaglia
+2004-05-27  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.
+	* 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-04-23 18:17  castaglia
+2004-05-26  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Do not warn about a successful root login until after root has
-	  indeed successfully logged in.
+	* src/ctrls.c: Make sure that the destination ctrl object has a
+	valid temporary pool from which to copy arguments.
 
-2004-04-23 18:13  castaglia
+2004-05-26  castaglia <castaglia>
 
-	* doc/modules/mod_auth_pam.html:
-	  Add HTML docs for mod_auth_pam.
+	* src/dirtree.c: Reset the sid (server ID) counter when preparing to
+	parse a configuration.
 
-2004-04-23 14:29  castaglia
+2004-05-26  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).
+	* configure: Updating configure script.
 
-2004-04-23 13:46  castaglia
+2004-05-26  castaglia <castaglia>
 
-	* src/netacl.c:
-	  The '{' character is also used in globs.
+	* config.h.in, configure.in: Check if intptr_t is defined.
 
-2004-04-23 11:35  castaglia
+2004-05-25  castaglia <castaglia>
 
-	* modules/mod_ls.c:
-	  Write a debug message, level 1, when NLST commands with options
-	  (as from ncftp) are received.
+	* 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-04-22 18:32  castaglia
+2004-05-25  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.
+	* contrib/mod_tls.c: Check the return value of
+	SSL_CTX_set_default_verify_locations(), and log the error (if any).
 
-2004-04-21 18:32  castaglia
+2004-05-25  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
+	* doc/howto/BCP.html: Wording.
 
-	    error setting write fd IP_TOS: Option not supported by protocol
+2004-05-25  castaglia <castaglia>
 
-	  errors seen on some platforms (e.g. Solaris).
+	* 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-04-21 14:29  castaglia
+2004-05-24  castaglia <castaglia>
 
-	* doc/howto/: index.html, Classes.html:
-	  Add a howto for the new <Class> format.
+	* 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-04-20 18:23  castaglia
+2004-05-24  castaglia <castaglia>
 
-	* src/main.c:
-	  Style cleanup.
+	* lib/pr-syslog.c: Mention the Sun bug number that caused the
+	/dev/log kernel memory leak.
 
-2004-04-20 18:15  castaglia
+2004-05-23  castaglia <castaglia>
 
-	* src/main.c:
-	  Capture the actual errno value, rather than assuming that
-	  intervening functions will not change errno.
+	* contrib/mod_quotatab_sql.c: Typo.
 
-2004-04-20 16:26  castaglia
+2004-05-22  castaglia <castaglia>
 
-	* doc/howto/Limit.html:
-	  Consistency of style is a Good Thing.
+	* contrib/mod_quotatab_sql.c: Don't complain about being unable to
+	delete a nonexistent QuotaLock.
 
-2004-04-20 13:57  castaglia
+2004-05-21  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.
+	* RELEASE_NOTES: Style.
 
-2004-04-19 19:05  castaglia
+2004-05-21  castaglia <castaglia>
 
-	* src/log.c:
-	  Fix the logging of IP addresses in the utmp/wtmp log on Linux.
-	  Formatting cleanup.
+	* RELEASE_NOTES: Update the release notes with mention of
+	TimeoutLinger.
 
-2004-04-19 16:59  castaglia
+2004-05-21  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.
+	* 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.
 
-	  Future work will overload this directive to work as users would
-	  like (see Bug#1898) for the <Limit> context.
+2004-05-20  castaglia <castaglia>
 
-2004-04-19 16:33  castaglia
+	* contrib/mod_ctrls_admin.c: Check for signals while waiting for all
+	kids to end when handling a graceful shutdown.
 
-	* src/dirtree.c:
-	  Report line numbers when parsing .ftpaccess files, too.
+2004-05-20  castaglia <castaglia>
 
-2004-04-18 10:00  castaglia
+	* doc/howto/Controls.html, doc/howto/index.html: Add a Controls
+	howto.
 
-	* 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-05-19  castaglia <castaglia>
 
-2004-04-16 09:33  castaglia
+	* modules/mod_auth.c: Make sure a Class has been assigned before
+	attempting to use it.
 
-	* 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-05-19  castaglia <castaglia>
 
-2004-04-15 18:08  castaglia
+	* NEWS, lib/pr-syslog.c, src/main.c: Bug#2336 - Use of /dev/log on
+	Solaris leads to kernel memory leak.
 
-	* NEWS:
-	  Mention in NEWS the new doc/modules/ directory.
+2004-05-19  castaglia <castaglia>
 
-2004-04-15 17:54  castaglia
+	* src/dirtree.c: Style.
 
-	* doc/modules/mod_ctrls.html:
-	  Updating mod_ctrls' installation instructions.
+2004-05-17  castaglia <castaglia>
 
-2004-04-15 17:36  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.
 
-	* doc/modules/: mod_auth_file.html, mod_cap.html, 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-05-15  castaglia <castaglia>
 
-2004-04-15 17:19  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.
 
-	* contrib/: mod_ifsession.html, mod_quotatab.html, mod_radius.html,
-	  mod_sql.html, mod_tls.html, mod_wrap.html:
-	  Formatting fixups.
+2004-05-13  castaglia <castaglia>
 
-2004-04-15 16:16  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.
 
-	* include/ctrls.h:
-	  These changes should've been part of an earlier commit.
+2004-05-13  castaglia <castaglia>
 
-2004-04-15 15:19  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.
 
-	* contrib/mod_rewrite.html:
-	  The features listed under "future work" have been implemented.
+2004-05-13  castaglia <castaglia>
 
-2004-04-15 15:14  castaglia
+	* NEWS, modules/mod_auth.c, src/mkhome.c: Bug#2410 - CreateHome
+	always copies skel directory.
 
-	* 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-05-12  castaglia <castaglia>
 
-2004-04-15 14:31  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.
 
-	* contrib/mod_rewrite.html:
-	  Document the flags parameters for RewriteCondition, RewriteRule.
-	  Also document the possible pattern variants allowed for
-	  RewriteCondition.  Add an example of using mod_rewrite to make
-	  all uploaded files have uppercased filenames.
+2004-05-11  castaglia <castaglia>
 
-2004-04-15 11:46  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
 
-	* sample-configurations/basic.conf:
-	  The default configuration file should not allow use of SITE
-	  CHMOD.
+2004-05-11  castaglia <castaglia>
 
-2004-04-15 10:33  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).
 
-	* contrib/mod_rewrite.html:
-	  Formatting typo.
+2004-05-10  castaglia <castaglia>
 
-2004-04-14 19:47  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.
 
-	* src/main.c:
-	  Cleanup the error reported if the PidFile cannot be opened.
+2004-05-09  castaglia <castaglia>
 
-2004-04-14 13:25  castaglia
+	* src/data.c: When opening a data connection, check for the ESPV ALL
+	mode as well.
 
-	* modules/mod_core.c:
-	  Michael suggested that this log message be at the INFO level.
+2004-05-09  castaglia <castaglia>
 
-2004-04-14 11:11  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.
 
-	* 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-05-08  castaglia <castaglia>
 
-2004-04-13 13:19  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.
 
-	* doc/howto/Filters.html:
-	  Emphasize _not_ using both an Allow and a Deny Filter at the same
-	  time.
+2004-05-07  castaglia <castaglia>
 
-2004-04-13 10:55  castaglia
+	* NEWS, modules/mod_ls.c: Bug#2366 - Add support for -h list option.
 
-	* 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-05-07  castaglia <castaglia>
 
-2004-04-13 10:52  castaglia
+	* modules/mod_ls.c: Redeclaring a variable isn't a good thing to do.
 
-	* NEWS, include/privs.h:
-	  Bug#2387 - PRIVS_USER macro should set effective GID to user's
-	  primary GID.
+2004-05-07  castaglia <castaglia>
 
-2004-04-13 09:48  castaglia
+	* src/child.c: Include <signal.h> so that the kill(2) function
+	prototype is visible.
 
-	* 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.
+2004-05-06  castaglia <castaglia>
 
-	  Format/style cleanups, removed unused CLASS_USER #define.
+	* NEWS, modules/mod_ls.c: Bug#2405 - "LIST *" should not list
+	dotfiles.
 
-2004-04-13 09:46  castaglia
+2004-05-05  castaglia <castaglia>
 
-	* contrib/mod_ctrls_admin.c:
-	  Update the proftpd version required by mod_ctrls_admin.
+	* 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-04-12 10:41  castaglia
+2004-05-04  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Have AnonRejectPasswords generate an event.
+	* lib/glibc-glob.c: The buffer length should be PR_TUNABLE_LOGIN_MAX
+	+ 1.
 
-2004-04-12 10:35  castaglia
+2004-05-04  castaglia <castaglia>
 
-	* modules/mod_ctrls.c:
-	  Consistent use of strcmp().  Use ANY_MODULE where appropriate,
-	  rather than NULL.
+	* 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-04-12 10:14  castaglia
+2004-05-03  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.:
+	* NEWS, include/class.h, src/class.c, src/main.c: Bug#2403 - Sending
+	SIGHUP to proftpd stops it when using Classes.
 
-	     SomeDirective \
-	       foo \
-	     #	bar \
-	       baz
+2004-05-02  castaglia <castaglia>
 
-	  Without this patch, pr_fsio_getline() would return the '#'
-	  character, which is not what most people would think would
-	  happen.
+	* NEWS, contrib/mod_rewrite.c: Bug#2082 - Add mod_rewrite
+	"replaceall" builtin function.
 
-2004-04-12 10:09  castaglia
+2004-05-02  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Be a little more strict when checking for "${env:...}" strings in
-	  the config file.
+	* NEWS, contrib/mod_ctrls_admin.c: Bug#2399 - Rename start/stop
+	control actions to up/down.
 
-	  Format/style cleanup.
+2004-05-02  castaglia <castaglia>
 
-2004-04-11 15:50  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.
 
-	* doc/howto/: BCP.html, Globbing.html, index.html:
-	  Add the Globbing and BCP howtos.
+2004-05-01  castaglia <castaglia>
 
-2004-04-11 15:38  castaglia
+	* contrib/mod_tls.c: Only report the version of OpenSSL being used
+	at debug level 2 or higher.
 
-	* include/options.h:
-	  Updating outdated comments.
+2004-05-01  castaglia <castaglia>
 
-2004-04-11 15:13  castaglia
+	* NEWS, modules/mod_auth.c: Bug#2401 - MaxClientsPerClass only
+	checks first directive in config file.
 
-	* modules/mod_xfer.c:
-	  Typo.
+2004-05-01  castaglia <castaglia>
 
-2004-04-11 15:03  castaglia
+	* NEWS, src/class.c: Bug#2400 - <Class> search order is wrong.
 
-	* 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-30  castaglia <castaglia>
 
-2004-04-11 13:42  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.
 
-	* NEWS, modules/mod_ctrls.c, src/ctrls.c:
-	  Bug#2383 - mod_ctrls.c: ctrls_listen(): Invalid size in bind()
-	  argument.
+2004-04-29  castaglia <castaglia>
 
-2004-04-11 13:35  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.
 
-	* 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.
+2004-04-29  castaglia <castaglia>
 
-	  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.
+	* 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-11 13:27  castaglia
+2004-04-29  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.
+	* 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-11 13:22  castaglia
+2004-04-29  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.
+	* NEWS, modules/mod_ls.c: Bug#2396 - NLST command doesn't understand
+	options.
 
-2004-04-11 13:12  castaglia
+2004-04-28  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  This copy of copy_file() is no longer needed.
+	* 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-10 13:55  castaglia
+2004-04-28  castaglia <castaglia>
 
-	* contrib/: ftpasswd.html, ftpquota.html, mod_ctrls_admin.html,
-	  mod_ifsession.html, mod_quotatab.html, mod_quotatab_file.html,
-	  mod_quotatab_ldap.html, mod_quotatab_sql.html, mod_radius.html,
-	  mod_rewrite.html, mod_site_misc.html, mod_sql.html, mod_tls.html,
-	  mod_wrap.html:
-	  Minor formatting change (removed extraneous <br>).
+	* include/version.h: Set version back to CVS status for rc2.
 
-2004-04-10 13:42  castaglia
+2004-04-28  castaglia <castaglia>
 
-	* doc/howto/: FXP.html, index.html:
-	  Add FXP howto.
+	* ChangeLog: Updating ChangeLog.
 
-2004-04-10 13:37  castaglia
+2004-04-28  castaglia <castaglia>
 
-	* doc/howto/: NAT.html, index.html:
-	  Add NAT howto.
+	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
+	to roll 1.2.10rc1 tarball.
 
-2004-04-10 13:11  castaglia
+2004-04-28  castaglia <castaglia>
 
-	* doc/howto/SQL.html:
-	  Update the SQL howto to mention using SQLLogFile.
+	* 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-10 12:02  castaglia
+2004-04-27  castaglia <castaglia>
 
-	* doc/howto/index.html:
-	  Add an index page for these howtos.
+	* modules/mod_xfer.c: Make the error message returned here
+	consistent with the other occurrences of 500 responses in mod_xfer.
 
-2004-04-10 11:44  castaglia
+2004-04-26  castaglia <castaglia>
 
-	* doc/howto/Directory.html:
-	  Typo.
+	* 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-10 11:33  castaglia
+2004-04-24  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).
+	* modules/mod_auth.c: Do not warn about a successful root login
+	until after root has indeed successfully logged in.
 
-2004-04-10 11:01  castaglia
+2004-04-24  castaglia <castaglia>
 
-	* doc/howto/: Authentication.html, Chroot.html, ConfigFile.html,
-	  Debugging.html, Directory.html, FTP.html, Filters.html,
-	  Limit.html, SQL.html, ServerType.html, Stopping.html, TLS.html,
-	  Umask.html, Vhost.html:
-	  Standardize on "Last Updated" in the footer.
+	* doc/modules/mod_auth_pam.html: Add HTML docs for mod_auth_pam.
 
-2004-04-10 10:59  castaglia
+2004-04-23  castaglia <castaglia>
 
-	* doc/howto/Logging.html:
-	  Add Logging doc.
+	* 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-10 10:42  castaglia
+2004-04-23  castaglia <castaglia>
 
-	* doc/howto/: Authentication.html, ConfigFile.html, Filters.html,
-	  Limit.html, ServerType.html, Stopping.html, Vhost.html:
-	  Modifying links in docs to reference other docs in this area,
-	  rather than the pages on www.castaglia.org.
+	* src/netacl.c: The '{' character is also used in globs.
 
-2004-04-10 10:29  castaglia
+2004-04-23  castaglia <castaglia>
 
-	* doc/howto/Stopping.html:
-	  Add doc for starting/stopping proftpd.
+	* modules/mod_ls.c: Write a debug message, level 1, when NLST
+	commands with options (as from ncftp) are received.
 
-2004-04-10 10:23  castaglia
+2004-04-23  castaglia <castaglia>
 
-	* doc/howto/FTP.html:
-	  Add doc covering FTP commands supported by proftpd.
+	* 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-10 10:16  castaglia
+2004-04-22  castaglia <castaglia>
 
-	* doc/howto/ServerType.html:
-	  Adding ServerType doc.
+	* 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-09 19:30  castaglia
+2004-04-21  castaglia <castaglia>
 
-	* modules/mod_auth_unix.c:
-	  When compiling on a HP-UX box which supports bigcrypt(), the
-	  following warning is seen:
+	* doc/howto/Classes.html, doc/howto/index.html: Add a howto for the
+	new <Class> format.
 
-	    passing arg 1 of `bigcrypt' discards qualifiers from pointer
-	  target type
+2004-04-21  castaglia <castaglia>
 
-	  Quell this warning by explicitly casting the arguments to
-	  bigcrypt() to be char *.
+	* src/main.c: Style cleanup.
 
-2004-04-09 19:01  castaglia
+2004-04-21  castaglia <castaglia>
 
-	* doc/howto/SSH.html:
-	  Add FTP-over-SSH mini-HOWTO.
+	* src/main.c: Capture the actual errno value, rather than assuming
+	that intervening functions will not change errno.
 
-2004-04-09 17:34  castaglia
+2004-04-20  castaglia <castaglia>
 
-	* doc/howto/: Authentication.html, Chroot.html, ConfigFile.html,
-	  Debugging.html, Directory.html, Filters.html, Limit.html,
-	  SQL.html, TLS.html, Umask.html, Vhost.html:
-	  Adjusting footers for consistency.
+	* doc/howto/Limit.html: Consistency of style is a Good Thing.
 
-2004-04-09 17:19  castaglia
+2004-04-20  castaglia <castaglia>
 
-	* doc/howto/Umask.html:
-	  Add the Umask mini-HOWTO.
+	* 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-09 11:49  castaglia
+2004-04-20  castaglia <castaglia>
 
-	* doc/howto/Filters.html:
-	  Add the Filters mini-HOWTO to the source distro.
+	* src/log.c: Fix the logging of IP addresses in the utmp/wtmp log on
+	Linux.  Formatting cleanup.
 
-2004-04-09 10:19  castaglia
+2004-04-19  castaglia <castaglia>
 
-	* contrib/: mod_ctrls_admin.c, mod_ctrls_admin.html:
-	  Add ability to kick entire Classes via the 'kick' action.
+	* 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-09 09:58  castaglia
+2004-04-19  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.
+	* src/dirtree.c: Report line numbers when parsing .ftpaccess files,
+	too.
 
-2004-04-09 09:54  castaglia
+2004-04-18  castaglia <castaglia>
 
-	* contrib/mod_ifsession.c:
-	  Removing this HOOK, as it won't work as intended.  May re-add in
-	  the future.
+	* 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-08 17:23  castaglia
+2004-04-16  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.
+	* 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-08 15:50  castaglia
+2004-04-16  castaglia <castaglia>
 
-	* contrib/mod_ifsession.html:
-	  Add note about making sure that mod_ifsession is last in the
-	  --with-modules list.
+	* NEWS: Mention in NEWS the new doc/modules/ directory.
 
-2004-04-07 19:54  castaglia
+2004-04-16  castaglia <castaglia>
 
-	* contrib/mod_ctrls_admin.html:
-	  Updating author, copyright info.
+	* doc/modules/mod_ctrls.html: Updating mod_ctrls' installation
+	instructions.
 
-2004-04-07 19:43  castaglia
+2004-04-16  castaglia <castaglia>
 
-	* contrib/mod_ctrls_admin.html:
-	  Add mod_ctrls_admin docs for the 'kick' action.
+	* 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-07 19:39  castaglia
+2004-04-15  castaglia <castaglia>
 
-	* contrib/mod_ctrls_admin.c:
-	  Add the 'kick' action to mod_ctrls_admin, for disconnecting
-	  clients by user or host names.
+	* include/ctrls.h: These changes should've been part of an earlier
+	commit.
 
-2004-04-07 13:12  castaglia
+2004-04-15  castaglia <castaglia>
 
-	* doc/howto/Authentication.html:
-	  Add note about avoiding use of mod_auth.c and mod_auth_pam.c in
-	  AuthOrder directives.
+	* 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-07 12:55  castaglia
+2004-04-15  castaglia <castaglia>
 
-	* contrib/mod_quotatab.html:
-	  Add comment about per-session settings in mod_quotatab docs.
+	* sample-configurations/basic.conf: The default configuration file
+	should not allow use of SITE CHMOD.
 
-2004-04-07 12:02  castaglia
+2004-04-15  castaglia <castaglia>
 
-	* contrib/mod_quotatab.c:
-	  Add a QuotaLog message warning that when per_session is true, the
-	  QuotaTallyTable will not be updated.
+	* src/main.c: Cleanup the error reported if the PidFile cannot be
+	opened.
 
-2004-04-06 16:17  castaglia
+2004-04-14  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).
+	* modules/mod_core.c: Michael suggested that this log message be at
+	the INFO level.
 
-2004-04-05 18:50  castaglia
+2004-04-14  castaglia <castaglia>
 
-	* src/ctrls.c:
-	  Fix a format warning on Solaris.
+	* 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-05 16:01  castaglia
+2004-04-13  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Make sure and clear the relevant bits in tls_flags when the
-	  control and data channels are closed.
+	* doc/howto/Filters.html: Emphasize _not_ using both an Allow and a
+	Deny Filter at the same time.
 
-2004-04-05 11:01  castaglia
+2004-04-13  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.
+	* 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-05 10:59  castaglia
+2004-04-13  castaglia <castaglia>
 
-	* modules/mod_auth.c, src/scoreboard.c:
-	  Check for an error return value from pr_rewind_scoreboard().
+	* NEWS, include/privs.h: Bug#2387 - PRIVS_USER macro should set
+	effective GID to user's primary GID.
 
-	  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-13  castaglia <castaglia>
 
-2004-04-05 10:54  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.
 
-	* NEWS:
-	  Mention the adding of mini-HOWTOs in NEWS.
+2004-04-13  castaglia <castaglia>
 
-2004-03-25 11:22  castaglia
+	* contrib/mod_ctrls_admin.c: Update the proftpd version required by
+	mod_ctrls_admin.
 
-	* configure:
-	  Updating configure.
+2004-04-12  castaglia <castaglia>
 
-2004-03-25 11:16  castaglia
+	* modules/mod_auth.c: Have AnonRejectPasswords generate an event.
 
-	* configure.in:
-	  Remove checks for README.mod_sql from configure.
+2004-04-12  castaglia <castaglia>
 
-2004-03-25 09:33  castaglia
+	* modules/mod_ctrls.c: Consistent use of strcmp().  Use ANY_MODULE
+	where appropriate, rather than NULL.
 
-	* contrib/mod_tls.c:
-	  Report the version of OpenSSL used in server debugging output.
+2004-04-12  castaglia <castaglia>
 
-2004-03-24 13:57  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.
 
-	* contrib/ftpasswd.html:
-	  Reflect Bug#2371's new --not-previous-passsword addition in the
-	  ftpasswd HTML docs.
+2004-04-12  castaglia <castaglia>
 
-2004-03-24 13:55  castaglia
+	* src/dirtree.c: Be a little more strict when checking for
+	"${env:...}" strings in the config file.  Format/style cleanup.
 
-	* NEWS, contrib/ftpasswd:
-	  Bug#2371 - ftpasswd should have option to compare password
-	  against value in passwd file.
+2004-04-11  castaglia <castaglia>
 
-2004-03-23 15:29  castaglia
+	* doc/howto/BCP.html, doc/howto/Globbing.html, doc/howto/index.html: 
+	Add the Globbing and BCP howtos.
 
-	* 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-04-11  castaglia <castaglia>
 
-2004-03-23 10:40  castaglia
+	* include/options.h: Updating outdated comments.
 
-	* modules/mod_ls.c:
-	  Add a comment explaining the fix for Bug#2367.
+2004-04-11  castaglia <castaglia>
 
-2004-03-23 10:37  castaglia
+	* modules/mod_xfer.c: Typo.
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#2367 - LIST *.* strange behaviour.
+2004-04-11  castaglia <castaglia>
 
-2004-03-22 11:44  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.
 
-	* doc/howto/: Authentication.html, Chroot.html, ConfigFile.html,
-	  Debugging.html, Directory.html, Limit.html, TLS.html, Vhost.html:
+2004-04-11  castaglia <castaglia>
 
-	  Adding more howtos.
+	* NEWS, modules/mod_ctrls.c, src/ctrls.c: Bug#2383 - mod_ctrls.c:
+	ctrls_listen(): Invalid size in bind() argument.
 
-2004-03-22 11:32  castaglia
+2004-04-11  castaglia <castaglia>
 
-	* README.mod_sql:
-	  Removing this outdated README; see doc/howto/SQL.html for an
-	  updated version.
+	* 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-03-22 11:31  castaglia
+2004-04-11  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).
+	* 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-03-19 12:22  castaglia
+2004-04-11  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.
+	* 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-03-17 10:48  castaglia
+2004-04-11  castaglia <castaglia>
 
-	* contrib/mod_sql.html:
-	  Removed mention of "*" for the SQLAuthenticate directive.
+	* modules/mod_core.c: This copy of copy_file() is no longer needed.
 
-2004-03-16 13:46  castaglia
+2004-04-10  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.
+	* doc/howto/FXP.html, doc/howto/index.html: Add FXP howto.
 
-2004-03-10 18:18  castaglia
+2004-04-10  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#2363 - ABOR response RFC 959 compliance.
+	* doc/howto/NAT.html, doc/howto/index.html: Add NAT howto.
 
-2004-03-10 18:02  castaglia
+2004-04-10  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.
+	* doc/howto/SQL.html: Update the SQL howto to mention using
+	SQLLogFile.
 
-2004-03-10 16:13  castaglia
+2004-04-10  castaglia <castaglia>
 
-	* NEWS:
-	  Typos.
+	* doc/howto/index.html: Add an index page for these howtos.
 
-2004-03-09 17:31  castaglia
+2004-04-10  castaglia <castaglia>
 
-	* include/privs.h:
-	  Typo.
+	* doc/howto/Directory.html: Typo.
 
-2004-03-08 16:53  castaglia
+2004-04-10  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.
+	* 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).
 
-	  At debug level 10, things are getting quite verbose; we should
-	  start looking into debugging output masks.
+2004-04-10  castaglia <castaglia>
 
-2004-03-08 12:32  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.
 
-	* README.controls:
-	  Clarify that using --enable-ctrls means not using
-	  --with-modules=mod_ctrls.
+2004-04-10  castaglia <castaglia>
 
-2004-03-05 10:48  castaglia
+	* doc/howto/Logging.html: Add Logging doc.
 
-	* modules/mod_core.c:
-	  On second thought, setting errno to ENOENT in these cases may not
-	  be the best idea.
+2004-04-10  castaglia <castaglia>
 
-2004-03-05 10:36  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.
 
-	* 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-04-10  castaglia <castaglia>
 
-2004-03-05 10:22  castaglia
+	* doc/howto/Stopping.html: Add doc for starting/stopping proftpd.
 
-	* 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-04-10  castaglia <castaglia>
 
-2004-03-04 19:24  castaglia
+	* doc/howto/FTP.html: Add doc covering FTP commands supported by
+	proftpd.
 
-	* NEWS, utils/ftptop.c:
-	  Bug#2357 - ftptop should use COLS for determining display width.
+2004-04-10  castaglia <castaglia>
 
-2004-03-04 19:00  castaglia
+	* doc/howto/ServerType.html: Adding ServerType doc.
 
-	* configure:
-	  Updating configure.
+2004-04-10  castaglia <castaglia>
 
-2004-03-04 18:13  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 *.
 
-	* NEWS, config.h.in, configure.in, modules/mod_xfer.c:
-	  Bug#2353 - REST doesn't handle offsets greater than 2 GB.
+2004-04-10  castaglia <castaglia>
 
-2004-03-04 13:13  castaglia
+	* doc/howto/SSH.html: Add FTP-over-SSH mini-HOWTO.
 
-	* modules/mod_core.c:
-	  Change handling of the SetEnv, UnsetEnv directives so that that
-	  they can be set on a per-vhost basis.
+2004-04-10  castaglia <castaglia>
 
-2004-03-03 17:41  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.
 
-	* contrib/mod_tls.c:
-	  Didn't mean to commit those debugging changes.  Oops.
+2004-04-10  castaglia <castaglia>
 
-2004-03-03 17:33  castaglia
+	* doc/howto/Umask.html: Add the Umask mini-HOWTO.
 
-	* contrib/mod_tls.c:
-	  No need to be that verbose.
+2004-04-09  castaglia <castaglia>
 
-2004-03-03 13:21  castaglia
+	* doc/howto/Filters.html: Add the Filters mini-HOWTO to the source
+	distro.
 
-	* 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-04-09  castaglia <castaglia>
 
-2004-03-02 16:24  castaglia
+	* contrib/mod_ctrls_admin.c: Add ability to kick entire Classes via
+	the 'kick' action.
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#2355 - Send error message to client when 'TLSRequired both'
-	  is in effect.
+2004-04-09  castaglia <castaglia>
 
-2004-03-02 09:43  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.
 
-	* contrib/mod_tls.c:
-	  Typo.
+2004-04-09  castaglia <castaglia>
 
-2004-03-01 08:55  castaglia
+	* contrib/mod_ifsession.c: Removing this HOOK, as it won't work as
+	intended.  May re-add in the future.
 
-	* include/conf.h:
-	  Doesn't help to check for <utime.h> if we don't include it.
+2004-04-09  castaglia <castaglia>
 
-2004-03-01 08:54  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.
 
-	* 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-04-08  castaglia <castaglia>
 
-2004-03-01 08:47  castaglia
+	* contrib/mod_ctrls_admin.c: Add the 'kick' action to
+	mod_ctrls_admin, for disconnecting clients by user or host names.
 
-	* configure:
-	  Updating configure.
+2004-04-07  castaglia <castaglia>
 
-2004-03-01 08:44  castaglia
+	* doc/howto/Authentication.html: Add note about avoiding use of
+	mod_auth.c and mod_auth_pam.c in AuthOrder directives.
 
-	* config.h.in, configure.in:
-	  Check for the <utime.h> system header.
+2004-04-07  castaglia <castaglia>
 
-2004-03-01 08:43  castaglia
+	* contrib/mod_quotatab.c: Add a QuotaLog message warning that when
+	per_session is true, the QuotaTallyTable will not be updated.
 
-	* contrib/mod_ctrls_admin.c, contrib/mod_ctrls_admin.html,
-	  src/netacl.c:
-	  Complete the 'dump classes' control for mod_ctrls_admin.  Also
-	  adds the missing pr_netacl_get_type() function.
+2004-04-06  castaglia <castaglia>
 
-2004-03-01 08:42  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).
 
-	* src/event.c:
-	  Add some basic caching of the last valid event generated, as a
-	  minor optimization.
+2004-04-06  castaglia <castaglia>
 
-2004-02-27 16:17  castaglia
+	* src/ctrls.c: Fix a format warning on Solaris.
 
-	* contrib/mod_sql.html:
-	  Add HTML docs for mod_sql.
+2004-04-05  castaglia <castaglia>
 
-2004-02-27 14:53  castaglia
+	* contrib/mod_tls.c: Make sure and clear the relevant bits in
+	tls_flags when the control and data channels are closed.
 
-	* modules/mod_ls.c:
-	  STAT is an INFO command more than it is a DIRS command (for
-	  logging purposes).
+2004-04-05  castaglia <castaglia>
 
-2004-02-27 14:42  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.
 
-	* contrib/mod_sql.c:
-	  Add handling of the %L (local IP address) and %V (local DNS name)
-	  tags.  Fix formatting.
+2004-04-05  castaglia <castaglia>
 
-2004-02-27 11:44  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()).
 
-	* 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-04-05  castaglia <castaglia>
 
-2004-02-27 11:27  castaglia
+	* NEWS: Mention the adding of mini-HOWTOs in NEWS.
 
-	* NEWS, README.modules:
-	  Bug#2257 - Add SITE SYMLINK command to mod_site.  Added a new
-	  contrib module, mod_site_misc, instead.
+2004-03-25  castaglia <castaglia>
 
-2004-02-27 10:41  castaglia
+	* configure: Updating configure.
 
-	* contrib/: mod_site_misc.c, mod_site_misc.html:
-	  New contrib module that implements miscellaneous SITE commands
-	  (e.g. SITE SYMLINK, SITE UTIME, etc) that other ftpds may
-	  recognize (e.g. ncftpd).
+2004-03-25  castaglia <castaglia>
 
-2004-02-24 12:34  castaglia
+	* configure.in: Remove checks for README.mod_sql from configure.
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#2339 - STAT command doesn't follow RFC959.
+2004-03-25  castaglia <castaglia>
 
-2004-02-24 12:32  castaglia
+	* contrib/mod_tls.c: Report the version of OpenSSL used in server
+	debugging output.
 
-	* 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-03-24  castaglia <castaglia>
 
-2004-02-24 12:13  castaglia
+	* NEWS, contrib/ftpasswd: Bug#2371 - ftpasswd should have option to
+	compare password against value in passwd file.
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#2311 - MaxClients counts unauthenticated users.
+2004-03-23  castaglia <castaglia>
 
-2004-02-24 11:45  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.
 
-	* contrib/mod_sql.c:
-	  Oops.  My previous commit included my work-in-progress patch for
-	  SQLShowInfo, which isn't ready yet.
+2004-03-23  castaglia <castaglia>
 
-2004-02-24 11:39  castaglia
+	* modules/mod_ls.c: Add a comment explaining the fix for Bug#2367.
 
-	* 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.
+2004-03-23  castaglia <castaglia>
 
-	  Also add some typecasts to unsigned longs for reporting IDs.
+	* NEWS, modules/mod_ls.c: Bug#2367 - LIST *.* strange behaviour.
 
-2004-02-24 08:52  castaglia
+2004-03-22  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Typos.
+	* 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-02-23 16:44  castaglia
+2004-03-22  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Allow uploading to FIFOs.  Should we allow uploading to symlinks,
-	  too?
+	* 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-02-23 15:27  castaglia
+2004-03-19  castaglia <castaglia>
 
-	* modules/mod_site.c:
-	  mod_site no longer uses a configuration handler table.
+	* 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-02-23 11:30  castaglia
+2004-03-16  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Quell a minor compiler warning on OSX.
+	* 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-02-23 10:34  castaglia
+2004-03-11  castaglia <castaglia>
 
-	* README.modules:
-	  Adding mod_quotatab et al to the list of modules that accompany
-	  proftpd.
+	* NEWS, modules/mod_xfer.c: Bug#2363 - ABOR response RFC 959
+	compliance.
 
-2004-02-20 10:34  castaglia
+2004-03-11  castaglia <castaglia>
 
-	* NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c,
-	  src/main.c:
-	  Bug#1696 - Include directive should support directories.
+	* 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-02-20 09:10  castaglia
+2004-03-11  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.
+	* NEWS: Typos.
 
-2004-02-19 10:22  castaglia
+2004-03-10  castaglia <castaglia>
 
-	* README.IPv6:
-	  Updating the IPv6 notes.
+	* include/privs.h: Typo.
 
-2004-02-19 10:13  castaglia
+2004-03-09  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:
+	* 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.
 
-	    <IfUser foo>
-	      <Limit LOGIN>
-		DenyAll
-	      </Limit>
-	    </IfUser>
+2004-03-08  castaglia <castaglia>
 
-2004-02-16 19:53  castaglia
+	* README.controls: Clarify that using --enable-ctrls means not using
+	--with-modules=mod_ctrls.
 
-	* NEWS, modules/mod_auth_pam.c:
-	  Bug#2105 - Remove Authoritative directives.
+2004-03-05  castaglia <castaglia>
 
-2004-02-16 19:09  castaglia
+	* modules/mod_core.c: On second thought, setting errno to ENOENT in
+	these cases may not be the best idea.
 
-	* contrib/ftpasswd.html:
-	  Documenting the new --delete-user and --delete-group options.
-	  Examples should be added at some point, too.
+2004-03-05  castaglia <castaglia>
 
-2004-02-16 19:06  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.
 
-	* NEWS, contrib/ftpasswd:
-	  Bug#2171 - Add delete options to ftpasswd.
+2004-03-05  castaglia <castaglia>
 
-2004-02-16 18:15  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.
 
-	* 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-03-05  castaglia <castaglia>
 
-2004-02-16 15:05  castaglia
+	* NEWS, utils/ftptop.c: Bug#2357 - ftptop should use COLS for
+	determining display width.
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#2237 - HiddenStores does not check for existing file in edge
-	  case.
+2004-03-05  castaglia <castaglia>
 
-2004-02-15 14:58  castaglia
+	* configure: Updating configure.
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#2327 - SQLNegativeCache causes unnecessary errors in server
-	  logging.
+2004-03-05  castaglia <castaglia>
 
-2004-02-15 14:42  castaglia
+	* NEWS, config.h.in, configure.in, modules/mod_xfer.c: Bug#2353 -
+	REST doesn't handle offsets greater than 2 GB.
 
-	* contrib/mod_sql.c:
-	  Note the directive name when warning of deprecated * usage.
+2004-03-04  castaglia <castaglia>
 
-2004-02-15 14:05  castaglia
+	* modules/mod_core.c: Change handling of the SetEnv, UnsetEnv
+	directives so that that they can be set on a per-vhost basis.
 
-	* 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-03-04  castaglia <castaglia>
 
-2004-02-15 11:41  castaglia
+	* contrib/mod_tls.c: Didn't mean to commit those debugging changes.
+	Oops.
 
-	* NEWS:
-	  Mention in the NEWS file that Class and Classes are now
-	  deprecated.
+2004-03-04  castaglia <castaglia>
 
-2004-02-13 15:37  castaglia
+	* contrib/mod_tls.c: No need to be that verbose.
 
-	* contrib/mod_quotatab.h:
-	  Update mod_quotatab's PROFTPD_VERSION_NUMBER check.
+2004-03-03  castaglia <castaglia>
 
-2004-02-13 15:28  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.
 
-	* contrib/mod_ifsession.c:
-	  Update the PROFTPD_VERSION_NUMBER check.
+2004-03-03  castaglia <castaglia>
 
-2004-02-13 14:47  castaglia
+	* NEWS, contrib/mod_tls.c: Bug#2355 - Send error message to client
+	when 'TLSRequired both' is in effect.
 
-	* contrib/mod_rewrite.c:
-	  Updating mod_rewrite for Class code changes.
+2004-03-02  castaglia <castaglia>
 
-2004-02-13 14:45  castaglia
+	* contrib/mod_tls.c: Typo.
 
-	* contrib/mod_quotatab.c:
-	  Updating mod_quotatab for Class code changes.
+2004-03-01  castaglia <castaglia>
 
-2004-02-13 14:44  castaglia
+	* include/conf.h: Doesn't help to check for <utime.h> if we don't
+	include it.
 
-	* contrib/mod_ifsession.c:
-	  Updating mod_ifsession to reflect Class changes.
+2004-03-01  castaglia <castaglia>
 
-2004-02-12 15:46  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.
 
-	* NEWS, Makefile.in:
-	  Bug#2340 - Problem with parallel builds.
+2004-03-01  castaglia <castaglia>
 
-2004-02-11 19:48  castaglia
+	* configure: Updating configure.
 
-	* contrib/mod_radius.html:
-	  Update the mod_radius installation instructions.
+2004-03-01  castaglia <castaglia>
 
-2004-02-11 19:47  castaglia
+	* config.h.in, configure.in: Check for the <utime.h> system header.
 
-	* contrib/mod_radius.html:
-	  Typo.
+2004-03-01  castaglia <castaglia>
 
-2004-02-11 19:41  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.
 
-	* contrib/mod_radius.html:
-	  Update the mod_radius docs.
+2004-03-01  castaglia <castaglia>
 
-2004-02-10 15:31  castaglia
+	* src/event.c: Add some basic caching of the last valid event
+	generated, as a minor optimization.
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#2337 - TLSRenegotiate parameters not processed correctly.
+2004-02-27  castaglia <castaglia>
 
-2004-02-09 20:07  castaglia
+	* modules/mod_ls.c: STAT is an INFO command more than it is a DIRS
+	command (for logging purposes).
 
-	* 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).
+2004-02-27  castaglia <castaglia>
 
-	  This highlights a need for a good list/set-iterating API, rather
-	  than relying on details of the actual structures.
+	* contrib/mod_sql.c: Add handling of the %L (local IP address) and
+	%V (local DNS name) tags.  Fix formatting.
 
-2004-02-07 17:55  castaglia
+2004-02-27  castaglia <castaglia>
 
-	* contrib/mod_readme.c:
-	  Update mod_readme to use the new pr_gmtime() function.
+	* 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-07 17:12  castaglia
+2004-02-27  castaglia <castaglia>
 
-	* NEWS, utils/ftpcount.c:
-	  Bug#2306 - ftpcount output should handle case of no users.
+	* NEWS, README.modules: Bug#2257 - Add SITE SYMLINK command to
+	mod_site.  Added a new contrib module, mod_site_misc, instead.
 
-2004-02-07 16:40  castaglia
+2004-02-27  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.
+	* 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-04 10:45  castaglia
+2004-02-24  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.
+	* NEWS, modules/mod_ls.c: Bug#2339 - STAT command doesn't follow
+	RFC959.
 
-2004-02-03 15:57  castaglia
+2004-02-24  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c, src/dirtree.c:
-	  Bug#2315 - Overlapping virtual server causes error.
+	* 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.
 
-	  Also changes the collision check log messages to say "warning"
-	  rather than "error".
+2004-02-24  castaglia <castaglia>
 
-2004-02-01 12:51  castaglia
+	* NEWS, modules/mod_auth.c: Bug#2311 - MaxClients counts
+	unauthenticated users.
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#2322 - NLST -a returns listing formatted for LIST -a.
+2004-02-24  castaglia <castaglia>
 
-2004-01-30 16:08  castaglia
+	* contrib/mod_sql.c: Oops.  My previous commit included my
+	work-in-progress patch for SQLShowInfo, which isn't ready yet.
 
-	* src/log.c:
-	  Addition of PID was redundant.  Oops.
+2004-02-24  castaglia <castaglia>
 
-2004-01-30 15:09  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.
 
-	* src/netaddr.c:
-	  "dup" is an already used global variable in some system headers.
-	  How annoying.
+2004-02-24  castaglia <castaglia>
 
-2004-01-30 08:42  castaglia
+	* modules/mod_core.c: Typos.
 
-	* 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-02-24  castaglia <castaglia>
 
-2004-01-29 19:37  castaglia
+	* modules/mod_xfer.c: Allow uploading to FIFOs.  Should we allow
+	uploading to symlinks, too?
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#2295 - mod_tls returns multi-line response to AUTH commands.
+2004-02-23  castaglia <castaglia>
 
-2004-01-29 19:09  castaglia
+	* modules/mod_site.c: mod_site no longer uses a configuration
+	handler table.
 
-	* README.classes:
-	  Explicitly mention that the Class and Classes directives are
-	  deprecated.
+2004-02-23  castaglia <castaglia>
 
-2004-01-29 14:20  castaglia
+	* src/dirtree.c: Quell a minor compiler warning on OSX.
 
-	* 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-02-23  castaglia <castaglia>
 
-2004-01-28 19:37  castaglia
+	* README.modules: Adding mod_quotatab et al to the list of modules
+	that accompany proftpd.
 
-	* 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-02-20  castaglia <castaglia>
 
-2004-01-28 19:19  castaglia
+	* NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c,
+	src/main.c: Bug#1696 - Include directive should support directories.
 
-	* include/netaddr.h, src/netaddr.c:
-	  Add a new function, pr_netaddr_dup(), for convenience.
+2004-02-20  castaglia <castaglia>
 
-2004-01-28 17:03  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.
 
-	* 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-02-19  castaglia <castaglia>
 
-2004-01-20 16:35  cyberrobo
+	* README.IPv6: Updating the IPv6 notes.
 
-	* .cvsignore: adding ftpdctl to the ignorelist
+2004-02-19  castaglia <castaglia>
 
-2004-01-20 15:26  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>
 
-	* contrib/mod_quotatab_sql.html:
-	  Add FREEFORM INSERT query that is needed when talking to SQL
-	  Server.
+2004-02-17  castaglia <castaglia>
 
-2004-01-20 09:11  castaglia
+	* NEWS, modules/mod_auth_pam.c: Bug#2105 - Remove Authoritative
+	directives.
 
-	* contrib/mod_radius.html:
-	  Grammar fix.
+2004-02-17  castaglia <castaglia>
 
-2004-01-20 09:07  castaglia
+	* NEWS, contrib/ftpasswd: Bug#2171 - Add delete options to ftpasswd.
 
-	* contrib/mod_radius.html:
-	  Make a note of some nonsensical RADIUS implementations not being
-	  supported by mod_radius.
+2004-02-17  castaglia <castaglia>
 
-2004-01-19 10:00  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.
 
-	* 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-02-16  castaglia <castaglia>
 
-2004-01-19 09:58  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#2237 - HiddenStores does not check
+	for existing file in edge case.
 
-	* 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.
+2004-02-15  castaglia <castaglia>
 
-	  Also, when building mod_ctrls_admin, make sure that Controls
-	  support has been enabled.
+	* NEWS, contrib/mod_sql.c: Bug#2327 - SQLNegativeCache causes
+	unnecessary errors in server logging.
 
-2004-01-19 09:42  castaglia
+2004-02-15  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.
+	* contrib/mod_sql.c: Note the directive name when warning of
+	deprecated * usage.
 
-2004-01-18 11:01  castaglia
+2004-02-15  castaglia <castaglia>
 
-	* utils/: ftptop.c, utils.h:
-	  No need to include <sys/types.h> in these files, as it is already
-	  included in config.h.
+	* 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-01-18 10:21  castaglia
+2004-02-15  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).
+	* NEWS: Mention in the NEWS file that Class and Classes are now
+	deprecated.
 
-2004-01-18 10:11  castaglia
+2004-02-13  castaglia <castaglia>
 
-	* modules/mod_ctrls.c:
-	  No need to log the error using root privs.
+	* contrib/mod_quotatab.h: Update mod_quotatab's
+	PROFTPD_VERSION_NUMBER check.
 
-2004-01-17 22:07  cyberrobo
+2004-02-13  castaglia <castaglia>
 
-	* src/.cvsignore: added ftpdctl manpage to ignore list
+	* contrib/mod_ifsession.c: Update the PROFTPD_VERSION_NUMBER check.
 
-2004-01-17 15:18  castaglia
+2004-02-13  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script.
+	* contrib/mod_rewrite.c: Updating mod_rewrite for Class code
+	changes.
 
-2004-01-17 15:16  castaglia
+2004-02-13  castaglia <castaglia>
 
-	* NEWS, configure.in:
-	  Bug#2320 - autoconf check for socklen_t doesn't work on FreeBSD
-	  4.8-RELEASE.
+	* contrib/mod_quotatab.c: Updating mod_quotatab for Class code
+	changes.
 
-2004-01-17 15:08  castaglia
+2004-02-13  castaglia <castaglia>
 
-	* NEWS, Makefile.in:
-	  Bug#2319 - Build scripts have owner-only execute permission.
+	* contrib/mod_ifsession.c: Updating mod_ifsession to reflect Class
+	changes.
 
-2004-01-17 14:57  castaglia
+2004-02-12  castaglia <castaglia>
 
-	* config.sub:
-	  No, that didn't work.
+	* Makefile.in, NEWS: Bug#2340 - Problem with parallel builds.
 
-2004-01-17 14:56  castaglia
+2004-02-10  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.
+	* NEWS, contrib/mod_tls.c: Bug#2337 - TLSRenegotiate parameters not
+	processed correctly.
 
-2004-01-16 12:47  castaglia
+2004-02-10  castaglia <castaglia>
 
-	* README.classes:
-	  First draft of a README describing the new <Class> syntax.
-	  Edits/additions welcome.
+	* 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-01-15 16:45  castaglia
+2004-02-08  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Have the emitted vhost collision message say "warning", rather
-	  than "error".
+	* contrib/mod_readme.c: Update mod_readme to use the new pr_gmtime()
+	function.
 
-2004-01-15 16:29  castaglia
+2004-02-08  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  The current CreateHome description has the following examples:
+	* NEWS, utils/ftpcount.c: Bug#2306 - ftpcount output should handle
+	case of no users.
 
-	    CreateHome on skel /etc/ftpd/skel
-	    CreateHome on dirmode 755
-	    CreateHome on skel /etc/ftpd/skel dirmode 700
+2004-02-08  castaglia <castaglia>
 
-	  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.
+	* 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-01-15 15:54  castaglia
+2004-02-04  castaglia <castaglia>
 
-	* contrib/mod_quotatab.c:
-	  Christian Schulte <cs at 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.
+	* 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-01-15 13:51  castaglia
+2004-02-03  castaglia <castaglia>
 
-	* README.controls:
-	  Updating/fixing this document.
+	* 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-01-14 12:57  castaglia
+2004-02-01  castaglia <castaglia>
 
-	* README.controls:
-	  Add a README describing the new Controls code.  It's a work in
-	  progress.
+	* NEWS, modules/mod_ls.c: Bug#2322 - NLST -a returns listing
+	formatted for LIST -a.
 
-2004-01-13 20:00  castaglia
+2004-01-31  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Fix compiler warning.
+	* src/log.c: Addition of PID was redundant.  Oops.
 
-2004-01-13 15:47  castaglia
+2004-01-30  castaglia <castaglia>
 
-	* NEWS:
-	  Add comment that bug 2183 is the same as bug 2165.
+	* src/netaddr.c: "dup" is an already used global variable in some
+	system headers.  How annoying.
 
-2004-01-12 15:13  castaglia
+2004-01-30  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Consistency.
+	* 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-12 15:01  castaglia
+2004-01-30  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.
+	* NEWS, contrib/mod_tls.c: Bug#2295 - mod_tls returns multi-line
+	response to AUTH commands.
 
-	  Fix a typo.
+2004-01-30  castaglia <castaglia>
 
-2004-01-11 13:33  castaglia
+	* README.classes: Explicitly mention that the Class and Classes
+	directives are deprecated.
 
-	* NEWS, contrib/mod_sql_mysql.c:
-	  Bug#2307 - MySQL 4.1.1 API change causes mod_sql_mysql
-	  compilation failure.
+2004-01-29  castaglia <castaglia>
 
-2004-01-08 20:41  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.
 
-	* src/pool.c:
-	  The logic for handling new_block()'s exact argument was
-	  accidentally inverted.
+2004-01-29  castaglia <castaglia>
 
-2004-01-08 20:23  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.
 
-	* include/pool.h, src/pool.c:
-	  Be consistent with the argument data types.  These probably
-	  should be size_ts, but ints suffice.
+2004-01-29  castaglia <castaglia>
 
-2004-01-08 20:15  castaglia
+	* include/netaddr.h, src/netaddr.c: Add a new function,
+	pr_netaddr_dup(), for convenience.
 
-	* 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-29  castaglia <castaglia>
 
-2004-01-02 07:27  jwm
+	* 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.
 
-	* NEWS:
-	  - Bug 2267 - Broken IP subnet matching. Added new ACL
-	  parsing/matching code.
+2004-01-21  cyberrobo <cyberrobo>
 
-2003-12-30 15:17  castaglia
+	* .cvsignore: adding ftpdctl to the ignorelist
 
-	* 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.
+2004-01-19  castaglia <castaglia>
 
-2003-12-30 14:56  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.
 
-	* src/main.c:
-	  Style.
+2004-01-19  castaglia <castaglia>
 
-2003-12-26 07:59  jwm
+	* 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.
 
-	* NEWS, Makefile.in: Bug 2305 - Compile Problems since > 1.2.9 Link
-	  ftpdctl against libsocket and libnsl to pick up dependency
-	  functions
+2004-01-19  castaglia <castaglia>
 
-2003-12-19 13:29  castaglia
+	* src/log.c: Make pr_log_writefile() a little more robust, by
+	checking whether the given fd is valid before doing any work.
 
-	* contrib/mod_quotatab.c:
-	  Don't subtract xfer bytes when deleting a directory.	Found and
-	  fixed by Christian Schulte <cs at schulte.it>
+2004-01-18  castaglia <castaglia>
 
-2003-12-16 09:43  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.
 
-	* NEWS, src/netio.c:
-	  Bug#2300 - poll() returns 1 and read returns 0, inifinite loop.
+2004-01-18  castaglia <castaglia>
 
-2003-12-14 14:09  jwm
+	* 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).
 
-	* contrib/dist/rpm/proftpd.spec:
-	  [Bug 2301] New: (s)rpms should require "/sbin/chkconfig" instead
-	  of package "chkconfig"
+2004-01-18  castaglia <castaglia>
 
-2003-12-11 12:30  castaglia
+	* modules/mod_ctrls.c: No need to log the error using root privs.
 
-	* contrib/mod_quotatab.h:
-	  Bump the mod_quotatab version, for clarity.
+2004-01-18  cyberrobo <cyberrobo>
 
-2003-12-11 00:04  castaglia
+	* src/.cvsignore: added ftpdctl manpage to ignore list
 
-	* modules/mod_auth.c:
-	  Forgot to add strerror() to the DefaultRoot resolution debugging.
+2004-01-17  castaglia <castaglia>
 
-2003-12-10 23:59  castaglia
+	* configure: Updating configure script.
 
-	* modules/mod_auth.c:
-	  Add some debugging to the function which determines the actual
-	  path to use for DefaultRoot.
+2004-01-17  castaglia <castaglia>
 
-2003-12-09 12:08  castaglia
+	* NEWS, configure.in: Bug#2320 - autoconf check for socklen_t
+	doesn't work on FreeBSD 4.8-RELEASE.
 
-	* contrib/mod_quotatab.c:
-	  More minor quotatab bugs fixed by Christian Schulte
-	  <cs at schulte.it>.
+2004-01-17  castaglia <castaglia>
 
-2003-12-09 11:57  castaglia
+	* Makefile.in, NEWS: Bug#2319 - Build scripts have owner-only
+	execute permission.
 
-	* contrib/mod_quotatab_sql.c:
-	  Bug found by Christian Schulte <cs at schulte.it>: delta values are
-	  signed, and can be negative.
+2004-01-17  castaglia <castaglia>
 
-2003-12-02 23:43  castaglia
+	* config.sub: No, that didn't work.
 
-	* contrib/: ftpquota.html, mod_quotatab.html,
-	  mod_quotatab_file.html, mod_quotatab_ldap.html,
-	  mod_quotatab_sql.html:
-	  Updating mod_quotatab docs to reflect the fact that the current
-	  versions will now always be found in the source distribution,
-	  rather than on castaglia.org/proftpd.
+2004-01-17  castaglia <castaglia>
 
-2003-12-02 23:39  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.
 
-	* NEWS, contrib/ftpquota, contrib/ftpquota.html,
-	  contrib/mod_quotatab.c, contrib/mod_quotatab.h,
-	  contrib/mod_quotatab.html, contrib/mod_quotatab_file.c,
-	  contrib/mod_quotatab_file.html, contrib/mod_quotatab_ldap.c,
-	  contrib/mod_quotatab_ldap.html, contrib/mod_quotatab_sql.c,
-	  contrib/mod_quotatab_sql.html:
-	  Adding mod_quotatab to the contrib area.
+2004-01-16  castaglia <castaglia>
 
-2003-12-02 16:16  castaglia
+	* README.classes: First draft of a README describing the new <Class>
+	syntax.  Edits/additions welcome.
 
-	* 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.
+2004-01-16  castaglia <castaglia>
 
-2003-12-01 19:06  castaglia
+	* modules/mod_core.c: Have the emitted vhost collision message say
+	"warning", rather than "error".
 
-	* modules/mod_core.c:
-	  Adjust mod_core.c to use the pr_* wrappers for gmtime(),
-	  localtime().
+2004-01-16  castaglia <castaglia>
 
-2003-12-01 18:54  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.
 
-	* 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.
+2004-01-15  castaglia <castaglia>
 
-2003-11-19 12:57  castaglia
+	* contrib/mod_quotatab.c: Christian Schulte <cs at 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.
 
-	* 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.
+2004-01-15  castaglia <castaglia>
 
-2003-11-19 12:13  castaglia
+	* README.controls: Updating/fixing this document.
 
-	* NEWS, Makefile.in:
-	  Bug#1635 - Older systems' chown(1) does not support -h option.
+2004-01-14  castaglia <castaglia>
 
-2003-11-17 10:58  castaglia
+	* README.controls: Add a README describing the new Controls code.
+	It's a work in progress.
 
-	* src/netaddr.c:
-	  Adding comments to clarify the purpose/usage of the
-	  get_v4inaddr() function.
+2004-01-14  castaglia <castaglia>
 
-2003-11-15 17:32  castaglia
+	* modules/mod_auth.c: Fix compiler warning.
 
-	* src/netacl.c:
-	  Forgot to change this function name.
+2004-01-13  castaglia <castaglia>
 
-2003-11-15 17:25  castaglia
+	* NEWS: Add comment that bug 2183 is the same as bug 2165.
 
-	* src/netacl.c:
-	  Typo.
+2004-01-12  castaglia <castaglia>
 
-2003-11-15 16:55  castaglia
+	* modules/mod_xfer.c: Consistency.
 
-	* include/netacl.h, src/dirtree.c, src/netacl.c:
-	  Making the ACL type publically available via an accessor.
+2004-01-12  castaglia <castaglia>
 
-2003-11-15 16:49  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.
 
-	* contrib/: mod_ctrls_admin.c, mod_ctrls_admin.html:
-	  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.
+2004-01-11  castaglia <castaglia>
 
-2003-11-15 15:49  castaglia
+	* NEWS, contrib/mod_sql_mysql.c: Bug#2307 - MySQL 4.1.1 API change
+	causes mod_sql_mysql compilation failure.
 
-	* 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.
+2004-01-09  castaglia <castaglia>
 
-2003-11-15 12:41  castaglia
+	* src/pool.c: The logic for handling new_block()'s exact argument
+	was accidentally inverted.
 
-	* 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.
+2004-01-09  castaglia <castaglia>
 
-2003-11-15 12:30  castaglia
+	* include/pool.h, src/pool.c: Be consistent with the argument data
+	types.  These probably should be size_ts, but ints suffice.
 
-	* src/dirtree.c:
-	  Bad grammar.
+2004-01-09  castaglia <castaglia>
 
-2003-11-15 12:27  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).
 
-	* NEWS, src/dirtree.c:
-	  Bug#2048 - Add ability to get configuration file values from
-	  environment.
+2004-01-02  jwm <jwm>
 
-2003-11-15 11:52  castaglia
+	* NEWS: - Bug 2267 - Broken IP subnet matching. Added new ACL
+	parsing/matching code.
 
-	* 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-12-30  castaglia <castaglia>
 
-2003-11-15 11:43  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.
 
-	* modules/mod_core.c:
-	  Handle IPv4 address Binds properly for DefaultAddress when IPv6
-	  is in use.
+2003-12-30  castaglia <castaglia>
 
-2003-11-14 18:31  castaglia
+	* src/main.c: Style.
 
-	* configure:
-	  Updating configure.
+2003-12-26  jwm <jwm>
 
-2003-11-14 18:27  castaglia
+	* Makefile.in, NEWS: Bug 2305 - Compile Problems since > 1.2.9 Link
+	ftpdctl against libsocket and libnsl to pick up dependency functions
 
-	* 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-12-19  castaglia <castaglia>
 
-2003-11-12 23:25  castaglia
+	* contrib/mod_quotatab.c: Don't subtract xfer bytes when deleting a
+	directory.  Found and fixed by Christian Schulte <cs at schulte.it>
 
-	* src/netaddr.c:
-	  Should be using pcalloc() not palloc().
+2003-12-16  castaglia <castaglia>
 
-2003-11-12 11:14  castaglia
+	* NEWS, src/netio.c: Bug#2300 - poll() returns 1 and read returns 0,
+	inifinite loop.
 
-	* contrib/: mod_ctrls_admin.c, mod_ctrls_admin.html:
-	  Use '#' as the address/port delimiter, rather than '/'.
+2003-12-14  jwm <jwm>
 
-2003-11-12 08:20  castaglia
+	* contrib/dist/rpm/proftpd.spec: [Bug 2301] New: (s)rpms should
+	require "/sbin/chkconfig" instead of package "chkconfig"
 
-	* NEWS, src/inet.c:
-	  Updating code for Mac OS X 10.3 (Darwin 7).
+2003-12-11  castaglia <castaglia>
 
-2003-11-10 13:38  castaglia
+	* contrib/mod_quotatab.h: Bump the mod_quotatab version, for
+	clarity.
 
-	* configure:
-	  Updating configure.
+2003-12-11  castaglia <castaglia>
 
-2003-11-10 13:33  castaglia
+	* modules/mod_auth.c: Forgot to add strerror() to the DefaultRoot
+	resolution debugging.
 
-	* config.h.in, configure.in:
-	  Add a check for the getenv(3) function.
+2003-12-11  castaglia <castaglia>
 
-2003-11-09 19:56  castaglia
+	* modules/mod_auth.c: Add some debugging to the function which
+	determines the actual path to use for DefaultRoot.
 
-	* contrib/mod_ctrls_admin.html:
-	  Document the 'config' option to the 'debug' action.
+2003-12-09  castaglia <castaglia>
 
-2003-11-09 19:55  castaglia
+	* contrib/mod_quotatab.c: More minor quotatab bugs fixed by
+	Christian Schulte <cs at schulte.it>.
 
-	* 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-12-09  castaglia <castaglia>
 
-2003-11-09 19:52  castaglia
+	* contrib/mod_quotatab_sql.c: Bug found by Christian Schulte
+	<cs at schulte.it>: delta values are signed, and can be negative.
 
-	* src/pool.c:
-	  Better name for this printf-like function pointer variable.
+2003-12-03  castaglia <castaglia>
 
-2003-11-09 19:14  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.
 
-	* configure:
-	  Updating configure.
+2003-12-03  castaglia <castaglia>
 
-2003-11-09 19:10  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.
 
-	* configure.in:
-	  Some systems (e.g. FreeBSD) declare getaddrinfo(2) in
-	  <sys/socket.h>.
+2003-12-02  castaglia <castaglia>
 
-2003-11-09 16:51  castaglia
+	* modules/mod_core.c: Adjust mod_core.c to use the pr_* wrappers for
+	gmtime(), localtime().
 
-	* contrib/mod_ctrls_admin.c:
-	  Update mod_ctrls_admin to use events.
+2003-12-02  castaglia <castaglia>
 
-2003-11-09 16:01  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.
 
-	* contrib/: mod_ctrls_admin.c, mod_ctrls_admin.html:
-	  Controls are useless without something implementing some control
-	  actions; add the mod_ctrls_admin module (was mod_ctrls_common) to
-	  contrib.
+2003-11-19  castaglia <castaglia>
 
-2003-11-09 15:32  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.
 
-	* src/: auth.c, ctrls.c, data.c, dirtree.c, event.c, fsio.c,
-	  ident.c, log.c, main.c, mkhome.c, netaddr.c, scoreboard.c,
-	  support.c:
-	  Updating the source code to use pr_log_debug() rather than
-	  log_debug().
+2003-11-19  castaglia <castaglia>
 
-2003-11-09 15:10  castaglia
+	* Makefile.in, NEWS: Bug#1635 - Older systems' chown(1) does not
+	support -h option.
 
-	* modules/: mod_auth.c, mod_auth_file.c, mod_cap.c, mod_core.c,
-	  mod_ctrls.c, mod_log.c, mod_ls.c, mod_site.c, mod_xfer.c:
-	  Updating modules to use pr_log_debug() rather than log_debug().
+2003-11-17  castaglia <castaglia>
 
-2003-11-09 14:59  castaglia
+	* src/netaddr.c: Adding comments to clarify the purpose/usage of the
+	get_v4inaddr() function.
 
-	* include/privs.h:
-	  Use pr_log_debug() rather than log_debug().
+2003-11-16  castaglia <castaglia>
 
-2003-11-09 14:54  castaglia
+	* src/netacl.c: Forgot to change this function name.
 
-	* doc/mod_sample.c:
-	  Updating the sample module mod_sample.c to use pr_log_*() rather
-	  than log_*().
+2003-11-16  castaglia <castaglia>
 
-2003-11-09 14:51  castaglia
+	* src/netacl.c: Typo.
 
-	* modules/mod_core.c:
-	  unsetenv(3) returns void, not int.
+2003-11-16  castaglia <castaglia>
 
-2003-11-09 14:48  castaglia
+	* include/netacl.h, src/dirtree.c, src/netacl.c: Making the ACL type
+	publically available via an accessor.
 
-	* src/main.c:
-	  Typo.
+2003-11-16  castaglia <castaglia>
 
-2003-11-09 14:43  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.
 
-	* src/main.c:
-	  Forgot to cleanup one sig_debug() reference.
+2003-11-15  castaglia <castaglia>
 
-2003-11-09 14:40  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.
 
-	* 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-15  castaglia <castaglia>
 
-2003-11-09 14:19  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.
 
-	* 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-15  castaglia <castaglia>
 
-2003-11-09 13:35  castaglia
+	* src/dirtree.c: Bad grammar.
 
-	* contrib/mod_ldap.c:
-	  Updating mod_ldap.c to use pr_log_*() rather than log_*().
+2003-11-15  castaglia <castaglia>
 
-2003-11-09 13:29  castaglia
+	* NEWS, src/dirtree.c: Bug#2048 - Add ability to get configuration
+	file values from environment.
 
-	* contrib/mod_ratio.c:
-	  Updating mod_ratio.c to use pr_log_*() rather than log_*().
+2003-11-15  castaglia <castaglia>
 
-2003-11-09 13:28  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.
 
-	* contrib/mod_wrap.c:
-	  Updating mod_wrap.c to use pr_log_*() rather than log_*().
+2003-11-15  castaglia <castaglia>
 
-2003-11-09 13:26  castaglia
+	* modules/mod_core.c: Handle IPv4 address Binds properly for
+	DefaultAddress when IPv6 is in use.
 
-	* contrib/mod_tls.c:
-	  Updating mod_tls.c to use pr_log_*() rather than log_*().
+2003-11-15  castaglia <castaglia>
 
-2003-11-09 13:25  castaglia
+	* configure: Updating configure.
 
-	* contrib/mod_sql_postgres.c:
-	  Updating mod_sql_postgres to use pr_log_*() rather than log_*().
+2003-11-15  castaglia <castaglia>
 
-2003-11-09 13:24  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.
 
-	* modules/mod_core.c, src/main.c:
-	  The function is now pr_log_setdebuglevel(), not
-	  log_setdebuglevel().
+2003-11-13  castaglia <castaglia>
 
-2003-11-09 13:23  castaglia
+	* src/netaddr.c: Should be using pcalloc() not palloc().
 
-	* contrib/mod_sql_mysql.c:
-	  Updating mod_sql_mysql.c to use pr_log_*() rather than log_*().
+2003-11-12  castaglia <castaglia>
 
-2003-11-09 13:22  castaglia
+	* contrib/mod_ctrls_admin.c: Use '#' as the address/port delimiter,
+	rather than '/'.
 
-	* contrib/mod_sql.c:
-	  Updating mod_sql.c to use pr_log_*() rather than log_*().
+2003-11-12  castaglia <castaglia>
 
-2003-11-09 13:20  castaglia
+	* NEWS, src/inet.c: Updating code for Mac OS X 10.3 (Darwin 7).
 
-	* contrib/mod_rewrite.c:
-	  Updating mod_rewrite.c to use pr_log_*() rather than log_*().
+2003-11-10  castaglia <castaglia>
 
-2003-11-09 13:19  castaglia
+	* configure: Updating configure.
 
-	* contrib/mod_readme.c:
-	  Updating mod_readme to use pr_log_debug() rather than
-	  log_debug().
+2003-11-10  castaglia <castaglia>
 
-2003-11-09 13:18  castaglia
+	* config.h.in, configure.in: Add a check for the getenv(3) function.
 
-	* contrib/mod_radius.c:
-	  Updating mod_radius.c to use pr_log_pri() rather than log_pri().
+2003-11-10  castaglia <castaglia>
 
-2003-11-09 13:16  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.
 
-	* contrib/mod_ifsession.c:
-	  Updating mod_ifsession to use pr_log_debug() rather than
-	  log_debug().
+2003-11-10  castaglia <castaglia>
 
-2003-11-09 13:11  castaglia
+	* src/pool.c: Better name for this printf-like function pointer
+	variable.
 
-	* 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-10  castaglia <castaglia>
 
-2003-11-09 13:09  castaglia
+	* configure: Updating configure.
 
-	* 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-10  castaglia <castaglia>
 
-2003-11-09 11:53  castaglia
+	* configure.in: Some systems (e.g. FreeBSD) declare getaddrinfo(2)
+	in <sys/socket.h>.
 
-	* NEWS:
-	  Note the affect of the logging class change for RNFR and RNTO.
+2003-11-10  castaglia <castaglia>
 
-2003-11-09 09:08  castaglia
+	* contrib/mod_ctrls_admin.c: Update mod_ctrls_admin to use events.
 
-	* 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-10  castaglia <castaglia>
 
-2003-11-09 09:04  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.
 
-	* src/ftpdctl.8.in:
-	  Tweak the ftpdctl man page a little.
+2003-11-09  castaglia <castaglia>
 
-2003-11-09 00:02  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().
 
-	* configure:
-	  Updating configure.
+2003-11-09  castaglia <castaglia>
 
-2003-11-09 00:00  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().
 
-	* Makefile.in, configure.in, src/ftpdctl.8.in:
-	  Adding ftpdctl man page.
+2003-11-09  castaglia <castaglia>
 
-2003-11-08 23:47  castaglia
+	* include/privs.h: Use pr_log_debug() rather than log_debug().
 
-	* src/ctrls.c:
-	  Tag pools allocated in the Controls API.  Style cleanup.
+2003-11-09  castaglia <castaglia>
 
-2003-11-08 21:38  castaglia
+	* doc/mod_sample.c: Updating the sample module mod_sample.c to use
+	pr_log_*() rather than log_*().
 
-	* NEWS, modules/mod_core.c:
-	  Bug#2046 - Change RFNR and RNTO logging class to WRITE.
+2003-11-09  castaglia <castaglia>
 
-2003-11-08 21:15  castaglia
+	* modules/mod_core.c: unsetenv(3) returns void, not int.
 
-	* contrib/mod_wrap.c:
-	  Wrong function name.
+2003-11-09  castaglia <castaglia>
 
-2003-11-08 21:11  castaglia
+	* src/main.c: Typo.
 
-	* modules/: mod_auth.c, mod_core.c, mod_xfer.c:
-	  Updating the rest of the core code to use the newer Expressions
-	  API.
+2003-11-09  castaglia <castaglia>
 
-2003-11-08 21:03  castaglia
+	* src/main.c: Forgot to cleanup one sig_debug() reference.
 
-	* contrib/mod_wrap.c:
-	  Updating mod_wrap for the newer Expressions API.
+2003-11-09  castaglia <castaglia>
 
-2003-11-08 20:53  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).
 
-	* 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>
 
-2003-11-08 20:46  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.
 
-	* 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>
 
-2003-11-08 20:43  castaglia
+	* contrib/mod_ldap.c: Updating mod_ldap.c to use pr_log_*() rather
+	than log_*().
 
-	* configure:
-	  Updating configure.
+2003-11-09  castaglia <castaglia>
 
-2003-11-08 19:41  castaglia
+	* contrib/mod_ratio.c: Updating mod_ratio.c to use pr_log_*() rather
+	than log_*().
 
-	* contrib/mod_ifsession.c:
-	  Adjust mod_ifsession to use the same expression indicator values
-	  as the core code.
+2003-11-09  castaglia <castaglia>
 
-2003-11-08 19:37  castaglia
+	* contrib/mod_wrap.c: Updating mod_wrap.c to use pr_log_*() rather
+	than log_*().
 
-	* 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>
 
-2003-11-08 18:34  castaglia
+	* contrib/mod_tls.c: Updating mod_tls.c to use pr_log_*() rather
+	than log_*().
 
-	* 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>
 
-2003-11-08 18:29  castaglia
+	* contrib/mod_sql_postgres.c: Updating mod_sql_postgres to use
+	pr_log_*() rather than log_*().
 
-	* modules/mod_auth.c:
-	  Generate events when the MaxClients* and MaxHostsPerUser limits
-	  are hit.
+2003-11-09  castaglia <castaglia>
 
-2003-11-08 18:17  castaglia
+	* modules/mod_core.c, src/main.c: The function is now
+	pr_log_setdebuglevel(), not log_setdebuglevel().
 
-	* 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>
 
-2003-11-08 18:08  castaglia
+	* contrib/mod_sql_mysql.c: Updating mod_sql_mysql.c to use
+	pr_log_*() rather than log_*().
 
-	* modules/mod_ctrls.c:
-	  Modify mod_ctrls to use the new Event API (as all new modules
-	  should).
+2003-11-09  castaglia <castaglia>
 
-2003-11-08 17:55  castaglia
+	* contrib/mod_sql.c: Updating mod_sql.c to use pr_log_*() rather
+	than log_*().
 
-	* 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-08 16:52  castaglia
-
-	* src/bindings.c:
-	  Remove (now) unused variable.
-
-2003-11-08 15:34  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 14:45  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 14:34  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 14:32  castaglia
-
-	* src/event.c:
-	  When unregistering an event handler, be sure to honor the module
-	  argument, if any.
-
-2003-11-08 14:19  castaglia
+2003-11-09  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.
+	* contrib/mod_rewrite.c: Updating mod_rewrite.c to use pr_log_*()
+	rather than log_*().
 
-2003-11-08 12:40  castaglia
+2003-11-09  castaglia <castaglia>
 
-	* NEWS, contrib/mod_radius.c:
-	  Bug#2255 - RADIUS Service-Type should reflect attribute
-	  expectations.
+	* contrib/mod_readme.c: Updating mod_readme to use pr_log_debug()
+	rather than log_debug().
 
-2003-11-08 12:30  castaglia
+2003-11-09  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* contrib/mod_radius.c: Updating mod_radius.c to use pr_log_pri()
+	rather than log_pri().
 
-2003-11-08 12:26  castaglia
+2003-11-09  castaglia <castaglia>
 
-	* NEWS, configure.in:
-	  Bug#2271 - Improper autoconf check for getaddrinfo() on Tru64
-	  UNIX 5.1.
+	* contrib/mod_ifsession.c: Updating mod_ifsession to use
+	pr_log_debug() rather than log_debug().
 
-2003-11-08 11:40  castaglia
+2003-11-09  castaglia <castaglia>
 
-	* Make.rules.in:
-	  Bug#2270 - Linkers can be quite picky about the order in which
-	  flags appear.
+	* 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-05 20:43  castaglia
+2003-11-09  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.
+	* 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.
 
-	  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-09  castaglia <castaglia>
 
-2003-11-05 20:35  castaglia
+	* NEWS: Note the affect of the logging class change for RNFR and
+	RNTO.
 
-	* src/auth.c:
-	  Add debugging output for group name/ID retrieval.
+2003-11-09  castaglia <castaglia>
 
-2003-11-05 18:53  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.
 
-	* src/auth.c:
-	  Add debugging that shows the group IDs that end up being set via
-	  setgroups().
+2003-11-09  castaglia <castaglia>
 
-2003-11-05 16:13  castaglia
+	* src/ftpdctl.8.in: Tweak the ftpdctl man page a little.
 
-	* configure:
-	  Updating configure.
+2003-11-09  castaglia <castaglia>
 
-2003-11-05 16:10  castaglia
+	* configure: Updating configure.
 
-	* config.h.in, configure.in, modules/mod_core.c:
-	  Some platforms don't have setenv()/unsetenv().  Bummer.
+2003-11-09  castaglia <castaglia>
 
-2003-11-04 12:44  castaglia
+	* Makefile.in, configure.in, src/ftpdctl.8.in: Adding ftpdctl man
+	page.
 
-	* 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-09  castaglia <castaglia>
 
-2003-11-02 16:42  jwm
+	* src/ctrls.c: Tag pools allocated in the Controls API.  Style
+	cleanup.
 
-	* contrib/dist/rpm/proftpd.spec:
-	  - Bug 2265 - correct path to mysql headers   Submitted by:
-	  ncroiset at vdldiffusion.com (Nicolas Croiset) - note in the
-	  %changelog that it isn't updated often - use the CVS	 revision
-	  history
+2003-11-09  castaglia <castaglia>
 
-2003-11-01 00:25  castaglia
+	* NEWS, modules/mod_core.c: Bug#2046 - Change RFNR and RNTO logging
+	class to WRITE.
 
-	* contrib/mod_tls.html:
-	  Update the mod_tls docs, now that Bug#2135's patch has been
-	  committed.
+2003-11-09  castaglia <castaglia>
 
-2003-11-01 00:14  castaglia
+	* contrib/mod_wrap.c: Wrong function name.
 
-	* 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-09  castaglia <castaglia>
 
-2003-10-31 23:11  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.
 
-	* 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-09  castaglia <castaglia>
 
-2003-10-31 16:12  castaglia
+	* contrib/mod_wrap.c: Updating mod_wrap for the newer Expressions
+	API.
 
-	* 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-11-09  castaglia <castaglia>
 
-2003-10-31 15:57  castaglia
+	* contrib/mod_ifsession.c: Updating mod_ifsession to use the new
+	Expressions API.  Fixed a compiler warning issued under
+	--enable-devel.
 
-	* 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-11-09  castaglia <castaglia>
 
-2003-10-31 11:50  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.
 
-	* NEWS, modules/mod_core.c:
-	  Bug#2098 - Add SetEnv, UnsetEnv directives.
+2003-11-09  castaglia <castaglia>
 
-2003-10-31 11:41  castaglia
+	* configure: Updating configure.
 
-	* NEWS, modules/mod_auth_unix.c:
-	  Bug#2174 - mod_auth_unix should not act authoritatively.
+2003-11-09  castaglia <castaglia>
 
-2003-10-31 11:23  castaglia
+	* contrib/mod_ifsession.c: Adjust mod_ifsession to use the same
+	expression indicator values as the core code.
 
-	* NEWS, modules/mod_core.c:
-	  Bug#2086 - Add <Limit> support for PORT, PASV, EPRT, EPSV.
+2003-11-09  castaglia <castaglia>
 
-2003-10-31 10:55  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.
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#2135 - Add ability to handle passphrase-protected server
-	  keys.
+2003-11-09  castaglia <castaglia>
 
-2003-10-31 10:46  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.
 
-	* src/: data.c, dirtree.c, fsio.c, main.c, netio.c:
-	  Silencing some valgrind complaints.  Style fixups.
+2003-11-09  castaglia <castaglia>
 
-2003-10-31 01:14  castaglia
+	* modules/mod_auth.c: Generate events when the MaxClients* and
+	MaxHostsPerUser limits are hit.
 
-	* include/version.h:
-	  Woohoo! The start of a new release cycle...
+2003-11-09  castaglia <castaglia>
 
-2003-10-31 00:22  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.
 
-	* ChangeLog:
-	  Preparing for 1.2.9 release.
+2003-11-09  castaglia <castaglia>
 
-2003-10-31 00:10  castaglia
+	* modules/mod_ctrls.c: Modify mod_ctrls to use the new Event API (as
+	all new modules should).
 
-	* NEWS, include/version.h, contrib/dist/rpm/proftpd.spec:
-	  Preparing for the release of 1.2.9.
+2003-11-09  castaglia <castaglia>
 
-2003-10-31 00:05  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.
 
-	* NEWS:
-	  Mention the memory leak fixes.
+2003-11-09  castaglia <castaglia>
 
-2003-10-31 00:02  castaglia
+	* src/bindings.c: Remove (now) unused variable.
 
-	* contrib/mod_sql.c:
-	  Always expand %U to the USER name given, not just when
-	  session.user is NULL.
+2003-11-08  castaglia <castaglia>
 
-2003-10-30 23:22  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.
 
-	* 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-11-08  castaglia <castaglia>
 
-2003-10-30 12:38  flyhmstr
+	* 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.
 
-	* doc/: Configuration.html, Configuration.sgml, faq.html:
-	  ML: New userguide (html & sgml) and faq built from current pdd
-	  sources     committed.
+2003-11-08  castaglia <castaglia>
 
-2003-10-28 10:41  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).
 
-	* README.FreeBSD:
-	  Adding FreeBSD package installation docs from Bug#2250.
+2003-11-08  castaglia <castaglia>
 
-2003-10-22 00:40  castaglia
+	* src/event.c: When unregistering an event handler, be sure to honor
+	the module argument, if any.
 
-	* src/main.c:
-	  Removing duplicate sanity check.
+2003-11-08  castaglia <castaglia>
 
-2003-10-21 23:49  castaglia
+	* Make.rules.in, NEWS, include/conf.h, include/event.h,
+	modules/mod_core.c, src/event.c, src/main.c: Adding Event API.
 
-	* src/fsio.c:
-	  Fixing comments.  Have pr_insert_fs() set errno on error, for
-	  reporting purposes.
+2003-11-08  castaglia <castaglia>
 
-2003-10-20 18:44  castaglia
+	* NEWS, contrib/mod_radius.c: Bug#2255 - RADIUS Service-Type should
+	reflect attribute expectations.
 
-	* 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-11-08  castaglia <castaglia>
 
-2003-10-20 15:20  castaglia
+	* configure: Updating configure.
 
-	* include/scoreboard.h:
-	  Forgot to increase the size of the IP address buffer in the
-	  scoreboard if --enable-ipv6 is used.
+2003-11-08  castaglia <castaglia>
 
-2003-10-20 00:28  castaglia
+	* NEWS, configure.in: Bug#2271 - Improper autoconf check for
+	getaddrinfo() on Tru64 UNIX 5.1.
 
-	* modules/mod_log.c:
-	  More paranoid checking of snprintf() usage.
+2003-11-08  castaglia <castaglia>
 
-2003-10-20 00:15  castaglia
+	* Make.rules.in: Bug#2270 - Linkers can be quite picky about the
+	order in which flags appear.
 
-	* contrib/: mod_radius.c, mod_sql.c, mod_tls.c:
-	  Minor paranoia changes: make certain the buffer is NUL-terminated
-	  before calling strlen() on its contents.
+2003-11-06  castaglia <castaglia>
 
-2003-10-20 00:02  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.
 
-	* 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-11-06  castaglia <castaglia>
 
-2003-10-19 14:45  jwm
+	* src/auth.c: Add debugging output for group name/ID retrieval.
 
-	* NEWS, contrib/dist/rpm/proftpd.spec:
-	  Bug 2197 - The RPM .spec has been updated for easy RPM builds
-	  from CVS snapshots.
+2003-11-06  castaglia <castaglia>
 
-2003-10-19 14:40  jwm
+	* src/auth.c: Add debugging that shows the group IDs that end up
+	being set via setgroups().
 
-	* contrib/dist/rpm/proftpd.spec: rpm doesn't like empty
-	  BuildPreReqs, add a static dep on pam-devel
+2003-11-06  castaglia <castaglia>
 
-2003-10-18 16:48  castaglia
+	* configure: Updating configure.
 
-	* src/fsio.c:
-	  Fixing a memory leak in the handling of structures used for
-	  tracking open directories.
+2003-11-06  castaglia <castaglia>
 
-2003-10-18 15:14  castaglia
+	* config.h.in, configure.in, modules/mod_core.c: Some platforms
+	don't have setenv()/unsetenv().  Bummer.
 
-	* 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-11-04  castaglia <castaglia>
 
-2003-10-17 08:39  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.
 
-	* 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.
+2003-11-03  jwm <jwm>
 
-	  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.
+	* contrib/dist/rpm/proftpd.spec: - Bug 2265 - correct path to mysql headers   Submitted by: ncroiset at vdldiffusion.com (Nicolas Croiset) - note in the %changelog that it isn't updated often - use the CVS   revision history
 
-2003-10-17 06:19  castaglia
+2003-11-01  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c:
-	  Bug#2181: fixing this bug (again) to work correctly in all cases.
+	* Makefile.in: When preparing a distribution using the 'dist'
+	target, be sure to clean up the .bak files generated by the 'clean'
+	target.
 
-2003-10-16 23:15  castaglia
+2003-11-01  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.
+	* 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-10-15 17:58  castaglia
+2003-11-01  castaglia <castaglia>
 
-	* include/version.h:
-	  Updating the version for CVS status.
+	* 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-15 12:54  castaglia
+2003-10-31  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updating ChangeLog.
+	* 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-15 12:53  castaglia
+2003-10-31  castaglia <castaglia>
 
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Preparing for release of 1.2.9rc3.
+	* NEWS, modules/mod_core.c: Bug#2098 - Add SetEnv, UnsetEnv
+	directives.
 
-2003-10-15 07:15  jwm
+2003-10-31  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec:
-	  only include xinetd support in the -xinetd RPM
+	* NEWS, modules/mod_auth_unix.c: Bug#2174 - mod_auth_unix should not
+	act authoritatively.
 
-2003-10-14 11:22  castaglia
+2003-10-31  castaglia <castaglia>
 
-	* src/netaddr.c:
-	  Fixed pr_netaddr_get_dnsstr() to use the right family value when
-	  calling gethostbyname2().
+	* NEWS, modules/mod_core.c: Bug#2086 - Add <Limit> support for PORT,
+	PASV, EPRT, EPSV.
 
-2003-10-14 11:17  castaglia
+2003-10-31  castaglia <castaglia>
 
-	* src/main.c:
-	  The free_proc_title() function is currently only used when
-	  --enable-devel has been configured.
+	* NEWS, contrib/mod_tls.c: Bug#2135 - Add ability to handle
+	passphrase-protected server keys.
 
-2003-10-14 06:41  jwm
+2003-10-31  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec:
-	  we're "The ProFTPD Project"
+	* src/data.c, src/dirtree.c, src/fsio.c, src/main.c, src/netio.c: 
+	Silencing some valgrind complaints.  Style fixups.
 
-2003-10-13 00:27  castaglia
+2003-10-31  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* include/version.h: Woohoo! The start of a new release cycle...
 
-2003-10-13 00:25  castaglia
+2003-10-31  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.
+	* ChangeLog: Preparing for 1.2.9 release.
 
-2003-10-13 00:15  castaglia
+2003-10-31  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
+	for the release of 1.2.9.
 
-2003-10-13 00:12  castaglia
+2003-10-31  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.
+	* NEWS: Mention the memory leak fixes.
 
-2003-10-12 22:02  castaglia
+2003-10-31  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.
+	* contrib/mod_sql.c: Always expand %U to the USER name given, not
+	just when session.user is NULL.
 
-2003-10-11 12:32  castaglia
+2003-10-31  castaglia <castaglia>
 
-	* src/netaddr.c:
-	  Typo.
+	* 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-11 12:29  castaglia
+2003-10-30  flyhmstr <flyhmstr>
 
-	* 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).
+	* doc/Configuration.html, doc/Configuration.sgml, doc/faq.html: ML:
+	    New userguide (html & sgml) and faq built from current pdd sources
+	committed.
 
-2003-10-11 12:27  castaglia
+2003-10-28  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.
+	* README.FreeBSD: Adding FreeBSD package installation docs from
+	Bug#2250.
 
-2003-10-11 10:01  castaglia
+2003-10-22  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.
+	* src/main.c: Removing duplicate sanity check.
 
-2003-10-11 09:57  castaglia
+2003-10-22  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().
+	* src/fsio.c: Fixing comments.  Have pr_insert_fs() set errno on
+	error, for reporting purposes.
 
-2003-10-10 11:11  castaglia
+2003-10-21  castaglia <castaglia>
 
-	* src/main.c:
-	  Report the cause of error if configuration parsing fails.
+	* 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-10 09:07  castaglia
+2003-10-20  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  If processing an Included file fails, log the reason.
+	* include/scoreboard.h: Forgot to increase the size of the IP
+	address buffer in the scoreboard if --enable-ipv6 is used.
 
-2003-10-09 23:36  castaglia
+2003-10-20  castaglia <castaglia>
 
-	* src/netaddr.c:
-	  Adding note about a use of gethostbyname() that may need to be
-	  gethostbyname2() in the future.
+	* modules/mod_log.c: More paranoid checking of snprintf() usage.
 
-2003-10-09 22:49  castaglia
+2003-10-20  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c:
-	  Bug#2222 - Overlapping vhosts should warn instead of die.
+	* 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-09 22:45  castaglia
+2003-10-20  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  No need to keep the server_recs of vhosts that cannot be
-	  resolved.
+	* 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-09 22:37  castaglia
+2003-10-19  jwm <jwm>
 
-	* 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.
+	* NEWS, contrib/dist/rpm/proftpd.spec: Bug 2197 - The RPM .spec has
+	been updated for easy RPM builds from CVS snapshots.
 
-2003-10-09 18:30  castaglia
+2003-10-19  jwm <jwm>
 
-	* src/netaddr.c:
-	  Make the logging of badly configured DNS name/IP address mappings
-	  a little less noisy.
+	* contrib/dist/rpm/proftpd.spec: rpm doesn't like empty
+	BuildPreReqs, add a static dep on pam-devel
 
-2003-10-09 12:44  castaglia
+2003-10-18  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* src/fsio.c: Fixing a memory leak in the handling of structures
+	used for tracking open directories.
 
-2003-10-09 12:40  castaglia
+2003-10-18  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).
+	* 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-09 12:34  castaglia
+2003-10-17  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.
+	* 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-08 11:13  castaglia
+2003-10-17  castaglia <castaglia>
 
-	* NEWS, src/log.c:
-	  Bug#2202 - AllowLogSymlinks check is flawed.
+	* NEWS, modules/mod_core.c: Bug#2181: fixing this bug (again) to
+	work correctly in all cases.
 
-2003-10-07 22:38  castaglia
+2003-10-17  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Style cleanup (whitespace).
+	* 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-07 21:48  castaglia
+2003-10-16  castaglia <castaglia>
 
-	* src/inet.c:
-	  Adding note to pr_inet_set_proto_opts() about setsockopt()
-	  problems on IPv6 sockets.
+	* include/version.h: Updating the version for CVS status.
 
-2003-10-07 20:28  castaglia
+2003-10-15  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* ChangeLog: Updating ChangeLog.
 
-2003-10-07 20:25  castaglia
+2003-10-15  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.
+	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
+	for release of 1.2.9rc3.
 
-2003-10-06 00:16  castaglia
+2003-10-15  jwm <jwm>
 
-	* 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).
+	* contrib/dist/rpm/proftpd.spec: only include xinetd support in the
+	-xinetd RPM
 
-2003-10-05 20:53  castaglia
+2003-10-14  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.
+	* src/netaddr.c: Fixed pr_netaddr_get_dnsstr() to use the right
+	family value when calling gethostbyname2().
 
-2003-10-05 20:14  castaglia
+2003-10-14  castaglia <castaglia>
 
-	* NEWS:
-	  Updating NEWS so that people can see that Bug#2183 (and all its
-	  friends) has been fixed.
+	* src/main.c: The free_proc_title() function is currently only used
+	when --enable-devel has been configured.
 
-2003-10-03 10:44  castaglia
+2003-10-14  jwm <jwm>
 
-	* Makefile.in:
-	  Remove the generated 'stamp-h' file as well for the distclean
-	  target.
+	* contrib/dist/rpm/proftpd.spec: we're "The ProFTPD Project"
 
-2003-10-01 07:21  castaglia
+2003-10-13  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.
+	* configure: Updating configure.
 
-2003-10-01 06:16  castaglia
+2003-10-13  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* 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-01 06:09  castaglia
+2003-10-13  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).
+	* configure: Updating configure.
 
-2003-09-30 23:35  castaglia
+2003-10-13  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.
+	* 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-09-30 23:25  castaglia
+2003-10-13  castaglia <castaglia>
 
-	* src/main.c:
-	  Style cleanup.  Add a comment about needing PRIVS (or not) when
-	  disconnecting sessions.
+	* 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-09-29 10:25  castaglia
+2003-10-11  castaglia <castaglia>
 
-	* src/bindings.c:
-	  Fixed thinko highlighted by Bug#2188.
+	* src/netaddr.c: Typo.
 
-2003-09-28 21:48  castaglia
+2003-10-11  castaglia <castaglia>
 
-	* contrib/mod_tls.html:
-	  Don't know what I was thinking.
+	* 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-09-28 21:41  castaglia
+2003-10-11  castaglia <castaglia>
 
-	* contrib/mod_tls.html:
-	  Grammar fix, adding description.
+	* 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-09-28 17:00  castaglia
+2003-10-11  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.
+	* 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-09-28 16:56  castaglia
+2003-10-11  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.)
+	* 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-09-28 15:43  castaglia
+2003-10-10  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.
+	* src/main.c: Report the cause of error if configuration parsing
+	fails.
 
-2003-09-28 13:31  castaglia
+2003-10-10  castaglia <castaglia>
 
-	* modules/: mod_auth.c, mod_auth_unix.c:
-	  Style cleanup.
+	* modules/mod_core.c: If processing an Included file fails, log the
+	reason.
 
-2003-09-28 10:04  castaglia
+2003-10-10  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.
+	* src/netaddr.c: Adding note about a use of gethostbyname() that may
+	need to be gethostbyname2() in the future.
 
-	  Also includes some style cleanup.
+2003-10-10  castaglia <castaglia>
 
-2003-09-27 15:16  castaglia
+	* NEWS, modules/mod_core.c: Bug#2222 - Overlapping vhosts should
+	warn instead of die.
 
-	* configure:
-	  Updating configure.
+2003-10-10  castaglia <castaglia>
 
-2003-09-27 15:13  castaglia
+	* src/dirtree.c: No need to keep the server_recs of vhosts that
+	cannot be resolved.
 
-	* 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-10-10  castaglia <castaglia>
 
-2003-09-27 13:48  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.
 
-	* 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-10-10  castaglia <castaglia>
 
-2003-09-27 11:40  castaglia
+	* src/netaddr.c: Make the logging of badly configured DNS name/IP
+	address mappings a little less noisy.
 
-	* 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-10-09  castaglia <castaglia>
 
-2003-09-26 12:02  jwm
+	* configure: Updating configure.
 
-	* contrib/dist/rpm/proftpd.spec: Bug 2197 - Spec file enhancements
-	  and fixes Submitted by: pb at bieringer.de (Dr. Peter Bieringer)
+2003-10-09  castaglia <castaglia>
 
-2003-09-25 23:53  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).
 
-	* modules/mod_core.c:
-	  Correcting a misleading/outdated comment.
+2003-10-09  castaglia <castaglia>
 
-2003-09-23 12:10  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.
 
-	* 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-10-08  castaglia <castaglia>
 
-2003-09-23 08:19  castaglia
+	* NEWS, src/log.c: Bug#2202 - AllowLogSymlinks check is flawed.
 
-	* NEWS:
-	  Mention fixing of ASCII handling exploit.
+2003-10-08  castaglia <castaglia>
 
-2003-09-23 08:13  castaglia
+	* modules/mod_core.c: Style cleanup (whitespace).
 
-	* src/data.c:
-	  Fixing remote exploit in ASCII handling, discovered by X-Force at
-	  ISS:
+2003-10-08  castaglia <castaglia>
 
-	    http://xforce.iss.net/xforce/alerts/id/154
+	* src/inet.c: Adding note to pr_inet_set_proto_opts() about
+	setsockopt() problems on IPv6 sockets.
 
-2003-09-23 07:45  jwm
+2003-10-08  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec: * Tue Sep 23 2003 Daniel Roesen
-	  <dr at proftpd.org> - Added "--with ipv6" to enable IPv6 support
-	  while building the RPM
+	* configure: Updating configure.
 
-2003-09-22 16:36  castaglia
+2003-10-08  castaglia <castaglia>
 
-	* README.IPv6:
-	  Daniel has confirmed that IPv6 and FTP over SSL/TLS works just
-	  fine, for both active and passive transfers.
+	* 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-09-19 13:21  castaglia
+2003-10-06  castaglia <castaglia>
 
-	* NEWS, include/privs.h:
-	  Bug#2179 - ROOT_UID instead of ROOT_GID used in setegid() call.
-	  This affects Cygwin installations.
+	* 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-09-18 12:21  castaglia
+2003-10-06  castaglia <castaglia>
 
-	* src/netaddr.c:
-	  Using EPERM makes more sense, I think, than EACCES in most of the
-	  pr_netaddr* cases.
+	* 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-09-18 12:08  castaglia
+2003-10-06  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.
+	* NEWS: Updating NEWS so that people can see that Bug#2183 (and all
+	its friends) has been fixed.
 
-2003-09-14 13:49  castaglia
+2003-10-03  castaglia <castaglia>
 
-	* contrib/mod_wrap.html:
-	  Typo.
+	* Makefile.in: Remove the generated 'stamp-h' file as well for the
+	distclean target.
 
-2003-09-14 11:27  castaglia
+2003-10-01  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.
+	* 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-09-13 16:34  castaglia
+2003-10-01  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* configure: Updating configure.
 
-2003-09-13 16:29  castaglia
+2003-10-01  castaglia <castaglia>
 
-	* NEWS, README.IPv6, config.h.in, configure.in, src/netaddr.c:
-	  Bug#2167 - getnameinfo() on FreeBSD doesn't support IP address
-	  lookups.
+	* 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).
 
-	  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.
+2003-10-01  castaglia <castaglia>
 
-	  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.
+	* 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-09-12 00:56  castaglia
+2003-10-01  castaglia <castaglia>
 
-	* README:
-	  Just some pointers/notes about user questions.
+	* src/main.c: Style cleanup.  Add a comment about needing PRIVS (or
+	not) when disconnecting sessions.
 
-2003-09-11 20:01  castaglia
+2003-09-29  castaglia <castaglia>
 
-	* README.IPv6:
-	  Seems that perhaps FreeBSD's getnameinfo(3) doesn't like IP
-	  addresses, but it does handle DNS names correctly.  Interesting.
+	* src/bindings.c: Fixed thinko highlighted by Bug#2188.
 
-2003-09-11 13:11  castaglia
+2003-09-29  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* 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-11 12:58  castaglia
+2003-09-28  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.:
+	* 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.)
 
-	    ./configure --enable-devel=nodaemon:nofork:profile ...
+2003-09-28  castaglia <castaglia>
 
-2003-09-11 12:56  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.
 
-	* include/version.h:
-	  Updating version for CVS snapshots.
+2003-09-28  castaglia <castaglia>
 
-2003-09-11 06:39  castaglia
+	* modules/mod_auth.c, modules/mod_auth_unix.c: Style cleanup.
 
-	* ChangeLog:
-	  Updating ChangeLog.
+2003-09-28  castaglia <castaglia>
 
-2003-09-11 06:33  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.
 
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Let's get this rc2 show on the road.
+2003-09-27  castaglia <castaglia>
 
-2003-09-10 23:36  castaglia
+	* configure: Updating configure.
 
-	* include/conf.h:
-	  Add note about possibly using sockaddr_storage in the future.
+2003-09-27  castaglia <castaglia>
 
-2003-09-10 07:02  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.
 
-	* src/main.c:
-	  Fixing PR_DEVEL_NO_DAEMON.
+2003-09-27  castaglia <castaglia>
 
-2003-09-09 14:15  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.
 
-	* src/log.c:
-	  Log the client's IP address in the brackets, not the DNS name.
+2003-09-27  castaglia <castaglia>
 
-2003-09-09 14:14  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.
 
-	* src/netaddr.c:
-	  When doing reverse DNS lookups, actually use the looked up name.
-	  Oops.
+2003-09-26  jwm <jwm>
 
-2003-09-09 07:58  castaglia
+	* contrib/dist/rpm/proftpd.spec: Bug 2197 - Spec file enhancements
+	and fixes Submitted by: pb at bieringer.de (Dr. Peter Bieringer)
 
-	* utils/ftpshut.c:
-	  Fix grammar in comment.
+2003-09-26  castaglia <castaglia>
 
-2003-09-09 07:57  castaglia
+	* modules/mod_core.c: Correcting a misleading/outdated comment.
 
-	* NEWS:
-	  ftpshut's option -R (for remove), not -D (for delete).
+2003-09-23  castaglia <castaglia>
 
-2003-09-09 07:16  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.
 
-	* NEWS, src/netio.c:
-	  Bug#2122 - EAGAIN on Solaris can cause an infinite loop.
+2003-09-23  castaglia <castaglia>
 
-2003-09-08 22:37  castaglia
+	* NEWS: Mention fixing of ASCII handling exploit.
 
-	* include/netaddr.h, modules/mod_core.c, src/inet.c, src/netaddr.c:
+2003-09-23  castaglia <castaglia>
 
-	  Rename pr_netaddr_initialize() to be pr_netaddr_clear(), as that
-	  is what is really happening.
+	* 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-08 19:49  castaglia
+2003-09-23  jwm <jwm>
 
-	* src/inet.c:
-	  Remove duplicate comment.
+	* contrib/dist/rpm/proftpd.spec: * Tue Sep 23 2003 Daniel Roesen <dr at proftpd.org> - Added "--with ipv6" to enable IPv6 support while building the RPM
 
-2003-09-08 18:07  castaglia
+2003-09-22  castaglia <castaglia>
 
-	* src/inet.c:
-	  Use the netaddr allocator where appropriate.
+	* README.IPv6: Daniel has confirmed that IPv6 and FTP over SSL/TLS
+	works just fine, for both active and passive transfers.
 
-2003-09-08 18:04  castaglia
+2003-09-19  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Remove cruft.  The multiple addresses for a server are handled
-	  elsewhere.
+	* NEWS, include/privs.h: Bug#2179 - ROOT_UID instead of ROOT_GID
+	used in setegid() call.  This affects Cygwin installations.
 
-2003-09-08 17:55  castaglia
+2003-09-18  castaglia <castaglia>
 
-	* include/netaddr.h, src/netaddr.c:
-	  Provide a netaddr allocator.
+	* src/netaddr.c: Using EPERM makes more sense, I think, than EACCES
+	in most of the pr_netaddr* cases.
 
-2003-09-08 17:32  castaglia
+2003-09-18  castaglia <castaglia>
 
-	* include/netaddr.h, modules/mod_core.c, src/inet.c, src/netaddr.c:
+	* 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.
 
-	  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).
+2003-09-14  castaglia <castaglia>
 
-	  Also fixed some tabs that crept into inet.c.
+	* 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-07 19:58  castaglia
+2003-09-13  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* configure: Updating configure.
 
-2003-09-07 19:55  castaglia
+2003-09-13  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.
+	* 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-07 19:48  castaglia
+2003-09-12  castaglia <castaglia>
 
-	* configure.in:
-	  Clean up configure.in a little, and just use LIB_OBJS (rather
-	  than both pr_lib_objs and LIB_OBJS).
+	* README: Just some pointers/notes about user questions.
 
-2003-09-07 19:39  castaglia
+2003-09-12  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* README.IPv6: Seems that perhaps FreeBSD's getnameinfo(3) doesn't
+	like IP addresses, but it does handle DNS names correctly.
+	Interesting.
 
-2003-09-07 19:35  castaglia
+2003-09-11  castaglia <castaglia>
 
-	* NEWS, configure.in:
-	  Bug#2161 - Duplicate autoconf check for sia.h.
+	* configure: Updating configure.
 
-2003-09-07 17:56  castaglia
+2003-09-11  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.
+	* 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-07 17:53  castaglia
+2003-09-11  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.
+	* include/version.h: Updating version for CVS snapshots.
 
-2003-09-07 17:51  castaglia
+2003-09-11  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().
+	* ChangeLog: Updating ChangeLog.
 
-2003-09-07 17:42  castaglia
+2003-09-11  castaglia <castaglia>
 
-	* src/main.c:
-	  Removing cruft, updating calls to subsystem initializers.
+	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Let's get
+	this rc2 show on the road.
 
-2003-09-07 17:41  castaglia
+2003-09-11  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).
+	* include/conf.h: Add note about possibly using sockaddr_storage in
+	the future.
 
-2003-09-07 17:39  castaglia
+2003-09-10  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.
+	* src/main.c: Fixing PR_DEVEL_NO_DAEMON.
 
-2003-09-07 17:37  castaglia
+2003-09-09  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.
+	* src/log.c: Log the client's IP address in the brackets, not the
+	DNS name.
 
-2003-09-07 17:36  castaglia
+2003-09-09  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).
+	* src/netaddr.c: When doing reverse DNS lookups, actually use the
+	looked up name.  Oops.
 
-2003-09-07 17:33  castaglia
+2003-09-09  castaglia <castaglia>
 
-	* modules/: mod_auth_file.c, mod_core.c, mod_log.c:
-	  Changed uses of permanent_pool to session.pool, as is more
-	  appropriate in most module code.
+	* utils/ftpshut.c: Fix grammar in comment.
 
-2003-09-07 17:32  castaglia
+2003-09-09  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.
+	* NEWS: ftpshut's option -R (for remove), not -D (for delete).
 
-2003-09-07 17:31  castaglia
+2003-09-09  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).
+	* NEWS, src/netio.c: Bug#2122 - EAGAIN on Solaris can cause an
+	infinite loop.
 
-2003-09-07 17:29  castaglia
+2003-09-09  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().
+	* 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-07 17:26  castaglia
+2003-09-09  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).
+	* src/inet.c: Remove duplicate comment.
 
-2003-09-07 17:25  castaglia
+2003-09-09  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.
+	* src/inet.c: Use the netaddr allocator where appropriate.
 
-2003-09-07 16:55  castaglia
+2003-09-09  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.
+	* src/dirtree.c: Remove cruft.  The multiple addresses for a server
+	are handled elsewhere.
 
-2003-09-07 16:54  castaglia
+2003-09-09  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#2154 - SQL query loses shell information.
+	* include/netaddr.h, src/netaddr.c: Provide a netaddr allocator.
 
-2003-09-06 10:44  castaglia
+2003-09-09  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.
+	* 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-06 09:56  castaglia
+2003-09-08  castaglia <castaglia>
 
-	* src/data.c:
-	  Fixing subtle off-by-one bug (thank you valgrind!).
+	* configure: Updating configure.
 
-2003-09-05 13:00  castaglia
+2003-09-08  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).
+	* 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-05 12:42  castaglia
+2003-09-08  castaglia <castaglia>
 
-	* include/conf.h:
-	  Add conditional include for <dmalloc.h>, for use when using
-	  dmalloc to track memory usage.
+	* configure.in: Clean up configure.in a little, and just use
+	LIB_OBJS (rather than both pr_lib_objs and LIB_OBJS).
 
-2003-09-05 11:38  castaglia
+2003-09-08  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#2153 - Small error in handling PR_AUTH_RFC2228 authentication
-	  code.
+	* configure: Updating configure.
 
-2003-09-03 13:18  castaglia
+2003-09-08  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* NEWS, configure.in: Bug#2161 - Duplicate autoconf check for sia.h.
 
-2003-09-03 13:14  castaglia
+2003-09-08  castaglia <castaglia>
 
-	* NEWS, configure.in:
-	  Bug#2007 - autoconf header detection problem.
+	* 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-08-30 09:11  castaglia
+2003-09-08  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* 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-08-30 09:07  castaglia
+2003-09-08  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.
+	* 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-08-29 10:20  castaglia
+2003-09-08  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.
+	* src/main.c: Removing cruft, updating calls to subsystem
+	initializers.
 
-2003-08-29 10:01  castaglia
+2003-09-08  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.
+	* 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-08-28 23:33  castaglia
+2003-09-08  castaglia <castaglia>
 
-	* src/netaddr.c:
-	  Using uninitialized memory can be bad.
+	* 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-08-28 22:44  castaglia
+2003-09-08  castaglia <castaglia>
 
-	* src/inet.c:
-	  Only one type of IPv4 service at time: either IPTOS_LOWDELAY or
-	  IPTOS_THROUGHPUT but not both.
+	* 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.
 
-	  Some discussion on IPng mailing list archives mention that using
-	  IP_TOS may be a problem on IPv6 connections...
+2003-09-08  castaglia <castaglia>
 
-2003-08-27 20:17  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).
 
-	* README.ports:
-	  Adding FreeBSD 4.9-PRERELEASE to the list.  Apparently the source
-	  works out-of-the-box.
+2003-09-08  castaglia <castaglia>
 
-2003-08-27 17:43  jwm
+	* 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.
 
-	* 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-09-08  castaglia <castaglia>
 
-2003-08-27 17:40  jwm
+	* modules/mod_auth.c: Changed some uses of permanent_pool here to be
+	session.pool, as is more appropriate in most module code.
 
-	* modules/mod_ls.c:
-	  Bug 2108 - IgnoreHidden should not hide dotfiles
+2003-09-08  castaglia <castaglia>
 
-2003-08-27 17:37  jwm
+	* 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).
 
-	* 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-09-08  castaglia <castaglia>
 
-2003-08-27 17:36  jwm
+	* 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().
 
-	* contrib/dist/rpm/proftpd.spec:
-	  Bug 2127 - Entry in the file section
+2003-09-08  castaglia <castaglia>
 
-2003-08-27 17:33  jwm
+	* 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).
 
-	* contrib/dist/rpm/xinetd:
-	  add xinetd configuration to go with new .spec
+2003-09-08  castaglia <castaglia>
 
-2003-08-27 17:32  jwm
+	* contrib/mod_ratio.c: Removing some cruft from the source code,
+	which involves removing mod_ratio's use of one of the crufty
+	functions.
 
-	* contrib/dist/rpm/proftpd.spec:
-	  - don't reset servertype on upgrade - don't explicitly install
-	  docs - %doc should include them
+2003-09-07  castaglia <castaglia>
 
-	  submitted by: Ivan F. Martinez <ivanfm at os2brasil.com.br> Peter
-	  Bieringer <pb at bieringer.de>
+	* 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-08-22 10:29  castaglia
+2003-09-07  castaglia <castaglia>
 
-	* README.ports:
-	  Adding NetBSD 1.6.1 to the list.
+	* NEWS, contrib/mod_sql.c: Bug#2154 - SQL query loses shell
+	information.
 
-2003-08-19 18:57  castaglia
+2003-09-06  castaglia <castaglia>
 
-	* README.IPv6:
-	  Add note about FreeBSD 4.8 and getnameinfo(3).
+	* 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-08-18 13:13  castaglia
+2003-09-06  castaglia <castaglia>
 
-	* NEWS, src/dirtree.c:
-	  Bug#2141 - Glob Allow/Deny parameters cause extraneous log
-	  messages when comparing addresses.
+	* src/data.c: Fixing subtle off-by-one bug (thank you valgrind!).
 
-2003-08-16 10:01  castaglia
+2003-09-05  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#2148 - Enforce PR_TUNABLE_LOGIN_MAX.
+	* 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-08-16 08:47  castaglia
+2003-09-05  castaglia <castaglia>
 
-	* sample-configurations/mod_sql.conf:
-	  Add comment in mod_sql sample config about SQLAuthTypes being
-	  required.
+	* include/conf.h: Add conditional include for <dmalloc.h>, for use
+	when using dmalloc to track memory usage.
 
-2003-08-16 08:43  castaglia
+2003-09-05  castaglia <castaglia>
 
-	* contrib/mod_sql.c:
-	  Add log messages to session init if no SQLAuthTypes configured.
+	* NEWS, modules/mod_auth.c: Bug#2153 - Small error in handling
+	PR_AUTH_RFC2228 authentication code.
 
-2003-08-16 08:38  castaglia
+2003-09-03  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.
+	* configure: Updating configure.
 
-2003-08-14 18:33  castaglia
+2003-09-03  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.
+	* NEWS, configure.in: Bug#2007 - autoconf header detection problem.
 
-2003-08-14 11:34  castaglia
+2003-08-30  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.
+	* configure: Updating configure.
 
-2003-08-13 18:02  castaglia
+2003-08-30  castaglia <castaglia>
 
-	* NEWS, src/data.c:
-	  Bug#2147 - Segmentation fault processing file in ASCII mode.
+	* 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-13 12:11  castaglia
+2003-08-29  castaglia <castaglia>
 
-	* src/netaddr.c:
-	  Silence some compiler warnings.
+	* 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-13 11:54  castaglia
+2003-08-29  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script.
+	* 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-13 11:50  castaglia
+2003-08-29  castaglia <castaglia>
 
-	* NEWS, configure.in:
-	  Bug#2144 - Rework autoconf handling of --enable-sia option.
+	* src/netaddr.c: Using uninitialized memory can be bad.
 
-2003-08-13 09:04  castaglia
+2003-08-29  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script.
+	* 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-12 23:26  castaglia
+2003-08-28  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.
+	* README.ports: Adding FreeBSD 4.9-PRERELEASE to the list.
+	Apparently the source works out-of-the-box.
 
-2003-08-12 23:21  castaglia
+2003-08-28  jwm <jwm>
 
-	* configure:
-	  Updating configure script.
+	* 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-12 23:07  castaglia
+2003-08-28  jwm <jwm>
 
-	* NEWS, configure.in, include/libsupp.h, include/support.h,
-	  lib/sstrncpy.c, src/support.c:
-	  Bug#2142 - sstrncpy() not available to lib/vsnprintf.c.
+	* modules/mod_ls.c: Bug 2108 - IgnoreHidden should not hide dotfiles
 
-2003-08-12 22:28  castaglia
+2003-08-28  jwm <jwm>
 
-	* src/inet.c:
-	  It seems the 'sa_family' symbol is a macro on IRIX.
+	* 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-12 10:07  castaglia
+2003-08-28  jwm <jwm>
 
-	* include/: conf.h, 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.
+	* contrib/dist/rpm/proftpd.spec: Bug 2127 - Entry in the file
+	section
 
-2003-08-11 22:59  castaglia
+2003-08-28  jwm <jwm>
 
-	* 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.
+	* contrib/dist/rpm/xinetd: add xinetd configuration to go with new
+	.spec
 
-2003-08-10 23:31  castaglia
+2003-08-28  jwm <jwm>
 
-	* contrib/mod_sql.c:
-	  Removing use of get_param_int() from mod_sql.
+	* 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 at os2brasil.com.br> Peter
+	Bieringer <pb at bieringer.de>
 
-2003-08-10 23:07  castaglia
+2003-08-22  castaglia <castaglia>
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#2137 - NLST and IgnoreHidden causes segfault.
+	* README.ports: Adding NetBSD 1.6.1 to the list.
 
-2003-08-10 21:41  castaglia
+2003-08-20  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.
+	* README.IPv6: Add note about FreeBSD 4.8 and getnameinfo(3).
 
-2003-08-10 21:37  castaglia
+2003-08-18  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.
+	* NEWS, src/dirtree.c: Bug#2141 - Glob Allow/Deny parameters cause
+	extraneous log messages when comparing addresses.
 
-2003-08-09 09:37  castaglia
+2003-08-16  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.
+	* NEWS, modules/mod_auth.c: Bug#2148 - Enforce PR_TUNABLE_LOGIN_MAX.
 
-2003-08-09 09:08  castaglia
+2003-08-16  castaglia <castaglia>
 
-	* src/inet.c:
-	  Fixed function signature to match declared prototype.  Fixed
-	  variable name.
+	* sample-configurations/mod_sql.conf: Add comment in mod_sql sample
+	config about SQLAuthTypes being required.
 
-2003-08-09 01:09  castaglia
+2003-08-16  castaglia <castaglia>
 
-	* contrib/mod_ifsession.c, include/dirtree.h, modules/mod_auth.c,
-	  src/dirtree.c:
-	  Spelling correction.
+	* contrib/mod_sql.c: Add log messages to session init if no
+	SQLAuthTypes configured.
 
-2003-08-09 00:50  castaglia
+2003-08-16  castaglia <castaglia>
 
-	* src/bindings.c:
-	  Removed debugging cruft.
+	* 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-09 00:22  castaglia
+2003-08-15  castaglia <castaglia>
 
-	* include/proftpd.h, src/netaddr.c:
-	  Comment clarification, style fixups, fixing compiler warnings.
+	* 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-08 15:15  castaglia
+2003-08-14  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.
+	* 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-08 08:10  castaglia
+2003-08-14  castaglia <castaglia>
 
-	* NEWS:
-	  Fixed wrong bug report number.
+	* NEWS, src/data.c: Bug#2147 - Segmentation fault processing file in
+	ASCII mode.
 
-2003-08-07 19:50  castaglia
+2003-08-13  castaglia <castaglia>
 
-	* include/netaddr.h:
-	  Complete the description of pr_netaddr_fnmatch().
+	* src/netaddr.c: Silence some compiler warnings.
 
-2003-08-07 13:16  castaglia
+2003-08-13  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.
+	* configure: Updating configure script.
 
-2003-08-07 11:24  castaglia
+2003-08-13  castaglia <castaglia>
 
-	* src/netaddr.c:
-	  Added implementation of pr_netaddr_fnmatch().
+	* NEWS, configure.in: Bug#2144 - Rework autoconf handling of
+	--enable-sia option.
 
-2003-08-07 11:05  castaglia
+2003-08-13  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).
+	* configure: Updating configure script.
 
-2003-08-07 08:49  castaglia
+2003-08-13  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.
+	* config.h.in, configure.in: Check for gai_strerror(3).  We'll also
+	need to provide an implementation if gai_strerror() is not present.
 
-	  Added a stub for pr_netaddr_fnmatch(), to be implemented soon.
+2003-08-13  castaglia <castaglia>
 
-2003-08-07 00:09  castaglia
+	* configure: Updating configure script.
 
-	* 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.
+2003-08-13  castaglia <castaglia>
 
-	  Added stub for pr_netaddr_ncmp(), to be implemented shortly.
+	* 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-06 18:59  castaglia
+2003-08-13  castaglia <castaglia>
 
-	* README.IPv6:
-	  Clarifying that IPv6 sockets handling IPv4 packets only occurs
-	  when it is an wildcard IPv6 socket.
+	* src/inet.c: It seems the 'sa_family' symbol is a macro on IRIX.
 
-2003-08-06 17:55  castaglia
+2003-08-12  castaglia <castaglia>
 
-	* NEWS:
-	  Mention the --enable-ipv6 configure option.
+	* 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-06 17:42  castaglia
+2003-08-12  castaglia <castaglia>
 
-	* include/netaddr.h:
-	  Adding descriptions of the netaddr API functions.
+	* 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-06 16:05  castaglia
+2003-08-11  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.
+	* contrib/mod_sql.c: Removing use of get_param_int() from mod_sql.
 
-2003-08-06 15:31  castaglia
+2003-08-11  castaglia <castaglia>
 
-	* src/netaddr.c:
-	  Typos.
+	* NEWS, modules/mod_ls.c: Bug#2137 - NLST and IgnoreHidden causes
+	segfault.
 
-2003-08-06 15:08  castaglia
+2003-08-11  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* 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-06 15:03  castaglia
+2003-08-11  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.
+	* 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-06 00:07  castaglia
+2003-08-09  castaglia <castaglia>
 
-	* modules/mod_auth_file.c:
-	  Fix code in case where fgetgrent(3) is not present on the system.
+	* 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-01 17:30  castaglia
+2003-08-09  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.
+	* src/inet.c: Fixed function signature to match declared prototype.
+	Fixed variable name.
 
-2003-07-31 18:05  castaglia
+2003-08-09  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:
+	* contrib/mod_ifsession.c, include/dirtree.h, modules/mod_auth.c,
+	src/dirtree.c: Spelling correction.
 
-	  Style.
+2003-08-09  castaglia <castaglia>
 
-2003-07-31 18:03  castaglia
+	* src/bindings.c: Removed debugging cruft.
 
-	* 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-08-09  castaglia <castaglia>
 
-2003-07-30 11:01  castaglia
+	* include/proftpd.h, src/netaddr.c: Comment clarification, style
+	fixups, fixing compiler warnings.
 
-	* 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-08-08  castaglia <castaglia>
 
-2003-07-29 18:52  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.
 
-	* contrib/mod_tls.c:
-	  Removing unused code.
+2003-08-08  castaglia <castaglia>
 
-2003-07-29 18:34  castaglia
+	* NEWS: Fixed wrong bug report number.
 
-	* NEWS, contrib/mod_tls.c:
-	  Close files that have been fopen()'d always, not just when
-	  conditions mean that no errors are encountered.
+2003-08-08  castaglia <castaglia>
 
-2003-07-29 10:46  castaglia
+	* include/netaddr.h: Complete the description of
+	pr_netaddr_fnmatch().
 
-	* contrib/mod_tls.html:
-	  Adding description of the $SSL_CERT_DIR TLSLog message
+2003-08-07  castaglia <castaglia>
 
-2003-07-29 08:15  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.
 
-	* NEWS, modules/mod_core.c:
-	  Bug#2119 - FEAT response format does not conform to RFC2389.
+2003-08-07  castaglia <castaglia>
 
-2003-07-29 07:36  castaglia
+	* src/netaddr.c: Added implementation of pr_netaddr_fnmatch().
 
-	* doc/rfc/: rfc2228.txt, rfc2389.txt, rfc2428.txt:
-	  Style.
+2003-08-07  castaglia <castaglia>
 
-2003-07-28 15:57  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).
 
-	* NEWS:
-	  Mention fix of mod_tls directives.
+2003-08-07  castaglia <castaglia>
 
-2003-07-28 15:50  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.
 
-	* 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-08-07  castaglia <castaglia>
 
-2003-07-24 22:36  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.
 
-	* sample-configurations/: anonymous.conf, complex-virtual.conf,
-	  mod_sql.conf, virtual.conf:
-	  Style.
+2003-08-07  castaglia <castaglia>
 
-2003-07-24 18:21  jwm
+	* README.IPv6: Clarifying that IPv6 sockets handling IPv4 packets
+	only occurs when it is an wildcard IPv6 socket.
 
-	* include/pr-syslog.h: silence warning
+2003-08-07  castaglia <castaglia>
 
-2003-07-24 08:22  castaglia
+	* NEWS: Mention the --enable-ipv6 configure option.
 
-	* NEWS, Makefile.in:
-	  Bug#2115 - ftptop depends on snprintf but doesn't link in
-	  lib/libsupp.a
+2003-08-07  castaglia <castaglia>
 
-2003-07-23 19:44  castaglia
+	* include/netaddr.h: Adding descriptions of the netaddr API
+	functions.
 
-	* 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-08-06  castaglia <castaglia>
 
-2003-07-21 15:03  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.
 
-	* NEWS, README.mod_sql, contrib/mod_sql.c:
-	  Bug#2113 - mod_sql default uses mysql keyword.
+2003-08-06  castaglia <castaglia>
 
-2003-07-18 12:18  castaglia
+	* src/netaddr.c: Typos.
 
-	* 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-08-06  castaglia <castaglia>
 
-2003-07-16 11:48  castaglia
+	* configure: Updating configure.
 
-	* 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-08-06  castaglia <castaglia>
 
-2003-07-15 23:16  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.
 
-	* contrib/mod_sql_mysql.c:
-	  Spacing nit.
+2003-08-06  castaglia <castaglia>
 
-2003-07-14 19:57  castaglia
+	* modules/mod_auth_file.c: Fix code in case where fgetgrent(3) is
+	not present on the system.
 
-	* modules/mod_xfer.c:
-	  Cruft.
+2003-08-02  castaglia <castaglia>
 
-2003-07-10 18:51  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.
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#2103 - AuthAliasOnly in server context causes hang.
+2003-08-01  castaglia <castaglia>
 
-2003-07-10 09:09  jwm
+	* 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.
 
-	* contrib/mod_ldap.c:
-	  release 2.8.12
+2003-08-01  castaglia <castaglia>
 
-2003-07-07 15:59  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.
 
-	* contrib/mod_sql_mysql.c:
-	  Typo.
+2003-07-30  castaglia <castaglia>
 
-2003-07-07 13:42  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.
 
-	* contrib/: mod_sql_mysql.c, mod_sql_postgres.c:
-	  Updating module names in comments.
+2003-07-30  castaglia <castaglia>
 
-2003-07-07 13:15  castaglia
+	* contrib/mod_tls.c: Removing unused code.
 
-	* NEWS:
-	  Correcting handling of mod_tls TLSCertificateChainFile directive.
+2003-07-30  castaglia <castaglia>
 
-2003-07-07 13:13  castaglia
+	* NEWS, contrib/mod_tls.c: Close files that have been fopen()'d
+	always, not just when conditions mean that no errors are
+	encountered.
 
-	* 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-29  castaglia <castaglia>
 
-2003-07-07 11:27  castaglia
+	* NEWS, modules/mod_core.c: Bug#2119 - FEAT response format does not
+	conform to RFC2389.
 
-	* NEWS, modules/mod_core.c:
-	  Bug#2100 - Invalid domain in <VirtualHost> tag causes
-	  segmentation fault.
+2003-07-29  castaglia <castaglia>
 
-2003-07-03 14:48  castaglia
+	* doc/rfc/rfc2228.txt, doc/rfc/rfc2389.txt, doc/rfc/rfc2428.txt: 
+	Style.
 
-	* sample-configurations/: anonymous.conf, complex-virtual.conf:
-	  Don't forget the X-variants of FTP commands in <Limit> examples.
+2003-07-28  castaglia <castaglia>
 
-2003-06-28 10:14  castaglia
+	* NEWS: Mention fix of mod_tls directives.
 
-	* contrib/: mod_sql_mysql.c, mod_sql_postgres.c:
-	  Add comments about provide proper escapestring implementations.
-	  Failure to do so allows SQL injection.
+2003-07-28  castaglia <castaglia>
 
-2003-06-27 00:13  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.
 
-	* modules/mod_core.c:
-	  Be a little more verbose about the exact error cause of
-	  log_opensyslog() fails.
+2003-07-25  castaglia <castaglia>
 
-2003-06-27 00:10  castaglia
+	* sample-configurations/anonymous.conf,
+	sample-configurations/complex-virtual.conf,
+	sample-configurations/mod_sql.conf,
+	sample-configurations/virtual.conf: Style.
 
-	* lib/pr-syslog.c:
-	  Fix some inadvertently inverted #ifdefs.
+2003-07-25  jwm <jwm>
 
-2003-06-23 18:47  castaglia
+	* include/pr-syslog.h: silence warning
 
-	* NEWS, contrib/mod_rewrite.c, include/conf.h:
-	  Bug#2090 - mod_rewrite doesn't compile on Solaris 8.
+2003-07-24  castaglia <castaglia>
 
-2003-06-23 12:58  castaglia
+	* Makefile.in, NEWS: Bug#2115 - ftptop depends on snprintf but
+	doesn't link in lib/libsupp.a
 
-	* contrib/mod_radius.c:
-	  Use USHRT_MAX rather than 65535 (and fix a typo).
+2003-07-24  castaglia <castaglia>
 
-2003-06-17 13:54  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.
 
-	* contrib/mod_sql_postgres.c:
-	  Removing POSTGRES_NO_ESCAPESTRING #define from mod_sql_postgres.
-	  See Bug#2087.
+2003-07-21  castaglia <castaglia>
 
-2003-06-16 18:25  castaglia
+	* NEWS, contrib/mod_sql.c: Bug#2113 - mod_sql default uses mysql
+	keyword.
 
-	* configure:
-	  Updating configure.
+2003-07-18  castaglia <castaglia>
 
-2003-06-16 18:23  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.
 
-	* 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-07-16  castaglia <castaglia>
 
-2003-06-16 13:22  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.
 
-	* 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-07-16  castaglia <castaglia>
 
-2003-06-12 16:41  castaglia
+	* contrib/mod_sql_mysql.c: Spacing nit.
 
-	* contrib/mod_tls.html:
-	  Minor corrections.
+2003-07-15  castaglia <castaglia>
 
-2003-06-12 12:30  castaglia
+	* modules/mod_xfer.c: Cruft.
 
-	* contrib/mod_tls.c:
-	  Better handling of too long certificate verification chains.
+2003-07-11  castaglia <castaglia>
 
-2003-06-11 19:08  castaglia
+	* NEWS, modules/mod_auth.c: Bug#2103 - AuthAliasOnly in server
+	context causes hang.
 
-	* src/: inet.c, modules.c:
-	  Missing $Id: ChangeLog,v 1.154 2014-05-15 16:20:23 castaglia Exp $ keyword.
+2003-07-10  jwm <jwm>
 
-2003-06-11 15:45  castaglia
+	* contrib/mod_ldap.c: release 2.8.12
 
-	* src/ident.c:
-	  Match debug levels with what's in main.c for ident lookups.
+2003-07-07  castaglia <castaglia>
 
-2003-06-11 15:44  castaglia
+	* contrib/mod_sql_mysql.c: Typo.
 
-	* src/: ident.c, main.c:
-	  Add some debugging routines to the ident lookups.
+2003-07-07  castaglia <castaglia>
 
-2003-06-11 13:46  castaglia
+	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Updating
+	module names in comments.
 
-	* config.h.in:
-	  Missing entry for <netinet/ip.h> header file, checked by
-	  configure.
+2003-07-07  castaglia <castaglia>
 
-2003-06-09 17:38  castaglia
+	* NEWS: Correcting handling of mod_tls TLSCertificateChainFile
+	directive.
 
-	* contrib/mod_tls.c:
-	  Need to be consistent about names of variables used.
+2003-07-07  castaglia <castaglia>
 
-2003-06-09 17:33  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.
 
-	* contrib/mod_tls.c:
-	  Better handling of possible errors when loading certs from a
-	  CertificateChainFile.
+2003-07-07  castaglia <castaglia>
 
-2003-06-09 17:20  castaglia
+	* NEWS, modules/mod_core.c: Bug#2100 - Invalid domain in
+	<VirtualHost> tag causes segmentation fault.
 
-	* contrib/mod_tls.c:
-	  Fixed typo that prevent TLSCertificateChainFile from working
-	  properly.
+2003-07-03  castaglia <castaglia>
 
-2003-06-09 10:25  castaglia
+	* sample-configurations/anonymous.conf,
+	sample-configurations/complex-virtual.conf: Don't forget the
+	X-variants of FTP commands in <Limit> examples.
 
-	* NEWS, modules/mod_auth_file.c:
-	  Bug#2083 - "550 Access denied" on group permission with
-	  AuthGroupFile.
+2003-06-28  castaglia <castaglia>
 
-2003-06-05 17:07  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.
 
-	* src/main.c:
-	  Add debug output (level 6) for use/nonuse of RFC1413 lookups.
+2003-06-27  castaglia <castaglia>
 
-2003-06-05 12:34  castaglia
+	* modules/mod_core.c: Be a little more verbose about the exact error
+	cause of log_opensyslog() fails.
 
-	* modules/: mod_auth.c, mod_core.c:
-	  Match variable data types.
+2003-06-27  castaglia <castaglia>
 
-2003-06-05 12:28  castaglia
+	* lib/pr-syslog.c: Fix some inadvertently inverted #ifdefs.
 
-	* 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-24  castaglia <castaglia>
 
-2003-06-04 16:32  castaglia
+	* NEWS, contrib/mod_rewrite.c, include/conf.h: Bug#2090 -
+	mod_rewrite doesn't compile on Solaris 8.
 
-	* 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-23  castaglia <castaglia>
 
-2003-06-04 10:03  castaglia
+	* contrib/mod_radius.c: Use USHRT_MAX rather than 65535 (and fix a
+	typo).
 
-	* configure:
-	  Updating configure.
+2003-06-17  castaglia <castaglia>
 
-2003-06-04 09:59  castaglia
+	* contrib/mod_sql_postgres.c: Removing POSTGRES_NO_ESCAPESTRING
+	#define from mod_sql_postgres.  See Bug#2087.
 
-	* configure.in, config.h.in:
-	  Add autoconf checks for mlock(2), mlockall(2), munlock(2), and
-	  munlockall(2).
+2003-06-17  castaglia <castaglia>
 
-2003-06-04 07:53  castaglia
+	* configure: Updating configure.
 
-	* src/inet.c:
-	  Typo in inet_setnonblock() (Bug#2077).
+2003-06-17  castaglia <castaglia>
 
-2003-06-03 21:37  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.
 
-	* README.mod_sql:
-	  Updating example SQL hooks code for current API.
+2003-06-16  castaglia <castaglia>
 
-2003-06-03 19:19  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.
 
-	* contrib/mod_tls.html:
-	  Updating mod_tls installation instructions.
+2003-06-12  castaglia <castaglia>
 
-2003-06-03 13:42  castaglia
+	* contrib/mod_tls.c: Better handling of too long certificate
+	verification chains.
 
-	* 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-12  castaglia <castaglia>
 
-2003-06-03 09:25  castaglia
+	* src/inet.c, src/modules.c: Missing $Id$ keyword.
 
-	* 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-11  castaglia <castaglia>
 
-2003-06-03 09:17  castaglia
+	* src/ident.c: Match debug levels with what's in main.c for ident
+	lookups.
 
-	* 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-11  castaglia <castaglia>
 
-2003-06-03 09:11  castaglia
+	* src/ident.c, src/main.c: Add some debugging routines to the ident
+	lookups.
 
-	* configure:
-	  Updating configure.
+2003-06-11  castaglia <castaglia>
 
-2003-06-03 09:04  castaglia
+	* config.h.in: Missing entry for <netinet/ip.h> header file, checked
+	by configure.
 
-	* NEWS, config.h.in, configure.in:
-	  Bug#2076 - The --enable-transfer-buffer-size configure option
-	  doesn't work properly.
+2003-06-10  castaglia <castaglia>
 
-2003-06-02 15:16  castaglia
+	* contrib/mod_tls.c: Need to be consistent about names of variables
+	used.
 
-	* NEWS, src/fsio.c:
-	  Bug#2075 - ls / fails under Cygwin.
+2003-06-10  castaglia <castaglia>
 
-2003-06-02 09:23  castaglia
+	* contrib/mod_tls.c: Better handling of possible errors when loading
+	certs from a CertificateChainFile.
 
-	* 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-06-10  castaglia <castaglia>
 
-2003-05-31 09:31  castaglia
+	* contrib/mod_tls.c: Fixed typo that prevent TLSCertificateChainFile
+	from working properly.
 
-	* README.mod_sql:
-	  Increasing suggested passwd column length.
+2003-06-09  castaglia <castaglia>
 
-2003-05-30 17:51  castaglia
+	* NEWS, modules/mod_auth_file.c: Bug#2083 - "550 Access denied" on
+	group permission with AuthGroupFile.
 
-	* contrib/mod_rewrite.c:
-	  Changed referenced to deprecated make_named_sub_pool() to
-	  make_sub_pool().
+2003-06-06  castaglia <castaglia>
 
-2003-05-30 17:37  castaglia
+	* src/main.c: Add debug output (level 6) for use/nonuse of RFC1413
+	lookups.
 
-	* 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-06-05  castaglia <castaglia>
 
-2003-05-30 17:07  castaglia
+	* modules/mod_auth.c, modules/mod_core.c: Match variable data types.
 
-	* 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-06-05  castaglia <castaglia>
 
-2003-05-29 09:31  castaglia
+	* NEWS, modules/mod_auth.c: Some inappropriate/ill-timed Class
+	functionality check was preventing %N/%y from being properly counted
+	for DisplayConnect files.
 
-	* 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-06-04  castaglia <castaglia>
 
-2003-05-29 00:29  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.
 
-	* contrib/: mod_sql_mysql.c, 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-06-04  castaglia <castaglia>
 
-2003-05-28 16:03  jwm
+	* configure: Updating configure.
 
-	* contrib/dist/rpm/proftpd.spec:
-	  build fixup from Ivan Martinez <ivanfm at os2brasil.com.br>
+2003-06-04  castaglia <castaglia>
 
-2003-05-27 19:51  castaglia
+	* config.h.in, configure.in: Add autoconf checks for mlock(2),
+	mlockall(2), munlock(2), and munlockall(2).
 
-	* 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-06-04  castaglia <castaglia>
 
-2003-05-27 13:42  castaglia
+	* src/inet.c: Typo in inet_setnonblock() (Bug#2077).
 
-	* 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-06-03  castaglia <castaglia>
 
-2003-05-26 17:46  jwm
+	* modules/mod_log.c, src/log.c, src/main.c: Changing variable names
+	to avoid pedantic compiler warnings emitted by gcc-3.3.
 
-	* contrib/dist/rpm/proftpd.spec:
-	  logrotate script should be config(noreplace)
+2003-06-03  castaglia <castaglia>
 
-2003-05-26 17:45  jwm
+	* 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.
 
-	* contrib/dist/rpm/proftpd.spec:
-	  Apparently RPM doesn't like user-defined options with dashes in
-	  them (--with-module -> --with)
+2003-06-03  castaglia <castaglia>
 
-2003-05-26 12:20  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.
 
-	* src/data.c:
-	  Style/spacing.
+2003-06-03  castaglia <castaglia>
 
-2003-05-25 18:48  jwm
+	* configure: Updating configure.
 
-	* NEWS:
-	  I really should pay attention to what I'm doing when I resolve
-	  conflicts...
+2003-06-03  castaglia <castaglia>
 
-2003-05-25 18:41  jwm
+	* NEWS, config.h.in, configure.in: Bug#2076 - The
+	--enable-transfer-buffer-size configure option doesn't work
+	properly.
 
-	* NEWS:
-	  Bug 1804 - Permit selection of additional contrib modules when
-	  building the RPM
+2003-06-02  castaglia <castaglia>
 
-2003-05-25 18:39  jwm
+	* NEWS, src/fsio.c: Bug#2075 - ls / fails under Cygwin.
 
-	* contrib/dist/rpm/proftpd.spec:
-	  change the flag name
+2003-06-02  castaglia <castaglia>
 
-2003-05-25 18:17  jwm
+	* 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.
 
-	* contrib/dist/rpm/proftpd.spec:
-	  Bug 1804 - RPM spec file improvements
+2003-05-31  castaglia <castaglia>
 
-2003-05-23 12:43  castaglia
+	* contrib/mod_rewrite.c: Changed referenced to deprecated
+	make_named_sub_pool() to make_sub_pool().
 
-	* src/log.c:
-	  Make the error about logging to world-writeable directories a
-	  little more prominent.
+2003-05-31  castaglia <castaglia>
 
-2003-05-22 12:26  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.
 
-	* NEWS, src/fsio.c:
-	  Bug#2043 - Proftpd converts LF to CRLF on PUT (Cygwin)
+2003-05-31  castaglia <castaglia>
 
-2003-05-22 08:01  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.
 
-	* modules/mod_xfer.c:
-	  Fix missing case for .ftpaccess files bearing
-	  Max{Retrieve,Store}FileSize directives.
+2003-05-29  castaglia <castaglia>
 
-2003-05-20 11:00  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).
 
-	* contrib/mod_sql.c:
-	  Correcting thinko in mod_sql that affected proper lookup of shell
-	  values.  Minor log message correction.
+2003-05-29  castaglia <castaglia>
 
-2003-05-19 15:28  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.)
 
-	* 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-28  jwm <jwm>
 
-2003-05-19 13:12  castaglia
+	* contrib/dist/rpm/proftpd.spec: build fixup from Ivan Martinez
+	<ivanfm at os2brasil.com.br>
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#2051 - freebytes in TransferRate does not work properly.
+2003-05-28  castaglia <castaglia>
 
-2003-05-16 09:18  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'.
 
-	* include/version.h:
-	  Bumping the version for CVS.
+2003-05-27  castaglia <castaglia>
 
-2003-05-15 21:28  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.
 
-	* ChangeLog:
-	  Updating ChangeLog.
+2003-05-27  jwm <jwm>
 
-2003-05-15 21:25  castaglia
+	* contrib/dist/rpm/proftpd.spec: logrotate script should be
+	config(noreplace)
 
-	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
-	  Preparing for 1.2.9rc1 release.
+2003-05-27  jwm <jwm>
 
-2003-05-14 19:21  castaglia
+	* contrib/dist/rpm/proftpd.spec: Apparently RPM doesn't like
+	user-defined options with dashes in them (--with-module -> --with)
 
-	* README.mod_sql:
-	  Bug#2044 - PostgreSQL backend SQLConnectInfo malfunction.
-	  Actually, this is merely bad documentation.
+2003-05-26  castaglia <castaglia>
 
-2003-05-14 17:49  castaglia
+	* src/data.c: Style/spacing.
 
-	* lib/libcap/Makefile, lib/libcap/cap_alloc.c,
-	  lib/libcap/cap_text.c, lib/libcap/libcap.h,
-	  lib/libcap/include/sys/capability.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-26  jwm <jwm>
 
-2003-05-14 12:05  castaglia
+	* NEWS: I really should pay attention to what I'm doing when I
+	resolve conflicts...
 
-	* 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-26  jwm <jwm>
 
-2003-05-14 10:54  castaglia
+	* NEWS: Bug 1804 - Permit selection of additional contrib modules
+	when building the RPM
 
-	* NEWS:
-	  Wrong bug report number.
+2003-05-26  jwm <jwm>
 
-2003-05-13 22:17  castaglia
+	* contrib/dist/rpm/proftpd.spec: change the flag name
 
-	* 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-26  jwm <jwm>
 
-2003-05-13 21:56  castaglia
+	* contrib/dist/rpm/proftpd.spec: Bug 1804 - RPM spec file
+	improvements
 
-	* NEWS, contrib/mod_rewrite.c:
-	  Bug#2031 - Add support for flags for RewriteCondition,
-	  RewriteRule (a la Apache's mod_rewrite)
+2003-05-23  castaglia <castaglia>
 
-2003-05-13 21:43  castaglia
+	* src/log.c: Make the error about logging to world-writeable
+	directories a little more prominent.
 
-	* NEWS, src/dirtree.c, src/fsio.c:
-	  Bug#2047 - 1024 or more chars in .ftpaccess causes lockup.
+2003-05-22  castaglia <castaglia>
 
-2003-05-12 11:23  castaglia
+	* NEWS, src/fsio.c: Bug#2043 - Proftpd converts LF to CRLF on PUT
+	(Cygwin)
 
-	* lib/pr-syslog.c:
-	  Fix logic.
+2003-05-22  castaglia <castaglia>
 
-2003-05-12 11:20  castaglia
+	* modules/mod_xfer.c: Fix missing case for .ftpaccess files bearing
+	Max{Retrieve,Store}FileSize directives.
 
-	* lib/pr-syslog.c:
-	  Add an Id tag.
+2003-05-20  castaglia <castaglia>
 
-2003-05-09 16:57  jwm
+	* contrib/mod_sql.c: Correcting thinko in mod_sql that affected
+	proper lookup of shell values.  Minor log message correction.
 
-	* lib/pr-syslog.c:
-	  centralize STREAMS defines
+2003-05-19  castaglia <castaglia>
 
-2003-05-09 00:02  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.
 
-	* configure:
-	  Updating.
+2003-05-19  castaglia <castaglia>
 
-2003-05-08 23:58  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#2051 - freebytes in TransferRate
+	does not work properly.
 
-	* configure.in:
-	  Minor wording correction/change.
+2003-05-16  castaglia <castaglia>
 
-2003-05-08 11:12  castaglia
+	* include/version.h: Bumping the version for CVS.
 
-	* configure:
-	  Updating configure.
+2003-05-16  castaglia <castaglia>
 
-2003-05-08 11:10  castaglia
+	* ChangeLog: Updating ChangeLog.
 
-	* configure.in:
-	  Cygwin installation patch (contributed by Jason Tishler
-	  <jason at tishler.net>).
+2003-05-16  castaglia <castaglia>
 
-2003-05-02 11:13  castaglia
+	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
+	for 1.2.9rc1 release.
 
-	* README.cygwin:
-	  Add note about Cygwin's lack of largefile support (sizeof(off_t)
-	  is only 4, rather than 8, on Cygwin).
+2003-05-15  castaglia <castaglia>
 
-2003-05-02 10:09  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.
 
-	* configure:
-	  Updating configure.
+2003-05-14  castaglia <castaglia>
 
-2003-05-02 10:07  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.
 
-	* 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-05-14  castaglia <castaglia>
 
-2003-04-30 12:32  castaglia
+	* NEWS: Wrong bug report number.
 
-	* 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-05-14  castaglia <castaglia>
 
-2003-04-30 11:20  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.
 
-	* modules/: mod_auth.c, mod_core.c:
-	  get_param_ptr() lookup logic thinkos.
+2003-05-14  castaglia <castaglia>
 
-2003-04-30 11:16  castaglia
+	* NEWS, contrib/mod_rewrite.c: Bug#2031 - Add support for flags for
+	RewriteCondition, RewriteRule (a la Apache's mod_rewrite)
 
-	* contrib/mod_rewrite.html:
-	  Add default value for RewriteEngine.
+2003-05-14  castaglia <castaglia>
 
-2003-04-30 11:13  castaglia
+	* NEWS, src/dirtree.c, src/fsio.c: Bug#2047 - 1024 or more chars in
+	.ftpaccess causes lockup.
 
-	* contrib/mod_rewrite.c:
-	  More explicit handling of RewriteEngine lookup.
+2003-05-12  castaglia <castaglia>
 
-2003-04-30 09:12  castaglia
+	* lib/pr-syslog.c: Fix logic.
 
-	* modules/mod_auth_file.c:
-	  Style/placement.
+2003-05-12  castaglia <castaglia>
 
-2003-04-30 08:49  castaglia
+	* lib/pr-syslog.c: Add an Id tag.
 
-	* NEWS, modules/mod_auth_file.c:
-	  Bug#2032 - AuthOrder not working when first option is
-	  mod_auth_file.c.
+2003-05-09  jwm <jwm>
 
-2003-04-30 00:44  castaglia
+	* lib/pr-syslog.c: centralize STREAMS defines
 
-	* configure:
-	  Updating.
+2003-05-09  castaglia <castaglia>
 
-2003-04-30 00:42  castaglia
+	* configure: Updating.
 
-	* 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-05-09  castaglia <castaglia>
 
-2003-04-29 23:45  castaglia
+	* configure.in: Minor wording correction/change.
 
-	* contrib/mod_tls.c:
-	  Forgot to decrement the reference count to the peer cert
-	  properly.
+2003-05-08  castaglia <castaglia>
 
-2003-04-29 17:03  castaglia
+	* configure: Updating configure.
 
-	* 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-05-08  castaglia <castaglia>
 
-2003-04-29 10:40  castaglia
+	* configure.in: Cygwin installation patch (contributed by Jason
+	Tishler <jason at tishler.net>).
 
-	* NEWS:
-	  Oops...wrong credit. =/
+2003-05-02  castaglia <castaglia>
 
-2003-04-29 10:39  castaglia
+	* README.cygwin: Add note about Cygwin's lack of largefile support
+	(sizeof(off_t) is only 4, rather than 8, on Cygwin).
 
-	* NEWS:
-	  Add credit for AllowForeignAddress fix.
+2003-05-02  castaglia <castaglia>
 
-2003-04-29 10:13  castaglia
+	* configure: Updating configure.
 
-	* 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-05-02  castaglia <castaglia>
 
-2003-04-26 10:50  jwm
+	* 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.
 
-	* src/.cvsignore, utils/.cvsignore:
-	  ignore autogenerated man pages
+2003-04-30  castaglia <castaglia>
 
-2003-04-24 21:13  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.
 
-	* 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:
+2003-04-30  castaglia <castaglia>
 
-	    http://cygwin.com/ml/cygwin/2003-04/msg01918.html
+	* modules/mod_auth.c, modules/mod_core.c: get_param_ptr() lookup
+	logic thinkos.
 
-	  Also updating the Cygwin README with feedback from Jason Tishler
-	  <jason at tishler.net>.
+2003-04-30  castaglia <castaglia>
 
-2003-04-24 17:02  castaglia
+	* contrib/mod_rewrite.c: More explicit handling of RewriteEngine
+	lookup.
 
-	* 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-30  castaglia <castaglia>
 
-2003-04-24 16:02  castaglia
+	* modules/mod_auth_file.c: Style/placement.
 
-	* contrib/mod_rewrite.c:
-	  Fixing bug where a RewriteRule with no conditions was not being
-	  executed properly.
+2003-04-30  castaglia <castaglia>
 
-2003-04-24 12:41  castaglia
+	* NEWS, modules/mod_auth_file.c: Bug#2032 - AuthOrder not working
+	when first option is mod_auth_file.c.
 
-	* INSTALL, README.modules:
-	  Module name changes.
+2003-04-30  castaglia <castaglia>
 
-2003-04-23 17:27  castaglia
+	* configure: Updating.
 
-	* README.modules:
-	  Updating the module list.
+2003-04-30  castaglia <castaglia>
 
-2003-04-23 11:55  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).
 
-	* contrib/mod_rewrite.c:
-	  Pedantic change -- bad grammar in variable name.
+2003-04-30  castaglia <castaglia>
 
-2003-04-22 23:56  castaglia
+	* contrib/mod_tls.c: Forgot to decrement the reference count to the
+	peer cert properly.
 
-	* configure:
-	  Updating.
+2003-04-30  castaglia <castaglia>
 
-2003-04-22 23:53  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.
 
-	* 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:
+2003-04-29  castaglia <castaglia>
 
-	    CFLAGS="-DPR_DEVEL_NO_FORK -DPR_DEVEL_COREDUMP" ./configure
-	  --enable-devel ...
+	* NEWS: Oops...wrong credit. =/
 
-	  you can now do:
+2003-04-29  castaglia <castaglia>
 
-	    ./configure --enable-devel=nofork:coredump ...
+	* NEWS: Add credit for AllowForeignAddress fix.
 
-	  At present, only three developer options are supported: nodaemon,
-	  nofork, and coredump.
+2003-04-29  castaglia <castaglia>
 
-2003-04-22 22:00  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.
 
-	* contrib/mod_rewrite.html:
-	  Typo.
+2003-04-26  jwm <jwm>
 
-2003-04-22 19:46  castaglia
+	* src/.cvsignore, utils/.cvsignore: ignore autogenerated man pages
 
-	* src/pool.c:
-	  Sanity checking.
+2003-04-25  castaglia <castaglia>
 
-2003-04-22 19:39  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>.
 
-	* lib/glibc-glob.c:
-	  Fixing compiler warning.
+2003-04-25  castaglia <castaglia>
 
-2003-04-22 17:42  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).
 
-	* contrib/mod_rewrite.html:
-	  Adding more substance to this document (still needs more,
-	  though).
+2003-04-24  castaglia <castaglia>
 
-2003-04-22 17:28  castaglia
+	* contrib/mod_rewrite.c: Fixing bug where a RewriteRule with no
+	conditions was not being executed properly.
 
-	* NEWS, contrib/mod_rewrite.c:
-	  Bug#2029 - Rewrite rule may execute more than once if multiple
-	  rewrite conditions exist.
+2003-04-24  castaglia <castaglia>
 
-2003-04-22 16:07  castaglia
+	* INSTALL, README.modules: Module name changes.
 
-	* NEWS:
-	  Bug#2003 - mod_auth.c does not compile for cygwin on W2K.
+2003-04-24  castaglia <castaglia>
 
-2003-04-22 16:05  castaglia
+	* README.modules: Updating the module list.
 
-	* 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-23  castaglia <castaglia>
 
-2003-04-22 13:47  castaglia
+	* contrib/mod_rewrite.c: Pedantic change -- bad grammar in variable
+	name.
 
-	* 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-23  castaglia <castaglia>
 
-2003-04-21 20:21  castaglia
+	* configure: Updating.
 
-	* contrib/mod_tls.html:
-	  Updating the mod_tls documentation.
+2003-04-23  castaglia <castaglia>
 
-2003-04-17 23:26  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.
 
-	* NEWS, modules/mod_core.c:
-	  Bug#1532 - [patch] Human readable disk free.
+2003-04-23  castaglia <castaglia>
 
-2003-04-17 16:06  castaglia
+	* src/pool.c: Sanity checking.
 
-	* src/inet.c:
-	  Cruft removal.
+2003-04-23  castaglia <castaglia>
 
-2003-04-16 10:53  castaglia
+	* lib/glibc-glob.c: Fixing compiler warning.
 
-	* 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-23  castaglia <castaglia>
 
-2003-04-16 00:34  castaglia
+	* NEWS, contrib/mod_rewrite.c: Bug#2029 - Rewrite rule may execute
+	more than once if multiple rewrite conditions exist.
 
-	* src/fsio.c:
-	  Typo.
+2003-04-22  castaglia <castaglia>
 
-2003-04-16 00:00  castaglia
+	* NEWS: Bug#2003 - mod_auth.c does not compile for cygwin on W2K.
 
-	* configure:
-	  Updating configure script.
+2003-04-22  castaglia <castaglia>
 
-2003-04-15 23:56  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).
 
-	* configure.in:
-	  Tweaking the configure.in file to fix some things that cause
-	  trouble on Tru64 Unix (and probably other picky platforms).
+2003-04-22  castaglia <castaglia>
 
-2003-04-15 23:09  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.
 
-	* 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-18  castaglia <castaglia>
 
-2003-04-15 20:18  castaglia
+	* NEWS, modules/mod_core.c: Bug#1532 - [patch] Human readable disk
+	free.
 
-	* src/fsio.c:
-	  Silencing compiler warnings about statvfs64(2) on LFS-enabled
-	  Solaris.
+2003-04-17  castaglia <castaglia>
 
-2003-04-15 15:56  castaglia
+	* src/inet.c: Cruft removal.
 
-	* 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-16  castaglia <castaglia>
 
-2003-04-14 23:42  castaglia
+	* src/fsio.c: Add Solaris 2.5.1 to the list of Solaris versions that
+	use struct statvfs for its statvfs(2) call.
 
-	* 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-16  castaglia <castaglia>
 
-2003-04-14 23:22  castaglia
+	* src/fsio.c: Typo.
 
-	* NEWS, modules/mod_auth.c, modules/mod_core.c:
-	  Added RootRevoke configuration directive.
+2003-04-16  castaglia <castaglia>
 
-2003-04-14 18:08  castaglia
+	* configure: Updating configure script.
 
-	* src/modules.c:
-	  Minor adjustment, to make sure that PRE_CMD, POST_CMD et al are
-	  not inadvertently forgotten.
+2003-04-16  castaglia <castaglia>
 
-2003-04-14 16:18  castaglia
+	* configure.in: Tweaking the configure.in file to fix some things
+	that cause trouble on Tru64 Unix (and probably other picky
+	platforms).
 
-	* src/modules.c:
-	  HOOK commands need to be properly inserted into the stash if they
-	  are to be later looked up.
+2003-04-16  castaglia <castaglia>
 
-2003-04-14 15:38  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).
 
-	* modules/mod_xfer.c:
-	  Michael found a bug where the REST position was not properly
-	  being cleared between uploads/downloads.
+2003-04-16  castaglia <castaglia>
 
-2003-04-09 11:29  castaglia
+	* src/fsio.c: Silencing compiler warnings about statvfs64(2) on
+	LFS-enabled Solaris.
 
-	* src/inet.c:
-	  Typo.
+2003-04-15  castaglia <castaglia>
 
-2003-04-08 23:39  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.
 
-	* src/inet.c:
-	  IRIX doesn't need this ioctl(2) call, it seems.
+2003-04-15  castaglia <castaglia>
 
-2003-04-08 19:53  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.
 
-	* NEWS, modules/mod_core.c, modules/mod_site.c, modules/mod_xfer.c:
+2003-04-15  castaglia <castaglia>
 
-	  Bug#2002 - Per-<Directory> PathAllowFilter/PathDenyFilter.
+	* NEWS, modules/mod_auth.c, modules/mod_core.c: Added RootRevoke
+	configuration directive.
 
-2003-04-08 15:25  castaglia
+2003-04-15  castaglia <castaglia>
 
-	* contrib/mod_ifsession.c:
-	  Fixing bug with mod_ifsession's searching/handling of multiple
-	  <If*> contexts.
+	* src/modules.c: Minor adjustment, to make sure that PRE_CMD,
+	POST_CMD et al are not inadvertently forgotten.
 
-2003-04-08 11:49  castaglia
+2003-04-14  castaglia <castaglia>
 
-	* configure:
-	  Updating configure.
+	* src/modules.c: HOOK commands need to be properly inserted into the
+	stash if they are to be later looked up.
 
-2003-04-08 11:47  castaglia
+2003-04-14  castaglia <castaglia>
 
-	* config.h.in, configure.in, NEWS, 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>.
+	* modules/mod_xfer.c: Michael found a bug where the REST position
+	was not properly being cleared between uploads/downloads.
 
-	  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-09  castaglia <castaglia>
 
-2003-04-08 10:18  castaglia
+	* src/inet.c: Typo.
 
-	* modules/mod_ls.c:
-	  Fix segfault in NLST.
+2003-04-09  castaglia <castaglia>
 
-2003-04-07 15:53  castaglia
+	* src/inet.c: IRIX doesn't need this ioctl(2) call, it seems.
 
-	* src/main.c:
-	  Minor buglet: actually honor RLIM_INFINITY if USE_DEVEL is
-	  defined when setting the RLIMIT_CORE rlimit.
+2003-04-09  castaglia <castaglia>
 
-2003-04-07 14:07  castaglia
+	* NEWS, modules/mod_core.c, modules/mod_site.c, modules/mod_xfer.c: 
+	Bug#2002 - Per-<Directory> PathAllowFilter/PathDenyFilter.
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#2018: Incorrect caching of TransferRate values.
+2003-04-08  castaglia <castaglia>
 
-2003-04-04 09:04  castaglia
+	* contrib/mod_ifsession.c: Fixing bug with mod_ifsession's
+	searching/handling of multiple <If*> contexts.
 
-	* lib/: pr_fnmatch.c, pr_fnmatch_loop.c:
-	  Quell some compiler warnings when --enable-devel flags are used.
+2003-04-08  castaglia <castaglia>
 
-2003-04-03 23:30  castaglia
+	* configure: Updating configure.
 
-	* configure:
-	  Updating.
+2003-04-08  castaglia <castaglia>
 
-2003-04-03 23:29  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.
 
-	* configure.in:
-	  Oops...forgot an important part. =P
+2003-04-08  castaglia <castaglia>
 
-2003-04-03 23:25  castaglia
+	* modules/mod_ls.c: Fix segfault in NLST.
 
-	* configure:
-	  Updating.
+2003-04-07  castaglia <castaglia>
 
-2003-04-03 23:23  castaglia
+	* src/main.c: Minor buglet: actually honor RLIM_INFINITY if
+	USE_DEVEL is defined when setting the RLIMIT_CORE rlimit.
 
-	* NEWS, configure.in, src/proftpd.8, src/proftpd.8.in,
-	  src/xferlog.5, src/xferlog.5.in, utils/ftpcount.1,
-	  utils/ftpcount.1.in, utils/ftpshut.8, utils/ftpshut.8.in,
-	  utils/ftptop.1, utils/ftptop.1.in, utils/ftpwho.1,
-	  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-07  castaglia <castaglia>
 
-2003-04-03 15:15  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#2018: Incorrect caching of
+	TransferRate values.
 
-	* modules/mod_core.c:
-	  Scrub the scoreboard during a rehash (SIGHUP), too.
+2003-04-04  castaglia <castaglia>
 
-2003-04-03 10:55  castaglia
+	* lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: Quell some compiler
+	warnings when --enable-devel flags are used.
 
-	* configure:
-	  Updating configure script for curses/ncurses library detection
-	  changes.
+2003-04-04  castaglia <castaglia>
 
-2003-04-03 10:49  castaglia
+	* configure: Updating.
 
-	* 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-04  castaglia <castaglia>
 
-2003-04-02 17:34  castaglia
+	* configure.in: Oops...forgot an important part. =P
 
-	* configure:
-	  Updating configure script.
+2003-04-04  castaglia <castaglia>
 
-2003-04-02 17:31  castaglia
+	* configure: Updating.
 
-	* NEWS, configure.in, config.h.in, utils/ftptop.c:
-	  Added new --disable-{curses,ncurses} configure options.
+2003-04-04  castaglia <castaglia>
 
-2003-04-02 14:54  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.
 
-	* README.PAM:
-	  Updating Linux PAM configuration examples.
+2003-04-03  castaglia <castaglia>
 
-2003-04-02 09:45  castaglia
+	* modules/mod_core.c: Scrub the scoreboard during a rehash (SIGHUP),
+	too.
 
-	* 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-03  castaglia <castaglia>
 
-2003-04-01 15:56  castaglia
+	* configure: Updating configure script for curses/ncurses library
+	detection changes.
 
-	* include/modules.h, src/modules.c:
-	  Removing crufty auth_priority variable.
+2003-04-03  castaglia <castaglia>
 
-2003-04-01 12:22  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.
 
-	* contrib/mod_sql.c:
-	  Pedantic orthography correction.
+2003-04-03  castaglia <castaglia>
 
-2003-04-01 12:13  castaglia
+	* configure: Updating configure script.
 
-	* contrib/mod_sql.c:
-	  Add typecasting, to quell compiler warnings.
+2003-04-03  castaglia <castaglia>
 
-2003-04-01 10:11  castaglia
+	* NEWS, config.h.in, configure.in, utils/ftptop.c: Added new
+	--disable-{curses,ncurses} configure options.
 
-	* modules/mod_core.c:
-	  This module needs to include signal.h, so that it picks up the
-	  prototype for kill(2).
+2003-04-02  castaglia <castaglia>
 
-2003-03-29 15:55  castaglia
+	* README.PAM: Updating Linux PAM configuration examples.
 
-	* 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-04-02  castaglia <castaglia>
 
-2003-03-29 15:52  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.
 
-	* 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-04-01  castaglia <castaglia>
 
-2003-03-29 11:52  castaglia
+	* include/modules.h, src/modules.c: Removing crufty auth_priority
+	variable.
 
-	* modules/mod_ls.c:
-	  Prevent a segfault in some situations by making sure the pointer
-	  exists before dereferencing it.
+2003-04-01  castaglia <castaglia>
 
-2003-03-29 09:12  castaglia
+	* contrib/mod_sql.c: Pedantic orthography correction.
 
-	* src/fsio.c:
-	  Be a little more accurate when reporting the name of the FS whose
-	  callback is being invoked.
+2003-04-01  castaglia <castaglia>
 
-2003-03-28 13:17  castaglia
+	* contrib/mod_sql.c: Add typecasting, to quell compiler warnings.
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#1998 - Add ListOptions for setting limits on -R listings.
+2003-04-01  castaglia <castaglia>
 
-2003-03-27 23:34  castaglia
+	* modules/mod_core.c: This module needs to include signal.h, so that
+	it picks up the prototype for kill(2).
 
-	* src/main.c:
-	  Every command needs to have its logging class, unless otherwise
-	  explicitly set, default to CL_ALL.
+2003-03-29  castaglia <castaglia>
 
-2003-03-27 17:58  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).
 
-	* contrib/ftpasswd:
-	  Make explicit the fact that --group --member parameters are user
-	  names.
+2003-03-29  castaglia <castaglia>
 
-2003-03-26 16:55  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.
 
-	* contrib/mod_ifsession.html:
-	  Adding text to the mod_ifsession docs.
+2003-03-29  castaglia <castaglia>
 
-2003-03-25 19:34  castaglia
+	* modules/mod_ls.c: Prevent a segfault in some situations by making
+	sure the pointer exists before dereferencing it.
 
-	* src/mkhome.c:
-	  Quell compiler warnings on Solaris by explicitly casting mode_t
-	  to an unsigned int.
+2003-03-29  castaglia <castaglia>
 
-2003-03-25 02:41  cyberrobo
+	* src/fsio.c: Be a little more accurate when reporting the name of
+	the FS whose callback is being invoked.
 
-	* modules/mod_ls.c: small typo
+2003-03-28  castaglia <castaglia>
 
-2003-03-24 21:52  castaglia
+	* NEWS, modules/mod_ls.c: Bug#1998 - Add ListOptions for setting
+	limits on -R listings.
 
-	* NEWS, src/inet.c:
-	  Bug#1997 - UnixWare 7.1.3 & port 20.
+2003-03-28  castaglia <castaglia>
 
-2003-03-24 15:43  castaglia
+	* src/main.c: Every command needs to have its logging class, unless
+	otherwise explicitly set, default to CL_ALL.
 
-	* src/inet.c:
-	  Typo.
+2003-03-28  castaglia <castaglia>
 
-2003-03-24 15:40  castaglia
+	* contrib/ftpasswd: Make explicit the fact that --group --member
+	parameters are user names.
 
-	* src/inet.c:
-	  More setsockopt(2) fun: *BSD want IPPROTO_IP for setting IP_TOS
-	  options, Linux wants SOL_IP.
+2003-03-26  castaglia <castaglia>
 
-2003-03-24 12:26  castaglia
+	* src/mkhome.c: Quell compiler warnings on Solaris by explicitly
+	casting mode_t to an unsigned int.
 
-	* 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).
+2003-03-25  cyberrobo <cyberrobo>
 
-	  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.)
+	* modules/mod_ls.c: small typo
 
-2003-03-24 12:02  castaglia
+2003-03-25  castaglia <castaglia>
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#1935 - mod_ls memory leak.
+	* NEWS, src/inet.c: Bug#1997 - UnixWare 7.1.3 & port 20.
 
-2003-03-23 22:14  castaglia
+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.
+	* src/inet.c: Typo.
 
-2003-03-23 12:00  castaglia
+2003-03-24  castaglia <castaglia>
 
-	* src/netio.c:
-	  A shutdown() is not a close(); shutdown should not be freeing the
-	  netio stream's pool.
+	* src/inet.c: More setsockopt(2) fun: *BSD want IPPROTO_IP for
+	setting IP_TOS options, Linux wants SOL_IP.
 
-2003-03-23 10:15  castaglia
+2003-03-24  castaglia <castaglia>
 
-	* contrib/mod_sql.c:
-	  More error checking when a custom SQLUserInfo query is used.
+	* 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-22 11:09  castaglia
+2003-03-24  castaglia <castaglia>
 
-	* utils/utils.h:
-	  Cruft.
+	* NEWS, modules/mod_ls.c: Bug#1935 - mod_ls memory leak.
 
-2003-03-22 11:04  castaglia
+2003-03-24  castaglia <castaglia>
 
-	* configure:
-	  Updating.
+	* 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-22 11:02  castaglia
+2003-03-23  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.
+	* src/netio.c: A shutdown() is not a close(); shutdown should not be
+	freeing the netio stream's pool.
 
-2003-03-22 10:19  castaglia
+2003-03-23  castaglia <castaglia>
 
-	* configure:
-	  Updating.
+	* contrib/mod_sql.c: More error checking when a custom SQLUserInfo
+	query is used.
 
-2003-03-22 10:16  castaglia
+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.
+	* utils/utils.h: Cruft.
 
-	  Add a --disable-ipv6 configure option, and a corresponding
-	  USE_IPV6 define.  Add check for getnameinfo(3) function.
+2003-03-22  castaglia <castaglia>
 
-2003-03-22 09:59  castaglia
+	* configure: Updating.
 
-	* configure:
-	  Updating.
+2003-03-22  castaglia <castaglia>
 
-2003-03-22 09:55  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.
 
-	* 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>
 
-2003-03-21 20:49  castaglia
+	* configure: Updating.
 
-	* 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-22  castaglia <castaglia>
 
-2003-03-20 22:46  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.
 
-	* NEWS:
-	  Should mention mod_radius changes here.
+2003-03-22  castaglia <castaglia>
 
-2003-03-20 22:44  castaglia
+	* configure: Updating.
 
-	* 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-22  castaglia <castaglia>
 
-2003-03-20 22:00  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.
 
-	* src/scoreboard.c:
-	  Report the scoreboard path anyway.
+2003-03-22  castaglia <castaglia>
 
-2003-03-20 21:58  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.
 
-	* src/scoreboard.c:
-	  Add debug logging of the path used if opening the scoreboard file
-	  fails.
+2003-03-21  castaglia <castaglia>
 
-2003-03-20 19:26  castaglia
+	* NEWS: Should mention mod_radius changes here.
 
-	* src/: fsio.c, main.c:
-	  Making the checking of the configuration file path actually work.
+2003-03-21  castaglia <castaglia>
 
-	  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.
+	* 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-20 15:23  castaglia
+2003-03-21  castaglia <castaglia>
 
-	* contrib/: mod_sql.c, mod_sql.h, mod_sql_mysql.c,
-	  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.
+	* src/scoreboard.c: Report the scoreboard path anyway.
 
-2003-03-20 13:38  castaglia
+2003-03-21  castaglia <castaglia>
 
-	* NEWS:
-	  Typo.
+	* src/scoreboard.c: Add debug logging of the path used if opening
+	the scoreboard file fails.
 
-2003-03-20 11:33  castaglia
+2003-03-21  castaglia <castaglia>
 
-	* utils/: ftpcount.1, ftptop.1, ftpwho.1:
-	  Updating paths to reflect default installation locations.
+	* 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 11:31  castaglia
+2003-03-20  castaglia <castaglia>
 
-	* src/proftpd.8:
-	  Updating the paths in the man page to reflect the default
-	  installation location.  At some point, we'll need to handle this
-	  better, to generate/rewrite the man page based on the --prefix
-	  used, so that the man pages properly reflect the locations of the
-	  installed files.
+	* 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 11:11  castaglia
+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).
+	* NEWS: Typo.
 
-2003-03-20 09:46  castaglia
+2003-03-20  castaglia <castaglia>
 
-	* NEWS, utils/ftptop.c:
-	  Bug#1995 - ftptop: no curses or ncurses library on this system.
+	* 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-19 23:54  castaglia
+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.
+	* NEWS, utils/ftptop.c: Bug#1995 - ftptop: no curses or ncurses
+	library on this system.
 
-2003-03-19 18:19  castaglia
+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.
+	* contrib/mod_sql_mysql.c: One minor cast needed to compile/link
+	without warnings against MySQL-4.0 client libraries.
 
-2003-03-19 12:05  castaglia
+2003-03-20  castaglia <castaglia>
 
-	* configure:
-	  Updating.
+	* 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 11:50  castaglia
+2003-03-19  castaglia <castaglia>
 
-	* aclocal.m4, config.h.in, configure.in:
-	  More IPv6-related autoconf detection.
+	* configure: Updating.
 
-2003-03-19 11:00  castaglia
+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
+	* aclocal.m4, config.h.in, configure.in: More IPv6-related autoconf
+	detection.
 
-2003-03-18 23:58  castaglia
+2003-03-19  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Another off-by-one bug, this time afflicting MaxClientsPerUser.
+	* 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-18 08:17  castaglia
+2003-03-19  castaglia <castaglia>
 
-	* contrib/mod_rewrite.html:
-	  Added note about the $0 backreference.
+	* modules/mod_auth.c: Another off-by-one bug, this time afflicting
+	MaxClientsPerUser.
 
-2003-03-18 08:13  castaglia
+2003-03-18  castaglia <castaglia>
 
-	* src/inet.c:
-	  Portability fun with socket options. =P
+	* src/inet.c: Portability fun with socket options. =P
 
-2003-03-18 07:57  castaglia
+2003-03-18  castaglia <castaglia>
 
-	* configure:
-	  Updating.
+	* configure: Updating.
 
-2003-03-18 07:53  castaglia
+2003-03-18  castaglia <castaglia>
 
-	* config.h.in, configure.in:
-	  Start autoconf checks for some functions we'll need for IPv6
-	  support.
+	* config.h.in, configure.in: Start autoconf checks for some
+	functions we'll need for IPv6 support.
 
-2003-03-18 07:19  castaglia
+2003-03-18  castaglia <castaglia>
 
-	* NEWS, contrib/mod_rewrite.c:
-	  Bug#1987 - mod_rewrite seems not to handle more than one
-	  backreference (only $1).
+	* NEWS, contrib/mod_rewrite.c: Bug#1987 - mod_rewrite seems not to
+	handle more than one backreference (only $1).
 
-2003-03-17 23:52  castaglia
+2003-03-18  castaglia <castaglia>
 
-	* NEWS, contrib/mod_rewrite.c:
-	  Bug#1986 - mod_rewrite backreferences not zero-based (use $1 not
-	  $0?).
+	* NEWS, contrib/mod_rewrite.c: Bug#1986 - mod_rewrite backreferences
+	not zero-based (use $1 not $0?).
 
-2003-03-17 15:48  castaglia
+2003-03-17  castaglia <castaglia>
 
-	* src/data.c:
-	  Trying to make sure that an interrupted sendfile(2) on Linux has
-	  its signals handled properly.
+	* src/data.c: Trying to make sure that an interrupted sendfile(2) on
+	Linux has its signals handled properly.
 
-2003-03-17 08:48  castaglia
+2003-03-17  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#1989 - SQLLog '*' doesn't match any commands.
+	* NEWS, contrib/mod_sql.c: Bug#1989 - SQLLog '*' doesn't match any
+	commands.
 
-2003-03-17 08:41  castaglia
+2003-03-17  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Add handling of signals if sendfile() is interrupted.
+	* modules/mod_xfer.c: Add handling of signals if sendfile() is
+	interrupted.
 
-2003-03-14 19:33  castaglia
+2003-03-15  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql_mysql.c:
-	  Bug#1730 - mod_mysql logging of long transfers fails.
+	* NEWS, contrib/mod_sql_mysql.c: Bug#1730 - mod_mysql logging of
+	long transfers fails.
 
-2003-03-14 19:18  castaglia
+2003-03-15  castaglia <castaglia>
 
-	* NEWS, contrib/mod_rewrite.c:
-	  Bug#1985 - mod_rewrite fails to build on platforms without
-	  flock().
+	* NEWS, contrib/mod_rewrite.c: Bug#1985 - mod_rewrite fails to build
+	on platforms without flock().
 
-2003-03-14 10:27  castaglia
+2003-03-14  castaglia <castaglia>
 
-	* contrib/: mod_sql.c, mod_sql.h, mod_sql_mysql.c,
-	  mod_sql_postgres.c:
-	  Adding $Id: ChangeLog,v 1.154 2014-05-15 16:20:23 castaglia Exp $ tags to the mod_sql files.
+	* 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 07:54  castaglia
+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().
+	* src/dirtree.c: Be a little more thorough in checking how to handle
+	the given path in get_dir_ctxt().
 
-2003-03-14 07:51  castaglia
+2003-03-14  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Correct get_dir_ctxt() when operating within a chroot.
+	* src/dirtree.c: Correct get_dir_ctxt() when operating within a
+	chroot.
 
-2003-03-13 18:37  jwm
+2003-03-14  jwm <jwm>
 
 	* README.LDAP: forgot to update this for 2.8.11
 
-2003-03-13 15:31  castaglia
+2003-03-13  castaglia <castaglia>
 
-	* NEWS, include/dirtree.h, src/dirtree.c, src/main.c:
-	  Bug#1983 - filenames beginning with # fail to upload / download.
+	* NEWS, include/dirtree.h, src/dirtree.c, src/main.c: Bug#1983 -
+	filenames beginning with # fail to upload / download.
 
-2003-03-12 18:56  castaglia
+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.
+	* 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.
 
-	  Also added two new FSIO functions, for fstat and ftruncate.
+2003-03-12  castaglia <castaglia>
 
-2003-03-12 13:55  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.
 
-	* 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>
 
-2003-03-12 13:13  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.
 
-	* 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>
 
-2003-03-12 08:36  castaglia
+	* Makefile.in: Pass LDFLAGS on to ftpcount and ftpshut, too.
 
-	* Makefile.in:
-	  Pass LDFLAGS on to ftpcount and ftpshut, too.
-
-2003-03-11 18:46  castaglia
+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-10 12:48  castaglia
+	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).
 
-	* contrib/mod_ifsession.html:
-	  Updating mod_ifsession docs.
-
-2003-03-09 15:24  castaglia
+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.
+	modules/mod_core.c, src/scoreboard.c, utils/utils.h: Bug#1915 -
+	Unsafe pointer usage in scoreboard file format.
 
-2003-03-09 14:40  castaglia
+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.
+	* NEWS, contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: 
+	Bug#1849 - Compile can have trouble finding mysql.h.
 
-2003-03-09 14:30  castaglia
+2003-03-09  castaglia <castaglia>
 
-	* configure:
-	  Updating the configure script.
+	* configure: Updating the configure script.
 
-2003-03-09 14:28  castaglia
+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 08:53  castaglia
+	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.
 
-	* src/inet.c:
-	  Portability fix for letting active/inetd function properly on Mac
-	  OSX (Darwin).
+2003-03-09  castaglia <castaglia>
 
-2003-03-09 08:23  castaglia
+	* src/inet.c: Portability fix for letting active/inetd function
+	properly on Mac OSX (Darwin).
 
-	* 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>
 
-2003-03-08 20:19  castaglia
+	* src/main.c, utils/ftpcount.c, utils/ftpwho.c: Minor change: list
+	the short form of options first, then the long form.
 
-	* NEWS, include/options.h, modules/mod_core.c:
-	  Bug#1969 - Add scoreboard-scrubbing timer.
+2003-03-09  castaglia <castaglia>
 
-2003-03-08 19:55  castaglia
+	* NEWS, include/options.h, modules/mod_core.c: Bug#1969 - Add
+	scoreboard-scrubbing timer.
 
-	* 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>
 
-2003-03-08 19:16  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.
 
-	* 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>
 
-2003-03-08 19:09  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.
 
-	* 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>
 
-2003-03-08 18:25  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.
 
-	* NEWS:
-	  Making note of new handling/checking for IP address/port
-	  collisions.
+2003-03-09  castaglia <castaglia>
 
-2003-03-08 18:24  castaglia
+	* NEWS: Making note of new handling/checking for IP address/port
+	collisions.
 
-	* 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>
 
-2003-03-08 18:06  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).
 
-	* 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>
 
-2003-03-08 17:35  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.
 
-	* README.ports:
-	  Updating.
+2003-03-09  castaglia <castaglia>
 
-2003-03-08 17:04  castaglia
+	* README.ports: Updating.
 
-	* include/modules.h:
-	  Cruft.
+2003-03-09  castaglia <castaglia>
 
-2003-03-08 16:56  castaglia
+	* include/modules.h: Cruft.
 
-	* include/proftpd.h:
-	  Cruft.
+2003-03-09  castaglia <castaglia>
 
-2003-03-07 15:11  castaglia
+	* include/proftpd.h: Cruft.
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#1932 - Make Max* checks a PASS POST_CMD handler.
+2003-03-07  castaglia <castaglia>
 
-2003-03-06 09:48  castaglia
+	* NEWS, modules/mod_auth.c: Bug#1932 - Make Max* checks a PASS
+	POST_CMD handler.
 
-	* 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.
+2003-03-06  castaglia <castaglia>
 
-	  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.
+	* 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-05 18:18  jwm
+2003-03-06  jwm <jwm>
 
-	* contrib/mod_ldap.c:
-	  upgrade to 2.8.11
+	* contrib/mod_ldap.c: upgrade to 2.8.11
 
-2003-03-05 18:15  castaglia
+2003-03-06  castaglia <castaglia>
 
-	* NEWS, contrib/mod_ifsession.c, contrib/mod_ifsession.html:
-	  Bug#1933 - Add mod_ifsession contrib module.
+	* NEWS, contrib/mod_ifsession.c: Bug#1933 - Add mod_ifsession
+	contrib module.
 
-2003-03-05 16:11  castaglia
+2003-03-06  castaglia <castaglia>
 
-	* NEWS, contrib/mod_radius.c:
-	  Bug#1980 - Login with incorrect password POSSIBLE when using
-	  mod_radius.
+	* NEWS, contrib/mod_radius.c: Bug#1980 - Login with incorrect
+	password POSSIBLE when using mod_radius.
 
-2003-03-05 13:55  castaglia
+2003-03-05  castaglia <castaglia>
 
-	* NEWS, utils/ftpcount.1, utils/ftpcount.c, utils/ftptop.1,
-	  utils/ftptop.c, utils/ftpwho.1, utils/ftpwho.c:
-	  Bug#1869 - Add option "--server/-s" to ftpwho&ftpcount&ftptop.
+	* NEWS, utils/ftpcount.c, utils/ftptop.c, utils/ftpwho.c: Bug#1869 -
+	Add option "--server/-s" to ftpwho&ftpcount&ftptop.
 
-2003-03-05 11:23  castaglia
+2003-03-05  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Bug#1979 - Add TLSTimeoutHandshake directive.
+	* NEWS, contrib/mod_tls.c: Bug#1979 - Add TLSTimeoutHandshake
+	directive.
 
-2003-03-05 11:20  castaglia
+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.
+	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-04 18:05  castaglia
+2003-03-05  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Fixing shadowing variable name.
+	* modules/mod_auth.c: Fixing shadowing variable name.
 
-2003-03-04 17:23  castaglia
+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.
+	* include/privs.h: Make the PRIVS_ROOT macro change the egid to 0 as
+	well as the euid, to be consistent.
 
-2003-03-04 15:32  castaglia
+2003-03-04  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Re-add the missing setsockopt(TCP_CORK) to uncork the socket
-	  after sending data.
+	* modules/mod_xfer.c: Re-add the missing setsockopt(TCP_CORK) to
+	uncork the socket after sending data.
 
-2003-03-04 15:22  castaglia
+2003-03-04  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Still working on this.
+	* modules/mod_xfer.c: Still working on this.
 
-2003-03-04 15:14  castaglia
+2003-03-04  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Fixing use of TCP_CORK.
+	* modules/mod_xfer.c: Fixing use of TCP_CORK.
 
-2003-03-04 13:46  castaglia
+2003-03-04  castaglia <castaglia>
 
-	* NEWS, modules/mod_log.c:
-	  Bug#1972 - %T not correctly shows time at performance of a
-	  command "rename".
+	* NEWS, modules/mod_log.c: Bug#1972 - %T not correctly shows time at
+	performance of a command "rename".
 
-2003-03-04 13:30  castaglia
+2003-03-04  castaglia <castaglia>
 
-	* NEWS, utils/ftpshut.c, utils/ftpshut.8:
-	  Added -D option to ftpshut, to be used to delete the /etc/shutmsg
-	  file (rather than having to manually remove it).
+	* 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 12:03  castaglia
+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).
+	* 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 11:55  castaglia
+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.
+	* 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.
 
-	  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>
 
-2003-03-04 11:50  castaglia
+	* NEWS, modules/mod_auth.c: Added AnonRejectPasswords.
 
-	* NEWS, modules/mod_auth.c:
-	  Added AnonRejectPasswords.
-
-2003-03-04 11:28  castaglia
+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.
+	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 11:24  castaglia
+2003-03-04  castaglia <castaglia>
 
 	* NEWS, contrib/mod_sql_mysql.c, include/version.h,
-	  modules/mod_core.c:
-	  Bugs 1828 and 1960.
-
-2003-03-03 21:26  castaglia
+	modules/mod_core.c: Bugs 1828 and 1960.
 
-	* ChangeLog:
-	  Updating.
+2003-03-04  castaglia <castaglia>
 
-2003-03-03 21:25  castaglia
+	* ChangeLog: Updating.
 
-	* NEWS, include/version.h, contrib/dist/rpm/proftpd.spec:
-	  Preparing for release of 1.2.8.
+2003-03-04  castaglia <castaglia>
 
-2003-03-03 18:58  castaglia
+	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
+	for release of 1.2.8.
 
-	* README.PAM:
-	  Updating PAM information for FreeBSD.
+2003-03-04  castaglia <castaglia>
 
-2003-03-03 12:13  castaglia
+	* README.PAM: Updating PAM information for FreeBSD.
 
-	* README.mod_sql:
-	  Updating.
+2003-03-03  castaglia <castaglia>
 
-2003-03-02 20:21  castaglia
+	* src/inet.c: Fixed #if check.
 
-	* src/inet.c:
-	  Fixed #if check.
+2003-03-03  castaglia <castaglia>
 
-2003-03-02 18:21  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.
 
-	* 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>
 
-2003-03-02 16:42  castaglia
+	* NEWS, modules/mod_auth.c: Bug#1976 - Login hangs, spawned process
+	runs in endless loop in mod_auth.
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#1976 - Login hangs, spawned process runs in endless loop in
-	  mod_auth.
+2003-03-03  castaglia <castaglia>
 
-2003-03-02 16:31  castaglia
+	* NEWS, src/inet.c: Adding FreeBSD-5.0 to the #defines for the
+	socket/privs fun.
 
-	* NEWS, src/inet.c:
-	  Adding FreeBSD-5.0 to the #defines for the socket/privs fun.
+2003-03-01  castaglia <castaglia>
 
-2003-03-01 10:41  castaglia
+	* contrib/mod_tls.c: Playing with logged messages...
 
-	* contrib/mod_tls.c:
-	  Playing with logged messages...
+2003-03-01  castaglia <castaglia>
 
-2003-03-01 10:39  castaglia
+	* contrib/mod_tls.c: Bad grammar.
 
-	* contrib/mod_tls.c:
-	  Bad grammar.
+2003-03-01  castaglia <castaglia>
 
-2003-03-01 10:31  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
 
-	* 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>
 
-2003-02-25 20:49  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).
 
-	* 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>
 
-2003-02-25 20:30  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).
 
-	* 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>
 
-2003-02-25 11:00  castaglia
+	* configure: Updating configure script.
 
-	* configure:
-	  Updating configure script.
-
-2003-02-25 10:56  castaglia
+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.
+	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-24 17:39  castaglia
+2003-02-25  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#1937 - transfer hangs when using transferrate limits on a
-	  resumed download.
+	* NEWS, modules/mod_xfer.c: Bug#1937 - transfer hangs when using
+	transferrate limits on a resumed download.
 
-2003-02-24 15:47  castaglia
+2003-02-24  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Cleanup of missed code for Bug#1970.
+	* modules/mod_xfer.c: Cleanup of missed code for Bug#1970.
 
-2003-02-24 10:39  castaglia
+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.
+	* 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 10:15  castaglia
+2003-02-24  castaglia <castaglia>
 
-	* modules/mod_ls.c:
-	  Removing unused cruft.
+	* modules/mod_ls.c: Removing unused cruft.
 
-2003-02-24 10:13  castaglia
+2003-02-24  castaglia <castaglia>
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#1953 - STAT -R does not work.
+	* NEWS, modules/mod_ls.c: Bug#1953 - STAT -R does not work.
 
-2003-02-24 08:06  castaglia
+2003-02-24  castaglia <castaglia>
 
-	* NEWS, src/inet.c:
-	  Bug#1966 - SCO OpenServer 5.0.5 and inetd (not passive mode).
+	* NEWS, src/inet.c: Bug#1966 - SCO OpenServer 5.0.5 and inetd (not
+	passive mode).
 
-2003-02-23 18:37  castaglia
+2003-02-24  castaglia <castaglia>
 
-	* NEWS, modules/mod_log.c, src/dirtree.c:
-	  Bug#1908 - ExtendedLog to work properly in <Anonymous> context.
+	* NEWS, modules/mod_log.c, src/dirtree.c: Bug#1908 - ExtendedLog to
+	work properly in <Anonymous> context.
 
-2003-02-19 23:48  castaglia
+2003-02-20  castaglia <castaglia>
 
-	* NEWS, utils/ftpwho.c:
-	  Bug#1958 - ftpwho -o oneline has newlines when client is idle.
+	* NEWS, utils/ftpwho.c: Bug#1958 - ftpwho -o oneline has newlines
+	when client is idle.
 
-2003-02-18 16:01  castaglia
+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.
+	* modules/mod_xfer.c: Minor variable name change; seems to collide
+	with variable used in Tru64 5.1b's headers.
 
-2003-02-18 10:01  castaglia
+2003-02-18  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script.
+	* configure: Updating configure script.
 
-2003-02-18 09:55  castaglia
+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
+	modules/mod_ls.c: Bug#1941 - SCO OpenServer 5.0.5
 
-2003-02-18 00:16  castaglia
+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.
+	* 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-17 17:45  jwm
+2003-02-18  jwm <jwm>
 
-	* configure:
-	  update
+	* configure: update
 
-2003-02-17 17:41  jwm
+2003-02-18  jwm <jwm>
 
-	* configure.in:
-	  typo
+	* configure.in: typo
 
-2003-02-17 17:28  jwm
+2003-02-18  jwm <jwm>
 
-	* configure:
-	  update
+	* configure: update
 
-2003-02-17 17:25  jwm
+2003-02-18  jwm <jwm>
 
-	* configure.in:
-	  expend as little effort as possible if mod_cap is explicitly
-	  disabled
+	* configure.in: expend as little effort as possible if mod_cap is
+	explicitly disabled
 
-2003-02-17 15:41  castaglia
+2003-02-17  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script.
+	* configure: Updating configure script.
 
-2003-02-17 15:40  castaglia
+2003-02-17  castaglia <castaglia>
 
-	* configure.in:
-	  Add to output at end of configure --help instructions describing
-	  LIBS environment variable.
+	* configure.in: Add to output at end of configure --help
+	instructions describing LIBS environment variable.
 
-2003-02-16 16:56  castaglia
+2003-02-17  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#1956 - Upload transfer rate broken.
+	* NEWS, modules/mod_xfer.c: Bug#1956 - Upload transfer rate broken.
 
-2003-02-14 07:47  castaglia
+2003-02-14  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c:
-	  Added FTPS FEAT responses, as per the Draft.
+	* NEWS, contrib/mod_tls.c: Added FTPS FEAT responses, as per the
+	Draft.
 
-2003-02-12 16:02  castaglia
+2003-02-13  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Helps if I get the variable names right...
+	* modules/mod_xfer.c: Helps if I get the variable names right...
 
-2003-02-12 15:54  castaglia
+2003-02-12  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#1948 - mod_xfer relinquishes privs before chmod takes place.
+	* NEWS, modules/mod_xfer.c: Bug#1948 - mod_xfer relinquishes privs
+	before chmod takes place.
 
-2003-02-12 11:03  castaglia
+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.
+	* 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 00:46  castaglia
+2003-02-12  castaglia <castaglia>
 
-	* src/netio.c, src/pool.c, src/sets.c, include/ident.h,
-	  include/timers.h:
-	  Adding more $Id: ChangeLog,v 1.154 2014-05-15 16:20:23 castaglia Exp $ keywords.
+	* include/ident.h, include/timers.h, src/netio.c, src/pool.c,
+	src/sets.c: Adding more $Id$ keywords.
 
-2003-02-11 23:34  castaglia
+2003-02-12  castaglia <castaglia>
 
-	* src/feat.c:
-	  Added $Id: ChangeLog,v 1.154 2014-05-15 16:20:23 castaglia Exp $ keyword.
+	* src/feat.c: Added $Id$ keyword.
 
-2003-02-10 15:34  castaglia
+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.
+	* 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 10:02  castaglia
+2003-02-10  castaglia <castaglia>
 
-	* NEWS, src/dirtree.c:
-	  Bug#1952 - Umask Bug: Server Not Honoring VirtualHost Umask.
+	* NEWS, src/dirtree.c: Bug#1952 - Umask Bug: Server Not Honoring
+	VirtualHost Umask.
 
-2003-02-10 08:53  castaglia
+2003-02-10  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script.
+	* configure: Updating configure script.
 
-2003-02-10 08:51  castaglia
+2003-02-10  castaglia <castaglia>
 
-	* NEWS, aclocal.m4, configure.in, modules/mod_xfer.c:
-	  Bug#1949 - Compiler warns of 'long double' usage on OSX.
+	* NEWS, aclocal.m4, configure.in, modules/mod_xfer.c: Bug#1949 -
+	Compiler warns of 'long double' usage on OSX.
 
-2003-02-07 12:46  castaglia
+2003-02-07  castaglia <castaglia>
 
-	* README:
-	  Add a line to the REAME pointing out the doc/ directory.  Not
-	  that anyone will notice.  *sigh*
+	* README: Add a line to the REAME pointing out the doc/ directory.
+	Not that anyone will notice.  *sigh*
 
-2003-02-06 08:40  castaglia
+2003-02-06  castaglia <castaglia>
 
-	* configure:
-	  Updated configure script.
+	* configure: Updated configure script.
 
-2003-02-06 08:38  castaglia
+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.
+	modules/mod_auth_unix.c: Bug#1950 - OSX setgrent(3) returns int,
+	causing compiler warning.
 
-2003-02-05 13:14  castaglia
+2003-02-05  castaglia <castaglia>
 
-	* include/privs.h:
-	  Oops.  I said DEBUG9, but had DEBUG0.  Should've been DEBUG9 in
-	  code.  Fixed.
+	* include/privs.h: Oops.  I said DEBUG9, but had DEBUG0.  Should've
+	been DEBUG9 in code.  Fixed.
 
-2003-02-05 13:11  castaglia
+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).
+	* 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 10:11  castaglia
+2003-02-01  castaglia <castaglia>
 
-	* NEWS, include/glibc-glob.h:
-	  Bug#1943 - Unable to install on FreeBSD 5.0.
+	* NEWS, include/glibc-glob.h: Bug#1943 - Unable to install on
+	FreeBSD 5.0.
 
-2003-01-31 12:48  castaglia
+2003-01-31  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script.
+	* configure: Updating configure script.
 
-2003-01-31 09:28  castaglia
+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.
+	* 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 11:05  jwm
+2003-01-30  jwm <jwm>
 
-	* NEWS, configure, configure.in:
-	  Bug 1863 - Unable to build under UnixWare 7
+	* NEWS, configure, configure.in: Bug 1863 - Unable to build under
+	UnixWare 7
 
-2003-01-30 08:15  castaglia
+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*
+	* 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-29 18:11  castaglia
+2003-01-30  castaglia <castaglia>
 
-	* include/version.h:
-	  Updating version.h for CVS status.
+	* include/version.h: Updating version.h for CVS status.
 
-2003-01-29 17:25  jwm
+2003-01-30  jwm <jwm>
 
-	* Makefile.in:
-	  build deps before we get rid of the Makefiles we need to generate
-	  them :-)
+	* Makefile.in: build deps before we get rid of the Makefiles we need
+	to generate them :-)
 
-2003-01-29 09:27  flyhmstr
+2003-01-29  flyhmstr <flyhmstr>
 
 	* doc/Configuration.html: ML: updated build of configuration.html
 
-2003-01-29 07:25  castaglia
+2003-01-29  castaglia <castaglia>
 
-	* NEWS, include/version.h, contrib/dist/rpm/proftpd.spec:
-	  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.
+	* 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 14:00  castaglia
+2003-01-28  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c:
-	  Bug#1939 - RLimitMemory seems broken.
+	* NEWS, modules/mod_core.c: Bug#1939 - RLimitMemory seems broken.
 
-2003-01-25 12:51  castaglia
+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!
+	* 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-24 18:38  castaglia
+2003-01-25  castaglia <castaglia>
 
-	* NEWS, src/support.c:
-	  Bug#1938 - upload to root directory fails.
+	* NEWS, src/support.c: Bug#1938 - upload to root directory fails.
 
-2003-01-23 22:52  castaglia
+2003-01-24  castaglia <castaglia>
 
-	* contrib/mod_radius.c:
-	  Fixed misordered parameters to pr_rehash_register_handler() call.
+	* contrib/mod_radius.c: Fixed misordered parameters to
+	pr_rehash_register_handler() call.
 
-2003-01-23 15:25  castaglia
+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.
+	* 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-22 21:48  castaglia
+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.
+	* 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-21 22:12  castaglia
+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.
+	* 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-20 22:46  castaglia
+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.
+	* 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-19 18:18  jwm
+2003-01-20  jwm <jwm>
 
-	* NEWS, modules/mod_auth.c:
-	  Bug 1734 - Cygwin - Unable to set uid
+	* NEWS, modules/mod_auth.c: Bug 1734 - Cygwin - Unable to set uid
 
-2003-01-18 15:28  castaglia
+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.
+	modules/mod_auth.c, src/mkhome.c: Bug#1241 - Additional
+	functionality: HomedirOnDemand.  Added as CreateHome directive.
 
-2003-01-18 11:29  castaglia
+2003-01-18  castaglia <castaglia>
 
-	* configure:
-	  Updating configure, again. =P
+	* configure: Updating configure, again. =P
 
-2003-01-18 11:26  castaglia
+2003-01-18  castaglia <castaglia>
 
-	* configure.in:
-	  Argh.  John had it right the first time.  My mistake. =P
+	* configure.in: Argh.  John had it right the first time.  My
+	mistake. =P
 
-2003-01-18 11:23  castaglia
+2003-01-18  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script.
+	* configure: Updating configure script.
 
-2003-01-18 11:19  castaglia
+2003-01-18  castaglia <castaglia>
 
-	* configure.in:
-	  Changing check of UnixWare's libgen a little, to add -lgen to
-	  LIBS if libgen is present.
+	* configure.in: Changing check of UnixWare's libgen a little, to add
+	-lgen to LIBS if libgen is present.
 
-2003-01-18 11:09  castaglia
+2003-01-18  castaglia <castaglia>
 
-	* config.h.in:
-	  Adding HAVE_LIBGEN to config.h, corresponding to added
-	  AC_CHECK_LIB(gen) in configure.in.
+	* config.h.in: Adding HAVE_LIBGEN to config.h, corresponding to
+	added AC_CHECK_LIB(gen) in configure.in.
 
-2003-01-17 22:06  castaglia
+2003-01-18  castaglia <castaglia>
 
-	* modules/mod_auth_file.c, src/auth.c:
-	  Adding proper UID/GID->name translation to mod_auth_file.c
+	* modules/mod_auth_file.c, src/auth.c: Adding proper UID/GID->name
+	translation to mod_auth_file.c
 
-2003-01-17 18:33  castaglia
+2003-01-18  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth_file.c:
-	  Bug#1918 - AuthUserFile not works normally.
+	* NEWS, modules/mod_auth_file.c: Bug#1918 - AuthUserFile not works
+	normally.
 
-2003-01-17 16:13  castaglia
+2003-01-18  castaglia <castaglia>
 
-	* src/fsio.c:
-	  Some of the FSIO routines are manually returning ENOENT, rather
-	  than letting errno propagate up properly.
+	* src/fsio.c: Some of the FSIO routines are manually returning
+	ENOENT, rather than letting errno propagate up properly.
 
-2003-01-17 13:47  castaglia
+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.
+	* 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 08:46  castaglia
+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.
+	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-16 19:41  castaglia
+2003-01-17  castaglia <castaglia>
 
-	* NEWS, utils/ftptop.1, utils/ftptop.c:
-	  Adding displaying of transfer rates to ftptop.
+	* NEWS, utils/ftptop.c: Adding displaying of transfer rates to
+	ftptop.
 
-2003-01-16 00:28  castaglia
+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.
+	* 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-15 22:08  castaglia
+2003-01-16  castaglia <castaglia>
 
-	* src/regexp.c:
-	  Missing Id keyword.
+	* src/regexp.c: Missing Id keyword.
 
-2003-01-15 18:04  castaglia
+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-13 21:22  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-13 20:43  castaglia
-
-	* NEWS, modules/mod_core.c:
-	  Bug#1923 - %N magic cookie reports incorrectly.
-
-2003-01-13 19:31  castaglia
+	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.
 
-	* NEWS, modules/mod_log.c:
-	  Fixing problem with using %f for DELE logging, as mentioned on
-	  -user.
+2003-01-14  castaglia <castaglia>
 
-2003-01-13 11:22  castaglia
+	* include/inet.h, src/data.c, src/inet.c, src/main.c: Adding
+	checking for, and logging of, errors when calling setsockopt(2).
 
-	* NEWS:
-	  Forgot to mention tcp{Receive,Send}Window fix in NEWS.
+2003-01-14  castaglia <castaglia>
 
-2003-01-13 11:20  castaglia
+	* NEWS, modules/mod_core.c: Bug#1923 - %N magic cookie reports
+	incorrectly.
 
-	* 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-14  castaglia <castaglia>
 
-2003-01-13 10:25  castaglia
+	* NEWS, modules/mod_log.c: Fixing problem with using %f for DELE
+	logging, as mentioned on -user.
 
-	* 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.
+2003-01-13  castaglia <castaglia>
 
-	  Thanks, John! =)
+	* NEWS: Forgot to mention tcp{Receive,Send}Window fix in NEWS.
 
-2003-01-12 21:38  castaglia
+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:
+	* 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.
 
-	    CFLAGS="-DDEVEL_NO_DAEMON -DDEVEL_NO_FORK -g -pg -a" \
-	      LIBS="-pg" ./configure ...
+2003-01-13  castaglia <castaglia>
 
-	  The resulting daemon will only handle one session.  The bb.out
-	  and gmon.out profiling files will be written to /tmp.
+	* 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-12 21:17  castaglia
+2003-01-13  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script.
+	* 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-12 20:31  castaglia
+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.
+	* configure: Updating configure script.
 
-2003-01-12 20:25  castaglia
+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.
+	* 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-12 20:21  jwm
+2003-01-13  castaglia <castaglia>
 
-	* NEWS:
-	  Add -Wundef and -Wfloat-equal to CFLAGS (Suggested by Steve Grubb
-	  <linux_4ever at yahoo.com>)
+	* 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-12 20:16  jwm
+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
+	* NEWS: Add -Wundef and -Wfloat-equal to CFLAGS (Suggested by Steve
+	Grubb <linux_4ever at yahoo.com>)
 
-2003-01-12 20:15  castaglia
+2003-01-13  jwm <jwm>
 
-	* configure.in:
-	  Add -Wfloat-equal and -Wundef to the warning flags enabled by
-	  using the --enable-devel configure option.
+	* configure: update with autoconf 2.57; I'm curious if this changes
+	the LFS problems I'm currently working on
 
-2003-01-12 20:09  jwm
+2003-01-13  castaglia <castaglia>
 
-	* configure:
-	  update
+	* configure.in: Add -Wfloat-equal and -Wundef to the warning flags
+	enabled by using the --enable-devel configure option.
 
-2003-01-12 17:27  castaglia
+2003-01-13  jwm <jwm>
 
-	* NEWS, modules/mod_core.c, src/main.c:
-	  Bug#1910 - ProFTPD hangs on SIGHUP.
+	* configure: update
 
-2003-01-10 16:26  castaglia
+2003-01-13  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c:
-	  Bug#1919 - <Directory> section already configured for $dir needs
-	  clarification.
+	* NEWS, modules/mod_core.c, src/main.c: Bug#1910 - ProFTPD hangs on
+	SIGHUP.
 
-2003-01-08 20:28  jwm
+2003-01-11  castaglia <castaglia>
 
-	* configure:
-	  update
+	* NEWS, modules/mod_core.c: Bug#1919 - <Directory> section already
+	configured for $dir needs clarification.
 
-2003-01-08 20:27  jwm
+2003-01-09  jwm <jwm>
 
-	* modules/mod_cap.c:
-	  EnableCapabilities -> CapabilitiesSet
+	* configure: update
 
-2003-01-08 20:25  jwm
+2003-01-09  jwm <jwm>
 
-	* README.capabilities, configure.in:
-	  OS-neutrality
+	* modules/mod_cap.c: EnableCapabilities -> CapabilitiesSet
 
-2003-01-08 12:44  castaglia
+2003-01-09  jwm <jwm>
 
-	* contrib/mod_radius.c:
-	  Corrected typo in session accouting variables.  Bumped version
-	  number.
+	* README.capabilities, configure.in: OS-neutrality
 
-2003-01-07 16:12  castaglia
+2003-01-08  castaglia <castaglia>
 
-	* NEWS, lib/pr-syslog.c:
-	  Bug#1891 - SGI syslog isn't being written to.
+	* contrib/mod_radius.c: Corrected typo in session accouting
+	variables.  Bumped version number.
 
-2003-01-07 10:45  castaglia
+2003-01-08  castaglia <castaglia>
 
-	* contrib/mod_radius.c:
-	  Use cmd->arg, rather than cmd->argv[1], from the C_PASS command.
+	* NEWS, lib/pr-syslog.c: Bug#1891 - SGI syslog isn't being written
+	to.
 
-2003-01-07 09:30  castaglia
+2003-01-07  castaglia <castaglia>
 
-	* modules/mod_core.c, src/timers.c:
-	  Correcting minor bugs.
+	* contrib/mod_radius.c: Use cmd->arg, rather than cmd->argv[1], from
+	the C_PASS command.
 
-2003-01-07 09:14  castaglia
+2003-01-07  castaglia <castaglia>
 
-	* configure:
-	  Updated configure script.
+	* modules/mod_core.c, src/timers.c: Correcting minor bugs.
 
-2003-01-07 09:05  castaglia
+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).
+	* configure: Updated configure script.
 
-2003-01-05 09:33  jwm
+2003-01-07  castaglia <castaglia>
 
-	* NEWS:
-	  style nit
+	* 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-04 20:00  jwm
+2003-01-05  jwm <jwm>
 
-	* NEWS, Make.rules.in:
-	  Bug 1904 - Tru64 UNIX 4.0D and sstrncpy()
+	* NEWS: style nit
 
-2003-01-04 19:48  jwm
+2003-01-05  jwm <jwm>
 
-	* modules/glue.sh:
-	  style
+	* Make.rules.in, NEWS: Bug 1904 - Tru64 UNIX 4.0D and sstrncpy()
 
-2003-01-04 19:48  jwm
+2003-01-05  jwm <jwm>
 
-	* configure:
-	  update
+	* modules/glue.sh: style
 
-2003-01-04 19:47  jwm
+2003-01-05  jwm <jwm>
 
-	* Make.modules.in, 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.
+	* configure: update
 
-	  The only noticable change is that the dist/distclean/cvsclean
-	  targets have been cleaned up:
+2003-01-05  jwm <jwm>
 
-	  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.
+	* 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-04 18:26  jwm
+2003-01-05  jwm <jwm>
 
-	* config.guess, config.sub:
-	  part of Bug 1826 - Makefiles are a bit icky: updated
-	  config.{guess,sub}
+	* config.guess, config.sub: part of Bug 1826 - Makefiles are a bit
+	icky: updated config.{guess,sub}
 
-2003-01-04 18:20  jwm
+2003-01-05  jwm <jwm>
 
-	* Makefile.in:
-	  Part of #1826 - ftptop doesn't need to link against $(LIBS)
+	* Makefile.in: Part of #1826 - ftptop doesn't need to link against
+	$(LIBS)
 
-2003-01-04 18:19  jwm
+2003-01-05  jwm <jwm>
 
-	* configure:
-	  update
+	* configure: update
 
-2003-01-04 18:18  jwm
+2003-01-05  jwm <jwm>
 
-	* NEWS:
-	  credit for #1893
+	* NEWS: credit for #1893
 
-2003-01-04 18:18  jwm
+2003-01-05  jwm <jwm>
 
-	* NEWS, configure.in:
-	  Bug 1893 - Apple likes to move things
+	* NEWS, configure.in: Bug 1893 - Apple likes to move things
 
-2003-01-04 17:29  jwm
+2003-01-05  jwm <jwm>
 
-	* modules/mod_auth.c, modules/mod_auth_file.c, modules/mod_core.c,
-	  modules/mod_ls.c, modules/mod_site.c, lib/glibc-mkstemp.c,
-	  lib/pr-syslog.c, lib/pwgrent.c, lib/strsep.c, lib/vsnprintf.c,
-	  utils/ftpcount.c, utils/ftpshut.c, utils/ftptop.c,
-	  utils/ftpwho.c, utils/misc.c, utils/scoreboard.c:
-	  nuke trailing whitespace
+	* 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-02 20:31  jwm
+2003-01-03  jwm <jwm>
 
-	* NEWS:
-	  credit where credit is due
-
-2003-01-02 20:16  jwm
-
-	* src/: Makefile.in, utils.c:
-	  utils.c doesn't seem to be needed anymore...
-
-2003-01-02 20:00  jwm
-
-	* NEWS:
-	  mod_cap announcement
-
-2003-01-02 19:53  jwm
+	* NEWS: credit where credit is due
 
-	* README.capabilities, README.linux-privs,
-	  contrib/dist/rpm/proftpd.spec:
-	  mod_linuxprivs -> mod_cap
+2003-01-03  jwm <jwm>
 
-2003-01-02 19:50  jwm
+	* src/Makefile.in: utils.c doesn't seem to be needed anymore...
 
-	* README.modules:
-	  mod_linuxprivs is now the official module mod_cap
+2003-01-03  jwm <jwm>
 
-2003-01-02 19:47  jwm
+	* NEWS: mod_cap announcement
 
-	* 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>
 
-2003-01-02 19:44  jwm
+	* README.capabilities, contrib/dist/rpm/proftpd.spec: mod_linuxprivs
+	-> mod_cap
 
-	* configure:
-	  update
+2003-01-03  jwm <jwm>
 
-2003-01-02 19:43  jwm
+	* README.modules: mod_linuxprivs is now the official module mod_cap
 
-	* 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>
 
-2003-01-02 19:09  jwm
+	* contrib/dist/rpm/proftpd.spec: we don't have to explicitly include
+	mod_linuxprivs anymore; mod_cap will be included automatically
 
-	* configure:
-	  update
+2003-01-03  jwm <jwm>
 
-2003-01-02 19:08  jwm
+	* configure: update
 
-	* config.h.in, configure.in:
-	  fixing linux/capability.h detection
+2003-01-03  jwm <jwm>
 
-2003-01-02 19:03  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
 
-	* configure:
-	  update
+2003-01-03  jwm <jwm>
 
-2003-01-02 19:02  jwm
+	* configure: update
 
-	* modules/mod_cap.c:
-	  removing debugging cruft
+2003-01-03  jwm <jwm>
 
-2003-01-02 19:02  jwm
+	* config.h.in, configure.in: fixing linux/capability.h detection
 
-	* configure.in, modules/mod_cap.c:
-	  removing last Linux-specific bits of mod_cap
+2003-01-03  jwm <jwm>
 
-2003-01-02 18:47  jwm
+	* configure: update
 
-	* modules/mod_cap.c:
-	  getting rid of some linux references
+2003-01-03  jwm <jwm>
 
-2003-01-02 18:39  jwm
+	* modules/mod_cap.c: removing debugging cruft
 
-	* configure:
-	  update
+2003-01-03  jwm <jwm>
 
-2003-01-02 18:36  jwm
+	* configure.in, modules/mod_cap.c: removing last Linux-specific bits
+	of mod_cap
 
-	* configure.in, contrib/README, modules/mod_cap.c:
-	  mod_linuxprivs -> mod_cap
+2003-01-03  jwm <jwm>
 
-2003-01-02 18:16  jwm
+	* modules/mod_cap.c: getting rid of some linux references
 
-	* README.linux-privs, configure.in, contrib/mod_linuxprivs.c,
-	  contrib/mod_linuxprivs.html, 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/libcap.h,
-	  lib/libcap/include/sys/capability.h:
-	  Turning mod_linuxprivs into a core module, mod_cap. This is by no
-	  means complete.
+2003-01-03  jwm <jwm>
 
-2003-01-02 13:09  castaglia
+	* configure: update
 
-	* 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-03  jwm <jwm>
 
-2003-01-02 10:53  jwm
+	* configure.in, contrib/README, modules/mod_cap.c: mod_linuxprivs ->
+	mod_cap
 
-	* doc/license.txt:
-	  update copyright year
+2003-01-03  jwm <jwm>
 
-2003-01-02 10:27  castaglia
+	* 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.
 
-	* configure:
-	  Updated configure script.
+2003-01-02  castaglia <castaglia>
 
-2003-01-02 10:25  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.
 
-	* config.h.in, configure.in, contrib/mod_linuxprivs.c,
-	  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,
-	  src/utils.c:
-	  More namespace/API changes, for consistency:
+2003-01-02  jwm <jwm>
 
-	    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()
+	* doc/license.txt: update copyright year
 
-	  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.
+2003-01-02  castaglia <castaglia>
 
-	  Also, more in the RFC2228 support department:
+	* configure: Updated configure script.
 
-	    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.
+2003-01-02  castaglia <castaglia>
 
-	    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.
+	* 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 09:28  castaglia
+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/proftpd.8,
-	  src/regexp.c, src/response.c, src/scoreboard.c, src/sets.c,
-	  src/support.c, src/timers.c, src/utils.c, src/xferlog.5,
-	  utils/ftpcount.1, utils/ftpcount.c, utils/ftpshut.c,
-	  utils/ftptop.c, utils/ftpwho.1, 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 08:31  castaglia
-
-	* Makefile.in, utils/ftptop.1:
-	  Adding man page for ftptop.
-
-2003-01-01 16:37  jwm
-
-	* contrib/mod_linuxprivs.c:
-	  the docs say to use the full capability name: CAP_CHOWN
-
-2002-12-31 17:24  castaglia
+	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.
+	contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Bug#1671 - new
+	directive SQLLogFile.
 
-2002-12-31 16:35  castaglia
+2003-01-01  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c:
-	  Bug#1272 - Requested Addition: DenyFilter by User or DenyFilter
-	  by Directory.
+	* NEWS, modules/mod_core.c: Bug#1272 - Requested Addition:
+	DenyFilter by User or DenyFilter by Directory.
 
-2002-12-31 14:35  castaglia
+2002-12-31  castaglia <castaglia>
 
-	* utils/ftptop.c:
-	  Actually calculate and display the TIME value (duration of
-	  session, in seconds).
+	* utils/ftptop.c: Actually calculate and display the TIME value
+	(duration of session, in seconds).
 
-2002-12-31 13:18  castaglia
+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.
+	* 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 12:05  castaglia
+2002-12-31  castaglia <castaglia>
 
-	* NEWS, src/fsio.c:
-	  Bug#1894 - Double chdir into self-referencing symlink fails with
-	  "No such file or directory".
+	* NEWS, src/fsio.c: Bug#1894 - Double chdir into self-referencing
+	symlink fails with "No such file or directory".
 
-2002-12-31 12:00  castaglia
+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-30 16:37  castaglia
-
-	* modules/mod_auth.c:
-	  Yet another missing word ("the").
+	utils/ftptop.c, utils/ftpwho.c, utils/utils.h: Portion of changes
+	requested in Bug#1794.
 
-2002-12-30 16:35  castaglia
+2002-12-31  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Missing "of" in message string (noted by Michael).
+	* modules/mod_auth.c: Yet another missing word ("the").
 
-2002-12-28 12:52  castaglia
+2002-12-31  castaglia <castaglia>
 
-	* contrib/mod_linuxprivs.html:
-	  Forgot to add documentation for the mod_linuxprivs directives
-	  before releasing 1.2.8rc1.  With this file, the
-	  README.linux-privs doc can probably be retired.
+	* modules/mod_auth.c: Missing "of" in message string (noted by
+	Michael).
 
-2002-12-28 12:51  castaglia
+2002-12-28  castaglia <castaglia>
 
-	* include/version.h:
-	  Updating version for CVS.
+	* include/version.h: Updating version for CVS.
 
-2002-12-28 10:23  castaglia
+2002-12-28  castaglia <castaglia>
 
-	* ChangeLog, NEWS, contrib/dist/rpm/proftpd.spec,
-	  include/version.h:
-	  Preparing for 1.2.8rc1 release.
+	* ChangeLog, NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: 
+	Preparing for 1.2.8rc1 release.
 
-2002-12-27 09:23  castaglia
+2002-12-27  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script.
+	* configure: Updating configure script.
 
-2002-12-27 09:21  castaglia
+2002-12-27  castaglia <castaglia>
 
-	* NEWS, configure.in:
-	  Bug#1906 - Add description strings to AC_DEFINE
+	* NEWS, configure.in: Bug#1906 - Add description strings to
+	AC_DEFINE
 
-2002-12-27 08:27  jwm
+2002-12-27  jwm <jwm>
 
-	* NEWS:
-	  style, date formatting
+	* NEWS: style, date formatting
 
-2002-12-27 08:21  jwm
+2002-12-27  jwm <jwm>
 
-	* src/: auth.c, data.c, dirtree.c, inet.c, log.c, main.c,
-	  modules.c, pool.c, support.c, timers.c:
-	  style
+	* 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 08:13  jwm
+2002-12-27  jwm <jwm>
 
-	* NEWS:
-	  whitespace cleanup
+	* NEWS: whitespace cleanup
 
-2002-12-27 08:12  jwm
+2002-12-27  jwm <jwm>
 
-	* configure:
-	  update
+	* configure: update
 
-2002-12-27 08:08  jwm
+2002-12-27  jwm <jwm>
 
-	* NEWS, configure.in:
-	  Bug 1863 - Unable to build under UnixWare 7
+	* NEWS, configure.in: Bug 1863 - Unable to build under UnixWare 7
 
-2002-12-27 08:04  jwm
+2002-12-27  jwm <jwm>
 
-	* Makefile.in, NEWS:
-	  Bug 1903 - ftpwho depends on snprintf but doesn't link in
-	  lib/libsupp.a
+	* Makefile.in, NEWS: Bug 1903 - ftpwho depends on snprintf but
+	doesn't link in lib/libsupp.a
 
-2002-12-27 07:47  jwm
+2002-12-27  jwm <jwm>
 
-	* NEWS, src/timers.c, utils/ftptop.c:
-	  Bug 1905 - AIX needs "config.h" included before *anything* else.
+	* NEWS, src/timers.c, utils/ftptop.c: Bug 1905 - AIX needs
+	"config.h" included before *anything* else.
 
-2002-12-26 18:36  castaglia
+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.
+	* 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-26 17:25  jwm
+2002-12-27  jwm <jwm>
 
-	* contrib/README:
-	  cruft removal, cleanup, style, grammar
+	* contrib/README: cruft removal, cleanup, style, grammar
 
-2002-12-26 17:05  castaglia
+2002-12-27  castaglia <castaglia>
 
-	* NEWS, contrib/mod_linuxprivs.c:
-	  Bug#1888: Increase mod_linuxprivs configurability.
+	* NEWS: Bug#1888: Increase mod_linuxprivs configurability.
 
-2002-12-26 16:52  castaglia
+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).
+	* 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 14:26  jwm
+2002-12-26  jwm <jwm>
 
-	* modules/mod_auth_file.c:
-	  silence compiler warning about crypt()
+	* modules/mod_auth_file.c: silence compiler warning about crypt()
 
-2002-12-26 12:18  castaglia
+2002-12-26  castaglia <castaglia>
 
-	* NEWS, utils/ftpwho.c:
-	  Bug#1900 - ftpwho's output on uploads.
+	* NEWS, utils/ftpwho.c: Bug#1900 - ftpwho's output on uploads.
 
-2002-12-26 11:45  castaglia
+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.
+	* 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 12:20  castaglia
+2002-12-20  castaglia <castaglia>
 
-	* modules/: mod_auth_file.c, mod_core.c, mod_xfer.c:
-	  Style cleanups.
+	* modules/mod_auth_file.c, modules/mod_core.c, modules/mod_xfer.c: 
+	Style cleanups.
 
-2002-12-19 13:53  castaglia
+2002-12-19  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script.
+	* configure: Updating configure script.
 
-2002-12-19 13:52  castaglia
+2002-12-19  castaglia <castaglia>
 
-	* modules/mod_auth_file.c:
-	  Putting the copyright in the project's name.
+	* modules/mod_auth_file.c: Putting the copyright in the project's
+	name.
 
-2002-12-19 13:47  castaglia
+2002-12-19  castaglia <castaglia>
 
-	* NEWS:
-	  Forgot to update NEWS with description of Bug#1837/mod_auth_file
-	  addition.
+	* NEWS: Forgot to update NEWS with description of
+	Bug#1837/mod_auth_file addition.
 
-2002-12-19 13:45  castaglia
+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, modules/mod_pam.c, modules/mod_unixpw.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.
+	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 13:20  castaglia
+2002-12-19  castaglia <castaglia>
 
-	* contrib/: mod_sql.c, mod_sql_mysql.c, mod_sql_postgres.c,
-	  mod_tls.c:
-	  Cleaning up some warnings, seen under --enable-devel, in some
-	  contrib modules.  Pointed out by Michael.
+	* 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.
 
-	  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>
 
-2002-12-19 13:02  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.
 
-	* 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:
+2002-12-19  castaglia <castaglia>
 
-	    <Directory blah>
-	    </Directory>
+	* contrib/mod_tls.c: Forgot a parameter to tls_log().
 
-	  or
+2002-12-19  castaglia <castaglia>
 
-	    <Global>
-	    </Global>
+	* contrib/mod_tls.c: Change handling of PROT in tls_prot() slightly.
 
-	  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.
+2002-12-19  castaglia <castaglia>
 
-	  This patch checks for such empty contexts (in end_sub_config()),
-	  and removes them from the configuration tree.
+	* 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 10:32  castaglia
+2002-12-19  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Forgot a parameter to tls_log().
+	* 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 10:26  castaglia
+2002-12-19  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Change handling of PROT in tls_prot() slightly.
+	* modules/mod_ls.c, src/dirtree.c, src/main.c: Minor
+	style/formatting changes.
 
-2002-12-19 09:51  castaglia
+2002-12-18  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.
+	* configure: Updating configure script.
 
-2002-12-19 09:45  castaglia
+2002-12-18  castaglia <castaglia>
 
-	* contrib/mod_tls.c:
-	  Changed mod_tls' handling of AUTH command to allow other RFC2228
-	  modules a change at processing that command.
+	* NEWS, config.h.in, configure.in: Bug#1667 - Integrate ProFTPD with
+	C2/SIA on Tru64 Unix.
 
-2002-12-19 09:28  castaglia
+2002-12-18  castaglia <castaglia>
 
-	* modules/mod_ls.c, src/dirtree.c, src/main.c:
-	  Minor style/formatting changes.
+	* contrib/mod_radius.c: Fixing several bugs in mod_radius'
+	accounting code.
 
-2002-12-18 12:12  castaglia
-
-	* configure:
-	  Updating configure script.
-
-2002-12-18 12:09  castaglia
-
-	* NEWS, config.h.in, configure.in, modules/mod_unixpw.c:
-	  Bug#1667 - Integrate ProFTPD with C2/SIA on Tru64 Unix.
-
-2002-12-18 10:27  castaglia
-
-	* contrib/: mod_radius.c, mod_radius.html:
-	  Fixing several bugs in mod_radius' accounting code.
-
-2002-12-17 19:03  jwm
-
-	* src/proftpd.8: forgot to update the man page for Bug 1885
-
-2002-12-17 18:59  jwm
+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.
+	-n/--nodaemon flag. Useful for running proftpd from inittab or with
+	daemontools.
 
-2002-12-17 15:11  castaglia
+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.
+	* 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 08:06  castaglia
+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.
+	* 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).
 
-	  Change the debug level for privs changes to 9 (was 8).
+2002-12-17  jwm <jwm>
 
-2002-12-17 07:18  jwm
-
-	* include/: conf.h, data.h, default_paths.h, dirtree.h, ftp.h,
-	  ident.h, inet.h, libsupp.h, modules.h, netio.h, options.h,
-	  privs.h, proftpd.h, sets.h: nuke trailing whitespace
+	* 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-16 17:52  castaglia
+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.
+	* 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-16 17:12  castaglia
+2002-12-17  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Oops.  Not quite ready to commit these changes yet.
+	* modules/mod_core.c: Oops.  Not quite ready to commit these changes
+	yet.
 
-2002-12-16 17:06  castaglia
+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).
+	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 11:07  castaglia
+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.
+	* 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 10:45  castaglia
+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*
+	* 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 10:38  castaglia
+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.
+	* 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 07:15  jwm
+2002-12-16  jwm <jwm>
 
 	* src/main.c: er, yeah. pointer and all that.
 
-2002-12-16 07:12  jwm
+2002-12-16  jwm <jwm>
 
 	* src/main.c: cleanup
 
-2002-12-15 10:08  jwm
+2002-12-15  jwm <jwm>
 
 	* configure: updated configure
 
-2002-12-15 10:05  jwm
+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 at vsu.ru> for the
-	  patch.
+	- socklen_t patch. Thanks to Andy Igoshin <ai at vsu.ru> for the patch.
 
-2002-12-13 11:33  castaglia
+2002-12-13  castaglia <castaglia>
 
-	* src/: dirtree.c, fsio.c, inet.c, 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).
+	* 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 11:13  castaglia
+2002-12-13  castaglia <castaglia>
 
-	* utils/ftpwho.c:
-	  Correcting placement of newline (from Bug#1886).
+	* utils/ftpwho.c: Correcting placement of newline (from Bug#1886).
 
-2002-12-13 09:25  castaglia
+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.
+	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 11:57  castaglia
+2002-12-12  castaglia <castaglia>
 
-	* NEWS, contrib/mod_radius.c:
-	  Bug#1875 - same radius packet id for start- and stop-accounting
-	  record.
+	* NEWS, contrib/mod_radius.c: Bug#1875 - same radius packet id for
+	start- and stop-accounting record.
 
-2002-12-12 11:56  jwm
+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 10:17  castaglia
-
-	* NEWS, utils/ftpwho.c:
-	  Bug#1886 - Ftpwho uses too many lines when authenticating.
+	use of an 80-column screen
 
-2002-12-12 10:01  castaglia
+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.
+	* NEWS, utils/ftpwho.c: Bug#1886 - Ftpwho uses too many lines when
+	authenticating.
 
-	  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.:
+2002-12-12  castaglia <castaglia>
 
-	    CFLAGS="-DPR_TUNABLE_GLOBBING_MAX=2" ./configure ...
+	* 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 09:05  castaglia
+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).
+	* 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 08:24  castaglia
+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).
+	* 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 07:41  jwm
+2002-12-12  jwm <jwm>
 
 	* modules/mod_auth.c: typo Noticed by: Mihai RUSU <dizzy at roedu.net>
 
-2002-12-11 15:35  castaglia
+2002-12-11  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#1881 - Bug in Function MaxClients.
+	* NEWS, modules/mod_auth.c: Bug#1881 - Bug in Function MaxClients.
 
-2002-12-11 15:33  castaglia
+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.
+	* 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 15:28  castaglia
+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_.
+	modules/mod_core.c, modules/mod_xfer.c, src/dirtree.c: Forgot to
+	prefix the expression functions with pr_.
 
-2002-12-11 15:17  castaglia
+2002-12-11  castaglia <castaglia>
 
-	* NEWS, modules/mod_site.c:
-	  Bug#1882 - SITE chmod 777 file<space>name.
+	* NEWS, modules/mod_site.c: Bug#1882 - SITE chmod 777
+	file<space>name.
 
-2002-12-11 08:49  castaglia
+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).
+	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-10 17:09  jwm
+2002-12-11  jwm <jwm>
 
-	* doc/: Configuration.html, Configuration.sgml: updated docs
+	* doc/Configuration.html, doc/Configuration.sgml: updated docs
 
-2002-12-10 13:15  castaglia
+2002-12-10  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script.
+	* configure: Updating configure script.
 
-2002-12-10 13:12  castaglia
+2002-12-10  castaglia <castaglia>
 
-	* configure.in:
-	  Forgot a comma.
+	* configure.in: Forgot a comma.
 
-2002-12-10 13:05  castaglia
+2002-12-10  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script.
+	* configure: Updating configure script.
 
-2002-12-10 13:01  castaglia
+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_unixpw.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 10:14  castaglia
-
-	* configure:
-	  Updating configure script.
-
-2002-12-10 07:16  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 06:39  jwm
+	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 06:38  jwm
+2002-12-09  jwm <jwm>
 
 	* lib/vsnprintf.c: style
 
-2002-12-09 06:37  jwm
+2002-12-09  jwm <jwm>
 
 	* lib/vsnprintf.c: need ctype.h for is*()
 
-2002-12-09 06:36  jwm
+2002-12-09  jwm <jwm>
 
 	* lib/pr_fnmatch_loop.c: need to include ctype.h for is*()
 
-2002-12-08 08:57  jwm
+2002-12-07  jwm <jwm>
 
-	* modules/mod_unixpw.c: style
+	* NEWS: credit where credit is due
 
-2002-12-07 14:09  jwm
+2002-12-07  jwm <jwm>
 
-	* NEWS: credit where credit is due
+	* 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 14:02  jwm
+2002-12-07  jwm <jwm>
 
-	* src/dirtree.c, src/main.c, modules/mod_auth.c,
-	  modules/mod_core.c, modules/mod_log.c, modules/mod_ls.c,
-	  modules/mod_pam.c, modules/mod_site.c, modules/mod_unixpw.c,
-	  src/auth.c, src/inet.c, src/modules.c, src/pool.c, src/sets.c,
-	  src/support.c, src/utils.c: style
+	* modules/mod_auth.c, modules/mod_core.c, src/dirtree.c, src/main.c: 
+	style
 
-2002-12-07 13:57  jwm
+2002-12-07  jwm <jwm>
 
 	* NEWS, acconfig.h, config.h.in, configure.in, include/data.h,
-	  src/data.c: AIX sendfile support
+	src/data.c: AIX sendfile support
 
-2002-12-07 13:50  jwm
+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
+	* 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 13:45  jwm
+2002-12-07  jwm <jwm>
 
-	* src/: auth.c, bindings.c, data.c, dirtree.c, feat.c, fsio.c,
-	  ident.c, inet.c, log.c, main.c, modules.c, netio.c, pool.c,
-	  regexp.c, scoreboard.c, sets.c, support.c, timers.c, utils.c:
-	  style
+	* 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 13:43  jwm
+2002-12-07  jwm <jwm>
 
-	* modules/: mod_auth.c, mod_core.c, mod_log.c, mod_ls.c, mod_pam.c,
-	  mod_site.c, mod_unixpw.c, mod_xfer.c: nuke trailing whitespace,
-	  style
+	* 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 13:25  jwm
+2002-12-07  jwm <jwm>
 
 	* src/bindings.c: trailing whitespace
 
-2002-12-07 13:21  castaglia
+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.
+	* modules/mod_xfer.c: Inadvertently changed the default handling of
+	AllowRetrieveRestart in the get_param_int() -> get_param_ptr()
+	changes.
 
-2002-12-07 13:12  castaglia
+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.
+	modules/mod_log.c, src/log.c, src/main.c: Bug#1515 - Enable mod_log
+	to log into default log / syslog.
 
-2002-12-07 08:29  jwm
+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.
+	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-06 18:38  castaglia
+2002-12-07  castaglia <castaglia>
 
-	* src/dirtree.c:
-	  Removing a get_param_int() that crept back in (probably from the
-	  Bindings patch).
+	* src/dirtree.c: Removing a get_param_int() that crept back in
+	(probably from the Bindings patch).
 
-2002-12-06 16:48  castaglia
+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.
+	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 15:45  castaglia
+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.
+	modules/mod_core.c, modules/mod_ls.c, modules/mod_xfer.c,
+	src/data.c, src/main.c: More RFC2228 support.
 
-2002-12-06 15:13  castaglia
+2002-12-06  castaglia <castaglia>
 
-	* modules/: mod_core.c, mod_xfer.c:
-	  Provide configuration handlers that remark on deprecated
-	  directives, rather than simply having those directives removed
-	  (for now).
+	* 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 15:08  castaglia
+2002-12-06  castaglia <castaglia>
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#1789 - Add ability to block recursive directory listings.
+	* NEWS, modules/mod_ls.c: Bug#1789 - Add ability to block recursive
+	directory listings.
 
-2002-12-06 13:43  jwm
+2002-12-06  jwm <jwm>
 
-	* include/proftpd.h:
-	  tabs -> spaces
+	* include/proftpd.h: tabs -> spaces
 
-2002-12-06 13:37  castaglia
+2002-12-06  castaglia <castaglia>
 
-	* src/fsio.c:
-	  *sigh* One of these days I'll get this correct. =P
+	* src/fsio.c: *sigh* One of these days I'll get this correct. =P
 
-2002-12-06 13:32  castaglia
+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().
+	* src/fsio.c: The FS API patch had some of the older, broken code
+	w.r.t BSD and statfs().
 
-2002-12-06 13:25  castaglia
+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.
+	utils/ftpwho.c, utils/utils.h: Committing TransferRate patch to CVS.
 
-2002-12-06 13:04  castaglia
+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...
+	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 07:49  castaglia
+2002-12-06  castaglia <castaglia>
 
-	* contrib/mod_sql.c:
-	  Removed erroneous/extraneous #include "fs.h"
+	* contrib/mod_sql.c: Removed erroneous/extraneous #include "fs.h"
 
-2002-12-05 18:41  jwm
+2002-12-06  jwm <jwm>
 
-	* lib/pwgrent.c:
-	  fix the build (PR_LOG_ERR isn't defined here because this is in
-	  libsupp)
+	* lib/pwgrent.c: fix the build (PR_LOG_ERR isn't defined here
+	because this is in libsupp)
 
-2002-12-05 17:03  castaglia
+2002-12-06  castaglia <castaglia>
 
-	* modules/mod_log.c:
-	  Use C_* command macros.
+	* modules/mod_log.c: Use C_* command macros.
 
-2002-12-05 16:50  castaglia
+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.
+	* NEWS, modules/mod_log.c: Bug#1605 - MKD and RMD do not log
+	filepaths with %f or %F option in ExtendedLog.
 
-2002-12-05 15:38  castaglia
+2002-12-05  castaglia <castaglia>
 
-	* NEWS, modules/mod_log.c:
-	  Bug#1403 - per-server system logs via ServerLog directive.
+	* NEWS, modules/mod_log.c: Bug#1403 - per-server system logs via
+	ServerLog directive.
 
-2002-12-05 15:16  castaglia
+2002-12-05  castaglia <castaglia>
 
-	* NEWS, contrib/mod_rewrite.c, contrib/mod_rewrite.html:
-	  Adding mod_rewrite to the mix.
+	* NEWS, contrib/mod_rewrite.c: Adding mod_rewrite to the mix.
 
-2002-12-05 14:53  castaglia
+2002-12-05  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c:
-	  Bug#1205 - Add debug option to SystemLog.
+	* NEWS, modules/mod_core.c: Bug#1205 - Add debug option to
+	SystemLog.
 
-2002-12-05 14:47  castaglia
+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.
+	src/main.c, src/modules.c: Bug#1788 - Add ability to configure auth
+	module checking order.
 
-2002-12-05 14:16  castaglia
+2002-12-05  castaglia <castaglia>
 
-	* configure:
-	  Updated configure script.
+	* configure: Updated configure script.
 
-2002-12-05 14:13  castaglia
+2002-12-05  castaglia <castaglia>
 
-	* configure.in:
-	  Update configure.in to use AC_HELP_STRING macro for
-	  pretty-printing of --enable and --with options.
+	* configure.in: Update configure.in to use AC_HELP_STRING macro for
+	pretty-printing of --enable and --with options.
 
-2002-12-05 13:57  castaglia
+2002-12-05  castaglia <castaglia>
 
-	* NEWS:
-	  Adding thanks (well deserved!) to Peter Runestig for his work on
-	  mod_tls.
+	* NEWS: Adding thanks (well deserved!) to Peter Runestig for his
+	work on mod_tls.
 
-2002-12-05 13:46  castaglia
+2002-12-05  castaglia <castaglia>
 
-	* NEWS, contrib/mod_tls.c, contrib/mod_tls.html,
-	  doc/rfc/draft-murray-auth-ftp-ssl-10.txt:
-	  Bug#1712 - TLS support.
+	* NEWS, contrib/mod_tls.c: Bug#1712 - TLS support.
 
-2002-12-05 13:16  castaglia
+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/fs.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/fs.c,
-	  src/fsio.c, src/main.c, src/netio.c, src/support.c,
-	  utils/Makefile.in:
-	  Bug#1653 - Complete the FS API abstraction implementation.
+	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 12:53  castaglia
+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.
+	* 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 12:37  castaglia
+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.
+	src/modules.c, src/support.c: Bug#1833 - Add ability to have add'l
+	module initialization callback.
 
-2002-12-05 12:30  castaglia
+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.
+	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 12:18  castaglia
+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, modules/mod_pam.c, modules/mod_unixpw.c,
-	  src/auth.c:
-	  Bug#1825 - AUTH macro namespace cleanup.
-
-2002-12-05 12:08  castaglia
-
-	* contrib/mod_linuxprivs.c, 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_pam.c, modules/mod_unixpw.c,
-	  modules/mod_xfer.c, src/main.c:
-	  Making sure that all LOG_* macros have PR_ prefix, for
-	  consistency.
+	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 11:48  castaglia
+2002-12-05  castaglia <castaglia>
 
-	* NEWS, src/dirtree.c:
-	  Bug#1683 - Handling of VirtualHosts on startup.
+	* 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 11:20  castaglia
+2002-12-05  castaglia <castaglia>
 
-	* NEWS, modules/mod_log.c:
-	  Bug#1482 - Add new %U meta to LogFormat, for logging original
-	  username.
+	* NEWS, src/dirtree.c: Bug#1683 - Handling of VirtualHosts on
+	startup.
 
-2002-12-05 11:15  castaglia
+2002-12-05  castaglia <castaglia>
 
-	* configure:
-	  Updated configure script.
+	* NEWS, modules/mod_log.c: Bug#1482 - Add new %U meta to LogFormat,
+	for logging original username.
 
-2002-12-05 11:11  castaglia
+2002-12-05  castaglia <castaglia>
 
-	* NEWS, config.h.in, configure.in, modules/mod_pam.c,
-	  modules/mod_unixpw.c:
-	  Bug#1597 - Problems with HP-UX 10/11 trusted systems, mod_pam,
-	  and mod_unixpw.
+	* configure: Updated configure script.
 
-2002-12-05 11:03  castaglia
+2002-12-05  castaglia <castaglia>
 
-	* include/version.h:
-	  Now that 1.2.7 has been released, update the version info in CVS.
+	* NEWS, config.h.in, configure.in: Bug#1597 - Problems with HP-UX
+	10/11 trusted systems, mod_pam, and mod_unixpw.
 
-2002-12-05 10:47  castaglia
+2002-12-05  castaglia <castaglia>
 
-	* doc/mod_sample.c:
-	  Correcting typos.
+	* include/version.h: Now that 1.2.7 has been released, update the
+	version info in CVS.
 
-2002-12-05 08:08  castaglia
+2002-12-05  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec:
-	  Updating version for 1.2.7 release.
+	* doc/mod_sample.c: Correcting typos.
 
-2002-12-05 07:30  castaglia
+2002-12-05  castaglia <castaglia>
 
-	* ChangeLog, NEWS, include/version.h:
-	  Preparing for release of 1.2.7.
+	* contrib/dist/rpm/proftpd.spec: Updating version for 1.2.7 release.
 
-2002-12-04 11:14  castaglia
+2002-12-05  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Patching to fix off-by-one bug in MaxHostsPerUser directive
-	  handling.
+	* ChangeLog, NEWS, include/version.h: Preparing for release of
+	1.2.7.
 
-2002-12-04 07:26  castaglia
+2002-12-04  castaglia <castaglia>
 
-	* NEWS, include/support.h, modules/mod_auth.c, src/support.c:
-	  Adding memory scrubber for memset() issue mentioned here:
+	* modules/mod_auth.c: Patching to fix off-by-one bug in
+	MaxHostsPerUser directive handling.
 
-	    http://online.securityfocus.com/archive/1/298598
+2002-12-04  castaglia <castaglia>
 
-2002-12-03 07:57  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
 
-	* NEWS, utils/ftpcount.c:
-	  Bug#1868 - Wrong cmdopts in ftpcount.c
+2002-12-03  castaglia <castaglia>
 
-2002-12-02 13:57  jwm
+	* NEWS, utils/ftpcount.c: Bug#1868 - Wrong cmdopts in ftpcount.c
 
-	* contrib/dist/rpm/.cvsignore: this shouldn't be ignoring
-	  proftpd.spec anymore
+2002-12-02  castaglia <castaglia>
 
-2002-12-02 10:29  castaglia
+	* NEWS, utils/ftpwho.c: Bug#1861 - 'ftpwho -v -o oneline' print all
+	connections in one line.
 
-	* NEWS, utils/ftpwho.c:
-	  Bug#1861 - 'ftpwho -v -o oneline' print all connections in one
-	  line.
+2002-12-02  castaglia <castaglia>
 
-2002-12-02 10:18  castaglia
+	* src/dirtree.c: Minor preprocessor changes.
 
-	* src/dirtree.c:
-	  Minor preprocessor changes.
+2002-12-02  castaglia <castaglia>
 
-2002-12-02 10:16  castaglia
+	* src/dirtree.c: Removed unused variable.
 
-	* src/dirtree.c:
-	  Removed unused variable.
+2002-12-02  castaglia <castaglia>
 
-2002-12-02 09:04  castaglia
+	* NEWS, modules/mod_xfer.c, src/pool.c: Bug#1846 - File overwrites
+	fail.  Thanks to Sergei Rozinov for tracking down this bug.
 
-	* 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>
 
-2002-11-26 10:54  castaglia
+	* src/support.c: Minor style change: use macros for FTP commands.
 
-	* src/support.c:
-	  Minor style change: use macros for FTP commands.
+2002-11-26  castaglia <castaglia>
 
-2002-11-26 09:28  castaglia
+	* NEWS, lib/pr-syslog.c: Bug#1853 - SyslogFacility: unable to open
+	syslog.
 
-	* NEWS, lib/pr-syslog.c:
-	  Bug#1853 - SyslogFacility: unable to open syslog.
+2002-11-25  castaglia <castaglia>
 
-2002-11-25 13:28  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.
 
-	* 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>
 
-2002-11-25 13:12  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.
 
-	* 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>
 
-2002-11-25 13:02  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.
 
-	* 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>
 
-2002-11-25 10:28  castaglia
+	* include/dirtree.h: Removing unused struct members.
 
-	* include/dirtree.h:
-	  Removing unused struct members.
-
-2002-11-25 09:33  castaglia
+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 09:22  castaglia
+	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.
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#1856 - TimesGMT acts like default is 'off'.
+2002-11-25  castaglia <castaglia>
 
-2002-11-25 09:08  castaglia
+	* NEWS, modules/mod_ls.c: Bug#1856 - TimesGMT acts like default is
+	'off'.
 
-	* modules/mod_xfer.c:
-	  %lu crept back in when PR_LU is needed...
+2002-11-25  castaglia <castaglia>
 
-2002-11-25 08:18  castaglia
+	* modules/mod_xfer.c: %lu crept back in when PR_LU is needed...
 
-	* NEWS, modules/mod_site.c:
-	  Bug#1852 - Proftpd gets signal 11 on "quote site".
+2002-11-25  castaglia <castaglia>
 
-2002-11-25 08:04  castaglia
+	* NEWS, modules/mod_site.c: Bug#1852 - Proftpd gets signal 11 on
+	"quote site".
 
-	* doc/mod_sample.c, include/fs.h, 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>
 
-2002-11-25 07:52  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...
 
-	* modules/mod_xfer.c:
-	  Datatype overflow.
+2002-11-25  castaglia <castaglia>
 
-2002-11-23 10:39  jwm
+	* modules/mod_xfer.c: Datatype overflow.
 
-	* 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).
+2002-11-23  jwm <jwm>
 
-	  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.
+	* 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-22 21:20  jwm
+2002-11-23  jwm <jwm>
 
-	* NEWS, contrib/dist/rpm/proftpd.init.d: Bug 1680 - Error in
-	  startup script
+	* NEWS, contrib/dist/rpm/proftpd.init.d: Bug 1680 - Error in startup
+	script
 
-2002-11-22 11:21  jwm
+2002-11-22  jwm <jwm>
 
 	* configure: updated configure
 
-2002-11-22 11:19  jwm
+2002-11-22  jwm <jwm>
 
-	* config.h.in, configure.in, NEWS, src/support.c: Bug 1839 -
-	  undefined reference to `get_fs_size'
+	* NEWS, config.h.in, configure.in, src/support.c: Bug 1839 -
+	undefined reference to `get_fs_size'
 
-2002-11-21 16:19  castaglia
+2002-11-22  castaglia <castaglia>
 
-	* NEWS, utils/ftptop.c:
-	  Bug#1848 - undefined reference to `halfdelay'.
+	* NEWS, utils/ftptop.c: Bug#1848 - undefined reference to
+	`halfdelay'.
 
-2002-11-21 08:20  castaglia
+2002-11-21  castaglia <castaglia>
 
-	* NEWS, modules/mod_log.c:
-	  Bug#1812 - Double logging lines for ExtendedLog.
+	* NEWS, modules/mod_log.c: Bug#1812 - Double logging lines for
+	ExtendedLog.
 
-2002-11-19 09:57  castaglia
+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 12:03  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).
+	src/dirtree.c: Bug#1838 - Since 1.2.6: in add_useralias() setting
+	flag CF_MERGEDOWN breaks aliased anonymous functionality.
 
-2002-11-18 09:15  castaglia
+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().
+	* 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 08:15  castaglia
+2002-11-18  castaglia <castaglia>
 
-	* NEWS, modules/mod_core.c:
-	  Bug#1844 - DisplayLogin %y macro is off by 1.
+	* modules/mod_auth.c: Handling of ShowSymlinks in this module still
+	used get_param_int() rather than get_param_ptr().
 
-2002-11-18 08:02  castaglia
+2002-11-18  castaglia <castaglia>
 
-	* NEWS, include/pr-syslog.h:
-	  Bug#1840 - Problem with syslog default destination on HP-UX.
+	* NEWS, modules/mod_core.c: Bug#1844 - DisplayLogin %y macro is off
+	by 1.
 
-2002-11-16 17:15  jwm
+2002-11-18  castaglia <castaglia>
 
-	* utils/.cvsignore:
-	  ignore ftptop
+	* NEWS, include/pr-syslog.h: Bug#1840 - Problem with syslog default
+	destination on HP-UX.
 
-2002-11-16 17:14  jwm
-
-	* lib/pr-syslog.c:
-	  cast the return value from getpid() to silence a compiler warning
-	  under solaris
-
-2002-11-15 09:09  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-17  jwm <jwm>
 
-2002-11-15 08:45  castaglia
+	* utils/.cvsignore: ignore ftptop
 
-	* ChangeLog, NEWS, include/version.h:
-	  Ramping up for 1.2.7rc3 release.
+2002-11-17  jwm <jwm>
 
-2002-11-15 08:37  castaglia
+	* lib/pr-syslog.c: cast the return value from getpid() to silence a
+	compiler warning under solaris
 
-	* modules/mod_pam.c:
-	  More timing/pam_end() fixes specific to the Solaris flavor of
-	  PAM.
+2002-11-15  jwm <jwm>
 
-2002-11-15 08:11  castaglia
+	* contrib/dist/rpm/proftpd.spec: d'oh - /etc/logrotate.d/ should
+	exist in $RPM_BUILD_ROOT before I try to put stuff in it...
 
-	* utils/ftptop.c:
-	  Portability/compiler warning hack.  *sigh*
+2002-11-15  castaglia <castaglia>
 
-2002-11-15 08:03  castaglia
+	* ChangeLog, NEWS, include/version.h: Ramping up for 1.2.7rc3
+	release.
 
-	* modules/mod_xfer.c:
-	  Necessary typecasts to avoid compiler warnings (seen on Solaris
-	  2.8).
+2002-11-15  castaglia <castaglia>
 
-2002-11-15 07:46  castaglia
+	* utils/ftptop.c: Portability/compiler warning hack.  *sigh*
 
-	* modules/mod_log.c:
-	  Style cleanup.
+2002-11-15  castaglia <castaglia>
 
-2002-11-14 09:57  castaglia
+	* modules/mod_xfer.c: Necessary typecasts to avoid compiler warnings
+	(seen on Solaris 2.8).
 
-	* modules/mod_auth.c:
-	  More hassle/work with MaxClientsPerHost (see Bug#1830, Bug#1831).
+2002-11-15  castaglia <castaglia>
 
-2002-11-14 09:09  castaglia
+	* modules/mod_log.c: Style cleanup.
 
-	* contrib/ftpasswd:
-	  Forgot to increment the displayed $version.
+2002-11-14  castaglia <castaglia>
 
-2002-11-14 08:56  castaglia
+	* modules/mod_auth.c: More hassle/work with MaxClientsPerHost (see
+	Bug#1830, Bug#1831).
 
-	* NEWS:
-	  Attributing proper credit. =)
+2002-11-14  castaglia <castaglia>
 
-2002-11-14 08:55  castaglia
+	* contrib/ftpasswd: Forgot to increment the displayed $version.
 
-	* contrib/: ftpasswd, ftpasswd.html:
-	  Minor doc change.
+2002-11-14  castaglia <castaglia>
 
-2002-11-14 08:53  castaglia
+	* NEWS: Attributing proper credit. =)
 
-	* NEWS, contrib/ftpasswd, contrib/ftpasswd.html:
-	  Adding/changing ftpasswd error exit values.
+2002-11-14  castaglia <castaglia>
 
-2002-11-14 06:49  jwm
+	* contrib/ftpasswd: Minor doc change.
 
-	* 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-14  castaglia <castaglia>
 
-2002-11-13 13:15  castaglia
+	* NEWS, contrib/ftpasswd: Adding/changing ftpasswd error exit
+	values.
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#1830 - MaxClientsPerHost (small) Bug.
+2002-11-14  jwm <jwm>
 
-2002-11-13 08:32  castaglia
+	* 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)
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#1810 - Wrong permissions assigned to uploaded file
+2002-11-13  castaglia <castaglia>
 
-2002-11-13 06:55  castaglia
+	* NEWS, modules/mod_auth.c: Bug#1830 - MaxClientsPerHost (small)
+	Bug.
 
-	* NEWS, utils/ftpwho.c:
-	  Bug#1815 - Patch to add class information to ftpwho (with verbose
-	  on)
+2002-11-13  castaglia <castaglia>
 
-2002-11-13 06:37  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#1810 - Wrong permissions assigned to
+	uploaded file
 
-	* src/dirtree.c:
-	  Add debugging output mentioning the configuration file being
-	  parsed at debug level 2.
+2002-11-13  castaglia <castaglia>
 
-2002-11-12 14:27  castaglia
+	* NEWS, utils/ftpwho.c: Bug#1815 - Patch to add class information to
+	ftpwho (with verbose on)
 
-	* modules/: mod_auth.c, mod_core.c, mod_xfer.c:
-	  Fix handling/lookup of Timeouts.
+2002-11-13  castaglia <castaglia>
 
-2002-11-12 08:42  castaglia
+	* src/dirtree.c: Add debugging output mentioning the configuration
+	file being parsed at debug level 2.
 
-	* configure:
-	  Updating configure script.
+2002-11-12  castaglia <castaglia>
 
-2002-11-12 08:38  castaglia
+	* modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c: Fix
+	handling/lookup of Timeouts.
 
-	* configure.in:
-	  Minor whitespace quibble.
+2002-11-12  castaglia <castaglia>
 
-2002-11-12 08:28  jwm
+	* configure: Updating configure script.
 
-	* .cvsignore:
-	  ignore ftptop, autom4te.cache
+2002-11-12  castaglia <castaglia>
 
-2002-11-12 08:28  jwm
+	* configure.in: Minor whitespace quibble.
 
-	* configure:
-	  updated configure
+2002-11-12  jwm <jwm>
 
-2002-11-12 08:23  jwm
+	* .cvsignore: ignore ftptop, autom4te.cache
 
-	* Make.rules.in, configure.in:
-	  oops, accidentally reverted TJ's changes
+2002-11-12  jwm <jwm>
 
-2002-11-12 08:19  jwm
+	* configure: updated configure
 
-	* Makefile.in, Make.rules.in, NEWS, configure.in:
-	  Only link ftptop with lib{n,}curses - it isn't needed in any
-	  other binaries
+2002-11-12  jwm <jwm>
 
-2002-11-12 08:19  castaglia
+	* Make.rules.in, configure.in: oops, accidentally reverted TJ's
+	changes
 
-	* configure:
-	  Updating the configure script.
+2002-11-12  jwm <jwm>
 
-2002-11-12 08:10  castaglia
+	* Make.rules.in, Makefile.in, NEWS, configure.in: Only link ftptop
+	with lib{n,}curses - it isn't needed in any other binaries
 
-	* Make.rules.in, NEWS, configure.in:
-	  Bug#1703 - mod_sql_mysql compile error.
+2002-11-12  castaglia <castaglia>
 
-2002-11-12 07:24  castaglia
+	* configure: Updating the configure script.
 
-	* modules/mod_core.c, modules/mod_xfer.c, NEWS:
-	  Bug#1760 - AllowOverwrite not operational.
+2002-11-12  castaglia <castaglia>
 
-2002-11-11 15:57  jwm
+	* Make.rules.in, NEWS, configure.in: Bug#1703 - mod_sql_mysql
+	compile error.
 
-	* utils/.cvsignore:
-	  ignore Makefile, object and editor backup files
+2002-11-12  castaglia <castaglia>
 
-2002-11-11 15:44  jwm
+	* NEWS, modules/mod_core.c, modules/mod_xfer.c: Bug#1760 -
+	AllowOverwrite not operational.
 
-	* modules/mod_unixpw.c: OS X also has a setgrent() that returns
-	  void; make a note to update autoconf for a generic check for this
+2002-11-11  jwm <jwm>
 
-2002-11-05 11:06  jwm
+	* utils/.cvsignore: ignore Makefile, object and editor backup files
 
-	* NEWS, include/modules.h, modules/mod_auth.c, src/auth.c:
-	  Bug 1818 - proftpd doesn't compile on hpux11
+2002-11-05  jwm <jwm>
 
-2002-11-03 16:53  jwm
+	* NEWS, include/modules.h, modules/mod_auth.c, src/auth.c: Bug 1818
+	- proftpd doesn't compile on hpux11
 
-	* configure:
-	  updated configure
+2002-11-04  jwm <jwm>
 
-2002-11-03 16:41  jwm
+	* configure: updated configure
 
-	* NEWS, utils/ftptop.c, config.h.in, configure.in:
-	  ftptop can now use either curses or ncurses
+2002-11-04  jwm <jwm>
 
-	  Based on a submission by: Ayamura KIKUCHI <ayamura at ayamura.org>
+	* 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 at ayamura.org>
 
-2002-11-03 08:40  jwm
+2002-11-03  jwm <jwm>
 
-	* NEWS, src/scoreboard.c:
-	  Bug 1814 - class names are truncated in scoreboard entry
+	* NEWS, src/scoreboard.c: Bug 1814 - class names are truncated in
+	scoreboard entry
 
-2002-11-02 14:47  jwm
+2002-11-02  jwm <jwm>
 
-	* contrib/dist/rpm/proftpd.spec:
-	  forgot to add logrotate to %files
+	* contrib/dist/rpm/proftpd.spec: forgot to add logrotate to %files
 
-2002-11-02 14:44  jwm
+2002-11-02  jwm <jwm>
 
-	* NEWS:
-	  update
+	* NEWS: update
 
-2002-11-02 14:44  jwm
+2002-11-02  jwm <jwm>
 
-	* contrib/dist/rpm/: proftpd.logrotate, proftpd.spec:
-	  Bug 1398 - there is no log rotate for /var/log/xferlog
+	* contrib/dist/rpm/proftpd.logrotate, contrib/dist/rpm/proftpd.spec: 
+	Bug 1398 - there is no log rotate for /var/log/xferlog
 
-2002-11-02 14:32  jwm
+2002-11-02  jwm <jwm>
 
-	* modules/mod_auth.c:
-	  style, whitespace
+	* modules/mod_auth.c: style, whitespace
 
-2002-11-02 14:10  jwm
+2002-11-02  jwm <jwm>
 
-	* contrib/mod_ratio.c:
-	  clean up compiler warnings
+	* contrib/mod_ratio.c: clean up compiler warnings
 
-2002-11-02 14:01  jwm
+2002-11-02  jwm <jwm>
 
-	* NEWS, contrib/dist/rpm/proftpd.spec:
-	  Bug 1772 - Docs fixup in RPM spec file
+	* NEWS, contrib/dist/rpm/proftpd.spec: Bug 1772 - Docs fixup in RPM
+	spec file
 
-2002-11-02 14:01  jwm
+2002-11-02  jwm <jwm>
 
-	* configure:
-	  update configure
+	* configure: update configure
 
-2002-11-02 13:49  jwm
+2002-11-02  jwm <jwm>
 
-	* configure.in:
-	  don't preprocess the rpm spec
+	* configure.in: don't preprocess the rpm spec
 
-2002-11-02 13:48  jwm
+2002-11-02  jwm <jwm>
 
-	* contrib/dist/rpm/: proftpd.spec, proftpd.spec.in:
-	  having autoconf process proftpd.spec.in is silly - it's only that
-	  way to substitute the @VERSION@ tag.
+	* 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 13:42  jwm
+2002-11-02  jwm <jwm>
 
-	* NEWS:
-	  update
+	* NEWS: update
 
-2002-11-02 13:41  jwm
+2002-11-02  jwm <jwm>
 
-	* README.PAM, config.h.in, modules/mod_pam.c:
-	  Bug 1805 - PAM support under Mac OS X
+	* README.PAM, config.h.in: Bug 1805 - PAM support under Mac OS X
 
-2002-11-02 13:38  jwm
+2002-11-02  jwm <jwm>
 
-	* README.PAM:
-	  style
+	* README.PAM: style
 
-2002-11-02 13:34  jwm
+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
+	* 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 11:29  castaglia
+2002-10-30  castaglia <castaglia>
 
-	* NEWS:
-	  Typo.
+	* NEWS: Typo.
 
-2002-10-30 11:10  castaglia
+2002-10-30  castaglia <castaglia>
 
-	* NEWS, contrib/mod_wrap.c:
-	  Bug#1800 - Proftpd child segfaults when ussing a PASS without no
-	  USER first.
+	* NEWS, contrib/mod_wrap.c: Bug#1800 - Proftpd child segfaults when
+	ussing a PASS without no USER first.
 
-2002-10-29 17:47  castaglia
+2002-10-30  castaglia <castaglia>
 
-	* NEWS:
-	  Typos.
+	* NEWS: Typos.
 
-2002-10-29 17:23  castaglia
+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).
+	* 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 10:06  castaglia
+2002-10-29  castaglia <castaglia>
 
-	* utils/: ftpcount.c, ftpwho.c, 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.
+	* 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 08:41  castaglia
+2002-10-29  castaglia <castaglia>
 
-	* modules/: mod_auth.c, 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).
+	* 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 07:51  jwm
+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.
+	* src/data.c: * style * Make sure session.xfer uses cleared memory so unset structure
+	  members won't contain random values.
 
-2002-10-29 07:51  jwm
+2002-10-29  jwm <jwm>
 
 	* NEWS: Make sure session.xfer uses cleared memory so unset
-	  structure members won't contain random values.
+	structure members won't contain random values.
 
-2002-10-28 14:32  castaglia
+2002-10-28  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script.
+	* configure: Updating configure script.
 
-2002-10-28 14:30  castaglia
+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.
+	modules/mod_core.c, src/support.c: Bug#1722 - Can't work magic
+	cookie %F on FreeBSD.
 
-2002-10-28 09:28  castaglia
+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.
+	* 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 08:51  castaglia
+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.
+	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 08:19  castaglia
+2002-10-28  castaglia <castaglia>
 
-	* include/conf.h:
-	  Adding some necessary function prototypes for AIX, when compiled
-	  using -D_NO_PROTO.
+	* include/conf.h: Adding some necessary function prototypes for AIX,
+	when compiled using -D_NO_PROTO.
 
-2002-10-26 15:57  castaglia
+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.
+	* 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 09:54  castaglia
+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.
+	utils/ftpcount.c: Fixing some function pointer scopes, removing
+	unused variables -- general cleanup due to compiler complaints on
+	IRIX.
 
-2002-10-25 09:18  castaglia
+2002-10-25  castaglia <castaglia>
 
-	* src/main.c:
-	  Re-adding logging of SIGSEGVs.
+	* src/main.c: Re-adding logging of SIGSEGVs.
 
-2002-10-24 15:19  castaglia
+2002-10-24  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Correcting an off-by-one error concerning the enforcement of
-	  MaxClients.
+	* modules/mod_auth.c: Correcting an off-by-one error concerning the
+	enforcement of MaxClients.
 
-2002-10-24 13:03  castaglia
+2002-10-24  castaglia <castaglia>
 
-	* NEWS:
-	  Forgot to note that Bug#1745 was fixed in 1.2.7rc1.
+	* NEWS: Forgot to note that Bug#1745 was fixed in 1.2.7rc1.
 
-2002-10-24 10:22  castaglia
+2002-10-24  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script.
+	* configure: Updating configure script.
 
-2002-10-24 10:16  castaglia
+2002-10-24  castaglia <castaglia>
 
-	* NEWS, configure.in:
-	  Bug#1287 - Error compile with autoshadow option
+	* NEWS, configure.in: Bug#1287 - Error compile with autoshadow
+	option
 
-2002-10-24 09:32  castaglia
+2002-10-24  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script.
+	* configure: Updating configure script.
 
-2002-10-24 09:28  castaglia
+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.
+	* 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 08:49  castaglia
+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.
+	* README.AIX: Adding remark reminding AIX users to avoid use of
+	--enable-autoshadow and --enable-shadow in their configure options.
 
-2002-10-23 16:56  castaglia
+2002-10-23  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script to match changes/fixes to configure.in.
+	* configure: Updating configure script to match changes/fixes to
+	configure.in.
 
-2002-10-23 16:53  castaglia
+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.
+	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 10:27  castaglia
+2002-10-23  castaglia <castaglia>
 
-	* modules/mod_site.c:
-	  Fixing requirement of auth chk for SITE commands CHGRP and CHMOD.
+	* modules/mod_site.c: Fixing requirement of auth chk for SITE
+	commands CHGRP and CHMOD.
 
-2002-10-22 12:14  castaglia
+2002-10-22  castaglia <castaglia>
 
-	* include/version.h:
-	  Making CVS look ready for rc3.
+	* include/version.h: Making CVS look ready for rc3.
 
-2002-10-22 11:27  castaglia
+2002-10-22  castaglia <castaglia>
 
-	* ChangeLog, NEWS, include/version.h:
-	  Preparing for release of 1.2.7rc2.
+	* ChangeLog, NEWS, include/version.h: Preparing for release of
+	1.2.7rc2.
 
-2002-10-21 11:40  castaglia
+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).
+	* 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 10:10  castaglia
+2002-10-21  castaglia <castaglia>
 
-	* configure:
-	  Updating configure script for added --enable* options.
+	* configure: Updating configure script for added --enable* options.
 
-2002-10-21 10:06  castaglia
+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_pam.c, modules/mod_site.c,
-	  modules/mod_unixpw.c, modules/mod_xfer.c, src/data.c,
-	  src/dirtree.c, src/fs.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 08:16  flyhmstr
+	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 15:20  castaglia
+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.
+	* 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 12:50  castaglia
+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.
+	* 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 12:43  castaglia
+2002-10-18  castaglia <castaglia>
 
-	* NEWS, utils/ftptop.c:
-	  Bug#1778 - 1.2.7rc1 fails to link on OpenBSD 3.2-current
+	* NEWS, utils/ftptop.c: Bug#1778 - 1.2.7rc1 fails to link on OpenBSD
+	3.2-current
 
-2002-10-18 10:59  flyhmstr
+2002-10-18  flyhmstr <flyhmstr>
 
 	* doc/Configuration.html: ML: updated to include mod_radius stuff
 
-2002-10-18 10:15  flyhmstr
+2002-10-18  flyhmstr <flyhmstr>
 
-	* doc/: Configuration.html, faq.html: ML: updated directivelist and
-	  faq
+	* doc/Configuration.html, doc/faq.html: ML: updated directivelist
+	and faq
 
-2002-10-18 08:14  castaglia
+2002-10-18  castaglia <castaglia>
 
-	* NEWS, modules/mod_ls.c, src/fs.c:
-	  Bug#1785 - Bad handling of symlinks
+	* NEWS, modules/mod_ls.c: Bug#1785 - Bad handling of symlinks
 
-2002-10-16 17:37  castaglia
+2002-10-17  castaglia <castaglia>
 
-	* src/: auth.c, data.c, dirtree.c, inet.c, log.c, main.c,
-	  modules.c, pool.c, regexp.c, scoreboard.c, 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.
+	* 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 11:14  castaglia
+2002-10-16  castaglia <castaglia>
 
-	* NEWS, modules/mod_log.c:
-	  Bug#1644 - LogFormat local IP and FQDN tags missing
+	* NEWS, modules/mod_log.c: Bug#1644 - LogFormat local IP and FQDN
+	tags missing
 
-2002-10-15 15:18  castaglia
+2002-10-15  castaglia <castaglia>
 
-	* README.AIX:
-	  Updating this README with the CFLAGS that seem to work with the
-	  newer proftpd versions.
+	* README.AIX: Updating this README with the CFLAGS that seem to work
+	with the newer proftpd versions.
 
-2002-10-15 10:08  castaglia
+2002-10-15  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Missed the assignment of session.xfer.path in cmd_stor() in the
-	  previous commit.
+	* modules/mod_xfer.c: Missed the assignment of session.xfer.path in
+	cmd_stor() in the previous commit.
 
-2002-10-15 10:01  castaglia
+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.
+	* 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-14 17:11  castaglia
+2002-10-15  castaglia <castaglia>
 
-	* src/log.c:
-	  Make sure log_openfile() returns the same error values as
-	  #defined in include/log.h.
+	* src/log.c: Make sure log_openfile() returns the same error values
+	as #defined in include/log.h.
 
-2002-10-14 17:04  castaglia
+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.
+	* 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 11:26  castaglia
+2002-10-14  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth.c, modules/mod_unixpw.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.
+	* 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 08:00  castaglia
+2002-10-10  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#1770 - Forgetting to check for no IP in string
+	* NEWS, modules/mod_auth.c: Bug#1770 - Forgetting to check for no IP
+	in string
 
-2002-10-09 09:55  castaglia
+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.
+	src/support.c: Bug#1769 - Lack of supplemental groups can cause
+	segfault.
 
-2002-10-09 09:12  flyhmstr
+2002-10-09  flyhmstr <flyhmstr>
 
 	* doc/Configuration.html: ML: updated directive list ready for
-	  1.2.7rc2
+	1.2.7rc2
 
-2002-10-08 14:19  castaglia
+2002-10-08  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Oops.  Should always use the FS API functions for FS operations.
+	* modules/mod_xfer.c: Oops.  Should always use the FS API functions
+	for FS operations.
 
-2002-10-08 08:05  castaglia
+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 at kaotik.org>.
+	* modules/mod_xfer.c: Clean up files created by mkstemp(3) if other
+	checks (e.g. <Limit>) fail.  Discrepancy noticed by Joao Gouveia
+	<tharbad at kaotik.org>.
 
-2002-10-08 07:35  castaglia
+2002-10-08  castaglia <castaglia>
 
-	* NEWS, src/main.c:
-	  Bug#1759 - ftpwho shows much more connections than realy is.
+	* NEWS, src/main.c: Bug#1759 - ftpwho shows much more connections
+	than realy is.
 
-2002-10-07 18:04  jwm
+2002-10-08  jwm <jwm>
 
-	* README, README.AIX, README.modules:
-	  style nit
+	* README, README.AIX, README.modules: style nit
 
-2002-10-07 17:18  castaglia
+2002-10-08  castaglia <castaglia>
 
 	* CREDITS, INSTALL, Makefile.in, README, README.AIX,
-	  README.linux-privs, README.mod_sql, README.modules, README.ports:
-
-	  Updating documentation, fixing 'make clean' target.  Thanks to
-	  Michael Renner for these patches.
+	README.modules, README.ports: Updating documentation, fixing 'make
+	clean' target.  Thanks to Michael Renner for these patches.
 
-2002-10-07 14:40  castaglia
+2002-10-07  castaglia <castaglia>
 
-	* INSTALL, README.modules:
-	  Removing references to crufty old mod_test.
+	* INSTALL, README.modules: Removing references to crufty old
+	mod_test.
 
-2002-10-07 10:17  castaglia
+2002-10-07  castaglia <castaglia>
 
-	* INSTALL:
-	  Changing mention of ScoreboardPath to ScoreboardFile.
+	* INSTALL: Changing mention of ScoreboardPath to ScoreboardFile.
 
-2002-10-07 10:14  castaglia
+2002-10-07  castaglia <castaglia>
 
-	* sample-configurations/complex-virtual.conf:
-	  Updating more example configs.
+	* sample-configurations/complex-virtual.conf: Updating more example
+	configs.
 
-2002-10-07 10:01  castaglia
+2002-10-07  castaglia <castaglia>
 
-	* sample-configurations/PFTEST.shadow:
-	  Match username 'proftpd' in the test passwd file.
+	* sample-configurations/PFTEST.shadow: Match username 'proftpd' in
+	the test passwd file.
 
-2002-10-07 09:59  castaglia
+2002-10-07  castaglia <castaglia>
 
-	* sample-configurations/PFTEST.conf.in:
-	  Updating config for 1.2.7 release cycle (ScoreboardPath ->
-	  ScoreboardFile).
+	* sample-configurations/PFTEST.conf.in: Updating config for 1.2.7
+	release cycle (ScoreboardPath -> ScoreboardFile).
 
-2002-10-04 15:51  castaglia
+2002-10-04  castaglia <castaglia>
 
-	* utils/ftptop.c:
-	  Adding kludge to ftptop that scans the config file for a
-	  non-default ScoreboardFile directive.
+	* utils/ftptop.c: Adding kludge to ftptop that scans the config file
+	for a non-default ScoreboardFile directive.
 
-2002-10-04 12:08  castaglia
+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.
+	* 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 07:41  castaglia
+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
+	* NEWS, modules/mod_xfer.c: Bug#1735 - Proftpd 1.2.6 compiled on
+	FreeBSD 4.6.2 exits on signal 11
 
-2002-10-03 17:36  castaglia
+2002-10-04  castaglia <castaglia>
 
-	* src/scoreboard.c:
-	  Addition borne of paranoia inspired by recent Apache
-	  scoreboarding vulnerability.
+	* src/scoreboard.c: Addition borne of paranoia inspired by recent
+	Apache scoreboarding vulnerability.
 
-2002-10-03 12:15  castaglia
+2002-10-03  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Fixing off-by-one error in MaxClientsPerHost check.
+	* modules/mod_auth.c: Fixing off-by-one error in MaxClientsPerHost
+	check.
 
-2002-10-03 08:44  castaglia
+2002-10-03  castaglia <castaglia>
 
-	* CREDITS:
-	  Adding thanks/credits for unnamed users who contribute to the
-	  project.
+	* CREDITS: Adding thanks/credits for unnamed users who contribute to
+	the project.
 
-2002-10-03 08:30  castaglia
+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).
+	* 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 13:49  castaglia
+2002-10-02  castaglia <castaglia>
 
-	* NEWS, src/netio.c:
-	  Bug#1757 - non-ANSI Syntax in netio.c
+	* NEWS, src/netio.c: Bug#1757 - non-ANSI Syntax in netio.c
 
-2002-10-02 13:35  castaglia
+2002-10-02  castaglia <castaglia>
 
-	* include/version.h:
-	  Updating the version, preparing for the next CVS/release.
+	* include/version.h: Updating the version, preparing for the next
+	CVS/release.
 
-2002-10-02 11:13  castaglia
+2002-10-02  castaglia <castaglia>
 
-	* modules/mod_site.c:
-	  Fixing support for 'HELP SITE' (common) in addition to 'SITE
-	  HELP' (proper).
+	* modules/mod_site.c: Fixing support for 'HELP SITE' (common) in
+	addition to 'SITE HELP' (proper).
 
-2002-10-02 09:18  castaglia
+2002-10-02  castaglia <castaglia>
 
-	* src/main.c:
-	  Cleaning up a badly-written preprocessor directive (my fault).
+	* src/main.c: Cleaning up a badly-written preprocessor directive (my
+	fault).
 
-2002-10-02 08:19  castaglia
+2002-10-02  castaglia <castaglia>
 
-	* utils/scoreboard.c:
-	  Prevent egregious ENOENT error when reading the scoreboard.
+	* utils/scoreboard.c: Prevent egregious ENOENT error when reading
+	the scoreboard.
 
-2002-10-01 11:59  castaglia
+2002-10-01  castaglia <castaglia>
 
-	* ChangeLog, NEWS, include/version.h:
-	  Preparing for release of 1.2.7rc1.
+	* ChangeLog, NEWS, include/version.h: Preparing for release of
+	1.2.7rc1.
 
-2002-10-01 09:23  castaglia
+2002-10-01  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Minor wording correction for default MaxClientsPerUser message.
+	* modules/mod_auth.c: Minor wording correction for default
+	MaxClientsPerUser message.
 
-2002-10-01 09:19  castaglia
+2002-10-01  castaglia <castaglia>
 
-	* NEWS, modules/mod_auth.c:
-	  Bug#1675 - add new MaxClientsPerUser configuration option.  Works
-	  just like	       MaxHostsPerUser.
+	* NEWS, modules/mod_auth.c: Bug#1675 - add new MaxClientsPerUser
+	           configuration option.  Works just like MaxHostsPerUser.
 
-2002-10-01 08:50  jwm
+2002-10-01  jwm <jwm>
 
 	* configure: updated configure
 
-2002-10-01 08:43  jwm
+2002-10-01  jwm <jwm>
 
 	* configure.in: Fix for broken headers in OS X 10.1 Submitted by:
-	  Thomas Ganter <tganter at mac.com>
+	Thomas Ganter <tganter at mac.com>
 
-2002-09-30 13:57  castaglia
+2002-09-30  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#1694 - SQLLog QUIT doesn't execute on connection close.
+	* 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.
 
-	  With the various changes to mod_sql (SQLNegativeCache, etc), I'm
-	  bumping its version to 4.10.
+2002-09-30  castaglia <castaglia>
 
-2002-09-30 13:52  castaglia
+	* NEWS: Forgot to note that Bug#1748 had been fixed.
 
-	* NEWS:
-	  Forgot to note that Bug#1748 had been fixed.
-
-2002-09-30 08:56  castaglia
+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-27 19:04  castaglia
-
-	* modules/mod_site.c:
-	  Helps if I put the full code from the fix in CVS, doesn't it?
-
-2002-09-27 19:01  castaglia
+	modules/mod_site.c, src/main.c: Bug#1475 - Minor changes to SITE
+	command handling.
 
-	* include/privs.h, modules/mod_site.c:
-	  Casting and variable type fun (based on compiler complaints).
+2002-09-28  castaglia <castaglia>
 
-2002-09-27 18:42  castaglia
+	* modules/mod_site.c: Helps if I put the full code from the fix in
+	CVS, doesn't it?
 
-	* modules/mod_pam.c:
-	  Confirmed -- it's a Solaris-specific thing.  Fixed to (hopefully)
-	  not generate error messages when working with Linux/FreeBSD' PAM
-	  libraries.
+2002-09-28  castaglia <castaglia>
 
-2002-09-27 18:13  castaglia
+	* include/privs.h, modules/mod_site.c: Casting and variable type fun
+	(based on compiler complaints).
 
-	* modules/mod_pam.c:
-	  Seems there's a slight discrepancy between the Solaris and Linux
-	  PAM implementations with regard to the order of calling
-	  pam_end().  I don't know about FreeBSD PAM yet, though; don't
-	  have root privs on a FreeBSD box to verify.
+2002-09-28  castaglia <castaglia>
 
-2002-09-27 17:28  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.
 
-	* 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>
 
-2002-09-27 13:58  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().
 
-	* NEWS, modules/mod_pam.c:
-	  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>
 
-2002-09-27 13:51  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.
 
-	* 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>
 
-2002-09-27 13:17  castaglia
+	* src/scoreboard.c: Try to handle cases where NULLs might be
+	(inappropriately) sent to pr_scoreboard_update_entry().
 
-	* src/scoreboard.c:
-	  Try to handle cases where NULLs might be (inappropriately) sent
-	  to pr_scoreboard_update_entry().
+2002-09-27  castaglia <castaglia>
 
-2002-09-27 13:01  castaglia
+	* utils/ftptop.c, utils/utils.h: Make sure that the utils compile on
+	platforms that don't have <getopt.h>
 
-	* utils/: ftptop.c, utils.h:
-	  Make sure that the utils compile on platforms that don't have
-	  <getopt.h>
-
-2002-09-26 10:52  castaglia
+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 10:20  castaglia
-
-	* utils/ftptop.c:
-	  Removed an unused variable.
-
-2002-09-26 10:17  castaglia
+	utils/ftptop.c, utils/ftpwho.c, utils/utils.h: Adding display of
+	server (IP address/port) string to ftpwho (when -v is used).
 
-	* utils/utils.h:
-	  Keeping this in sync with include/scoreboard.h
+2002-09-26  castaglia <castaglia>
 
-2002-09-26 10:09  castaglia
+	* utils/ftptop.c: Removed an unused variable.
 
-	* src/main.c:
-	  Make clearing the scoreboard slot one of the first things that
-	  happens when a child exits.
+2002-09-26  castaglia <castaglia>
 
-2002-09-26 09:59  castaglia
+	* utils/utils.h: Keeping this in sync with include/scoreboard.h
 
-	* utils/ftpwho.c:
-	  Adjusting the spacing of ftpwho fields, trying to make the output
-	  prettier.
+2002-09-26  castaglia <castaglia>
 
-2002-09-26 09:47  castaglia
+	* src/main.c: Make clearing the scoreboard slot one of the first
+	things that happens when a child exits.
 
-	* 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>
 
-2002-09-25 18:11  castaglia
+	* utils/ftpwho.c: Adjusting the spacing of ftpwho fields, trying to
+	make the output prettier.
 
-	* NEWS, contrib/mod_radius.c, contrib/mod_radius.html:
-	  Bug#1687 - Add contrib module for RADIUS authentication,
-	  accounting
+2002-09-26  castaglia <castaglia>
 
-2002-09-25 18:05  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.
 
-	* 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.:
+2002-09-26  castaglia <castaglia>
 
-	      Port 21 # Some comment here
+	* NEWS, contrib/mod_radius.c: Bug#1687 - Add contrib module for
+	RADIUS authentication, accounting
 
-	  whereas before, that "# Some comment here" would be tokenized and
-	  treated as normal input into the configuration directive handler.
+2002-09-26  castaglia <castaglia>
 
-2002-09-25 17:36  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.
 
-	* NEWS, include/privs.h:
-	  Bug#1395 - Check return values in PRIVS calls
+2002-09-26  castaglia <castaglia>
 
-2002-09-25 17:04  castaglia
+	* NEWS, include/privs.h: Bug#1395 - Check return values in PRIVS
+	calls
 
-	* src/: ftpcount.1, ftpcount.c, ftpshut.8, ftpshut.c, ftpwho.1,
-	  ftpwho.c:
-	  Removing these files from src/, as they now appear under utils/
+2002-09-26  castaglia <castaglia>
 
-2002-09-25 17:01  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).
 
-	* 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>
 
-2002-09-25 16:56  castaglia
+	* configure: And the necessary delayed commit of the new configure
+	script, to match the configure.in tweaks.
 
-	* configure:
-	  And the necessary delayed commit of the new configure script, to
-	  match the configure.in tweaks.
+2002-09-25  castaglia <castaglia>
 
-2002-09-25 16:53  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.
 
-	* 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>
 
-2002-09-25 16:45  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.
 
-	* utils/: Makefile.in, ftpcount.1, ftpcount.c, ftpshut.8,
-	  ftpshut.c, ftptop.c, ftpwho.1, ftpwho.c, misc.c, scoreboard.c,
-	  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>
 
-2002-09-25 16:43  castaglia
+	* NEWS: Forgot to update the NEWS file for the scoreboard changes.
 
-	* NEWS:
-	  Forgot to update the NEWS file for the scoreboard changes.
-
-2002-09-25 16:43  castaglia
+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.
+	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-24 19:13  jwm
+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)
+	* modules/mod_xfer.c: * style * silence a compiler warning with a cast (the Cast Nazi yields
+	  ground: film at eleven)
 
-2002-09-24 19:11  jwm
+2002-09-25  jwm <jwm>
 
 	* src/sets.c: style
 
-2002-09-24 19:11  jwm
+2002-09-25  jwm <jwm>
 
-	* lib/: glibc-mkstemp.c, strsep.c, vsnprintf.c: * style * silence
-	  ranlib warnings if the host OS already has the appropriate
-	  functions
+	* 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 09:17  castaglia
+2002-09-23  castaglia <castaglia>
 
-	* src/main.c:
-	  Corrections in comments.
+	* src/main.c: Corrections in comments.
 
-2002-09-23 08:30  castaglia
+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.
+	* 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-20 19:12  jwm
+2002-09-21  jwm <jwm>
 
-	* README.LDAP:
-	  * update for 2.8.10 * postcard-ware
+	* README.LDAP: * update for 2.8.10 * postcard-ware
 
-2002-09-20 19:09  jwm
+2002-09-21  jwm <jwm>
 
-	* contrib/mod_ldap.c:
-	  mod_ldap is now postcard-ware
+	* contrib/mod_ldap.c: mod_ldap is now postcard-ware
 
-2002-09-19 12:26  castaglia
+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.
+	* 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 13:45  castaglia
+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).
+	* 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 13:50  jwm
+2002-09-15  jwm <jwm>
 
-	* Makefile.in, NEWS:
-	  Bug 1726 - Cygwin's Makefile inconsistency
+	* Makefile.in, NEWS: Bug 1726 - Cygwin's Makefile inconsistency
 
-2002-09-13 16:14  castaglia
+2002-09-13  castaglia <castaglia>
 
 	* Make.rules.in, NEWS, include/conf.h, include/inet.h,
-	  include/io.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/fs.c,
-	  src/ident.c, src/inet.c, src/io.c, src/main.c, src/netio.c:
-	  Adding the NetIO API.
+	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 15:59  castaglia
+2002-09-13  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#1736 - RETR does not handle an inappropriate REST
+	* NEWS, modules/mod_xfer.c: Bug#1736 - RETR does not handle an
+	inappropriate REST
 
-2002-09-13 15:51  castaglia
+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
+	src/dirtree.c: Bug#1737 - Enhance file hiding via regular
+	expressions
 
-2002-09-13 15:01  castaglia
+2002-09-13  castaglia <castaglia>
 
-	* contrib/mod_sql.c:
-	  Make this particular mod_sql log message a little less urgent.
+	* contrib/mod_sql.c: Make this particular mod_sql log message a
+	little less urgent.
 
-2002-09-13 14:35  castaglia
+2002-09-13  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Slight correction in the config context used for looking up any
-	  configured TimeoutSession.
+	* modules/mod_auth.c: Slight correction in the config context used
+	for looking up any configured TimeoutSession.
 
-2002-09-13 13:21  castaglia
+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 12:58  castaglia
-
-	* modules/mod_auth.c:
-	  When unable to chdir to a directory, when logging in, add
-	  reporting of errno.
-
-2002-09-13 12:33  castaglia
+	src/data.c, src/dirtree.c: Bug#1436 - Feature Enhancement: Timeouts
+	on a <Virtualhost> basis
 
-	* NEWS, include/proftpd.h, modules/mod_core.c, src/main.c:
-	  Bug#1658 - Separate session/daemon resource limit settings.
+2002-09-13  castaglia <castaglia>
 
-2002-09-13 07:30  jwm
+	* modules/mod_auth.c: When unable to chdir to a directory, when
+	logging in, add reporting of errno.
 
-	* configure:
-	  Updated configure from last configure.in commit
+2002-09-13  castaglia <castaglia>
 
-2002-09-12 18:19  jwm
+	* NEWS, include/proftpd.h, modules/mod_core.c, src/main.c: Bug#1658
+	- Separate session/daemon resource limit settings.
 
-	* configure.in:
-	  You can't explicitly include sys/sendfile.h when compiling with
-	  large file support.
+2002-09-13  jwm <jwm>
 
-	  Submitted by: Jan Kasprzak <kas at informatics.muni.cz>
-	  http://www.geocrawler.com/lists/3/SourceForge/9189/0/9566710/
+	* configure: Updated configure from last configure.in commit
 
-2002-09-12 18:10  jwm
+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*
+	* configure.in: You can't explicitly include sys/sendfile.h when
+	compiling with large file support.  Submitted by: Jan Kasprzak <kas at informatics.muni.cz>
+	http://www.geocrawler.com/lists/3/SourceForge/9189/0/9566710/
 
-	  Submitted by: Benjamin Schieder <bs1544 at bingo-ev.de>
-	  http://www.geocrawler.com/lists/3/SourceForge/9190/75/9539913/
+2002-09-13  jwm <jwm>
 
-2002-09-12 18:02  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 at bingo-ev.de>
+	http://www.geocrawler.com/lists/3/SourceForge/9190/75/9539913/
 
-	* contrib/dist/rpm/proftpd.spec.in:
-	  Documentation improvements
+2002-09-12  castaglia <castaglia>
 
-	  Submitted by: Magnus Stenman <stone at hkust.se>
-	  http://www.geocrawler.com/lists/3/SourceForge/9189/0/9564251/
+	* modules/mod_log.c: Missed a Boolean...
 
-2002-09-12 16:23  castaglia
+2002-09-12  castaglia <castaglia>
 
-	* modules/mod_log.c:
-	  Missed a Boolean...
+	* 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-12 16:20  castaglia
+2002-09-11  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.
+	* doc/mod_sample.c: Updating the code in the mod_sample.c file to
+	demonstrate things a little better.
 
-2002-09-11 11:59  castaglia
+2002-09-10  castaglia <castaglia>
 
-	* doc/mod_sample.c:
-	  Updating the code in the mod_sample.c file to demonstrate things
-	  a little better.
+	* modules/mod_xfer.c: Helps if uploads/downloads actually
+	work...oops. =P
 
-2002-09-10 16:26  castaglia
+2002-09-10  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  Helps if uploads/downloads actually work...oops. =P
+	* NEWS, modules/mod_xfer.c: Bug#1065 - Added MaxRetrieveFileSize,
+	MaxStoreFileSize directives.
 
-2002-09-10 12:36  castaglia
+2002-09-10  castaglia <castaglia>
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#1065 - Added MaxRetrieveFileSize, MaxStoreFileSize
-	  directives.
+	* 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 11:50  castaglia
+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.
+	* src/main.c: Removed an unused variable.
 
-2002-09-10 10:26  castaglia
+2002-09-10  jwm <jwm>
 
-	* src/main.c:
-	  Removed an unused variable.
+	* modules/mod_xfer.c: fixup
 
-2002-09-10 09:29  castaglia
+2002-09-10  castaglia <castaglia>
 
-	* src/fs.c:
-	  No need for this cast (I don't think...).
+	* 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 09:07  jwm
+2002-09-10  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  fixup
+	* 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 09:01  castaglia
+2002-09-10  jwm <jwm>
 
-	* NEWS, include/fs.h, include/io.h, modules/mod_core.c,
-	  modules/mod_ls.c, src/data.c, src/fs.c, src/io.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 =).
+	* modules/mod_xfer.c: minor format-type fixups
 
-2002-09-10 08:06  castaglia
+2002-09-09  jwm <jwm>
 
-	* NEWS, include/conf.h, src/fs.c:
-	  Bug#1662 - #define _GNU_SOURCE, which will quell some compiler
-	  warnings	      (e.g. the crypt() warning when using
-	  mod_sql).
+	* src/main.c: style
 
-2002-09-10 04:35  jwm
+2002-09-09  castaglia <castaglia>
 
-	* modules/mod_xfer.c:
-	  minor format-type fixups
+	* src/main.c: No comment.
 
-2002-09-09 16:05  jwm
+2002-09-09  castaglia <castaglia>
 
-	* src/main.c:
-	  style
+	* src/main.c: Spoke too soon. =P
 
-2002-09-09 15:43  castaglia
+2002-09-09  castaglia <castaglia>
 
-	* src/main.c:
-	  No comment.
+	* 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 15:35  castaglia
+2002-09-09  uid43859 <uid43859>
 
-	* src/main.c:
-	  Spoke too soon. =P
+	* lib/pr-syslog.c: Solaris doesn't have the macro LOG_PRI()
 
-2002-09-09 15:33  castaglia
+2002-09-09  uid43859 <uid43859>
 
-	* src/main.c:
-	  Don't forget to append the "proftpd: " prefix for
-	  non-setproctitle(2) platforms.  Hopefully this ends our fun with
-	  Bug#1649.
+	* src/main.c: fixed & cleaned up #defines
 
-2002-09-09 13:03  uid43859
+2002-09-09  jwm <jwm>
 
-	* lib/pr-syslog.c:
-	  Solaris doesn't have the macro LOG_PRI()
+	* src/main.c: Fixing the fix for Bug#1649 - the #ifdefs didn't
+	actually change anything
 
-2002-09-09 13:01  uid43859
+2002-09-07  castaglia <castaglia>
 
-	* src/main.c:
-	  fixed & cleaned up #defines
+	* lib/pr-syslog.c: Forgot to bracket use of __progname in #ifdefs,
+	as not every platform's libc supports __progname.
 
-2002-09-09 07:40  jwm
+2002-09-07  castaglia <castaglia>
 
-	* src/main.c:
-	  Fixing the fix for Bug#1649 - the #ifdefs didn't actually change
-	  anything
+	* src/main.c: Need to match datatypes for the unixpw_persistent
+	variable in main.c and mod_unixpw.c
 
-2002-09-07 12:08  castaglia
+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.
+	* NEWS: Oops.  Wrong bug number.
 
-2002-09-07 12:02  castaglia
+2002-09-07  castaglia <castaglia>
 
-	* src/main.c:
-	  Need to match datatypes for the unixpw_persistent variable in
-	  main.c and mod_unixpw.c
+	* modules/mod_core.c: Oops.  Forgot to cleanup my debugging/logging.
 
-2002-09-07 10:37  castaglia
+2002-09-06  castaglia <castaglia>
 
-	* NEWS:
-	  Oops.  Wrong bug number.
+	* 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 17:25  castaglia
+2002-09-06  castaglia <castaglia>
 
-	* modules/mod_core.c:
-	  Oops.  Forgot to cleanup my debugging/logging.
+	* 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 11:51  castaglia
+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.
+	* 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 11:05  castaglia
+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.
+	* 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 09:13  castaglia
+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.
+	* NEWS, modules/mod_core.c, modules/mod_site.c: Bug#1663 - Add SITE
+	CHGRP command
 
-2002-09-06 08:18  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-05 18:06  castaglia
-
-	* NEWS, modules/mod_core.c, modules/mod_site.c:
-	  Bug#1663 - Add SITE CHGRP command
-
-2002-09-05 17:59  castaglia
+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).
+	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-05 17:42  castaglia
+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.
+	* 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-05 17:38  castaglia
+2002-09-06  castaglia <castaglia>
 
-	* contrib/: mod_sql.c, mod_sql.h, mod_sql_mysql.c,
-	  mod_sql_postgres.c:
-	  Correcting the OpenSSL exemption clause to list the proper
-	  copyright holder for these files.
+	* 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 16:04  castaglia
+2002-09-05  castaglia <castaglia>
 
-	* NEWS, modules/mod_pam.c:
-	  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.
+	* 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 14:13  castaglia
+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.
+	* 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 13:09  castaglia
+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, src/utils.c:
-	  Bug#1682 - Use of chroot(2) and external libraries made necessary
-	  the		 implementing of an internal syslog client routine
-	  for use by		proftpd.
+	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 12:27  castaglia
+2002-09-04  castaglia <castaglia>
 
-	* Makefile.in, NEWS:
-	  Bug#1654 - Add DESTDIR in Makefile
+	* Makefile.in, NEWS: Bug#1654 - Add DESTDIR in Makefile
 
-2002-09-04 11:55  castaglia
+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:
+	* 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
 
-	  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 09:10  flyhmstr
+2002-09-04  flyhmstr <flyhmstr>
 
 	* doc/Configuration.html: ML: more fixme's gone
 
-2002-09-04 07:54  castaglia
+2002-09-04  castaglia <castaglia>
 
-	* ChangeLog, NEWS, include/version.h:
-	  Ramping up for the release of 1.2.6.
+	* ChangeLog, NEWS, include/version.h: Ramping up for the release of
+	1.2.6.
 
-2002-09-04 00:07  flyhmstr
+2002-09-04  flyhmstr <flyhmstr>
 
 	* doc/Configuration.html: ML: updated directive list
 
-2002-09-02 13:16  castaglia
-
-	* NEWS, src/io.c:
-	  Note version increment of mod_ldap; add processing of signals in
-	  the io_poll() loop.
+2002-09-02  castaglia <castaglia>
 
-2002-08-30 17:48  jwm
+	* NEWS: Note version increment of mod_ldap; add processing of
+	signals in the io_poll() loop.
 
-	* contrib/mod_ratio.c:
-	  openssl exemption
+2002-08-31  jwm <jwm>
 
-2002-08-30 17:45  jwm
+	* contrib/mod_ratio.c: openssl exemption
 
-	* contrib/mod_ldap.c:
-	  2.8.10 - replacement for ldap_build_filter()
+2002-08-31  jwm <jwm>
 
-2002-08-30 17:08  jwm
+	* contrib/mod_ldap.c: 2.8.10 - replacement for ldap_build_filter()
 
-	* 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>
 
-2002-08-30 17:06  jwm
+	* src/main.c: would someone please give me an elementary lesson in
+	checking what exactly i'm committing before committing it?
 
-	* src/: main.c, pool.c:
-	  style, removing cruft
+2002-08-31  jwm <jwm>
 
-2002-08-29 16:25  castaglia
+	* src/main.c, src/pool.c: style, removing cruft
 
-	* contrib/mod_readme.c:
-	  Added OpenSSL exemption clause to this contrib module's license.
+2002-08-29  castaglia <castaglia>
 
-2002-08-28 09:00  castaglia
+	* contrib/mod_readme.c: Added OpenSSL exemption clause to this
+	contrib module's license.
 
-	* NEWS, src/dirtree.c:
-	  Fixed bug introduced by bad use of inet_ntoa(3) in fix for
-	  Bug#1701.
+2002-08-28  castaglia <castaglia>
 
-2002-08-24 08:18  jwm
+	* NEWS, src/dirtree.c: Fixed bug introduced by bad use of
+	inet_ntoa(3) in fix for Bug#1701.
 
-	* contrib/dist/rpm/proftpd.spec.in:
-	  bloody fscking stupid thing...
+2002-08-24  jwm <jwm>
 
-2002-08-24 08:15  jwm
+	* contrib/mod_ldap.c: * openssl exemption * version bump to 2.8.9
 
-	* contrib/: mod_ldap.c, dist/rpm/proftpd.spec.in:
-	  * openssl exemption * version bump to 2.8.9
+2002-08-19  jwm <jwm>
 
-2002-08-18 18:38  jwm
+	* doc/Configuration.sgml: adding the sgml version of the directive
+	docs
 
-	* doc/Configuration.sgml:
-	  adding the sgml version of the directive docs
+2002-08-15  castaglia <castaglia>
 
-2002-08-15 08:02  castaglia
+	* ChangeLog, NEWS, include/version.h: Preparing to release 1.2.6rc2
 
-	* ChangeLog, NEWS, include/version.h:
-	  Preparing to release 1.2.6rc2
+2002-08-15  castaglia <castaglia>
 
-2002-08-15 07:45  castaglia
+	* NEWS, src/dirtree.c: Bug#1701 - Reverse lookups not working
 
-	* NEWS, src/dirtree.c:
-	  Bug#1701 - Reverse lookups not working
+2002-08-14  castaglia <castaglia>
 
-2002-08-14 09:25  castaglia
+	* modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c: Updating
+	copyright notices.
 
-	* modules/: mod_log.c, mod_ls.c, mod_site.c, mod_unixpw.c:
-	  Updating copyright notices.
-
-2002-08-14 09:17  castaglia
+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/io.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-14 08:14  jwm
+	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
 
-	* contrib/dist/rpm/proftpd.spec.in:
-	  Packager: update
+2002-08-13  castaglia <castaglia>
 
-2002-08-14 08:10  jwm
+	* src/log.c: Added minor, but necessary check when reading the
+	scoreboard header on AIX platforms.  Portability is a PITA.
 
-	* contrib/dist/rpm/proftpd.spec.in:
-	  Added removal of build leftover directory in %clean.	Submitted
-	  by: Christian Pelealu <kurisu at mweb.co.id>
+2002-08-12  castaglia <castaglia>
 
-2002-08-13 15:52  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
 
-	* src/log.c:
-	  Added minor, but necessary check when reading the scoreboard
-	  header on AIX platforms.  Portability is a PITA.
+2002-08-05  castaglia <castaglia>
 
-2002-08-12 10:30  castaglia
+	* config.sub: Added case to handle ELF NetBSD on a shark.
 
-	* 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-01  castaglia <castaglia>
 
-2002-08-05 10:06  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]).
 
-	* config.sub:
-	  Added case to handle ELF NetBSD on a shark.
+2002-08-01  castaglia <castaglia>
 
-2002-08-01 16:13  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).
 
-	* 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-07-26  castaglia <castaglia>
 
-2002-08-01 15:11  castaglia
+	* src/main.c: Minor cleanup from previous commit.
 
-	* modules/mod_unixpw.c:
-	  AIX portability/broken-ness changes.
+2002-07-26  castaglia <castaglia>
 
-2002-08-01 15:08  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.
 
-	* 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-25  jwm <jwm>
 
-2002-07-26 10:08  castaglia
+	* include/regexp.h: typo/style
 
-	* src/main.c:
-	  Minor cleanup from previous commit.
-
-2002-07-26 10:02  castaglia
-
-	* src/: dirtree.c, main.c, 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 08:21  jwm
-
-	* include/regexp.h:
-	  typo/style
-
-2002-07-24 15:20  castaglia
+2002-07-24  castaglia <castaglia>
 
 	* Make.rules.in, NEWS, include/conf.h, include/pool.h,
-	  modules/mod_core.c, src/inet.c, src/main.c, src/pool.c,
-	  include/regexp.h, src/regexp.c:
-	  Bug#1697 - Memory leak involving regexp and SIGHUP
-
-2002-07-22 16:18  castaglia
+	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
 
-	* modules/: mod_auth.c, mod_core.c:
-	  Oops.  Realized that DeferWelcome should've stayed in mod_core.
+2002-07-22  castaglia <castaglia>
 
-2002-07-22 15:17  castaglia
+	* modules/mod_auth.c, modules/mod_core.c: Oops.  Realized that
+	DeferWelcome should've stayed in mod_core.
 
-	* modules/: mod_auth.c, mod_core.c, 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-22  castaglia <castaglia>
 
-2002-07-20 01:29  flyhmstr
+	* 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).
 
-	* contrib/UPGRADE.mod_sql: ML: updated mod_sql homepage url
+2002-07-19  castaglia <castaglia>
 
-2002-07-19 14:25  castaglia
+	* NEWS, lib/pwgrent.c: Bug#1674 - fgetbufline passes NULL pointer to
+	fgets()
 
-	* NEWS, lib/pwgrent.c:
-	  Bug#1674 - fgetbufline passes NULL pointer to fgets()
+2002-07-18  castaglia <castaglia>
 
-2002-07-18 16:01  castaglia
+	* modules/mod_core.c, src/main.c: Miscellaneous configuration
+	handler cleanup.
 
-	* modules/mod_core.c, modules/mod_pam.c, modules/mod_unixpw.c,
-	  src/main.c:
-	  Miscellaneous configuration handler cleanup.
+2002-07-15  castaglia <castaglia>
 
-2002-07-15 08:50  castaglia
+	* NEWS, modules/mod_xfer.c: Bug#1645 - HiddenStor should close file
+	before renaming
 
-	* NEWS, modules/mod_xfer.c:
-	  Bug#1645 - HiddenStor should close file before renaming
+2002-07-15  castaglia <castaglia>
 
-2002-07-15 08:39  castaglia
+	* NEWS, modules/mod_core.c, src/dirtree.c: Bug#1681 - Multiple
+	Include directives in a single file do not get parsed
 
-	* NEWS, modules/mod_core.c, src/dirtree.c:
-	  Bug#1681 - Multiple Include directives in a single file do not
-	  get parsed
-
-2002-07-09 15:20  castaglia
+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.
+	src/main.c, src/support.c, src/timers.c: Committed the latest patch
+	attached to Bug#1556.
 
-2002-07-02 17:30  jwm
+2002-07-03  jwm <jwm>
 
-	* configure:
-	  new configure
+	* configure: new configure
 
-2002-07-02 17:25  jwm
+2002-07-03  jwm <jwm>
 
-	* Makefile.in, README.cygwin, configure.in:
-	  attach 1428 to bug 1569 - cygwin EXEEXT fixups
+	* Makefile.in, README.cygwin, configure.in: attach 1428 to bug 1569
+	- cygwin EXEEXT fixups
 
-2002-07-02 11:25  castaglia
+2002-07-02  castaglia <castaglia>
 
-	* ChangeLog, NEWS, include/version.h:
-	  Preparing for release of 1.2.6rc1
+	* ChangeLog, NEWS, include/version.h: Preparing for release of
+	1.2.6rc1
 
-2002-07-02 10:01  castaglia
+2002-07-02  castaglia <castaglia>
 
-	* include/inet.h, include/io.h, include/options.h, src/data.c,
-	  src/inet.c, src/io.c:
-	  Fixing consequences of Bug#1502 and ABOR causing some clients to
-	  wait indefinitely.
+	* 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 11:28  castaglia
+2002-07-01  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#1543 - Usernames with spaces, problems to authenticate
+	* NEWS, contrib/mod_sql.c: Bug#1543 - Usernames with spaces,
+	problems to authenticate
 
-2002-07-01 11:18  castaglia
+2002-07-01  castaglia <castaglia>
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#1628 - group mods (DefaultRoot) only work for primary group
-	  w/mysql
+	* NEWS, contrib/mod_sql.c: Bug#1628 - group mods (DefaultRoot) only
+	work for primary group w/mysql
 
-2002-06-30 09:48  castaglia
+2002-06-30  castaglia <castaglia>
 
-	* src/inet.c:
-	  Fixed potential loop problem I inadvertently introduced in the
-	  previous check-in.  Oops.
+	* src/inet.c: Fixed potential loop problem I inadvertently
+	introduced in the previous check-in.  Oops.
 
-2002-06-28 11:43  castaglia
+2002-06-28  castaglia <castaglia>
 
 	* include/proftpd.h, modules/mod_xfer.c, src/data.c, src/inet.c,
-	  src/io.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-27 20:16  castaglia
+	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).
 
-	* contrib/mod_sql.c:
-	  Correctly check cmap.grpgidfield, rather than cmap.gidfield, when
-	  looking up groups by ID.  This was my fault.
+2002-06-28  castaglia <castaglia>
 
-2002-06-27 15:39  castaglia
+	* contrib/mod_sql.c: Correctly check cmap.grpgidfield, rather than
+	cmap.gidfield, when looking up groups by ID.  This was my fault.
 
-	* configure:
-	  Updated configure script
+2002-06-27  castaglia <castaglia>
 
-2002-06-27 15:36  castaglia
+	* configure: Updated configure script
 
-	* NEWS, config.h.in, configure.in, modules/mod_unixpw.c:
-	  Bug#1667 - Move USESHADOW, AUTOSHADOW defines from command line
-	  into config.h
+2002-06-27  castaglia <castaglia>
 
-2002-06-27 15:09  castaglia
+	* NEWS, config.h.in, configure.in: Bug#1667 - Move USESHADOW,
+	AUTOSHADOW defines from command line into config.h
 
-	* 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>
 
-2002-06-27 14:18  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.
 
-	* contrib/mod_sql.c:
-	  Removed extraneous parameters from logging calls (caught by
-	  __attribute__).
+2002-06-27  castaglia <castaglia>
 
-2002-06-27 12:27  castaglia
+	* contrib/mod_sql.c: Removed extraneous parameters from logging
+	calls (caught by __attribute__).
 
-	* NEWS, contrib/mod_quota.c:
-	  Removed mod_quota.c due to lack of maintainership, bugs.
+2002-06-27  castaglia <castaglia>
 
-2002-06-27 12:24  flyhmstr
+	* NEWS: Removed mod_quota.c due to lack of maintainership, bugs.
 
-	* doc/ShowUndocumented: ML: removing the showundocumented script as
-	  it's no longer useful in this repository
+2002-06-27  flyhmstr <flyhmstr>
 
-2002-06-27 12:23  flyhmstr
+	* doc/Configuration.html: ML:   Updated directive list
 
-	* doc/Configuration.html: ML:	Updated directive list
-
-2002-06-27 11:35  flyhmstr
+2002-06-27  flyhmstr <flyhmstr>
 
 	* modules/mod_core.c: ML: fixing minor typo :)
 
-2002-06-27 00:31  castaglia
+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-26 19:33  castaglia
+	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.
 
-	* NEWS, contrib/mod_sql.c:
-	  Bug#1664 - mod_sql segfaults on cache miss for bogus user.
+2002-06-27  castaglia <castaglia>
 
-2002-06-26 16:10  castaglia
+	* NEWS, contrib/mod_sql.c: Bug#1664 - mod_sql segfaults on cache
+	miss for bogus user.
 
-	* 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  castaglia <castaglia>
 
-2002-06-26 10:32  jwm
+	* 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.
 
-	* Makefile.in:
-	  #1569 - EXEEXT support
+2002-06-26  jwm <jwm>
 
-2002-06-25 19:54  castaglia
+	* Makefile.in: #1569 - EXEEXT support
 
-	* NEWS, include/inet.h, include/io.h, src/data.c, src/inet.c,
-	  src/io.c:
-	  Bug#1502 - 226 Transfer Complete sent out before data connection
-	  is closed
+2002-06-26  castaglia <castaglia>
 
-2002-06-25 14:58  castaglia
+	* NEWS, include/inet.h, src/data.c, src/inet.c: Bug#1502 - 226
+	Transfer Complete sent out before data connection is closed
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#1655 - Add -n listing option to mod_ls
+2002-06-25  castaglia <castaglia>
 
-2002-06-25 13:56  castaglia
+	* NEWS, modules/mod_ls.c: Bug#1655 - Add -n listing option to mod_ls
 
-	* 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>
 
-2002-06-25 13:42  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.
 
-	* src/: main.c, support.c:
-	  Put proper #ifdefs around things to avoid some compiler warnings.
+2002-06-25  castaglia <castaglia>
 
-2002-06-25 10:56  castaglia
+	* src/main.c, src/support.c: Put proper #ifdefs around things to
+	avoid some compiler warnings.
 
-	* config.h.in:
-	  Added lines for endprotoent, setgroups, setprotoent detection
-	  performed by autoconf, removed duplicate HAVE_SETPROCTITLE line.
+2002-06-25  castaglia <castaglia>
 
-2002-06-25 10:35  castaglia
+	* config.h.in: Added lines for endprotoent, setgroups, setprotoent
+	detection performed by autoconf, removed duplicate HAVE_SETPROCTITLE
+	line.
 
-	* 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>
 
-2002-06-25 10:17  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?).
 
-	* contrib/mod_sql.c:
-	  Added LFS-specific format macro, fixed NULL/'\0' comparison (was
-	  causing a compiler warning).
+2002-06-25  castaglia <castaglia>
 
-2002-06-25 09:52  castaglia
+	* contrib/mod_sql.c: Added LFS-specific format macro, fixed
+	NULL/'\0' comparison (was causing a compiler warning).
 
-	* modules/mod_xfer.c:
-	  One more minor LFS-related modification.
+2002-06-25  castaglia <castaglia>
 
-2002-06-25 09:37  castaglia
+	* modules/mod_xfer.c: One more minor LFS-related modification.
 
-	* src/auth.c:
-	  Fixed minor indentation/spacing.
+2002-06-25  castaglia <castaglia>
 
-2002-06-24 21:27  jwm
+	* src/auth.c: Fixed minor indentation/spacing.
 
-	* contrib/mod_ldap.c:
-	  #1659 - LDAP config handlers should use c->pool instead of
-	  permanent_pool
+2002-06-25  jwm <jwm>
 
-2002-06-24 17:38  castaglia
+	* contrib/mod_ldap.c: #1659 - LDAP config handlers should use
+	c->pool instead of permanent_pool
 
-	* modules/mod_unixpw.c:
-	  Fixed compiler warning on FreeBSD concerning return value of the
-	  setgrent(3) function.
+2002-06-24  castaglia <castaglia>
 
-2002-06-24 16:24  castaglia
+	* modules/mod_auth.c, modules/mod_core.c: Changed use of
+	permanent_pool to c->pool in configuration handlers where
+	appropriate.
 
-	* modules/: mod_auth.c, mod_core.c:
-	  Changed use of permanent_pool to c->pool in configuration
-	  handlers where appropriate.
+2002-06-24  castaglia <castaglia>
 
-2002-06-24 08:23  castaglia
+	* modules/mod_ls.c: Forgot to remove the ShowDotFiles configuration
+	handler function.
 
-	* modules/mod_ls.c:
-	  Forgot to remove the ShowDotFiles configuration handler function.
+2002-06-24  castaglia <castaglia>
 
-2002-06-24 08:19  castaglia
+	* NEWS, modules/mod_ls.c, modules/mod_site.c: Removed the deprecated
+	AllowChmod and ShowDotFiles directives.
 
-	* NEWS, modules/mod_ls.c, modules/mod_site.c:
-	  Removed the deprecated AllowChmod and ShowDotFiles directives.
+2002-06-23  castaglia <castaglia>
 
-2002-06-23 15:14  castaglia
+	* NEWS, include/dirtree.h, src/dirtree.c: Bug#1171 - Add ability to
+	handle backslash-escaped lines in configuration file
 
-	* NEWS, include/dirtree.h, src/dirtree.c:
-	  Bug#1171 - Add ability to handle backslash-escaped lines in
-	  configuration file
+2002-06-23  jwm <jwm>
 
-2002-06-23 15:12  jwm
+	* NEWS: where the hell did I get 1304? this is #1569...
 
-	* NEWS:
-	  where the hell did I get 1304? this is #1569...
+2002-06-23  jwm <jwm>
 
-2002-06-23 15:10  jwm
+	* NEWS: updates
 
-	* NEWS:
-	  updates
+2002-06-23  castaglia <castaglia>
 
-2002-06-23 14:56  castaglia
+	* NEWS: Noting addition/work on Cygwin stuff.
 
-	* NEWS:
-	  Noting addition/work on Cygwin stuff.
+2002-06-23  castaglia <castaglia>
 
-2002-06-23 12:09  castaglia
+	* README.cygwin: Minor spelling correction.
 
-	* README.cygwin:
-	  Minor spelling correction.
+2002-06-23  jwm <jwm>
 
-2002-06-23 12:07  jwm
+	* configure: updated configure for #1304 - Cygwin support
 
-	* configure:
-	  updated configure for #1304 - Cygwin support
+2002-06-23  jwm <jwm>
 
-2002-06-23 12:06  jwm
+	* README.cygwin: #1304 - README.cygwin Thanks to Stanislav Sinyagin
+	<ssinyagin at yahoo.com>
 
-	* README.cygwin:
-	  #1304 - README.cygwin Thanks to Stanislav Sinyagin
-	  <ssinyagin at yahoo.com>
-
-2002-06-23 12:03  castaglia
+2002-06-23  castaglia <castaglia>
 
 	* include/conf.h, include/data.h, include/default_paths.h,
-	  include/dirtree.h, include/fs.h, include/ident.h, include/inet.h,
-	  include/io.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/fs.c, src/ftpcount.c, src/ftpshut.c,
-	  src/ftpwho.c, src/ident.c, src/inet.c, src/io.c, src/log.c,
-	  src/main.c, src/modules.c, src/pool.c, src/sets.c, src/support.c,
-	  src/timers.c, src/utils.c:
-	  Updated copyrights.
-
-2002-06-23 11:56  jwm
+	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.
 
-	* src/log.c, configure.in, src/inet.c, src/auth.c:
-	  cleaned up versions of #1304 - Cygwin support
+2002-06-23  jwm <jwm>
 
-2002-06-22 13:17  jwm
+	* configure.in, src/auth.c, src/inet.c, src/log.c: cleaned up
+	versions of #1304 - Cygwin support
 
-	* modules/mod_xfer.c:
-	  minor LFS fix
+2002-06-22  jwm <jwm>
 
-2002-06-22 11:13  jwm
+	* modules/mod_xfer.c: minor LFS fix
 
-	* 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  jwm <jwm>
 
-2002-06-22 00:02  castaglia
+	* 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
 
-	* src/: ftpcount.1, ftpshut.8, ftpwho.1, proftpd.8:
-	  Minor corrections to man pages.
-
-2002-06-21 18:06  castaglia
+2002-06-22  castaglia <castaglia>
 
 	* NEWS, lib/Makefile.in, lib/glibc-glob.c, src/data.c,
-	  src/dirtree.c, src/ftpcount.c, src/io.c, src/log.c, src/main.c,
-	  src/pool.c, src/timers.c:
-	  Bug#1650 - Code cleanup
+	src/dirtree.c, src/log.c, src/main.c, src/pool.c, src/timers.c: 
+	Bug#1650 - Code cleanup
 
-2002-06-21 17:54  castaglia
+2002-06-22  castaglia <castaglia>
 
-	* modules/mod_auth.c:
-	  Fixed bad patching of the new TimeoutSession code.
+	* modules/mod_auth.c: Fixed bad patching of the new TimeoutSession
+	code.
 
-2002-06-21 17:47  castaglia
+2002-06-22  castaglia <castaglia>
 
-	* NEWS, include/proftpd.h, modules/mod_auth.c:
-	  Bug#1306 - Add timeout for entire session
+	* NEWS, include/proftpd.h, modules/mod_auth.c: Bug#1306 - Add
+	timeout for entire session
 
-2002-06-21 17:24  castaglia
+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 12:36  castaglia
+	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.
 
-	* modules/mod_core.c:
-	  Fixed instance of pstrcat() call that did not properly have NULL
-	  as the last argument.
+2002-06-21  castaglia <castaglia>
 
-2002-06-21 11:54  castaglia
+	* modules/mod_core.c: Fixed instance of pstrcat() call that did not
+	properly have NULL as the last argument.
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#1650 - LsDefaultOptions doesn't work inside anon context
+2002-06-21  castaglia <castaglia>
 
-2002-06-20 17:40  castaglia
+	* NEWS, modules/mod_ls.c: Bug#1650 - LsDefaultOptions doesn't work
+	inside anon context
 
-	* NEWS, modules/mod_ls.c:
-	  Bug#1647 - Unnecessary use of umode_t in mod_ls
+2002-06-21  castaglia <castaglia>
 
-2002-06-14 09:41  jwm
+	* NEWS, modules/mod_ls.c: Bug#1647 - Unnecessary use of umode_t in
+	mod_ls
 
-	* Makefile.in:
-	  these symlinks aren't needed
+2002-06-14  jwm <jwm>
 
-2002-06-14 09:36  jwm
+	* Makefile.in: these symlinks aren't needed
 
-	* contrib/mod_ldap.c:
-	  LDAPHomedirOnDemand cleanup/fixes
+2002-06-14  jwm <jwm>
 
-2002-06-14 09:19  castaglia
+	* contrib/mod_ldap.c: LDAPHomedirOnDemand cleanup/fixes
 
-	* Makefile.in:
-	  Added .cvsignore files to the list of files cleaned up by 'make
-	  distclean'
+2002-06-14  castaglia <castaglia>
 
-2002-06-14 08:55  jwm
+	* Makefile.in: Added .cvsignore files to the list of files cleaned
+	up by 'make distclean'
 
-	* doc/: API, development.notes:
-	  removing old cruft
+2002-06-12  castaglia <castaglia>
 
-2002-06-12 12:11  castaglia
+	* modules/mod_ls.c: Corrected spacing
 
-	* modules/mod_ls.c:
-	  Corrected spacing
+2002-06-11  castaglia <castaglia>
 
-2002-06-11 10:13  castaglia
+	* configure: Updated configure script for LFS support detection.
 
-	* configure:
-	  Updated configure script for LFS support detection.
-
-2002-06-11 10:09  castaglia
+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
+	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 09:19  castaglia
+2002-06-11  castaglia <castaglia>
 
-	* configure:
-	  Updated configure script
+	* configure: Updated configure script
 
-2002-06-11 09:18  castaglia
+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
+	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 08:34  castaglia
+2002-06-11  castaglia <castaglia>
 
-	* NEWS, src/auth.c:
-	  Bug#1463 - Add auth handler dispatch reporting at new debug level
-	  (level 6)
+	* NEWS, src/auth.c: Bug#1463 - Add auth handler dispatch reporting
+	at new debug level (level 6)
 
-2002-06-11 07:54  castaglia
+2002-06-11  castaglia <castaglia>
 
-	* src/main.c:
-	  Removed relic function prototype (not needed).
+	* src/main.c: Removed relic function prototype (not needed).
 
-2002-06-11 07:49  castaglia
+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
+	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 07:36  castaglia
+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, src/proftpd.8:
-	  Added Define, <IfDefine>, <IfModule> configuration directives, -D
-	  command-line option
-
-2002-06-11 07:30  castaglia
+	src/dirtree.c, src/main.c, src/modules.c: Added Define, <IfDefine>,
+	<IfModule> configuration directives, -D command-line option
 
-	* NEWS, include/version.h, modules/mod_xfer.c, src/data.c:
+2002-06-11  castaglia <castaglia>
 
-	  Bug#1407 - ftp protocol differences
+	* NEWS, include/version.h, modules/mod_xfer.c, src/data.c: Bug#1407
+	- ftp protocol differences
 
-2002-06-08 19:55  castaglia
+2002-06-09  castaglia <castaglia>
 
 	* NEWS: Fixed version number.  Sheesh.
 
-2002-06-08 19:40  castaglia
+2002-06-09  castaglia <castaglia>
 
-	* ChangeLog:
-	  Updated ChangeLog
+	* ChangeLog: Updated ChangeLog
 
-2002-06-08 19:38  castaglia
+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 09:14  castaglia
-
-	* NEWS, contrib/mod_sql.c:
-
-	  Added the mod_sql-4.08 from Andrew's site
-
-2002-05-30 14:09  castaglia
-
-	* NEWS:
+	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).
 
-	  Updated NEWS
+2002-06-06  castaglia <castaglia>
 
-2002-05-30 13:13  castaglia
+	* NEWS, contrib/mod_sql.c: Added the mod_sql-4.08 from Andrew's site
 
-	* include/version.h:
+2002-05-30  castaglia <castaglia>
 
-	  Damn, I forgot to update this file.
+	* NEWS: Updated NEWS
 
-2002-05-30 13:07  castaglia
+2002-05-30  castaglia <castaglia>
 
-	* ChangeLog:
+	* include/version.h: Damn, I forgot to update this file.
 
-	  Updating ChangeLog
+2002-05-30  castaglia <castaglia>
 
-2002-05-30 09:22  castaglia
+	* ChangeLog: Updating ChangeLog
 
-	* NEWS, contrib/xferstats.holger-preiss:
+2002-05-30  castaglia <castaglia>
 
-	  Bug#1394: ftpstats program is not working, cust says "There was
-	  no data to	       process."
+	* NEWS, contrib/xferstats.holger-preiss: Bug#1394: ftpstats program
+	          is not working, cust says "There was no data to process."
 
-2002-05-30 09:06  jwm
+2002-05-30  jwm <jwm>
 
-	* contrib/mod_ldap.c:
-	  a few memory management fixes
+	* contrib/mod_ldap.c: a few memory management fixes
 
-2002-05-28 18:09  jwm
+2002-05-29  jwm <jwm>
 
-	* doc/rfc/: draft-ietf-ftpext-mlst-12.txt,
-	  draft-ietf-ftpext-mlst-15.txt:
-	  new version of mlst draft. the changes don't appear to change
-	  anything we currently implement.
+	* 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-26 19:31  jwm
+2002-05-27  jwm <jwm>
 
-	* contrib/: README.ratio, mod_ratio.c:
-	  new mod_ratio from James Dogopoulos
+	* contrib/README.ratio, contrib/mod_ratio.c: new mod_ratio from
+	James Dogopoulos
 
-2002-05-22 10:08  flyhmstr
+2002-05-22  flyhmstr <flyhmstr>
 
 	* doc/Configuration.html: ML: replacing the directive guide
 
-2002-05-21 13:47  castaglia
+2002-05-21  castaglia <castaglia>
 
 	* NEWS, contrib/mod_readme.c, include/data.h, include/dirtree.h,
-	  include/fs.h, include/ident.h, include/inet.h, include/io.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_pam.c, modules/mod_site.c,
-	  modules/mod_unixpw.c, modules/mod_xfer.c, src/data.c,
-	  src/dirtree.c, src/fs.c, src/inet.c, src/io.c, src/log.c,
-	  src/main.c, src/modules.c, src/pool.c, src/support.c,
-	  src/timers.c, src/utils.c:
-
-	  Bug#1379 - Replace bzero/bcopy with memset/memcpy Bug#1521 -
-	  Function prototype cleanup
-
-2002-05-21 11:59  castaglia
-
-	* NEWS, src/timers.c:
-
-	  Bug#1627 - Sessions not timing out
-
-2002-05-21 11:29  castaglia
-
-	* configure:
-
-	  TJ: updated configure script to match configure.in (necessary
-	  delay in     commits *sigh*)
-
-2002-05-21 11:26  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 13:50  castaglia
-
-	* NEWS, modules/mod_xfer.c:
-
-	  TJ: Bug#1595 - ProFTPD closes connection when accessed from Lynx
-	  browser
-
-2002-05-19 13:45  castaglia
-
-	* NEWS, include/proftpd.h, src/log.c, src/main.c:
-
-	  TJ: Bug#1612 - missing/broken ident logging
+	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-19 07:38  jwm
+2002-05-21  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec.in:
-	  oops, that wasn't ready for commit yet. reverting to 1.12.
+	* NEWS, src/timers.c: Bug#1627 - Sessions not timing out
 
-2002-05-19 07:35  jwm
+2002-05-21  castaglia <castaglia>
 
-	* Makefile.in, contrib/mod_ldap.c,
-	  contrib/dist/rpm/proftpd.spec.in:
-	  #1626 - install_user is not used everywhere
+	* configure: TJ: updated configure script to match configure.in
+	    (necessary delay in commits *sigh*)
 
-2002-05-18 08:06  jwm
+2002-05-21  castaglia <castaglia>
 
-	* contrib/dist/rpm/ftp.pamd:
-	  language cleanup/clarification
+	* 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-18 07:59  jwm
+2002-05-19  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.init.d:
-	  cleanup
+	* NEWS, modules/mod_xfer.c: TJ: Bug#1595 - ProFTPD closes connection
+	when accessed from Lynx browser
 
-2002-05-18 07:48  jwm
+2002-05-19  castaglia <castaglia>
 
-	* contrib/dist/rpm/proftpd.spec.in:
-	  fixing a typo (' -> `)
+	* NEWS, include/proftpd.h, src/log.c, src/main.c: TJ: Bug#1612 -
+	missing/broken ident logging
 
-2002-05-15 05:55  jwm
+2002-05-19  jwm <jwm>
 
-	* contrib/mod_ldap.c:
-	  2.8.4: fix for segfaults when optional arguments are omitted from
-	  LDAPDoGIDLookups directive
+	* Makefile.in, contrib/mod_ldap.c: #1626 - install_user is not used
+	everywhere
 
-2002-05-13 07:07  castaglia
+2002-05-18  jwm <jwm>
 
-	* ChangeLog:
+	* contrib/dist/rpm/ftp.pamd: language cleanup/clarification
 
-	  TJ: latest ChangeLog
+2002-05-18  jwm <jwm>
 
-2002-05-13 07:05  castaglia
+	* contrib/dist/rpm/proftpd.init.d: cleanup
 
-	* NEWS, include/version.h:
+2002-05-15  jwm <jwm>
 
-	  TJ: updated NEWS, version.h with date of 1.2.5rc2 release
+	* contrib/mod_ldap.c: 2.8.4: fix for segfaults when optional
+	arguments are omitted from LDAPDoGIDLookups directive
 
-2002-05-12 22:16  castaglia
+2002-05-13  castaglia <castaglia>
 
-	* configure:
+	* ChangeLog: TJ: latest ChangeLog
 
-	  TJ: here's the new configure to go with the configure.in
+2002-05-13  castaglia <castaglia>
 
-2002-05-12 22:15  castaglia
+	* NEWS, include/version.h: TJ: updated NEWS, version.h with date of
+	1.2.5rc2 release
 
-	* configure.in:
+2002-05-13  castaglia <castaglia>
 
-	  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.
+	* configure: TJ: here's the new configure to go with the
+	configure.in
 
-2002-05-12 22:03  castaglia
+2002-05-13  castaglia <castaglia>
 
-	* configure.in:
+	* 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.
 
-	  TJ: updated configure.in's copyright information
+2002-05-13  castaglia <castaglia>
 
-2002-05-12 16:22  castaglia
+	* configure.in: TJ: updated configure.in's copyright information
 
-	* contrib/README.mod_wrap:
+2002-05-12  castaglia <castaglia>
 
-	  TJ: updated README for mod_wrap-1.2.3.
+	* contrib/README.mod_wrap: TJ: updated README for mod_wrap-1.2.3.
 
-2002-05-12 15:43  castaglia
+2002-05-12  castaglia <castaglia>
 
-	* CREDITS:
+	* CREDITS: TJ: updated PGP key fingerprint
 
-	  TJ: updated PGP key fingerprint
+2002-05-12  flyhmstr <flyhmstr>
 
-2002-05-12 14:02  flyhmstr
+	* doc/Configuration.html, doc/faq.html: ML: updated directive list
+	and FAQ for rc2
 
-	* doc/: Configuration.html, faq.html: ML: updated directive list
-	  and FAQ for rc2
+2002-05-12  castaglia <castaglia>
 
-2002-05-12 13:48  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).
 
-	* config.h.in, configure, configure.in, include/io.h,
-	  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 06:49  flyhmstr
+2002-05-11  flyhmstr <flyhmstr>
 
 	* doc/Configuration.html: ML: updated directive list
 
-2002-05-11 02:55  flyhmstr
+2002-05-11  flyhmstr <flyhmstr>
 
 	* CREDITS, NEWS: ML: updated NEWS and CREDITS
 
-2002-05-11 02:26  flyhmstr
+2002-05-11  flyhmstr <flyhmstr>
 
 	* NEWS: ML: news update
 
-2002-05-11 02:25  flyhmstr
+2002-05-11  flyhmstr <flyhmstr>
 
 	* doc/faq.html: ML: adding new format FAQ
 
-2002-05-10 13:14  castaglia
-
-	* NEWS:
-
-	  Bug#1580 - RPM can't be built by non-root user
+2002-05-10  castaglia <castaglia>
 
-2002-05-10 13:08  castaglia
+	* NEWS: Bug#1580 - RPM can't be built by non-root user
 
-	* contrib/dist/rpm/proftpd.spec.in:
-
-	  Bug#1580 - RPM can't be built by non-root user
-
-2002-05-10 10:59  flyhmstr
+2002-05-10  flyhmstr <flyhmstr>
 
 	* CREDITS, NEWS: ML: updated credits and news
 
-2002-05-10 10:53  castaglia
-
-	* NEWS, configure, configure.in:
-
-	  Bug#1546 - PF_ARGV_WRITABLE, PF_ARGV_WRITEABLE are used mixed.
+2002-05-10  castaglia <castaglia>
 
-2002-05-10 10:28  castaglia
+	* NEWS, configure, configure.in: Bug#1546 - PF_ARGV_WRITABLE,
+	PF_ARGV_WRITEABLE are used mixed.
 
-	* NEWS, modules/mod_core.c, src/dirtree.c:
+2002-05-10  castaglia <castaglia>
 
-	  Bug#1608 - src/dirtree.c produces two unnecessary warnings
-	  Bug#1610 - compiling mod_core.c gives an unneeded/dazzling msg
+	* 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 10:04  flyhmstr
+2002-05-10  flyhmstr <flyhmstr>
 
 	* NEWS: ML: updating NEWS
 
-2002-05-10 09:52  flyhmstr
+2002-05-10  flyhmstr <flyhmstr>
 
 	* include/ftp.h: ML: updating licence
 
-2002-05-10 09:50  flyhmstr
-
-	* doc/: Changes-1.2.0pre3, FAQ-config.html, Undocumented.txt,
-	  license.txt, 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 06:00  jwm
-
-	* NEWS:
-	  updating for mod_ldap 2.8.3 release
-
-2002-05-10 06:00  jwm
-
-	* ChangeLog:
-	  updating changelog
-
-2002-05-10 05:51  jwm
-
-	* contrib/mod_ldap.c:
-	  updating to 2.8.3
+2002-05-10  flyhmstr <flyhmstr>
 
-2002-05-10 05:49  jwm
+	* 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.
 
-	* README.LDAP:
-	  new mod_ldap README
+2002-05-10  jwm <jwm>
 
-2002-05-10 01:05  castaglia
+	* NEWS: updating for mod_ldap 2.8.3 release
 
-	* src/: ident.c, inet.c:
+2002-05-10  jwm <jwm>
 
-	  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.
+	* ChangeLog: updating changelog
 
-2002-05-09 15:59  castaglia
+2002-05-10  jwm <jwm>
 
-	* src/ident.c:
+	* contrib/mod_ldap.c: updating to 2.8.3
 
-	  TJ: cleaned up get_ident(), adding proper
-	  cleanup/resource-freeing code     at various exit points from the
-	  function
+2002-05-10  jwm <jwm>
 
-2002-05-09 14:29  castaglia
+	* README.LDAP: new mod_ldap README
 
-	* src/ident.c:
+2002-05-10  castaglia <castaglia>
 
-	  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
+	* 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 13:42  castaglia
+2002-05-09  castaglia <castaglia>
 
-	* src/main.c:
+	* src/ident.c: TJ: cleaned up get_ident(), adding proper
+	    cleanup/resource-freeing code at various exit points from the
+	function
 
-	  TJ: mistakenly changed default setting of IdentLookups to "off"
-	  with prior	 changes, setting default back to "on"
+2002-05-09  castaglia <castaglia>
 
-2002-05-09 13:15  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
 
-	* modules/mod_auth.c, modules/mod_core.c, src/main.c, src/timers.c:
+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"
 
-	  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>
 
-2002-05-09 10:42  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
 
-	* NEWS:
+2002-05-09  castaglia <castaglia>
 
-	  TJ: updated NEWS
+	* NEWS: TJ: updated NEWS
 
-2002-05-09 10:36  castaglia
+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,
-	  modules/mod_unixpw.c, src/dirtree.c, src/main.c:
+	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
 
-	  #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 13:55  flyhmstr
+2002-05-08  flyhmstr <flyhmstr>
 
 	* NEWS: ML: news update
 
-2002-05-08 13:51  flyhmstr
+2002-05-08  flyhmstr <flyhmstr>
 
 	* doc/Configuration.html: ML: adding new version of the directive
-	  list
-
-2002-05-08 13:50  flyhmstr
+	list
 
-	* doc/Configuration.html: ML: removing old version of directive
-	  list
+2002-05-08  flyhmstr <flyhmstr>
 
-2002-05-08 13:34  castaglia
+	* doc/Configuration.html: ML: removing old version of directive list
 
-	* ChangeLog:
+2002-05-08  castaglia <castaglia>
 
-	  Updated ChangeLog
-
-2002-05-08 12:44  castaglia
+	* ChangeLog: Updated ChangeLog
 
-	* NEWS:
+2002-05-08  castaglia <castaglia>
 
-	  TJ: added NEWS entries for recently committed patches for
-	  (fixed?) bug	   reports
+	* NEWS: TJ: added NEWS entries for recently committed patches for
+	    (fixed?) bug reports
 
-2002-05-08 12:21  castaglia
+2002-05-08  castaglia <castaglia>
 
 	* modules/mod_auth.c, src/dirtree.c, src/inet.c, src/main.c,
-	  src/pool.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
 
-	  #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 11:39  castaglia
+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)
+	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 08:56  flood
+2002-03-06  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2002-03-06 08:56  flood
+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
+	* 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-02-28 18:49  flood
+2002-03-01  flood <flood>
 
 	* src/log.c: possible sigsegv introduced by patch for bug 1520
 
-2002-02-28 11:43  flood
+2002-02-28  flood <flood>
 
 	* NEWS, src/dirtree.c: #1468 - segfault with empty .ftpaccess
 
-2002-02-28 11:32  flood
+2002-02-28  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2002-02-28 11:30  flood
+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, modules/mod_unixpw.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 11:13  flood
+	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
+	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 09:35  flood
+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/fs.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
+	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 08:50  flood
+2002-02-14  flood <flood>
 
-	* NEWS, contrib/ftpasswd, contrib/ftpasswd.html: added
-	  contrib/ftpasswd utility script (contributed by TJ)
+	* NEWS, contrib/ftpasswd: added contrib/ftpasswd utility script
+	(contributed by TJ)
 
-2002-02-14 08:39  flood
+2002-02-14  flood <flood>
 
 	* NEWS, contrib/INSTALL.mod_wrap, contrib/README.mod_wrap,
-	  contrib/genuser.pl, contrib/mod_wrap.c, contrib/mod_wrap.html:
-	  New mod_wrap (1.2.3) removed contrib/genuser.pl (per TJ)
+	contrib/mod_wrap.c: New mod_wrap (1.2.3) removed contrib/genuser.pl
+	(per TJ)
 
-2002-01-23 16:22  flood
+2002-01-24  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2002-01-23 16:21  flood
+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
+	semantics incorrect under Linux #1450 Timers removed
+	immediately/alarm() return no longer used for timing #1446
+	DefaultServer overrides SocketBindTight
 
-2001-12-18 08:21  flood
+2001-12-18  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-12-18 08:21  flood
+2001-12-18  flood <flood>
 
 	* NEWS, include/version.h: bumped version
 
-2001-12-18 08:14  flood
+2001-12-18  flood <flood>
 
 	* NEWS, doc/Configuration.html, modules/mod_ls.c: New Directive:
-	  UseGlobbing, allows glibc-based filepath globbing to be disabled.
+	UseGlobbing, allows glibc-based filepath globbing to be disabled.
 
-2001-12-17 12:39  flood
+2001-12-17  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-12-17 12:39  flood
+2001-12-17  flood <flood>
 
-	* ChangeLog, NEWS, modules/mod_xfer.c: - Check retr_file for
-	  validity when RESToring
+	* ChangeLog, NEWS, modules/mod_xfer.c: - Check retr_file for validity when RESToring
 
-2001-12-17 12:36  flood
+2001-12-17  flood <flood>
 
-	* NEWS, modules/mod_xfer.c: - Bug 1391 - ABOR handler now clears
-	  session.xfer
+	* NEWS, modules/mod_xfer.c: - Bug 1391 - ABOR handler now clears session.xfer
 
-2001-12-17 12:07  flood
+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.
+	* 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 09:58  flood
+2001-12-17  flood <flood>
 
 	* NEWS, README.LDAP, contrib/mod_ldap.c: New mod_ldap (2.8.1)
 
-2001-12-13 12:37  flood
+2001-12-13  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-12-13 12:35  flood
+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_pam.c, modules/mod_unixpw.c, modules/mod_xfer.c,
-	  src/auth.c, src/dirtree.c, src/fs.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 08:15  flood
+	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 [...]
+	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
+	commit
 
-2001-11-30 09:34  flood
+2001-11-30  flood <flood>
 
 	* ChangeLog: updated ChangeLog
 
-2001-11-30 09:34  flood
+2001-11-30  flood <flood>
 
-	* NEWS, README.mod_sql, contrib/UPGRADE.mod_sql, contrib/mod_sql.c,
-	  contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c,
-	  sample-configurations/mod_sql.conf: new mod_sql (4.07)
+	* 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 10:54  flood
+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
+	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 10:20  flood
+2001-11-29  flood <flood>
 
 	* ChangeLog: updated ChangeLog
 
-2001-11-29 10:20  flood
+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
+	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 09:30  flood
+2001-11-08  flood <flood>
 
 	* NEWS, configure, configure.in: #1113-Make.rules for HPUX
-	  incorrectly generated
+	incorrectly generated
 
-2001-11-08 09:28  flood
+2001-11-08  flood <flood>
 
 	* NEWS, contrib/README.mod_wrap, contrib/mod_wrap.c: new mod_wrap
-	  (1.2.2) from tj
+	(1.2.2) from tj
 
-2001-11-08 09:24  flood
+2001-11-08  flood <flood>
 
 	* NEWS, modules/mod_auth.c: #1334-MaxClients none forbids connect
 
-2001-10-19 08:31  flood
+2001-10-19  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-10-19 08:28  flood
+2001-10-19  flood <flood>
 
 	* include/version.h: 1.2.4
 
-2001-10-19 08:27  flood
+2001-10-19  flood <flood>
 
 	* NEWS, modules/mod_core.c, src/dirtree.c: 1348-umask argument not
-	  stored correctly
+	stored correctly
 
-2001-10-18 10:13  flood
+2001-10-18  flood <flood>
 
 	* ChangeLog: Updated ChangeLog
 
-2001-10-18 10:13  flood
+2001-10-18  flood <flood>
 
 	* NEWS, include/version.h: 1.2.3-release
 
-2001-10-18 10:11  flood
+2001-10-18  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-10-18 10:10  flood
+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
+	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 09:51  flood
+2001-10-18  flood <flood>
 
 	* NEWS, src/dirtree.c: #1247 - Fix Allow/Deny boolean logic.
 
-2001-09-26 08:35  flood
+2001-09-26  flood <flood>
 
 	* NEWS, modules/mod_core.c: #1327 AllowForeignAddress mergedown
 
-2001-09-26 08:34  flood
+2001-09-26  flood <flood>
 
 	* NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c: #1280
-	  datatype fixups
+	datatype fixups
 
-2001-09-26 08:32  flood
+2001-09-26  flood <flood>
 
 	* NEWS, modules/mod_ls.c: #1311 - sigsegv under DirFake* directives
 
-2001-09-26 08:00  flood
+2001-09-26  flood <flood>
 
 	* NEWS, include/conf.h: #1305 - limits.h now included
 
-2001-09-26 07:58  flood
+2001-09-26  flood <flood>
 
 	* NEWS, src/inet.c: #1331 - forward-resolve reverse dns
 
-2001-08-24 10:33  flood
+2001-08-24  flood <flood>
 
 	* src/main.c: patched to not display PASS password on proctitle
 
-2001-08-17 08:43  flood
+2001-08-17  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-08-17 08:43  flood
+2001-08-17  flood <flood>
 
 	* NEWS, include/version.h: 1.2.2-final
 
-2001-08-16 13:00  flood
+2001-08-16  flood <flood>
 
 	* include/conf.h: Double license in header conf.h
 
-2001-08-16 12:58  flood
+2001-08-16  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-08-16 12:58  flood
+2001-08-16  flood <flood>
 
-	* ChangeLog, NEWS, contrib/mod_test.c, doc/Configuration.html:
-	  Updated docs, moved mod_test.c to attic
+	* ChangeLog, NEWS, doc/Configuration.html: Updated docs, moved
+	mod_test.c to attic
 
-2001-08-16 12:54  flood
+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
+	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 11:54  flood
+2001-08-16  flood <flood>
 
 	* NEWS, contrib/mod_sql.c: new mod_sql
 
-2001-08-01 08:18  flood
+2001-08-01  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-08-01 08:18  flood
+2001-08-01  flood <flood>
 
-	* NEWS, README.mod_sql: README.mod_sql update from author
+	* NEWS: README.mod_sql update from author
 
-2001-08-01 08:17  flood
+2001-08-01  flood <flood>
 
-	* INSTALL, NEWS, contrib/mod_quota.c, doc/Configuration.html,
-	  modules/mod_ls.c, src/xferlog.5: #1187 Upstream update to
-	  mod_quota #1217,1262,1111,1216 Documentation updates #1145
-	  DirFakeUser now applies to STAT as well as LIST/NLST
+	* 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 08:03  flood
+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
+	src/dirtree.c, src/main.c: #1219 - gcc 3.0 fix #1232 - UserOwner
+	changes both uid and gid
 
-2001-07-04 08:28  flood
+2001-07-04  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-07-04 08:28  flood
+2001-07-04  flood <flood>
 
 	* NEWS, src/log.c: #1230 - size mismatch struct utmpx in Solaris 8
-	  (sparcv9)
+	(sparcv9)
 
-2001-07-03 07:51  flood
+2001-07-03  flood <flood>
 
 	* NEWS, modules/mod_auth.c: #1098 - Non~* DefaultRoot bug
 
-2001-07-03 07:49  flood
+2001-07-03  flood <flood>
 
 	* NEWS, modules/mod_xfer.c: #1234 ABOR must always return 226
 
-2001-07-02 11:56  flood
+2001-07-02  flood <flood>
 
 	* NEWS, contrib/mod_sql.c: New mod_sql
 
-2001-06-19 18:23  flood
+2001-06-20  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-06-19 18:23  flood
+2001-06-20  flood <flood>
 
 	* NEWS, include/version.h: Bump version, final commit for 1.2.2rc3
 
-2001-06-19 18:19  flood
+2001-06-20  flood <flood>
 
 	* NEWS, src/main.c: #1215 - Removes setpgid from fork_server
 
-2001-06-19 18:17  flood
+2001-06-20  flood <flood>
 
 	* NEWS, modules/mod_ls.c: #1145 - DirFakeUser can display currently
-	  logged in user
+	logged in user
 
-2001-06-19 18:13  flood
+2001-06-20  flood <flood>
 
 	* NEWS, doc/Configuration.html: #1164,1020,1134,1190,1207 - Doc
-	  updates
+	updates
 
-2001-06-19 11:51  flood
+2001-06-19  flood <flood>
 
 	* NEWS, src/data.c: #1210 Possible silent truncation in net-ascii
-	  mode
+	mode
 
-2001-06-18 11:02  flood
+2001-06-18  flood <flood>
 
 	* NEWS, modules/mod_ls.c, src/dirtree.c: #1212 Special files in
-	  directory listings
+	directory listings
 
-2001-06-18 10:40  flood
+2001-06-18  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-06-18 10:39  flood
+2001-06-18  flood <flood>
 
 	* NEWS, modules/mod_core.c: #1189 Directory dups allowed in
-	  Anonymous
+	Anonymous
 
-2001-06-18 10:35  flood
+2001-06-18  flood <flood>
 
 	* NEWS, modules/mod_auth.c, modules/mod_core.c, modules/mod_ls.c,
-	  src/dirtree.c, src/fs.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
+	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 10:13  flood
+2001-06-18  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-06-18 10:12  flood
-
-	* NEWS, contrib/mod_linuxprivs.c, include/conf.h, include/data.h,
-	  include/default_paths.h, include/dirtree.h, include/fs.h,
-	  include/ident.h, include/inet.h, include/io.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_pam.c, modules/mod_site.c,
-	  modules/mod_unixpw.c, modules/mod_xfer.c, src/auth.c, src/data.c,
-	  src/dirtree.c, src/fs.c, src/ftpcount.c, src/ftpshut.c,
-	  src/ftpwho.c, src/ident.c, src/inet.c, src/io.c, src/log.c,
-	  src/main.c, src/modules.c, src/pool.c, src/sets.c, src/support.c,
-	  src/timers.c, src/utils.c: Updated Copyright/License to allow
-	  linking to OpenSSL
-
-2001-06-03 08:17  flood
+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 08:17  flood
+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()
+	homedir symlink dereference #1189 - duplicated <Directory> contexts
+	not allowed #1183 - removed redundant find_class()
 
-2001-06-03 06:38  flood
+2001-06-03  flood <flood>
 
-	* NEWS, contrib/xferstats.holger-preiss,
-	  contrib/dist/rpm/proftpd.init.d, 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
+	* 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 09:08  flood
+2001-05-31  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-05-31 09:08  flood
+2001-05-31  flood <flood>
 
-	* NEWS, README.mod_sql, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
-	  contrib/mod_sql_postgres.c: New mod_sql and friends
+	* NEWS, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
+	contrib/mod_sql_postgres.c: New mod_sql and friends
 
-2001-05-21 14:15  flood
+2001-05-21  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-05-21 14:14  flood
+2001-05-21  flood <flood>
 
-	* NEWS, contrib/mod_readme.c, include/conf.h, modules/mod_core.c,
-	  modules/mod_readme.c: Bug 1175 - GNU HURD portability Bug 1177 -
-	  mod_readme.c moved to contrib/ Bug 1176 - PWD/XPWD now G_DIRS and
-	  limitable
+	* 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 13:48  flood
+2001-05-21  flood <flood>
 
 	* NEWS, lib/glibc-glob.c: Bug 1155 - conditional HPUX headers in
-	  glibc-glob.c
+	glibc-glob.c
 
-2001-05-16 20:22  flood
+2001-05-17  flood <flood>
 
 	* ChangeLog: Updated ChangeLog
 
-2001-05-16 20:22  flood
+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
+	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 07:35  flood
+2001-05-16  flood <flood>
 
 	* NEWS, src/inet.c: Bug #1152 - integer array overflow w.r.t.
-	  PassivePorts
+	PassivePorts
 
-2001-04-23 20:36  flood
+2001-04-24  flood <flood>
 
 	* NEWS, modules/mod_ls.c: Bug 1137 - NLST displayed hidden files
 
-2001-04-23 11:18  flood
+2001-04-23  flood <flood>
 
 	* NEWS: Final NEWS update for 1.2.2rc2 (old)
 
-2001-04-20 08:20  flood
+2001-04-20  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-04-20 08:20  flood
+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.
+	cast for better compilation on IRIX 6.2.
 
-2001-04-20 05:31  flood
+2001-04-20  flood <flood>
 
 	* NEWS, modules/mod_site.c: Log warning when AllowChmod is used.
 
-2001-04-18 08:45  flood
+2001-04-18  flood <flood>
 
-	* src/data.c: Ooops.  sendfile() Linux subtraction was backwards.
-	  ;)
+	* src/data.c: Ooops.  sendfile() Linux subtraction was backwards. ;)
 
-2001-04-18 08:40  flood
+2001-04-18  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-04-18 08:40  flood
+2001-04-18  flood <flood>
 
 	* NEWS, src/data.c: Bug #1128 - Incorrect sendfile() semantics.
 
-2001-04-13 11:32  flood
+2001-04-13  flood <flood>
 
 	* modules/mod_core.c: Fixed sigsegv on SITE bug, only in cvs
-	  versions.
+	versions.
 
-2001-04-11 13:20  flood
+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. ;)
+	case insensitivity patch.  case sensitivity is actually required in
+	some places. ;)
 
-2001-04-11 12:10  flood
+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
+	glibc-glob.c Bug 1090 - logging now works with PRE_CMD failed
+	handlers
 
-2001-04-11 12:00  flood
+2001-04-11  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-04-11 12:00  flood
+2001-04-11  flood <flood>
 
 	* src/dirtree.c: MasqueradeAddress now prints LOG_INFO message.
 
-2001-04-11 11:57  flood
+2001-04-11  flood <flood>
 
-	* NEWS, contrib/mod_quota.c, include/log.h, modules/mod_auth.c,
-	  modules/mod_core.c, modules/mod_log.c, modules/mod_ls.c,
-	  modules/mod_unixpw.c, src/dirtree.c, src/ftpcount.c,
-	  src/ftpshut.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
+	* 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-26 19:12  flood
+2001-03-27  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-03-26 19:12  flood
+2001-03-27  flood <flood>
 
 	* doc/Configuration.html: Bugs #1088, 1058 & 1041 - Doc updates for
-	  1.2.2.
+	1.2.2.
 
-2001-03-26 18:57  flood
+2001-03-27  flood <flood>
 
 	* NEWS: Updated NEWS version
 
-2001-03-24 07:59  flood
+2001-03-24  flood <flood>
 
 	* ChangeLog: Final commit for 1.2.2rc1.
 
-2001-03-24 07:59  flood
+2001-03-24  flood <flood>
 
 	* include/version.h: Bumped version number to 1.2.2rc1.
 
-2001-03-24 07:56  flood
+2001-03-24  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-03-24 07:56  flood
+2001-03-24  flood <flood>
 
 	* NEWS, modules/mod_auth.c: Bug #1085: better logging of two auth
-	  messages in mod_auth.
+	messages in mod_auth.
 
-2001-03-24 07:46  flood
+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
+	Possible inf. loop in throttle code.  Bug #1074: Doc fixes Bug
+	#1070: Doc fixes
 
-2001-03-23 05:17  flood
+2001-03-23  flood <flood>
 
-	* NEWS, README.mod_sql, 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
+	* 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 04:54  flood
+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.
+	handling of uid/gid type casts and conversions.
 
-2001-03-22 13:43  flood
+2001-03-22  flood <flood>
 
 	* NEWS, modules/mod_auth.c: Bug #1049 - passwd/group files are now
-	  close/re-opened at USER/PASS.
+	close/re-opened at USER/PASS.
 
-2001-03-22 12:56  flood
+2001-03-22  flood <flood>
 
 	* src/dirtree.c: Added debugging to umask code.
 
-2001-03-21 16:12  flood
+2001-03-22  flood <flood>
 
 	* include/glibc-glob.h: glibc glob header should now be more
-	  portable
+	portable
 
-2001-03-17 12:34  flood
+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, lib/glob.c, lib/glob.h,
-	  src/fs.c: Bug #1066 - new GNU glob which protects against DoS
-	  attacks.
+	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-12 16:23  flood
+2001-03-13  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-03-12 16:22  flood
+2001-03-13  flood <flood>
 
 	* contrib/mod_sql.c: New mod_sql from maintainer.
 
-2001-03-11 06:23  flood
+2001-03-11  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-03-11 06:23  flood
+2001-03-11  flood <flood>
 
 	* NEWS, modules/mod_core.c, src/main.c: Added MasqueradeAddress
-	  feature.
+	feature.
 
-2001-03-09 10:49  flood
+2001-03-09  flood <flood>
 
 	* NEWS, modules/mod_auth.c, modules/mod_core.c: Bug #1044 - New
-	  directive: AccessDenyMsg
+	directive: AccessDenyMsg
 
-2001-03-09 10:16  flood
+2001-03-09  flood <flood>
 
-	* src/main.c: Bug #1056 (second part) - SIGSEGV is no longer
-	  handled when inside the SIGSEGV handler.
+	* src/main.c: Bug #1056 (second part) - SIGSEGV is no longer handled
+	when inside the SIGSEGV handler.
 
-2001-03-09 08:14  flood
+2001-03-09  flood <flood>
 
-	* NEWS, src/ftpcount.c: Bug #1055 - ftpwho/ftpcount scan
-	  proftpd.conf for scoreboard path.
+	* NEWS: Bug #1055 - ftpwho/ftpcount scan proftpd.conf for scoreboard
+	path.
 
-2001-03-09 05:54  flood
+2001-03-09  flood <flood>
 
-	* NEWS, config.h.in, configure, configure.in,
-	  contrib/dist/rpm/proftpd.spec.in, src/ftpcount.1, src/ftpshut.8,
-	  src/ftpwho.1, src/pool.c, src/proftpd.8, src/xferlog.5: 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
+	* 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 08:00  flood
+2001-03-01  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-03-01 08:00  flood
+2001-03-01  flood <flood>
 
 	* NEWS: New NEWS
 
-2001-03-01 07:49  flood
+2001-03-01  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-03-01 07:48  flood
+2001-03-01  flood <flood>
 
-	* README, README.mod_sql, README.ports: Updated READMEs.
+	* README, README.ports: Updated READMEs.
 
-2001-02-28 19:18  flood
+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.
+	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 15:01  flood
+2001-02-28  flood <flood>
 
-	* doc/rfc/draft-ietf-ftpext-mlst-08.txt,
-	  doc/rfc/draft-ietf-ftpext-mlst-12.txt, 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
+	* 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 09:07  flood
+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
+	--disable-shadow now works.  More informative message for REST w/
+	HiddenStor.  Default CFLAGS changed from -O6 to -O2
 
-2001-02-27 13:19  flood
+2001-02-27  flood <flood>
 
-	* contrib/: mod_ldap.c, mod_sql.c, dist/rpm/proftpd.spec.in:
-	  Updated RPM spec (again) as well as new mod_ldap and mod_sql
-	  contrib modules.
+	* 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 11:20  flood
+2001-02-27  flood <flood>
 
-	* contrib/mod_sql.c, contrib/dist/rpm/proftpd.spec.in,
-	  include/version.h: New RPM .spec and mod_sql.c
+	* contrib/mod_sql.c, include/version.h: New RPM .spec and mod_sql.c
 
-2001-02-26 12:14  flood
+2001-02-26  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-02-26 12:13  flood
+2001-02-26  flood <flood>
 
 	* Makefile.in, NEWS, include/version.h: Final commit to 1.2.0-final
-	  release
+	release
 
-2001-02-26 09:59  flood
+2001-02-26  flood <flood>
 
 	* src/support.c: access_check() always succeeds for root now.
 
-2001-02-26 09:50  flood
+2001-02-26  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-02-26 09:50  flood
+2001-02-26  flood <flood>
 
 	* contrib/mod_ldap.c: New mod_ldap.c
 
-2001-02-24 18:13  flood
+2001-02-25  flood <flood>
 
 	* contrib/mod_sql.c: Patch from mod_sql maintainer.
 
-2001-02-24 16:40  flood
+2001-02-25  flood <flood>
 
 	* CREDITS, doc/Configuration.html: Bug #1034 - Final clean-up for
-	  docs.  CREDITS - added Chuck
+	docs.  CREDITS - added Chuck
 
-2001-02-23 20:11  flood
+2001-02-24  flood <flood>
 
-	* Makefile.in, configure, configure.in, contrib/README.mod_sql,
-	  modules/mod_auth.c: Bug #1033 - access denied text fix Minor
-	  tweaks to configure, updates distclean rule in Makefile
+	* 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-23 19:53  flood
+2001-02-24  flood <flood>
 
-	* README.mod_sql, configure, configure.in, contrib/README.mod_sql,
-	  contrib/mod_sql.c: Bug #1031 - update from mod_sql maintainer New
-	  README.mod_sql configure no longer duplicates additional modules'
-	  libraries.
+	* 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-23 18:37  flood
+2001-02-24  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-02-23 18:37  flood
+2001-02-24  flood <flood>
 
-	* CREDITS, README.mod_sql-3.0, contrib/README.mod_sql-3.0,
-	  contrib/README.mod_sqlpw: Removed mod_sql docs per AAH.  New docs
-	  will be added with more appropriate filenames.
+	* CREDITS: Removed mod_sql docs per AAH.  New docs will be added
+	with more appropriate filenames.
 
-2001-02-23 15:35  flood
+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.
+	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-22 19:08  flood
+2001-02-23  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-02-22 18:47  flood
+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.
+	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-22 16:59  flood
+2001-02-23  flood <flood>
 
 	* include/inet.h, src/inet.c, src/main.c: Bug #370 - race condition
-	  under heavy load at child startup
+	under heavy load at child startup
 
-2001-02-22 16:53  flood
+2001-02-23  flood <flood>
 
 	* contrib/mod_sql.c: New mod_sql 3.01 from Andrew Houghton
-	  <aah at acm.org>
+	<aah at acm.org>
 
-2001-02-22 16:36  flood
+2001-02-23  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-02-22 16:35  flood
+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.
+	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 15:32  flood
+2001-02-22  flood <flood>
 
 	* modules/mod_ls.c: Bug #1016 - Listing "." files should work again
-	  + tweak to IgnoreHidden.
+	+ tweak to IgnoreHidden.
 
-2001-02-22 14:39  flood
+2001-02-22  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-02-22 14:39  flood
+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.
+	modules/mod_xfer.c, src/dirtree.c: Bug #1023 - Fix for IgnoreHidden
+	boolean patch problem introduced in rc2.
 
-2001-02-21 20:51  flood
+2001-02-22  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-02-21 20:51  flood
+2001-02-22  flood <flood>
 
 	* Make.rules.in, Makefile.in, include/.cvsignore,
-	  include/version.h, modules/mod_unixpw.c, 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.
+	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-21 18:48  flood
+2001-02-22  flood <flood>
 
 	* configure: configure needs a new timestamp :)
 
-2001-02-21 18:44  flood
+2001-02-22  flood <flood>
 
 	* ChangeLog: Updated ChangeLog, re-ran autoconf
 
-2001-02-21 17:48  flood
+2001-02-22  flood <flood>
 
-	* NEWS, src/log.c: Logging is now done with a single write()
-	  syscall
+	* NEWS, src/log.c: Logging is now done with a single write() syscall
 
-2001-02-21 17:09  flood
+2001-02-22  flood <flood>
 
 	* modules/mod_core.c, src/main.c: Bug #1009 - FTP logins are now
-	  logged to match logouts.
+	logged to match logouts.
 
-2001-02-21 14:33  flood
+2001-02-21  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-02-21 14:33  flood
+2001-02-21  flood <flood>
 
 	* CREDITS, src/log.c: Bug #1021 - fix for ftpwho/ftpcount not
-	  working (_pid_exists() in log.c)
+	working (_pid_exists() in log.c)
 
-2001-02-20 19:17  flood
+2001-02-21  flood <flood>
 
-	* modules/: mod_unixpw.c, mod_xfer.c: Bug #1015 - Format string for
-	  long long uids.  REST command now returns failure message if used
-	  where HiddenStor is enabled.
+	* 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-20 18:40  flood
+2001-02-21  flood <flood>
 
 	* ChangeLog, NEWS: Updated NEWS
 
-2001-02-20 18:33  flood
+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)
+	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 12:34  flood
+2001-02-20  flood <flood>
 
 	* configure, configure.in, include/version.h, src/main.c: Added
-	  --version-status which displays extended version information.
+	--version-status which displays extended version information.
 
-2001-02-19 20:50  flood
+2001-02-20  flood <flood>
 
 	* src/main.c: Timeout and normal logout syslog messages are now
-	  logged at LOG_INFO instead of LOG_NOTICE.
+	logged at LOG_INFO instead of LOG_NOTICE.
 
-2001-02-19 19:26  flood
+2001-02-20  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-02-19 19:26  flood
+2001-02-20  flood <flood>
 
 	* modules/mod_xfer.c: Bug #1012 - Fixed "Unable to throttle
-	  bandwidth: Interrupted system call" issue.
+	bandwidth: Interrupted system call" issue.
 
-2001-02-19 13:07  flood
+2001-02-19  flood <flood>
 
-	* README.mod_sql-3.0, contrib/README.mod_sql-3.0,
-	  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.
+	* 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 08:19  flood
+2001-02-18  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-02-18 08:18  flood
-
-	* contrib/dist/rpm/proftpd.spec.in: Bug #1005 - New RPM .spec.in
-	  from droesen
-
-2001-02-15 17:21  flood
+2001-02-16  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-02-15 17:21  flood
+2001-02-16  flood <flood>
 
 	* modules/mod_core.c, src/dirtree.c: Bug #1008 - Port 21 is now
-	  default w/out Port directive.
+	default w/out Port directive.
 
-2001-02-15 06:24  flood
+2001-02-15  flood <flood>
 
 	* src/data.c: spurious #ifdef removed, sendfile() should compile
-	  again
+	again
 
-2001-02-13 20:13  flood
+2001-02-14  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-02-13 20:12  flood
+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.
+	* 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-13 17:06  flood
+2001-02-14  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-02-13 17:05  flood
+2001-02-14  flood <flood>
 
 	* modules/mod_xfer.c: Bug #462 - sendfile works again on freebsd
 
-2001-02-12 19:05  flood
+2001-02-13  flood <flood>
 
 	* modules/mod_ls.c, src/dirtree.c: Bug #1007 - IgnoreHidden can now
-	  be turned off.
+	be turned off.
 
-2001-02-05 14:30  flood
+2001-02-05  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-02-05 14:29  flood
+2001-02-05  flood <flood>
 
-	* CREDITS, INSTALL, NEWS, README, contrib/dist/rpm/proftpd.spec.in,
-	  doc/Configuration.html: Minor doc changes
+	* CREDITS, INSTALL, NEWS, README, doc/Configuration.html: Minor doc
+	changes
 
-2001-02-05 11:48  flood
+2001-02-05  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-02-05 11:48  flood
+2001-02-05  flood <flood>
 
-	* NEWS, contrib/README.mod_sqlpw, contrib/mod_mysql.c,
-	  contrib/mod_pgsql.c, contrib/mod_sqlpw.c, contrib/mod_test.c,
-	  modules/mod_tar.c, modules/mod_test.c: 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.
+	* 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 11:37  flood
+2001-02-05  flood <flood>
 
-	* configure, configure.in, contrib/mod_ratio.c,
-	  contrib/dist/rpm/proftpd.spec.in, 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.
+	* 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 10:28  flood
+2001-02-05  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-02-05 10:28  flood
+2001-02-05  flood <flood>
 
 	* src/log.c: Bug #455 - SyslogLevel now works as documented.
 
-2001-02-05 10:16  flood
+2001-02-05  flood <flood>
 
 	* README, configure, configure.in, lib/Makefile.in: Bug #293 -
-	  Compilation under OSX.
+	Compilation under OSX.
 
-2001-02-02 18:59  flood
+2001-02-03  flood <flood>
 
 	* src/data.c: Minor fixes to bug 399's patch. ;)
 
-2001-02-02 15:12  flood
+2001-02-02  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-02-02 15:11  flood
+2001-02-02  flood <flood>
 
 	* modules/mod_core.c: Bug #407 - Include pathnames must now be
-	  absolute
+	absolute
 
-2001-02-02 15:09  flood
+2001-02-02  flood <flood>
 
-	* include/options.h, modules/mod_xfer.c, src/data.c, src/fs.c,
-	  src/io.c: Bug #399 - incorrect handling of CRs during ascii
-	  transfers, also made default buffer size a macron in options.h:
-	  TUNABLE_BUFFER_SIZE
+	* 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-01 19:12  flood
+2001-02-02  flood <flood>
 
 	* CREDITS, INSTALL, NEWS: Updated minor documentation
 
-2001-02-01 14:58  flood
+2001-02-01  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-02-01 14:58  flood
+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
+	* include/version.h, src/auth.c: Bug #435 - uid/gid checking for -1,
+	updated version string to 1.2.0rc3
 
-2001-02-01 11:52  flood
+2001-02-01  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-02-01 11:52  flood
+2001-02-01  flood <flood>
 
 	* src/main.c: Bug #451 - check uid/gid after PRIVS_SETUP
 
-2001-01-31 19:05  flood
-
-	* modules/mod_pam.c: Bug #363 - mod_pam now handles blank usernames
-	  and passwords without segfaulting.
-
-2001-01-31 13:39  flood
+2001-01-31  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-01-31 13:39  flood
+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
+	_aborT() funcs in exit handler.  sendfile() support is now disabled
+	by default, enable with --enable-sendfile
 
-2001-01-31 12:52  flood
+2001-01-31  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-01-31 12:51  flood
+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.
+	modules/mod_xfer.c, src/dirtree.c: Bug #410 - IgnoreHidden fix and
+	cleanup/changes of hiding code.
 
-2001-01-31 10:43  flood
+2001-01-31  flood <flood>
 
-	* modules/: mod_auth.c, mod_core.c, mod_unixpw.c: Bug #422 - fixed
-	  handling of get_boolean() in config handles #410 - HideNoAccess
-	  now takes boolean argument
+	* 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-28 18:23  flood
+2001-01-29  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-01-28 18:16  flood
+2001-01-29  flood <flood>
 
 	* contrib/mod_ldap.c: New mod_ldap.c from jwm at horde.net
 
-2001-01-28 18:15  flood
+2001-01-29  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-01-28 18:14  flood
+2001-01-29  flood <flood>
 
 	* modules/mod_core.c, src/dirtree.c: Bug #353 - Allows use of '!'
-	  negation operator in Allow/Deny.
+	negation operator in Allow/Deny.
 
-2001-01-28 16:26  flood
+2001-01-29  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-01-28 16:23  flood
+2001-01-29  flood <flood>
 
 	* doc/Configuration.html, include/inet.h, modules/mod_core.c,
-	  modules/mod_tar.c, modules/mod_test.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.
+	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 10:34  flood
+2001-01-28  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-01-28 10:33  flood
+2001-01-28  flood <flood>
 
 	* modules/mod_core.c: Bug #436 - MaxClients* directives now merge
-	  downward.
+	downward.
 
-2001-01-28 10:25  flood
+2001-01-28  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-01-28 10:25  flood
+2001-01-28  flood <flood>
 
-	* doc/Configuration.html, modules/mod_auth.c, modules/mod_unixpw.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.
+	* 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 15:24  flood
+2001-01-26  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-01-26 15:15  flood
+2001-01-26  flood <flood>
 
 	* modules/mod_core.c: Bug #390 - Added ifdef to regex code in
-	  mod_core
+	mod_core
 
-2001-01-26 15:10  flood
+2001-01-26  flood <flood>
 
 	* contrib/dist/rpm/proftpd.init.d: Bug #347 - RPM problem in
-	  contrib/
+	contrib/
 
-2001-01-26 15:06  flood
+2001-01-26  flood <flood>
 
-	* src/dirtree.c: Bug #397 - Fixed problem with incorrect config
-	  file line count
+	* src/dirtree.c: Bug #397 - Fixed problem with incorrect config file
+	line count
 
-2001-01-26 14:30  flood
+2001-01-26  flood <flood>
 
-	* src/support.c: Bug #441 - off-by-one error when reading month
-	  from /etc/shutmsg
+	* src/support.c: Bug #441 - off-by-one error when reading month from
+	/etc/shutmsg
 
-2001-01-26 14:26  flood
+2001-01-26  flood <flood>
 
 	* doc/Configuration.html: Bug #429 - Documentation changes
 
-2001-01-26 13:51  flood
+2001-01-26  flood <flood>
 
-	* src/: inet.c, main.c: Bug #398 - overwriting file descriptor in
-	  inet_openrw()
+	* src/inet.c, src/main.c: Bug #398 - overwriting file descriptor in
+	inet_openrw()
 
-2001-01-25 10:04  flood
+2001-01-25  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-01-24 22:16  flood
+2001-01-25  flood <flood>
 
 	* ChangeLog, configure: Updated ChangeLog.
 
-2001-01-24 21:53  flood
+2001-01-25  flood <flood>
 
 	* config.h.in, configure.in, modules/mod_auth.c: Bug #365 - Removed
-	  jail() code from mod_auth.c
+	jail() code from mod_auth.c
 
-2001-01-24 21:27  flood
+2001-01-25  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-01-24 21:22  flood
+2001-01-25  flood <flood>
 
 	* ChangeLog: Updated ChangeLog.
 
-2001-01-24 21:13  flood
+2001-01-25  flood <flood>
 
 	* ChangeLog: [no log message]
 
-2001-01-24 21:13  flood
-
-	* contrib/README.mod_sqlpw: Added README.mod_sqlpw
-
-2001-01-24 14:51  flood
+2001-01-24  flood <flood>
 
 	* ChangeLog: [no log message]
 
-2001-01-24 14:50  flood
+2001-01-24  flood <flood>
 
 	* ChangeLog, contrib/mod_ratio.c, src/main.c: Bug #430 - format
-	  string fixes in log_pri and mod_ratio.
+	string fixes in log_pri and mod_ratio.
 
-2001-01-24 14:02  flood
+2001-01-24  flood <flood>
 
-	* src/: dirtree.c, log.c, 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
+	* 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 15:24  macgyver
+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 15:11  macgyver
-
-	* src/ftpshut.c: Handle the month calculation correctly.
+	include/support.h, modules/mod_ls.c, src/support.c: Correctly use
+	NAME_MAX and fpathconf() when appropriate.
 
-2000-10-08 14:45  macgyver
+2000-10-08  macgyver <macgyver>
 
-	* contrib/mod_sqlpw.c: Use salt values correctly.
+	* contrib/README.mod_wrap, contrib/mod_wrap.c: Added in mod_wrap
+	into contrib.
 
-2000-10-08 14:36  macgyver
-
-	* contrib/: README.mod_wrap, mod_wrap.c, mod_wrap.html: Added in
-	  mod_wrap into contrib.
-
-2000-10-08 14:22  macgyver
+2000-10-08  macgyver <macgyver>
 
 	* modules/mod_core.c: Correctly log the full path of deleted files.
 
-2000-10-08 14:11  macgyver
+2000-10-08  macgyver <macgyver>
 
-	* modules/: mod_auth.c, mod_core.c: Added in support for
-	  MaxHostsPerUser and fixed a problem with AnonRequirePassword.
+	* modules/mod_auth.c, modules/mod_core.c: Added in support for
+	MaxHostsPerUser and fixed a problem with AnonRequirePassword.
 
-2000-10-08 13:55  macgyver
+2000-10-08  macgyver <macgyver>
 
 	* src/inet.c: Lots of little cleanups.
 
-2000-10-08 13:54  macgyver
+2000-10-08  macgyver <macgyver>
 
 	* contrib/mod_ratio.c: Fixed a bounds issue when checking the SITE
-	  command.
+	command.
 
-2000-08-19 12:02  macgyver
+2000-08-19  macgyver <macgyver>
 
 	* configure, configure.in: Fixed ordering in library duplication
-	  detection code.
+	detection code.
 
-2000-08-18 13:25  macgyver
+2000-08-18  macgyver <macgyver>
 
 	* NEWS: Updates.
 
-2000-08-18 13:25  macgyver
+2000-08-18  macgyver <macgyver>
 
 	* ChangeLog: Updated ChangeLog.
 
-2000-08-18 13:16  macgyver
+2000-08-18  macgyver <macgyver>
 
 	* README.PAM: Updated PAM documentation for FreeBSD.
 
-2000-08-18 08:54  macgyver
+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.
+	annoying bug allowed for directory-level configurations to sometimes
+	not work right.
 
-2000-08-17 23:02  macgyver
+2000-08-18  macgyver <macgyver>
 
 	* configure, configure.in: Fixed a small typo in PAM detection.
 
-2000-08-17 22:44  macgyver
+2000-08-18  macgyver <macgyver>
 
 	* acconfig.h, config.h.in, configure, configure.in: PAM and path
-	  modifications.
-
-2000-08-17 22:26  macgyver
-
-	* modules/mod_pam.c: Updated to use HAVE_PAM.
+	modifications.
 
-2000-08-13 08:19  macgyver
+2000-08-13  macgyver <macgyver>
 
 	* Make.rules.in, acconfig.h, config.h.in, configure, configure.in,
-	  include/conf.h: Some configure and compilation cleanups.
+	include/conf.h: Some configure and compilation cleanups.
 
-2000-08-13 03:36  macgyver
-
-	* contrib/mod_quota.c: Cleaned up use of lstat() to fs_lstat() to
-	  be more portable.
-
-2000-08-07 17:54  macgyver
+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.
+	sendfile() implementation to make it simpler and more managable.
 
-2000-08-07 16:17  macgyver
+2000-08-07  macgyver <macgyver>
 
 	* modules/mod_core.c: Fixed a typo in set_sysloglevel.
 
-2000-08-04 21:44  macgyver
+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.
+	* modules/mod_auth.c: Be a little more anal retentive about cleaning
+	up after ourselves when it comes to USER/PASS attempts.
 
-2000-08-04 21:43  macgyver
+2000-08-05  macgyver <macgyver>
 
 	* src/data.c: Formatting cleanups.
 
-2000-08-04 21:42  macgyver
+2000-08-05  macgyver <macgyver>
 
 	* modules/mod_xfer.c: Removed spurious #if 0.
 
-2000-08-04 08:17  macgyver
+2000-08-04  macgyver <macgyver>
 
-	* configure, configure.in: Updated HP/UX sendfile() to only
-	  actually check on HP/UX platforms. :)
+	* configure, configure.in: Updated HP/UX sendfile() to only actually
+	check on HP/UX platforms. :)
 
-2000-08-04 08:07  macgyver
+2000-08-04  macgyver <macgyver>
 
 	* ChangeLog: Updated ChangeLog.
 
-2000-08-04 08:07  macgyver
-
-	* doc/Undocumented.txt: Updated undocumented functions list (none
-	  left! :)).
-
-2000-08-04 08:05  macgyver
-
-	* doc/: GetConf, ShowUndocumented: Small updates to configuration
-	  scripts.
-
-2000-08-04 07:57  macgyver
+2000-08-04  macgyver <macgyver>
 
 	* doc/Configuration.html: Updated documentation.
 
-2000-08-03 08:40  macgyver
-
-	* doc/Undocumented.txt: Updated undocumented functions list.
-
-2000-08-03 08:39  macgyver
+2000-08-03  macgyver <macgyver>
 
-	* contrib/: README.ratio, mod_ratio.c: Updated to mod_ratio.
+	* contrib/README.ratio, contrib/mod_ratio.c: Updated to mod_ratio.
 
-2000-08-03 08:36  macgyver
+2000-08-03  macgyver <macgyver>
 
 	* contrib/mod_ldap.c: Updated to mod_ldap 2.7.3 to remove
-	  LDAPSearchFilter.
+	LDAPSearchFilter.
 
-2000-08-03 08:24  macgyver
+2000-08-03  macgyver <macgyver>
 
 	* modules/mod_auth.c: Oops...more compilation fixes for jail(). :)
 
-2000-08-03 07:10  macgyver
-
-	* doc/Undocumented.txt: Updated undocumented functions...only two
-	  left, wow!
-
-2000-08-03 07:09  macgyver
+2000-08-03  macgyver <macgyver>
 
 	* doc/Configuration.html: Updated documentation.
 
-2000-08-03 07:05  macgyver
+2000-08-03  macgyver <macgyver>
 
 	* modules/mod_auth.c: Correctly obtain the IP address in jail().
 
-2000-08-02 22:50  macgyver
+2000-08-03  macgyver <macgyver>
 
 	* modules/mod_auth.c: Typos in jail() support.
 
-2000-08-02 20:01  macgyver
+2000-08-03  macgyver <macgyver>
 
 	* ChangeLog: Updated ChangeLog.
 
-2000-08-02 19:59  macgyver
+2000-08-03  macgyver <macgyver>
 
 	* modules/mod_auth.c: Added some debug logging to lockdown().
 
-2000-08-02 19:46  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-02 18:35  macgyver
+2000-08-03  macgyver <macgyver>
 
-	* modules/mod_pam.c: More Solaris tweaks.
+	* 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-02 18:30  macgyver
+2000-08-03  macgyver <macgyver>
 
 	* ChangeLog, NEWS: Updated ChangeLog and NEWS.
 
-2000-08-02 18:29  macgyver
-
-	* src/fs.c: Fixed a problem where files that began with ~ weren't
-	  being handled properly.
-
-2000-08-02 16:36  macgyver
-
-	* contrib/mod_quota.c: Fixed a crash when using mod_quota and not
-	  defining QuotaExempt.
-
-2000-08-02 16:34  macgyver
+2000-08-02  macgyver <macgyver>
 
 	* doc/Configuration.html: Updated documentation.
 
-2000-08-02 16:28  macgyver
+2000-08-02  macgyver <macgyver>
 
 	* ChangeLog, NEWS: Updated NEWS and ChangeLog.
 
-2000-08-02 16:26  macgyver
+2000-08-02  macgyver <macgyver>
 
 	* Make.rules.in, configure, configure.in: Added in --with-libraries
-	  for posterity.
+	for posterity.
 
-2000-08-02 16:13  macgyver
+2000-08-02  macgyver <macgyver>
 
 	* configure.in: Added copyright info to the configure scripts.
 
-2000-08-02 16:07  macgyver
+2000-08-02  macgyver <macgyver>
 
 	* src/log.c: Only log to WTMP or WTMPX, not both.  Modern systems
-	  should all use WTMPX.
+	should all use WTMPX.
 
-2000-08-02 15:57  macgyver
-
-	* modules/mod_pam.c: Updated Solaris compatibility fix for mod_pam.
-
-2000-08-02 15:38  macgyver
+2000-08-02  macgyver <macgyver>
 
 	* stamp-h.in: Added in stamp-h.in support.
 
-2000-08-02 15:38  macgyver
+2000-08-02  macgyver <macgyver>
 
 	* .cvsignore, Makefile.in, configure, configure.in: Added support
-	  for stamp-h.in and automagic rebuilds whenever configure is
-	  updated.
+	for stamp-h.in and automagic rebuilds whenever configure is updated.
 
-2000-08-02 14:46  macgyver
+2000-08-02  macgyver <macgyver>
 
 	* acconfig.h, config.h.in, configure, configure.in: More sendfile
-	  detection tweaks. :)
+	detection tweaks. :)
 
-2000-08-02 14:46  macgyver
+2000-08-02  macgyver <macgyver>
 
 	* modules/mod_core.c: Forgot to return HANDLED in add_sysloglevel.
 
-2000-08-02 06:58  macgyver
+2000-08-02  macgyver <macgyver>
 
 	* ChangeLog: Updated ChangeLog.
 
-2000-08-01 23:44  macgyver
+2000-08-02  macgyver <macgyver>
 
-	* configure, configure.in: Reworked sendfile detection to be
-	  cleaner and better cached.
+	* configure, configure.in: Reworked sendfile detection to be cleaner
+	and better cached.
 
-2000-08-01 23:18  macgyver
+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-01 22:28  macgyver
-
-	* modules/mod_pam.c: ifdef out the PAM_TTY code needed for Solaris
-	  so other systems don't have to work around this issue.
+	--with-includes and made the PAM check for -ldl cache its results.
 
-2000-08-01 22:25  macgyver
+2000-08-02  macgyver <macgyver>
 
 	* NEWS, include/conf.h, include/data.h, include/default_paths.h,
-	  include/dirtree.h, include/fs.h, include/ftp.h, include/ident.h,
-	  include/inet.h, include/io.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, src/utils.c:
-	  Added SyslogLevel directive, and cleaned up some header files.
+	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 15:20  macgyver
+2000-08-01  macgyver <macgyver>
 
 	* modules/mod_core.c, src/main.c: Added support for the PidFile
-	  directive, to make ProFTPD more Apache-like.
+	directive, to make ProFTPD more Apache-like.
 
-2000-08-01 14:52  macgyver
+2000-08-01  macgyver <macgyver>
 
 	* ChangeLog: Updated ChangeLog.
 
-2000-08-01 14:51  macgyver
+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.
+	* 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 14:30  macgyver
+2000-08-01  macgyver <macgyver>
 
 	* ChangeLog: Updated ChangeLog.
 
-2000-08-01 14:30  macgyver
-
-	* modules/mod_pam.c: Give ProFTPD it's own entry under /dev.
-
-2000-08-01 14:23  macgyver
+2000-08-01  macgyver <macgyver>
 
 	* NEWS, modules/mod_log.c: Honor ExtendedLog NONE.
 
-2000-08-01 13:41  macgyver
+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 13:41  macgyver
-
-	* modules/mod_pam.c: More information about PAM and Solaris
-	  interaction.
+	defaults to 'on' now, to be backward compatible.
 
-2000-08-01 13:20  macgyver
+2000-08-01  macgyver <macgyver>
 
 	* ChangeLog: Updated ChangeLog.
 
-2000-08-01 13:13  macgyver
+2000-08-01  macgyver <macgyver>
 
 	* NEWS, modules/mod_auth.c: Moved code around to eliminate a race
-	  with MaxClients.
+	with MaxClients.
 
-2000-08-01 12:51  macgyver
+2000-08-01  macgyver <macgyver>
 
 	* NEWS, contrib/mod_ratio.c, modules/mod_site.c: Fixed a minor bug
-	  in SITE HELP.
+	in SITE HELP.
 
-2000-08-01 11:59  macgyver
+2000-08-01  macgyver <macgyver>
 
 	* NEWS, modules/mod_core.c, modules/mod_xfer.c: Added in
-	  DeleteAbortedStores and did some minor cleanups.
+	DeleteAbortedStores and did some minor cleanups.
 
-2000-08-01 11:43  macgyver
+2000-08-01  macgyver <macgyver>
 
-	* contrib/mod_quota.c: unlink should never be called directly --
-	  use fs_unlink instead.
+	* 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-08-01 11:32  macgyver
-
-	* NEWS, modules/mod_pam.c: 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 15:27  macgyver
+2000-07-28  macgyver <macgyver>
 
 	* lib/pr_fnmatch.c: Optimizations for fnmatch() implementation.
 
-2000-07-28 15:17  macgyver
+2000-07-28  macgyver <macgyver>
 
 	* contrib/mod_ldap.c: Updated mod_ldap to 2.7.2.
 
-2000-07-28 14:56  macgyver
+2000-07-28  macgyver <macgyver>
 
 	* modules/mod_xfer.c: Don't check for PORT in cmd_stor if we're in
-	  passive mode.
+	passive mode.
 
-2000-07-28 06:50  macgyver
+2000-07-28  macgyver <macgyver>
 
 	* NEWS, modules/mod_site.c: AllowChmod now works in almost any
-	  context.
+	context.
 
-2000-07-27 23:47  macgyver
+2000-07-28  macgyver <macgyver>
 
 	* ChangeLog: Updated ChangeLog.
 
-2000-07-27 22:52  macgyver
+2000-07-28  macgyver <macgyver>
 
 	* NEWS, modules/mod_site.c: AllowChmod works right now.
 
-2000-07-27 22:47  macgyver
+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.
+	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 09:07  macgyver
+2000-07-27  macgyver <macgyver>
 
 	* modules/mod_auth.c: Work around HP/UX's broken compiler in
-	  _do_user_counts().
+	_do_user_counts().
 
-2000-07-26 21:14  macgyver
+2000-07-27  macgyver <macgyver>
 
 	* contrib/mod_ldap.c: Updated mod_ldap to latest/greatest.
 
-2000-07-26 16:47  macgyver
-
-	* modules/mod_pam.c: Moved around PAM calls to be Sun
-	  Compliant(tm), since anything that isn't strictly in that order
-	  seems to cause Solaris environments to puke.
-
-	  Set PAM_RHOST, when we can.
-
-2000-07-26 16:09  macgyver
+2000-07-26  macgyver <macgyver>
 
 	* src/main.c: Remove spurious \r\n from various send_response()s.
 
-2000-07-26 04:12  macgyver
+2000-07-26  macgyver <macgyver>
 
 	* src/main.c: Be verbose about /etc/shutmsg.
 
-2000-07-26 04:03  macgyver
+2000-07-26  macgyver <macgyver>
 
 	* include/proftpd.h, modules/mod_core.c, modules/mod_ls.c,
-	  modules/mod_xfer.c, src/data.c, src/io.c, src/log.c: Fixed a
-	  crash when STOR called before PORT being issued.  Fixed a crash
-	  related to STAT.
+	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 02:49  macgyver
+2000-07-26  macgyver <macgyver>
 
 	* lib/pwgrent.c: Fixed some warnings on FreeBSD.
 
-2000-07-26 02:36  macgyver
+2000-07-26  macgyver <macgyver>
 
-	* src/main.c: Better checking for empty strings before attempting
-	  to call a regex.  Handle empty commands cleaner.
+	* src/main.c: Better checking for empty strings before attempting to
+	call a regex.  Handle empty commands cleaner.
 
-2000-07-26 01:21  macgyver
+2000-07-26  macgyver <macgyver>
 
 	* README.LDAP, contrib/mod_ldap.c: Updated mod_ldap to 2.7.1.
 
-2000-07-26 01:19  macgyver
-
-	* lib/: pr_fnmatch.c, 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>
 
-2000-07-26 01:18  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.
 
-	* lib/fnmatch.c: fnmatch.c has now become pr_fnmatch.c.
-
-2000-07-26 01:16  macgyver
+2000-07-26  macgyver <macgyver>
 
 	* Make.rules.in, config.h.in, configure, configure.in,
-	  include/libsupp.h, lib/Makefile.in, lib/glob.c,
-	  modules/Makefile.in, src/Makefile.in, src/dirtree.c, src/fs.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.
+	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 00:36  macgyver
+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.
+	and corrected an error where hosts were being treated in a
+	case-sensitive fashion.
 
-2000-07-25 21:41  macgyver
+2000-07-26  macgyver <macgyver>
 
 	* configure, configure.in: Made fnmatch check more robust and
-	  cleaned up gcc detection a bit.
+	cleaned up gcc detection a bit.
 
-2000-07-25 21:11  macgyver
+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-25 20:48  macgyver
+	case insensitive.  Added FNM_CASEFOLD to fnmatch check.
 
-	* doc/ShowUndocumented: Make the grep case insensitive.
-
-2000-07-25 20:42  macgyver
+2000-07-26  macgyver <macgyver>
 
 	* config.guess, config.sub: Updated config.guess and config.sub
-	  scripts.
+	scripts.
 
-2000-07-21 11:45  macgyver
+2000-07-21  macgyver <macgyver>
 
 	* ChangeLog: Updated changelog.
 
-2000-07-21 11:44  macgyver
+2000-07-21  macgyver <macgyver>
 
 	* ChangeLog, NEWS, config.h.in, configure, configure.in,
-	  modules/mod_auth.c, modules/mod_unixpw.c: Portability fixes and
-	  additions on various platforms.  Also corrected a problem in
-	  configure where a piece of code was completely bypassed.
+	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-20 23:19  macgyver
+2000-07-21  macgyver <macgyver>
 
 	* doc/Configuration.html: Updated configuration documentation.
 
-2000-07-20 23:11  macgyver
+2000-07-21  macgyver <macgyver>
 
 	* src/main.c: Check for getopt_long was backwards.
 
-2000-07-20 23:09  macgyver
-
-	* src/ftpcount.c: Handle systems without getopt_long properly.
-
-2000-07-20 22:59  macgyver
+2000-07-21  macgyver <macgyver>
 
 	* modules/mod_core.c: Removed unused variables thanks to gcc -Wall.
 
-2000-07-20 22:57  macgyver
+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-20 22:38  macgyver
+	situation where a site is administratively shutdown (ala shutmsg,
+	etc).  Also corrected a getopt_long related issue in show_usage.
 
-	* modules/mod_pam.c: Don't close PAM handle until we exit so we
-	  survive across jailed environments.
-
-2000-07-20 22:37  macgyver
+2000-07-21  macgyver <macgyver>
 
 	* NEWS: Updated news.
 
-2000-07-20 22:37  macgyver
+2000-07-21  macgyver <macgyver>
 
 	* ChangeLog: Updated changelog.
 
-2000-07-20 22:18  macgyver
+2000-07-21  macgyver <macgyver>
 
 	* src/main.c: Command line options are constants.
 
-2000-07-20 22:18  macgyver
+2000-07-21  macgyver <macgyver>
 
 	* src/main.c: Be mindful of systems without getopt_long.
 
-2000-07-20 22:06  macgyver
-
-	* modules/mod_pam.c: Typo with AuthPAMConfig and PAMConfig.
-
-2000-07-20 22:05  macgyver
+2000-07-21  macgyver <macgyver>
 
 	* configure, configure.in: Added in better PAM detection for -ldl.
 
-2000-07-20 21:58  macgyver
+2000-07-21  macgyver <macgyver>
 
 	* README.LDAP, contrib/mod_ldap.c, doc/Configuration.html: Latest
-	  LDAP updates (mod_ldap 2.7).
+	LDAP updates (mod_ldap 2.7).
 
-2000-07-20 21:52  macgyver
+2000-07-21  macgyver <macgyver>
 
 	* src/data.c: Added many more descriptions around various error
-	  conditions for better RFC compliance.
-
-2000-07-20 21:52  macgyver
+	conditions for better RFC compliance.
 
-	* modules/mod_pam.c: Fix potential strdup madness.
-
-2000-07-20 21:47  macgyver
-
-	* modules/mod_unixpw.c: Reworked UID/GID hash tables to be more
-	  portable across implementations with different sizes for UID and
-	  GID fields.
-
-2000-07-11 11:44  macgyver
+2000-07-11  macgyver <macgyver>
 
 	* modules/mod_core.c: Fixed a minor typo when there is no regex
-	  engine around.
+	engine around.
 
-2000-07-11 07:13  macgyver
+2000-07-11  macgyver <macgyver>
 
 	* ChangeLog: Updated ChangeLog.
 
-2000-07-11 07:10  macgyver
+2000-07-11  macgyver <macgyver>
 
 	* NEWS, src/data.c, src/main.c: Don't ignore ServerUseReverseDNS.
 
-2000-07-11 06:36  macgyver
+2000-07-11  macgyver <macgyver>
 
-	* ChangeLog, contrib/mod_ldap.c, contrib/mod_quota.c,
-	  contrib/mod_ratio.c, contrib/mod_sqlpw.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_pam.c,
-	  modules/mod_readme.c, modules/mod_site.c, modules/mod_tar.c,
-	  modules/mod_test.c, modules/mod_unixpw.c, modules/mod_xfer.c,
-	  src/auth.c, src/dirtree.c, src/fs.c, src/ftpcount.c, src/ident.c,
-	  src/inet.c, src/io.c, src/log.c, src/pool.c, src/support.c: Minor
-	  updates and buffer cleanups.
+	* 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 06:35  macgyver
+2000-07-11  macgyver <macgyver>
 
 	* include/default_paths.h, src/main.c: Added in support for core
-	  file debugging.
+	file debugging.
 
-2000-07-11 06:31  macgyver
+2000-07-11  macgyver <macgyver>
 
-	* doc/Configuration.html: Latest and greatest documentation
-	  updates.
+	* doc/Configuration.html: Latest and greatest documentation updates.
 
-2000-07-09 00:01  macgyver
+2000-07-09  macgyver <macgyver>
 
-	* include/log.h, modules/mod_core.c, modules/mod_xfer.c, src/log.c,
-	  src/xferlog.5: Added in support for a completion field in
-	  xferlog.
+	* 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 00:01  macgyver
+2000-07-09  macgyver <macgyver>
 
 	* doc/Configuration.html: Updated LDAP documentation.
 
-2000-07-08 23:59  macgyver
+2000-07-09  macgyver <macgyver>
 
 	* contrib/mod_ldap.c: Added in -lresolv.
 
-2000-07-08 23:59  macgyver
-
-	* modules/mod_pam.c: Added a little more sanity cleanup.
-
-2000-07-08 23:58  macgyver
+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 09:26  macgyver
+	trying to overflow large path buffers.
 
-	* modules/mod_pam.c: Forgot to add in AuthPAM to the configuration
-	  tables.
-
-2000-07-08 01:15  macgyver
+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-08 01:02  macgyver
+	getsockname() don't crash on Solaris when called with invalid
+	descriptors.
 
-	* modules/mod_pam.c: I must be braindamaged to have let someone
-	  else convince me my original code and logic was incorrect about
-	  mod_pam.  There was no aforementioned memory leak, and PAM does
-	  work exactly as advertised.
-
-2000-07-07 14:11  macgyver
-
-	* contrib/mod_sqlpw.c: Fixed a bug in SQLAuthoritative detection.
-
-2000-07-07 00:12  macgyver
+2000-07-07  macgyver <macgyver>
 
 	* ChangeLog, include/version.h: Updated ChangeLog as well as
-	  version.
+	version.
 
-2000-07-07 00:09  macgyver
+2000-07-07  macgyver <macgyver>
 
-	* contrib/: README.ratio, mod_ratio.c: Updated to mod_ratio.
+	* contrib/README.ratio, contrib/mod_ratio.c: Updated to mod_ratio.
 
-2000-07-06 23:41  macgyver
+2000-07-07  macgyver <macgyver>
 
-	* NEWS, modules/mod_ls.c, modules/mod_tar.c, src/auth.c,
-	  src/data.c, src/fs.c, src/log.c, src/support.c: Fixed various
-	  MAXPATHLEN buffers.
+	* NEWS, modules/mod_ls.c, src/auth.c, src/data.c, src/log.c,
+	src/support.c: Fixed various MAXPATHLEN buffers.
 
-2000-07-06 23:21  macgyver
+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.
+	More consistent handling of '.' and '..'.  I can't wait to rewrite
+	this module.
 
-2000-07-06 23:18  macgyver
+2000-07-07  macgyver <macgyver>
 
 	* modules/mod_core.c, src/support.c: Handle symlinks more
-	  appropriately...follow the link, not the file.
+	appropriately...follow the link, not the file.
 
-2000-07-06 18:19  macgyver
+2000-07-07  macgyver <macgyver>
 
 	* NEWS, include/support.h, src/dirtree.c, src/support.c: Added
-	  access_check() to handle correct permission checking.
+	access_check() to handle correct permission checking.
 
-2000-07-06 17:26  macgyver
+2000-07-07  macgyver <macgyver>
 
 	* src/auth.c: Minor correction to auth_uid_name and auth_gid_name.
 
-2000-07-06 17:00  macgyver
+2000-07-07  macgyver <macgyver>
 
 	* src/log.c: Documented design decision behind utmp entries and
-	  strings.
+	strings.
 
-2000-07-06 16:44  macgyver
+2000-07-06  macgyver <macgyver>
 
 	* doc/Configuration.html: Updates to documentation.
 
-2000-07-06 16:42  macgyver
+2000-07-06  macgyver <macgyver>
 
 	* modules/Makefile.in: Removed mod_mysql.h dependency.
 
-2000-07-06 13:19  macgyver
-
-	* contrib/mod_sqlpw.c: Added SQLKeyField, SQLKey and
-	  SQLAuthoritative directives.
-
-2000-07-06 13:08  macgyver
+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.
+	modules/mod_core.c, modules/mod_xfer.c: Fixed GroupOwner and added
+	UserOwner.
 
-2000-07-06 12:29  macgyver
+2000-07-06  macgyver <macgyver>
 
-	* NEWS, config.h.in, configure, configure.in, src/main.c,
-	  modules/mod_auth.c: Added in support to handle large groups
-	  efficiently.	This should take care of the 'hangs forever on
-	  login' bug.
+	* 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 11:33  macgyver
+2000-07-06  macgyver <macgyver>
 
 	* modules/mod_auth.c: Fixed a bug when classes weren't enabled and
-	  DisplayConnect is used.
+	DisplayConnect is used.
 
-2000-07-06 06:33  macgyver
+2000-07-06  macgyver <macgyver>
 
 	* include/inet.h, src/data.c, src/inet.c: AllowForeignAddress
-	  directives now work on passive connections as well.
+	directives now work on passive connections as well.
 
-2000-07-06 05:58  macgyver
+2000-07-06  macgyver <macgyver>
 
 	* modules/mod_site.c: Typo in AllowChmod implementation. :)
 
-2000-07-06 05:44  macgyver
+2000-07-06  macgyver <macgyver>
 
 	* Make.rules.in: Minor cleanups.
 
-2000-07-05 23:59  macgyver
+2000-07-06  macgyver <macgyver>
 
 	* src/main.c: Added in set_proc_title duirng login.
 
-2000-07-05 23:53  macgyver
+2000-07-06  macgyver <macgyver>
 
-	* modules/: mod_auth.c, mod_core.c, mod_xfer.c: Stubs for
-	  unimplemented commands.  Bleh...we need to overhaul this
-	  protocol.
+	* 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-05 23:46  macgyver
+2000-07-06  macgyver <macgyver>
 
 	* doc/Configuration.html: Updated classes documentation.
 
-2000-07-05 23:45  macgyver
+2000-07-06  macgyver <macgyver>
 
 	* NEWS, modules/mod_xfer.c: Minor typo in cmd_stor.
 
-2000-07-05 23:42  macgyver
+2000-07-06  macgyver <macgyver>
 
 	* modules/mod_auth.c: Fixed a minor race condition in classes.
 
-2000-07-05 23:18  macgyver
+2000-07-06  macgyver <macgyver>
 
 	* NEWS, modules/mod_ls.c: Fixed a minor permissions display problem
-	  when DirFakeMode is not in use.
-
-2000-07-05 23:13  macgyver
+	when DirFakeMode is not in use.
 
-	* src/proftpd.8: Added documentation for -t option.
-
-2000-07-05 23:08  macgyver
+2000-07-06  macgyver <macgyver>
 
 	* src/main.c: Fixed use of 500 instead of R_500.
 
-2000-07-05 22:58  macgyver
-
-	* NEWS, config.h.in, configure, configure.in, lib/vsnprintf.c,
-	  src/ftpcount.c: Made portable *snprintf libraries more so by
-	  supporting floating point operations and updated ftpcount
-	  accordingly.
+2000-07-06  macgyver <macgyver>
 
-2000-07-05 22:57  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.
 
-	* modules/mod_pam.c: Added in session control management.
-
-2000-07-05 21:51  macgyver
+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.
+	passwd scheme that allows comments and blank lines in passwd files.
 
-2000-07-05 21:41  macgyver
+2000-07-06  macgyver <macgyver>
 
 	* NEWS, modules/mod_site.c: Added AllowChmod directive.
 
-2000-07-05 21:24  macgyver
+2000-07-06  macgyver <macgyver>
 
-	* NEWS, doc/Configuration.html, modules/mod_ls.c,
-	  modules/mod_readme.c: DisplayReadme now accepts patterns.
+	* NEWS, doc/Configuration.html, modules/mod_ls.c: DisplayReadme now
+	accepts patterns.
 
-2000-07-05 20:55  macgyver
+2000-07-06  macgyver <macgyver>
 
-	* Make.rules.in, NEWS, include/default_paths.h, src/main.c,
-	  src/proftpd.8: A PID file is now created in standalone mode.
+	* Make.rules.in, NEWS, include/default_paths.h, src/main.c: A PID
+	file is now created in standalone mode.
 
-2000-07-05 20:32  macgyver
+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.
+	modules/mod_ls.c: Fixed a POSIX issue regarding NAME_MAX usage.
 
-2000-07-05 20:31  macgyver
+2000-07-06  macgyver <macgyver>
 
 	* NEWS: Updated news.
 
-2000-07-05 20:31  macgyver
+2000-07-06  macgyver <macgyver>
 
 	* INSTALL: Updated documentation.
 
-2000-07-03 11:25  macgyver
+2000-07-03  macgyver <macgyver>
 
 	* modules/mod_ls.c: Fixed potential buffer problem in dolist().
 
-2000-07-03 09:25  macgyver
+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.
+	comments about potential buffer problems to be fixed after 1.2.0.
 
-2000-07-03 09:03  macgyver
+2000-07-03  macgyver <macgyver>
 
 	* README.PAM: Updated PAM documentation to reflect AuthPAM.
 
-2000-07-03 08:55  macgyver
-
-	* modules/mod_pam.c: Changed PAMConfig to AuthPAMConfig for
-	  compatability reasons going forward.	Added in AuthPAM directive
-	  to selectively activate/deactivate PAM.  Cleaned up PAM functions
-	  a bit and made some checks more strict.  Removed a minor
-	  potential memory leak.
-
-2000-07-03 07:30  macgyver
+2000-07-03  macgyver <macgyver>
 
 	* src/main.c: Security fix in setproctitle().
 
-2000-05-15 08:08  macgyver
-
-	* contrib/mod_sqlpw.c: Fixed the 'password shows up instead of the
-	  username' problem with SQL passwords
-
-2000-03-05 23:11  macgyver
+2000-03-06  macgyver <macgyver>
 
 	* CREDITS: Updated CREDITS
 
-2000-03-05 22:44  macgyver
+2000-03-06  macgyver <macgyver>
 
 	* INSTALL: An even cooler INSTALL file
 
-2000-03-05 22:38  macgyver
+2000-03-06  macgyver <macgyver>
 
 	* INSTALL, doc/Configuration.html: Documentation updates
 
-2000-03-05 22:25  macgyver
+2000-03-06  macgyver <macgyver>
 
 	* NEWS, modules/mod_ls.c: Added in -L option for things like mirror
-	  to work with symlinks
+	to work with symlinks
 
-2000-03-05 21:32  macgyver
+2000-03-06  macgyver <macgyver>
 
 	* configure, configure.in: Fixed a bug in link-testing for -ldl
 
-2000-03-03 13:10  macgyver
-
-	* config.h.in, configure, configure.in, modules/mod_pam.c: Minor
-	  cleanups of configure scripts to remove dependencies on -ldl
+2000-03-03  macgyver <macgyver>
 
-2000-03-02 07:32  macgyver
+	* config.h.in, configure, configure.in: Minor cleanups of configure
+	scripts to remove dependencies on -ldl
 
-	* src/: ftpcount.1, ftpshut.8, ftpwho.1, proftpd.8, xferlog.5:
-	  Cleaned up man pages a bit.  Lots more work still needed, though.
-
-2000-02-29 22:13  macgyver
+2000-03-01  macgyver <macgyver>
 
 	* NEWS, modules/mod_ls.c: Put in a better optimized sreaddir
-	  function
+	function
 
-2000-02-29 22:13  macgyver
+2000-03-01  macgyver <macgyver>
 
-	* modules/mod_auth.c: Cleanup of a couple of typos, and removed
-	  some redundant code
+	* modules/mod_auth.c: Cleanup of a couple of typos, and removed some
+	redundant code
 
-2000-02-29 22:12  macgyver
+2000-03-01  macgyver <macgyver>
 
-	* include/conf.h, modules/mod_tar.c: Moved the NAME_MAX stuff into
-	  conf.h, for portability
+	* include/conf.h: Moved the NAME_MAX stuff into conf.h, for
+	portability
 
-2000-02-29 22:11  macgyver
+2000-03-01  macgyver <macgyver>
 
-	* src/pool.c: Commented out references to symbol information in
-	  pool allocations
+	* src/pool.c: Commented out references to symbol information in pool
+	allocations
 
-2000-02-28 23:25  macgyver
+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-28 23:25  macgyver
+	src/main.c: Added in support for tzset, to preserve timezone
+	information across a chroot
 
-	* src/ftpcount.c: Cleaned up a couple of compile-time warnings
-
-2000-02-28 17:11  macgyver
+2000-02-29  macgyver <macgyver>
 
 	* NEWS, lib/vsnprintf.c, src/log.c: Removed spurious alloca calls
 
-2000-02-28 16:30  macgyver
-
-	* modules/mod_tar.c: Make mod_tar more portable
-
-2000-02-28 12:19  macgyver
+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
+	modules/mod_log.c: Added in %A, %F, and %m to LogFormat so we can do
+	CLF-style logs now
 
-2000-02-28 12:02  macgyver
+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
+	allow for syntax checking of a config file and made config file
+	errors give line and file information on failure
 
-2000-02-28 11:06  macgyver
+2000-02-28  macgyver <macgyver>
 
-	* modules/: mod_auth.c, mod_core.c: Minor cosmetic cleanups
+	* modules/mod_auth.c, modules/mod_core.c: Minor cosmetic cleanups
 
-2000-02-28 10:57  macgyver
+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
+	in a user-friendly way in DisplayQuit
 
-2000-02-28 10:56  macgyver
+2000-02-28  macgyver <macgyver>
 
 	* modules/mod_auth.c: Make root logins louder
 
-2000-02-28 03:15  macgyver
+2000-02-28  macgyver <macgyver>
 
 	* NEWS, README.Unixware, config.guess, config.sub: Unixware support
-	  and updated config.guess, config.sub files
+	and updated config.guess, config.sub files
 
-2000-02-28 02:50  macgyver
+2000-02-28  macgyver <macgyver>
 
 	* NEWS, src/inet.c: FreeBSD 4.0 support added
 
-2000-02-28 02:46  macgyver
-
-	* modules/: mod_pam.c, mod_unixpw.c: Fixed a minor typo in pw_auth
+2000-02-28  macgyver <macgyver>
 
-2000-02-28 02:42  macgyver
+	* NEWS: Added mod_quota
 
-	* NEWS, contrib/mod_quota.c: Added mod_quota
-
-2000-02-28 02:37  macgyver
+2000-02-28  macgyver <macgyver>
 
 	* modules/mod_xfer.c: Include sys/sendfile.h
 
-2000-02-28 02:32  macgyver
+2000-02-28  macgyver <macgyver>
 
 	* modules/mod_core.c: Minor cleanups of unused variables
 
-2000-02-28 02:25  macgyver
+2000-02-28  macgyver <macgyver>
 
-	* NEWS, modules/mod_log.c: Logging of transfer times is more
-	  precise
+	* NEWS, modules/mod_log.c: Logging of transfer times is more precise
 
-2000-02-28 02:19  macgyver
+2000-02-28  macgyver <macgyver>
 
 	* modules/mod_core.c: Fixed a typo that called VirtualHost a
-	  VirtualServer
+	VirtualServer
 
-2000-02-28 02:16  macgyver
+2000-02-28  macgyver <macgyver>
 
 	* NEWS, modules/mod_log.c: Add a warning for invalid classes in
-	  ExtendedLog
+	ExtendedLog
 
-2000-02-28 02:14  macgyver
+2000-02-28  macgyver <macgyver>
 
 	* NEWS, src/main.c: Save environment before doing anything with
-	  set_proc_title.
+	set_proc_title.
 
-2000-02-26 13:34  macgyver
+2000-02-26  macgyver <macgyver>
 
 	* NEWS, contrib/mod_ldap.c: Updated mod_ldap to 2.5.2.
 
-2000-02-26 13:31  macgyver
+2000-02-26  macgyver <macgyver>
 
 	* NEWS, modules/mod_xfer.c: Updated bandwidth code to use select
-	  instead of usleep.
+	instead of usleep.
 
-2000-02-15 16:33  macgyver
+2000-02-16  macgyver <macgyver>
 
 	* NEWS, src/dirtree.c: Fixed Umask handling for directories.
 
-2000-02-15 16:09  macgyver
+2000-02-16  macgyver <macgyver>
 
 	* NEWS, modules/mod_xfer.c: Correct the case where there is no
-	  second argument to TYPE L X.
+	second argument to TYPE L X.
 
-2000-02-15 15:48  macgyver
+2000-02-15  macgyver <macgyver>
 
 	* src/support.c: Correct calc_fs to actually make the right
-	  calculation when using statvfs.
+	calculation when using statvfs.
 
-2000-02-01 08:59  macgyver
+2000-02-01  macgyver <macgyver>
 
 	* modules/mod_auth.c: Fixed a NULL dereference when AuthUsingAlias
-	  is used outside of <Anonymous> directives.
+	is used outside of <Anonymous> directives.
 
-2000-01-23 21:59  macgyver
+2000-01-24  macgyver <macgyver>
 
-	* NEWS, modules/mod_auth.c: Fixed a small group permissions
-	  problem.
+	* NEWS, modules/mod_auth.c: Fixed a small group permissions problem.
 
-2000-01-23 21:47  macgyver
+2000-01-24  macgyver <macgyver>
 
-	* src/: dirtree.c, main.c: Removed references to the fastpathing of
-	  limits.  This topic is too complex to deal with for 1.2.0.
+	* 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-23 17:15  macgyver
+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.
-	  :)
+	fastpath...needs more work, and I need to step out for a while. :)
 
-2000-01-23 17:03  macgyver
+2000-01-24  macgyver <macgyver>
 
 	* src/main.c: Added a fastpath for denying commands in the dispatch
-	  loop.
-
-2000-01-23 16:46  macgyver
-
-	* include/proftpd.h, modules/mod_auth.c, modules/mod_core.c,
-	  src/ftpcount.c: Support for class listing in ftpcount.  Support
-	  for full use of % options in DisplayConnect.
+	loop.
 
-2000-01-23 15:37  macgyver
+2000-01-24  macgyver <macgyver>
 
-	* doc/Undocumented.txt: Updated Undocumented.txt.
+	* 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 15:37  macgyver
+2000-01-23  macgyver <macgyver>
 
 	* doc/Configuration.html: Documentation for Include directive.
 
-2000-01-23 15:31  macgyver
+2000-01-23  macgyver <macgyver>
 
 	* modules/mod_core.c: Added 'Include' directive.
 
-2000-01-23 15:12  macgyver
+2000-01-23  macgyver <macgyver>
 
-	* modules/mod_pam.c: Re-add -ldl to mod_pam.
+	* modules/mod_core.c: DisplayConnect now supports all the % options.
+	Correct a bug with %z printing in classes.
 
-2000-01-23 14:55  macgyver
+2000-01-23  macgyver <macgyver>
 
-	* modules/mod_core.c: DisplayConnect now supports all the %
-	  options.  Correct a bug with %z printing in classes.
+	* modules/mod_ls.c: Added TimesGMT, and made our listing output more
+	consistent.
 
-2000-01-23 14:49  macgyver
-
-	* modules/mod_ls.c: Added TimesGMT, and made our listing output
-	  more consistent.
-
-2000-01-23 14:48  macgyver
+2000-01-23  macgyver <macgyver>
 
 	* doc/Configuration.html: Added documentation for Class/Classes and
-	  TimeGMT.
+	TimeGMT.
 
-2000-01-23 10:38  macgyver
+2000-01-23  macgyver <macgyver>
 
 	* NEWS, modules/mod_ls.c: Fix a stupid dereference in mod_ls.
 
-2000-01-17 19:16  macgyver
+2000-01-18  macgyver <macgyver>
 
 	* CREDITS: Added a CREDITS file.
 
-2000-01-17 19:15  macgyver
+2000-01-18  macgyver <macgyver>
 
 	* README: Updated with new web site.
 
-2000-01-17 19:14  macgyver
-
-	* contrib/dist/rpm/proftpd.spec.in: Updated for new web site.
-
-2000-01-17 19:08  macgyver
+2000-01-18  macgyver <macgyver>
 
-	* ChangeLog: Updated for pre10.
+	* ChangeLog, include/version.h: Updated for pre10.
 
-2000-01-17 19:04  macgyver
-
-	* include/version.h: Updated for pre10.
-
-2000-01-17 19:01  macgyver
+2000-01-18  macgyver <macgyver>
 
 	* NEWS: Updated for pre10 release.
 
-2000-01-17 18:07  macgyver
+2000-01-18  macgyver <macgyver>
 
 	* doc/Configuration.html, include/dirtree.h, modules/mod_core.c,
-	  src/dirtree.c: Corrected some errors in .ftpaccess handling.
+	src/dirtree.c: Corrected some errors in .ftpaccess handling.
 
-2000-01-17 18:00  macgyver
+2000-01-18  macgyver <macgyver>
 
 	* config.sub: Recognize BSDI on an UltraSPaRC
 
-2000-01-17 16:41  macgyver
+2000-01-18  macgyver <macgyver>
 
 	* NEWS, src/inet.c: inet_getname no longer returns NULL in bad host
-	  entry cases.
+	entry cases.
 
-2000-01-17 16:27  macgyver
+2000-01-18  macgyver <macgyver>
 
-	* NEWS, src/fs.c: Corrected ~ reporting.
+	* NEWS: Corrected ~ reporting.
 
-2000-01-15 14:54  macgyver
+2000-01-15  macgyver <macgyver>
 
 	* lib/pwgrent.c: Corrected an allocation error in pwgrent.
 
-2000-01-03 13:28  macgyver
+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.
+	Simon's patch to handle chdir-ing properly into user accounts.
 
-2000-01-03 12:17  macgyver
+2000-01-03  macgyver <macgyver>
 
-	* modules/mod_xfer.c: Handle a case with a zero-length file for
-	  BSD.
+	* modules/mod_xfer.c: Handle a case with a zero-length file for BSD.
 
-1999-12-30 11:06  macgyver
+1999-12-30  macgyver <macgyver>
 
 	* src/data.c: Fixed total calculation.
 
-1999-12-30 10:41  macgyver
+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.
+	* 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-29 22:27  macgyver
+1999-12-30  macgyver <macgyver>
 
 	* ChangeLog, src/data.c: Added a fix for BSD's strange sendfile
-	  behavior.
+	behavior.
 
-1999-12-29 12:08  macgyver
+1999-12-29  macgyver <macgyver>
 
 	* src/data.c: Minor correction to sendfile() semantics on FreeBSD.
 
-1999-12-28 07:54  macgyver
+1999-12-28  macgyver <macgyver>
 
-	* contrib/mod_linuxprivs.c, contrib/mod_sqlpw.c,
-	  modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c,
-	  modules/mod_ls.c, modules/mod_readme.c, modules/mod_site.c,
-	  modules/mod_xfer.c: Ensured that cmdtable structs remained static
-	  to the files they're defined in.
+	* 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 07:43  macgyver
+1999-12-28  macgyver <macgyver>
 
 	* ChangeLog: Updated ChangeLog.
 
-1999-12-28 07:43  macgyver
+1999-12-28  macgyver <macgyver>
 
-	* src/: support.c, utils.c: Cleaned up sstrncpy properly and backed
-	  out previous incorrect cleanup.
+	* src/support.c: Cleaned up sstrncpy properly and backed out
+	previous incorrect cleanup.
 
-1999-12-27 23:45  macgyver
+1999-12-28  macgyver <macgyver>
 
 	* NEWS: Updated again.
 
-1999-12-27 23:43  macgyver
+1999-12-28  macgyver <macgyver>
 
 	* NEWS: Updated NEWS.
 
-1999-12-27 23:33  macgyver
+1999-12-28  macgyver <macgyver>
 
-	* src/: support.c, utils.c: Cleaned up the implementation of
-	  sstrncpy slightly.
+	* src/support.c: Cleaned up the implementation of sstrncpy slightly.
 
-1999-12-27 23:27  macgyver
+1999-12-28  macgyver <macgyver>
 
 	* modules/mod_xfer.c: Disable sendfile() if we're using bandwidth
-	  control.
+	control.
 
-1999-12-27 23:18  macgyver
+1999-12-28  macgyver <macgyver>
 
 	* modules/mod_auth.c: Fixed a missing variable in a log_auth entry.
 
-1999-12-27 22:32  macgyver
+1999-12-28  macgyver <macgyver>
 
 	* INSTALL, README, doc/Configuration.html: Updated documentation to
-	  reflect new web site.
+	reflect new web site.
 
-1999-12-27 22:26  macgyver
+1999-12-28  macgyver <macgyver>
 
 	* configure, configure.in: Fixed the detection of hpsecurity.h
 
-1999-12-27 22:24  macgyver
-
-	* modules/mod_readme.c: A minor Y2K correction in handling READMEs.
+1999-12-27  macgyver <macgyver>
 
-1999-12-26 19:03  macgyver
+	* NEWS, README.LDAP, contrib/mod_ldap.c, doc/Configuration.html: 
+	Updated mod_ldap.
 
-	* NEWS, README.LDAP, contrib/mod_ldap.c, doc/Configuration.html:
-	  Updated mod_ldap.
-
-1999-12-26 18:53  macgyver
+1999-12-27  macgyver <macgyver>
 
 	* configure, configure.in: Fixed a minor typo in a test case.
 
-1999-12-26 18:48  macgyver
+1999-12-27  macgyver <macgyver>
 
 	* modules/mod_auth.c: Group handling fixed for complex groups.
 
-1999-12-26 18:43  macgyver
+1999-12-27  macgyver <macgyver>
 
 	* modules/mod_xfer.c: Corrected a minor misdefinition in
-	  xfer_init_parent.
+	xfer_init_parent.
 
-1999-12-22 22:05  macgyver
+1999-12-23  macgyver <macgyver>
 
 	* NEWS, lib/pwgrent.c: Generate a meaningful error for bad group
-	  entries.
+	entries.
 
-1999-12-22 22:04  macgyver
+1999-12-23  macgyver <macgyver>
 
 	* modules/mod_xfer.c: Added more caught cases in sendfile().
 
-1999-12-09 06:54  macgyver
+1999-12-09  macgyver <macgyver>
 
 	* src/support.c: Small Y2K fix.
 
-1999-11-28 21:26  macgyver
+1999-11-29  macgyver <macgyver>
 
-	* NEWS, src/data.c: sendfile() doesn't log spurious errors unless
-	  in debug mode.
+	* NEWS, src/data.c: sendfile() doesn't log spurious errors unless in
+	debug mode.
 
-1999-10-27 13:45  macgyver
+1999-10-27  macgyver <macgyver>
 
 	* configure, configure.in: Corrected intall_group handling.
 
-1999-10-27 13:43  macgyver
+1999-10-27  macgyver <macgyver>
 
 	* modules/mod_xfer.c: Minor optimization in sendfile() detection on
-	  Linux.
+	Linux.
 
-1999-10-26 23:26  macgyver
+1999-10-27  macgyver <macgyver>
 
 	* modules/mod_xfer.c: Minor log cleanup for data_sendfile.
 
-1999-10-26 23:24  macgyver
+1999-10-27  macgyver <macgyver>
 
 	* modules/mod_xfer.c: Moved around some logging for data_sendfile.
 
-1999-10-26 22:45  macgyver
+1999-10-27  macgyver <macgyver>
 
 	* contrib/.cvsignore: Updated for proftpd.spec.
 
-1999-10-26 22:45  macgyver
-
-	* contrib/dist/rpm/.cvsignore: New file.
-
-1999-10-26 22:44  macgyver
+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.
+	tolerant approach to slow connections.  It seems that the problem is
+	that its too fast.
 
-1999-10-26 22:43  macgyver
+1999-10-27  macgyver <macgyver>
 
 	* Makefile.in: Minor path correction for proftpd.spec.
 
-1999-10-26 20:06  macgyver
+1999-10-27  macgyver <macgyver>
 
 	* ChangeLog: Updated.
 
-1999-10-26 20:01  macgyver
-
-	* NEWS, contrib/dist/rpm/proftpd.spec.in: Minor cleanups.
+1999-10-27  macgyver <macgyver>
 
-1999-10-26 19:36  macgyver
+	* NEWS: Minor cleanups.
 
-	* NEWS, README.LDAP, doc/Configuration.html, include/version.h:
-	  Documentation updates and version bump to pre9.
+1999-10-27  macgyver <macgyver>
 
-1999-10-26 19:20  macgyver
+	* NEWS, README.LDAP, doc/Configuration.html, include/version.h: 
+	Documentation updates and version bump to pre9.
 
-	* contrib/dist/rpm/proftpd.spec.in: Updated to reflect new paths.
-
-1999-10-26 18:58  macgyver
+1999-10-27  macgyver <macgyver>
 
 	* modules/mod_xfer.c: Added support for TYPE L for RFC 959
-	  compliance.
+	compliance.
 
-1999-10-26 18:43  macgyver
+1999-10-27  macgyver <macgyver>
 
-	* doc/rfc/: draft-bonachea-sftp-00.txt,
-	  draft-ietf-ftpext-mlst-08.txt,
-	  draft-ietf-ftpext-sec-consider-02.txt, rfc0959.txt, rfc2228.txt:
-	  Added RFCs to the documentation.
+	* 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-26 18:08  macgyver
+1999-10-27  macgyver <macgyver>
 
 	* configure, configure.in: Fixed my stupid typo in FreeBSD
-	  setpassent.
+	setpassent.
 
-1999-10-26 18:02  macgyver
+1999-10-27  macgyver <macgyver>
 
-	* doc/: Configuration.html, Undocumented.txt: Added more
-	  directives.
+	* doc/Configuration.html: Added more directives.
 
-1999-10-25 13:13  macgyver
+1999-10-25  macgyver <macgyver>
 
-	* doc/: Configuration.html, ShowUndocumented, Undocumented.txt:
-	  More additions, courtesy of Ben Ritcey.
+	* doc/Configuration.html: More additions, courtesy of Ben Ritcey.
 
-1999-10-22 22:24  macgyver
+1999-10-23  macgyver <macgyver>
 
 	* NEWS: Added AuthUsingAlias.
 
-1999-10-22 22:18  macgyver
+1999-10-23  macgyver <macgyver>
 
-	* doc/Configuration.html, modules/mod_auth.c, modules/mod_core.c:
-	  Added in AuthUsingAlias.
+	* doc/Configuration.html, modules/mod_auth.c, modules/mod_core.c: 
+	Added in AuthUsingAlias.
 
-1999-10-22 21:07  macgyver
+1999-10-23  macgyver <macgyver>
 
-	* configure, configure.in, contrib/ftp.pamd,
-	  contrib/proftpd.spec.in, contrib/dist/rpm/ftp.pamd,
-	  contrib/dist/rpm/proftpd.init.d,
-	  contrib/dist/rpm/proftpd.spec.in, doc/Undocumented.txt: Moved
-	  around RPM build files.
+	* configure, configure.in, contrib/dist/rpm/ftp.pamd,
+	contrib/dist/rpm/proftpd.init.d: Moved around RPM build files.
 
-1999-10-22 20:53  macgyver
+1999-10-23  macgyver <macgyver>
 
 	* ChangeLog: Updated.
 
-1999-10-22 20:52  macgyver
+1999-10-23  macgyver <macgyver>
 
 	* NEWS, modules/mod_xfer.c: Minor updates.
 
-1999-10-22 20:39  macgyver
-
-	* contrib/proftpd.spec.in: Updated spec file to produce standalone
-	  and inetd packages.
-
-1999-10-22 20:21  macgyver
+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.
+	modules/mod_auth.c: Updates for FreeBSD's brokenness with respect to
+	setpassent.
 
-1999-10-22 20:21  macgyver
+1999-10-23  macgyver <macgyver>
 
 	* modules/mod_xfer.c: FreeBSD cleanups for sendfile().
 
-1999-10-22 19:48  macgyver
+1999-10-23  macgyver <macgyver>
 
 	* contrib/mod_ldap.c: Updated mod_ldap.
 
-1999-10-20 21:37  macgyver
-
-	* modules/mod_pam.c: Minor cleanups/updates.
+1999-10-21  macgyver <macgyver>
 
-1999-10-20 21:36  macgyver
-
-	* doc/: Configuration.html, ShowUndocumented, Undocumented.txt:
-	  Updated configuration documentation.
+	* doc/Configuration.html: Updated configuration documentation.
 
-1999-10-17 22:12  macgyver
+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.
+	modules/mod_core.c, src/dirtree.c: Added a second argument to the
+	Umask directive to handle directories.
 
-1999-10-17 22:11  macgyver
+1999-10-18  macgyver <macgyver>
 
 	* modules/mod_xfer.c: sendfile() now deprecates politely on Linux
-	  2.0.x.
+	2.0.x.
 
-1999-10-17 13:09  macgyver
+1999-10-17  macgyver <macgyver>
 
 	* doc/Configuration.html: Added in documentation for DisplayReadme.
 
-1999-10-17 12:11  macgyver
-
-	* contrib/genuser.pl: Added in genuser.pl to facilitiate the
-	  creation of username:password AuthUserFile entries.
-
-1999-10-11 22:28  macgyver
-
-	* src/ftpwho.c: Added in ftpwho.c.
-
-1999-10-11 20:40  macgyver
-
-	* modules/mod_pam.c: Fixed AuthPAMAuthoritative.
-
-1999-10-11 04:14  macgyver
-
-	* contrib/: mod_pgsql.c, mod_sqlpw.c: Minor code cleanups.
-
-1999-10-11 00:28  macgyver
+1999-10-11  macgyver <macgyver>
 
 	* NEWS, config.h.in, configure, configure.in, include/conf.h: Added
-	  in support for setgroupent.
+	in support for setgroupent.
 
-1999-10-11 00:20  macgyver
+1999-10-11  macgyver <macgyver>
 
 	* modules/mod_auth.c: Fixed the 'no names, just UIDs' bug.
 
-1999-10-10 22:07  macgyver
+1999-10-11  macgyver <macgyver>
 
 	* ChangeLog: Updated.
 
-1999-10-10 21:45  macgyver
+1999-10-11  macgyver <macgyver>
 
-	* Make.rules.in, Makefile.in, NEWS, src/Makefile.in,
-	  src/ftpcount.c: Corrected a couple of grammatical errors in
-	  ftpcount/ftpwho, and seperated them into their own binaries.
+	* 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-10 20:13  macgyver
+1999-10-11  macgyver <macgyver>
 
-	* NEWS, configure, contrib/mod_ldap.c, contrib/mod_linuxprivs.c,
-	  contrib/mod_ratio.c, modules/mod_auth.c, modules/mod_core.c,
-	  modules/mod_log.c, modules/mod_ls.c, modules/mod_pam.c,
-	  modules/mod_readme.c, modules/mod_xfer.c, src/log.c, src/main.c,
-	  src/utils.c: Updated logging to be more consistent, and generally
-	  be more informative.
+	* 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-10 20:10  macgyver
+1999-10-11  macgyver <macgyver>
 
 	* README.PAM: Updated some information for FreeBSD, SuSE, and
-	  others.
+	others.
 
-1999-10-10 11:33  macgyver
+1999-10-10  macgyver <macgyver>
 
 	* NEWS, configure.in: install_group slightly more portable.
 
-1999-10-10 03:05  macgyver
+1999-10-10  macgyver <macgyver>
 
 	* contrib/mod_ldap.c: Updated author/copyright info.
 
-1999-10-10 03:01  macgyver
+1999-10-10  macgyver <macgyver>
 
 	* contrib/mod_ldap.c, doc/Configuration.html: Added in mod_ldap.
 
-1999-10-07 11:10  macgyver
+1999-10-07  macgyver <macgyver>
 
 	* NEWS: Updated.
 
-1999-10-07 11:10  macgyver
-
-	* modules/mod_pam.c: Removed Log RCS ID.
-
-1999-10-06 20:25  macgyver
+1999-10-07  macgyver <macgyver>
 
 	* modules/mod_auth.c, modules/mod_core.c, src/main.c: Added in some
-	  better/clearer logging support.
+	better/clearer logging support.
 
-1999-10-05 22:26  macgyver
+1999-10-06  macgyver <macgyver>
 
 	* NEWS, README.PAM: Fixed FreeBSD documentation.
 
-1999-10-05 20:48  macgyver
+1999-10-06  macgyver <macgyver>
 
 	* modules/mod_auth.c: Fixed potential segfault in
-	  group_expression().
+	group_expression().
 
-1999-10-05 20:47  macgyver
+1999-10-06  macgyver <macgyver>
 
 	* doc/Configuration.html: Removed Bandwidth from docs.
 
-1999-10-05 20:40  macgyver
+1999-10-06  macgyver <macgyver>
 
 	* NEWS: Updated.
 
-1999-10-05 20:39  macgyver
-
-	* modules/mod_pam.c: AuthPAMAuthoritative now defaults to False.
-
-1999-10-04 22:39  macgyver
+1999-10-05  macgyver <macgyver>
 
 	* NEWS: Added a news file.
 
-1999-10-04 22:37  macgyver
+1999-10-05  macgyver <macgyver>
 
-	* acconfig.h, config.h.in, configure, configure.in,
-	  doc/Undocumented.txt, include/data.h, src/data.c: Added in
-	  support for sendfile on BSD platforms.
+	* acconfig.h, config.h.in, configure, configure.in, include/data.h,
+	src/data.c: Added in support for sendfile on BSD platforms.
 
-1999-10-04 21:28  macgyver
+1999-10-05  macgyver <macgyver>
 
-	* ChangeLog, Makefile.in, doc/Undocumented.txt, doc/mod_sample.c,
-	  modules/mod_sample.c: Miscellaneous reshuffling.
+	* ChangeLog, Makefile.in, doc/mod_sample.c: Miscellaneous
+	reshuffling.
 
-1999-10-04 17:07  macgyver
+1999-10-05  macgyver <macgyver>
 
 	* configure, configure.in: Fixed a small typo.
 
-1999-10-04 16:58  macgyver
+1999-10-04  macgyver <macgyver>
 
 	* ChangeLog: Updated.
 
-1999-10-04 16:58  macgyver
+1999-10-04  macgyver <macgyver>
 
 	* ChangeLog: [no log message]
 
-1999-10-04 16:57  macgyver
-
-	* changelog, doc/Changes-1.2.0pre3: Moved the old changelog to
-	  doc/Changes-1.2.0pre3 to avoid any confusion.
-
-1999-10-04 16:54  macgyver
+1999-10-04  macgyver <macgyver>
 
 	* ChangeLog: Updated the ChangeLog.
 
-1999-10-04 16:41  macgyver
-
-	* contrib/mod_pgsql.c: Fixed a bad path in includes.
-
-1999-10-04 16:39  macgyver
+1999-10-04  macgyver <macgyver>
 
 	* contrib/mod_ratio.c: Fixed a typo in an snprintf.
 
-1999-10-04 16:35  macgyver
+1999-10-04  macgyver <macgyver>
 
 	* include/version.h: Updated to pre8.
 
-1999-10-04 16:35  macgyver
+1999-10-04  macgyver <macgyver>
 
 	* configure, configure.in: Enhanced configure to automagically
-	  create the necessary symlinks.
-
-1999-10-04 16:34  macgyver
+	create the necessary symlinks.
 
-	* contrib/: mod_mysql.c, mod_pgsql.c: Fixed references to absolute
-	  paths.
+1999-10-04  macgyver <macgyver>
 
-1999-10-04 16:09  macgyver
+	* contrib/mod_ratio.c: Added in Johnie Ingram's latest mod_*sql
+	patches, along with some slight buffer fixes of my own.
 
-	* contrib/: mod_mysql.c, mod_mysql.h, mod_pgsql.c, mod_ratio.c,
-	  mod_sqlpw.c: Added in Johnie Ingram's latest mod_*sql patches,
-	  along with some slight buffer fixes of my own.
-
-1999-10-01 16:52  macgyver
+1999-10-01  macgyver <macgyver>
 
 	* src/support.c: Fixed a typo with statvfs.
 
-1999-10-01 08:57  macgyver
-
-	* doc/Undocumented.txt: Updated undocumented directives.
-
-1999-10-01 01:13  macgyver
+1999-10-01  macgyver <macgyver>
 
 	* ChangeLog: Moved to cvs2cl generation of ChangeLogs.
 
-1999-10-01 00:58  macgyver
+1999-10-01  macgyver <macgyver>
 
 	* ChangeLog: Updated ChangeLog
 
-1999-10-01 00:57  macgyver
+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/io.c, src/log.c, src/main.c: Added
-	  classes support, new bandwidth support, and sendfile support.
+	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 00:55  macgyver
+1999-10-01  macgyver <macgyver>
 
 	* src/data.c: Added support for sendfile().
 
-1999-09-30 21:08  macgyver
-
-	* doc/Undocumented.txt: Regenerated the undocumented directives.
-
-1999-09-30 20:49  macgyver
+1999-10-01  macgyver <macgyver>
 
 	* include/privs.h, modules/mod_auth.c: Added in support for
-	  setresuid on HP/UX.
+	setresuid on HP/UX.
 
-1999-09-30 20:36  macgyver
+1999-10-01  macgyver <macgyver>
 
 	* doc/Configuration.html, modules/mod_xfer.c: Added new Bandwidth
-	  code and documentation.
+	code and documentation.
 
-1999-09-30 20:35  macgyver
+1999-10-01  macgyver <macgyver>
 
 	* modules/mod_auth.c: Corrected a tricky bug with parsing of
-	  configuration files.	Thanks Klaus.
+	configuration files.  Thanks Klaus.
 
-1999-09-30 20:34  macgyver
+1999-10-01  macgyver <macgyver>
 
 	* modules/mod_ls.c: Fixed a silly typo with snprintf.
 
-1999-09-30 20:33  macgyver
-
-	* modules/mod_unixpw.c: Added support for HP/UX-style security.
-
-1999-09-30 20:33  macgyver
+1999-10-01  macgyver <macgyver>
 
 	* modules/mod_core.c: Removed old and naieve bandwidth code.
 
-1999-09-30 20:32  macgyver
+1999-10-01  macgyver <macgyver>
 
-	* src/dirtree.c, include/dirtree.h: Remove old and naieve bandwidth
-	  code.
+	* include/dirtree.h, src/dirtree.c: Remove old and naieve bandwidth
+	code.
 
-1999-09-30 20:31  macgyver
+1999-10-01  macgyver <macgyver>
 
 	* config.h.in, configure, configure.in: HP/UX security detection
-	  added.
+	added.
 
-1999-09-29 23:10  macgyver
+1999-09-30  macgyver <macgyver>
 
 	* modules/mod_auth.c: Fix a potential security hole.
 
-1999-09-29 23:10  macgyver
+1999-09-30  macgyver <macgyver>
 
-	* modules/mod_ls.c: DirFakeMode available inside <Directory>
-	  blocks.
+	* modules/mod_ls.c: DirFakeMode available inside <Directory> blocks.
 
-1999-09-29 23:04  macgyver
+1999-09-30  macgyver <macgyver>
 
 	* configure, configure.in: Corrected configure portability issues.
 
-1999-09-29 23:03  macgyver
+1999-09-30  macgyver <macgyver>
 
 	* modules/mod_ls.c: Corrected static declarations.
 
-1999-09-29 22:54  macgyver
-
-	* contrib/mod_linuxprivs.c: Added support for PowerPC
-	  architectures.
-
-1999-09-29 22:54  macgyver
+1999-09-30  macgyver <macgyver>
 
 	* src/dirtree.c: Corrected a couple of problems related to IP LIMIT
-	  directives.
+	directives.
 
-1999-09-29 22:28  macgyver
+1999-09-30  macgyver <macgyver>
 
 	* contrib/mod_readme.c: Deleted spurious mod_readme file.
 
-1999-09-29 22:13  macgyver
+1999-09-30  macgyver <macgyver>
 
 	* modules/mod_core.c: Fixed compliance with RFC 929 with respect to
-	  RNTO.
+	RNTO.
 
-1999-09-29 13:46  macgyver
+1999-09-29  macgyver <macgyver>
 
-	* modules/: mod_auth.c, mod_ls.c: Minor bug fixes.
+	* modules/mod_auth.c, modules/mod_ls.c: Minor bug fixes.
 
-1999-09-29 13:45  macgyver
+1999-09-29  macgyver <macgyver>
 
-	* src/dirtree.c: Fixed a bug in match_ip that was causing some
-	  LIMIT directives to fail.
+	* src/dirtree.c: Fixed a bug in match_ip that was causing some LIMIT
+	directives to fail.
 
-1999-09-28 16:09  macgyver
+1999-09-28  macgyver <macgyver>
 
 	* src/inet.c: Corrected an incorrect call to inet_validate in
-	  inet_getaddr.
+	inet_getaddr.
 
-1999-09-26 14:42  macgyver
+1999-09-26  macgyver <macgyver>
 
 	* doc/Configuration.html: Fixed a small typo.
 
-1999-09-26 10:03  macgyver
+1999-09-26  macgyver <macgyver>
 
 	* ChangeLog: Added in a real ChangeLog.
 
-1999-09-26 03:02  macgyver
+1999-09-26  macgyver <macgyver>
 
-	* doc/Undocumented.txt, modules/mod_core.c: Added in
-	  CommandBufferSize.
+	* modules/mod_core.c: Added in CommandBufferSize.
 
-1999-09-25 23:00  macgyver
+1999-09-26  macgyver <macgyver>
 
 	* src/log.c: Corrected minor syslog errors.
 
-1999-09-25 22:36  macgyver
+1999-09-26  macgyver <macgyver>
 
 	* src/dirtree.c: Fixed a C++ style comment.
 
-1999-09-25 22:32  macgyver
-
-	* src/utils.c: Compilation issues on other Unix platforms
-	  addressed.
-
-1999-09-25 22:08  macgyver
-
-	* doc/Configuration.html: Added in updated configuration
-	  directives.
+1999-09-26  macgyver <macgyver>
 
-1999-09-18 11:26  macgyver
+	* doc/Configuration.html: Added in updated configuration directives.
 
-	* src/: dirtree.c, fs.c: Cleaned up usage of fs_readlink.
+1999-09-18  macgyver <macgyver>
 
-1999-09-18 11:25  macgyver
+	* : Cleaned up usage of fs_readlink.
 
-	* src/log.c: Code cleanups.
+1999-09-18  macgyver <macgyver>
 
-1999-09-18 11:25  macgyver
+	* src/pool.c, src/support.c: Minor code beautification.
 
-	* src/: pool.c, support.c: Minor code beautification.
-
-1999-09-18 11:23  macgyver
+1999-09-18  macgyver <macgyver>
 
 	* modules/mod_ls.c: Fixed some bad code calling fs_readlink.
 
-1999-09-17 00:36  macgyver
+1999-09-17  macgyver <macgyver>
 
 	* Makefile.in: Fixed symbolic link installation.
 
-1999-09-17 00:31  macgyver
+1999-09-17  macgyver <macgyver>
 
-	* contrib/mod_mysql.c, 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_pam.c, modules/mod_tar.c,
-	  modules/mod_test.c, modules/mod_xfer.c, src/auth.c,
-	  src/dirtree.c, src/fs.c, src/ftpcount.c, src/log.c, src/main.c,
-	  src/pool.c, src/support.c, src/utils.c: Implemented sstrncpy to
-	  handle proper buffer copying issues on all platforms.
+	* 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-16 21:14  macgyver
+1999-09-17  macgyver <macgyver>
 
 	* modules/mod_ls.c: gcc cleanups.
 
-1999-09-16 21:14  macgyver
+1999-09-17  macgyver <macgyver>
 
 	* modules/mod_log.c: Eliminated some potential problems with
-	  logging.
+	logging.
 
-1999-09-16 21:13  macgyver
+1999-09-17  macgyver <macgyver>
 
 	* modules/mod_xfer.c: gcc cleanups and a more informative error
-	  message added.
+	message added.
 
-1999-09-16 21:06  macgyver
+1999-09-17  macgyver <macgyver>
 
 	* src/log.c: More intelligent handling of logfiles to avoid a
-	  potential race condition.
+	potential race condition.
 
-1999-09-16 21:05  macgyver
+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.
+	AllowFilter/DenyFilter.  More intelligent handling of logfiles.  gcc
+	cleanups.  wu-ftp style logging of deleted files.
 
-1999-09-16 21:00  macgyver
+1999-09-17  macgyver <macgyver>
 
 	* src/pool.c: Fixed gcc warnings.
 
-1999-09-16 20:59  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>
 
-1999-09-16 20:57  macgyver
+	* src/main.c: Added AllowFilter/DenyFilter.  Fixed a small typo with
+	newlines.  Corrected a slight problem with memory debugging.  Fixed
+	several gcc warnings.
 
-	* src/utils.c: Check for bad DNS entries.
-
-1999-09-16 20:56  macgyver
+1999-09-17  macgyver <macgyver>
 
 	* include/inet.h, src/inet.c: Check for any potential DNS spoofing
-	  attacks from the outside.
+	attacks from the outside.
 
-1999-09-16 20:55  macgyver
+1999-09-17  macgyver <macgyver>
 
 	* include/version.h: Bumped version number.
 
-1999-09-16 20:54  macgyver
+1999-09-17  macgyver <macgyver>
 
 	* sample-configurations/complex-virtual.conf: Added in a new sample
-	  configuration.
-
-1999-09-16 20:53  macgyver
+	configuration.
 
-	* contrib/proftpd.spec.in: Added in mod_readme.
-
-1999-09-16 20:45  macgyver
+1999-09-17  macgyver <macgyver>
 
 	* .cvsignore, contrib/.cvsignore: Added some more files to ignore.
 
-1999-09-16 10:20  macgyver
+1999-09-16  macgyver <macgyver>
 
 	* src/main.c: Changed an argument reversal.
 
-1999-09-16 00:45  macgyver
+1999-09-16  macgyver <macgyver>
 
 	* src/log.c: Cleaned up some ugly code.
 
-1999-09-16 00:42  macgyver
+1999-09-16  macgyver <macgyver>
 
 	* src/main.c: Fixed a silly, yet insidious, way to overflow a
-	  buffer.
+	buffer.
 
-1999-09-14 11:36  macgyver
+1999-09-14  macgyver <macgyver>
 
 	* modules/mod_xfer.c: Corrected a minor typo .in -> .in.
 
-1999-09-14 01:43  macgyver
-
-	* changelog, include/proftpd.h, modules/mod_core.c,
-	  modules/mod_xfer.c: Implemented HiddenStor.
+1999-09-14  macgyver <macgyver>
 
-1999-09-12 14:11  macgyver
+	* include/proftpd.h, modules/mod_core.c, modules/mod_xfer.c: 
+	Implemented HiddenStor.
 
-	* README.Solaris2.5x: Additional information regarding Solaris
-	  2.5.x systems added.
+1999-09-12  macgyver <macgyver>
 
-1999-09-12 13:28  macgyver
+	* README.Solaris2.5x: Additional information regarding Solaris 2.5.x
+	systems added.
 
-	* 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>
 
-1999-09-12 10:04  macgyver
+	* config.h.in, configure, configure.in, include/conf.h, src/log.c: 
+	Added in support for utmpx under Solaris and like-minded platforms.
 
-	* doc/: Configuration.html, FAQ-config.html, GetConf,
-	  ShowUndocumented, Undocumented.txt: Added configuration
-	  documentation and 'un' documentation.
+1999-09-12  macgyver <macgyver>
 
-1999-09-12 09:30  macgyver
+	* doc/Configuration.html: Added configuration documentation and 'un'
+	documentation.
 
-	* contrib/mod_ratio.c, doc/GetConf, modules/mod_auth.c,
-	  modules/mod_core.c, modules/mod_log.c, modules/mod_ls.c,
-	  modules/mod_readme.c, modules/mod_sample.c: Initial import of
-	  GetConf, and slight cleanup in all modules.
+1999-09-12  macgyver <macgyver>
 
-1999-09-11 17:08  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.
 
-	* changelog, src/ftpcount.1, src/ftpshut.8, src/ftpwho.1,
-	  src/proftpd.8: Corrected mailing list addresses.
+1999-09-12  macgyver <macgyver>
 
-1999-09-11 17:05  macgyver
+	* include/version.h: Corrected versioning info.
 
-	* contrib/proftpd.spec.in, include/version.h: Corrected versioning
-	  info.
-
-1999-09-11 13:50  macgyver
+1999-09-11  macgyver <macgyver>
 
 	* configure, configure.in: Forgot the 'id' issue.
 
-1999-09-11 13:45  macgyver
-
-	* contrib/proftpd.spec.in: Cleanup of spec file.
-
-1999-09-11 13:44  macgyver
+1999-09-11  macgyver <macgyver>
 
 	* configure, configure.in: A couple of more configure fixes.
 
-1999-09-10 14:17  macgyver
+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.
+	handle log_xfer more like WU-FTPd.
 
-1999-09-10 13:17  macgyver
+1999-09-10  macgyver <macgyver>
 
-	* INSTALL, README, contrib/mod_pam.c, modules/mod_pam.c: Moved PAM
-	  into the main module set.  It's now a 'core' feature.
+	* INSTALL, README: Moved PAM into the main module set.  It's now a
+	'core' feature.
 
-1999-09-10 12:49  macgyver
+1999-09-10  macgyver <macgyver>
 
 	* src/main.c: Added CommandBufferSize option.
 
-1999-09-10 12:08  macgyver
+1999-09-10  macgyver <macgyver>
 
 	* configure, configure.in: Fixed a small typo with shadow use.
 
-1999-09-10 01:21  macgyver
+1999-09-10  macgyver <macgyver>
 
-	* configure, configure.in: Updated support for Solaris, and made
-	  PAM sleep quietly when told to do so.
+	* configure, configure.in: Updated support for Solaris, and made PAM
+	sleep quietly when told to do so.
 
-1999-09-10 00:46  macgyver
+1999-09-10  macgyver <macgyver>
 
 	* src/support.c: Fixed remaining buffer issues in sreplace.
 
-1999-09-09 22:36  macgyver
+1999-09-10  macgyver <macgyver>
 
 	* src/pool.c: Corrected alignment issues on 64-bit platforms.
-	  Thanks to Todd C. Miller <millert at ee.ethz.ch> for the patch.
-
-1999-09-09 22:27  macgyver
+	Thanks to Todd C. Miller <millert at ee.ethz.ch> for the patch.
 
-	* src/ftpshut.c: Cleaned up ftpshut options to return more
-	  meaningful errors.
-
-1999-09-09 20:44  macgyver
+1999-09-10  macgyver <macgyver>
 
 	* src/pool.c: Fix for improper strncpy.
 
-1999-09-08 20:18  macgyver
+1999-09-09  macgyver <macgyver>
 
 	* src/support.c: Corrected a length bug in sreplace.
 
-1999-09-08 01:35  macgyver
+1999-09-08  macgyver <macgyver>
 
-	* configure, configure.in, contrib/mod_pam.c: Updates to
-	  auto-configuring for PAM on *BSD.
+	* configure, configure.in: Updates to auto-configuring for PAM on
+	*BSD.
 
-1999-09-08 01:03  macgyver
+1999-09-08  macgyver <macgyver>
 
 	* configure, configure.in: Fixed setproctitle detection on *BSD
-	  platforms.
+	platforms.
 
-1999-09-08 00:48  macgyver
+1999-09-08  macgyver <macgyver>
 
 	* configure, configure.in: Fixed an extra 'fi' statement.
 
-1999-09-08 00:43  macgyver
+1999-09-08  macgyver <macgyver>
 
 	* configure, configure.in: Fixed a small typo in PAM detection.
 
-1999-09-08 00:42  macgyver
+1999-09-08  macgyver <macgyver>
 
 	* Make.rules.in, config.h.in: Added memory debugging support.
 
-1999-09-08 00:15  macgyver
-
-	* contrib/: mod_mysql.c, mod_mysql.h: Initial import of mod_mysql,
-	  with some buffer fixes.
-
-1999-09-08 00:09  macgyver
+1999-09-08  macgyver <macgyver>
 
 	* modules/Makefile.in: Updated for mod_mysql.
 
-1999-09-08 00:06  macgyver
+1999-09-08  macgyver <macgyver>
 
 	* config.guess: Added in StrongARM support.
 
-1999-09-07 23:59  macgyver
+1999-09-08  macgyver <macgyver>
 
 	* src/main.c: Added in some debugging code to assist in tracking
-	  down memory problems.
+	down memory problems.
 
-1999-09-07 23:58  macgyver
+1999-09-08  macgyver <macgyver>
 
 	* src/pool.c: Fixed a couple of bugs introduced by silly typos.
 
-1999-09-07 23:57  macgyver
+1999-09-08  macgyver <macgyver>
 
 	* src/log.c: Minor buffer cleanups.
 
-1999-09-07 23:55  macgyver
+1999-09-08  macgyver <macgyver>
 
 	* src/inet.c: Added a helper message for people who misconfigure
-	  their servers.
+	their servers.
 
-1999-09-07 16:29  macgyver
+1999-09-07  macgyver <macgyver>
 
 	* Makefile.in, config.h.in, configure, configure.in,
-	  include/dirtree.h, include/fs.h, include/version.h, lib/glob.c,
-	  src/dirtree.c, src/fs.c, src/ftpcount.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.
+	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 16:22  macgyver
+1999-09-07  macgyver <macgyver>
 
 	* contrib/.cvsignore: Removed README.linux-privs
 
-1999-09-07 16:17  macgyver
-
-	* contrib/: ftp.pamd, proftpd.spec.in: Added in RPM spec and
-	  ProFTPD PAM file.
-
-1999-09-07 16:14  macgyver
-
-	* contrib/mod_linuxprivs.c: Updated capabilities code to newer
-	  release.
-
-1999-09-07 16:13  macgyver
+1999-09-07  macgyver <macgyver>
 
 	* contrib/mod_ratio.c: Fixed some potential buffer issues.
 
-1999-09-07 16:13  macgyver
-
-	* contrib/mod_pam.c: Some minor security updates to fix potential
-	  buffer problems.
+1999-09-07  macgyver <macgyver>
 
-1999-09-07 16:09  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.
 
-	* modules/: mod_auth.c, mod_log.c, mod_ls.c, mod_site.c, mod_tar.c,
-	  mod_test.c, mod_unixpw.c, 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 16:08  macgyver
+1999-09-07  macgyver <macgyver>
 
 	* modules/mod_core.c: Added in Bandwidth patch for bandwidth
-	  control.  Security cleanups -- removed lots of unsafe buffer
-	  copies.
+	control.  Security cleanups -- removed lots of unsafe buffer copies.
 
-1999-09-07 16:06  macgyver
+1999-09-07  macgyver <macgyver>
 
 	* modules/Makefile.in: Updated Makefile for new capabilities code.
 
-1999-08-30 18:31  flood
+1999-08-31  flood <flood>
 
-	* changelog, contrib/mod_linuxprivs.c, 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.
+	* 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-11 17:58  flood
+1999-03-12  flood <flood>
 
-	* changelog, modules/mod_xfer.c: TYPE A N
+	* modules/mod_xfer.c: TYPE A N
 
-1999-03-11 17:37  flood
+1999-03-12  flood <flood>
 
-	* changelog, src/inet.c: OpenBSD SO_REUSEADDR patch.
+	* src/inet.c: OpenBSD SO_REUSEADDR patch.
 
-1999-03-09 17:19  flood
+1999-03-10  flood <flood>
 
-	* changelog, include/version.h: Version 1.2.0pre3
+	* include/version.h: Version 1.2.0pre3
 
-1999-03-07 09:18  flood
+1999-03-07  flood <flood>
 
-	* changelog, include/proftpd.h, modules/mod_core.c, src/dirtree.c,
-	  src/main.c: Added `MultilineRFC2228' directive and changed
-	  `ServerIdent'.
+	* include/proftpd.h, modules/mod_core.c, src/dirtree.c, src/main.c: 
+	Added `MultilineRFC2228' directive and changed `ServerIdent'.
 
-1999-03-05 09:55  flood
+1999-03-05  flood <flood>
 
 	* modules/mod_xfer.c, src/timers.c: Oops.  Last nights commit
-	  royally screwed timers.
+	royally screwed timers.
 
-1999-03-04 19:34  flood
+1999-03-05  flood <flood>
 
-	* Make.rules.in, Makefile.in, acconfig.h, changelog, config.h.in,
-	  configure, configure.in, contrib/mod_pam.c, 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.
+	* 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-04 18:53  flood
+1999-03-05  flood <flood>
 
-	* changelog, include/io.h, modules/mod_xfer.c, src/ident.c,
-	  src/io.c, src/main.c: Fixed ident & i/o (hanging) problems.
+	* modules/mod_xfer.c, src/ident.c, src/main.c: Fixed ident & i/o
+	(hanging) problems.
 
-1999-03-04 16:44  flood
+1999-03-05  flood <flood>
 
-	* changelog, modules/mod_xfer.c: what did I fix?
+	* modules/mod_xfer.c: what did I fix?
 
-1999-03-04 16:29  flood
+1999-03-05  flood <flood>
 
 	* include/timers.h, modules/mod_auth.c, src/main.c, src/support.c,
-	  src/timers.c: timer code fixed
+	src/timers.c: timer code fixed
 
-1999-02-13 18:36  flood
+1999-02-14  flood <flood>
 
 	* modules/mod_ls.c: Ugg.. Yet another mod_ls quickfix.
 
-1999-02-13 17:47  flood
+1999-02-14  flood <flood>
 
 	* modules/mod_auth.c: Ooops.  add_userdir should have tested for >
-	  0.
+	0.
 
-1999-02-13 16:55  flood
+1999-02-14  flood <flood>
 
-	* changelog, include/version.h: Version 1.2.0pre2
+	* include/version.h: Version 1.2.0pre2
 
-1999-02-12 11:37  flood
+1999-02-12  flood <flood>
 
-	* Makefile.in, changelog, modules/mod_auth.c, modules/mod_core.c,
-	  modules/mod_ls.c, modules/mod_xfer.c, src/main.c, src/proftpd.8:
-	  Mondo changes.
+	* 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 14:06  flood
+1999-01-27  flood <flood>
 
-	* changelog, include/support.h, modules/mod_ls.c, src/fs.c,
-	  src/support.c: More possibly MKD/CWD 'sploits fixed, and mod_ls
-	  workin well.
+	* include/support.h, modules/mod_ls.c, src/support.c: More possibly
+	MKD/CWD 'sploits fixed, and mod_ls workin well.
 
-1999-01-21 08:32  flood
+1999-01-21  flood <flood>
 
 	* modules/mod_ls.c, src/ident.c: NLST now works properly! woo!
 
-1999-01-18 19:00  flood
-
-	* modules/mod_readme.c: mod_readme.c added to CVS
-
-1999-01-18 17:34  flood
-
-	* changelog, include/data.h, modules/mod_ls.c, src/data.c,
-	  src/fs.c, src/io.c, src/main.c: Still working on NLST RFC959
-	  compliane issue.  ncftp client still showing problems.
-
-1998-11-01 11:08  flood
-
-	* changelog, configure, configure.in, contrib/README,
-	  contrib/mod_pam.c, contrib/mod_ratio.c, contrib/mod_readme.c,
-	  include/proftpd.h, modules/mod_core.c, modules/mod_sample.c,
-	  modules/mod_xfer.c, src/dirtree.c: APPE, mod_pam & mod_readme
-	  added
-
-1998-10-29 17:38  flood
-
-	* changelog, include/proftpd.h, modules/mod_log.c, src/main.c: Fix
-	  Debian bug #28641
-
-1998-10-29 16:59  flood
-
-	* changelog, modules/mod_core.c, src/data.c: Fixes to PASV/PORT.
-
-1998-10-26 17:53  flood
-
-	* changelog, modules/mod_log.c: %{} argument fix in mod_log.c
-
-1998-10-23 04:21  flood
-
-	* changelog, include/pool.h, modules/mod_ls.c, src/main.c,
-	  src/pool.c: memory leak in mod_ls fixed
-
-1998-10-17 19:24  flood
-
-	* .cvsignore, COPYING, INSTALL, Make.modules.in, Make.rules.in,
-	  Makefile.in, README, README.Solaris2.5x, README.linux-privs,
-	  acconfig.h, changelog, config.guess, config.h.in, config.sub,
-	  configure, configure.in, install-sh, contrib/.cvsignore,
-	  contrib/README, contrib/mod_linuxprivs.c, contrib/mod_ratio.c,
-	  contrib/xferstats.holger-preiss, doc/API, doc/development.notes,
-	  doc/license.txt, include/conf.h, include/data.h,
-	  include/default_paths.h, include/dirtree.h, include/fs.h,
-	  include/ftp.h, include/ident.h, include/inet.h, include/io.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, include/version.h, lib/.cvsignore,
-	  lib/Makefile.in, lib/fnmatch.c, lib/getopt.c, lib/getopt.h,
-	  lib/getopt1.c, lib/glob.c, lib/glob.h, lib/pwgrent.c,
-	  lib/strsep.c, lib/vsnprintf.c, modules/.cvsignore,
-	  modules/Makefile.in, modules/glue.sh, modules/mod_auth.c,
-	  modules/mod_core.c, modules/mod_log.c, modules/mod_ls.c,
-	  modules/mod_sample.c, modules/mod_site.c, modules/mod_tar.c,
-	  modules/mod_test.c, modules/mod_unixpw.c, modules/mod_xfer.c,
-	  modules/module_glue.c.tmpl, sample-configurations/anonymous.conf,
-	  sample-configurations/basic.conf,
-	  sample-configurations/virtual.conf, src/.cvsignore,
-	  src/Makefile.in, src/auth.c, src/data.c, src/dirtree.c, src/fs.c,
-	  src/ftpcount.1, src/ftpcount.c, src/ftpshut.8, src/ftpshut.c,
-	  src/ftpwho.1, src/ident.c, src/inet.c, src/io.c, src/log.c,
-	  src/main.c, src/modules.c, src/pool.c, src/proftpd.8, src/sets.c,
-	  src/support.c, src/timers.c, src/utils.c, src/xferlog.5: Imported
-	  source for proftpd 1.2.0
-
-1998-10-17 19:24  flood
-
-	* .cvsignore, COPYING, INSTALL, Make.modules.in, Make.rules.in,
-	  Makefile.in, README, README.Solaris2.5x, README.linux-privs,
-	  acconfig.h, changelog, config.guess, config.h.in, config.sub,
-	  configure, configure.in, install-sh, contrib/.cvsignore,
-	  contrib/README, contrib/mod_linuxprivs.c, contrib/mod_ratio.c,
-	  contrib/xferstats.holger-preiss, doc/API, doc/development.notes,
-	  doc/license.txt, include/conf.h, include/data.h,
-	  include/default_paths.h, include/dirtree.h, include/fs.h,
-	  include/ftp.h, include/ident.h, include/inet.h, include/io.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, include/version.h, lib/.cvsignore,
-	  lib/Makefile.in, lib/fnmatch.c, lib/getopt.c, lib/getopt.h,
-	  lib/getopt1.c, lib/glob.c, lib/glob.h, lib/pwgrent.c,
-	  lib/strsep.c, lib/vsnprintf.c, modules/.cvsignore,
-	  modules/Makefile.in, modules/glue.sh, modules/mod_auth.c,
-	  modules/mod_core.c, modules/mod_log.c, modules/mod_ls.c,
-	  modules/mod_sample.c, modules/mod_site.c, modules/mod_tar.c,
-	  modules/mod_test.c, modules/mod_unixpw.c, modules/mod_xfer.c,
-	  modules/module_glue.c.tmpl, sample-configurations/anonymous.conf,
-	  sample-configurations/basic.conf,
-	  sample-configurations/virtual.conf, src/.cvsignore,
-	  src/Makefile.in, src/auth.c, src/data.c, src/dirtree.c, src/fs.c,
-	  src/ftpcount.1, src/ftpcount.c, src/ftpshut.8, src/ftpshut.c,
-	  src/ftpwho.1, src/ident.c, src/inet.c, src/io.c, src/log.c,
-	  src/main.c, src/modules.c, src/pool.c, src/proftpd.8, src/sets.c,
-	  src/support.c, src/timers.c, src/utils.c, src/xferlog.5: Initial
-	  revision
+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
 
diff --git a/NEWS b/NEWS
index 3c06cfd..de2c98b 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,22 @@
   where `N' is the bug number.
 -----------------------------------------------------------------------------
 
+1.3.5d - Released 15-Jan-2017
+--------------------------------
+- Bug 4283 - All FTP logins treated as anonymous logins again.  This is a
+  regression of Bug#3307.
+
+1.3.5c - Released 14-Jan-2017
+--------------------------------
+- Bug 4254 - SSH rekey during authentication can cause issues with clients.
+- Bug 4257 - Recursive SCP uploads of multiple directories not handled properly.
+- Bug 4259 - LIST returns different results for file, depending on path syntax.
+- Bug 4255 - "AuthAliasOnly on" in server config breaks anonymous logins.
+- Bug 4272 - CapabilitiesEngine directive not honored for <IfUser>/<IfGroup>
+  sections.
+- Bug 4275 - Support OpenSSL 1.1.x API.
+- Bug 4278 - Memory leak when mod_facl is used.
+
 1.3.5b - Released 10-Mar-2016
 --------------------------------
 - Bug 4187 - mod_geoip does not load all of the GeoIPTables properly.
@@ -29,6 +45,11 @@
 - Bug 4227 - Support SFTP clients that send multiple INIT requests.
 - Bug 4230 - TLSDHParamFile directive appears ignored because unexpected DH is
   chosen.
+- Bug 4242 - Using mod_memcache results in segfault (signal 11).  Caused by
+  a bug in libmemcached-1.0.18 and earlier.
+- Bug 4248 - ALLO command failed unexpectedly.
+- Bug 4247 - ProFTPD runs out of memory when listing very large directories
+  (e.g. over 400GB).
 
 1.3.5a - Released 27-May-2015
 --------------------------------
diff --git a/RELEASE_NOTES b/RELEASE_NOTES
index e075dc7..b67256b 100644
--- a/RELEASE_NOTES
+++ b/RELEASE_NOTES
@@ -6,11 +6,27 @@ This file contains a description of the major changes to ProFTPD for the
 releases.  More information on these changes can be found in the NEWS and
 ChangeLog files.
 
+1.3.5d
+---------
+
+  + Fixed regression where all normal FTP users were handled as anonymous
+    users.
+
+
+1.3.5c
+---------
+
+  + Support for OpenSSL 1.1.x API changes.
+  + Fixed memory leak when mod_facl is used.
+  + Fixed handling of CapabilitiesEngine in <IfUser>/<IfGroup> sections.
+
+
 1.3.5b
 ---------
 
   + SSH RSA hostkeys smaller than 2048 bits now work properly.
   + MLSD response lines are now properly CRLF terminated.
+  + Fixed selection of DH groups from TLSDHParamFile.
 
 
 1.3.5a
diff --git a/configure b/configure
index 8152a82..0b4c591 100755
--- a/configure
+++ b/configure
@@ -815,6 +815,7 @@ target
 target_cpu
 target_vendor
 target_os
+BUILD_OPTS
 OSREL
 OSTYPE
 CONFIG_SHELL
@@ -2265,10 +2266,13 @@ if test "$OSTYPE" = "$OSREL" ; then
   platform="\"$ostype\""
 fi
 
+BUILD_OPTS=`echo "$ac_configure_args"`
+
 cat >>confdefs.h <<_ACEOF
-#define PR_BUILD_OPTS "`echo "$ac_configure_args"`"
+#define PR_BUILD_OPTS "$BUILD_OPTS"
 _ACEOF
 
+
 cat >>confdefs.h <<_ACEOF
 #define PR_PLATFORM $platform
 _ACEOF
@@ -2276,6 +2280,7 @@ _ACEOF
 
 
 
+
 if test "$OSTYPE" = "-DRHAPSODY5"; then
   CFLAGS="$CFLAGS -traditional-cpp -D__OT__"
 fi
@@ -3880,13 +3885,13 @@ if test "${lt_cv_nm_interface+set}" = set; then
 else
   lt_cv_nm_interface="BSD nm"
   echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:3883: $ac_compile\"" >&5)
+  (eval echo "\"\$as_me:3888: $ac_compile\"" >&5)
   (eval "$ac_compile" 2>conftest.err)
   cat conftest.err >&5
-  (eval echo "\"\$as_me:3886: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval echo "\"\$as_me:3891: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
   (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
   cat conftest.err >&5
-  (eval echo "\"\$as_me:3889: output\"" >&5)
+  (eval echo "\"\$as_me:3894: output\"" >&5)
   cat conftest.out >&5
   if $GREP 'External.*some_variable' conftest.out > /dev/null; then
     lt_cv_nm_interface="MS dumpbin"
@@ -5108,7 +5113,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 5111 "configure"' > conftest.$ac_ext
+  echo '#line 5116 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -6958,11 +6963,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6961: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:6966: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:6965: \$? = $ac_status" >&5
+   echo "$as_me:6970: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -7297,11 +7302,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7300: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7305: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:7304: \$? = $ac_status" >&5
+   echo "$as_me:7309: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -7402,11 +7407,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7405: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7410: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:7409: \$? = $ac_status" >&5
+   echo "$as_me:7414: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -7457,11 +7462,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7460: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7465: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:7464: \$? = $ac_status" >&5
+   echo "$as_me:7469: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -10226,7 +10231,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10229 "configure"
+#line 10234 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10322,7 +10327,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10325 "configure"
+#line 10330 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13995,11 +14000,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13998: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14003: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:14002: \$? = $ac_status" >&5
+   echo "$as_me:14007: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -14094,11 +14099,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14097: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14102: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:14101: \$? = $ac_status" >&5
+   echo "$as_me:14106: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -14146,11 +14151,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14149: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14154: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:14153: \$? = $ac_status" >&5
+   echo "$as_me:14158: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -16735,7 +16740,8 @@ echo "$as_me: WARNING: ** Cannot find lastlog **" >&2;}
       fi
 
       if test -n "$pr_lastlog_path" ; then
-        cat >>confdefs.h <<_ACEOF
+
+cat >>confdefs.h <<_ACEOF
 #define PR_LASTLOG_PATH "`eval echo "$pr_lastlog_path"`"
 _ACEOF
 
@@ -18050,7 +18056,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 18053 "configure"
+#line 18059 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -20936,12 +20942,14 @@ if test "${enable_scoreboard_updates+set}" = set; then
     if test x"$enableval" = xyes || test x"$enableval" = xno ; then
       { echo "$as_me:$LINENO: WARNING: scoreboard updates defaulting to 10" >&5
 echo "$as_me: WARNING: scoreboard updates defaulting to 10" >&2;}
-      cat >>confdefs.h <<_ACEOF
+
+cat >>confdefs.h <<_ACEOF
 #define PR_TUNABLE_XFER_SCOREBOARD_UPDATES 10
 _ACEOF
 
     else
-      cat >>confdefs.h <<_ACEOF
+
+cat >>confdefs.h <<_ACEOF
 #define PR_TUNABLE_XFER_SCOREBOARD_UPDATES $enableval
 _ACEOF
 
@@ -23278,7 +23286,8 @@ fi
 { echo "$as_me:$LINENO: result: $ac_cv_member_struct_spwd_sp_warn" >&5
 echo "${ECHO_T}$ac_cv_member_struct_spwd_sp_warn" >&6; }
 if test $ac_cv_member_struct_spwd_sp_warn = yes; then
-  cat >>confdefs.h <<\_ACEOF
+
+cat >>confdefs.h <<\_ACEOF
 #define HAVE_SPWD_SP_WARN 1
 _ACEOF
 
@@ -23380,7 +23389,8 @@ fi
 { echo "$as_me:$LINENO: result: $ac_cv_member_struct_spwd_sp_inact" >&5
 echo "${ECHO_T}$ac_cv_member_struct_spwd_sp_inact" >&6; }
 if test $ac_cv_member_struct_spwd_sp_inact = yes; then
-  cat >>confdefs.h <<\_ACEOF
+
+cat >>confdefs.h <<\_ACEOF
 #define HAVE_SPWD_SP_INACT 1
 _ACEOF
 
@@ -23482,13 +23492,13 @@ fi
 { echo "$as_me:$LINENO: result: $ac_cv_member_struct_spwd_sp_expire" >&5
 echo "${ECHO_T}$ac_cv_member_struct_spwd_sp_expire" >&6; }
 if test $ac_cv_member_struct_spwd_sp_expire = yes; then
-  cat >>confdefs.h <<\_ACEOF
+
+cat >>confdefs.h <<\_ACEOF
 #define HAVE_SPWD_SP_EXPIRE 1
 _ACEOF
 
 fi
 
-
       fi
 fi
 
@@ -30811,7 +30821,8 @@ fi
 { echo "$as_me:$LINENO: result: $ac_cv_type_intptr_t" >&5
 echo "${ECHO_T}$ac_cv_type_intptr_t" >&6; }
 if test $ac_cv_type_intptr_t = yes; then
-  cat >>confdefs.h <<\_ACEOF
+
+cat >>confdefs.h <<\_ACEOF
 #define HAVE_INTPTR_T 1
 _ACEOF
 
@@ -38380,14 +38391,17 @@ pr_saved_exec_prefix="$exec_prefix"
 test "x$prefix" = xNONE && prefix=$ac_default_prefix
 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
 
+
 cat >>confdefs.h <<_ACEOF
 #define PR_CONFIG_DIR "`eval echo "${sysconfdir}"`"
 _ACEOF
 
+
 cat >>confdefs.h <<_ACEOF
 #define PR_INCLUDE_DIR "`eval echo "${includedir}"`"
 _ACEOF
 
+
 cat >>confdefs.h <<_ACEOF
 #define PR_LIBEXEC_DIR "`eval echo "${libexecdir}"`"
 _ACEOF
@@ -38395,19 +38409,23 @@ _ACEOF
 
 locale_dir="`eval echo ${localedir}`"
 locale_dir="`eval echo ${locale_dir}`"
+
 cat >>confdefs.h <<_ACEOF
 #define PR_LOCALE_DIR "`eval echo "${locale_dir}"`"
 _ACEOF
 
 
+
 cat >>confdefs.h <<_ACEOF
 #define PR_RUN_DIR "`eval echo "${localstatedir}"`"
 _ACEOF
 
+
 cat >>confdefs.h <<_ACEOF
 #define PR_CONFIG_FILE_PATH "`eval echo "${sysconfdir}/proftpd.conf"`"
 _ACEOF
 
+
 cat >>confdefs.h <<_ACEOF
 #define PR_PID_FILE_PATH "`eval echo "${localstatedir}/proftpd.pid"`"
 _ACEOF
@@ -38583,16 +38601,19 @@ echo "${ECHO_T}no" >&6; }
 fi
 
 my_cflags="\"$CFLAGS\""
+
 cat >>confdefs.h <<_ACEOF
 #define PR_BUILD_CFLAGS $my_cflags
 _ACEOF
 
 my_ldflags="\"$LDFLAGS $LIBDIRS\""
+
 cat >>confdefs.h <<_ACEOF
 #define PR_BUILD_LDFLAGS $my_ldflags
 _ACEOF
 
 my_libs="\"$LIBRARIES $LIBS\""
+
 cat >>confdefs.h <<_ACEOF
 #define PR_BUILD_LIBS $my_libs
 _ACEOF
@@ -39701,6 +39722,7 @@ target!$target$ac_delim
 target_cpu!$target_cpu$ac_delim
 target_vendor!$target_vendor$ac_delim
 target_os!$target_os$ac_delim
+BUILD_OPTS!$BUILD_OPTS$ac_delim
 OSREL!$OSREL$ac_delim
 OSTYPE!$OSTYPE$ac_delim
 CONFIG_SHELL!$CONFIG_SHELL$ac_delim
@@ -39748,7 +39770,6 @@ LOCALSTATEDIR!$LOCALSTATEDIR$ac_delim
 PREFIX!$PREFIX$ac_delim
 SBINDIR!$SBINDIR$ac_delim
 SYSCONFDIR!$SYSCONFDIR$ac_delim
-LIBLTDL!$LIBLTDL$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -39790,6 +39811,7 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+LIBLTDL!$LIBLTDL$ac_delim
 LTDLDEPS!$LTDLDEPS$ac_delim
 LTDLINCL!$LTDLINCL$ac_delim
 INCLTDL!$INCLTDL$ac_delim
@@ -39844,7 +39866,7 @@ ltdl_LIBOBJS!$ltdl_LIBOBJS$ac_delim
 ltdl_LTLIBOBJS!$ltdl_LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 52; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 53; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
diff --git a/configure.in b/configure.in
index dc27852..8c43891 100644
--- a/configure.in
+++ b/configure.in
@@ -1,7 +1,7 @@
 dnl ProFTPD - FTP server daemon
 dnl Copyright (c) 1997, 1998 Public Flood Software
 dnl Copyright (c) 1999, 2000 MacGyver aka Habeeb J. Dihu <macgyver at tos.net>
-dnl Copyright (c) 2001-2014 The ProFTPD Project team
+dnl Copyright (c) 2001-2016 The ProFTPD Project team
 dnl
 dnl This program is free software; you can redistribute it and/or modify
 dnl it under the terms of the GNU General Public License as published by
@@ -40,8 +40,10 @@ if test "$OSTYPE" = "$OSREL" ; then
   platform="\"$ostype\""
 fi
 
-AC_DEFINE_UNQUOTED(PR_BUILD_OPTS, "`echo "$ac_configure_args"`")
-AC_DEFINE_UNQUOTED(PR_PLATFORM, $platform)
+BUILD_OPTS=`echo "$ac_configure_args"`
+AC_DEFINE_UNQUOTED(PR_BUILD_OPTS, "$BUILD_OPTS", [Define the build options])
+AC_DEFINE_UNQUOTED(PR_PLATFORM, $platform, [Define the build platform])
+AC_SUBST(BUILD_OPTS)
 AC_SUBST(OSREL)
 AC_SUBST(OSTYPE)
 
@@ -279,7 +281,7 @@ AC_ARG_WITH(lastlog,
       fi
 
       if test -n "$pr_lastlog_path" ; then
-        AC_DEFINE_UNQUOTED(PR_LASTLOG_PATH, "`eval echo "$pr_lastlog_path"`")
+        AC_DEFINE_UNQUOTED(PR_LASTLOG_PATH, "`eval echo "$pr_lastlog_path"`", [Define the lastlog path])
       fi
     fi
   ])
@@ -1078,9 +1080,9 @@ AC_ARG_ENABLE(scoreboard-updates,
   [
     if test x"$enableval" = xyes || test x"$enableval" = xno ; then
       AC_MSG_WARN(scoreboard updates defaulting to 10)
-      AC_DEFINE_UNQUOTED(PR_TUNABLE_XFER_SCOREBOARD_UPDATES, 10)
+      AC_DEFINE_UNQUOTED(PR_TUNABLE_XFER_SCOREBOARD_UPDATES, 10, [Define the scoreboard update count])
     else
-      AC_DEFINE_UNQUOTED(PR_TUNABLE_XFER_SCOREBOARD_UPDATES, $enableval)
+      AC_DEFINE_UNQUOTED(PR_TUNABLE_XFER_SCOREBOARD_UPDATES, $enableval, [Define the scoreboard update count])
     fi
   ])
 
@@ -1316,15 +1318,11 @@ if test x"$force_shadow" != xno ; then
         AC_DEFINE(PR_USE_SHADOW, 1, [Define if using shadow password support.])
 
         AC_CHECK_MEMBER(struct spwd.sp_warn,
-          [AC_DEFINE(HAVE_SPWD_SP_WARN)],,
-          [#include <shadow.h>])
+          [AC_DEFINE(HAVE_SPWD_SP_WARN, 1, [Define if struct spwd has sp_warn])],, [#include <shadow.h>])
         AC_CHECK_MEMBER(struct spwd.sp_inact,
-          [AC_DEFINE(HAVE_SPWD_SP_INACT)],,
-          [#include <shadow.h>])
+          [AC_DEFINE(HAVE_SPWD_SP_INACT, 1, [Define if struct spwd has sp_inact])],, [#include <shadow.h>])
         AC_CHECK_MEMBER(struct spwd.sp_expire,
-          [AC_DEFINE(HAVE_SPWD_SP_EXPIRE)],,
-          [#include <shadow.h>])
-
+          [AC_DEFINE(HAVE_SPWD_SP_EXPIRE, 1, [Define if struct spwd has sp_expire])],, [#include <shadow.h>])
       fi ])
 fi
 
@@ -1552,7 +1550,7 @@ AC_CHECK_SIZEOF(void *, 0)
 dnl Check for generic typedefs
 AC_CHECK_TYPE(mode_t, mode_t)
 AC_CHECK_TYPE(ino_t, ino_t)
-AC_CHECK_TYPE(intptr_t, AC_DEFINE(HAVE_INTPTR_T),, [
+AC_CHECK_TYPE(intptr_t, AC_DEFINE(HAVE_INTPTR_T, 1, [Define if have intpr_t type]),, [
   #if HAVE_INTTYPES_H
   # include <inttypes.h>
   #endif
@@ -2996,19 +2994,19 @@ pr_saved_exec_prefix="$exec_prefix"
 test "x$prefix" = xNONE && prefix=$ac_default_prefix
 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
 
-AC_DEFINE_UNQUOTED(PR_CONFIG_DIR, "`eval echo "${sysconfdir}"`")
-AC_DEFINE_UNQUOTED(PR_INCLUDE_DIR, "`eval echo "${includedir}"`")
-AC_DEFINE_UNQUOTED(PR_LIBEXEC_DIR, "`eval echo "${libexecdir}"`")
+AC_DEFINE_UNQUOTED(PR_CONFIG_DIR, "`eval echo "${sysconfdir}"`", [Define the config directory])
+AC_DEFINE_UNQUOTED(PR_INCLUDE_DIR, "`eval echo "${includedir}"`", [Define the include directory])
+AC_DEFINE_UNQUOTED(PR_LIBEXEC_DIR, "`eval echo "${libexecdir}"`", [Define the libexec directory])
 
 dnl We evaluate the string twice.  Once to go from $datadir to $prefix/share,
 dnl and once more to substitute in the $prefix value.  What a pain.
 locale_dir="`eval echo ${localedir}`"
 locale_dir="`eval echo ${locale_dir}`"
-AC_DEFINE_UNQUOTED(PR_LOCALE_DIR, "`eval echo "${locale_dir}"`")
+AC_DEFINE_UNQUOTED(PR_LOCALE_DIR, "`eval echo "${locale_dir}"`", [Define the locale directory])
 
-AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}"`")
-AC_DEFINE_UNQUOTED(PR_CONFIG_FILE_PATH, "`eval echo "${sysconfdir}/proftpd.conf"`")
-AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/proftpd.pid"`")
+AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}"`", [Define the run directory])
+AC_DEFINE_UNQUOTED(PR_CONFIG_FILE_PATH, "`eval echo "${sysconfdir}/proftpd.conf"`", [Define the configuration file path])
+AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/proftpd.pid"`", [Define the PID file path])
 
 prefix="$pr_saved_prefix"
 exec_prefix="$pr_saved_exec_prefix"
@@ -3068,11 +3066,11 @@ if test "$OSTYPE" = "-DDARWIN6" -o "$OSTYPE" = "-DDARWIN7" -o "$OSTYPE" = "-DDAR
 fi
 
 my_cflags="\"$CFLAGS\""
-AC_DEFINE_UNQUOTED(PR_BUILD_CFLAGS, $my_cflags)
+AC_DEFINE_UNQUOTED(PR_BUILD_CFLAGS, $my_cflags, [Define the build CFLAGS])
 my_ldflags="\"$LDFLAGS $LIBDIRS\""
-AC_DEFINE_UNQUOTED(PR_BUILD_LDFLAGS, $my_ldflags)
+AC_DEFINE_UNQUOTED(PR_BUILD_LDFLAGS, $my_ldflags, [Define the build LDFLAGS])
 my_libs="\"$LIBRARIES $LIBS\""
-AC_DEFINE_UNQUOTED(PR_BUILD_LIBS, $my_libs)
+AC_DEFINE_UNQUOTED(PR_BUILD_LIBS, $my_libs, [Define the build LIBS])
 
 dnl And finally, generate the appropriate Make* and config.h
 AC_SUBST(ENABLE_NLS)
diff --git a/contrib/dist/rpm/proftpd.spec b/contrib/dist/rpm/proftpd.spec
index 8b4328e..c79b07d 100644
--- a/contrib/dist/rpm/proftpd.spec
+++ b/contrib/dist/rpm/proftpd.spec
@@ -1,5 +1,3 @@
-# $Id: proftpd.spec,v 1.90 2014-05-15 15:53:13 castaglia Exp $
-
 # Module List:
 #
 # Dynamic modules with no/minimal additional build or runtime dependencies, always built
@@ -50,7 +48,7 @@
 #
 # NOTE: rpmbuild is really bloody stupid, and CANNOT handle a leading '#'
 # character followed by a '%' character.  
-%global release_cand_version      b
+%global release_cand_version      d
 
 %global usecvsversion             0%{?_with_cvs:1}
 
diff --git a/contrib/mod_ldap.c b/contrib/mod_ldap.c
index e613da5..f4eb85a 100644
--- a/contrib/mod_ldap.c
+++ b/contrib/mod_ldap.c
@@ -1,7 +1,7 @@
 /*
  * mod_ldap - LDAP password lookup module for ProFTPD
  * Copyright (c) 1999-2013, John Morrissey <jwm at horde.net>
- * Copyright (c) 2013 The ProFTPD Project
+ * Copyright (c) 2013-2016 The ProFTPD Project
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -135,10 +135,10 @@ LDAP_SEARCH(LDAP *ld, char *base, int scope, char *filter, char *attrs[],
 static array_header *ldap_servers = NULL;
 static unsigned int cur_server_index = 0;
 static char *ldap_dn, *ldap_dnpass,
-            *ldap_user_basedn, *ldap_user_name_filter,
-            *ldap_user_uid_filter,
-            *ldap_gid_basedn = NULL, *ldap_group_gid_filter,
-            *ldap_group_name_filter, *ldap_group_member_filter,
+            *ldap_user_basedn = NULL, *ldap_user_name_filter = NULL,
+            *ldap_user_uid_filter = NULL,
+            *ldap_gid_basedn = NULL, *ldap_group_gid_filter = NULL,
+            *ldap_group_name_filter = NULL, *ldap_group_member_filter = NULL,
             *ldap_defaultauthscheme = "crypt", *ldap_authbind_dn = NULL,
             *ldap_genhdir_prefix = NULL, *ldap_default_quota = NULL,
             *ldap_attr_uid = "uid",
@@ -1148,20 +1148,25 @@ MODRET handle_ldap_quota_lookup(cmd_rec *cmd) {
 }
 
 MODRET handle_ldap_ssh_pubkey_lookup(cmd_rec *cmd) {
+  char *user;
+
   if (ldap_do_users == FALSE) {
     return PR_DECLINED(cmd);
   }
 
+  user = cmd->argv[0];
+
   if (cached_ssh_pubkeys != NULL &&
-      strcasecmp(((char **) cached_ssh_pubkeys->elts)[0], cmd->argv[0]) == 0) {
+      cached_ssh_pubkeys->nelts > 0 &&
+      strcasecmp(((char **) cached_ssh_pubkeys->elts)[0], user) == 0) {
 
     (void) pr_log_writefile(ldap_logfd, MOD_LDAP_VERSION,
-      "returning cached SSH public keys for user %s", cmd->argv[0]);
+      "returning cached SSH public keys for user %s", user);
     return mod_create_data(cmd, cached_ssh_pubkeys);
   }
 
   if (pr_ldap_ssh_pubkey_lookup(cmd->tmp_pool, ldap_user_name_filter,
-      cmd->argv[0], ldap_user_basedn) == FALSE) {
+      user, ldap_user_basedn) == FALSE) {
     return PR_DECLINED(cmd);
   }
 
diff --git a/contrib/mod_sftp/cipher.c b/contrib/mod_sftp/cipher.c
index 9ed4ed7..eefbf38 100644
--- a/contrib/mod_sftp/cipher.c
+++ b/contrib/mod_sftp/cipher.c
@@ -1,6 +1,6 @@
 /*
  * ProFTPD - mod_sftp ciphers
- * Copyright (c) 2008-2014 TJ Saunders
+ * Copyright (c) 2008-2016 TJ Saunders
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -20,8 +20,6 @@
  * give permission to link this program with OpenSSL, and distribute the
  * resulting executable, without including the source code for OpenSSL in the
  * source distribution.
- *
- * $Id: cipher.c,v 1.18 2014-03-02 06:07:43 castaglia Exp $
  */
 
 #include "mod_sftp.h"
@@ -56,13 +54,13 @@ static struct sftp_cipher read_ciphers[2] = {
   { NULL, NULL, NULL, 0, NULL, 0, 0 },
   { NULL, NULL, NULL, 0, NULL, 0, 0 }
 };
-static EVP_CIPHER_CTX read_ctxs[2]; 
+static EVP_CIPHER_CTX *read_ctxs[2]; 
 
 static struct sftp_cipher write_ciphers[2] = {
   { NULL, NULL, NULL, 0, NULL, 0, 0 },
   { NULL, NULL, NULL, 0, NULL, 0, 0 }
 };
-static EVP_CIPHER_CTX write_ctxs[2];
+static EVP_CIPHER_CTX *write_ctxs[2];
 
 #define SFTP_CIPHER_DEFAULT_BLOCK_SZ		8
 static size_t cipher_blockszs[2] = {
@@ -96,7 +94,7 @@ static void switch_read_cipher(void) {
   /* First, clear the context of the existing read cipher, if any. */
   if (read_ciphers[read_cipher_idx].key) {
     clear_cipher(&(read_ciphers[read_cipher_idx]));
-    if (EVP_CIPHER_CTX_cleanup(&(read_ctxs[read_cipher_idx])) != 1) {
+    if (EVP_CIPHER_CTX_cleanup(read_ctxs[read_cipher_idx]) != 1) {
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
         "error clearing cipher context: %s", sftp_crypto_get_errors());
     }
@@ -117,7 +115,7 @@ static void switch_write_cipher(void) {
   /* First, clear the context of the existing read cipher, if any. */
   if (write_ciphers[write_cipher_idx].key) {
     clear_cipher(&(write_ciphers[write_cipher_idx]));
-    if (EVP_CIPHER_CTX_cleanup(&(write_ctxs[write_cipher_idx])) != 1) {
+    if (EVP_CIPHER_CTX_cleanup(write_ctxs[write_cipher_idx]) != 1) {
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
         "error clearing cipher context: %s", sftp_crypto_get_errors());
     }
@@ -156,8 +154,7 @@ static void clear_cipher(struct sftp_cipher *cipher) {
 static int set_cipher_iv(struct sftp_cipher *cipher, const EVP_MD *hash,
     const unsigned char *k, uint32_t klen, const char *h, uint32_t hlen,
     char *letter, const unsigned char *id, uint32_t id_len) {
-
-  EVP_MD_CTX ctx;
+  EVP_MD_CTX *ctx;
   unsigned char *iv = NULL;
   size_t cipher_iv_len = 0, iv_sz = 0;
   uint32_t iv_len = 0;
@@ -191,14 +188,16 @@ static int set_cipher_iv(struct sftp_cipher *cipher, const EVP_MD *hash,
     _exit(1);
   }
 
-  EVP_DigestInit(&ctx, hash);
+  ctx = EVP_MD_CTX_create();
+  EVP_DigestInit(ctx, hash);
   if (sftp_interop_supports_feature(SFTP_SSH2_FEAT_CIPHER_USE_K)) {
-    EVP_DigestUpdate(&ctx, k, klen);
+    EVP_DigestUpdate(ctx, k, klen);
   }
-  EVP_DigestUpdate(&ctx, h, hlen);
-  EVP_DigestUpdate(&ctx, letter, sizeof(char));
-  EVP_DigestUpdate(&ctx, (char *) id, id_len);
-  EVP_DigestFinal(&ctx, iv, &iv_len);
+  EVP_DigestUpdate(ctx, h, hlen);
+  EVP_DigestUpdate(ctx, letter, sizeof(char));
+  EVP_DigestUpdate(ctx, (char *) id, id_len);
+  EVP_DigestFinal(ctx, iv, &iv_len);
+  EVP_MD_CTX_destroy(ctx);
 
   /* If we need more, keep hashing, as per RFC, until we have enough
    * material.
@@ -208,13 +207,15 @@ static int set_cipher_iv(struct sftp_cipher *cipher, const EVP_MD *hash,
 
     pr_signals_handle();
 
-    EVP_DigestInit(&ctx, hash);
+    ctx = EVP_MD_CTX_create();
+    EVP_DigestInit(ctx, hash);
     if (sftp_interop_supports_feature(SFTP_SSH2_FEAT_CIPHER_USE_K)) {
-      EVP_DigestUpdate(&ctx, k, klen);
+      EVP_DigestUpdate(ctx, k, klen);
     }
-    EVP_DigestUpdate(&ctx, h, hlen);
-    EVP_DigestUpdate(&ctx, iv, len);
-    EVP_DigestFinal(&ctx, iv + len, &len);
+    EVP_DigestUpdate(ctx, h, hlen);
+    EVP_DigestUpdate(ctx, iv, len);
+    EVP_DigestFinal(ctx, iv + len, &len);
+    EVP_MD_CTX_destroy(ctx);
 
     iv_len += len;
   }
@@ -228,8 +229,7 @@ static int set_cipher_iv(struct sftp_cipher *cipher, const EVP_MD *hash,
 static int set_cipher_key(struct sftp_cipher *cipher, const EVP_MD *hash,
     const unsigned char *k, uint32_t klen, const char *h, uint32_t hlen,
     char *letter, const unsigned char *id, uint32_t id_len) {
-
-  EVP_MD_CTX ctx;
+  EVP_MD_CTX *ctx;
   unsigned char *key = NULL;
   size_t key_sz = 0;
   uint32_t key_len = 0;
@@ -258,12 +258,14 @@ static int set_cipher_key(struct sftp_cipher *cipher, const EVP_MD *hash,
     _exit(1);
   }
 
-  EVP_DigestInit(&ctx, hash);
-  EVP_DigestUpdate(&ctx, k, klen);
-  EVP_DigestUpdate(&ctx, h, hlen);
-  EVP_DigestUpdate(&ctx, letter, sizeof(char));
-  EVP_DigestUpdate(&ctx, (char *) id, id_len);
-  EVP_DigestFinal(&ctx, key, &key_len);
+  ctx = EVP_MD_CTX_create();
+  EVP_DigestInit(ctx, hash);
+  EVP_DigestUpdate(ctx, k, klen);
+  EVP_DigestUpdate(ctx, h, hlen);
+  EVP_DigestUpdate(ctx, letter, sizeof(char));
+  EVP_DigestUpdate(ctx, (char *) id, id_len);
+  EVP_DigestFinal(ctx, key, &key_len);
+  EVP_MD_CTX_destroy(ctx);
 
   /* If we need more, keep hashing, as per RFC, until we have enough
    * material.
@@ -273,11 +275,13 @@ static int set_cipher_key(struct sftp_cipher *cipher, const EVP_MD *hash,
 
     pr_signals_handle();
 
-    EVP_DigestInit(&ctx, hash);
-    EVP_DigestUpdate(&ctx, k, klen);
-    EVP_DigestUpdate(&ctx, h, hlen);
-    EVP_DigestUpdate(&ctx, key, len);
-    EVP_DigestFinal(&ctx, key + len, &len);
+    ctx = EVP_MD_CTX_create();
+    EVP_DigestInit(ctx, hash);
+    EVP_DigestUpdate(ctx, k, klen);
+    EVP_DigestUpdate(ctx, h, hlen);
+    EVP_DigestUpdate(ctx, key, len);
+    EVP_DigestFinal(ctx, key + len, &len);
+    EVP_MD_CTX_destroy(ctx);
 
     key_len += len;
   }
@@ -381,7 +385,7 @@ int sftp_cipher_set_read_key(pool *p, const EVP_MD *hash, const BIGNUM *k,
   switch_read_cipher();
 
   cipher = &(read_ciphers[read_cipher_idx]);
-  cipher_ctx = &(read_ctxs[read_cipher_idx]);
+  cipher_ctx = read_ctxs[read_cipher_idx];
 
   /* XXX EVP_CIPHER_CTX_init() first appeared in OpenSSL 0.9.7.  What to do
    * for older OpenSSL installations?
@@ -460,7 +464,7 @@ int sftp_cipher_read_data(pool *p, unsigned char *data, uint32_t data_len,
   size_t cipher_blocksz;
 
   cipher = &(read_ciphers[read_cipher_idx]);
-  cipher_ctx = &(read_ctxs[read_cipher_idx]);
+  cipher_ctx = read_ctxs[read_cipher_idx];
   cipher_blocksz = cipher_blockszs[read_cipher_idx];
 
   if (cipher->key) {
@@ -544,7 +548,7 @@ int sftp_cipher_set_write_key(pool *p, const EVP_MD *hash, const BIGNUM *k,
   switch_write_cipher();
 
   cipher = &(write_ciphers[write_cipher_idx]);
-  cipher_ctx = &(write_ctxs[write_cipher_idx]);
+  cipher_ctx = write_ctxs[write_cipher_idx];
 
   /* XXX EVP_CIPHER_CTX_init() first appeared in OpenSSL 0.9.7.  What to do
    * for older OpenSSL installations?
@@ -621,7 +625,7 @@ int sftp_cipher_write_data(struct ssh2_packet *pkt, unsigned char *buf,
   EVP_CIPHER_CTX *cipher_ctx;
 
   cipher = &(write_ciphers[write_cipher_idx]);
-  cipher_ctx = &(write_ctxs[write_cipher_idx]);
+  cipher_ctx = write_ctxs[write_cipher_idx];
 
   if (cipher->key) {
     int res;
@@ -671,3 +675,38 @@ int sftp_cipher_write_data(struct ssh2_packet *pkt, unsigned char *buf,
   *buflen = 0;
   return 0;
 }
+
+#if OPENSSL_VERSION_NUMBER < 0x1000000fL
+/* In older versions of OpenSSL, there was not a way to dynamically allocate
+ * an EVP_CIPHER_CTX object.  Thus we have these static objects for those
+ * older versions.
+ */
+static EVP_CIPHER_CTX read_ctx1, read_ctx2;
+static EVP_CIPHER_CTX write_ctx1, write_ctx2;
+#endif /* prior to OpenSSL-1.0.0 */
+
+int sftp_cipher_init(void) {
+#if OPENSSL_VERSION_NUMBER < 0x1000000fL
+  read_ctxs[0] = &read_ctx1;
+  read_ctxs[1] = &read_ctx2;
+  write_ctxs[0] = &write_ctx1;
+  write_ctxs[1] = &write_ctx2;
+#else
+  read_ctxs[0] = EVP_CIPHER_CTX_new();
+  read_ctxs[1] = EVP_CIPHER_CTX_new();
+  write_ctxs[0] = EVP_CIPHER_CTX_new();
+  write_ctxs[1] = EVP_CIPHER_CTX_new();
+#endif /* OpenSSL-1.0.0 and later */
+  return 0;
+}
+
+int sftp_cipher_free(void) {
+#if OPENSSL_VERSION_NUMBER >= 0x1000000fL
+  EVP_CIPHER_CTX_free(read_ctxs[0]);
+  EVP_CIPHER_CTX_free(read_ctxs[1]);
+  EVP_CIPHER_CTX_free(write_ctxs[0]);
+  EVP_CIPHER_CTX_free(write_ctxs[1]);
+#endif /* OpenSSL-1.0.0 and later */
+  return 0;
+}
+
diff --git a/contrib/mod_sftp/cipher.h b/contrib/mod_sftp/cipher.h
index 4067386..b6421e0 100644
--- a/contrib/mod_sftp/cipher.h
+++ b/contrib/mod_sftp/cipher.h
@@ -1,6 +1,6 @@
 /*
  * ProFTPD - mod_sftp cipher mgmt
- * Copyright (c) 2008-2013 TJ Saunders
+ * Copyright (c) 2008-2016 TJ Saunders
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -20,8 +20,6 @@
  * give permission to link this program with OpenSSL, and distribute the
  * resulting executable, without including the source code for OpenSSL in the
  * source distribution.
- *
- * $Id: cipher.h,v 1.4 2013-01-29 07:29:22 castaglia Exp $
  */
 
 #include "mod_sftp.h"
@@ -29,6 +27,9 @@
 #ifndef MOD_SFTP_CIPHER_H
 #define MOD_SFTP_CIPHER_H
 
+int sftp_cipher_init(void);
+int sftp_cipher_free(void);
+
 /* Returns the cipher block size, or 8, whichever is larger. This value is
  * used when reading in the first bytes of a packet in order to determine
  * the packet length.  See RFC4253, Section 6, "Binary Packet Protocol".
diff --git a/contrib/mod_sftp/compress.c b/contrib/mod_sftp/compress.c
index 572a0bc..327f13c 100644
--- a/contrib/mod_sftp/compress.c
+++ b/contrib/mod_sftp/compress.c
@@ -168,7 +168,7 @@ int sftp_compress_set_read_algo(const char *algo) {
     idx = get_next_read_index();
   }
 
-  if (strncmp(algo, "zlib at openssh.com", 9) == 0) {
+  if (strncmp(algo, "zlib at openssh.com", 17) == 0) {
     read_compresses[idx].use_zlib = SFTP_COMPRESS_FL_AUTHENTICATED;
     return 0;
   }
@@ -361,7 +361,7 @@ int sftp_compress_set_write_algo(const char *algo) {
     idx = get_next_write_index();
   }
 
-  if (strncmp(algo, "zlib at openssh.com", 9) == 0) {
+  if (strncmp(algo, "zlib at openssh.com", 17) == 0) {
     write_compresses[idx].use_zlib = SFTP_COMPRESS_FL_AUTHENTICATED;
     return 0;
   }
diff --git a/contrib/mod_sftp/crypto.c b/contrib/mod_sftp/crypto.c
index 0c8ea31..cdb435c 100644
--- a/contrib/mod_sftp/crypto.c
+++ b/contrib/mod_sftp/crypto.c
@@ -1,6 +1,6 @@
 /*
  * ProFTPD - mod_sftp OpenSSL interface
- * Copyright (c) 2008-2014 TJ Saunders
+ * Copyright (c) 2008-2016 TJ Saunders
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -20,8 +20,6 @@
  * give permission to link this program with OpenSSL, and distribute the
  * resulting executable, without including the source code for OpenSSL in the
  * source distribution.
- *
- * $Id: crypto.c,v 1.33 2014-01-28 17:26:17 castaglia Exp $
  */
 
 #include "mod_sftp.h"
@@ -298,6 +296,20 @@ static int do_bf_ctr(EVP_CIPHER_CTX *ctx, unsigned char *dst,
 }
 
 static const EVP_CIPHER *get_bf_ctr_cipher(void) {
+  EVP_CIPHER *cipher;
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  /* XXX TODO: At some point, we also need to call EVP_CIPHER_meth_free() on
+   * this, to avoid a resource leak.
+   */
+  cipher = EVP_CIPHER_meth_new(NID_bf_cbc, BF_BLOCK, 32);
+  EVP_CIPHER_meth_set_iv_length(cipher, BF_BLOCK);
+  EVP_CIPHER_meth_set_init(cipher, init_bf_ctr);
+  EVP_CIPHER_meth_set_cleanup(cipher, cleanup_bf_ctr);
+  EVP_CIPHER_meth_set_do_cipher(cipher, do_bf_ctr);
+  EVP_CIPHER_meth_set_flags(cipher, EVP_CIPH_CBC_MODE|EVP_CIPH_VARIABLE_LENGTH|EVP_CIPH_ALWAYS_CALL_INIT|EVP_CIPH_CUSTOM_IV);
+
+#else
   static EVP_CIPHER bf_ctr_cipher;
 
   memset(&bf_ctr_cipher, 0, sizeof(EVP_CIPHER));
@@ -312,7 +324,10 @@ static const EVP_CIPHER *get_bf_ctr_cipher(void) {
 
   bf_ctr_cipher.flags = EVP_CIPH_CBC_MODE|EVP_CIPH_VARIABLE_LENGTH|EVP_CIPH_ALWAYS_CALL_INIT|EVP_CIPH_CUSTOM_IV;
 
-  return &bf_ctr_cipher;
+  cipher = &bf_ctr_cipher;
+#endif /* prior to OpenSSL-1.1.0 */
+
+  return cipher;
 }
 
 #if OPENSSL_VERSION_NUMBER > 0x000907000L
@@ -447,6 +462,28 @@ static int do_des3_ctr(EVP_CIPHER_CTX *ctx, unsigned char *dst,
 }
 
 static const EVP_CIPHER *get_des3_ctr_cipher(void) {
+  EVP_CIPHER *cipher;
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  unsigned long flags;
+
+  /* XXX TODO: At some point, we also need to call EVP_CIPHER_meth_free() on
+   * this, to avoid a resource leak.
+   */
+  cipher = EVP_CIPHER_meth_new(NID_des_ede3_ecb, 8, 24);
+  EVP_CIPHER_meth_set_iv_length(cipher, 8);
+  EVP_CIPHER_meth_set_init(cipher, init_des3_ctr);
+  EVP_CIPHER_meth_set_cleanup(cipher, cleanup_des3_ctr);
+  EVP_CIPHER_meth_set_do_cipher(cipher, do_des3_ctr);
+
+  flags = EVP_CIPH_CBC_MODE|EVP_CIPH_VARIABLE_LENGTH|EVP_CIPH_ALWAYS_CALL_INIT|EVP_CIPH_CUSTOM_IV;
+#ifdef OPENSSL_FIPS
+  flags |= EVP_CIPH_FLAG_FIPS;
+#endif /* OPENSSL_FIPS */
+
+  EVP_CIPHER_meth_set_flags(cipher, flags);
+
+#else
   static EVP_CIPHER des3_ctr_cipher;
 
   memset(&des3_ctr_cipher, 0, sizeof(EVP_CIPHER));
@@ -464,7 +501,10 @@ static const EVP_CIPHER *get_des3_ctr_cipher(void) {
   des3_ctr_cipher.flags |= EVP_CIPH_FLAG_FIPS;
 #endif /* OPENSSL_FIPS */
 
-  return &des3_ctr_cipher;
+  cipher = &des3_ctr_cipher;
+#endif /* prior to OpenSSL-1.1.0 */
+
+  return cipher;
 }
 
 /* AES CTR mode implementation */
@@ -530,7 +570,8 @@ static int cleanup_aes_ctr(EVP_CIPHER_CTX *ctx) {
 static int do_aes_ctr(EVP_CIPHER_CTX *ctx, unsigned char *dst,
     const unsigned char *src, size_t len) {
   struct aes_ctr_ex *ace;
-# if OPENSSL_VERSION_NUMBER <= 0x0090704fL
+# if OPENSSL_VERSION_NUMBER <= 0x0090704fL || \
+     OPENSSL_VERSION_NUMBER >= 0x10100000L
   unsigned int n;
   unsigned char buf[AES_BLOCK_SIZE];
 # endif
@@ -542,7 +583,8 @@ static int do_aes_ctr(EVP_CIPHER_CTX *ctx, unsigned char *dst,
   if (ace == NULL)
     return 0;
 
-# if OPENSSL_VERSION_NUMBER <= 0x0090704fL
+# if OPENSSL_VERSION_NUMBER <= 0x0090704fL || \
+     OPENSSL_VERSION_NUMBER >= 0x10100000L
   /* In OpenSSL-0.9.7d and earlier, the AES CTR code did not properly handle
    * the IV as big-endian; this would cause the dreaded "Incorrect MAC
    * received on packet" error when using clients e.g. PuTTy.  To see
@@ -580,29 +622,29 @@ static int do_aes_ctr(EVP_CIPHER_CTX *ctx, unsigned char *dst,
   return 1;
 }
 
-static const EVP_CIPHER *get_aes_ctr_cipher(int key_len) {
-  static EVP_CIPHER aes_ctr_cipher;
-
-  memset(&aes_ctr_cipher, 0, sizeof(EVP_CIPHER));
+static int get_aes_ctr_cipher_nid(int key_len) {
+  int nid;
 
 #ifdef OPENSSL_FIPS
   /* Set the NID depending on the key len. */
   switch (key_len) {
     case 16:
-      aes_ctr_cipher.nid = NID_aes_128_cbc;
+      nid = NID_aes_128_cbc;
       break;
 
     case 24:
-      aes_ctr_cipher.nid = NID_aes_192_cbc;
+      nid = NID_aes_192_cbc;
       break;
 
     case 32:
-      aes_ctr_cipher.nid = NID_aes_256_cbc;
+      nid = NID_aes_256_cbc;
       break;
 
     default:
-      aes_ctr_cipher.nid = NID_undef;
+      nid = NID_undef;
+      break;
   }
+
 #else
   /* Setting this nid member to something other than NID_undef causes
    * interesting problems on an OpenSolaris system, using the provided
@@ -630,9 +672,41 @@ static const EVP_CIPHER *get_aes_ctr_cipher(int key_len) {
    *  debug1: Calling cleanup 0x807cc14(0x0)
    *  Couldn't read packet: Error 0
    */
-  aes_ctr_cipher.nid = NID_undef;
+  nid = NID_undef;
 #endif /* OPENSSL_FIPS */
 
+  return nid;
+}
+
+static const EVP_CIPHER *get_aes_ctr_cipher(int key_len) {
+  EVP_CIPHER *cipher;
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  unsigned long flags;
+
+  /* XXX TODO: At some point, we also need to call EVP_CIPHER_meth_free() on
+   * this, to avoid a resource leak.
+   */
+  cipher = EVP_CIPHER_meth_new(get_aes_ctr_cipher_nid(key_len), AES_BLOCK_SIZE,
+    key_len);
+  EVP_CIPHER_meth_set_iv_length(cipher, AES_BLOCK_SIZE);
+  EVP_CIPHER_meth_set_init(cipher, init_aes_ctr);
+  EVP_CIPHER_meth_set_cleanup(cipher, cleanup_aes_ctr);
+  EVP_CIPHER_meth_set_do_cipher(cipher, do_aes_ctr);
+
+  flags = EVP_CIPH_CBC_MODE|EVP_CIPH_VARIABLE_LENGTH|EVP_CIPH_ALWAYS_CALL_INIT|EVP_CIPH_CUSTOM_IV;
+#ifdef OPENSSL_FIPS
+  flags |= EVP_CIPH_FLAG_FIPS;
+#endif /* OPENSSL_FIPS */
+
+  EVP_CIPHER_meth_set_flags(cipher, flags);
+
+#else
+  static EVP_CIPHER aes_ctr_cipher;
+
+  memset(&aes_ctr_cipher, 0, sizeof(EVP_CIPHER));
+
+  aes_ctr_cipher.nid = get_aes_ctr_cipher_nid(key_len);
   aes_ctr_cipher.block_size = AES_BLOCK_SIZE;
   aes_ctr_cipher.iv_len = AES_BLOCK_SIZE;
   aes_ctr_cipher.key_len = key_len;
@@ -641,51 +715,93 @@ static const EVP_CIPHER *get_aes_ctr_cipher(int key_len) {
   aes_ctr_cipher.do_cipher = do_aes_ctr;
 
   aes_ctr_cipher.flags = EVP_CIPH_CBC_MODE|EVP_CIPH_VARIABLE_LENGTH|EVP_CIPH_ALWAYS_CALL_INIT|EVP_CIPH_CUSTOM_IV;
-#ifdef OPENSSL_FIPS
+# ifdef OPENSSL_FIPS
   aes_ctr_cipher.flags |= EVP_CIPH_FLAG_FIPS;
-#endif /* OPENSSL_FIPS */
+# endif /* OPENSSL_FIPS */
 
-  return &aes_ctr_cipher;
+  cipher = &aes_ctr_cipher;
+#endif /* prior to OpenSSL-1.1.0 */
+
+  return cipher;
 }
 
 static int update_umac(EVP_MD_CTX *ctx, const void *data, size_t len) {
   int res;
+  void *md_data;
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  md_data = EVP_MD_CTX_md_data(ctx);
+#else
+  md_data = ctx->md_data;
+#endif /* prior to OpenSSL-1.1.0 */
 
-  if (ctx->md_data == NULL) {
+  if (md_data == NULL) {
     struct umac_ctx *umac;
+    void **ptr;
 
     umac = umac_new((unsigned char *) data);
     if (umac == NULL) {
       return 0;
     }
 
-    ctx->md_data = umac;
+    ptr = &md_data;
+    *ptr = umac;
     return 1;
   }
 
-  res = umac_update(ctx->md_data, (unsigned char *) data, (long) len);
+  res = umac_update(md_data, (unsigned char *) data, (long) len);
   return res;
 }
 
 static int final_umac(EVP_MD_CTX *ctx, unsigned char *md) {
   unsigned char nonce[8];
   int res;
+  void *md_data;
 
-  res = umac_final(ctx->md_data, md, nonce);
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  md_data = EVP_MD_CTX_md_data(ctx);
+#else
+  md_data = ctx->md_data;
+#endif /* prior to OpenSSL-1.1.0 */
+
+  res = umac_final(md_data, md, nonce);
   return res;
 }
 
 static int delete_umac(EVP_MD_CTX *ctx) {
   struct umac_ctx *umac;
+  void *md_data, **ptr;
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  md_data = EVP_MD_CTX_md_data(ctx);
+#else
+  md_data = ctx->md_data;
+#endif /* prior to OpenSSL-1.1.0 */
 
-  umac = ctx->md_data;
+  umac = md_data;
   umac_delete(umac);
-  ctx->md_data = NULL;
+
+  ptr = &md_data;
+  *ptr = NULL;
 
   return 1;
 }
 
 static const EVP_MD *get_umac_digest(void) {
+  EVP_MD *md;
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  /* XXX TODO: At some point, we also need to call EVP_MD_meth_free() on
+   * this, to avoid a resource leak.
+   */
+  md = EVP_MD_meth_new(NID_undef, NID_undef);
+  EVP_MD_meth_set_input_blocksize(md, 32);
+  EVP_MD_meth_set_result_size(md, 8);
+  EVP_MD_meth_set_flags(md, 0UL);
+  EVP_MD_meth_set_update(md, update_umac);
+  EVP_MD_meth_set_final(md, final_umac);
+  EVP_MD_meth_set_cleanup(md, delete_umac);
+#else
   static EVP_MD umac_digest;
 
   memset(&umac_digest, 0, sizeof(EVP_MD));
@@ -699,7 +815,10 @@ static const EVP_MD *get_umac_digest(void) {
   umac_digest.cleanup = delete_umac;
   umac_digest.block_size = 32;
 
-  return &umac_digest;
+  md = &umac_digest;
+#endif /* prior to OpenSSL-1.1.0 */
+
+  return md;
 }
 #endif /* OpenSSL older than 0.9.7 */
 
diff --git a/contrib/mod_sftp/fxp.c b/contrib/mod_sftp/fxp.c
index 82080bb..b189412 100644
--- a/contrib/mod_sftp/fxp.c
+++ b/contrib/mod_sftp/fxp.c
@@ -1,6 +1,6 @@
 /*
  * ProFTPD - mod_sftp sftp
- * Copyright (c) 2008-2015 TJ Saunders
+ * Copyright (c) 2008-2016 TJ Saunders
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -2616,7 +2616,7 @@ static struct fxp_handle *fxp_handle_create(pool *p) {
      */
     pr_signals_handle();
 
-    RAND_pseudo_bytes(data, data_len);
+    RAND_bytes(data, data_len);
 
     /* Encode the data as hex to create the handle ID. */
     for (i = 0; i < data_len; i++) {
@@ -9034,7 +9034,7 @@ static void fxp_trace_v6_realpath_flags(pool *p, unsigned char flags) {
 }
 
 static int fxp_handle_realpath(struct fxp_packet *fxp) {
-  unsigned char *buf, *ptr, realpath_flags = 0;
+  unsigned char *buf, *ptr, realpath_flags = SSH2_FXRP_NO_CHECK;
   char *path;
   uint32_t buflen, bufsz;
   struct stat st;
@@ -9074,7 +9074,6 @@ static int fxp_handle_realpath(struct fxp_packet *fxp) {
      *
      * for the semantics and defaults of these crazy flags.
      */
-    realpath_flags = SSH2_FXRP_NO_CHECK;
 
     if (fxp->payload_sz >= sizeof(char)) {
       char *composite_path;
@@ -11601,6 +11600,12 @@ int sftp_fxp_handle_packet(pool *p, void *ssh2, uint32_t channel_id,
 
     pr_response_set_pool(fxp->pool);
 
+    /* Make sure to clear the response lists of any cruft from previous
+     * requests.
+     */
+    pr_response_clear(&resp_list);
+    pr_response_clear(&resp_err_list);
+
     switch (fxp->request_type) {
       case SFTP_SSH2_FXP_INIT:
         /* If we already know the version, then the client has sent
@@ -11909,6 +11914,11 @@ int sftp_fxp_close_session(uint32_t channel_id) {
             "aborting %d unclosed file %s", count,
             count != 1 ? "handles" : "handle");
 
+          /* Make sure that any abort processing has a valid response pool to
+           * work with.
+           */
+          pr_response_set_pool(sess->pool);
+
           res = pr_table_do(sess->handle_tab, fxp_handle_abort, callback_data,
             PR_TABLE_DO_FL_ALL);
           if (res < 0) {
diff --git a/contrib/mod_sftp/kbdint.c b/contrib/mod_sftp/kbdint.c
index 8ade59a..2a925c1 100644
--- a/contrib/mod_sftp/kbdint.c
+++ b/contrib/mod_sftp/kbdint.c
@@ -1,6 +1,6 @@
 /*
  * ProFTPD - mod_sftp keyboard-interactive driver mgmt
- * Copyright (c) 2008-2015 TJ Saunders
+ * Copyright (c) 2008-2016 TJ Saunders
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -31,6 +31,8 @@
 
 #define SFTP_KBDINT_MAX_RESPONSES	500
 
+extern pr_response_t *resp_list, *resp_err_list;
+
 struct kbdint_driver {
   struct kbdint_driver *next, *prev;
 
@@ -278,6 +280,10 @@ int sftp_kbdint_recv_response(pool *p, uint32_t expected_count,
     return res;
   }
 
+  pr_response_clear(&resp_list);
+  pr_response_clear(&resp_err_list);
+  pr_response_set_pool(pkt->pool);
+
   mesg_type = sftp_ssh2_packet_get_mesg_type(pkt);
   if (mesg_type != SFTP_SSH2_MSG_USER_AUTH_INFO_RESP) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
diff --git a/contrib/mod_sftp/kex.c b/contrib/mod_sftp/kex.c
index 60b8b01..79d4ac8 100644
--- a/contrib/mod_sftp/kex.c
+++ b/contrib/mod_sftp/kex.c
@@ -1,6 +1,6 @@
 /*
  * ProFTPD - mod_sftp key exchange (kex)
- * Copyright (c) 2008-2015 TJ Saunders
+ * Copyright (c) 2008-2016 TJ Saunders
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -37,6 +37,7 @@
 #include "interop.h"
 #include "tap.h"
 
+extern pr_response_t *resp_list, *resp_err_list;
 extern module sftp_module;
 
 /* For managing the kexinit process */
@@ -185,7 +186,11 @@ static int kex_rekey_timer_cb(CALLBACK_FRAME) {
 static const unsigned char *calculate_h(struct sftp_kex *kex,
     const unsigned char *hostkey_data, size_t hostkey_datalen, const BIGNUM *k,
     uint32_t *hlen) {
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
   EVP_MD_CTX ctx;
+#endif /* prior to OpenSSL-1.1.0 */
+  EVP_MD_CTX *pctx;
+  const BIGNUM *dh_pub_key = NULL;
   unsigned char *buf, *ptr;
   uint32_t buflen, bufsz;
 
@@ -219,55 +224,79 @@ static const unsigned char *calculate_h(struct sftp_kex *kex,
   sftp_msg_write_mpint(&buf, &buflen, kex->e);
 
   /* Server's key */
-  sftp_msg_write_mpint(&buf, &buflen, kex->dh->pub_key);
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  DH_get0_key(kex->dh, &dh_pub_key, NULL);
+#else
+  dh_pub_key = kex->dh->pub_key;
+#endif /* prior to OpenSSL-1.1.0 */
+  sftp_msg_write_mpint(&buf, &buflen, dh_pub_key);
 
   /* Shared secret */
   sftp_msg_write_mpint(&buf, &buflen, k);
 
+#if OPENSSL_VERSION_NUMBER >= 0x10100000LL
+  pctx = EVP_MD_CTX_new();
+#else
+  pctx = &ctx;
+#endif /* OpenSSL-1.1.0 and later */
+
   /* In OpenSSL 0.9.6, many of the EVP_Digest* functions returned void, not
    * int.  Without these ugly OpenSSL version preprocessor checks, the
    * compiler will error out with "void value not ignored as it ought to be".
    */
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestInit(&ctx, kex->hash) != 1) {
+  if (EVP_DigestInit(pctx, kex->hash) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error initializing message digest: %s", sftp_crypto_get_errors());
     BN_clear_free(kex->e);
     kex->e = NULL;
     pr_memscrub(ptr, bufsz);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000LL
+    EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
     return NULL;
   }
 #else
-  EVP_DigestInit(&ctx, kex->hash);
+  EVP_DigestInit(pctx, kex->hash);
 #endif
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestUpdate(&ctx, ptr, (bufsz - buflen)) != 1) {
+  if (EVP_DigestUpdate(pctx, ptr, (bufsz - buflen)) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error updating message digest: %s", sftp_crypto_get_errors());
     BN_clear_free(kex->e);
     kex->e = NULL;
     pr_memscrub(ptr, bufsz);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000LL
+    EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
     return NULL;
   }
 #else
-  EVP_DigestUpdate(&ctx, ptr, (bufsz - buflen));
+  EVP_DigestUpdate(pctx, ptr, (bufsz - buflen));
 #endif
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestFinal(&ctx, kex_digest_buf, hlen) != 1) {
+  if (EVP_DigestFinal(pctx, kex_digest_buf, hlen) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error finalizing message digest: %s", sftp_crypto_get_errors());
     BN_clear_free(kex->e);
     kex->e = NULL;
     pr_memscrub(ptr, bufsz);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000LL
+    EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
     return NULL;
   }
 #else
-  EVP_DigestFinal(&ctx, kex_digest_buf, hlen);
+  EVP_DigestFinal(pctx, kex_digest_buf, hlen);
 #endif
 
+#if OPENSSL_VERSION_NUMBER >= 0x10100000LL
+  EVP_MD_CTX_free(pctx);
+#endif /* OpenSSL-1.1.0 and later */
+
   BN_clear_free(kex->e);
   kex->e = NULL;
 
@@ -278,7 +307,11 @@ static const unsigned char *calculate_h(struct sftp_kex *kex,
 static const unsigned char *calculate_gex_h(struct sftp_kex *kex,
     const unsigned char *hostkey_data, size_t hostkey_datalen, const BIGNUM *k,
     uint32_t min, uint32_t pref, uint32_t max, uint32_t *hlen) {
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
   EVP_MD_CTX ctx;
+#endif /* prior to OpenSSL-1.1.0 */
+  EVP_MD_CTX *pctx;
+  const BIGNUM *dh_p = NULL, *dh_g = NULL, *dh_pub_key = NULL;
   unsigned char *buf, *ptr;
   uint32_t buflen, bufsz;
 
@@ -320,62 +353,92 @@ static const unsigned char *calculate_gex_h(struct sftp_kex *kex,
     sftp_msg_write_int(&buf, &buflen, max);
   }
 
-  sftp_msg_write_mpint(&buf, &buflen, kex->dh->p);
-  sftp_msg_write_mpint(&buf, &buflen, kex->dh->g);
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  DH_get0_pqg(kex->dh, &dh_p, NULL, &dh_g);
+#else
+  dh_p = kex->dh->p;
+  dh_g = kex->dh->g;
+#endif /* prior to OpenSSL-1.1.0 */
+  sftp_msg_write_mpint(&buf, &buflen, dh_p);
+  sftp_msg_write_mpint(&buf, &buflen, dh_g);
 
   /* Client's key */
   sftp_msg_write_mpint(&buf, &buflen, kex->e);
 
   /* Server's key */
-  sftp_msg_write_mpint(&buf, &buflen, kex->dh->pub_key);
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  DH_get0_key(kex->dh, &dh_pub_key, NULL);
+#else
+  dh_pub_key = kex->dh->pub_key;
+#endif /* prior to OpenSSL-1.1.0 */
+  sftp_msg_write_mpint(&buf, &buflen, dh_pub_key);
 
   /* Shared secret */
   sftp_msg_write_mpint(&buf, &buflen, k);
 
+#if OPENSSL_VERSION_NUMBER >= 0x10100000LL
+  pctx = EVP_MD_CTX_new();
+#else
+  pctx = &ctx;
+#endif /* OpenSSL-1.1.0 and later */
+
   /* In OpenSSL 0.9.6, many of the EVP_Digest* functions returned void, not
    * int.  Without these ugly OpenSSL version preprocessor checks, the
    * compiler will error out with "void value not ignored as it ought to be".
    */
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestInit(&ctx, kex->hash) != 1) {
+  if (EVP_DigestInit(pctx, kex->hash) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error initializing message digest: %s", sftp_crypto_get_errors());
     BN_clear_free(kex->e);
     kex->e = NULL;
     pr_memscrub(ptr, bufsz);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000LL
+    EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
     return NULL;
   }
 #else
-  EVP_DigestInit(&ctx, kex->hash);
+  EVP_DigestInit(pctx, kex->hash);
 #endif
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestUpdate(&ctx, ptr, (bufsz - buflen)) != 1) {
+  if (EVP_DigestUpdate(pctx, ptr, (bufsz - buflen)) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error updating message digest: %s", sftp_crypto_get_errors());
     BN_clear_free(kex->e);
     kex->e = NULL;
     pr_memscrub(ptr, bufsz);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000LL
+    EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
     return NULL;
   }
 #else
-  EVP_DigestUpdate(&ctx, ptr, (bufsz - buflen));
+  EVP_DigestUpdate(pctx, ptr, (bufsz - buflen));
 #endif
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestFinal(&ctx, kex_digest_buf, hlen) != 1) {
+  if (EVP_DigestFinal(pctx, kex_digest_buf, hlen) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error finalizing message digest: %s", sftp_crypto_get_errors());
     BN_clear_free(kex->e);
     kex->e = NULL;
     pr_memscrub(ptr, bufsz);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000LL
+    EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
     return NULL;
   }
 #else
-  EVP_DigestFinal(&ctx, kex_digest_buf, hlen);
+  EVP_DigestFinal(pctx, kex_digest_buf, hlen);
 #endif
 
+# if OPENSSL_VERSION_NUMBER >= 0x10100000LL
+  EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
+
   BN_clear_free(kex->e);
   kex->e = NULL;
   pr_memscrub(ptr, bufsz);
@@ -386,7 +449,10 @@ static const unsigned char *calculate_gex_h(struct sftp_kex *kex,
 static const unsigned char *calculate_kexrsa_h(struct sftp_kex *kex,
     const unsigned char *hostkey_data, size_t hostkey_datalen, const BIGNUM *k,
     unsigned char *rsa_key, uint32_t rsa_keylen, uint32_t *hlen) {
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
   EVP_MD_CTX ctx;
+#endif /* prior to OpenSSL-1.1.0 */
+  EVP_MD_CTX *pctx;
   unsigned char *buf, *ptr;
   uint32_t buflen, bufsz;
 
@@ -426,44 +492,63 @@ static const unsigned char *calculate_kexrsa_h(struct sftp_kex *kex,
   /* Shared secret. */
   sftp_msg_write_mpint(&buf, &buflen, k);
 
+#if OPENSSL_VERSION_NUMBER >= 0x10100000LL
+  pctx = EVP_MD_CTX_new();
+#else
+  pctx = &ctx;
+#endif /* OpenSSL-1.1.0 and later */
+
   /* In OpenSSL 0.9.6, many of the EVP_Digest* functions returned void, not
    * int.  Without these ugly OpenSSL version preprocessor checks, the
    * compiler will error out with "void value not ignored as it ought to be".
    */
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestInit(&ctx, kex->hash) != 1) {
+  if (EVP_DigestInit(pctx, kex->hash) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error initializing message digest: %s", sftp_crypto_get_errors());
     pr_memscrub(ptr, bufsz);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000LL
+    EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
     return NULL;
   }
 #else
-  EVP_DigestInit(&ctx, kex->hash);
+  EVP_DigestInit(pctx, kex->hash);
 #endif
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestUpdate(&ctx, ptr, (bufsz - buflen)) != 1) {
+  if (EVP_DigestUpdate(pctx, ptr, (bufsz - buflen)) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error updating message digest: %s", sftp_crypto_get_errors());
     pr_memscrub(ptr, bufsz);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000LL
+    EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
     return NULL;
   }
 #else
-  EVP_DigestUpdate(&ctx, ptr, (bufsz - buflen));
+  EVP_DigestUpdate(pctx, ptr, (bufsz - buflen));
 #endif
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestFinal(&ctx, kex_digest_buf, hlen) != 1) {
+  if (EVP_DigestFinal(pctx, kex_digest_buf, hlen) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error finalizing message digest: %s", sftp_crypto_get_errors());
     pr_memscrub(ptr, bufsz);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000LL
+    EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
     return NULL;
   }
 #else
-  EVP_DigestFinal(&ctx, kex_digest_buf, hlen);
+  EVP_DigestFinal(pctx, kex_digest_buf, hlen);
 #endif
 
+# if OPENSSL_VERSION_NUMBER >= 0x10100000LL
+  EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
+
   pr_memscrub(ptr, bufsz);
   return kex_digest_buf;
 }
@@ -472,7 +557,10 @@ static const unsigned char *calculate_kexrsa_h(struct sftp_kex *kex,
 static const unsigned char *calculate_ecdh_h(struct sftp_kex *kex,
     const unsigned char *hostkey_data, size_t hostkey_datalen, const BIGNUM *k,
     uint32_t *hlen) {
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
   EVP_MD_CTX ctx;
+#endif /* prior to OpenSSL-1.1.0 */
+  EVP_MD_CTX *pctx;
   unsigned char *buf, *ptr;
   uint32_t buflen, bufsz;
 
@@ -515,50 +603,69 @@ static const unsigned char *calculate_ecdh_h(struct sftp_kex *kex,
   /* Shared secret */
   sftp_msg_write_mpint(&buf, &buflen, k);
 
+#if OPENSSL_VERSION_NUMBER >= 0x10100000LL
+  pctx = EVP_MD_CTX_new();
+#else
+  pctx = &ctx;
+#endif /* OpenSSL-1.1.0 and later */
+
   /* In OpenSSL 0.9.6, many of the EVP_Digest* functions returned void, not
    * int.  Without these ugly OpenSSL version preprocessor checks, the
    * compiler will error out with "void value not ignored as it ought to be".
    */
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestInit(&ctx, kex->hash) != 1) {
+  if (EVP_DigestInit(pctx, kex->hash) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error initializing message digest: %s", sftp_crypto_get_errors());
     BN_clear_free(kex->e);
     kex->e = NULL;
     pr_memscrub(ptr, bufsz);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000LL
+    EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
     return NULL;
   }
 #else
-  EVP_DigestInit(&ctx, kex->hash);
+  EVP_DigestInit(pctx, kex->hash);
 #endif
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestUpdate(&ctx, ptr, (bufsz - buflen)) != 1) {
+  if (EVP_DigestUpdate(pctx, ptr, (bufsz - buflen)) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error updating message digest: %s", sftp_crypto_get_errors());
     BN_clear_free(kex->e);
     kex->e = NULL;
     pr_memscrub(ptr, bufsz);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000LL
+    EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
     return NULL;
   }
 #else
-  EVP_DigestUpdate(&ctx, ptr, (bufsz - buflen));
+  EVP_DigestUpdate(pctx, ptr, (bufsz - buflen));
 #endif
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestFinal(&ctx, kex_digest_buf, hlen) != 1) {
+  if (EVP_DigestFinal(pctx, kex_digest_buf, hlen) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error finalizing message digest: %s", sftp_crypto_get_errors());
     BN_clear_free(kex->e);
     kex->e = NULL;
     pr_memscrub(ptr, bufsz);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000LL
+    EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
     return NULL;
   }
 #else
-  EVP_DigestFinal(&ctx, kex_digest_buf, hlen);
+  EVP_DigestFinal(pctx, kex_digest_buf, hlen);
 #endif
 
+# if OPENSSL_VERSION_NUMBER >= 0x10100000LL
+  EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
+
   BN_clear_free(kex->e);
   kex->e = NULL;
   pr_memscrub(ptr, bufsz);
@@ -571,14 +678,17 @@ static const unsigned char *calculate_ecdh_h(struct sftp_kex *kex,
 static int have_good_dh(DH *dh, BIGNUM *pub_key) {
   register unsigned int i;
   unsigned int nbits = 0;
+  const BIGNUM *dh_p = NULL;
   BIGNUM *tmp;
 
-  if (pub_key->neg) {
+#if OPENSSL_VERSION_NUMBER >= 0x0090801fL
+  if (BN_is_negative(pub_key)) {
     pr_trace_msg(trace_channel, 10,
       "DH public keys cannot have negative numbers");
     errno = EINVAL;
     return -1;
   }
+#endif /* OpenSSL-0.9.8a or later */
 
   if (BN_cmp(pub_key, BN_value_one()) != 1) {
     pr_trace_msg(trace_channel, 10, "bad DH public key exponent (<= 1)");
@@ -586,8 +696,14 @@ static int have_good_dh(DH *dh, BIGNUM *pub_key) {
     return -1;
   }
 
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  DH_get0_pqg(dh, &dh_p, NULL, NULL);
+#else
+  dh_p = dh->p;
+#endif /* prior to OpenSSL-1.1.0 */
+
   tmp = BN_new();
-  if (!BN_sub(tmp, dh->p, BN_value_one()) ||
+  if (!BN_sub(tmp, dh_p, BN_value_one()) ||
       BN_cmp(pub_key, tmp) != -1) {
     BN_clear_free(tmp);
     pr_trace_msg(trace_channel, 10, "bad DH public key (>= p-1)");
@@ -714,6 +830,7 @@ static int create_dh(struct sftp_kex *kex, int type) {
   }
 
   if (kex->dh) {
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
     if (kex->dh->p) {
       BN_clear_free(kex->dh->p);
       kex->dh->p = NULL;
@@ -733,6 +850,7 @@ static int create_dh(struct sftp_kex *kex, int type) {
       BN_clear_free(kex->dh->pub_key);
       kex->dh->pub_key = NULL;
     }
+#endif /* prior to OpenSSL-1.1.0 */
 
     DH_free(kex->dh);
     kex->dh = NULL;
@@ -742,6 +860,8 @@ static int create_dh(struct sftp_kex *kex, int type) {
 
   /* We have 10 attempts to make a DH key which passes muster. */
   while (attempts <= 10) {
+    BIGNUM *dh_p, *dh_g, *dh_pub_key = NULL, *dh_priv_key = NULL;
+
     pr_signals_handle();
 
     attempts++;
@@ -755,43 +875,64 @@ static int create_dh(struct sftp_kex *kex, int type) {
       return -1;
     }
 
-    dh->p = BN_new();
-    dh->g = BN_new();
-    dh->priv_key = BN_new();
+    dh_p = BN_new();
   
     if (type == SFTP_DH_GROUP1_SHA1) {
-      if (BN_hex2bn(&dh->p, dh_group1_str) == 0) {
+      if (BN_hex2bn(&dh_p, dh_group1_str) == 0) {
         (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
           "error setting DH (group1) P: %s", sftp_crypto_get_errors());
+        BN_clear_free(dh_p);
         DH_free(dh);
         return -1;
       }
 
     } else if (type == SFTP_DH_GROUP14_SHA1) {
-      if (BN_hex2bn(&dh->p, dh_group14_str) == 0) {
+      if (BN_hex2bn(&dh_p, dh_group14_str) == 0) {
         (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
           "error setting DH (group14) P: %s", sftp_crypto_get_errors());
+        BN_clear_free(dh_p);
         DH_free(dh);
         return -1;
       }
     }
 
-    if (BN_hex2bn(&dh->g, "2") == 0) {
+    dh_g = BN_new();
+    if (BN_hex2bn(&dh_g, "2") == 0) {
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
         "error setting DH G: %s", sftp_crypto_get_errors());
+      BN_clear_free(dh_p);
+      BN_clear_free(dh_g);
       DH_free(dh);
       return -1;
     }
 
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    DH_set0_pqg(dh, dh_p, NULL, dh_g);
+#else
+    dh->p = dh_p;
+    dh->g = dh_g;
+#endif /* prior to OpenSSL-1.1.0 */
+
+    dh_priv_key = BN_new();
+
     /* Generate a random private exponent of the desired size, in bits. */
-    if (!BN_rand(dh->priv_key, dh_nbits, 0, 0)) {
+    if (!BN_rand(dh_priv_key, dh_nbits, 0, 0)) {
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
         "error generating DH random key (%d bits): %s", dh_nbits,
         sftp_crypto_get_errors());
+      BN_clear_free(dh_priv_key);
       DH_free(dh);
       return -1;
     }
 
+    dh_pub_key = BN_new();
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    DH_set0_key(dh, dh_pub_key, dh_priv_key);
+#else
+    dh->pub_key = dh_pub_key;
+    dh->priv_key = dh_priv_key;
+#endif /* prior to OpenSSL-1.1.0 */
+
     pr_trace_msg(trace_channel, 12, "generating DH key");
     if (DH_generate_key(dh) != 1) {
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
@@ -800,7 +941,13 @@ static int create_dh(struct sftp_kex *kex, int type) {
       return -1;
     }
 
-    if (have_good_dh(dh, dh->pub_key) < 0) {
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    DH_get0_key(dh, &dh_pub_key, NULL);
+#else
+    dh_pub_key = dh->pub_key;
+#endif /* prior to OpenSSL-1.1.0 */
+
+    if (have_good_dh(dh, dh_pub_key) < 0) {
       DH_free(dh);
       continue;
     }
@@ -824,6 +971,7 @@ static int prepare_dh(struct sftp_kex *kex, int type) {
   }
 
   if (kex->dh) {
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
     if (kex->dh->p) {
       BN_clear_free(kex->dh->p);
       kex->dh->p = NULL;
@@ -843,6 +991,7 @@ static int prepare_dh(struct sftp_kex *kex, int type) {
       BN_clear_free(kex->dh->pub_key);
       kex->dh->pub_key = NULL;
     }
+#endif /* prior to OpenSSL-1.1.0 */
 
     DH_free(kex->dh);
     kex->dh = NULL;
@@ -873,6 +1022,7 @@ static int prepare_dh(struct sftp_kex *kex, int type) {
 static int finish_dh(struct sftp_kex *kex) {
   unsigned int attempts = 0;
   int dh_nbits;
+  BIGNUM *dh_pub_key, *dh_priv_key;
 
   dh_nbits = get_dh_nbits(kex);
 
@@ -884,16 +1034,26 @@ static int finish_dh(struct sftp_kex *kex) {
     pr_trace_msg(trace_channel, 9, "attempt #%u to create a good DH key",
       attempts);
 
-    kex->dh->priv_key = BN_new();
+    dh_priv_key = BN_new();
  
     /* Generate a random private exponent of the desired size, in bits. */ 
-    if (!BN_rand(kex->dh->priv_key, dh_nbits, 0, 0)) {
+    if (!BN_rand(dh_priv_key, dh_nbits, 0, 0)) {
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
         "error generating DH random key (%d bits): %s", dh_nbits,
         sftp_crypto_get_errors());
+      BN_clear_free(dh_priv_key);
       return -1;
     }
 
+    dh_pub_key = BN_new();
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    DH_set0_key(kex->dh, dh_pub_key, dh_priv_key);
+#else
+    kex->dh->pub_key = dh_pub_key;
+    kex->dh->priv_key = dh_priv_key;
+#endif /* prior to OpenSSL-1.1.0 */
+
     pr_trace_msg(trace_channel, 12, "generating DH key");
     if (DH_generate_key(kex->dh) != 1) {
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
@@ -902,15 +1062,32 @@ static int finish_dh(struct sftp_kex *kex) {
     }
 
     if (have_good_dh(kex->dh, kex->e) < 0) {
-      if (kex->dh->priv_key) {
-        BN_clear_free(kex->dh->priv_key);
-        kex->dh->priv_key = NULL;
-      } 
+      dh_pub_key = NULL;
+      dh_priv_key = NULL;
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+      DH_get0_key(kex->dh, &dh_pub_key, &dh_priv_key);
+#else
+      dh_pub_key = kex->dh->pub_key;
+      dh_priv_key = kex->dh->priv_key;
+#endif /* prior to OpenSSL-1.1.0 */
+
+      if (dh_priv_key != NULL) {
+        BN_clear_free(dh_priv_key);
+      }
+
+      if (dh_pub_key != NULL) {
+        BN_clear_free(dh_pub_key);
+      }
 
-      if (kex->dh->pub_key) {
-        BN_clear_free(kex->dh->pub_key);
-        kex->dh->pub_key = NULL;
-      } 
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+      /* Per the docs, this is a no-no -- but its the only way to actually
+       * set the public DH key to null.
+       */
+      dh_pub_key = dh_priv_key = NULL;
+#else
+      kex->dh->pub_key = kex->dh->priv_key = NULL;
+#endif /* prior to OpenSSL-1.1.0 */
 
       continue;
     }
@@ -1399,6 +1576,7 @@ static struct sftp_kex *create_kex(pool *p) {
 static void destroy_kex(struct sftp_kex *kex) {
   if (kex) {
     if (kex->dh) {
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
       if (kex->dh->p) {
         BN_clear_free(kex->dh->p);
         kex->dh->p = NULL;
@@ -1408,6 +1586,7 @@ static void destroy_kex(struct sftp_kex *kex) {
         BN_clear_free(kex->dh->g);
         kex->dh->g = NULL;
       }
+#endif /* prior to OpenSSL-1.1.0 */
 
       DH_free(kex->dh);
       kex->dh = NULL;
@@ -2089,9 +2268,13 @@ static int write_kexinit(struct ssh2_packet *pkt, struct sftp_kex *kex) {
    * pseudo-cryptographically secure bytes.
    */
   memset(cookie, 0, sizeof(cookie));
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  RAND_bytes(cookie, sizeof(cookie));
+#else
   if (RAND_bytes(cookie, sizeof(cookie)) != 1) {
     RAND_pseudo_bytes(cookie, sizeof(cookie));
   }
+#endif /* prior to OpenSSL-1.1.0 */
 
   sftp_msg_write_data(&buf, &buflen, cookie, sizeof(cookie), FALSE);
 
@@ -2162,6 +2345,7 @@ static int read_dh_init(struct ssh2_packet *pkt, struct sftp_kex *kex) {
 
 static int set_session_keys(struct sftp_kex *kex) {
   const char *k, *v;
+  int comp_read_flags, comp_write_flags;
 
   if (sftp_cipher_set_read_key(kex_pool, kex->hash, kex->k, kex->h,
       kex->hlen) < 0)
@@ -2179,10 +2363,29 @@ static int set_session_keys(struct sftp_kex *kex) {
       kex->hlen) < 0)
     return -1;
 
-  if (sftp_compress_init_read(SFTP_COMPRESS_FL_NEW_KEY) < 0)
+  comp_read_flags = comp_write_flags = SFTP_COMPRESS_FL_NEW_KEY;
+
+  /* If we are rekeying, AND the existing compression is "delayed", then
+   * we need to use slightly different compression flags.
+   */
+  if (kex_rekey_kex) {
+    const char *algo;
+
+    algo = sftp_compress_get_read_algo();
+    if (strncmp(algo, "zlib at openssh.com", 17) == 0) {
+      comp_read_flags = SFTP_COMPRESS_FL_AUTHENTICATED;
+    }
+
+    algo = sftp_compress_get_write_algo();
+    if (strncmp(algo, "zlib at openssh.com", 17) == 0) {
+      comp_write_flags = SFTP_COMPRESS_FL_AUTHENTICATED;
+    }
+  }
+
+  if (sftp_compress_init_read(comp_read_flags) < 0)
     return -1;
 
-  if (sftp_compress_init_write(SFTP_COMPRESS_FL_NEW_KEY) < 0)
+  if (sftp_compress_init_write(comp_write_flags) < 0)
     return -1;
 
   k = pstrdup(session.pool, "SFTP_CLIENT_CIPHER_ALGO");
@@ -2265,7 +2468,7 @@ static int write_dh_reply(struct ssh2_packet *pkt, struct sftp_kex *kex) {
   unsigned char *buf, *ptr;
   uint32_t bufsz, buflen, hlen = 0;
   size_t dhlen, hostkey_datalen, hsiglen;
-  BIGNUM *k = NULL;
+  BIGNUM *k = NULL, *dh_pub_key = NULL;
   int res;
 
   /* Compute the shared secret */
@@ -2339,7 +2542,14 @@ static int write_dh_reply(struct ssh2_packet *pkt, struct sftp_kex *kex) {
 
   sftp_msg_write_byte(&buf, &buflen, SFTP_SSH2_MSG_KEX_DH_REPLY);
   sftp_msg_write_data(&buf, &buflen, hostkey_data, hostkey_datalen, TRUE);
-  sftp_msg_write_mpint(&buf, &buflen, kex->dh->pub_key);
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  DH_get0_key(kex->dh, &dh_pub_key, NULL);
+#else
+  dh_pub_key = kex->dh->pub_key;
+#endif /* prior to OpenSSL-1.1.0 */
+  sftp_msg_write_mpint(&buf, &buflen, dh_pub_key);
+
   sftp_msg_write_data(&buf, &buflen, hsig, hsiglen, TRUE);
 
   /* Scrub any sensitive data when done */
@@ -2555,6 +2765,9 @@ static int get_dh_gex_group(struct sftp_kex *kex, uint32_t min,
 
           } else if (nbits == smaller_dh_nbits) {
             *((DH **) push_array(smaller_dhs)) = dh;
+
+          } else {
+            DH_free(dh);
           }
 
         } else {
@@ -2575,6 +2788,9 @@ static int get_dh_gex_group(struct sftp_kex *kex, uint32_t min,
 
           } else if (nbits == larger_dh_nbits) {
             *((DH **) push_array(larger_dhs)) = dh;
+
+          } else {
+            DH_free(dh);
           }
         }
       }
@@ -2615,13 +2831,22 @@ static int get_dh_gex_group(struct sftp_kex *kex, uint32_t min,
       }
 
       if (dh) {
+        BIGNUM *dh_p = NULL, *dh_g = NULL, *dup_p, *dup_g;
+
         pr_trace_msg(trace_channel, 20, "client requested min %lu, pref %lu, "
           "max %lu sizes for DH group exchange, selected DH of %lu bits",
           (unsigned long) min, (unsigned long) pref, (unsigned long) max,
           (unsigned long) DH_size(dh) * 8);
 
-        kex->dh->p = BN_dup(dh->p);
-        if (kex->dh->p == NULL) {
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+        DH_get0_pqg(dh, &dh_p, NULL, &dh_g);
+#else
+        dh_p = dh->p;
+        dh_g = dh->g;
+#endif /* prior to OpenSSL-1.1.0 */
+
+        dup_p = BN_dup(dh_p);
+        if (dup_p == NULL) {
           (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
             "error copying selected DH P: %s", sftp_crypto_get_errors());
           (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
@@ -2629,16 +2854,23 @@ static int get_dh_gex_group(struct sftp_kex *kex, uint32_t min,
           use_fixed_modulus = TRUE;
 
         } else {
-          kex->dh->g = BN_dup(dh->g);
-          if (kex->dh->g == NULL) {
+          dup_g = BN_dup(dh_g);
+          if (dup_g == NULL) {
             (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
               "error copying selected DH G: %s", sftp_crypto_get_errors());
             (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
               "WARNING: using fixed modulus for DH group exchange");
 
-            BN_clear_free(kex->dh->p);
-            kex->dh->p = NULL;
+            BN_clear_free(dup_p);
             use_fixed_modulus = TRUE;
+
+          } else {
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+            DH_set0_pqg(kex->dh, dup_p, NULL, dup_g);
+#else
+            kex->dh->p = dup_p;
+            kex->dh->g = dup_g;
+#endif /* prior to OpenSSL-1.1.0 */
           }
         }
       }
@@ -2675,28 +2907,34 @@ static int get_dh_gex_group(struct sftp_kex *kex, uint32_t min,
   }
 
   if (use_fixed_modulus) {
-    kex->dh->p = BN_new();
-    kex->dh->g = BN_new();
+    BIGNUM *dh_p, *dh_g;
+
+    dh_p = BN_new();
 
-    if (BN_hex2bn(&kex->dh->p, dh_group14_str) == 0) {
+    if (BN_hex2bn(&dh_p, dh_group14_str) == 0) {
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
         "error setting DH P: %s", sftp_crypto_get_errors());
-      BN_clear_free(kex->dh->p);
-      kex->dh->p = NULL;
-
+      BN_clear_free(dh_p);
       errno = EACCES;
       return -1;
     }
 
-    if (BN_hex2bn(&kex->dh->g, "2") == 0) {
+    dh_g = BN_new();
+    if (BN_hex2bn(&dh_g, "2") == 0) {
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
         "error setting DH G: %s", sftp_crypto_get_errors());
-      BN_clear_free(kex->dh->g);
-      kex->dh->g = NULL;
-
+      BN_clear_free(dh_p);
+      BN_clear_free(dh_g);
       errno = EACCES;
       return -1;
     }
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    DH_set0_pqg(kex->dh, dh_p, NULL, dh_g);
+#else
+    kex->dh->p = dh_p;
+    kex->dh->g = dh_g;
+#endif /* prior to OpenSSL-1.1.0 */
   }
 
   return 0;
@@ -2704,6 +2942,7 @@ static int get_dh_gex_group(struct sftp_kex *kex, uint32_t min,
 
 static int write_dh_gex_group(struct ssh2_packet *pkt, struct sftp_kex *kex,
     uint32_t min, uint32_t pref, uint32_t max) {
+  BIGNUM *dh_p = NULL, *dh_g = NULL;
   unsigned char *buf, *ptr;
   uint32_t buflen, bufsz;
 
@@ -2716,8 +2955,15 @@ static int write_dh_gex_group(struct ssh2_packet *pkt, struct sftp_kex *kex,
   ptr = buf = palloc(pkt->pool, bufsz);
 
   sftp_msg_write_byte(&buf, &buflen, SFTP_SSH2_MSG_KEX_DH_GEX_GROUP);
-  sftp_msg_write_mpint(&buf, &buflen, kex->dh->p);
-  sftp_msg_write_mpint(&buf, &buflen, kex->dh->g);
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  DH_get0_pqg(kex->dh, &dh_p, NULL, &dh_g);
+#else
+  dh_p = kex->dh->p;
+  dh_g = kex->dh->g;
+#endif /* prior to OpenSSL-1.1.0 */
+  sftp_msg_write_mpint(&buf, &buflen, dh_p);
+  sftp_msg_write_mpint(&buf, &buflen, dh_g);
 
   pkt->payload = ptr;
   pkt->payload_len = (bufsz - buflen);
@@ -2749,7 +2995,7 @@ static int write_dh_gex_reply(struct ssh2_packet *pkt, struct sftp_kex *kex,
   unsigned char *buf, *ptr;
   uint32_t bufsz, buflen, hlen = 0;
   size_t dhlen, hostkey_datalen, hsiglen;
-  BIGNUM *k = NULL;
+  BIGNUM *k = NULL, *dh_pub_key = NULL;
   int res;
 
   /* Compute the shared secret. */
@@ -2828,7 +3074,14 @@ static int write_dh_gex_reply(struct ssh2_packet *pkt, struct sftp_kex *kex,
 
   sftp_msg_write_byte(&buf, &buflen, SFTP_SSH2_MSG_KEX_DH_GEX_REPLY);
   sftp_msg_write_data(&buf, &buflen, hostkey_data, hostkey_datalen, TRUE);
-  sftp_msg_write_mpint(&buf, &buflen, kex->dh->pub_key);
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  DH_get0_key(kex->dh, &dh_pub_key, NULL);
+#else
+  dh_pub_key = kex->dh->pub_key;
+#endif /* prior to OpenSSL-1.1.0 */
+  sftp_msg_write_mpint(&buf, &buflen, dh_pub_key);
+
   sftp_msg_write_data(&buf, &buflen, hsig, hsiglen, TRUE);
 
   /* Scrub any sensitive data when done */
@@ -2991,6 +3244,7 @@ static int read_kexrsa_secret(struct ssh2_packet *pkt, struct sftp_kex *kex) {
 }
 
 static int write_kexrsa_pubkey(struct ssh2_packet *pkt, struct sftp_kex *kex) {
+  BIGNUM *rsa_n = NULL, *rsa_e = NULL;
   unsigned char *buf, *ptr, *buf2, *ptr2;
   const unsigned char *hostkey_data;
   uint32_t buflen, bufsz, buflen2, bufsz2, hostkey_datalen;
@@ -3013,8 +3267,15 @@ static int write_kexrsa_pubkey(struct ssh2_packet *pkt, struct sftp_kex *kex) {
    * written in its entirety as an SSH2 string.
    */
   sftp_msg_write_string(&buf, &buflen, "ssh-rsa");
-  sftp_msg_write_mpint(&buf, &buflen, kex->rsa->e);
-  sftp_msg_write_mpint(&buf, &buflen, kex->rsa->n);
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  RSA_get0_key(kex->rsa, &rsa_n, &rsa_e, NULL);
+#else
+  rsa_e = kex->rsa->e;
+  rsa_n = kex->rsa->n;
+#endif /* prior to OpenSSL-1.1.0 */
+  sftp_msg_write_mpint(&buf, &buflen, rsa_e);
+  sftp_msg_write_mpint(&buf, &buflen, rsa_n);
 
   /* XXX Is this buffer large enough?  Too large? */
   bufsz2 = buflen2 = 4096;
@@ -3033,6 +3294,7 @@ static int write_kexrsa_pubkey(struct ssh2_packet *pkt, struct sftp_kex *kex) {
 }
 
 static int write_kexrsa_done(struct ssh2_packet *pkt, struct sftp_kex *kex) {
+  BIGNUM *rsa_e = NULL, *rsa_n = NULL;
   unsigned char *buf, *ptr, *buf2, *ptr2;
   const unsigned char *h, *hostkey_data, *hsig;
   uint32_t buflen, bufsz, buflen2, bufsz2, hlen;
@@ -3063,8 +3325,15 @@ static int write_kexrsa_done(struct ssh2_packet *pkt, struct sftp_kex *kex) {
    * written in its entirety as an SSH2 string.
    */
   sftp_msg_write_string(&buf2, &buflen2, "ssh-rsa");
-  sftp_msg_write_mpint(&buf2, &buflen2, kex->rsa->e);
-  sftp_msg_write_mpint(&buf2, &buflen2, kex->rsa->n);
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  RSA_get0_key(kex->rsa, &rsa_n, &rsa_e, NULL);
+#else
+  rsa_e = kex->rsa->e;
+  rsa_n = kex->rsa->n;
+#endif /* prior to OpenSSL-1.1.0 */
+  sftp_msg_write_mpint(&buf2, &buflen2, rsa_e);
+  sftp_msg_write_mpint(&buf2, &buflen2, rsa_n);
 
   /* Calculate H */
   h = calculate_kexrsa_h(kex, hostkey_data, hostkey_datalen, kex->k,
@@ -3435,6 +3704,10 @@ static struct ssh2_packet *read_kex_packet(pool *p, struct sftp_kex *kex,
       return NULL;
     }
 
+    pr_response_clear(&resp_list);
+    pr_response_clear(&resp_err_list);
+    pr_response_set_pool(pkt->pool);
+
     /* Per RFC 4253, Section 11, DEBUG, DISCONNECT, IGNORE, and UNIMPLEMENTED
      * messages can occur at any time, even during KEX.  We have to be prepared
      * for this, and Do The Right Thing(tm).
@@ -3468,21 +3741,25 @@ static struct ssh2_packet *read_kex_packet(pool *p, struct sftp_kex *kex,
     switch (mesg_type) {
       case SFTP_SSH2_MSG_DEBUG:
         sftp_ssh2_packet_handle_debug(pkt);
+        pr_response_set_pool(NULL);
         pkt = NULL;
         break;
 
       case SFTP_SSH2_MSG_DISCONNECT:
         sftp_ssh2_packet_handle_disconnect(pkt);
+        pr_response_set_pool(NULL);
         pkt = NULL;
         break;
 
       case SFTP_SSH2_MSG_IGNORE:
         sftp_ssh2_packet_handle_ignore(pkt);
+        pr_response_set_pool(NULL);
         pkt = NULL;
         break;
 
       case SFTP_SSH2_MSG_UNIMPLEMENTED:
-        sftp_ssh2_packet_handle_ignore(pkt);
+        sftp_ssh2_packet_handle_unimplemented(pkt);
+        pr_response_set_pool(NULL);
         pkt = NULL;
         break;
 
@@ -3491,6 +3768,7 @@ static struct ssh2_packet *read_kex_packet(pool *p, struct sftp_kex *kex,
         (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
           "received %s (%d) unexpectedly, disconnecting",
           sftp_ssh2_packet_get_mesg_type_desc(mesg_type), mesg_type);
+        pr_response_set_pool(NULL);
         destroy_kex(kex);
         destroy_pool(pkt->pool);
         SFTP_DISCONNECT_CONN(disconn_code, NULL);
@@ -3751,25 +4029,27 @@ int sftp_kex_handle(struct ssh2_packet *pkt) {
 
   /* If we didn't send our NEWKEYS message earlier, do it now. */
   if (!sent_newkeys) {
+    struct ssh2_packet *pkt2;
+
     pr_trace_msg(trace_channel, 9, "sending NEWKEYS message to client");
 
     /* Send our NEWKEYS reply. */
-    pkt = sftp_ssh2_packet_create(kex_pool);
-    res = write_newkeys_reply(pkt);
+    pkt2 = sftp_ssh2_packet_create(kex_pool);
+    res = write_newkeys_reply(pkt2);
     if (res < 0) {
       destroy_kex(kex);
-      destroy_pool(pkt->pool);
+      destroy_pool(pkt2->pool);
       return -1;
     }
 
-    res = sftp_ssh2_packet_write(sftp_conn->wfd, pkt);
+    res = sftp_ssh2_packet_write(sftp_conn->wfd, pkt2);
     if (res < 0) {
       destroy_kex(kex);
-      destroy_pool(pkt->pool);
+      destroy_pool(pkt2->pool);
       return -1;
     }
 
-    destroy_pool(pkt->pool);
+    destroy_pool(pkt2->pool);
   }
 
   /* Last but certainly not least, set up the keys for encryption and
@@ -3883,6 +4163,21 @@ int sftp_kex_rekey(void) {
     return 0;
   }
 
+  /* If the client has NOT authenticated by this point in time, try again
+   * later.  Some clients do not deal well with having their authentication
+   * processes interrupted by a rekey (Bug#4254).
+   */
+  if (!(sftp_sess_state & SFTP_SESS_STATE_HAVE_AUTH)) {
+    pr_trace_msg(trace_channel, 17,
+      "authentication not completed, delaying rekey request");
+
+    /* If the rekey interval is so short as to interfere the client before
+     * it has authenticated, assume the rekey interval is short enough to
+     * fire again soon, such that we do not need to change its schedule.
+     */
+    return 1;
+  }
+
   /* Make sure that any rekey timer will try not to interfere while the
    * rekeying is happening.
    */
diff --git a/contrib/mod_sftp/keys.c b/contrib/mod_sftp/keys.c
index 371de28..c448341 100644
--- a/contrib/mod_sftp/keys.c
+++ b/contrib/mod_sftp/keys.c
@@ -1,6 +1,6 @@
 /*
  * ProFTPD - mod_sftp key mgmt (keys)
- * Copyright (c) 2008-2015 TJ Saunders
+ * Copyright (c) 2008-2016 TJ Saunders
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -789,6 +789,7 @@ static EVP_PKEY *get_pkey_from_data(pool *p, unsigned char *pkey_data,
 
   if (strncmp(pkey_type, "ssh-rsa", 8) == 0) {
     RSA *rsa;
+    BIGNUM *rsa_e = NULL, *rsa_n = NULL;
 
     pkey = EVP_PKEY_new();
     if (pkey == NULL) {
@@ -805,8 +806,15 @@ static EVP_PKEY *get_pkey_from_data(pool *p, unsigned char *pkey_data,
       return NULL;
     }
 
-    rsa->e = sftp_msg_read_mpint(p, &pkey_data, &pkey_datalen);
-    rsa->n = sftp_msg_read_mpint(p, &pkey_data, &pkey_datalen);
+    rsa_e = sftp_msg_read_mpint(p, &pkey_data, &pkey_datalen);
+    rsa_n = sftp_msg_read_mpint(p, &pkey_data, &pkey_datalen);
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    RSA_set0_key(rsa, rsa_n, rsa_e, NULL);
+#else
+    rsa->e = rsa_e;
+    rsa->n = rsa_n;
+#endif /* prior to OpenSSL-1.1.0 */
 
     if (EVP_PKEY_assign_RSA(pkey, rsa) != 1) {
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
@@ -818,6 +826,7 @@ static EVP_PKEY *get_pkey_from_data(pool *p, unsigned char *pkey_data,
 
   } else if (strncmp(pkey_type, "ssh-dss", 8) == 0) {
     DSA *dsa;
+    BIGNUM *dsa_p, *dsa_q, *dsa_g, *dsa_pub_key;
 
     pkey = EVP_PKEY_new();
     if (pkey == NULL) {
@@ -834,10 +843,20 @@ static EVP_PKEY *get_pkey_from_data(pool *p, unsigned char *pkey_data,
       return NULL;
     }
 
-    dsa->p = sftp_msg_read_mpint(p, &pkey_data, &pkey_datalen);
-    dsa->q = sftp_msg_read_mpint(p, &pkey_data, &pkey_datalen);
-    dsa->g = sftp_msg_read_mpint(p, &pkey_data, &pkey_datalen);
-    dsa->pub_key = sftp_msg_read_mpint(p, &pkey_data, &pkey_datalen);
+    dsa_p = sftp_msg_read_mpint(p, &pkey_data, &pkey_datalen);
+    dsa_q = sftp_msg_read_mpint(p, &pkey_data, &pkey_datalen);
+    dsa_g = sftp_msg_read_mpint(p, &pkey_data, &pkey_datalen);
+    dsa_pub_key = sftp_msg_read_mpint(p, &pkey_data, &pkey_datalen);
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    DSA_set0_pqg(dsa, dsa_p, dsa_q, dsa_g);
+    DSA_set0_key(dsa, dsa_pub_key, NULL);
+#else
+    dsa->p = dsa_p;
+    dsa->q = dsa_q;
+    dsa->g = dsa_g;
+    dsa->pub_key = dsa_pub_key;
+#endif /* prior to OpenSSL-1.1.0 */
 
     if (EVP_PKEY_assign_DSA(pkey, dsa) != 1) {
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
@@ -1280,6 +1299,18 @@ int sftp_keys_validate_ecdsa_params(const EC_GROUP *group,
 }
 #endif /* PR_USE_OPENSSL_ECC */
 
+static int get_pkey_type(EVP_PKEY *pkey) {
+  int pkey_type;
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  pkey_type = EVP_PKEY_id(pkey);
+#else
+  pkey_type = EVP_PKEY_type(pkey->type);
+#endif /* OpenSSL 1.1.x and later */
+
+  return pkey_type;
+}
+
 /* Compare a "blob" of pubkey data sent by the client for authentication
  * with a file pubkey (from an RFC4716 formatted file).  Returns -1 if
  * there was an error, TRUE if the keys are equals, and FALSE if not.
@@ -1307,22 +1338,34 @@ int sftp_keys_compare_keys(pool *p, unsigned char *client_pubkey_data,
     return -1;
   }
 
-  if (EVP_PKEY_type(client_pkey->type) == EVP_PKEY_type(file_pkey->type)) {
-    switch (EVP_PKEY_type(client_pkey->type)) {
+  if (get_pkey_type(client_pkey) == get_pkey_type(file_pkey)) {
+    switch (get_pkey_type(client_pkey)) {
       case EVP_PKEY_RSA: {
-        RSA *client_rsa, *file_rsa;
+        RSA *remote_rsa = NULL, *local_rsa = NULL;
+        BIGNUM *remote_rsa_e = NULL, *local_rsa_e = NULL;
+        BIGNUM *remote_rsa_n = NULL, *local_rsa_n = NULL;
+
+        remote_rsa = EVP_PKEY_get1_RSA(client_pkey);
+        local_rsa = EVP_PKEY_get1_RSA(file_pkey);
 
-        client_rsa = EVP_PKEY_get1_RSA(client_pkey);
-        file_rsa = EVP_PKEY_get1_RSA(file_pkey);
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+        RSA_get0_key(remote_rsa, &remote_rsa_n, &remote_rsa_e, NULL);
+        RSA_get0_key(local_rsa, &local_rsa_n, &local_rsa_e, NULL);
+#else
+        remote_rsa_e = remote_rsa->e;
+        local_rsa_e = local_rsa->e;
+        remote_rsa_n = remote_rsa->n;
+        local_rsa_n = local_rsa->n;
+#endif /* prior to OpenSSL-1.1.0 */
 
-        if (BN_cmp(client_rsa->e, file_rsa->e) != 0) {
+        if (BN_cmp(remote_rsa_e, local_rsa_e) != 0) {
           pr_trace_msg(trace_channel, 17, "%s",
             "RSA key mismatch: client-sent RSA key component 'e' does not "
             "match local RSA key component 'e'");
           res = FALSE;
 
         } else {
-          if (BN_cmp(client_rsa->n, file_rsa->n) != 0) {
+          if (BN_cmp(remote_rsa_n, local_rsa_n) != 0) {
             pr_trace_msg(trace_channel, 17, "%s",
               "RSA key mismatch: client-sent RSA key component 'n' does not "
               "match local RSA key component 'n'");
@@ -1333,39 +1376,58 @@ int sftp_keys_compare_keys(pool *p, unsigned char *client_pubkey_data,
           }
         } 
 
-        RSA_free(client_rsa);
-        RSA_free(file_rsa);
+        RSA_free(local_rsa);
+        RSA_free(remote_rsa);
         break;
       }
 
       case EVP_PKEY_DSA: {
-        DSA *client_dsa, *file_dsa;
-
-        client_dsa = EVP_PKEY_get1_DSA(client_pkey);
-        file_dsa = EVP_PKEY_get1_DSA(file_pkey);
-
-        if (BN_cmp(client_dsa->p, file_dsa->p) != 0) {
+        DSA *remote_dsa = NULL, *local_dsa = NULL;
+        BIGNUM *remote_dsa_p, *remote_dsa_q, *remote_dsa_g;
+        BIGNUM *local_dsa_p, *local_dsa_q, *local_dsa_g;
+        BIGNUM *remote_dsa_pub_key, *local_dsa_pub_key;
+
+        local_dsa = EVP_PKEY_get1_DSA(client_pkey);
+        remote_dsa = EVP_PKEY_get1_DSA(file_pkey);
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+        DSA_get0_pqg(remote_dsa, &remote_dsa_p, &remote_dsa_q, &remote_dsa_g);
+        DSA_get0_pqg(local_dsa, &local_dsa_p, &local_dsa_q, &local_dsa_g);
+        DSA_get0_key(remote_dsa, &remote_dsa_pub_key, NULL);
+        DSA_get0_key(local_dsa, &local_dsa_pub_key, NULL);
+#else
+        remote_dsa_p = remote_dsa->p;
+        remote_dsa_q = remote_dsa->q;
+        remote_dsa_g = remote_dsa->g;
+        remote_dsa_pub_key = remote_dsa->pub_key;
+        local_dsa_p = local_dsa->p;
+        local_dsa_q = local_dsa->q;
+        local_dsa_g = local_dsa->g;
+        local_dsa_pub_key = local_dsa->pub_key;
+#endif /* prior to OpenSSL-1.1.0 */
+
+        if (BN_cmp(remote_dsa_p, local_dsa_p) != 0) {
           pr_trace_msg(trace_channel, 17, "%s",
             "DSA key mismatch: client-sent DSA key parameter 'p' does not "
             "match local DSA key parameter 'p'");
           res = FALSE;
 
         } else {
-          if (BN_cmp(client_dsa->q, file_dsa->q) != 0) {
+          if (BN_cmp(remote_dsa_q, local_dsa_q) != 0) {
             pr_trace_msg(trace_channel, 17, "%s",
               "DSA key mismatch: client-sent DSA key parameter 'q' does not "
               "match local DSA key parameter 'q'");
             res = FALSE;
 
           } else {
-            if (BN_cmp(client_dsa->g, file_dsa->g) != 0) {
+            if (BN_cmp(remote_dsa_g, local_dsa_g) != 0) {
               pr_trace_msg(trace_channel, 17, "%s",
                 "DSA key mismatch: client-sent DSA key parameter 'g' does not "
                 "match local DSA key parameter 'g'");
               res = FALSE;
 
             } else {
-              if (BN_cmp(client_dsa->pub_key, file_dsa->pub_key) != 0) {
+              if (BN_cmp(remote_dsa_pub_key, local_dsa_pub_key) != 0) {
                 pr_trace_msg(trace_channel, 17, "%s",
                   "DSA key mismatch: client-sent DSA key parameter 'pub_key' "
                   "does not match local DSA key parameter 'pub_key'");
@@ -1378,8 +1440,8 @@ int sftp_keys_compare_keys(pool *p, unsigned char *client_pubkey_data,
           }
         }
 
-        DSA_free(client_dsa);
-        DSA_free(file_dsa);
+        DSA_free(remote_dsa);
+        DSA_free(local_dsa);
 
         break;
       }
@@ -1422,7 +1484,7 @@ int sftp_keys_compare_keys(pool *p, unsigned char *client_pubkey_data,
       default:
         (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
           "unable to compare %s keys: unsupported key type",
-          get_key_type_desc(EVP_PKEY_type(client_pkey->type)));
+          get_key_type_desc(get_pkey_type(client_pkey)));
         errno = ENOSYS;
         break;
     }
@@ -1431,8 +1493,8 @@ int sftp_keys_compare_keys(pool *p, unsigned char *client_pubkey_data,
     if (pr_trace_get_level(trace_channel) >= 17) {
       const char *client_key_desc, *file_key_desc;
 
-      client_key_desc = get_key_type_desc(EVP_PKEY_type(client_pkey->type));
-      file_key_desc = get_key_type_desc(EVP_PKEY_type(file_pkey->type));
+      client_key_desc = get_key_type_desc(get_pkey_type(client_pkey));
+      file_key_desc = get_key_type_desc(get_pkey_type(file_pkey));
 
       pr_trace_msg(trace_channel, 17, "key mismatch: cannot compare %s key "
         "(client-sent) with %s key (local)", client_key_desc, file_key_desc);
@@ -1449,7 +1511,10 @@ int sftp_keys_compare_keys(pool *p, unsigned char *client_pubkey_data,
 
 const char *sftp_keys_get_fingerprint(pool *p, unsigned char *key_data,
     uint32_t key_datalen, int digest_algo) {
-  EVP_MD_CTX fp_ctx;
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+  EVP_MD_CTX ctx;
+#endif /* prior to OpenSSL-1.1.0 */
+  EVP_MD_CTX *pctx;
   const EVP_MD *digest;
   char *digest_name = "none", *fp;
   unsigned char *fp_data;
@@ -1474,47 +1539,63 @@ const char *sftp_keys_get_fingerprint(pool *p, unsigned char *key_data,
       return NULL;
   }
 
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  pctx = EVP_MD_CTX_new();
+#else
+  pctx = &ctx;
+#endif /* prior to OpenSSL-1.1.0 */
+
   /* In OpenSSL 0.9.6, many of the EVP_Digest* functions returned void, not
    * int.  Without these ugly OpenSSL version preprocessor checks, the
    * compiler will error out with "void value not ignored as it ought to be".
    */
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestInit(&fp_ctx, digest) != 1) {
+  if (EVP_DigestInit(pctx, digest) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error initializing %s digest: %s", digest_name,
       sftp_crypto_get_errors());
+# if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
     errno = EPERM;
     return NULL;
   }
 #else
-  EVP_DigestInit(&fp_ctx, digest);
+  EVP_DigestInit(pctx, digest);
 #endif
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestUpdate(&fp_ctx, key_data, key_datalen) != 1) {
+  if (EVP_DigestUpdate(pctx, key_data, key_datalen) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error updating %s digest: %s", digest_name, sftp_crypto_get_errors());
+# if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
     errno = EPERM;
     return NULL;
   }
 #else
-  EVP_DigestUpdate(&fp_ctx, key_data, key_datalen);
+  EVP_DigestUpdate(pctx, key_data, key_datalen);
 #endif
 
   fp_data = palloc(p, EVP_MAX_MD_SIZE);
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestFinal(&fp_ctx, fp_data, &fp_datalen) != 1) {
+  if (EVP_DigestFinal(pctx, fp_data, &fp_datalen) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error finishing %s digest: %s", digest_name, sftp_crypto_get_errors());
     errno = EPERM;
     return NULL;
   }
 #else
-  EVP_DigestFinal(&fp_ctx, fp_data, &fp_datalen);
+  EVP_DigestFinal(pctx, fp_data, &fp_datalen);
 #endif
 
+# if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
+
   /* Now encode that digest in fp_data as hex characters. */
   fp = "";
 
@@ -1614,7 +1695,7 @@ static int handle_hostkey(pool *p, EVP_PKEY *pkey,
     const unsigned char *key_data, uint32_t key_datalen,
     const char *file_path, const char *agent_path) {
 
-  switch (pkey->type) {
+  switch (get_pkey_type(pkey)) {
     case EVP_PKEY_RSA: {
 #if OPENSSL_VERSION_NUMBER < 0x0090702fL
       /* In OpenSSL-0.9.7a and later, RSA blinding is turned on by default.
@@ -1842,7 +1923,7 @@ static int handle_hostkey(pool *p, EVP_PKEY *pkey,
 
     default:
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
-        "unknown private key type (%d), ignoring", pkey->type);
+        "unknown private key type (%d), ignoring", get_pkey_type(pkey));
       EVP_PKEY_free(pkey);
       return -1;
   }
@@ -2012,6 +2093,7 @@ const unsigned char *sftp_keys_get_hostkey_data(pool *p,
   switch (key_type) {
     case SFTP_KEY_RSA: {
       RSA *rsa;
+      BIGNUM *rsa_n = NULL, *rsa_e = NULL;
 
       rsa = EVP_PKEY_get1_RSA(sftp_rsa_hostkey->pkey);
       if (rsa == NULL) {
@@ -2023,8 +2105,15 @@ const unsigned char *sftp_keys_get_hostkey_data(pool *p,
       /* XXX Is this buffer large enough?  Too large? */
       ptr = buf = palloc(p, buflen);
       sftp_msg_write_string(&buf, &buflen, "ssh-rsa");
-      sftp_msg_write_mpint(&buf, &buflen, rsa->e);
-      sftp_msg_write_mpint(&buf, &buflen, rsa->n);
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+      RSA_get0_key(rsa, &rsa_n, &rsa_e, NULL);
+#else
+      rsa_e = rsa->e;
+      rsa_n = rsa->n;
+#endif /* prior to OpenSSL-1.1.0 */
+      sftp_msg_write_mpint(&buf, &buflen, rsa_e);
+      sftp_msg_write_mpint(&buf, &buflen, rsa_n);
 
       RSA_free(rsa);
       break;
@@ -2032,6 +2121,7 @@ const unsigned char *sftp_keys_get_hostkey_data(pool *p,
 
     case SFTP_KEY_DSA: {
       DSA *dsa;
+      BIGNUM *dsa_p = NULL, *dsa_q = NULL, *dsa_g = NULL, *dsa_pub_key = NULL;
 
       dsa = EVP_PKEY_get1_DSA(sftp_dsa_hostkey->pkey);
       if (dsa == NULL) {
@@ -2043,10 +2133,20 @@ const unsigned char *sftp_keys_get_hostkey_data(pool *p,
       /* XXX Is this buffer large enough?  Too large? */
       ptr = buf = palloc(p, buflen);
       sftp_msg_write_string(&buf, &buflen, "ssh-dss");
-      sftp_msg_write_mpint(&buf, &buflen, dsa->p);
-      sftp_msg_write_mpint(&buf, &buflen, dsa->q);
-      sftp_msg_write_mpint(&buf, &buflen, dsa->g);
-      sftp_msg_write_mpint(&buf, &buflen, dsa->pub_key);
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+      DSA_get0_pqg(dsa, &dsa_p, &dsa_q, &dsa_g);
+      DSA_get0_key(dsa, &dsa_pub_key, NULL);
+#else
+      dsa_p = dsa->p;
+      dsa_q = dsa->q;
+      dsa_g = dsa->g;
+      dsa_pub_key = dsa->pub_key;;
+#endif /* prior to OpenSSL-1.1.0 */
+      sftp_msg_write_mpint(&buf, &buflen, dsa_p);
+      sftp_msg_write_mpint(&buf, &buflen, dsa_q);
+      sftp_msg_write_mpint(&buf, &buflen, dsa_g);
+      sftp_msg_write_mpint(&buf, &buflen, dsa_pub_key);
 
       DSA_free(dsa);
       break;
@@ -2252,7 +2352,10 @@ static const unsigned char *agent_sign_data(pool *p, const char *agent_path,
 static const unsigned char *rsa_sign_data(pool *p, const unsigned char *data,
     size_t datalen, size_t *siglen) {
   RSA *rsa;
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
   EVP_MD_CTX ctx;
+#endif /* prior to OpenSSL-1.1.0 */
+  EVP_MD_CTX *pctx;
   const EVP_MD *sha1 = EVP_sha1();
   unsigned char dgst[EVP_MAX_MD_SIZE], *sig_data;
   unsigned char *buf, *ptr;
@@ -2273,9 +2376,19 @@ static const unsigned char *rsa_sign_data(pool *p, const unsigned char *data,
     return NULL;
   }
 
-  EVP_DigestInit(&ctx, sha1);
-  EVP_DigestUpdate(&ctx, data, datalen);
-  EVP_DigestFinal(&ctx, dgst, &dgstlen);
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  pctx = EVP_MD_CTX_new();
+#else
+  pctx = &ctx;
+#endif /* prior to OpenSSL-1.1.0 */
+
+  EVP_DigestInit(pctx, sha1);
+  EVP_DigestUpdate(pctx, data, datalen);
+  EVP_DigestFinal(pctx, dgst, &dgstlen);
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  EVP_MD_CTX_free(pctx);
+#endif /* OpenSSL-1.1.0 and later */
 
   sig_rsalen = RSA_size(rsa);
   sig_data = pcalloc(p, sig_rsalen);
@@ -2324,7 +2437,11 @@ static const unsigned char *dsa_sign_data(pool *p, const unsigned char *data,
     size_t datalen, size_t *siglen) {
   DSA *dsa;
   DSA_SIG *sig;
+  BIGNUM *sig_r = NULL, *sig_s = NULL;
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
   EVP_MD_CTX ctx;
+#endif /* prior to OpenSSL-1.1.0 */
+  EVP_MD_CTX *pctx;
   const EVP_MD *sha1 = EVP_sha1();
   unsigned char dgst[EVP_MAX_MD_SIZE], *sig_data;
   unsigned char *buf, *ptr;
@@ -2345,9 +2462,19 @@ static const unsigned char *dsa_sign_data(pool *p, const unsigned char *data,
     return NULL;
   }
 
-  EVP_DigestInit(&ctx, sha1);
-  EVP_DigestUpdate(&ctx, data, datalen);
-  EVP_DigestFinal(&ctx, dgst, &dgstlen);
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  pctx = EVP_MD_CTX_new();
+#else
+  pctx = &ctx;
+#endif /* prior to OpenSSL-1.1.0 */
+
+  EVP_DigestInit(pctx, sha1);
+  EVP_DigestUpdate(pctx, data, datalen);
+  EVP_DigestFinal(pctx, dgst, &dgstlen);
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  EVP_MD_CTX_free(pctx);
+#endif /* OpenSSL-1.1.0 and later */
 
   sig = DSA_do_sign(dgst, dgstlen, dsa);
   if (sig == NULL) {
@@ -2361,8 +2488,15 @@ static const unsigned char *dsa_sign_data(pool *p, const unsigned char *data,
   /* Got the signature, no need for the digest memory. */
   pr_memscrub(dgst, dgstlen);
 
-  rlen = BN_num_bytes(sig->r);
-  slen = BN_num_bytes(sig->s);
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  DSA_SIG_get0(&sig_r, &sig_s, sig);
+#else
+  sig_r = sig->r;
+  sig_s = sig->s;
+#endif /* prior to OpenSSL-1.1.0 */
+
+  rlen = BN_num_bytes(sig_r);
+  slen = BN_num_bytes(sig_s);
 
   /* Make sure the values of R and S are big enough. */
   if (rlen > SFTP_DSA_INTEGER_LEN ||
@@ -2380,9 +2514,9 @@ static const unsigned char *dsa_sign_data(pool *p, const unsigned char *data,
    * ensure the correct placement of the R and S values in the signature,
    * per RFC 4253 Section 6.6 requirements.
    */
-  BN_bn2bin(sig->r,
+  BN_bn2bin(sig_r,
     sig_data + SFTP_DSA_SIGNATURE_LEN - SFTP_DSA_INTEGER_LEN - rlen);
-  BN_bn2bin(sig->s, sig_data + SFTP_DSA_SIGNATURE_LEN - slen);
+  BN_bn2bin(sig_s, sig_data + SFTP_DSA_SIGNATURE_LEN - slen);
 
   /* Done with the signature. */
   DSA_SIG_free(sig);
@@ -2409,7 +2543,11 @@ static const unsigned char *ecdsa_sign_data(pool *p, const unsigned char *data,
     size_t datalen, size_t *siglen, int nid) {
   EC_KEY *ec = NULL;
   ECDSA_SIG *sig;
+  BIGNUM *sig_r = NULL, *sig_s = NULL;
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
   EVP_MD_CTX ctx;
+#endif /* prior to OpenSSL-1.1.0 */
+  EVP_MD_CTX *pctx;
   const EVP_MD *md;
   unsigned char dgst[EVP_MAX_MD_SIZE];
   unsigned char *buf, *ptr, *sig_buf, *sig_ptr;
@@ -2476,9 +2614,19 @@ static const unsigned char *ecdsa_sign_data(pool *p, const unsigned char *data,
   buflen = bufsz = SFTP_MAX_SIG_SZ;
   ptr = buf = sftp_msg_getbuf(p, bufsz);
 
-  EVP_DigestInit(&ctx, md);
-  EVP_DigestUpdate(&ctx, data, datalen);
-  EVP_DigestFinal(&ctx, dgst, &dgstlen);
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  pctx = EVP_MD_CTX_new();
+#else
+  pctx = &ctx;
+#endif /* prior to OpenSSL-1.1.0 */
+
+  EVP_DigestInit(pctx, md);
+  EVP_DigestUpdate(pctx, data, datalen);
+  EVP_DigestFinal(pctx, dgst, &dgstlen);
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  EVP_MD_CTX_free(pctx);
+#endif /* OpenSSL-1.1.0 and later */
 
   sig = ECDSA_do_sign(dgst, dgstlen, ec);
   if (sig == NULL) {
@@ -2496,12 +2644,19 @@ static const unsigned char *ecdsa_sign_data(pool *p, const unsigned char *data,
    * selected, so we do no sanity checking of their lengths.
    */
 
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  ECDSA_SIG_get0(&sig_r, &sig_s, sig);
+#else
+  sig_r = sig->r;
+  sig_s = sig->s;
+#endif /* prior to OpenSSL-1.1.0 */
+
   /* XXX Is this buffer large enough?  Too large? */
   sig_buflen = sig_bufsz = 256;
   sig_ptr = sig_buf = palloc(p, sig_bufsz);
 
-  sftp_msg_write_mpint(&sig_buf, &sig_buflen, sig->r);
-  sftp_msg_write_mpint(&sig_buf, &sig_buflen, sig->s);
+  sftp_msg_write_mpint(&sig_buf, &sig_buflen, sig_r);
+  sftp_msg_write_mpint(&sig_buf, &sig_buflen, sig_s);
 
   /* Done with the signature. */
   ECDSA_SIG_free(sig);
@@ -2600,18 +2755,18 @@ int sftp_keys_verify_pubkey_type(pool *p, unsigned char *pubkey_data,
 
   switch (pubkey_type) {
     case SFTP_KEY_RSA:
-      res = (EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA); 
+      res = (get_pkey_type(pkey) == EVP_PKEY_RSA); 
       break;
 
     case SFTP_KEY_DSA:
-      res = (EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA); 
+      res = (get_pkey_type(pkey) == EVP_PKEY_DSA); 
       break;
 
 #ifdef PR_USE_OPENSSL_ECC
     case SFTP_KEY_ECDSA_256:
     case SFTP_KEY_ECDSA_384:
     case SFTP_KEY_ECDSA_521:
-      if (EVP_PKEY_type(pkey->type) == EVP_PKEY_EC) {
+      if (get_pkey_type(pkey) == EVP_PKEY_EC) {
         EC_KEY *ec;
         int ec_nid;
 
@@ -2652,7 +2807,10 @@ int sftp_keys_verify_signed_data(pool *p, const char *pubkey_algo,
     unsigned char *signature, uint32_t signaturelen,
     unsigned char *sig_data, size_t sig_datalen) {
   EVP_PKEY *pkey;
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
   EVP_MD_CTX ctx;
+#endif /* prior to OpenSSL-1.1.0 */
+  EVP_MD_CTX *pctx;
   unsigned char *sig;
   uint32_t sig_len;
   unsigned char digest[EVP_MAX_MD_SIZE];
@@ -2725,9 +2883,19 @@ int sftp_keys_verify_signed_data(pool *p, const char *pubkey_algo,
       sig_len = (uint32_t) modulus_len;
     }
 
-    EVP_DigestInit(&ctx, EVP_sha1());
-    EVP_DigestUpdate(&ctx, sig_data, sig_datalen);
-    EVP_DigestFinal(&ctx, digest, &digestlen);
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+      pctx = EVP_MD_CTX_new();
+#else
+      pctx = &ctx;
+#endif /* prior to OpenSSL-1.1.0 */
+
+    EVP_DigestInit(pctx, EVP_sha1());
+    EVP_DigestUpdate(pctx, sig_data, sig_datalen);
+    EVP_DigestFinal(pctx, digest, &digestlen);
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+      EVP_MD_CTX_free(pctx);
+#endif /* OpenSSL-1.1.0 and later */
 
     ok = RSA_verify(NID_sha1, digest, digestlen, sig, sig_len, rsa);
     if (ok == 1) {
@@ -2744,6 +2912,7 @@ int sftp_keys_verify_signed_data(pool *p, const char *pubkey_algo,
   } else if (strncmp(sig_type, "ssh-dss", 8) == 0) {
     DSA *dsa;
     DSA_SIG *dsa_sig;
+    BIGNUM *sig_r, *sig_s;
     int ok;
 
     dsa = EVP_PKEY_get1_DSA(pkey);
@@ -2761,26 +2930,57 @@ int sftp_keys_verify_signed_data(pool *p, const char *pubkey_algo,
       sig_len);
 
     dsa_sig = DSA_SIG_new();
-    dsa_sig->r = BN_new();
-    dsa_sig->s = BN_new();
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    DSA_SIG_get0(&sig_r, &sig_s, dsa_sig);
+#else
+    sig_r = dsa_sig->r;
+    sig_s = dsa_sig->s;
+#endif /* prior to OpenSSL-1.1.0 */
 
-    if (BN_bin2bn(sig, 20, dsa_sig->r) == NULL) {
+    sig_r = BN_bin2bn(sig, 20, sig_r);
+    if (sig_r == NULL) {
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
         "error obtaining 'r' DSA signature component: %s",
         sftp_crypto_get_errors());
+      DSA_free(dsa);
+      DSA_SIG_free(dsa_sig);
       res = -1;
     }
 
-    if (BN_bin2bn(sig + 20, 20, dsa_sig->s) == NULL) {
+    sig_s = BN_bin2bn(sig + 20, 20, sig_s);
+    if (sig_s == NULL) {
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
         "error obtaining 's' DSA signature component: %s",
         sftp_crypto_get_errors());
+      DSA_free(dsa);
+      DSA_SIG_free(dsa_sig);
       res = -1;
     }
 
-    EVP_DigestInit(&ctx, EVP_sha1());
-    EVP_DigestUpdate(&ctx, sig_data, sig_datalen);
-    EVP_DigestFinal(&ctx, digest, &digestlen);
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    pctx = EVP_MD_CTX_new();
+#else
+    pctx = &ctx;
+#endif /* prior to OpenSSL-1.1.0 */
+
+    EVP_DigestInit(pctx, EVP_sha1());
+    EVP_DigestUpdate(pctx, sig_data, sig_datalen);
+    EVP_DigestFinal(pctx, digest, &digestlen);
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    EVP_MD_CTX_free(pctx);
+#endif /* OpenSSL-1.1.0 and later */
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+# if OPENSSL_VERSION_NUMBER >= 0x10100006L
+    DSA_SIG_set0(dsa_sig, sig_r, sig_s);
+# else
+    /* XXX What to do here? */
+# endif /* prior to OpenSSL-1.1.0-pre6 */
+#else
+    dsa_sig->r = sig_r;
+    dsa_sig->s = sig_s;
+#endif /* prior to OpenSSL-1.1.0 */
 
     ok = DSA_do_verify(digest, digestlen, dsa_sig, dsa);
     if (ok == 1) {
@@ -2801,6 +3001,7 @@ int sftp_keys_verify_signed_data(pool *p, const char *pubkey_algo,
              strncmp(sig_type, "ecdsa-sha2-nistp521", 20) == 0) {
     EC_KEY *ec;
     ECDSA_SIG *ecdsa_sig;
+    BIGNUM *sig_r, *sig_s;
     const EVP_MD *md = NULL;
     int ok;
 
@@ -2822,8 +3023,15 @@ int sftp_keys_verify_signed_data(pool *p, const char *pubkey_algo,
     sig = (unsigned char *) sftp_msg_read_data(p, &signature, &signaturelen,
       sig_len);
 
-    ecdsa_sig->r = sftp_msg_read_mpint(p, &sig, &sig_len);
-    if (ecdsa_sig->r == NULL) {
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    ECDSA_SIG_get0(&sig_r, &sig_s, ecdsa_sig);
+#else
+    sig_r = ecdsa_sig->r;
+    sig_s = ecdsa_sig->s;
+#endif /* prior to OpenSSL-1.1.0 */
+
+    sig_r = sftp_msg_read_mpint(p, &sig, &sig_len);
+    if (sig_r == NULL) {
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
         "error reading 'r' ECDSA signature component: %s",
         sftp_crypto_get_errors());
@@ -2831,8 +3039,8 @@ int sftp_keys_verify_signed_data(pool *p, const char *pubkey_algo,
       return -1;
     }
 
-    ecdsa_sig->s = sftp_msg_read_mpint(p, &sig, &sig_len);
-    if (ecdsa_sig->s == NULL) {
+    sig_s = sftp_msg_read_mpint(p, &sig, &sig_len);
+    if (sig_s == NULL) {
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
         "error reading 's' ECDSA signature component: %s",
         sftp_crypto_get_errors());
@@ -2854,12 +3062,33 @@ int sftp_keys_verify_signed_data(pool *p, const char *pubkey_algo,
       md = EVP_sha512();
     }
 
-    EVP_DigestInit(&ctx, md);
-    EVP_DigestUpdate(&ctx, sig_data, sig_datalen);
-    EVP_DigestFinal(&ctx, digest, &digestlen);
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    pctx = EVP_MD_CTX_new();
+#else
+    pctx = &ctx;
+#endif /* prior to OpenSSL-1.1.0 */
+
+    EVP_DigestInit(pctx, md);
+    EVP_DigestUpdate(pctx, sig_data, sig_datalen);
+    EVP_DigestFinal(pctx, digest, &digestlen);
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    EVP_MD_CTX_free(pctx);
+#endif /* OpenSSL-1.1.0 and later */
 
     ec = EVP_PKEY_get1_EC_KEY(pkey);
 
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+# if OPENSSL_VERSION_NUMBER >= 0x10100006L
+    ECDSA_SIG_set0(ecdsa_sig, sig_r, sig_s);
+# else
+    /* XXX What to do here? */
+# endif /* prior to OpenSSL-1.1.0-pre6 */
+#else
+    ecdsa_sig->r = sig_r;
+    ecdsa_sig->s = sig_s;
+#endif /* prior to OpenSSL-1.1.0 */
+
     ok = ECDSA_do_verify(digest, digestlen, ecdsa_sig, ec);
     if (ok == 1) {
       res = 0;
diff --git a/contrib/mod_sftp/mac.c b/contrib/mod_sftp/mac.c
index 8660b93..e5713b3 100644
--- a/contrib/mod_sftp/mac.c
+++ b/contrib/mod_sftp/mac.c
@@ -1,6 +1,6 @@
 /*
  * ProFTPD - mod_sftp MACs
- * Copyright (c) 2008-2015 TJ Saunders
+ * Copyright (c) 2008-2016 TJ Saunders
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -66,14 +66,14 @@ static struct sftp_mac read_macs[] = {
   { NULL, 0, NULL, NULL, 0 },
   { NULL, 0, NULL, NULL, 0 }
 };
-static HMAC_CTX hmac_read_ctxs[2];
+static HMAC_CTX *hmac_read_ctxs[2];
 static struct umac_ctx *umac_read_ctxs[2];
 
 static struct sftp_mac write_macs[] = {
   { NULL, 0, NULL, NULL, 0 },
   { NULL, 0, NULL, NULL, 0 }
 };
-static HMAC_CTX hmac_write_ctxs[2];
+static HMAC_CTX *hmac_write_ctxs[2];
 static struct umac_ctx *umac_write_ctxs[2];
 
 static size_t mac_blockszs[2] = { 0, 0 };
@@ -103,12 +103,14 @@ static unsigned int get_next_write_index(void) {
 static void switch_read_mac(void) {
   /* First we can clear the read MAC, kept from rekeying. */
   if (read_macs[read_mac_idx].key) {
-    clear_mac(&(read_macs[read_mac_idx]));
-#if OPENSSL_VERSION_NUMBER > 0x000907000L
-    HMAC_CTX_cleanup(&(hmac_read_ctxs[read_mac_idx]));
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    HMAC_CTX_reset(hmac_read_ctxs[read_mac_idx]);
+#elif OPENSSL_VERSION_NUMBER > 0x000907000L
+    HMAC_CTX_cleanup(hmac_read_ctxs[read_mac_idx]);
 #else
-    HMAC_cleanup(&(hmac_read_ctxs[read_mac_idx]));
+    HMAC_cleanup(hmac_read_ctxs[read_mac_idx]);
 #endif
+
     umac_reset(umac_read_ctxs[read_mac_idx]);
 
     mac_blockszs[read_mac_idx] = 0; 
@@ -127,11 +129,14 @@ static void switch_write_mac(void) {
   /* First we can clear the write MAC, kept from rekeying. */
   if (write_macs[write_mac_idx].key) {
     clear_mac(&(write_macs[write_mac_idx]));
-#if OPENSSL_VERSION_NUMBER > 0x000907000L
-    HMAC_CTX_cleanup(&(hmac_write_ctxs[write_mac_idx]));
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    HMAC_CTX_reset(hmac_write_ctxs[write_mac_idx]);
+#elif OPENSSL_VERSION_NUMBER > 0x000907000L
+    HMAC_CTX_cleanup(hmac_write_ctxs[write_mac_idx]);
 #else
-    HMAC_cleanup(&(hmac_write_ctxs[write_mac_idx]));
+    HMAC_cleanup(hmac_write_ctxs[write_mac_idx]);
 #endif
+
     umac_reset(umac_write_ctxs[write_mac_idx]);
 
     /* Now we can switch the index. */
@@ -159,13 +164,14 @@ static void clear_mac(struct sftp_mac *mac) {
 
 static int init_mac(pool *p, struct sftp_mac *mac, HMAC_CTX *hmac_ctx,
     struct umac_ctx *umac_ctx) {
-#if OPENSSL_VERSION_NUMBER > 0x000907000L
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  HMAC_CTX_reset(hmac_ctx);
+#elif OPENSSL_VERSION_NUMBER > 0x000907000L
   HMAC_CTX_init(hmac_ctx);
 #else
   /* Reset the HMAC context. */
   HMAC_Init(hmac_ctx, NULL, 0, NULL);
 #endif
-  umac_reset(umac_ctx);
 
   if (mac->algo_type == SFTP_MAC_ALGO_TYPE_HMAC) {
 #if OPENSSL_VERSION_NUMBER > 0x000907000L
@@ -187,6 +193,7 @@ static int init_mac(pool *p, struct sftp_mac *mac, HMAC_CTX *hmac_ctx,
 #endif
 
   } else if (mac->algo_type == SFTP_MAC_ALGO_TYPE_UMAC64) {
+    umac_reset(umac_ctx);
     umac_init(umac_ctx, mac->key);
   }
 
@@ -363,7 +370,10 @@ static int get_mac(struct ssh2_packet *pkt, struct sftp_mac *mac,
 static int set_mac_key(struct sftp_mac *mac, const EVP_MD *hash,
     const unsigned char *k, uint32_t klen, const char *h, uint32_t hlen,
     char *letter, const unsigned char *id, uint32_t id_len) {
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
   EVP_MD_CTX ctx;
+#endif /* prior to OpenSSL-1.1.0 */
+  EVP_MD_CTX *pctx;
   unsigned char *key = NULL;
   size_t key_sz;
   uint32_t key_len = 0;
@@ -383,77 +393,101 @@ static int set_mac_key(struct sftp_mac *mac, const EVP_MD *hash,
     _exit(1);
   }
 
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+  pctx = &ctx;
+#else
+  pctx = EVP_MD_CTX_new();
+#endif /* prior to OpenSSL-1.1.0 */
+
   /* In OpenSSL 0.9.6, many of the EVP_Digest* functions returned void, not
    * int.  Without these ugly OpenSSL version preprocessor checks, the
    * compiler will error out with "void value not ignored as it ought to be".
    */
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestInit(&ctx, hash) != 1) {
+  if (EVP_DigestInit(pctx, hash) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error initializing message digest: %s", sftp_crypto_get_errors());
     free(key);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
     return -1;
   }
 #else
-  EVP_DigestInit(&ctx, hash);
+  EVP_DigestInit(pctx, hash);
 #endif
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestUpdate(&ctx, k, klen) != 1) {
+  if (EVP_DigestUpdate(pctx, k, klen) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error updating message digest with K: %s", sftp_crypto_get_errors());
     free(key);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
     return -1;
   }
 #else
-  EVP_DigestUpdate(&ctx, k, klen);
+  EVP_DigestUpdate(pctx, k, klen);
 #endif
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestUpdate(&ctx, h, hlen) != 1) {
+  if (EVP_DigestUpdate(pctx, h, hlen) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error updating message digest with H: %s", sftp_crypto_get_errors());
     free(key);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
     return -1;
   }
 #else
-  EVP_DigestUpdate(&ctx, h, hlen);
+  EVP_DigestUpdate(pctx, h, hlen);
 #endif
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestUpdate(&ctx, letter, sizeof(char)) != 1) {
+  if (EVP_DigestUpdate(pctx, letter, sizeof(char)) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error updating message digest with '%c': %s", *letter,
       sftp_crypto_get_errors());
     free(key);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
     return -1;
   }
 #else
-  EVP_DigestUpdate(&ctx, letter, sizeof(char));
+  EVP_DigestUpdate(pctx, letter, sizeof(char));
 #endif
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestUpdate(&ctx, (char *) id, id_len) != 1) {
+  if (EVP_DigestUpdate(pctx, (char *) id, id_len) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error updating message digest with ID: %s", sftp_crypto_get_errors());
     free(key);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
     return -1;
   }
 #else
-  EVP_DigestUpdate(&ctx, (char *) id, id_len);
+  EVP_DigestUpdate(pctx, (char *) id, id_len);
 #endif
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestFinal(&ctx, key, &key_len) != 1) {
+  if (EVP_DigestFinal(pctx, key, &key_len) != 1) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "error finalizing message digest: %s", sftp_crypto_get_errors());
     pr_memscrub(key, key_sz);
     free(key);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
     return -1;
   }
 #else
-  EVP_DigestFinal(&ctx, key, &key_len);
+  EVP_DigestFinal(pctx, key, &key_len);
 #endif
 
   /* If we need more, keep hashing, as per RFC, until we have enough
@@ -466,64 +500,79 @@ static int set_mac_key(struct sftp_mac *mac, const EVP_MD *hash,
     pr_signals_handle();
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-    if (EVP_DigestInit(&ctx, hash) != 1) {
+    if (EVP_DigestInit(pctx, hash) != 1) {
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
         "error initializing message digest: %s", sftp_crypto_get_errors());
       pr_memscrub(key, key_sz);
       free(key);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000L
+      EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
       return -1;
     }
 #else
-    EVP_DigestInit(&ctx, hash);
+    EVP_DigestInit(pctx, hash);
 #endif
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-    if (EVP_DigestUpdate(&ctx, k, klen) != 1) {
+    if (EVP_DigestUpdate(pctx, k, klen) != 1) {
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
         "error updating message digest with K: %s", sftp_crypto_get_errors());
       pr_memscrub(key, key_sz);
       free(key);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000L
+      EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
       return -1;
     }
 #else
-    EVP_DigestUpdate(&ctx, k, klen);
+    EVP_DigestUpdate(pctx, k, klen);
 #endif
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-    if (EVP_DigestUpdate(&ctx, h, hlen) != 1) {
+    if (EVP_DigestUpdate(pctx, h, hlen) != 1) {
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
         "error updating message digest with H: %s", sftp_crypto_get_errors());
       pr_memscrub(key, key_sz);
       free(key);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000L
+      EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
       return -1;
     }
 #else
-    EVP_DigestUpdate(&ctx, h, hlen);
+    EVP_DigestUpdate(pctx, h, hlen);
 #endif
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-    if (EVP_DigestUpdate(&ctx, key, len) != 1) {
+    if (EVP_DigestUpdate(pctx, key, len) != 1) {
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
         "error updating message digest with data: %s",
         sftp_crypto_get_errors());
       pr_memscrub(key, key_sz);
       free(key);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000L
+      EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
       return -1;
     }
 #else
-    EVP_DigestUpdate(&ctx, key, len);
+    EVP_DigestUpdate(pctx, key, len);
 #endif
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-    if (EVP_DigestFinal(&ctx, key + len, &len) != 1) {
+    if (EVP_DigestFinal(pctx, key + len, &len) != 1) {
       (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
         "error finalizing message digest: %s", sftp_crypto_get_errors());
       pr_memscrub(key, key_sz);
       free(key);
+# if OPENSSL_VERSION_NUMBER >= 0x10100000L
+      EVP_MD_CTX_free(pctx);
+# endif /* OpenSSL-1.1.0 and later */
       return -1;
     }
 #else
-    EVP_DigestFinal(&ctx, key + len, &len);
+    EVP_DigestFinal(pctx, key + len, &len);
 #endif
 
     key_len += len;
@@ -532,6 +581,10 @@ static int set_mac_key(struct sftp_mac *mac, const EVP_MD *hash,
   mac->key = key;
   mac->keysz = key_sz;
 
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  EVP_MD_CTX_free(pctx);
+#endif /* OpenSSL-1.1.0 and later */
+
   if (mac->algo_type == SFTP_MAC_ALGO_TYPE_HMAC) {
     mac->key_len = EVP_MD_size(mac->digest);
 
@@ -604,7 +657,7 @@ int sftp_mac_set_read_key(pool *p, const EVP_MD *hash, const BIGNUM *k,
   switch_read_mac();
 
   mac = &(read_macs[read_mac_idx]);
-  hmac_ctx = &(hmac_read_ctxs[read_mac_idx]);
+  hmac_ctx = hmac_read_ctxs[read_mac_idx];
   umac_ctx = umac_read_ctxs[read_mac_idx];
 
   bufsz = buflen = SFTP_MAC_BUFSZ;
@@ -642,7 +695,7 @@ int sftp_mac_read_data(struct ssh2_packet *pkt) {
   int res;
 
   mac = &(read_macs[read_mac_idx]);
-  hmac_ctx = &(hmac_read_ctxs[read_mac_idx]);
+  hmac_ctx = hmac_read_ctxs[read_mac_idx];
   umac_ctx = umac_read_ctxs[read_mac_idx];
 
   if (mac->key == NULL) {
@@ -707,7 +760,7 @@ int sftp_mac_set_write_key(pool *p, const EVP_MD *hash, const BIGNUM *k,
   switch_write_mac();
 
   mac = &(write_macs[write_mac_idx]);
-  hmac_ctx = &(hmac_write_ctxs[write_mac_idx]);
+  hmac_ctx = hmac_write_ctxs[write_mac_idx];
   umac_ctx = umac_write_ctxs[write_mac_idx];
 
   bufsz = buflen = SFTP_MAC_BUFSZ;
@@ -737,7 +790,7 @@ int sftp_mac_write_data(struct ssh2_packet *pkt) {
   int res;
 
   mac = &(write_macs[write_mac_idx]);
-  hmac_ctx = &(hmac_write_ctxs[write_mac_idx]);
+  hmac_ctx = hmac_write_ctxs[write_mac_idx];
   umac_ctx = umac_write_ctxs[write_mac_idx];
 
   if (mac->key == NULL) {
@@ -755,18 +808,43 @@ int sftp_mac_write_data(struct ssh2_packet *pkt) {
   return 0;
 }
 
-int sftp_mac_init(void) {
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+/* In older versions of OpenSSL, there was not a way to dynamically allocate
+ * an HMAC_CTX object.  Thus we have these static objects for those
+ * older versions.
+ */
+static HMAC_CTX read_ctx1, read_ctx2;
+static HMAC_CTX write_ctx1, write_ctx2;
+#endif /* prior to OpenSSL-1.1.0 */
 
-  umac_read_ctxs[0] = umac_alloc();
-  umac_read_ctxs[1] = umac_alloc();
+int sftp_mac_init(void) {
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+  hmac_read_ctxs[0] = &read_ctx1;
+  hmac_read_ctxs[1] = &read_ctx2;
+  hmac_write_ctxs[0] = &write_ctx1;
+  hmac_write_ctxs[1] = &write_ctx2;
+#else
+  hmac_read_ctxs[0] = HMAC_CTX_new();
+  hmac_read_ctxs[1] = HMAC_CTX_new();
+  hmac_write_ctxs[0] = HMAC_CTX_new();
+  hmac_write_ctxs[1] = HMAC_CTX_new();
+#endif /* OpenSSL-1.1.0 and later */
 
-  umac_write_ctxs[0] = umac_alloc();
-  umac_write_ctxs[1] = umac_alloc();
+  umac_read_ctxs[0] = NULL;
+  umac_read_ctxs[1] = NULL;
+  umac_write_ctxs[0] = NULL;
+  umac_write_ctxs[1] = NULL;
 
   return 0;
 }
 
 int sftp_mac_free(void) {
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  HMAC_CTX_free(hmac_read_ctxs[0]);
+  HMAC_CTX_free(hmac_read_ctxs[1]);
+  HMAC_CTX_free(hmac_write_ctxs[0]);
+  HMAC_CTX_free(hmac_write_ctxs[1]);
+#endif /* OpenSSL-1.1.0 and later */
 
   umac_delete(umac_read_ctxs[0]);
   umac_read_ctxs[0] = NULL;
diff --git a/contrib/mod_sftp/mod_sftp.c b/contrib/mod_sftp/mod_sftp.c
index 95cbd9d..eecf501 100644
--- a/contrib/mod_sftp/mod_sftp.c
+++ b/contrib/mod_sftp/mod_sftp.c
@@ -1,6 +1,6 @@
 /*
  * ProFTPD - mod_sftp
- * Copyright (c) 2008-2015 TJ Saunders
+ * Copyright (c) 2008-2016 TJ Saunders
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -31,6 +31,7 @@
 #include "packet.h"
 #include "interop.h"
 #include "crypto.h"
+#include "cipher.h"
 #include "mac.h"
 #include "keys.h"
 #include "keystore.h"
@@ -1451,6 +1452,7 @@ static void sftp_mod_unload_ev(const void *event_data, void *user_data) {
     sftp_interop_free();
     sftp_keystore_free();
     sftp_keys_free();
+    sftp_cipher_free();
     sftp_mac_free();
     pr_response_block(FALSE);
     sftp_utf8_free();
@@ -1504,6 +1506,7 @@ static void sftp_shutdown_ev(const void *event_data, void *user_data) {
   sftp_interop_free();
   sftp_keystore_free();
   sftp_keys_free();
+  sftp_cipher_free();
   sftp_mac_free();
   sftp_utf8_free();
 
@@ -1610,6 +1613,7 @@ static int sftp_init(void) {
   pr_log_debug(DEBUG2, MOD_SFTP_VERSION ": using " OPENSSL_VERSION_TEXT);
 
   sftp_keystore_init();
+  sftp_cipher_init();
   sftp_mac_init();
 
   pr_event_register(&sftp_module, "mod_ban.ban-class", sftp_ban_class_ev, NULL);
diff --git a/contrib/mod_sftp/msg.c b/contrib/mod_sftp/msg.c
index 1ec0e91..e00d24a 100644
--- a/contrib/mod_sftp/msg.c
+++ b/contrib/mod_sftp/msg.c
@@ -1,6 +1,6 @@
 /*
  * ProFTPD - mod_sftp message format
- * Copyright (c) 2008-2013 TJ Saunders
+ * Copyright (c) 2008-2016 TJ Saunders
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -20,8 +20,6 @@
  * give permission to link this program with OpenSSL, and distribute the
  * resulting executable, without including the source code for OpenSSL in the
  * source distribution.
- *
- * $Id: msg.c,v 1.16 2013-10-07 01:29:05 castaglia Exp $
  */
 
 #include "mod_sftp.h"
@@ -34,7 +32,6 @@
 # include <execinfo.h>
 #endif
 
-
 #ifdef PR_USE_OPENSSL_ECC
 /* Max GFp field length = 528 bits.  SEC1 uncompressed encoding uses 2
  * bitstring points.  SEC1 specifies a 1 byte point type header.
@@ -198,43 +195,53 @@ uint64_t sftp_msg_read_long(pool *p, unsigned char **buf, uint32_t *buflen) {
 
 BIGNUM *sftp_msg_read_mpint(pool *p, unsigned char **buf, uint32_t *buflen) {
   BIGNUM *mpint = NULL;
-  const unsigned char *data = NULL;
-  uint32_t datalen = 0;
+  const unsigned char *data = NULL, *ptr = NULL;
+  uint32_t datalen = 0, len = 0;
 
-  datalen = sftp_msg_read_int(p, buf, buflen);
+  len = sftp_msg_read_int(p, buf, buflen);
 
-  if (*buflen < datalen) {
+  if (*buflen < len) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "message format error: unable to read %lu bytes of mpint (buflen = %lu)",
-      (unsigned long) datalen, (unsigned long) *buflen);
+      (unsigned long) len, (unsigned long) *buflen);
     log_stacktrace();
     SFTP_DISCONNECT_CONN(SFTP_SSH2_DISCONNECT_BY_APPLICATION, NULL);
   }
 
-  if (datalen > (1024 * 16)) {
+  if (len > (1024 * 16)) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "message format error: unable to handle mpint of %lu bytes",
-      (unsigned long) datalen);
+      (unsigned long) len);
     log_stacktrace();
     SFTP_DISCONNECT_CONN(SFTP_SSH2_DISCONNECT_BY_APPLICATION, NULL);
   }
 
-  data = (const unsigned char *) sftp_msg_read_data(p, buf, buflen, datalen);
-  if (data == NULL) {
+  ptr = (const unsigned char *) sftp_msg_read_data(p, buf, buflen, len);
+  if (ptr == NULL) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "message format error: unable to read %lu bytes of mpint data",
-      (unsigned long) datalen);
+      (unsigned long) len);
     log_stacktrace();
     SFTP_DISCONNECT_CONN(SFTP_SSH2_DISCONNECT_BY_APPLICATION, NULL);
   }
 
-  if (data[0] & 0x80) {
+  if ((ptr[0] & 0x80) != 0) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "message format error: negative mpint numbers not supported");
     log_stacktrace();
     SFTP_DISCONNECT_CONN(SFTP_SSH2_DISCONNECT_BY_APPLICATION, NULL);
   }
 
+  /* Trim any leading zeros. */
+  data = ptr;
+  datalen = len;
+  while (datalen > 0 &&
+         *data == 0x00) {
+    pr_signals_handle();
+    data++;
+    datalen--;
+  }
+
   mpint = BN_bin2bn(data, (int) datalen, NULL);
   if (mpint == NULL) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
@@ -446,13 +453,15 @@ uint32_t sftp_msg_write_mpint(unsigned char **buf, uint32_t *buflen,
     return sftp_msg_write_int(buf, buflen, 0);
   }
 
-  if (mpint->neg) {
+#if OPENSSL_VERSION_NUMBER >= 0x0090801fL
+  if (BN_is_negative(mpint)) {
     (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
       "message format error: unable to write mpint (negative numbers not "
       "supported)");
     log_stacktrace();
     SFTP_DISCONNECT_CONN(SFTP_SSH2_DISCONNECT_BY_APPLICATION, NULL);
   }
+#endif /* OpenSSL-0.9.8a or later */
 
   datalen = BN_num_bytes(mpint) + 1;
 
diff --git a/contrib/mod_sftp/packet.c b/contrib/mod_sftp/packet.c
index 01f509d..45a8265 100644
--- a/contrib/mod_sftp/packet.c
+++ b/contrib/mod_sftp/packet.c
@@ -1414,6 +1414,7 @@ int sftp_ssh2_packet_handle(void) {
 
   pr_response_clear(&resp_list);
   pr_response_clear(&resp_err_list);
+  pr_response_set_pool(pkt->pool);
 
   /* Note: Some of the SSH messages will be handled regardless of the
    * sftp_sess_state flags; this is intentional, and is the way that
@@ -1549,6 +1550,7 @@ int sftp_ssh2_packet_handle(void) {
         "Unsupported protocol sequence");
   }
 
+  pr_response_set_pool(NULL);
   return 0;
 }
 
diff --git a/contrib/mod_sftp/scp.c b/contrib/mod_sftp/scp.c
index 6186805..e7e81af 100644
--- a/contrib/mod_sftp/scp.c
+++ b/contrib/mod_sftp/scp.c
@@ -1,6 +1,6 @@
 /*
  * ProFTPD - mod_sftp SCP
- * Copyright (c) 2008-2015 TJ Saunders
+ * Copyright (c) 2008-2016 TJ Saunders
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -40,6 +40,10 @@
 
 struct scp_path {
   char *path;
+
+  /* The original path, as provided in the scp command. */
+  const char *orig_path;
+
   pr_fh_t *fh;
 
   /* Points to the parent directory "context" path, if any.  For handling
@@ -743,6 +747,7 @@ static int recv_finfo(pool *p, uint32_t channel_id, struct scp_path *sp,
           "rejecting", sp->path);
         write_confirm(p, channel_id, 1,
           pstrcat(p, sp->path, ": cannot use directory (no -r option)", NULL));
+        sp->wrote_errors = TRUE;
         return 1;
       }
 
@@ -755,6 +760,7 @@ static int recv_finfo(pool *p, uint32_t channel_id, struct scp_path *sp,
         sp->path, data[0]);
       write_confirm(p, channel_id, 1,
         pstrcat(p, sp->path, ": expected control message", NULL));
+      sp->wrote_errors = TRUE;
       return 1;
   }
 
@@ -881,6 +887,7 @@ static int recv_finfo(pool *p, uint32_t channel_id, struct scp_path *sp,
      */
 
     parent_sp = pcalloc(scp_pool, sizeof(struct scp_path));
+    parent_sp->orig_path = pstrdup(scp_pool, sp->orig_path);
     parent_sp->path = pstrdup(scp_pool, sp->filename);
     parent_sp->filename = pstrdup(scp_pool, sp->filename);
     parent_sp->best_path = pstrdup(scp_pool, sp->best_path);
@@ -1165,6 +1172,7 @@ static int recv_eod(pool *p, uint32_t channel_id, struct scp_path *sp,
       write_confirm(p, channel_id, 1,
         pstrcat(p, parent_sp->path, ": error setting mode: ", strerror(xerrno),
         NULL));
+      sp->wrote_errors = TRUE;
       ok = FALSE;
     }
 
@@ -1203,8 +1211,9 @@ static int recv_eod(pool *p, uint32_t channel_id, struct scp_path *sp,
     }
   }
 
-  if (ok)
+  if (ok) {
     write_confirm(p, channel_id, 0, NULL);
+  }
 
   return 1;
 }
@@ -1243,12 +1252,14 @@ static int recv_path(pool *p, uint32_t channel_id, struct scp_path *sp,
         if (!S_ISDIR(st.st_mode)) {
           write_confirm(p, channel_id, 1,
             pstrcat(p, sp->path, ": ", strerror(ENOTDIR), NULL));
+          sp->wrote_errors = TRUE;
           return 1;
         }
 
       } else {
         write_confirm(p, channel_id, 1,
           pstrcat(p, sp->path, ": ", strerror(errno), NULL));
+        sp->wrote_errors = TRUE;
         return 1;
       }
 
@@ -1268,6 +1279,7 @@ static int recv_path(pool *p, uint32_t channel_id, struct scp_path *sp,
         if (res < 0) {
           write_confirm(p, channel_id, 1,
             pstrcat(p, sp->path, ": ", strerror(errno), NULL));
+          sp->wrote_errors = TRUE;
           return 1;
         }
       }
@@ -1300,8 +1312,19 @@ static int recv_path(pool *p, uint32_t channel_id, struct scp_path *sp,
         parent_dir = sp->parent_dir->parent_dir;
       }
 
-      if (parent_dir) {
+      if (parent_dir != NULL) {
+        pr_trace_msg(trace_channel, 18,
+          "received EOD, resetting path from '%s' to '%s'", sp->path,
+          parent_dir->path);
         sp->path = parent_dir->path;
+
+      } else {
+        if (sp->orig_path != NULL) {
+          sp->path = pstrdup(scp_pool, sp->orig_path);
+        }
+
+        pr_trace_msg(trace_channel, 18,
+          "received EOD, no parent found for '%s'", sp->path);
       }
 
       sp->parent_dir = parent_dir;
@@ -1384,7 +1407,6 @@ static int recv_path(pool *p, uint32_t channel_id, struct scp_path *sp,
         write_confirm(p, channel_id, 1,
           pstrcat(p, sp->filename, ": error truncating file: ",
           strerror(xerrno), NULL));
-
         sp->wrote_errors = TRUE;
       }
     }
@@ -1406,7 +1428,6 @@ static int recv_path(pool *p, uint32_t channel_id, struct scp_path *sp,
         write_confirm(p, channel_id, 1,
           pstrcat(p, sp->filename, ": error setting mode: ", strerror(xerrno),
           NULL));
-
         sp->wrote_errors = TRUE;
       }
 
@@ -1430,7 +1451,6 @@ static int recv_path(pool *p, uint32_t channel_id, struct scp_path *sp,
         "scp: error closing '%s': %s", sp->best_path, strerror(xerrno));
       write_confirm(p, channel_id, 1,
         pstrcat(p, sp->filename, ": ", strerror(xerrno), NULL));
-
       sp->wrote_errors = TRUE;
     }
 
@@ -1505,7 +1525,6 @@ static int recv_path(pool *p, uint32_t channel_id, struct scp_path *sp,
         write_confirm(p, channel_id, 1,
           pstrcat(p, sp->filename, ": error setting times: ", strerror(xerrno),
           NULL));
-
         sp->wrote_errors = TRUE;
       }
 
@@ -2407,6 +2426,8 @@ int sftp_scp_set_params(pool *p, uint32_t channel_id, array_header *req) {
                 sp->path[--pathlen] = '\0';
               }
 
+              sp->orig_path = pstrdup(paths->pool, sp->path);
+
               if (pathlen > 0) {
                 *((struct scp_path **) push_array(paths->paths)) = sp;
               }
@@ -2462,6 +2483,8 @@ int sftp_scp_set_params(pool *p, uint32_t channel_id, array_header *req) {
           sp->path[--pathlen] = '\0';
         }
 
+        sp->orig_path = pstrdup(paths->pool, sp->path);
+
         if (pathlen > 0) {
           *((struct scp_path **) push_array(paths->paths)) = sp;
         }
@@ -2548,6 +2571,7 @@ int sftp_scp_open_session(uint32_t channel_id) {
     src_sp = ((struct scp_path **) paths->paths->elts)[i];
 
     dst_sp = pcalloc(sess->pool, sizeof(struct scp_path));
+    dst_sp->orig_path = pstrdup(sess->pool, src_sp->orig_path);
     dst_sp->path = pstrdup(sess->pool, src_sp->path);
 
     *((struct scp_path **) push_array(sess->paths)) = dst_sp;
diff --git a/contrib/mod_sql.c b/contrib/mod_sql.c
index 605dbfd..1fd2170 100644
--- a/contrib/mod_sql.c
+++ b/contrib/mod_sql.c
@@ -2,7 +2,7 @@
  * ProFTPD: mod_sql -- SQL frontend
  * Copyright (c) 1998-1999 Johnie Ingram.
  * Copyright (c) 2001 Andrew Houghton.
- * Copyright (c) 2004-2014 TJ Saunders
+ * Copyright (c) 2004-2016 TJ Saunders
  *  
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -22,8 +22,6 @@
  * holders give permission to link this program with OpenSSL, and distribute
  * the resulting executable, without including the source code for OpenSSL in
  * the source distribution.
- *
- * $Id: mod_sql.c,v 1.247 2014-02-15 08:31:25 castaglia Exp $
  */
 
 #include "conf.h"
@@ -751,8 +749,7 @@ static modret_t *sql_auth_openssl(cmd_rec *cmd, const char *plaintext,
    * the form "{digest}hash".
    */
 
-  EVP_MD_CTX md_ctxt;
-  EVP_ENCODE_CTX base64_ctxt;
+  EVP_MD_CTX *md_ctx;
   const EVP_MD *md;
 
   /* According to RATS, the output buffer (buf) for EVP_EncodeBlock() needs to
@@ -793,12 +790,13 @@ static modret_t *sql_auth_openssl(cmd_rec *cmd, const char *plaintext,
     return PR_ERROR_INT(cmd, PR_AUTH_BADPWD);
   }
 
-  EVP_DigestInit(&md_ctxt, md);
-  EVP_DigestUpdate(&md_ctxt, plaintext, strlen(plaintext));
-  EVP_DigestFinal(&md_ctxt, mdval, &mdlen);
+  md_ctx = EVP_MD_CTX_create();
+  EVP_DigestInit(md_ctx, md);
+  EVP_DigestUpdate(md_ctx, plaintext, strlen(plaintext));
+  EVP_DigestFinal(md_ctx, mdval, &mdlen);
+  EVP_MD_CTX_destroy(md_ctx);
 
   memset(buf, '\0', sizeof(buf));
-  EVP_EncodeInit(&base64_ctxt);
   EVP_EncodeBlock(buf, mdval, (int) mdlen);
 
   if (strcmp((char *) buf, hashvalue) == 0) {
diff --git a/contrib/mod_sql_mysql.c b/contrib/mod_sql_mysql.c
index d836a01..ba37fd9 100644
--- a/contrib/mod_sql_mysql.c
+++ b/contrib/mod_sql_mysql.c
@@ -1,7 +1,7 @@
 /*
  * ProFTPD: mod_sql_mysql -- Support for connecting to MySQL databases.
  * Copyright (c) 2001 Andrew Houghton
- * Copyright (c) 2004-2015 TJ Saunders
+ * Copyright (c) 2004-2016 TJ Saunders
  *  
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -545,8 +545,17 @@ MODRET cmd_open(cmd_rec *cmd) {
      }
 
     if (mysql_set_character_set(conn->mysql, encoding) != 0) {
-      sql_log(DEBUG_FUNC, "%s", "exiting \tmysql cmd_open");
-      return _build_error(cmd, conn);
+      /* Failing to set the character set should NOT be a fatal error.
+       * There are situations where, due to client/server mismatch, the
+       * requested character set may not be available.  Thus for now,
+       * we simply log the failure.
+       *
+       * A future improvement might be to implement fallback behavior,
+       * trying to set "older" character sets as needed.
+       */
+      sql_log(DEBUG_FUNC, MOD_SQL_MYSQL_VERSION
+        ": failed to set character set '%s': %s (%u)", encoding,
+        mysql_error(conn->mysql), mysql_errno(conn->mysql));
     }
 
     sql_log(DEBUG_FUNC, "MySQL connection character set now '%s' (from '%s')",
diff --git a/contrib/mod_sql_passwd.c b/contrib/mod_sql_passwd.c
index d6afd65..097341e 100644
--- a/contrib/mod_sql_passwd.c
+++ b/contrib/mod_sql_passwd.c
@@ -1,6 +1,6 @@
 /*
  * ProFTPD: mod_sql_passwd -- Various SQL password handlers
- * Copyright (c) 2009-2014 TJ Saunders
+ * Copyright (c) 2009-2016 TJ Saunders
  *  
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -20,8 +20,6 @@
  * give permission to link this program with OpenSSL, and distribute the
  * resulting executable, without including the source code for OpenSSL in
  * the source distribution.
- *
- * $Id: mod_sql_passwd.c,v 1.22 2014-05-05 16:15:02 castaglia Exp $
  */
 
 #include "conf.h"
@@ -199,7 +197,6 @@ static int get_pbkdf2_config(char *algo, const EVP_MD **md,
 }
 
 static char *sql_passwd_encode(pool *p, unsigned char *data, size_t data_len) {
-  EVP_ENCODE_CTX base64_ctxt;
   char *buf;
 
   /* According to RATS, the output buffer for EVP_EncodeBlock() needs to be
@@ -211,7 +208,6 @@ static char *sql_passwd_encode(pool *p, unsigned char *data, size_t data_len) {
 
   switch (sql_passwd_encoding) {
     case SQL_PASSWD_USE_BASE64:
-      EVP_EncodeInit(&base64_ctxt);
       EVP_EncodeBlock((unsigned char *) buf, data, (int) data_len);
       break;
 
@@ -254,7 +250,7 @@ static unsigned char *sql_passwd_hash(pool *p, const EVP_MD *md,
     unsigned char *suffix, size_t suffix_len,
     unsigned int *hash_len) {
 
-  EVP_MD_CTX md_ctx;
+  EVP_MD_CTX *md_ctx;
   unsigned char *hash;
 
   hash = palloc(p, EVP_MAX_MD_SIZE);
@@ -264,69 +260,76 @@ static unsigned char *sql_passwd_hash(pool *p, const EVP_MD *md,
    * compiler will error out with "void value not ignored as it ought to be".
    */
 
+  md_ctx = EVP_MD_CTX_create();
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestInit(&md_ctx, md) != 1) {
+  if (EVP_DigestInit(md_ctx, md) != 1) {
     sql_log(DEBUG_WARN, MOD_SQL_PASSWD_VERSION
       ": error initializing '%s' digest: %s", OBJ_nid2ln(EVP_MD_type(md)),
       get_crypto_errors());
+    EVP_MD_CTX_destroy(md_ctx);
     errno = EPERM;
     return NULL;
   }
 #else
-  EVP_DigestInit(&md_ctx, md);
+  EVP_DigestInit(md_ctx, md);
 #endif
 
   if (prefix != NULL) {
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-    if (EVP_DigestUpdate(&md_ctx, prefix, prefix_len) != 1) {
+    if (EVP_DigestUpdate(md_ctx, prefix, prefix_len) != 1) {
       sql_log(DEBUG_WARN, MOD_SQL_PASSWD_VERSION
         ": error updating '%s' digest: %s", OBJ_nid2ln(EVP_MD_type(md)),
         get_crypto_errors());
+      EVP_MD_CTX_destroy(md_ctx);
       errno = EPERM;
       return NULL;
     }
 #else
-    EVP_DigestUpdate(&md_ctx, prefix, prefix_len);
+    EVP_DigestUpdate(md_ctx, prefix, prefix_len);
 #endif
   }
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestUpdate(&md_ctx, data, data_len) != 1) {
+  if (EVP_DigestUpdate(md_ctx, data, data_len) != 1) {
     sql_log(DEBUG_WARN, MOD_SQL_PASSWD_VERSION
       ": error updating '%s' digest: %s", OBJ_nid2ln(EVP_MD_type(md)),
       get_crypto_errors());
+    EVP_MD_CTX_destroy(md_ctx);
     errno = EPERM;
     return NULL;
   }
 #else
-  EVP_DigestUpdate(&md_ctx, data, data_len);
+  EVP_DigestUpdate(md_ctx, data, data_len);
 #endif
 
   if (suffix != NULL) {
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-    if (EVP_DigestUpdate(&md_ctx, suffix, suffix_len) != 1) {
+    if (EVP_DigestUpdate(md_ctx, suffix, suffix_len) != 1) {
       sql_log(DEBUG_WARN, MOD_SQL_PASSWD_VERSION
         ": error updating '%s' digest: %s", OBJ_nid2ln(EVP_MD_type(md)),
         get_crypto_errors());
+      EVP_MD_CTX_destroy(md_ctx);
       errno = EPERM;
       return NULL;
     }
 #else
-    EVP_DigestUpdate(&md_ctx, suffix, suffix_len);
+    EVP_DigestUpdate(md_ctx, suffix, suffix_len);
 #endif
   }
 
 #if OPENSSL_VERSION_NUMBER >= 0x000907000L
-  if (EVP_DigestFinal(&md_ctx, hash, hash_len) != 1) {
+  if (EVP_DigestFinal(md_ctx, hash, hash_len) != 1) {
     sql_log(DEBUG_WARN, MOD_SQL_PASSWD_VERSION
       ": error finishing '%s' digest: %s", OBJ_nid2ln(EVP_MD_type(md)),
       get_crypto_errors());
+    EVP_MD_CTX_destroy(md_ctx);
     errno = EPERM;
     return NULL;
   }
 #else
-  EVP_DigestFinal(&md_ctx, hash, hash_len);
+  EVP_DigestFinal(md_ctx, hash, hash_len);
 #endif
+  EVP_MD_CTX_destroy(md_ctx);
 
   return hash;
 }
diff --git a/contrib/mod_sql_sqlite.c b/contrib/mod_sql_sqlite.c
index 24f6e06..d3c3de4 100644
--- a/contrib/mod_sql_sqlite.c
+++ b/contrib/mod_sql_sqlite.c
@@ -70,8 +70,19 @@ typedef struct conn_entry_struct {
 static pool *conn_pool = NULL;
 static array_header *conn_cache = NULL;
 
+#define SQLITE_TRACE_LEVEL	12
+static const char *trace_channel = "sql.sqlite";
+
 MODRET sql_sqlite_close(cmd_rec *);
 
+static void db_err(void *user_data, int err_code, const char *err_msg) {
+  pr_trace_msg(trace_channel, 1, "(sqlite3): [error %d] %s", err_code, err_msg);
+}
+
+static void db_trace(void *user_data, const char *trace_msg) {
+  pr_trace_msg(trace_channel, SQLITE_TRACE_LEVEL, "(sqlite3): %s", trace_msg);
+}
+
 static conn_entry_t *sql_sqlite_get_conn(char *name) {
   register unsigned int i = 0;
 
@@ -272,7 +283,9 @@ static modret_t *sql_sqlite_get_data(cmd_rec *cmd) {
 MODRET sql_sqlite_open(cmd_rec *cmd) {
   conn_entry_t *entry = NULL;
   db_conn_t *conn = NULL;
+  const char *stmt = NULL;
   int res;
+  unsigned int nretries = 0;
 
   sql_log(DEBUG_FUNC, "%s", "entering \tsqlite cmd_open");
 
@@ -321,13 +334,43 @@ MODRET sql_sqlite_open(cmd_rec *cmd) {
     return PR_ERROR_MSG(cmd, MOD_SQL_SQLITE_VERSION, errstr);
   }
 
+  if (pr_trace_get_level(trace_channel) >= SQLITE_TRACE_LEVEL) {
+    sqlite3_trace(conn->dbh, db_trace, NULL);
+  }
+
   /* Tell SQLite to only use in-memory journals.  This is necessary for
    * mod_sql_sqlite to work properly, for SQLLog statements, when a chroot
    * is used.  Note that the MEMORY journal mode of SQLite is supported
    * only for SQLite-3.6.5 and later.
    */
-  res = sqlite3_exec(conn->dbh, "PRAGMA journal_mode = MEMORY;", NULL, NULL,
-    NULL);
+  stmt = "PRAGMA journal_mode = MEMORY;";
+  res = sqlite3_exec(conn->dbh, stmt, NULL, NULL, NULL);
+
+  /* Make sure we handle contention here, just like any other statement
+   * (Issue#385).
+   */
+  while (res != SQLITE_OK) {
+    if (res == SQLITE_BUSY) {
+      struct timeval tv;
+
+      nretries++;
+      sql_log(DEBUG_FUNC, "attempt #%u, database busy, trying '%s' again",
+        nretries, stmt);
+
+      /* Sleep for short bit, then try again. */
+      tv.tv_sec = 0;
+      tv.tv_usec = 500000L;
+
+      if (select(0, NULL, NULL, NULL, &tv) < 0) {
+        if (errno == EINTR) {
+          pr_signals_handle();
+        }
+      }
+
+      res = sqlite3_exec(conn->dbh, stmt, NULL, NULL, NULL);
+    }
+  }
+
   if (res != SQLITE_OK) {
     sql_log(DEBUG_FUNC, "error setting MEMORY journal mode: %s",
       sqlite3_errmsg(conn->dbh));
@@ -1052,6 +1095,10 @@ static int sql_sqlite_init(void) {
   pr_event_register(&sql_sqlite_module, "core.module-unload",
     sql_sqlite_mod_unload_ev, NULL);
 
+#if defined(SQLITE_CONFIG_LOG)
+  sqlite3_config(SQLITE_CONFIG_LOG, db_err, NULL);
+#endif /* SQLite_CONFIG_LOG */
+
   /* Check that the SQLite headers used match the version of the SQLite
    * library used.
    *
diff --git a/contrib/mod_tls.c b/contrib/mod_tls.c
index ecd9f56..4ba80a7 100644
--- a/contrib/mod_tls.c
+++ b/contrib/mod_tls.c
@@ -2,7 +2,7 @@
  * mod_tls - An RFC2228 SSL/TLS module for ProFTPD
  *
  * Copyright (c) 2000-2002 Peter 'Luna' Runestig <peter at runestig.com>
- * Copyright (c) 2002-2016 TJ Saunders <tj at castaglia.org>
+ * Copyright (c) 2002-2017 TJ Saunders <tj at castaglia.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without modifi-
@@ -47,8 +47,10 @@
 */
 
 #include <openssl/err.h>
+#include <openssl/conf.h>
 #include <openssl/crypto.h>
 #include <openssl/evp.h>
+#include <openssl/ssl3.h>
 #include <openssl/x509v3.h>
 #include <openssl/pkcs12.h>
 #include <openssl/rand.h>
@@ -84,6 +86,57 @@ extern xaset_t *server_list;
  * Last updated on 2013-01-13.
  */
 
+static const char *trace_channel = "tls";
+
+static DH *get_dh(BIGNUM *p, BIGNUM *g) {
+  DH *dh;
+
+  dh = DH_new();
+  if (dh == NULL) {
+    return NULL;
+  }
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  if (DH_set0_pqg(dh, p, NULL, g) != 1) {
+    pr_trace_msg(trace_channel, 3, "error setting DH p/q parameters: %s",
+      ERR_error_string(ERR_get_error(), NULL));
+    DH_free(dh);
+    return NULL;
+  }
+#else
+  dh->p = p;
+  dh->g = g;
+#endif /* OpenSSL 1.1.x and later */
+
+  return dh;
+}
+
+static X509 *read_cert(FILE *fh, SSL_CTX *ssl_ctx) {
+  X509 *cert;
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  cert = PEM_read_X509(fh, NULL, SSL_CTX_get_default_passwd_cb(ssl_ctx),
+    SSL_CTX_get_default_passwd_cb_userdata(ssl_ctx));
+#else
+  cert = PEM_read_X509(fh, NULL, ssl_ctx->default_passwd_callback,
+    ssl_ctx->default_passwd_callback_userdata);
+#endif /* OpenSSL-1.1.x and later */
+
+  return cert;
+}
+
+static int get_pkey_type(EVP_PKEY *pkey) {
+  int pkey_type;
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  pkey_type = EVP_PKEY_id(pkey);
+#else
+  pkey_type = EVP_PKEY_type(pkey->type);
+#endif /* OpenSSL 1.1.x and later */
+
+  return pkey_type;
+}
+
 /*
 -----BEGIN DH PARAMETERS-----
 MEYCQQC6VcB8+WFeFz/HQnk/vXreozxdppNBY4gN8rdzitjTDppPBswzU4ZL/hBS
@@ -105,22 +158,16 @@ static unsigned char dh512_g[] = {
 };
 
 static DH *get_dh512(void) {
-  DH *dh;
+  BIGNUM *p, *g;
 
-  dh = DH_new();
-  if (dh == NULL)
-    return NULL;
-
-  dh->p = BN_bin2bn(dh512_p, sizeof(dh512_p), NULL);
-  dh->g = BN_bin2bn(dh512_g, sizeof(dh512_g), NULL);
-
-  if (dh->p == NULL ||
-      dh->g == NULL) {
-    DH_free(dh);
+  p = BN_bin2bn(dh512_p, sizeof(dh512_p), NULL);
+  g = BN_bin2bn(dh512_g, sizeof(dh512_g), NULL);
+  if (p == NULL ||
+      g == NULL) {
     return NULL;
   }
 
-  return dh;
+  return get_dh(p, g);
 }
 
 /*
@@ -147,22 +194,16 @@ static unsigned char dh768_g[] = {
 };
 
 static DH *get_dh768(void) {
-  DH *dh;
-
-  dh = DH_new();
-  if (dh == NULL)
-    return NULL;
-
-  dh->p = BN_bin2bn(dh768_p, sizeof(dh768_p), NULL);
-  dh->g = BN_bin2bn(dh768_g, sizeof(dh768_g), NULL);
+  BIGNUM *p, *g;
 
-  if (dh->p == NULL ||
-      dh->g == NULL) {
-    DH_free(dh);
+  p = BN_bin2bn(dh768_p, sizeof(dh768_p), NULL);
+  g = BN_bin2bn(dh768_g, sizeof(dh768_g), NULL);
+  if (p == NULL ||
+      g == NULL) {
     return NULL;
   }
 
-  return dh;
+  return get_dh(p, g);
 }
 
 /*
@@ -192,22 +233,16 @@ static unsigned char dh1024_g[] = {
 };
 
 static DH *get_dh1024(void) {
-  DH *dh;
+  BIGNUM *p, *g;
 
-  dh = DH_new();
-  if (dh == NULL)
-    return NULL;
-
-  dh->p = BN_bin2bn(dh1024_p, sizeof(dh1024_p), NULL);
-  dh->g = BN_bin2bn(dh1024_g, sizeof(dh1024_g), NULL);
-
-  if (dh->p == NULL ||
-      dh->g == NULL) {
-    DH_free(dh);
+  p = BN_bin2bn(dh1024_p, sizeof(dh1024_p), NULL);
+  g = BN_bin2bn(dh1024_g, sizeof(dh1024_g), NULL);
+  if (p == NULL ||
+      g == NULL) {
     return NULL;
   }
 
-  return(dh);
+  return get_dh(p, g);
 }
 
 /*
@@ -244,22 +279,16 @@ static unsigned char dh1536_g[] = {
 };
 
 static DH *get_dh1536(void) {
-  DH *dh;
+  BIGNUM *p, *g;
 
-  dh = DH_new();
-  if (dh == NULL)
-    return NULL;
-
-  dh->p = BN_bin2bn(dh1536_p, sizeof(dh1536_p), NULL);
-  dh->g = BN_bin2bn(dh1536_g, sizeof(dh1536_g), NULL);
-
-  if (dh->p == NULL ||
-      dh->g == NULL) {
-    DH_free(dh);
+  p = BN_bin2bn(dh1536_p, sizeof(dh1536_p), NULL);
+  g = BN_bin2bn(dh1536_g, sizeof(dh1536_g), NULL);
+  if (p == NULL ||
+      g == NULL) {
     return NULL;
   }
 
-  return dh;
+  return get_dh(p, g);
 }
 
 /*
@@ -303,22 +332,16 @@ static unsigned char dh2048_g[] = {
 };
 
 static DH *get_dh2048(void) {
-  DH *dh;
-
-  dh = DH_new();
-  if (dh == NULL)
-    return NULL;
-
-  dh->p = BN_bin2bn(dh2048_p, sizeof(dh2048_p), NULL);
-  dh->g = BN_bin2bn(dh2048_g, sizeof(dh2048_g), NULL);
+  BIGNUM *p, *g;
 
-  if (dh->p == NULL ||
-      dh->g == NULL) {
-    DH_free(dh);
+  p = BN_bin2bn(dh2048_p, sizeof(dh2048_p), NULL);
+  g = BN_bin2bn(dh2048_g, sizeof(dh2048_g), NULL);
+  if (p == NULL ||
+      g == NULL) {
     return NULL;
   }
 
-  return dh;
+  return get_dh(p, g);
 }
 
 /* ASN1_BIT_STRING_cmp was renamed in 0.9.5 */
@@ -549,8 +572,8 @@ static int tls_sess_cache_remove(void);
 static int tls_sess_cache_status(pr_ctrls_t *, int);
 #endif /* PR_USE_CTRLS */
 static int tls_sess_cache_add_sess_cb(SSL *, SSL_SESSION *);
-static SSL_SESSION *tls_sess_cache_get_sess_cb(SSL *, unsigned char *, int,
-  int *);
+static SSL_SESSION *tls_sess_cache_get_sess_cb(SSL *, const unsigned char *,
+  int, int *);
 static void tls_sess_cache_delete_sess_cb(SSL_CTX *, SSL_SESSION *);
 
 #ifdef PR_USE_CTRLS
@@ -561,8 +584,6 @@ static ctrls_acttab_t tls_acttab[];
 static int tls_ctrl_need_init_handshake = TRUE;
 static int tls_data_need_init_handshake = TRUE;
 
-static const char *trace_channel = "tls";
-
 static void tls_diags_cb(const SSL *ssl, int where, int ret) {
   const char *str = "(unknown)";
   int w;
@@ -581,8 +602,29 @@ static void tls_diags_cb(const SSL *ssl, int where, int ret) {
     int ssl_state;
 
     ssl_state = SSL_get_state(ssl);
-    if (ssl_state == SSL_ST_OK) {
-      str = "ok";
+    switch (ssl_state) {
+#ifdef SSL_ST_BEFORE
+      case SSL_ST_BEFORE:
+        str = "before";
+        break;
+#endif
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+      case TLS_ST_OK:
+#else
+      case SSL_ST_OK:
+#endif /* OpenSSL-1.1.x and later */
+        str = "ok";
+        break;
+
+#ifdef SSL_ST_RENEGOTIATE
+      case SSL_ST_RENEGOTIATE:
+        str = "renegotiating";
+        break;
+#endif
+
+      default:
+        break;
     }
   }
 
@@ -591,8 +633,12 @@ static void tls_diags_cb(const SSL *ssl, int where, int ret) {
 
     ssl_state = SSL_get_state(ssl);
 
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    if (ssl_state == TLS_ST_SR_CLNT_HELLO) {
+#else
     if (ssl_state == SSL3_ST_SR_CLNT_HELLO_A ||
         ssl_state == SSL23_ST_SR_CLNT_HELLO_A) {
+#endif /* OpenSSL-1.1.x and later */
 
       /* If we have already completed our initial handshake, then this might
        * a session renegotiation.
@@ -628,7 +674,8 @@ static void tls_diags_cb(const SSL *ssl, int where, int ret) {
         }
       }
 
-#if OPENSSL_VERSION_NUMBER >= 0x009080cfL
+#if OPENSSL_VERSION_NUMBER >= 0x009080cfL && \
+    OPENSSL_VERSION_NUMBER < 0x10100000L
     } else if (ssl_state & SSL_ST_RENEGOTIATE) {
       if ((ssl == ctrl_ssl && !tls_ctrl_need_init_handshake) ||
           (ssl != ctrl_ssl && !tls_data_need_init_handshake)) {
@@ -670,6 +717,11 @@ static void tls_diags_cb(const SSL *ssl, int where, int ret) {
       tls_log("[info] %s: %s", str, SSL_state_string_long(ssl));
     }
 
+  } else if (where & SSL_CB_HANDSHAKE_START) {
+    if (tls_opts & TLS_OPT_ENABLE_DIAGS) {
+      tls_log("[info] %s: %s", str, SSL_state_string_long(ssl));
+    }
+
   } else if (where & SSL_CB_HANDSHAKE_DONE) {
     if (ssl == ctrl_ssl) {
       if (tls_ctrl_need_init_handshake == FALSE) {
@@ -781,7 +833,18 @@ static void tls_msg_cb(int io_flag, int version, int content_type,
 #endif
 
     default:
+#ifdef SSL3_RT_HEADER
+      /* OpenSSL calls this callback for SSL records received; filter those
+       * from true "unknowns".
+       */
+      if (version == 0 &&
+          (content_type != SSL3_RT_HEADER ||
+           buflen != SSL3_RT_HEADER_LENGTH)) {
+        tls_log("[msg] unknown/unsupported version: %d", version);
+      }
+#else
       tls_log("[msg] unknown/unsupported version: %d", version);
+#endif
       break;
   }
 
@@ -1084,12 +1147,15 @@ static int tls_cert_match_dns_san(pool *p, X509 *cert, const char *dns_name) {
 
   sans = X509_get_ext_d2i(cert, NID_subject_alt_name, NULL, NULL);
   if (sans != NULL) {
-    register unsigned int i;
+    register int i;
     int nsans = sk_GENERAL_NAME_num(sans);
 
     for (i = 0; i < nsans; i++) {
-      GENERAL_NAME *alt_name = sk_GENERAL_NAME_value(sans, i);
+      GENERAL_NAME *alt_name;
 
+      pr_signals_handle();
+
+      alt_name = sk_GENERAL_NAME_value(sans, i);
       if (alt_name->type == GEN_DNS) {
         char *dns_san;
         size_t dns_sanlen;
@@ -1146,12 +1212,15 @@ static int tls_cert_match_ip_san(pool *p, X509 *cert, const char *ipstr) {
 
   sans = X509_get_ext_d2i(cert, NID_subject_alt_name, NULL, NULL);
   if (sans != NULL) {
-    register unsigned int i;
+    register int i;
     int nsans = sk_GENERAL_NAME_num(sans);
 
     for (i = 0; i < nsans; i++) {
-      GENERAL_NAME *alt_name = sk_GENERAL_NAME_value(sans, i);
+      GENERAL_NAME *alt_name;
+
+      pr_signals_handle();
 
+      alt_name = sk_GENERAL_NAME_value(sans, i);
       if (alt_name->type == GEN_IPADD) {
         unsigned char *san_data = NULL;
         int have_ipstr = FALSE, san_datalen;
@@ -1278,8 +1347,6 @@ static int tls_cert_match_cn(pool *p, X509 *cert, const char *name,
   /* Convert the CN field to a string, by way of an ASN1 object. */
   cn_asn1 = X509_NAME_ENTRY_get_data(cn_entry);
   if (cn_asn1 == NULL) {
-    X509_NAME_ENTRY_free(cn_entry);
-
     pr_trace_msg(trace_channel, 12,
       "unable to check certificate CommonName against '%s': "
       "error converting CommoName atribute to ASN.1: %s", name,
@@ -1298,8 +1365,6 @@ static int tls_cert_match_cn(pool *p, X509 *cert, const char *name,
   cn_len = strlen(cn_str);
 
   if (ASN1_STRING_length(cn_asn1) != cn_len) {
-    X509_NAME_ENTRY_free(cn_entry);
-
     tls_log("%s", "cert CommonName contains embedded NULs, rejecting as "
       "possible spoof attempt");
     tls_log("suspicious CommonName value: '%s'",
@@ -1323,7 +1388,6 @@ static int tls_cert_match_cn(pool *p, X509 *cert, const char *name,
     /* XXX Implement wildcard checking. */
   }
  
-  X509_NAME_ENTRY_free(cn_entry);
   return matched;
 }
 
@@ -2441,8 +2505,8 @@ static DH *tls_dh_cb(SSL *ssl, int is_export, int keylen) {
    */
   pkey = SSL_get_privatekey(ssl);
   if (pkey != NULL) {
-    if (EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA ||
-        EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA) {
+    if (get_pkey_type(pkey) == EVP_PKEY_RSA ||
+        get_pkey_type(pkey) == EVP_PKEY_DSA) {
       pkeylen = EVP_PKEY_bits(pkey);
 
       if (pkeylen < TLS_DH_MIN_LEN) {
@@ -2868,7 +2932,7 @@ static int tls_init_ctx(void) {
   }
 
   SSL_CTX_set_tmp_dh_callback(ssl_ctx, tls_dh_cb);
-#ifdef PR_USE_OPENSSL_ECC
+#if defined(PR_USE_OPENSSL_ECC) && OPENSSL_VERSION_NUMBER < 0x10100000L
   SSL_CTX_set_tmp_ecdh_callback(ssl_ctx, tls_ecdh_cb);
 #endif /* PR_USE_OPENSSL_ECC */
 
@@ -3152,8 +3216,7 @@ static int tls_init_server(void) {
       return -1;
     }
 
-    cert = PEM_read_X509(fh, NULL, ssl_ctx->default_passwd_callback,
-      ssl_ctx->default_passwd_callback_userdata);
+    cert = read_cert(fh, ssl_ctx);
     if (cert == NULL) {
       PRIVS_RELINQUISH
       tls_log("error reading TLSRSACertificateFile '%s': %s", tls_rsa_cert_file,
@@ -3225,8 +3288,7 @@ static int tls_init_server(void) {
       return -1;
     }
 
-    cert = PEM_read_X509(fh, NULL, ssl_ctx->default_passwd_callback,
-      ssl_ctx->default_passwd_callback_userdata);
+    cert = read_cert(fh, ssl_ctx);
     if (cert == NULL) {
       PRIVS_RELINQUISH
       tls_log("error reading TLSDSACertificateFile '%s': %s", tls_dsa_cert_file,
@@ -3298,8 +3360,7 @@ static int tls_init_server(void) {
       return -1;
     }
 
-    cert = PEM_read_X509(fh, NULL, ssl_ctx->default_passwd_callback,
-      ssl_ctx->default_passwd_callback_userdata);
+    cert = read_cert(fh, ssl_ctx);
     if (cert == NULL) {
       PRIVS_RELINQUISH
       tls_log("error reading TLSECCertificateFile '%s': %s", tls_ec_cert_file,
@@ -3435,7 +3496,7 @@ static int tls_init_server(void) {
 
     if (pkey &&
         tls_pkey) {
-      switch (EVP_PKEY_type(pkey->type)) {
+      switch (get_pkey_type(pkey)) {
         case EVP_PKEY_RSA:
           tls_pkey->flags |= TLS_PKEY_USE_RSA;
           tls_pkey->flags &= ~(TLS_PKEY_USE_DSA|TLS_PKEY_USE_EC);
@@ -3496,7 +3557,7 @@ static int tls_init_server(void) {
      * pointer around until after the handling of a cert chain file.
      */
     if (pkey != NULL) {
-      switch (EVP_PKEY_type(pkey->type)) {
+      switch (get_pkey_type(pkey)) {
         case EVP_PKEY_RSA:
           server_rsa_cert = cert;
           break;
@@ -4470,14 +4531,14 @@ static void tls_end_sess(SSL *ssl, int strms, int flags) {
       switch (err_code) {
         case SSL_ERROR_WANT_READ:
           tls_log("SSL_shutdown error: WANT_READ");
-          pr_log_debug(DEBUG0, MOD_TLS_VERSION
-            ": SSL_shutdown error: WANT_READ");
           break;
 
         case SSL_ERROR_WANT_WRITE:
           tls_log("SSL_shutdown error: WANT_WRITE");
-          pr_log_debug(DEBUG0, MOD_TLS_VERSION
-            ": SSL_shutdown error: WANT_WRITE");
+          break;
+
+        case SSL_ERROR_SSL:
+          tls_log("SSL_shutdown error: SSL: %s", tls_get_errors());
           break;
 
         case SSL_ERROR_ZERO_RETURN:
@@ -4519,6 +4580,10 @@ static void tls_end_sess(SSL *ssl, int strms, int flags) {
          */
         break;
 
+      case SSL_ERROR_SSL:
+        tls_log("SSL_shutdown error: SSL: %s", tls_get_errors());
+        break;
+
       case SSL_ERROR_SYSCALL:
         if (errno != 0 &&
             errno != EOF &&
@@ -4768,9 +4833,23 @@ static int tls_dotlogin_allow(const char *user) {
   }
 
   while ((file_cert = PEM_read_X509(fp, NULL, NULL, NULL))) {
+    const ASN1_BIT_STRING *client_sig = NULL, *file_sig = NULL;
+
     pr_signals_handle();
 
-    if (!M_ASN1_BIT_STRING_cmp(client_cert->signature, file_cert->signature)) {
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    X509_get0_signature(&client_sig, NULL, client_cert);
+    X509_get0_signature(&file_sig, NULL, file_cert);
+#else
+    client_sig = client_cert->signature;
+    file_sig = file_cert->signature;
+#endif /* OpenSSL-1.1.x and later */
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    if (!ASN1_STRING_cmp(client_sig, file_sig)) {
+#else
+    if (!M_ASN1_BIT_STRING_cmp(client_sig, file_sig)) {
+#endif /* OpenSSL-1.1.x and later */
       allow_user = TRUE;
     }
 
@@ -5238,87 +5317,98 @@ static void tls_setup_cert_ext_environ(const char *env_prefix, X509 *cert) {
 
 static void tls_setup_cert_dn_environ(const char *env_prefix, X509_NAME *name) {
   register unsigned int i = 0;
+  int nentries;
   char *k, *v;
 
-  for (i = 0; i < sk_X509_NAME_ENTRY_num(name->entries); i++) {
-    X509_NAME_ENTRY *entry = sk_X509_NAME_ENTRY_value(name->entries, i);
-    int nid = OBJ_obj2nid(entry->object);
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  nentries = X509_NAME_entry_count(name);
+#else
+  nentries = sk_X509_NAME_ENTRY_num(name->entries);
+#endif /* OpenSSL-1.1.x and later */
+
+  for (i = 0; i < nentries; i++) {
+    X509_NAME_ENTRY *entry;
+    unsigned char *entry_data;
+    int nid, entry_len;
+
+    pr_signals_handle();
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    entry = X509_NAME_get_entry(name, i);
+    nid = OBJ_obj2nid(X509_NAME_ENTRY_get_object(entry));
+    entry_data = ASN1_STRING_data(X509_NAME_ENTRY_get_data(entry));
+    entry_len = ASN1_STRING_length(X509_NAME_ENTRY_get_data(entry));
+#else
+    entry = sk_X509_NAME_ENTRY_value(name->entries, i);
+    nid = OBJ_obj2nid(entry->object);
+    entry_data = entry->value->data;
+    entry_len = entry->value->length;
+#endif /* OpenSSL-1.1.x and later */
 
     switch (nid) {
       case NID_countryName:
         k = pstrcat(session.pool, env_prefix, "C", NULL);
-        v = pstrndup(session.pool, (const char *) entry->value->data,
-          entry->value->length);
+        v = pstrndup(session.pool, (const char *) entry_data, entry_len);
         pr_env_set(session.pool, k, v);
         break;
 
       case NID_commonName:
         k = pstrcat(session.pool, env_prefix, "CN", NULL);
-        v = pstrndup(session.pool, (const char *) entry->value->data,
-          entry->value->length);
+        v = pstrndup(session.pool, (const char *) entry_data, entry_len);
         pr_env_set(session.pool, k, v);
         break;
 
       case NID_description:
         k = pstrcat(main_server->pool, env_prefix, "D", NULL);
-        v = pstrndup(main_server->pool, (const char *) entry->value->data,
-          entry->value->length);
+        v = pstrndup(session.pool, (const char *) entry_data, entry_len);
         pr_env_set(main_server->pool, k, v);
         break;
 
       case NID_givenName:
         k = pstrcat(main_server->pool, env_prefix, "G", NULL);
-        v = pstrndup(main_server->pool, (const char *) entry->value->data,
-          entry->value->length);
+        v = pstrndup(session.pool, (const char *) entry_data, entry_len);
         pr_env_set(main_server->pool, k, v);
         break;
 
       case NID_initials:
         k = pstrcat(main_server->pool, env_prefix, "I", NULL);
-        v = pstrndup(main_server->pool, (const char *) entry->value->data,
-          entry->value->length);
+        v = pstrndup(session.pool, (const char *) entry_data, entry_len);
         pr_env_set(main_server->pool, k, v);
         break;
 
       case NID_localityName:
         k = pstrcat(main_server->pool, env_prefix, "L", NULL);
-        v = pstrndup(main_server->pool, (const char *) entry->value->data,
-          entry->value->length);
+        v = pstrndup(session.pool, (const char *) entry_data, entry_len);
         pr_env_set(main_server->pool, k, v);
         break;
 
       case NID_organizationName:
         k = pstrcat(main_server->pool, env_prefix, "O", NULL);
-        v = pstrndup(main_server->pool, (const char *) entry->value->data,
-          entry->value->length);
+        v = pstrndup(session.pool, (const char *) entry_data, entry_len);
         pr_env_set(main_server->pool, k, v);
         break;
 
       case NID_organizationalUnitName:
         k = pstrcat(main_server->pool, env_prefix, "OU", NULL);
-        v = pstrndup(main_server->pool, (const char *) entry->value->data,
-          entry->value->length);
+        v = pstrndup(session.pool, (const char *) entry_data, entry_len);
         pr_env_set(main_server->pool, k, v);
         break;
 
       case NID_stateOrProvinceName:
         k = pstrcat(main_server->pool, env_prefix, "ST", NULL);
-        v = pstrndup(main_server->pool, (const char *) entry->value->data,
-          entry->value->length);
+        v = pstrndup(session.pool, (const char *) entry_data, entry_len);
         pr_env_set(main_server->pool, k, v);
         break;
 
       case NID_surname:
         k = pstrcat(main_server->pool, env_prefix, "S", NULL);
-        v = pstrndup(main_server->pool, (const char *) entry->value->data,
-          entry->value->length);
+        v = pstrndup(session.pool, (const char *) entry_data, entry_len);
         pr_env_set(main_server->pool, k, v);
         break;
 
       case NID_title:
         k = pstrcat(main_server->pool, env_prefix, "T", NULL);
-        v = pstrndup(main_server->pool, (const char *) entry->value->data,
-          entry->value->length);
+        v = pstrndup(session.pool, (const char *) entry_data, entry_len);
         pr_env_set(main_server->pool, k, v);
         break;
 
@@ -5328,15 +5418,13 @@ static void tls_setup_cert_dn_environ(const char *env_prefix, X509_NAME *name) {
       case NID_uniqueIdentifier:
 #endif
         k = pstrcat(main_server->pool, env_prefix, "UID", NULL);
-        v = pstrndup(main_server->pool, (const char *) entry->value->data,
-          entry->value->length);
+        v = pstrndup(session.pool, (const char *) entry_data, entry_len);
         pr_env_set(main_server->pool, k, v);
         break;
 
       case NID_pkcs9_emailAddress:
         k = pstrcat(main_server->pool, env_prefix, "Email", NULL);
-        v = pstrndup(main_server->pool, (const char *) entry->value->data,
-          entry->value->length);
+        v = pstrndup(session.pool, (const char *) entry_data, entry_len);
         pr_env_set(main_server->pool, k, v);
         break;
 
@@ -5354,6 +5442,8 @@ static void tls_setup_cert_environ(const char *env_prefix, X509 *cert) {
   if (tls_opts & TLS_OPT_STD_ENV_VARS) {
     char buf[80] = {'\0'};
     ASN1_INTEGER *serial = X509_get_serialNumber(cert);
+    X509_ALGOR *algo;
+    X509_PUBKEY *pubkey;
 
     memset(buf, '\0', sizeof(buf));
     snprintf(buf, sizeof(buf) - 1, "%lu", X509_get_version(cert) + 1);
@@ -5422,7 +5512,12 @@ static void tls_setup_cert_environ(const char *env_prefix, X509 *cert) {
     BIO_free(bio);
 
     bio = BIO_new(BIO_s_mem());
-    i2a_ASN1_OBJECT(bio, cert->cert_info->signature->algorithm);
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    X509_get0_signature(NULL, &algo, cert);
+#else
+    algo = cert->cert_info->signature;
+#endif /* OpenSSL-1.1.x and later */
+    i2a_ASN1_OBJECT(bio, algo->algorithm);
     datalen = BIO_get_mem_data(bio, &data);
     data[datalen] = '\0';
 
@@ -5433,7 +5528,14 @@ static void tls_setup_cert_environ(const char *env_prefix, X509 *cert) {
     BIO_free(bio);
 
     bio = BIO_new(BIO_s_mem());
-    i2a_ASN1_OBJECT(bio, cert->cert_info->key->algor->algorithm);
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    pubkey = X509_get_X509_PUBKEY(cert);
+    X509_PUBKEY_get0_param(NULL, NULL, NULL, &algo, pubkey);
+#else
+    pubkey = cert->cert_info->key;
+    algo = pubkey->algor;
+#endif /* OpenSSL-1.1.x and later */
+    i2a_ASN1_OBJECT(bio, algo->algorithm);
     datalen = BIO_get_mem_data(bio, &data);
     data[datalen] = '\0';
 
@@ -5482,12 +5584,20 @@ static void tls_setup_environ(SSL *ssl) {
     if (ssl_session) {
       char buf[SSL_MAX_SSL_SESSION_ID_LENGTH*2+1];
       register unsigned int i = 0;
+      const unsigned char *sess_data;
+      unsigned int sess_datalen;
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+      sess_data = SSL_SESSION_get_id(ssl_session, &sess_datalen);
+#else
+      sess_datalen = ssl_session->session_id_length;
+      sess_data = ssl_session->session_id;
+#endif /* OpenSSL-1.1.x and later */
 
       /* Have to obtain a stringified session ID the hard way. */
       memset(buf, '\0', sizeof(buf));
-      for (i = 0; i < ssl_session->session_id_length; i++) {
-        snprintf(&(buf[i*2]), sizeof(buf) - (i*2) - 1, "%02X",
-          ssl_session->session_id[i]);
+      for (i = 0; i < sess_datalen; i++) {
+        snprintf(&(buf[i*2]), sizeof(buf) - (i*2) - 1, "%02X", sess_data[i]);
       }
       buf[sizeof(buf)-1] = '\0';
 
@@ -5626,8 +5736,13 @@ static int tls_verify_cb(int ok, X509_STORE_CTX *ctx) {
 
   if (!ok) {
     X509 *cert = X509_STORE_CTX_get_current_cert(ctx);
-    int depth = X509_STORE_CTX_get_error_depth(ctx);
+    int ctx_error, depth = X509_STORE_CTX_get_error_depth(ctx);
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    verify_err = X509_STORE_CTX_get_error(ctx);
+#else
     verify_err = ctx->error;
+#endif /* OpenSSL-1.1.x and later */
 
     tls_log("error: unable to verify certificate at depth %d", depth);
     tls_log("error: cert subject: %s", tls_x509_name_oneline(
@@ -5636,10 +5751,17 @@ static int tls_verify_cb(int ok, X509_STORE_CTX *ctx) {
       X509_get_issuer_name(cert)));
 
     /* Catch a too long certificate chain here. */
-    if (depth > tls_verify_depth)
+    if (depth > tls_verify_depth) {
       X509_STORE_CTX_set_error(ctx, X509_V_ERR_CERT_CHAIN_TOO_LONG);
+    }
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    ctx_error = X509_STORE_CTX_get_error(ctx);
+#else
+    ctx_error = ctx->error;
+#endif /* OpenSSL-1.1.x and later */
 
-    switch (ctx->error) {
+    switch (ctx_error) {
       case X509_V_ERR_CERT_CHAIN_TOO_LONG:
       case X509_V_ERR_CERT_HAS_EXPIRED:
       case X509_V_ERR_CERT_REVOKED:
@@ -5649,7 +5771,7 @@ static int tls_verify_cb(int ok, X509_STORE_CTX *ctx) {
       case X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE:
       case X509_V_ERR_APPLICATION_VERIFICATION:
         tls_log("client certificate failed verification: %s",
-          X509_verify_cert_error_string(ctx->error));
+          X509_verify_cert_error_string(ctx_error));
         ok = 0;
         break;
 
@@ -5658,7 +5780,7 @@ static int tls_verify_cb(int ok, X509_STORE_CTX *ctx) {
         int count = X509_PURPOSE_get_count();
 
         tls_log("client certificate failed verification: %s",
-          X509_verify_cert_error_string(ctx->error));
+          X509_verify_cert_error_string(ctx_error));
 
         for (i = 0; i < count; i++) {
           X509_PURPOSE *purp = X509_PURPOSE_get0(i);
@@ -5671,7 +5793,7 @@ static int tls_verify_cb(int ok, X509_STORE_CTX *ctx) {
 
       default:
         tls_log("error verifying client certificate: [%d] %s",
-          ctx->error, X509_verify_cert_error_string(ctx->error));
+          ctx_error, X509_verify_cert_error_string(ctx_error));
         ok = 0;
         break;
     }
@@ -5691,11 +5813,10 @@ static int tls_verify_cb(int ok, X509_STORE_CTX *ctx) {
  * <rse at engelshall.com>.  Comments by Ralf.
  */
 static int tls_verify_crl(int ok, X509_STORE_CTX *ctx) {
-  X509_OBJECT obj;
   X509_NAME *subject = NULL, *issuer = NULL;
   X509 *xs = NULL;
-  X509_CRL *crl = NULL;
-  X509_STORE_CTX store_ctx;
+  STACK_OF(X509_CRL) *crls = NULL;
+  X509_STORE_CTX *store_ctx = NULL;
   int n, res;
   register int i = 0;
 
@@ -5754,128 +5875,163 @@ static int tls_verify_crl(int ok, X509_STORE_CTX *ctx) {
   /* Try to retrieve a CRL corresponding to the _subject_ of
    * the current certificate in order to verify its integrity.
    */
-  memset(&obj, 0, sizeof(obj));
+  store_ctx = X509_STORE_CTX_new();
 #if OPENSSL_VERSION_NUMBER > 0x000907000L
-  if (X509_STORE_CTX_init(&store_ctx, tls_crl_store, NULL, NULL) <= 0) {
+  if (X509_STORE_CTX_init(store_ctx, tls_crl_store, NULL, NULL) <= 0) {
     tls_log("error initializing CRL store context: %s", tls_get_errors());
+    X509_STORE_CTX_free(store_ctx);
     return ok;
   }
 #else
-  X509_STORE_CTX_init(&store_ctx, tls_crl_store, NULL, NULL);
+  X509_STORE_CTX_init(store_ctx, tls_crl_store, NULL, NULL);
 #endif
 
-  res = X509_STORE_get_by_subject(&store_ctx, X509_LU_CRL, subject, &obj);
-  crl = obj.data.crl;
-
-  if (res > 0 &&
-      crl != NULL) {
-    EVP_PKEY *pubkey;
-    char buf[512];
-    int len;
-    BIO *b = BIO_new(BIO_s_mem());
-
-    BIO_printf(b, "CA CRL: Issuer: ");
-    X509_NAME_print(b, issuer, 0);
-
-    BIO_printf(b, ", lastUpdate: ");
-    ASN1_UTCTIME_print(b, crl->crl->lastUpdate);
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  crls = X509_STORE_CTX_get1_crls(store_ctx, subject);
+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L
+  crls = X509_STORE_get1_crls(store_ctx, subject);
+#else
+  /* Your OpenSSL is before 1.0.0.  You really need to upgrade. */
+  crls = NULL;
+#endif /* OpenSSL-1.1.x and later */
+  if (crls != NULL) {
+    for (i = 0; i < sk_X509_CRL_num(crls); i++) {
+      X509_CRL *crl = NULL;
+      EVP_PKEY *pubkey;
+      char buf[512];
+      int len;
+      BIO *b = BIO_new(BIO_s_mem());
+
+      BIO_printf(b, "CA CRL: Issuer: ");
+      X509_NAME_print(b, issuer, 0);
+
+      BIO_printf(b, ", lastUpdate: ");
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+      ASN1_UTCTIME_print(b, X509_CRL_get_lastUpdate(crl));
+#else
+      ASN1_UTCTIME_print(b, crl->crl->lastUpdate);
+#endif /* OpenSSL-1.1.x and later */
 
-    BIO_printf(b, ", nextUpdate: ");
-    ASN1_UTCTIME_print(b, crl->crl->nextUpdate);
+      BIO_printf(b, ", nextUpdate: ");
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+      ASN1_UTCTIME_print(b, X509_CRL_get_nextUpdate(crl));
+#else
+      ASN1_UTCTIME_print(b, crl->crl->nextUpdate);
+#endif /* OpenSSL-1.1.x and later */
 
-    len = BIO_read(b, buf, sizeof(buf) - 1);
-    if (len >= sizeof(buf)) {
-      len = sizeof(buf)-1;
-    }
-    buf[len] = '\0';
+      len = BIO_read(b, buf, sizeof(buf) - 1);
+      if (len >= sizeof(buf)) {
+        len = sizeof(buf)-1;
+      }
+      buf[len] = '\0';
 
-    BIO_free(b);
+      BIO_free(b);
+      tls_log("%s", buf);
 
-    tls_log("%s", buf);
+      pubkey = X509_get_pubkey(xs);
 
-    pubkey = X509_get_pubkey(xs);
+      /* Verify the signature on this CRL */
+      res = X509_CRL_verify(crl, pubkey);
+      if (pubkey) {
+        EVP_PKEY_free(pubkey);
+      }
 
-    /* Verify the signature on this CRL */
-    res = X509_CRL_verify(crl, pubkey);
+      if (res <= 0) {
+        tls_log("invalid signature on CRL: %s", tls_get_errors());
 
-    if (pubkey) {
-      EVP_PKEY_free(pubkey);
-    }
+        X509_STORE_CTX_set_error(ctx, X509_V_ERR_CRL_SIGNATURE_FAILURE);
+        sk_X509_CRL_free(crls);
+        X509_STORE_CTX_cleanup(store_ctx);
+        X509_STORE_CTX_free(store_ctx);
+        return FALSE;
+      }
 
-    if (res <= 0) {
-      tls_log("invalid signature on CRL: %s", tls_get_errors());
+      /* Check date of CRL to make sure it's not expired */
+      res = X509_cmp_current_time(X509_CRL_get_nextUpdate(crl));
+      if (res == 0) {
+        tls_log("CRL has invalid nextUpdate field: %s", tls_get_errors());
 
-      X509_STORE_CTX_set_error(ctx, X509_V_ERR_CRL_SIGNATURE_FAILURE);
-      X509_OBJECT_free_contents(&obj);
-      X509_STORE_CTX_cleanup(&store_ctx);
-      return FALSE;
-    }
+        X509_STORE_CTX_set_error(ctx,
+          X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD);
+        sk_X509_CRL_free(crls);
+        X509_STORE_CTX_cleanup(store_ctx);
+        X509_STORE_CTX_free(store_ctx);
+        return FALSE;
+      }
 
-    /* Check date of CRL to make sure it's not expired */
-    i = X509_cmp_current_time(X509_CRL_get_nextUpdate(crl));
-    if (i == 0) {
-      tls_log("CRL has invalid nextUpdate field: %s", tls_get_errors());
-      X509_STORE_CTX_set_error(ctx, X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD);
-      X509_OBJECT_free_contents(&obj);
-      X509_STORE_CTX_cleanup(&store_ctx);
-      return FALSE;
-    }
+      if (res < 0) {
+        /* XXX This is a bit draconian, rejecting all certificates if the CRL
+         * has expired.  See also Bug#3216, about automatically reloading
+         * the CRL file when it has expired.
+         */
+        tls_log("%s", "CRL is expired, revoking all certificates until an "
+          "updated CRL is obtained");
 
-    if (i < 0) {
-      /* XXX This is a bit draconian, rejecting all certificates if the CRL
-       * has expired.  See also Bug#3216, about automatically reloading
-       * the CRL file when it has expired.
-       */
-      tls_log("%s", "CRL is expired, revoking all certificates until an "
-        "updated CRL is obtained");
-      X509_STORE_CTX_set_error(ctx, X509_V_ERR_CRL_HAS_EXPIRED);
-      X509_OBJECT_free_contents(&obj);
-      X509_STORE_CTX_cleanup(&store_ctx);
-      return FALSE;
+        X509_STORE_CTX_set_error(ctx, X509_V_ERR_CRL_HAS_EXPIRED);
+        sk_X509_CRL_free(crls);
+        X509_STORE_CTX_cleanup(store_ctx);
+        X509_STORE_CTX_free(store_ctx);
+        return FALSE;
+      }
     }
 
-    X509_OBJECT_free_contents(&obj);
+    sk_X509_CRL_free(crls);
+    crls = NULL;
   }
 
   /* Try to retrieve a CRL corresponding to the _issuer_ of
    * the current certificate in order to check for revocation.
    */
-  memset(&obj, 0, sizeof(obj));
-
-  res = X509_STORE_get_by_subject(&store_ctx, X509_LU_CRL, issuer, &obj);
-  crl = obj.data.crl;
 
-  if (res > 0 &&
-      crl != NULL) {
-
-    /* Check if the current certificate is revoked by this CRL */
-    n = sk_X509_REVOKED_num(X509_CRL_get_REVOKED(crl));
-
-    for (i = 0; i < n; i++) {
-      X509_REVOKED *revoked;
-      ASN1_INTEGER *sn;
-
-      revoked = sk_X509_REVOKED_value(X509_CRL_get_REVOKED(crl), i);
-      sn = revoked->serialNumber;
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  crls = X509_STORE_CTX_get1_crls(store_ctx, subject);
+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L
+  crls = X509_STORE_get1_crls(store_ctx, subject);
+#else
+  /* Your OpenSSL is before 1.0.0.  You really need to upgrade. */
+  crls = NULL;
+#endif /* OpenSSL-1.1.x and later */
+  if (crls != NULL) {
+    for (i = 0; i < sk_X509_CRL_num(crls); i++) {
+      register int j;
+      X509_CRL *crl;
+
+      crl = sk_X509_CRL_value(crls, i);
+
+      /* Check if the current certificate is revoked by this CRL */
+      n = sk_X509_REVOKED_num(X509_CRL_get_REVOKED(crl));
+      for (j = 0; j < n; j++) {
+        X509_REVOKED *revoked;
+        ASN1_INTEGER *sn;
+
+        revoked = sk_X509_REVOKED_value(X509_CRL_get_REVOKED(crl), i);
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+        sn = X509_REVOKED_get0_serialNumber(revoked);
+#else
+        sn = revoked->serialNumber;
+#endif /* OpenSSL-1.1.x and later */
 
-      if (ASN1_INTEGER_cmp(sn, X509_get_serialNumber(xs)) == 0) {
-        long serial = ASN1_INTEGER_get(sn);
-        char *cp = tls_x509_name_oneline(issuer);
+        if (ASN1_INTEGER_cmp(sn, X509_get_serialNumber(xs)) == 0) {
+          long serial = ASN1_INTEGER_get(sn);
+          char *cp = tls_x509_name_oneline(issuer);
 
-        tls_log("certificate with serial number %ld (0x%lX) revoked per CRL "
-          "from issuer '%s'", serial, serial, cp ? cp : "(ERROR)");
+          tls_log("certificate with serial number %ld (0x%lX) revoked per CRL "
+            "from issuer '%s'", serial, serial, cp ? cp : "(ERROR)");
 
-        X509_STORE_CTX_set_error(ctx, X509_V_ERR_CERT_REVOKED);
-        X509_OBJECT_free_contents(&obj);
-        X509_STORE_CTX_cleanup(&store_ctx);
-        return FALSE;
+          X509_STORE_CTX_set_error(ctx, X509_V_ERR_CERT_REVOKED);
+          sk_X509_CRL_free(crls);
+          X509_STORE_CTX_cleanup(store_ctx);
+          X509_STORE_CTX_free(store_ctx);
+          return FALSE;
+        }
       }
     }
 
-    X509_OBJECT_free_contents(&obj);
+    sk_X509_CRL_free(crls);
   }
 
-  X509_STORE_CTX_cleanup(&store_ctx);
+  X509_STORE_CTX_cleanup(store_ctx);
+  X509_STORE_CTX_free(store_ctx);
   return ok;
 }
 
@@ -5884,6 +6040,7 @@ static int tls_verify_ocsp_url(X509_STORE_CTX *ctx, X509 *cert,
     const char *url) {
   BIO *conn;
   X509 *issuing_cert = NULL;
+  X509_STORE *store = NULL;
   X509_NAME *subj = NULL;
   const char *subj_name;
   char *host = NULL, *port = NULL, *uri = NULL;
@@ -6214,7 +6371,12 @@ static int tls_verify_ocsp_url(X509_STORE_CTX *ctx, X509 *cert,
     return FALSE;
   }
 
-  res = OCSP_basic_verify(basic_resp, NULL, ctx->ctx, 0);
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  store = X509_STORE_CTX_get0_store(ctx);
+#else
+  store = ctx->ctx;
+#endif /* OpenSSL-1.1.x and later */
+  res = OCSP_basic_verify(basic_resp, NULL, store, 0);
   if (res != 1) {
     tls_log("error verifying basic response from OCSP responder at '%s': %s",
       url, tls_get_errors());
@@ -6917,7 +7079,7 @@ static int tls_sess_cache_add_sess_cb(SSL *ssl, SSL_SESSION *sess) {
 }
 
 static SSL_SESSION *tls_sess_cache_get_sess_cb(SSL *ssl,
-    unsigned char *sess_id, int sess_id_len, int *do_copy) {
+    const unsigned char *sess_id, int sess_id_len, int *do_copy) {
   SSL_SESSION *sess;
 
   /* Indicate to OpenSSL that the ref count should not be incremented
@@ -7003,6 +7165,7 @@ static int tls_netio_close_cb(pr_netio_stream_t *nstrm) {
 
     if (nstrm->strm_type == PR_NETIO_STRM_DATA &&
         nstrm->strm_mode == PR_NETIO_IO_WR) {
+      tls_end_sess(ssl, nstrm->strm_type, 0);
       pr_table_remove(tls_data_rd_nstrm->notes, TLS_NETIO_NOTE, NULL);
       pr_table_remove(tls_data_wr_nstrm->notes, TLS_NETIO_NOTE, NULL);
       tls_data_netio = NULL;
diff --git a/contrib/mod_tls.h b/contrib/mod_tls.h
index b8cb001..32078d1 100644
--- a/contrib/mod_tls.h
+++ b/contrib/mod_tls.h
@@ -80,7 +80,7 @@ typedef struct sess_cache_st {
   /* Add a new session entry to the cache.  The provided sess_id is effectively
    * the cache lookup key.
    */
-  int (*add)(struct sess_cache_st *cache, unsigned char *sess_id,
+  int (*add)(struct sess_cache_st *cache, const unsigned char *sess_id,
     unsigned int sess_id_len, time_t expires, SSL_SESSION *sess);
 
   /* Retrieve a session from the cache, using the provided sess_id key. */
diff --git a/contrib/mod_tls_shmcache.c b/contrib/mod_tls_shmcache.c
index b558349..ea31925 100644
--- a/contrib/mod_tls_shmcache.c
+++ b/contrib/mod_tls_shmcache.c
@@ -2,7 +2,7 @@
  * ProFTPD: mod_tls_shmcache -- a module which provides a shared SSL session
  *                              cache using SysV shared memory
  *
- * Copyright (c) 2009-2013 TJ Saunders
+ * Copyright (c) 2009-2016 TJ Saunders
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -27,7 +27,6 @@
  * For more information contact TJ Saunders <tj at castaglia.org>.
  *
  *  --- DO NOT DELETE BELOW THIS LINE ----
- *  $Id: mod_tls_shmcache.c,v 1.15 2013-11-05 21:37:16 castaglia Exp $
  *  $Libraries: -lssl -lcrypto$
  */
 
@@ -1423,6 +1422,7 @@ static int shmcache_status(tls_sess_cache_t *cache,
         SSL_SESSION *sess;
         TLS_D2I_SSL_SESSION_CONST unsigned char *ptr;
         time_t ts;
+        int ssl_version;
 
         ptr = entry->sess_data;
         sess = d2i_SSL_SESSION(NULL, &ptr, entry->sess_datalen); 
@@ -1435,13 +1435,13 @@ static int shmcache_status(tls_sess_cache_t *cache,
 
         statusf(arg, "%s", "  -----BEGIN SSL SESSION PARAMETERS-----");
 
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
         /* XXX Directly accessing these fields cannot be a Good Thing. */
         if (sess->session_id_length > 0) {
           register unsigned int j;
           char *sess_id_str;
 
           sess_id_str = pcalloc(tmp_pool, (sess->session_id_length * 2) + 1);
-
           for (j = 0; j < sess->session_id_length; j++) {
             sprintf((char *) &(sess_id_str[j*2]), "%02X", sess->session_id[j]);
           }
@@ -1454,7 +1454,6 @@ static int shmcache_status(tls_sess_cache_t *cache,
           char *sid_ctx_str;
 
           sid_ctx_str = pcalloc(tmp_pool, (sess->sid_ctx_length * 2) + 1);
-
           for (j = 0; j < sess->sid_ctx_length; j++) {
             sprintf((char *) &(sid_ctx_str[j*2]), "%02X", sess->sid_ctx[j]);
           }
@@ -1462,7 +1461,16 @@ static int shmcache_status(tls_sess_cache_t *cache,
           statusf(arg, "    Session ID Context: %s", sid_ctx_str);
         }
 
-        switch (sess->ssl_version) {
+        ssl_version = sess->ssl_version;
+#else
+# if OPENSSL_VERSION_NUMBER >= 0x10100006L
+        ssl_version = SSL_SESSION_get_protocol_version(sess);
+# else
+        ssl_version = 0;
+# endif /* prior to OpenSSL-1.1.0-pre5 */
+#endif /* prior to OpenSSL-1.1.x */
+
+        switch (ssl_version) {
           case SSL3_VERSION:
             statusf(arg, "    Protocol: %s", "SSLv3");
             break;
diff --git a/doc/modules/mod_auth.html b/doc/modules/mod_auth.html
index dac74d3..b0961c3 100644
--- a/doc/modules/mod_auth.html
+++ b/doc/modules/mod_auth.html
@@ -1,6 +1,3 @@
-<!-- $Id: mod_auth.html,v 1.11 2013-08-19 16:28:23 castaglia Exp $ -->
-<!-- $Source: /home/proftpd-core/backup/proftp-cvsroot/proftpd/doc/modules/mod_auth.html,v $ -->
-
 <html>
 <head>
 <title>ProFTPD module mod_auth</title>
@@ -20,6 +17,9 @@ ProFTPD 1.3.<i>x</i>, and is compiled by default.
 <h2>Directives</h2>
 <ul>
   <li><a href="#AllowChrootSymlinks">AllowChrootSymlinks</a>
+  <li><a href="#AnonRequirePassword">AnonRequirePassword</a>
+  <li><a href="#AuthAliasOnly">AuthAliasOnly</a>
+  <li><a href="#AuthUsingAlias">AuthUsingAlias</a>
   <li><a href="#CreateHome">CreateHome</a>
   <li><a href="#DefaultRoot">DefaultRoot</a>
   <li><a href="#MaxLoginAttempts">MaxLoginAttempts</a>
@@ -30,6 +30,7 @@ ProFTPD 1.3.<i>x</i>, and is compiled by default.
   <li><a href="#TimeoutLogin">TimeoutLogin</a>
   <li><a href="#TimeoutSession">TimeoutSession</a>
   <li><a href="#UseFtpUsers">UseFtpUsers</a>
+  <li><a href="#UserAlias">UserAlias</a>
   <li><a href="#UserPassword">UserPassword</a>
 </ul>
 
@@ -62,6 +63,104 @@ users to run their untrusted webapps (<i>e.g.</i> PHP, Perl, Ruby, Python,
 
 <p>
 <hr>
+<h2><a name="AnonRequirePassword">AnonRequirePassword</a></h2>
+<strong>Syntax:</strong> AnonRequirePassword <em>off|on</em><br>
+<strong>Default:</strong> AnonRequirePassword off<br>
+<strong>Context:</strong> <code><Anonymous></code><br>
+<strong>Module:</strong> mod_auth<br>
+<strong>Compatibility:</strong> 0.99.0 and later
+
+<p>
+Normally, anonymous FTP logins do not require the client to authenticate
+themselves using <em>real</em> passwords; instead, anonymous FTP logins are
+expected to provide their email address as the password.  Using
+<code>AnonRequirePassword on</code>, however, will <i>require</i> a real
+password for that login.  The provided password will be matched against the
+<code><Anonymous></code> user's password.
+
+<p>
+This functionality, in conjunction with the <code>AuthUsingAlias</code>
+directive, can be used to create "guest" accounts, which function exactly as
+normal anonymous logins do, <b>but</b> which require a valid password on the
+server's host system.
+
+<p>
+See also: <a href="#AuthUsingAlias"><code>AuthUsingAlias</code></a>, <a href="#UserAlias"><code>UserAlias</code></a>
+
+<p>
+<hr>
+<h2><a name="AuthAliasOnly">AuthAliasOnly</a></h2>
+<strong>Syntax:</strong> AuthAliasOnly <em>off|on</em><br>
+<strong>Default:</strong> AuthAliasOnly off<br>
+<strong>Context:</strong> server config, <code><VirtualHost></code>, <code><Global></code><br>
+<strong>Module:</strong> mod_auth<br>
+<strong>Compatibility:</strong> 1.1.3 and later
+
+<p>
+The <code>AuthAliasOnly</code> directive restricts authentication to "aliased"
+logins only, <i>i.e.</i> those usernames provided by clients which are "mapped"
+to a <em>real</em> username by the <code>UserAlias</code> directive.  Using
+<code>AuthAliasOnly on</code> in a particular configuration context will
+cause ProFTPD to completely ignore all <em>non-aliased</em> logins for the
+entire context.
+
+<p>
+See also: <a href="#AuthUsingAlias"><code>AuthUsingAlias</code></a>, <a href="#UserAlias"><code>UserAlias</code></a>
+
+<p>
+<hr>
+<h2><a name="AuthUsingAlias">AuthUsingAlias</a></h2>
+<strong>Syntax:</strong> AuthUsingAlias <em>off|on</em><br>
+<strong>Default:</strong> AuthUsingAlias off<br>
+<strong>Context:</strong> <code><Anonymous></code><br>
+<strong>Module:</strong> mod_auth<br>
+<strong>Compatibility:</strong> 1.2.0pre9 and later
+
+<p>
+The <code>AuthUsingAlias</code> directive disables the resolving of aliased usernames (via <code>UserAlias</code>) for authentication purposes.  For example,
+if you have aliased the username "anonymous" to the real user "ftp", the
+password gets checked against the user "anonymous".  When
+<code>AuthUsingAlias</code> is <em>disabled</em>, the checked username would
+be "ftp".
+
+<p>
+Here is an example of an <code><Anonymous></code> section where only
+the aliased usernames are allowed to login:
+<pre>
+  <Anonymous ~ftp>
+    AuthUsingAlias on
+    UserAlias anonymous nobody
+    UserAlias ftp nobody
+
+    # Make this a read-only anonymous login
+    <Limit WRITE>
+      DenyAll
+    </Limit>
+  </Anonymous>
+</pre>
+and here, by contrast, is an <code><Anonymous></code> section where
+certain real users are allowed to login <i>using their own passwords</i> (even
+though it will still be considered an <i>anonymous</i> login):
+<pre>
+  <Anonymous ~ftp>
+    # Require real passwords for these logins
+    AnonRequirePassword on
+
+    AuthAliasOnly on
+    AuthUsingAlias on
+
+    # This is the list of authorized users; password checks will occur
+    # using their own respective passwords, not user "nobody".
+    UserAlias fred nobody
+    UserAlias jenn nobody
+  </Anonymous>
+</pre>
+
+<p>
+See also: <a href="#AnonRequirePassword"><code>AnonRequirePassword</code></a>, <a href="#UserAlias"><code>UserAlias</code></a>
+
+<p>
+<hr>
 <h2><a name="CreateHome">CreateHome</a></h2>
 <strong>Syntax:</strong> CreateHome <em>off|on [mode] [skel path] [dirmode mode]</em><br>
 <strong>Default:</strong> None<br>
@@ -353,6 +452,37 @@ using the <code>UseFtpUsers</code> directive, <i>e.g.</i>:
 
 <p>
 <hr>
+<h2><a name="UserAlias">UserAlias</a></h2>
+<strong>Syntax:</strong> UserAlias <em>alias real-user</em><br>
+<strong>Default:</strong> None<br>
+<strong>Context:</strong> server config, <code><VirtualHost></code>, <code><Global></code>, <code><Anonymous></code><br>
+<strong>Module:</strong> mod_auth<br>
+<strong>Compatibility:</strong> 0.99.0 and later
+
+<p>
+ProFTPD requires a real username (<i>i.e.</i> known via
+<code>/etc/passwd</code>, <code>AuthUserFile</code>, LDAP, SQL, RADIUS,
+<i>etc</i>) when authenticating a client.  There <i>are</i>, however, times
+when an additional <em>alias</em> is required <i>but</i> is undesirable to
+provide an additional login accounts.
+
+<p>
+The <code>UserAlias</code> directive provides a mechanism to do just this.
+A typical and common example of <code>UserAlias</code> is for
+<code><Anonymous></code> configuration sections.  It is conventional for
+the server to use user "ftp" as the primary authentication user; it is common
+practice to allow users to login using the name "anonymous".  This is achieved
+by using the following in the config file:
+<pre>
+  <Anonymous ~ftp>
+    ...
+    UserAlias anonymous ftp
+    ...
+  </Anonymous>
+</pre>
+
+<p>
+<hr>
 <h2><a name="UserPassword">UserPassword</a></h2>
 <strong>Syntax:</strong> UserPassword <em>user encrypted-password</em><br>
 <strong>Default:</strong> None<br>
@@ -395,19 +525,12 @@ Example configuration:
 The <code>mod_auth</code> module is compiled by default.
 
 <p>
-<hr><br>
-
-Author: <i>$Author: castaglia $</i><br>
-Last Updated: <i>$Date: 2013-08-19 16:28:23 $</i><br>
-
-<br><hr>
-
+<hr>
 <font size=2><b><i>
-© Copyright 2002-2013<br>
+© Copyright 2002-2016<br>
  All Rights Reserved<br>
 </i></b></font>
-
-<hr><br>
+<hr>
 
 </body>
 </html>
diff --git a/include/version.h b/include/version.h
index 4a27172..8fe3652 100644
--- a/include/version.h
+++ b/include/version.h
@@ -1,8 +1,8 @@
 #include "buildstamp.h"
 
 /* Application version (in various forms) */
-#define PROFTPD_VERSION_NUMBER		0x0001030508
-#define PROFTPD_VERSION_TEXT		"1.3.5b"
+#define PROFTPD_VERSION_NUMBER		0x0001030510
+#define PROFTPD_VERSION_TEXT		"1.3.5d"
 
 /* Module API version */
 #define PR_MODULE_API_VERSION		0x20
diff --git a/modules/mod_auth.c b/modules/mod_auth.c
index abe6ff8..3865761 100644
--- a/modules/mod_auth.c
+++ b/modules/mod_auth.c
@@ -854,7 +854,7 @@ static void ensure_open_passwd(pool *p) {
 static int setup_env(pool *p, cmd_rec *cmd, char *user, char *pass) {
   struct passwd *pw;
   config_rec *c, *tmpc;
-  char *origuser, *ourname,*anonname = NULL,*anongroup = NULL,*ugroup = NULL;
+  char *origuser, *ourname = NULL, *anonname = NULL, *anongroup = NULL, *ugroup = NULL;
   char *defaulttransfermode, *defroot = NULL,*defchdir = NULL,*xferlog = NULL;
   const char *sess_ttyname;
   int aclp, i, res = 0, allow_chroot_symlinks = TRUE, showsymlinks;
@@ -879,6 +879,18 @@ static int setup_env(pool *p, cmd_rec *cmd, char *user, char *pass) {
   }
 
   pw = pr_auth_getpwnam(p, user);
+  if (pw == NULL &&
+      c != NULL &&
+      ourname != NULL) {
+    /* If the client is authenticating using an alias (e.g. "AuthAliasOnly on"),
+     * then we need to try checking using the real username, too (Bug#4255).
+     */
+    pr_trace_msg("auth", 16,
+      "no user entry found for <Anonymous> alias '%s', using '%s'", user,
+      ourname);
+    pw = pr_auth_getpwnam(p, ourname);
+  }
+
   if (pw == NULL) {
     int auth_code = PR_AUTH_NOPWD;
 
@@ -3474,8 +3486,9 @@ MODRET set_useralias(cmd_rec *cmd) {
   /* Note: only merge this directive down if it is not appearing in an
    * <Anonymous> context.
    */
-  if (!check_context(cmd, CONF_ANON))
-    c->flags |= CF_MERGEDOWN;
+  if (!check_context(cmd, CONF_ANON)) {
+    c->flags |= CF_MERGEDOWN_MULTI;
+  }
 
   return PR_HANDLED(cmd);
 }
diff --git a/modules/mod_cap.c b/modules/mod_cap.c
index 7824899..0ca6c50 100644
--- a/modules/mod_cap.c
+++ b/modules/mod_cap.c
@@ -1,7 +1,7 @@
 /*
  * ProFTPD - FTP server daemon
  * Copyright (c) 1997, 1998 Public Flood Software
- * Copyright (c) 2003-2013 The ProFTPD Project team
+ * Copyright (c) 2003-2016 The ProFTPD Project team
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -299,11 +299,21 @@ MODRET cap_post_host(cmd_rec *cmd) {
 MODRET cap_post_pass(cmd_rec *cmd) {
   int cap_root_revoke = TRUE, res;
   config_rec *c;
+  unsigned char *cap_engine = NULL;
   uid_t dst_uid = PR_ROOT_UID;
 
   if (!use_capabilities)
     return PR_DECLINED(cmd);
 
+  /* Check to see if we have been disabled via e.g. mod_ifsession. */
+  cap_engine = get_param_ptr(main_server->conf, "CapabilitiesEngine", FALSE);
+  if (cap_engine != NULL) {
+    use_capabilities = *cap_engine;
+    if (use_capabilities == FALSE) {
+      return PR_DECLINED(cmd);
+    }
+  }
+
   /* Check for which specific capabilities to include/exclude. */
   c = find_config(main_server->conf, CONF_PARAM, "CapabilitiesSet", FALSE);
   if (c != NULL) {
diff --git a/modules/mod_facl.c b/modules/mod_facl.c
index c39612d..40e5bc1 100644
--- a/modules/mod_facl.c
+++ b/modules/mod_facl.c
@@ -1,6 +1,6 @@
 /*
  * ProFTPD - FTP server daemon
- * Copyright (c) 2004-2014 The ProFTPD Project team
+ * Copyright (c) 2004-2016 The ProFTPD Project team
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -22,9 +22,7 @@
  * for OpenSSL in the source distribution.
  */
 
-/* POSIX ACL checking code (aka POSIX.1e hell)
- * $Id: mod_facl.c,v 1.17 2014-05-04 19:26:26 castaglia Exp $
- */
+/* POSIX ACL checking code (aka POSIX.1e hell) */
 
 #include "conf.h"
 
@@ -51,12 +49,12 @@ static const char *trace_channel = "facl";
 # include <acl/libacl.h>
 #endif
 
-static int is_errno_eperm(void) {
-  if (errno == EPERM)
+static int is_errno_eperm(int xerrno) {
+  if (xerrno == EPERM)
     return 1;
 
 #ifdef EOPNOTSUPP
-  if (errno == EOPNOTSUPP)
+  if (xerrno == EOPNOTSUPP)
     return 1;
 #endif /* !EOPNOTSUPP */
 
@@ -198,6 +196,8 @@ static int check_facl(pool *p, const char *path, int mode, void *acl, int nents,
   }
 
   acl_pool = make_sub_pool(p);
+  pr_pool_tag(acl_pool, "BSD/Linux ACL pool");
+
   acl_groups = make_array(acl_pool, 1, sizeof(acl_entry_t));
   acl_users = make_array(acl_pool, 1, sizeof(acl_entry_t));
 
@@ -639,6 +639,8 @@ static int check_facl(pool *p, const char *path, int mode, void *acl, int nents,
    */
 
   acl_pool = make_sub_pool(p);
+  pr_pool_tag(acl_pool, "Solaris ACL pool");
+
   acl_groups = make_array(acl_pool, 1, sizeof(aclent_t));
   acl_users = make_array(acl_pool, 1, sizeof(aclent_t));
 
@@ -873,9 +875,10 @@ static int check_facl(pool *p, const char *path, int mode, void *acl, int nents,
 
 static int facl_fsio_access(pr_fs_t *fs, const char *path, int mode,
     uid_t uid, gid_t gid, array_header *suppl_gids) {
-  int nents = 0;
+  int nents = 0, res, xerrno;
   struct stat st;
   void *acls;
+  pool *tmp_pool = NULL;
 
   pr_fs_clear_cache();
   if (pr_fsio_stat(path, &st) < 0)
@@ -886,10 +889,12 @@ static int facl_fsio_access(pr_fs_t *fs, const char *path, int mode,
   acls = acl_get_file(path, ACL_TYPE_ACCESS);
 
   if (!acls) {
+    xerrno = errno;
+
     pr_trace_msg(trace_channel, 5, "unable to retrieve ACL for '%s': [%d] %s",
-      path, errno, strerror(errno));
+      path, xerrno, strerror(xerrno));
 
-    if (is_errno_eperm()) {
+    if (is_errno_eperm(xerrno)) {
       pr_trace_msg(trace_channel, 3, "ACL retrieval operation not supported "
         "for '%s', falling back to normal access check", path);
 
@@ -899,81 +904,119 @@ static int facl_fsio_access(pr_fs_t *fs, const char *path, int mode,
        * arrangement can be found.
        */
       if (sys_access(fs, path, mode, uid, gid, suppl_gids) < 0) {
+        xerrno = errno;
+
         pr_trace_msg(trace_channel, 6, "normal access check for '%s' "
-          "failed: %s", path, strerror(errno));
+          "failed: %s", path, strerror(xerrno));
+        errno = xerrno;
         return -1;
       }
 
       return 0;
-
-    } else {
-      return -1;
     }
+
+    errno = xerrno;
+    return -1;
   }
 
 # elif defined(HAVE_SOLARIS_POSIX_ACL)
 
   nents = acl(path, GETACLCNT, 0, NULL);
   if (nents < 0) {
+    xerrno = errno;
+
     pr_trace_msg(trace_channel, 5,
-      "unable to retrieve ACL count for '%s': [%d] %s", path, errno,
-      strerror(errno));
+      "unable to retrieve ACL count for '%s': [%d] %s", path, xerrno,
+      strerror(xerrno));
 
-    if (is_errno_eperm()) {
+    if (is_errno_eperm(xerrno)) {
       pr_trace_msg(trace_channel, 3, "ACL retrieval operation not supported "
         "for '%s', falling back to normal access check", path);
 
       if (sys_access(fs, path, mode, uid, gid, suppl_gids) < 0) {
+        xerrno = errno;
+
         pr_trace_msg(trace_channel, 6, "normal access check for '%s' "
-          "failed: %s", path, strerror(errno));
+          "failed: %s", path, strerror(xerrno));
+        errno = xerrno;
         return -1;
-      }   
+      }
 
       return 0;
-
-    } else {
-      return -1;
     }
+
+    errno = xerrno;
+    return -1;
   }
 
   pr_trace_msg(trace_channel, 10,
     "acl(2) returned %d ACL entries for path '%s'", nents, path);
 
-  acls = pcalloc(fs->fs_pool, nents * sizeof(aclent_t));
+  if (tmp_pool == NULL) {
+    tmp_pool = make_sub_pool(fs->fs_pool);
+    pr_pool_tag(tmp_pool, "mod_facl access(2) pool");
+  }
+
+  acls = pcalloc(tmp_pool, nents * sizeof(aclent_t));
 
   nents = acl(path, GETACL, nents, acls);
   if (nents < 0) {
+    xerrno = errno;
+
+    destroy_pool(tmp_pool);
+    tmp_pool = NULL;
+
     pr_trace_msg(trace_channel, 5,
-      "unable to retrieve ACL for '%s': [%d] %s", path, errno,
-      strerror(errno));
+      "unable to retrieve ACL for '%s': [%d] %s", path, xerrno,
+      strerror(xerrno));
 
-    if (is_errno_eperm()) {
+    if (is_errno_eperm(xerrno)) {
       pr_trace_msg(trace_channel, 3, "ACL retrieval operation not supported "
         "for '%s', falling back to normal access check", path);
 
       if (sys_access(fs, path, mode, uid, gid, suppl_gids) < 0) {
+        xerrno = errno;
+
         pr_trace_msg(trace_channel, 6, "normal access check for '%s' "
-          "failed: %s", path, strerror(errno));
+          "failed: %s", path, strerror(xerrno));
+        errno = xerrno;
         return -1;
-      }   
+      }
 
       return 0;
-
-    } else {
-      return -1;
     }
+
+    errno = xerrno;
+    return -1;
   }
 # endif
 
-  return check_facl(fs->fs_pool, path, mode, acls, nents, &st,
-    uid, gid, suppl_gids);
+  if (tmp_pool == NULL) {
+    tmp_pool = make_sub_pool(fs->fs_pool);
+    pr_pool_tag(tmp_pool, "mod_facl access(2) pool");
+  }
+
+  res = check_facl(tmp_pool, path, mode, acls, nents, &st, uid, gid,
+    suppl_gids);
+  xerrno = errno;
+
+# if defined(HAVE_BSD_POSIX_ACL) || \
+     defined(HAVE_LINUX_POSIX_ACL) || \
+     defined(HAVE_MACOSX_POSIX_ACL)
+  acl_free(acls);
+# endif
+
+  destroy_pool(tmp_pool);
+  errno = xerrno;
+  return res;
 }
 
 static int facl_fsio_faccess(pr_fh_t *fh, int mode, uid_t uid, gid_t gid,
     array_header *suppl_gids) {
-  int nents = 0;
+  int nents = 0, res, xerrno;
   struct stat st;
   void *acls;
+  pool *tmp_pool = NULL;
 
   pr_fs_clear_cache();
   if (pr_fsio_fstat(fh, &st) < 0)
@@ -984,11 +1027,13 @@ static int facl_fsio_faccess(pr_fh_t *fh, int mode, uid_t uid, gid_t gid,
   acls = acl_get_fd(PR_FH_FD(fh));
 
   if (!acls) {
+    xerrno = errno;
+
     pr_trace_msg(trace_channel, 10,
-      "unable to retrieve ACL for '%s': [%d] %s", fh->fh_path, errno,
-      strerror(errno));
+      "unable to retrieve ACL for '%s': [%d] %s", fh->fh_path, xerrno,
+      strerror(xerrno));
 
-    if (is_errno_eperm()) {
+    if (is_errno_eperm(xerrno)) {
       pr_trace_msg(trace_channel, 3, "ACL retrieval operation not supported "
         "for '%s', falling back to normal access check", fh->fh_path);
 
@@ -998,71 +1043,108 @@ static int facl_fsio_faccess(pr_fh_t *fh, int mode, uid_t uid, gid_t gid,
        * arrangement can be found.
        */
       if (sys_faccess(fh, mode, uid, gid, suppl_gids) < 0) {
+        xerrno = errno;
+
         pr_trace_msg(trace_channel, 6, "normal access check for '%s' "
-          "failed: %s", fh->fh_path, strerror(errno));
+          "failed: %s", fh->fh_path, strerror(xerrno));
+        errno = xerrno;
         return -1;
-      }   
+      }
 
       return 0;
-
-    } else {
-      return -1;
     }
+
+    errno = xerrno;
+    return -1;
   }
 
 # elif defined(HAVE_SOLARIS_POSIX_ACL)
 
   nents = facl(PR_FH_FD(fh), GETACLCNT, 0, NULL);
   if (nents < 0) {
+    xerrno = errno;
+
     pr_trace_msg(trace_channel, 10,
       "unable to retrieve ACL count for '%s': [%d] %s", fh->fh_path,
-      errno, strerror(errno));
+      xerrno, strerror(xerrno));
 
-    if (is_errno_eperm()) {
+    if (is_errno_eperm(xerrno)) {
       pr_trace_msg(trace_channel, 3, "ACL retrieval operation not supported "
         "for '%s', falling back to normal access check", fh->fh_path);
 
       if (sys_faccess(fh, mode, uid, gid, suppl_gids) < 0) {
+        xerrno = errno;
+
         pr_trace_msg(trace_channel, 6, "normal access check for '%s' "
-          "failed: %s", fh->fh_path, strerror(errno));
+          "failed: %s", fh->fh_path, strerror(xerrno));
+        errno = xerrno;
         return -1;
-      }   
+      }
 
       return 0;
-
-    } else {
-      return -1;
     }
+
+    errno = xerrno;
+    return -1;
   }
 
-  acls = pcalloc(fh->fh_fs->fs_pool, nents * sizeof(aclent_t));
+  if (tmp_pool == NULL) {
+    tmp_pool = make_sub_pool(fh->fh_fs->fs_pool);
+    pr_pool_tag(tmp_pool, "mod_facl faccess(2) pool");
+  }
+
+  acls = pcalloc(tmp_pool, nents * sizeof(aclent_t));
 
   nents = facl(PR_FH_FD(fh), GETACL, nents, acls);
   if (nents < 0) {
+    xerrno = errno;
+
+    destroy_pool(tmp_pool);
+    tmp_pool = NULL;
+
     pr_trace_msg(trace_channel, 10,
-      "unable to retrieve ACL for '%s': [%d] %s", fh->fh_path, errno,
-      strerror(errno));
+      "unable to retrieve ACL for '%s': [%d] %s", fh->fh_path, xerrno,
+      strerror(xerrno));
 
-    if (is_errno_eperm()) {
+    if (is_errno_eperm(xerrno)) {
       pr_trace_msg(trace_channel, 3, "ACL retrieval operation not supported "
         "for '%s', falling back to normal access check", fh->fh_path);
 
       if (sys_faccess(fh, mode, uid, gid, suppl_gids) < 0) {
+        xerrno = errno;
+
         pr_trace_msg(trace_channel, 6, "normal access check for '%s' "
-          "failed: %s", fh->fh_path, strerror(errno));
+          "failed: %s", fh->fh_path, strerror(xerrno));
+        errno = xerrno;
         return -1;
-      }   
+      }
 
       return 0;
-
-    } else {
-      return -1;
     }
+
+    errno = xerrno;
+    return -1;
   }
 # endif
 
-  return check_facl(fh->fh_fs->fs_pool, fh->fh_path, mode, acls, nents, &st,
-    uid, gid, suppl_gids);
+  if (tmp_pool == NULL) {
+    tmp_pool = make_sub_pool(fh->fh_fs->fs_pool);
+    pr_pool_tag(tmp_pool, "mod_facl faccess(2) pool");
+  }
+
+  res = check_facl(tmp_pool, fh->fh_path, mode, acls, nents, &st, uid, gid,
+    suppl_gids);
+  xerrno = errno;
+
+# if defined(HAVE_BSD_POSIX_ACL) || \
+     defined(HAVE_LINUX_POSIX_ACL) || \
+     defined(HAVE_MACOSX_POSIX_ACL)
+  acl_free(acls);
+# endif
+  destroy_pool(tmp_pool);
+
+  errno = xerrno;
+  return res;
 }
 # endif /* !PR_USE_FACL */
 
@@ -1080,16 +1162,14 @@ static void facl_mod_unload_ev(const void *event_data, void *user_data) {
 }
 #endif /* !PR_SHARED_MODULE */
 
-/* Initialization routines
- */
-
-static int facl_init(void) {
+static void facl_postparse_ev(const void *event_data, void *user_data) {
 #if defined(PR_USE_FACL) && defined(HAVE_POSIX_ACL)
   pr_fs_t *fs;
 #endif /* PR_USE_FACL and HAVE_POSIX_ACL */
 
-  if (!facl_engine)
-    return 0;
+  if (facl_engine == FALSE) {
+    return;
+  }
 
 #if defined(PR_USE_FACL) && defined(HAVE_POSIX_ACL)
   fs = pr_register_fs(permanent_pool, "facl", "/");
@@ -1098,21 +1178,28 @@ static int facl_init(void) {
 
     pr_log_pri(PR_LOG_WARNING,
       MOD_FACL_VERSION ": error registering 'facl' FS: %s", strerror(xerrno));
-
-    errno = xerrno;
-    return -1;
+    pr_session_disconnect(&facl_module, PR_SESS_DISCONNECT_BY_APPLICATION,
+      NULL);
   }
   pr_log_debug(DEBUG6, MOD_FACL_VERSION ": registered 'facl' FS");
 
   /* Ensure that our ACL-checking handlers are used. */
   fs->access = facl_fsio_access;
   fs->faccess = facl_fsio_faccess;
+#endif /* PR_USE_FACL and HAVE_POSIX_ACL */
+}
+
+/* Initialization routines
+ */
 
+static int facl_init(void) {
+#if defined(PR_USE_FACL) && defined(HAVE_POSIX_ACL)
 # if defined(PR_SHARED_MODULE)
-    pr_event_register(&facl_module, "core.module-unload", facl_mod_unload_ev,
-      NULL);
+  pr_event_register(&facl_module, "core.module-unload", facl_mod_unload_ev,
+    NULL);
 # endif /* !PR_SHARED_MODULE */
 #endif /* PR_USE_FACL and HAVE_POSIX_ACL */
+  pr_event_register(&facl_module, "core.postparse", facl_postparse_ev, NULL);
 
   return 0;
 }
diff --git a/modules/mod_facts.c b/modules/mod_facts.c
index 09f8e2e..4570f67 100644
--- a/modules/mod_facts.c
+++ b/modules/mod_facts.c
@@ -1,7 +1,6 @@
 /*
  * ProFTPD: mod_facts -- a module for handling "facts" [RFC3659]
- *
- * Copyright (c) 2007-2015 The ProFTPD Project
+ * Copyright (c) 2007-2016 The ProFTPD Project
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -290,6 +289,7 @@ static size_t facts_mlinfo_fmt(struct mlinfo *info, char *buf, size_t bufsz,
  * channel, wherease MLSD's output is sent via a data transfer, much like
  * LIST or NLST.
  */
+static pool *mlinfo_pool = NULL;
 static char *mlinfo_buf = NULL, *mlinfo_bufptr = NULL;
 static size_t mlinfo_bufsz = 0;
 static size_t mlinfo_buflen = 0;
@@ -297,7 +297,15 @@ static size_t mlinfo_buflen = 0;
 static void facts_mlinfobuf_init(void) {
   if (mlinfo_buf == NULL) {
     mlinfo_bufsz = pr_config_get_server_xfer_bufsz(PR_NETIO_IO_WR);
-    mlinfo_buf = palloc(session.pool, mlinfo_bufsz);
+
+    if (mlinfo_pool != NULL) {
+      destroy_pool(mlinfo_pool);
+    }
+
+    mlinfo_pool = make_sub_pool(session.pool);
+    pr_pool_tag(mlinfo_pool, "Facts MLSD Buffer Pool");
+
+    mlinfo_buf = palloc(mlinfo_pool, mlinfo_bufsz);
     pr_trace_msg("data", 8, "allocated facts buffer of %lu bytes",
       (unsigned long) mlinfo_bufsz);
   }
@@ -1279,7 +1287,9 @@ MODRET facts_mlsd(cmd_rec *cmd) {
 
     memset(&info, 0, sizeof(struct mlinfo));
 
-    info.pool = cmd->tmp_pool;
+    info.pool = make_sub_pool(cmd->tmp_pool);
+    pr_pool_tag(info.pool, "MLSD facts pool");
+
     if (facts_mlinfo_get(&info, rel_path, dent->d_name, flags,
         fake_uid, fake_gid, fake_mode) < 0) {
       pr_log_debug(DEBUG3, MOD_FACTS_VERSION
@@ -1290,10 +1300,13 @@ MODRET facts_mlsd(cmd_rec *cmd) {
     /* As per RFC3659, the directory being listed should not appear as a
      * component in the paths of the directory contents.
      */
-    info.path = pr_fs_encode_path(cmd->tmp_pool, dent->d_name);
+    info.path = pr_fs_encode_path(info.pool, dent->d_name);
 
     facts_mlinfobuf_add(&info, FACTS_MLINFO_FL_APPEND_CRLF);
 
+    destroy_pool(info.pool);
+    info.pool = NULL;
+
     if (XFER_ABORTED) {
       pr_data_abort(0, 0);
       break;
diff --git a/modules/mod_ls.c b/modules/mod_ls.c
index e9a9049..4959c7c 100644
--- a/modules/mod_ls.c
+++ b/modules/mod_ls.c
@@ -59,6 +59,11 @@ static int sendline(int flags, char *fmt, ...)
 #define LS_FL_NLST_ONLY			0x0004
 static unsigned long list_flags = 0;
 
+/* Maximum size of the "dsize" directory block we'll allocate for all of the
+ * entries in a directory (Bug#4247).
+ */
+#define LS_MAX_DSIZE			(1024 * 1024 * 8)
+
 static unsigned char list_strict_opts = FALSE;
 static char *list_options = NULL;
 static unsigned char list_show_symlinks = TRUE, list_times_gmt = TRUE;
@@ -445,6 +450,7 @@ static char months[12][4] =
     "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
 
 static int listfile(cmd_rec *cmd, pool *p, const char *name) {
+  register unsigned int i;
   int rval = 0, len;
   time_t sort_time;
   char m[PR_TUNABLE_PATH_MAX+1] = {'\0'}, l[PR_TUNABLE_PATH_MAX+1] = {'\0'}, s[16] = {'\0'};
@@ -452,6 +458,29 @@ static int listfile(cmd_rec *cmd, pool *p, const char *name) {
   struct tm *t = NULL;
   char suffix[2];
   int hidden = 0;
+  char *filename, *ptr;
+  size_t namelen;
+
+  /* Note that listfile() expects to be given the file name, NOT the path.
+   * So strip off any path elements, watching out for any trailing slashes
+   * (Bug#4259).
+   */
+  namelen = strlen(name);
+  for (i = namelen-1; i > 0; i--) {
+    if (name[i] != '/') {
+      break;
+    }
+
+    namelen--;
+  }
+
+  filename = pstrndup(p, name, namelen);
+
+  ptr = strrchr(filename, '/');
+  if (ptr != NULL) {
+    /* Advance past that path separator to get just the filename. */
+    filename = ptr + 1;
+  }
 
   if (list_nfiles.curr && list_nfiles.max &&
       list_nfiles.curr >= list_nfiles.max) {
@@ -478,7 +507,7 @@ static int listfile(cmd_rec *cmd, pool *p, const char *name) {
 
 #ifndef PR_USE_NLS
     if (opt_B) {
-      register unsigned int i, j;
+      register unsigned int j;
       size_t display_namelen, printable_namelen;
       char *printable_name = NULL;
 
@@ -592,9 +621,13 @@ static int listfile(cmd_rec *cmd, pool *p, const char *name) {
     }
 
     /* Skip dotfiles, unless requested not to via -a or -A. */
-    if (*name == '.' &&
-        (!opt_a && (!opt_A || is_dotdir(name))))
+    if (*filename == '.' &&
+        (!opt_a && (!opt_A || is_dotdir(filename)))) {
+      pr_log_debug(DEBUG10,
+        "skipping listing of hidden file '%s' (no -A/-a options in effect)",
+        filename);
       return 0;
+    }
 
     if (hidden)
       return 0;
@@ -1098,6 +1131,9 @@ static char **sreaddir(const char *dirname, const int sort) {
 
   /* Guess the number of entries in the directory. */
   dsize = (((size_t) st.st_size) / 4) + 10;
+  if (dsize > LS_MAX_DSIZE) {
+    dsize = LS_MAX_DSIZE;
+  }
 
   /* The directory has been opened already, but portably accessing the file
    * descriptor inside the DIR struct isn't easy.  Some systems use "dd_fd" or
@@ -1883,7 +1919,6 @@ static int dolist(cmd_rec *cmd, const char *opt, int clearflags) {
         }
 
       } else {
-
         /* Trick the following code into using the non-glob() processed path */
         a = 0;
         g.gl_pathv = (char **) pcalloc(cmd->tmp_pool, 2 * sizeof(char *));
@@ -1897,8 +1932,9 @@ static int dolist(cmd_rec *cmd, const char *opt, int clearflags) {
 
       path = g.gl_pathv;
 
-      if (path && path[0] && path[1])
+      if (path && path[0] && path[1]) {
         justone = 0;
+      }
 
       while (path &&
              *path) {
@@ -1919,7 +1955,7 @@ static int dolist(cmd_rec *cmd, const char *opt, int clearflags) {
           }
 
           /* If the -d option is used or the file is not a directory, OR
-           * if the -R option is NOT used AND the file IS a directory AND,
+           * if the -R option is NOT used AND the file IS a directory AND
            * the file is NOT the target/given parameter, then list the file
            * as is.
            */
diff --git a/modules/mod_xfer.c b/modules/mod_xfer.c
index 6e1b2a2..de5c52a 100644
--- a/modules/mod_xfer.c
+++ b/modules/mod_xfer.c
@@ -2434,6 +2434,9 @@ MODRET xfer_allo(cmd_rec *cmd) {
         return PR_ERROR(cmd);
       }
 
+      pr_log_debug(DEBUG9, "%s requested %" PR_LU " KB, %" PR_LU
+        " KB available on '%s'", cmd->argv[0], (pr_off_t) requested_kb,
+        (pr_off_t) avail_kb, path);
       pr_response_add(R_200, _("%s command successful"), cmd->argv[0]);
     }
 
diff --git a/src/auth.c b/src/auth.c
index 1ac77fc..b6727fb 100644
--- a/src/auth.c
+++ b/src/auth.c
@@ -2,7 +2,7 @@
  * ProFTPD - FTP server daemon
  * Copyright (c) 1997, 1998 Public Flood Software
  * Copyright (c) 1999, 2000 MacGyver aka Habeeb J. Dihu <macgyver at tos.net>
- * Copyright (c) 2001-2013 The ProFTPD Project team
+ * Copyright (c) 2001-2016 The ProFTPD Project team
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -24,9 +24,7 @@
  * the source code for OpenSSL in the source distribution.
  */
 
-/* Authentication front-end for ProFTPD
- * $Id: auth.c,v 1.102 2013-11-10 01:56:49 castaglia Exp $
- */
+/* Authentication front-end for ProFTPD */
 
 #include "conf.h"
 #include "privs.h"
@@ -1134,10 +1132,10 @@ int pr_auth_getgroups(pool *p, const char *name, array_header **group_ids,
 }
 
 /* This is one messy function.  Yuck.  Yay legacy code. */
-config_rec *pr_auth_get_anon_config(pool *p, char **login_name,
-    char **user_name, char **anon_name) {
-  config_rec *c = NULL, *topc = NULL;
-  char *config_user_name, *config_anon_name = NULL;
+config_rec *pr_auth_get_anon_config(pool *p, char **login_user,
+    char **real_user, char **anon_name) {
+  config_rec *c = NULL, *alias_config = NULL, *anon_config = NULL;
+  char *config_user_name = NULL, *config_anon_name = NULL;
   unsigned char is_alias = FALSE, *auth_alias_only = NULL;
   unsigned long config_flags = (PR_CONFIG_FIND_FL_SKIP_DIR|PR_CONFIG_FIND_FL_SKIP_LIMIT|PR_CONFIG_FIND_FL_SKIP_DYNDIR);
 
@@ -1148,9 +1146,9 @@ config_rec *pr_auth_get_anon_config(pool *p, char **login_name,
    */
 
   config_user_name = get_param_ptr(main_server->conf, "UserName", FALSE);
-  if (config_user_name &&
-      user_name) {
-    *user_name = config_user_name;
+  if (config_user_name != NULL &&
+      real_user != NULL) {
+    *real_user = config_user_name;
   }
 
   /* If the main_server->conf->set list is large (e.g. there are many
@@ -1169,11 +1167,15 @@ config_rec *pr_auth_get_anon_config(pool *p, char **login_name,
     config_flags);
   if (c != NULL) {
     do {
+      const char *alias;
+
       pr_signals_handle();
 
-      if (strncmp(c->argv[0], "*", 2) == 0 ||
-          strcmp(c->argv[0], *login_name) == 0) {
+      alias = c->argv[0];
+      if (strncmp(alias, "*", 2) == 0 ||
+          strcmp(alias, *login_user) == 0) {
         is_alias = TRUE;
+        alias_config = c;
         break;
       }
 
@@ -1182,49 +1184,57 @@ config_rec *pr_auth_get_anon_config(pool *p, char **login_name,
   }
 
   /* This is where things get messy, rapidly. */
-  topc = c;
+  if (is_alias == TRUE) {
+    c = alias_config;
+  }
 
   while (c && c->parent &&
-    (auth_alias_only = get_param_ptr(c->parent->set, "AuthAliasOnly", FALSE))) {
+    (auth_alias_only = get_param_ptr(c->parent->subset, "AuthAliasOnly", FALSE))) {
 
     /* while() loops should always handle signals. */
     pr_signals_handle();
 
-    if (auth_alias_only) {
-      /* If AuthAliasOnly is on, ignore this one and continue. */
-      if (*auth_alias_only == TRUE) {
-        c = find_config_next2(c, c->next, CONF_PARAM, "UserAlias", TRUE,
-          config_flags);
-        continue;
-      }
+    /* If AuthAliasOnly is on, ignore this one and continue. */
+    if (auth_alias_only != NULL &&
+        *auth_alias_only == TRUE) {
+      c = find_config_next2(c, c->next, CONF_PARAM, "UserAlias", TRUE,
+        config_flags);
+      continue;
     }
 
     /* At this point, we have found an "AuthAliasOnly off" config in
-     * c->parent->set.  See if there's a UserAlias in the same config set.
+     * c->parent->set (which means that we cannot use the UserAlias, and thus
+     * is_alias is set to false).  See if there's a UserAlias in the same
+     * config set.
      */
 
     is_alias = FALSE;
 
-    find_config_set_top(topc);
+    find_config_set_top(alias_config);
     c = find_config_next2(c, c->next, CONF_PARAM, "UserAlias", TRUE,
       config_flags);
 
     if (c &&
         (strncmp(c->argv[0], "*", 2) == 0 ||
-         strcmp(c->argv[0], *login_name) == 0)) {
+         strcmp(c->argv[0], *login_user) == 0)) {
       is_alias = TRUE;
+      alias_config = c;
     }
   }
 
-  if (c) {
-    *login_name = c->argv[1];
+  /* At this point in time, c is guaranteed (if not null) to be pointing at
+   * a UserAlias config, either the original OR one found in the AuthAliasOnly
+   * config set.
+   */
+  if (c != NULL) {
+    *login_user = c->argv[1];
 
     /* If the alias is applied inside an <Anonymous> context, we have found
-     * our anon block.
+     * our <Anonymous> section.
      */
     if (c->parent &&
         c->parent->config_type == CONF_ANON) {
-      c = c->parent;
+      anon_config = c->parent;
 
     } else {
       c = NULL;
@@ -1232,68 +1242,106 @@ config_rec *pr_auth_get_anon_config(pool *p, char **login_name,
   }
 
   /* Next, search for an anonymous entry. */
-
-  if (c == NULL) {
+  if (anon_config == NULL) {
     c = find_config(main_server->conf, CONF_ANON, NULL, FALSE);
 
   } else {
-    find_config_set_top(c);
+    find_config_set_top(anon_config);
+    c = anon_config;
   }
 
-  if (c) {
+  /* If anon_config is null here but c is not null, then we may have found
+   * a candidate <Anonymous> section.  Let's examine it more closely.
+   */
+  if (c != NULL) {
+    config_rec *starting_c;
+
+    starting_c = c;
     do {
       pr_signals_handle();
 
       config_anon_name = get_param_ptr(c->subset, "UserName", FALSE);
-
-      if (!config_anon_name)
+      if (config_anon_name == NULL) {
         config_anon_name = config_user_name;
+      }
 
-      if (config_anon_name &&
-          strcmp(config_anon_name, *login_name) == 0) {
-         if (anon_name)
-           *anon_name = config_anon_name;
-         break;
+      if (config_anon_name != NULL &&
+          strcmp(config_anon_name, *login_user) == 0) {
+
+        /* We found our <Anonymous> section. */
+        anon_config = c;
+
+        if (anon_name != NULL) {
+          *anon_name = config_anon_name;
+        }
+        break;
       }
  
     } while ((c = find_config_next(c, c->next, CONF_ANON, NULL,
       FALSE)) != NULL);
-  }
 
-  if (!is_alias) {
-    /* Yes, we do want to be using c here.  Otherwise, we risk a regression
-     * of Bug#3501.
-     */
+    c = starting_c;
+  }
 
+  if (is_alias == FALSE) {
     auth_alias_only = get_param_ptr(c ? c->subset : main_server->conf,
       "AuthAliasOnly", FALSE);
 
-    if (auth_alias_only &&
+    if (auth_alias_only != NULL &&
         *auth_alias_only == TRUE) {
-      if (c &&
+      if (c != NULL &&
           c->config_type == CONF_ANON) {
         c = NULL;
 
       } else {
-        *login_name = NULL;
+        *login_user = NULL;
       }
 
-      auth_alias_only = get_param_ptr(main_server->conf, "AuthAliasOnly",
-        FALSE);
-      if (*login_name &&
-          auth_alias_only &&
+      /* Note: We only need to look for AuthAliasOnly in main_server IFF
+       * c is NOT null.  If c IS null, then we will already have looked up
+       * AuthAliasOnly in main_server above.
+       */
+      if (c != NULL) {
+        auth_alias_only = get_param_ptr(main_server->conf, "AuthAliasOnly",
+          FALSE);
+      }
+
+      if (login_user != NULL &&
+          auth_alias_only != NULL &&
           *auth_alias_only == TRUE) {
-        *login_name = NULL;
+        *login_user = NULL;
       }
 
-      if ((!login_name || !c) &&
-          anon_name) {
+      if ((login_user == NULL || anon_config == NULL) &&
+          anon_name != NULL) {
         *anon_name = NULL;
       }
     }
+
+  } else {
+    config_rec *alias_parent_config = NULL;
+
+    /* We have found a matching UserAlias for the USER name sent by the client.
+     * But we need to properly handle any AuthAliasOnly directives in that
+     * config as well (Bug#2070).
+     */
+    if (alias_config != NULL) {
+      alias_parent_config = alias_config->parent;
+    }
+
+    auth_alias_only = get_param_ptr(alias_parent_config ?
+      alias_parent_config->subset : main_server->conf, "AuthAliasOnly", FALSE);
+
+    if (auth_alias_only != NULL &&
+        *auth_alias_only == TRUE) {
+      if (alias_parent_config != NULL &&
+          alias_parent_config->config_type == CONF_ANON) {
+        anon_config = alias_parent_config;
+      }
+    }
   }
 
-  return c;
+  return anon_config;
 }
 
 int pr_auth_banned_by_ftpusers(xaset_t *ctx, const char *user) {
diff --git a/src/data.c b/src/data.c
index 5136f5f..f2ea94f 100644
--- a/src/data.c
+++ b/src/data.c
@@ -1154,6 +1154,7 @@ int pr_data_xfer(char *cl_buf, size_t cl_size) {
   if (session.xfer.direction == PR_NETIO_IO_RD) {
     char *buf = session.xfer.buf;
     pr_buffer_t *pbuf;
+    pool *tmp_pool;
 
     if (session.sf_flags & (SF_ASCII|SF_ASCII_OVERRIDE)) {
       int adjlen, buflen;
@@ -1186,10 +1187,13 @@ int pr_data_xfer(char *cl_buf, size_t cl_size) {
         }
 
         /* Before we process the data read from the client, generate an event
-         * for any listeners which may want to examine this data.
+         * for any listeners which may want to examine this data.  Use a
+         * temporary pool, so that we don't exhaust the transfer pool for
+         * long/large transfers (Bug#4277).
          */
 
-        pbuf = pcalloc(session.xfer.p, sizeof(pr_buffer_t));
+        tmp_pool = make_sub_pool(session.xfer.p);
+        pbuf = pcalloc(tmp_pool, sizeof(pr_buffer_t));
         pbuf->buf = buf;
         pbuf->buflen = len;
         pbuf->current = pbuf->buf;
@@ -1200,6 +1204,7 @@ int pr_data_xfer(char *cl_buf, size_t cl_size) {
         /* The event listeners may have changed the data to write out. */
         buf = pbuf->buf;
         len = pbuf->buflen - pbuf->remaining;
+        destroy_pool(tmp_pool);
 
         if (len > 0) {
           buflen += len;
@@ -1289,10 +1294,13 @@ int pr_data_xfer(char *cl_buf, size_t cl_size) {
 
       if (len > 0) {
         /* Before we process the data read from the client, generate an event
-         * for any listeners which may want to examine this data.
+         * for any listeners which may want to examine this data.  Use a
+         * temporary pool, so that we don't exhaust the transfer pool for
+         * long/large transfers (Bug#4277).
          */
 
-        pbuf = pcalloc(session.xfer.p, sizeof(pr_buffer_t));
+        tmp_pool = make_sub_pool(session.xfer.p);
+        pbuf = pcalloc(tmp_pool, sizeof(pr_buffer_t));
         pbuf->buf = buf;
         pbuf->buflen = len;
         pbuf->current = pbuf->buf;
@@ -1303,6 +1311,7 @@ int pr_data_xfer(char *cl_buf, size_t cl_size) {
         /* The event listeners may have changed the data to write out. */
         buf = pbuf->buf;
         len = pbuf->buflen - pbuf->remaining;
+        destroy_pool(tmp_pool);
 
         /* Non-ASCII mode doesn't need to use session.xfer.buf */
         if (timeout_stalled) {
diff --git a/src/fsio.c b/src/fsio.c
index f088202..c484a52 100644
--- a/src/fsio.c
+++ b/src/fsio.c
@@ -4790,15 +4790,15 @@ static int fs_getsize(int fd, char *path, off_t *fs_size) {
    * we'll use typecasting.
    */
   if (sizeof(fs.f_bavail) > 4 ||
-      sizeof(fs.f_frsize) > 4) {
+      sizeof(fs.f_bsize) > 4) {
 
     /* In order to return a size in KB, as get_fs_size() does, we need
      * to divide by 1024.
      */
-    *fs_size = (((off_t) fs.f_bavail * (off_t) fs.f_frsize) / 1024);
+    *fs_size = (((off_t) fs.f_bavail * (off_t) fs.f_bsize) / 1024);
 
   } else {
-    *fs_size = get_fs_size(fs.f_bavail, fs.f_frsize);
+    *fs_size = get_fs_size(fs.f_bavail, fs.f_bsize);
   }
 
   return 0;
@@ -4846,7 +4846,7 @@ static int fs_getsize(int fd, char *path, off_t *fs_size) {
     /* In order to return a size in KB, as get_fs_size() does, we need
      * to divide by 1024.
      */
-    *fs_size = (((off_t) fs.f_bavail * (off_t) fs.f_frsize) / 1024);
+    *fs_size = (((off_t) fs.f_bavail * (off_t) fs.f_bsize) / 1024);
 
   } else {
     *fs_size = get_fs_size(fs.f_bavail, fs.f_bsize);
@@ -4897,7 +4897,7 @@ static int fs_getsize(int fd, char *path, off_t *fs_size) {
     /* In order to return a size in KB, as get_fs_size() does, we need
      * to divide by 1024.
      */
-    *fs_size = (((off_t) fs.f_bavail * (off_t) fs.f_frsize) / 1024);
+    *fs_size = (((off_t) fs.f_bavail * (off_t) fs.f_bsize) / 1024);
 
   } else {
     *fs_size = get_fs_size(fs.f_bavail, fs.f_bsize);
diff --git a/src/memcache.c b/src/memcache.c
index a67ec46..ad0cc9b 100644
--- a/src/memcache.c
+++ b/src/memcache.c
@@ -285,7 +285,16 @@ static int mcache_ping_servers(pr_memcache_t *mcache) {
   }
 
   memcached_servers_reset(clone);
+
+  /* Bug#4242: Don't use memcached_server_push() if we're using
+   * libmemcached-1.0.18 or earlier.  Doing so leads to a segfault, due to
+   * this libmemcached bug:
+   *
+   *  https://bugs.launchpad.net/libmemcached/+bug/1154159
+   */
+#if LIBMEMCACHED_VERSION_HEX > 0x01000018
   memcached_server_push(clone, configured_server_list);
+#endif
 
   server_count = memcached_server_count(clone);
 
diff --git a/src/response.c b/src/response.c
index 7c3e378..83d2fbb 100644
--- a/src/response.c
+++ b/src/response.c
@@ -1,6 +1,6 @@
 /*
  * ProFTPD - FTP server daemon
- * Copyright (c) 2001-2011 The ProFTPD Project team
+ * Copyright (c) 2001-2016 The ProFTPD Project team
  *  
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -79,19 +79,24 @@ static void reset_last_response(void) {
 void pr_response_set_pool(pool *p) {
   resp_pool = p;
 
+  if (p == NULL) {
+    reset_last_response();
+    return;
+  }
+
   /* Copy any old "last" values out of the new pool. */
   if (resp_last_response_code != NULL) {
-    char *tmp;
+    char *ptr;
 
-    tmp = resp_last_response_code;
-    resp_last_response_code = pstrdup(p, tmp);
+    ptr = resp_last_response_code;
+    resp_last_response_code = pstrdup(p, ptr);
   }
 
   if (resp_last_response_msg != NULL) {
-    char *tmp;
+    char *ptr;
   
-    tmp = resp_last_response_msg;
-    resp_last_response_msg = pstrdup(p, tmp);
+    ptr = resp_last_response_msg;
+    resp_last_response_msg = pstrdup(p, ptr);
   }
 }
 
@@ -136,7 +141,10 @@ int pr_response_block(int bool) {
 
 void pr_response_clear(pr_response_t **head) {
   reset_last_response();
-  *head = NULL;
+
+  if (head != NULL) {
+    *head = NULL;
+  }
 }
 
 void pr_response_flush(pr_response_t **head) {
@@ -144,6 +152,10 @@ void pr_response_flush(pr_response_t **head) {
   char *last_numeric = NULL;
   pr_response_t *resp = NULL;
 
+  if (head == NULL) {
+    return;
+  }
+
   if (resp_blocked) {
     return;
   }
diff --git a/src/table.c b/src/table.c
index 1a6bb38..0695e86 100644
--- a/src/table.c
+++ b/src/table.c
@@ -1,6 +1,6 @@
 /*
  * ProFTPD - FTP server daemon
- * Copyright (c) 2004-2012 The ProFTPD Project team
+ * Copyright (c) 2004-2016 The ProFTPD Project team
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -22,9 +22,7 @@
  * OpenSSL in the source distribution.
  */
 
-/* Table API implementation
- * $Id: table.c,v 1.32 2012-02-24 01:37:27 castaglia Exp $
- */
+/* Table API implementation */
 
 #include "conf.h"
 
@@ -369,9 +367,7 @@ static unsigned int tab_get_seed(void) {
 #endif /* Not PR_USE_OPENSSL */
 
 #ifdef PR_USE_OPENSSL
-  if (RAND_bytes((unsigned char *) &seed, sizeof(seed)) != 1) {
-    RAND_pseudo_bytes((unsigned char *) &seed, sizeof(seed));
-  }
+  RAND_bytes((unsigned char *) &seed, sizeof(seed));
 #else
   /* Try reading from /dev/urandom, if present */
   fp = fopen("/dev/urandom", "rb");
diff --git a/tests/api/netacl.c b/tests/api/netacl.c
index 89229bf..ef3fb96 100644
--- a/tests/api/netacl.c
+++ b/tests/api/netacl.c
@@ -1,6 +1,6 @@
 /*
  * ProFTPD - FTP server testsuite
- * Copyright (c) 2008-2011 The ProFTPD Project team
+ * Copyright (c) 2008-2016 The ProFTPD Project team
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -530,8 +530,10 @@ START_TEST (netacl_match_test) {
     strerror(errno));
 
   res = pr_netacl_match(acl, addr);
-  fail_unless(res == 1, "Failed to positively match ACL to addr: %s",
-    strerror(errno));
+  if (getenv("TRAVIS_CI") == NULL) {
+    fail_unless(res == 1, "Failed to positively match ACL to addr: %s",
+      strerror(errno));
+  }
 
   if (!have_localdomain) {
     acl_str = pstrdup(p, "!localhost");
@@ -545,8 +547,10 @@ START_TEST (netacl_match_test) {
     strerror(errno));
 
   res = pr_netacl_match(acl, addr);
-  fail_unless(res == -1, "Failed to negatively match ACL to addr: %s",
-    strerror(errno));
+  if (getenv("TRAVIS_CI") == NULL) {
+    fail_unless(res == -1, "Failed to negatively match ACL to addr: %s",
+      strerror(errno));
+  }
 
   if (!have_localdomain) {
     acl_str = pstrdup(p, "loc*st");
@@ -560,8 +564,10 @@ START_TEST (netacl_match_test) {
     strerror(errno));
 
   res = pr_netacl_match(acl, addr);
-  fail_unless(res == 1, "Failed to positively match ACL to addr: %s",
-    strerror(errno));
+  if (getenv("TRAVIS_CI") == NULL) {
+    fail_unless(res == 1, "Failed to positively match ACL to addr: %s",
+      strerror(errno));
+  }
 
   if (!have_localdomain) {
     acl_str = pstrdup(p, "!loc*st");
@@ -575,8 +581,10 @@ START_TEST (netacl_match_test) {
     strerror(errno));
 
   res = pr_netacl_match(acl, addr);
-  fail_unless(res == -1, "Failed to negatively match ACL to addr: %s",
-    strerror(errno));
+  if (getenv("TRAVIS_CI") == NULL) {
+    fail_unless(res == -1, "Failed to negatively match ACL to addr: %s",
+      strerror(errno));
+  }
 }
 END_TEST
 
diff --git a/tests/api/netaddr.c b/tests/api/netaddr.c
index 39e13b6..d3d5c78 100644
--- a/tests/api/netaddr.c
+++ b/tests/api/netaddr.c
@@ -1,6 +1,6 @@
 /*
  * ProFTPD - FTP server testsuite
- * Copyright (c) 2008-2014 The ProFTPD Project team
+ * Copyright (c) 2008-2016 The ProFTPD Project team
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -369,9 +369,11 @@ START_TEST (netaddr_get_dnsstr_test) {
    * return either "localhost" or "localhost.localdomain".  Perhaps even
    * other variations, although these should be the most common.
    */
-  fail_unless(strcmp(res, "localhost") == 0 ||
-              strcmp(res, "localhost.localdomain") == 0,
-    "Expected '%s', got '%s'", "localhost or localhost.localdomain", res);
+  if (getenv("TRAVIS_CI") == NULL) {
+    fail_unless(strcmp(res, "localhost") == 0 ||
+                strcmp(res, "localhost.localdomain") == 0,
+      "Expected '%s', got '%s'", "localhost or localhost.localdomain", res);
+  }
 }
 END_TEST
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-proftpd/proftpd-dfsg.git



More information about the Pkg-proftpd-maintainers mailing list