dwww Home | Show directory contents | Find package

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

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

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

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

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

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

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

        * NEWS: Update NEWS with release date.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        * contrib/mod_wrap.c: Address compiler warnings.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        * .gitignore: Ignoring a few more symlinks.

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

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

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

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

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

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

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

        * contrib/mod_sql.c: Quell compiler warning.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        * contrib/mod_tls.c: Fix compiler warning.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        * README.md: Add a few more badges.

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

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

2015-09-29  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #158 from proftpd/exec-max-fd-count Limit the maximum number of fds closed by mod_exec when executing an
        …

2015-09-28  TJ Saunders <tj@castaglia.org>

        * src/configdb.c, tests/api/configdb.c: Tickling a few more branches
        in the Config API.

2015-09-28  TJ Saunders <tj@castaglia.org>

        * src/fsio.c, src/inet.c, tests/api/inet.c: Removing unneeded code
        paths.  Covering more of the Inet API with more testing.

2015-09-28  TJ Saunders <tj@castaglia.org>

        * tests/api/fsio.c: Cover more of the pr_fsio_access() code paths.

2015-09-28  TJ Saunders <tj@castaglia.org>

        * src/netaddr.c, tests/api/netaddr.c: Flesh out the remaining
        Netaddr API unit tests.

2015-09-28  TJ Saunders <tj@castaglia.org>

        * tests/api/netaddr.c: Cover the pr_netaddr_v6tov4() function in the
        tests, too.

2015-09-28  TJ Saunders <tj@castaglia.org>

        * tests/api/inet.c: Try covering more error paths in the Inet API.

2015-09-28  TJ Saunders <tj@castaglia.org>

        * src/fsio.c, tests/api/fsio.c: Trying to get coverage of the FSIO
        API higher.

2015-09-27  TJ Saunders <tj@castaglia.org>

        * contrib/mod_exec.c: Limit the maximum number of fds closed by
        mod_exec when executing an external program, regardless of the
        platform.

2015-09-27  TJ Saunders <tj@castaglia.org>

        * tests/api/fsio.c: Easy addition for covering of the --enable-devel
        FSIO API.

2015-09-27  TJ Saunders <tj@castaglia.org>

        * src/configdb.c, tests/api/configdb.c: Covering more of the Config
        API.

2015-09-27  TJ Saunders <tj@castaglia.org>

        * src/fsio.c, tests/api/fsio.c: Covering more of the FSIO API.

2015-09-26  TJ Saunders <tj@castaglia.org>

        * src/regexp.c, tests/api/regexp.c: Increase coverage of POSIX regex
        handling in the Regexp API.

2015-09-26  TJ Saunders <tj@castaglia.org>

        * tests/api/configdb.c: Cover a little more of the Config API.

2015-09-26  TJ Saunders <tj@castaglia.org>

        * src/auth.c, tests/api/auth.c: Testing the handling of -1 UID/GIDs
        turned up a small bug, where the Auth API was not setting errno
        appropriately.

2015-09-26  TJ Saunders <tj@castaglia.org>

        * tests/api/fsio.c: Test the cases where multiple FSes are
        inserted/removed.

2015-09-26  TJ Saunders <tj@castaglia.org>

        * tests/api/fsio.c: Cover more of the FSIO API, too.

2015-09-26  TJ Saunders <tj@castaglia.org>

        * tests/api/trace.c: Make sure we test the handling of the "DEFAULT"
        trace channel, too.

2015-09-26  TJ Saunders <tj@castaglia.org>

        * src/trace.c: If the channel name is null, then it cannot be
        removed from the trace table of channels, can it?

2015-09-26  TJ Saunders <tj@castaglia.org>

        * src/trace.c, tests/api/stubs.c, tests/api/trace.c: Tickle a few
        more code paths in the Trace API.

2015-09-26  TJ Saunders <tj@castaglia.org>

        * src/log.c: Be more paranoid about handling of possible directories
        as log files, including the "/" case.

2015-09-26  TJ Saunders <tj@castaglia.org>

        * tests/api/trace.c: More Trace test coverage.

2015-09-26  TJ Saunders <tj@castaglia.org>

        * tests/api/data.c: Fix unit test broken in travis-ci environment.

2015-09-26  TJ Saunders <tj@castaglia.org>

        * include/data.h, src/data.c, tests/api/data.c: Attempt to write
        tests for pr_data_sendfile(), covering more of its code paths.

2015-09-26  TJ Saunders <tj@castaglia.org>

        * src/netio.c, tests/api/event.c, tests/api/netio.c: Finish
        implementing the NetIO unit tests.

2015-09-25  TJ Saunders <tj@castaglia.org>

        * tests/api/event.c: One more tweak for the Event API unit test
        coverage.

2015-09-25  TJ Saunders <tj@castaglia.org>

        * tests/api/event.c: More coverage of the Event API code paths.

2015-09-25  TJ Saunders <tj@castaglia.org>

        * tests/api/auth.c: Fix unit test failing in travis-ci environment.

2015-09-25  TJ Saunders <tj@castaglia.org>

        * config.h.in, configure, configure.in, include/fsio.h, src/fsio.c,
        tests/api/fsio.c: Finish fleshing out the FSIO API unit tests.  This
        required adding a new pr_fsio_fsync() function (and its own test),
        for flushing data to disk for subsequent reading.

2015-09-25  TJ Saunders <tj@castaglia.org>

        * src/fsio.c, tests/api/fsio.c: More coverage for the FSIO API,
        please.

2015-09-25  TJ Saunders <tj@kiban.io>

        * tests/api/fsio.c, tests/api/trace.c: Quell compiler warnings, fix
        unit test failing in travis-ci environment.

2015-09-25  TJ Saunders <tj@kiban.io>

        * tests/api/fsio.c: Fix failing unit test.

2015-09-25  TJ Saunders <tj@kiban.io>

        * src/fsio.c, tests/api/fsio.c: Adding coverage for more functions
        in the FSIO API; still more to be done here.

2015-09-24  TJ Saunders <tj@kiban.io>

        * tests/api/parser.c: When testing the function for parsing files,
        load enough of a module's directive handling to test those paths,
        too.

2015-09-24  Castaglian <tj@kiban.io>

        * src/configdb.c, tests/api/configdb.c, tests/api/regexp.c: More
        test coverage, served up hot.

2015-09-24  Castaglian <tj@kiban.io>

        * src/parser.c, src/trace.c, tests/api/parser.c, tests/api/trace.c: 
        Fix some of the Parser API tests, and try to cover more of the Trace
        API.

2015-09-24  Castaglian <tj@kiban.io>

        * tests/api/netaddr.c: Use 'www.google.com' as a well-known DNS name
        that has multiple IP addresses.

2015-09-24  Castaglian <tj@kiban.io>

        * src/parser.c, tests/api/netaddr.c, tests/api/parser.c: Filling in
        more unit tests here and there, tickling more code paths, extending
        coverage.

2015-09-24  Castaglian <tj@kiban.io>

        * tests/api/auth.c: Fix tests on travis-ci.

2015-09-24  Castaglian <tj@kiban.io>

        * include/modules.h, src/main.c, src/modules.c, tests/api/modules.c: 
        Testing more of the Modules API.

2015-09-24  Castaglian <tj@kiban.io>

        * src/auth.c, tests/api/auth.c: More unit testing of the Auth API.
        Fixed one bug with the handling of the FL_AUTH_MODULE caching flag
        (yay unit tests!).

2015-09-24  Castaglian <tj@kiban.io>

        * src/pool.c, tests/api/parser.c, tests/api/pool.c: Extend test
        coverage of the Pool API.

2015-09-24  Castaglian <tj@kiban.io>

        * include/parser.h, modules/mod_auth_unix.c, modules/mod_core.c,
        src/main.c, src/parser.c, tests/api/parser.c: Fixing up compiler
        warnings.  Fixed the API for parsing a single line of text so that
        it is actually _useful_ for callers outside of
        pr_parser_parse_file().  Added more unit tests for parsing.

2015-09-24  Castaglian <tj@kiban.io>

        * src/auth.c, tests/api/auth.c: Extend test coverage of the Auth
        API.

2015-09-24  TJ Saunders <tj@castaglia.org>

        * tests/api/fsio.c: Properly test the eviction of expired
        fs.statcache entries.

2015-09-24  TJ Saunders <tj@castaglia.org>

        * src/fsio.c, tests/api/fsio.c, tests/api/tests.c: And yet more unit
        tests for the FSIO API.

2015-09-23  TJ Saunders <tj@castaglia.org>

        * tests/Makefile.in, tests/api/privs.c, tests/api/tests.c,
        tests/api/tests.h: Start working on unit tests for the Privs API
        directly.

2015-09-23  TJ Saunders <tj@castaglia.org>

        * tests/api/regexp.c: Flesh out more of the Regexp API unit tests.

2015-09-23  Castaglian <tj@kiban.io>

        * tests/api/data.c: The travis-ci environment yields slightly
        different (but still OK) errno values.

2015-09-23  Castaglian <tj@kiban.io>

        * include/configdb.h, src/data.c, tests/api/data.c,
        tests/api/stubs.c: Add some NULL checks, for e.g. unit tests.  Flesh
        out more Data API unit tests.

2015-09-22  TJ Saunders <tj@kiban.io>

        * src/data.c, tests/api/data.c: Start working on unit tests for the
        Data API.

2015-09-22  TJ Saunders <tj@kiban.io>

        * README.md, tests/api/fsio.c: Tweak README.  Fix unit test failing
        only in travis-ci.

2015-09-22  TJ Saunders <tj@kiban.io>

        * src/fsio.c, tests/api/fsio.c: Fleshing out more FSIO tests; more
        to come.

2015-09-22  TJ Saunders <tj@kiban.io>

        * tests/api/str.c: Fix failing test on this Yosemite MacOSX machine,
        due to not NUL-terminating the source buffer in a sstrcat test.

2015-09-22  TJ Saunders <tj@kiban.io>

        * src/pool.c: Quell compiler warnings about pointer
        arithmetic/casts; first seen on this version of Mac OSX (Yosemite).

2015-09-21  TJ Saunders <tj@castaglia.org>

        * README.md: Minor tweaks to README; no functional changes.

2015-09-21  TJ Saunders <tj@castaglia.org>

        * .travis.yml: Fix typo in travis-ci config file.

2015-09-21  TJ Saunders <tj@castaglia.org>

        * .travis.yml, src/inet.c, tests/api/configdb.c, tests/api/inet.c: 
        Let's see/hope that these additions get us over the 50% mark for
        test coverage.

2015-09-20  TJ Saunders <tj@castaglia.org>

        * src/parser.c, src/scoreboard.c, tests/api/cmd.c,
        tests/api/event.c, tests/api/parser.c, tests/api/scoreboard.c,
        tests/api/trace.c: Working toward getting at least 50% unit test
        coverage.

2015-09-20  TJ Saunders <tj@castaglia.org>

        * src/netio.c, tests/api/netio.c, tests/api/timers.c: More unit
        tests, Cooky!

2015-09-20  TJ Saunders <tj@castaglia.org>

        * modules/mod_lang.c, tests/Makefile.in, tests/api/configdb.c,
        tests/api/encode.c, tests/api/parser.c, tests/api/tests.c,
        tests/api/tests.h: Adding more unit tests to increase the test
        coverage.

2015-09-20  TJ Saunders <tj@castaglia.org>

        * src/netio.c, tests/api/netio.c, tests/api/response.c: More work on
        the unit tests, trying to expand on the test coverage.  Doing so
        found a few small bugs in the NetIO code.  Yay Coveralls!

2015-09-20  TJ Saunders <tj@castaglia.org>

        * README.md: Add a badge for the Coveralls coverage status.

2015-09-20  TJ Saunders <tj@castaglia.org>

        * .travis.yml: Let's see how Coveralls does for us, shall we?

2015-09-20  TJ Saunders <tj@castaglia.org>

        * configure, configure.in: Support a 'coverage' option for the
        --enable-devel compile-time option, for enabling test coverage
        generation/reporting.

2015-09-11  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #154 from proftpd/ldap-libldap-tracing Enable more tracing of mod_ldap's operations by hooking into the
        LDAP…

2015-08-30  tjsaunders <tj@lyveminds.com>

        * doc/license.txt: Update license header years.

2015-08-30  tjsaunders <tj@lyveminds.com>

        * doc/contrib/mod_ldap.html: Update the mod_ldap docs to actually
        match the code now, folding in the changes mentioned in README.LDAP.

2015-08-30  tjsaunders <tj@lyveminds.com>

        * contrib/mod_ldap.c: Make this directive handler name match the
        directive name, for consistency.

2015-08-26  tjsaunders <tj@lyveminds.com>

        * NEWS: Update NEWS for fix for Bug#4202.

2015-08-26  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #152 from proftpd/facts-mlsd-crlf-bug4202 Bug#4202 - MLSD lines not properly terminated with CRLF.

2015-08-26  tjsaunders <tj@lyveminds.com>

        * : commit 62a4e24dcc37204168896ea35f379a1c0b952ff0 Author:
        tjsaunders <tj@lyveminds.com> Date:   Thu Aug 20 13:59:55 2015 -0700

2015-08-20  tjsaunders <tj@lyveminds.com>

        * modules/mod_xfer.c: There are a few conditions under which we
        don't really need to log about failing to set the corking socket
        option.

2015-08-18  tjsaunders <tj@lyveminds.com>

        * NEWS: Update NEWS with mention of fix for Bug#4201.

2015-08-18  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #150 from
        proftpd/sftp-scp-hiddenstores-cleanup-bug4201 Bug#4201 - HiddenStores temporary files not removed when exceeding
        qu…

2015-08-17  tjsaunders <tj@lyveminds.com>

        * contrib/mod_dnsbl/configure, contrib/mod_dnsbl/configure.in,
        contrib/mod_load/configure, contrib/mod_load/configure.in,
        contrib/mod_sftp/configure, contrib/mod_sftp/configure.in,
        contrib/mod_snmp/configure, contrib/mod_snmp/configure.in,
        contrib/mod_wrap2/configure, contrib/mod_wrap2/configure.in: Reorder
        the header/function checks in the module configure scripts, so that
        they happen after processing --with-includes and --with-libraries
        command-line options.  While this doesn't fix any current issue, it
        does set a better example for future modules; this was a problem for
        the e.g. mod_proxy configure script.

2015-08-16  tjsaunders <tj@lyveminds.com>

        * .gitattributes: Add manual overrides, to stop mis-representing the
        language used for ProFTPD and its modules.

2015-08-16  tjsaunders <tj@lyveminds.com>

        * src/main.c: Add note to future self, about handling DisplayConnect
        properly for denied connections.

2015-08-16  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #151 from proftpd/extlog-speedup ExtendedLog speedup by avoiding redundant strlen(3) calls

2015-08-16  tjsaunders <tj@lyveminds.com>

        * lib/sstrncpy.c, modules/mod_log.c,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Speed up
        ExtendedLog writing by removing redundant strlen(3) calls on the
        logged string, and instead simply tracking the return values from
        snprintf et al.  Note that to do this, the sstrncpy() semantics needed to be
        consistent, which means NOT using strcpy(3); we want sstrncpy() to
        return the number of bytes actually copied, not what WOULD have been
        copied.

2015-08-16  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c, modules/mod_log.c,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fixed some
        regressions with handling of the DELE command's argument, and with
        mod_tls tagging the PASS command as a SEC logging class (when it
        should not).

2015-08-16  tjsaunders <tj@lyveminds.com>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Checking in
        regression test for Bug#4199.

2015-08-15  tjsaunders <tj@lyveminds.com>

        * configure, configure.in: Update the -pthread/OpenSSL check, to
        catch regressions of Bug#3975 on e.g FreeBSD platforms, where the
        `openssl version` command doesn't emit the expected flags.

2015-08-15  tjsaunders <tj@lyveminds.com>

        * : commit 006b1f73db9421ca653c5b545765ee6b6893ff6d Author:
        tjsaunders <tj@lyveminds.com> Date:   Sat Aug 15 12:40:35 2015 -0700

2015-08-15  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/scp.c: Make sure that we delete the HiddenStores
        file on SCP upload when either write(2) or close(2) fails; we were
        handling close(2) failures, but not write(2) failures properly.

2015-08-15  tjsaunders <tj@lyveminds.com>

        * : commit d99edbb036cba1269352e66f6c89b26c502b58dd Author:
        tjsaunders <tj@lyveminds.com> Date:   Fri Aug 14 10:47:04 2015 -0700

2015-08-13  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/interop.c, contrib/mod_sftp/interop.h,
        contrib/mod_sftp/mod_sftp.c: Fix regression for SSH2 logins,
        introduced by the changes for handling the optional 'comments' field
        in the initial version exchange.  The initial version (exactly as
        sent) need to be used in the session ID/hash; the previous changes
        were trimming off the optional comment field, thus causing server
        and client to calculate different session IDs.

2015-08-13  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/scp.c: Bug#4201 - HiddenStores temporary files
        not removed when exceeding quota using SCP.  Make sure to clean up the HiddenStores temporary file when there was
        an error, either when writing OR when closing the HiddenStores file
        (as when quota is exceeded).

2015-08-13  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/kex.c: Remove some unnecessary casts; fix a minor
        memory leak on error conditions.

2015-08-12  tjsaunders <tj@lyveminds.com>

        * src/main.c, src/signals.c: Clear out the EINTR errno value in a
        few more places.

2015-08-12  tjsaunders <tj@lyveminds.com>

        * src/main.c: Make sure to clear out any cached errno, too.

2015-08-12  tjsaunders <tj@lyveminds.com>

        * modules/mod_facts.c, tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: 
        Checkpointing work on investigating a possible regression with
        regard to MLSD line formatting, i.e.  missing proper CRLF
        terminations.

2015-08-12  tjsaunders <tj@lyveminds.com>

        * src/main.c: Make sure to clear any possibly-cached errno value in
        the main select() loop.

2015-08-10  tjsaunders <tj@lyveminds.com>

        * src/timers.c: Style nit; no functional change.

2015-08-10  tjsaunders <tj@lyveminds.com>

        * src/trace.c, tests/api/trace.c: Some tweaks to the Trace API,
        trying to reduce redundancy.

2015-08-10  tjsaunders <tj@lyveminds.com>

        * src/parser.c, tests/api/etc/str/utf8-space.txt, tests/api/str.c: 
        If we fail to parse some configuration directives, check for any
        non-ASCII characters in the directive name.  This recently tripped
        me up with diagnosing a broken system; now check for, and log, such
        things.

2015-08-10  tjsaunders <tj@lyveminds.com>

        * tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Update integration
        test, broken by change for Bug#3990.

2015-08-10  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #149 from proftpd/core-ptr-cast Address some pointer cast alignment issues by defining the
        cmd_rec.ar…

2015-08-10  tjsaunders <tj@lyveminds.com>

        * modules/mod_cap.c: See what happens when you change your mind
        about variable names partway through? Sigh.

2015-08-10  tjsaunders <tj@lyveminds.com>

        * modules/mod_core.c: Quell a few more compiler warnings about
        pointer casts.

2015-08-10  tjsaunders <tj@lyveminds.com>

        * lib/tpl.c: Remove unused variables.

2015-08-10  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sql_passwd.c, modules/mod_cap.c: Fixing some build
        issues/warnings.

2015-08-10  tjsaunders <tj@lyveminds.com>

        * src/main.c: Quell another compiler warning about pointer casts.

2015-08-10  tjsaunders <tj@lyveminds.com>

        * contrib/mod_copy.c, contrib/mod_deflate.c, contrib/mod_exec.c,
        contrib/mod_ifsession.c, contrib/mod_ifversion.c,
        contrib/mod_ldap.c, contrib/mod_log_forensic.c,
        contrib/mod_quotatab.c, contrib/mod_quotatab_sql.c,
        contrib/mod_radius.c, contrib/mod_readme.c, contrib/mod_rewrite.c,
        contrib/mod_sftp/auth-hostbased.c, contrib/mod_sftp/auth-kbdint.c,
        contrib/mod_sftp/auth-password.c,
        contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
        contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_sftp/scp.c, contrib/mod_sftp_sql.c,
        contrib/mod_shaper.c, contrib/mod_site_misc.c,
        contrib/mod_snmp/mod_snmp.c, contrib/mod_sql.c, contrib/mod_tls.c,
        contrib/mod_wrap2/mod_wrap2.c, contrib/mod_wrap2_sql.c,
        include/dirtree.h, include/proftpd.h, lib/json.c,
        modules/mod_auth.c, modules/mod_auth_file.c,
        modules/mod_auth_pam.c, modules/mod_core.c, modules/mod_ctrls.c,
        modules/mod_dso.c, modules/mod_facts.c, modules/mod_log.c,
        modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c,
        src/cmd.c, src/data.c, src/dirtree.c, src/main.c, src/parser.c,
        tests/t/lib/ProFTPD/Tests/Config/Order.pm: Address some pointer cast
        alignment issues by defining the cmd_rec.argv member to be "void
        **", rather than "char **".  Void pointers are guaranteed to be
        large enough to hold pointers to anything, where as char pointers
        are not.  And we sometimes stash non-char data in the cmd_rec.argv
        area.  This looks like a fair amount of code churn; mostly it's addressing
        compiler warnings by providing explicit casts to char * in most
        places (e.g. logging) where the variadic function cannot easily tell
        the type.

2015-08-09  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/kex.c: For some reason, the ordering in which the
        logging of the NEWKEYS command makes a difference.  I suspect it's
        the order/amount of memory read out of the pool.  By logging NEWKEYS
        after setting the session keys, some rather strange behaviors are
        alleviated.

2015-08-09  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/auth.c: Fix possible segfault (due to null
        pointer) when the SSH2 authentication method succeeds, but
        subsequent login fails.

2015-08-08  TJ Saunders <tj@castaglia.org>

        * tests/api/str.c: Slightly better demonstration of
        pr_str_get_word()'s handling of quoted strings.

2015-08-08  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #148 from proftpd/tls-shutdown-buffering When shutting down the TLS session, we need to send a 'close_notify'
        …

2015-08-07  tjsaunders <tj@lyveminds.com>

        * NEWS: Update NEWS for fix for Bug#4198.

2015-08-07  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #147 from proftpd/facts-cdir-bug4198 Bug#4198 - MLSD/MLST fact type "cdir" is incorrectly used for the
        current working directory.

2015-08-06  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c, doc/contrib/mod_tls.html: Provide an
        environment variable for the requested SNI, if present.

2015-08-06  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c, doc/contrib/mod_tls.html: Provide an
        environment variable for the requested SNI, if present.

2015-08-06  tjsaunders <tj@lyveminds.com>

        * tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Checking in the
        accompanying regression tests for Bug#4198.

2015-08-06  tjsaunders <tj@lyveminds.com>

        * modules/mod_facts.c: Bug#4198 - MLSD/MLST fact type "cdir" is
        incorrectly used for the current working directory.

2015-08-05  tjsaunders <tj@lyveminds.com>

        * modules/mod_xfer.c: Better handling of errno values when adjusting
        process priorities.

2015-08-05  tjsaunders <tj@lyveminds.com>

        * tests/api/rlimit.c: Missed a couple of RLimit test cases needing
        the conditional check.

2015-08-05  tjsaunders <tj@lyveminds.com>

        * contrib/mod_rewrite.c, contrib/mod_wrap2_file.c,
        contrib/mod_wrap2_sql.c: Quell more compiler warnings about shadowed
        global variables.

2015-08-05  tjsaunders <tj@lyveminds.com>

        * tests/api/filter.c: Add some additional assertions to quell
        compiler warnings about unused variables (and make the tests
        better).

2015-08-05  tjsaunders <tj@lyveminds.com>

        * tests/api/rlimit.c: Fixing up platform-sensitive tests for e.g.
        travis-ci builds.

2015-08-05  tjsaunders <tj@lyveminds.com>

        * tests/api/netio.c: Removing unused variable.

2015-08-05  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sql_postgres.c: Quell compiler warning about shadowed
        global variable; stylistic nits.  No functional change.

2015-08-05  tjsaunders <tj@lyveminds.com>

        * contrib/mod_deflate.c: Forgot to update mod_deflate for the
        changed NetIO API signature change.

2015-08-05  tjsaunders <tj@lyveminds.com>

        * src/scoreboard.c: Quell compiler warning about unreached function
        call.

2015-08-05  tjsaunders <tj@lyveminds.com>

        * tests/Makefile.in, tests/api/env.c, tests/api/help.c,
        tests/api/rlimit.c, tests/api/tests.c, tests/api/tests.h: Adding API
        tests for the RLimit API.  Adding forgotten Help API tests.

2015-08-05  tjsaunders <tj@lyveminds.com>

        * src/help.c: Fix the terminating condition for adding help items;
        the previous end-of-loop condition was too fragile, and not
        accurate.

2015-08-05  tjsaunders <tj@lyveminds.com>

        * src/help.c, src/response.c, tests/Makefile.in,
        tests/api/response.c, tests/api/tests.c, tests/api/tests.h: Added
        some tests for the Help API, which sussed out a few very minor
        issues.

2015-08-04  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: Fix a few nits in the PSK handling; no
        functional change.

2015-08-04  tjsaunders <tj@lyveminds.com>

        * src/dirtree.c: When checking limits, make sure that we actually
        have an authenticated user/ group before checking for
        per-user/per-group limits.  With modules such as mod_proxy, this may
        not always be true.

2015-08-03  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/mod_sftp.c: Make the ban messages emitted to SSH2
        clients a little more descriptive.

2015-08-03  tjsaunders <tj@lyveminds.com>

        * src/log.c: If the DebugLevel directive is used to set the debug
        level to anything higher than 0, then automatically assume that the
        SyslogLevel is DEBUG, not NOTICE.  This helps in debugging
        configurations.

2015-08-03  tjsaunders <tj@lyveminds.com>

        * src/trace.c: Turns out that the trace logging code needs the same
        over-long log line handling fixes as the main logging code.

2015-08-03  tjsaunders <tj@lyveminds.com>

        * src/log.c: Better handling of over-long log lines.

2015-08-03  tjsaunders <tj@lyveminds.com>

        * src/log.c: Increase (and fix the handling of) the max log line
        length.

2015-08-03  tjsaunders <tj@lyveminds.com>

        * doc/contrib/mod_tls.html: Some minor updates to the mod_tls docs.

2015-08-02  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: When cleaning up OpenSSL-related code, mod_tls
        needs to know that mod_proxy also uses OpenSSL (and thus should skip
        cleanup if that module is in use).

2015-07-31  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: Fix logging of selected ALPN.

2015-07-30  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c, include/netio.h, src/netio.c: Allow modules
        registering NetIO objects to customise the registered NetIO owner
        name, if they wish.

2015-07-28  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: Fixed a few nits in the cert-checking routine.

2015-07-28  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: We retrieved the data connection SSL object too
        early.

2015-07-28  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: Fix some timing-related trace logging.

2015-07-28  tjsaunders <tj@lyveminds.com>

        * doc/contrib/mod_tls.html: Mention, in the TLSSessionCache
        description, that mod_tls aggressively prunes its session cache of
        expired sessions by flushing the cache on each session exit.

2015-07-28  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: Handle the edge cases where TLS read/write
        returns negative values; we don't want that to artificially affect
        the total raw IO values.

2015-07-28  tjsaunders <tj@lyveminds.com>

        * NEWS: Update NEWS with fix for Bug#4097.

2015-07-28  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #45 from
        proftpd/sftp-small-rsa-hostkey-rekeying-bug4097 Bug#4097 -  SSH rekey fails when using RSA hostkey smaller than 2048
        bits.

2015-07-27  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #145 from proftpd/ascii-oob-read-bug4195 Bug#4195 - Handle empty string inputs into ASCII CRLF translation
        rou…

2015-07-26  tjsaunders <tj@lyveminds.com>

        * src/ascii.c: Bug#4195 - Handle empty string inputs into ASCII CRLF
        translation routine.

2015-07-25  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #144 from
        proftpd/fsio-dircat-oob-read-bug4194 Bug#4194: Add more checks for empty paths in pr_fs_dircat().

2015-07-25  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: Fix broken build by including the necessary
        OpenSSL header.

2015-07-25  tjsaunders <tj@lyveminds.com>

        * src/fsio.c, tests/api/fsio.c: If either of the arguments to
        pr_fs_dircat() are empty strings, be consistent and append a "/"
        character, just as is done when BOTH arguments are empty strings.

2015-07-25  tjsaunders <tj@lyveminds.com>

        * src/fsio.c, tests/api/fsio.c: Bug#4194: Add more checks for empty
        paths in pr_fs_dircat().

2015-07-25  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: Better handling, when logging OpenSSL
        diagnostics, of the protocol record callbacks.

2015-07-25  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #143 from proftpd/tests-oob-read-bug4193 Bug#4193 - Out of bounds read in tests/api/str.c.

2015-07-25  tjsaunders <tj@lyveminds.com>

        * tests/api/ascii.c: Fix previous stupidity.

2015-07-25  tjsaunders <tj@lyveminds.com>

        * tests/api/ascii.c, tests/api/cmd.c: Quell some compiler warnings
        in the unit tests, spotted while still trying to figure out why
        travis-ci tests are failing (but they pass locally).

2015-07-25  tjsaunders <tj@lyveminds.com>

        * tests/api/ascii.c: Triaging a failing unit test in travis-ci.

2015-07-25  tjsaunders <tj@lyveminds.com>

        * tests/api/str.c: Bug#4193 - Out of bounds read in tests/api/str.c.

2015-07-25  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: Tweaking/polishing the OpenSSL msg/info
        callbacks.

2015-07-25  tjsaunders <tj@lyveminds.com>

        * doc/contrib/mod_ban.html: Remove duplicate/extraneous slash in
        example config.

2015-07-25  tjsaunders <tj@lyveminds.com>

        * doc/contrib/mod_ban.html: Minor tweak.

2015-07-24  tjsaunders <tj@lyveminds.com>

        * : commit 4776466b62889dee9a67171c6dbd317822191595 Author:
        tjsaunders <tj@lyveminds.com> Date:   Fri Jul 24 13:41:12 2015 -0700

2015-07-24  tjsaunders <tj@lyveminds.com>

        * modules/mod_log.c: Require a non-zero length LogFormat name.

2015-07-24  tjsaunders <tj@lyveminds.com>

        * modules/mod_log.c: Slightly better handling of using the default
        LogFormat, without necessarily blocking configs that want to
        use/override the "default" nickname themselves.

2015-07-24  tjsaunders <tj@lyveminds.com>

        * modules/mod_log.c: Fix the registration of the "default"
        LogFormat.

2015-07-24  tjsaunders <tj@lyveminds.com>

        * doc/howto/TLS.html: Adding TLS FAQ, from forums, about
        TLSVerifyDepth.

2015-07-23  tjsaunders <tj@lyveminds.com>

        * modules/mod_core.c: Better string handling, to make localization
        easier.

2015-07-23  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: Fix the handling of OpenSSL's
        SSL_SESS_CACHE_OFF value (which is 0x0, and thus not usable for the
        bit-checking mod_tls was doing).  Enhance the trace logging around TLS handshaking.

2015-07-23  tjsaunders <tj@lyveminds.com>

        * src/inet.c: Be a little more paranoid in pr_inet_close(), and only
        try to destroy a non-NULL pool pointer.  (Although destroy_pool()
        does a NULL check, so this is more for clarity than anything else.)

2015-07-22  tjsaunders <tj@lyveminds.com>

        * include/netio.h, src/netio.c: Include the direction/mode of the
        stream in the NetIO trace messages.

2015-07-22  tjsaunders <tj@lyveminds.com>

        * modules/mod_core.c: Tweaks to the handling of HOST commands in
        relation to FTPS.  Stylistic nits.

2015-07-22  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c, include/cmd.h, src/cmd.c: Add missing
        PR_CMD_HOST_ID value, and use it in e.g. mod_tls, to allow the HOST
        command before AUTH is used.

2015-07-22  tjsaunders <tj@lyveminds.com>

        * src/netio.c: Add trace logging of which custom (or not) NetIO is
        being used for the network operations.

2015-07-21  tjsaunders <tj@lyveminds.com>

        * src/pool.c: Allow unregistering of any/all cleanups by handling a
        NULL callback value.

2015-07-21  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: Quell some compiler warnings, and propagate
        errno appropriately in some cases.

2015-07-20  tjsaunders <tj@lyveminds.com>

        * src/response.c: Add some trace logging for when the Response API
        is blocked, for debugging.

2015-07-20  tjsaunders <tj@lyveminds.com>

        * include/pool.h, src/pool.c, tests/api/array.c: Create an
        array_cat2() function which provides a nice return value;
        array_cat() then just becomes a void wrapper around array_cat2().

2015-07-19  TJ Saunders <tj@castaglia.org>

        * src/netaddr.c: If the caller wants to know all of the addresses
        resolved via pr_netaddr_get_addr(), then actually walk all of the
        struct addrinfo values provided by getaddrinfo(3) and provision the
        caller-provided list.

2015-07-19  TJ Saunders <tj@castaglia.org>

        * src/table.c: Stylistic nits; no functional changes.

2015-07-19  TJ Saunders <tj@castaglia.org>

        * doc/contrib/mod_sftp.html: Minor tweaks/updates to the mod_sftp
        docs.

2015-07-18  TJ Saunders <tj@castaglia.org>

        * doc/modules/mod_core.html: Typos.

2015-07-18  TJ Saunders <tj@castaglia.org>

        * doc/contrib/mod_snmp.html: Update the mod_snmp docs as to where
        the most recent code for mod_snmp can be found.

2015-07-18  TJ Saunders <tj@castaglia.org>

        * include/netaddr.h, src/ftpdctl.c, src/netaddr.c,
        tests/api/netaddr.c: Add new Netaddr API functions for clearing
        specific cached IP addresses, DNS names, as opposed to entire
        caches.

2015-07-17  tjsaunders <tj@lyveminds.com>

        * doc/modules/mod_auth_unix.html: Add mod_auth_unix FAQ about
        `passwd -d' and password-less logins.

2015-07-17  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/mod_sftp.c: Style nit; no functional change.

2015-07-17  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/kex.c: Add some trace logging into the function
        which determines the DH size to request, for debugging.

2015-07-17  tjsaunders <tj@lyveminds.com>

        * : commit aabf243ce6b52e6817509922d4889dd7e6cd63d4 Author:
        tjsaunders <tj@lyveminds.com> Date:   Fri Jul 17 10:36:08 2015 -0700

2015-07-17  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #142 from proftpd/mysql-utf8-bug4191 Bug#4191 - Use "utf8mb4" for MySQL, not just "utf8", if the version
        of

2015-07-16  tjsaunders <tj@lyveminds.com>

        * include/log.h, include/options.h, src/xferlog.c: Make the default
        mode for the TransferLog be a PR_TUNABLE option.

2015-07-15  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sql_mysql.c: Bug#4191 - Use "utf8mb4" for MySQL, not
        just "utf8", if the version of MySQL is new enough, for UTF8
        encodings.

2015-07-11  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/crypto.c, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_sftp/mod_sftp.h.in, contrib/mod_tls.c: I was going to
        provide configuration directives, for mod_tls and mod_sftp, to
        configure the path to the OpenSSL .cnf file that should be used.
        Due to the initialization timing, though, this is a path to do via
        configuration directives.  Instead, I will simply document the use
        of the SetEnv directive, and setting the OPENSSL_CONF environment
        variable, in conjunction with adding calls to OPENSSL_config(3) in
        these respective modules.

2015-07-09  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/crypto.c, contrib/mod_tls.c: Use the OpenSSL
        config file; it's probably used by the configured ENGINE.

2015-07-07  TJ Saunders <tj@castaglia.org>

        * configure, configure.in: Adding a few more compiler warnings, when
        --enable-devel is used.

2015-07-07  TJ Saunders <tj@castaglia.org>

        * modules/mod_auth_pam.c: Finally clean up compiler warnings which
        had been bugging me for quite a while.

2015-07-07  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/fxp.c: Quell some compiler warnings.

2015-07-07  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/kex.c: When computing the size of the DH needed,
        we also need to pay attention to the negotiated cipher block sizes,
        not just the cipher key lengths.

2015-07-07  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/kex.c: Remove now-unused macro value.

2015-07-07  TJ Saunders <tj@castaglia.org>

        * doc/contrib/mod_sftp_sql.html: Remove now-unused keywords.

2015-07-07  TJ Saunders <tj@castaglia.org>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Minor tweaks
        when testing out some use cases.

2015-07-07  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/keystore.c: Fix the trace log message when
        handling SFTPAuthorizedUserKeys to properly include the store type.

2015-07-07  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
        contrib/mod_sftp/service.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: When constructing the
        cmd_recs, do it properly, so that ExtendedLog entries, e.g. for the
        %r variable, log the request properly.  The cmd_recs allocated did
        not set the correct cmd_rec.argc value.

2015-07-07  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp_sql.c: Remove extraneous (and misleading) trace
        logging.

2015-07-02  TJ Saunders <tj@castaglia.org>

        * src/dirtree.c: Found a place where we should have been using
        "_bind_", not just "_bind".

2015-07-01  TJ Saunders <tj@castaglia.org>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: More testsuite help when
        writing out subsections of e.g. <IfModule> config sections.

2015-07-01  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #141 from proftpd/core-class-add-note Add a function for attaching notes to a class, e.g. from a config
        dir…

2015-07-01  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/kex.c: Always make sure we're using this kex's
        pool, not the overall Kex API pool, to prevent memory leaks.

2015-06-30  tjsaunders <tj@lyveminds.com>

        * : commit 98541b4a198b3f49721bd8a7d6d1894e52981623 Author:
        tjsaunders <tj@lyveminds.com> Date:   Tue Jun 30 10:06:54 2015 -0700

2015-06-30  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/mod_sftp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Be more
        defensive/picky about the client version string handling from
        connecting SSH2 clients.

2015-06-29  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/fxp.c: Impose a limit of 512K on the size of a
        single SFTP packet.  For comparison, OpenSSH imposes a 256K limit.

2015-06-29  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/fxp.c: Impose a limit (much higher than ever
        expected) on the number of EXTENDED attributes that we'll read from
        an SFTP client.

2015-06-29  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/fxp.c: Be more consistent about the handling of
        errno values, especially across function calls.

2015-06-29  tjsaunders <tj@lyveminds.com>

        * RELEASE_NOTES: Update release notes to mention SFTP hardlink
        extension support.

2015-06-29  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #140 from proftpd/sftp-hardlink-extension Support the SFTP "hardlink@openssh.com" extension.

2015-06-29  tjsaunders <tj@lyveminds.com>

        * RELEASE_NOTES: Update release notes for LINK_COUNT SFTP STAT
        support.

2015-06-29  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #139 from proftpd/sftp-hardlink-stat-attr Support the SFTP STAT link-count attribute if clients are using a
        new…

2015-06-26  TJ Saunders <tj@castaglia.org>

        * configure, configure.in: More tweaks to the module build summary
        display, to properly display shared modules.

2015-06-26  TJ Saunders <tj@castaglia.org>

        * NEWS, RELEASE_NOTES: Update NEWS, release notes for Bug#4153.

2015-06-26  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #137 from proftpd/sftp-multi-auth-bug4153 Bug#4153 - Support requiring multiple SSH authentication methods

2015-06-26  tjsaunders <tj@lyveminds.com>

        * : commit 250ec7f47628c1eb0b518b1311b709860c78ba0e Author:
        tjsaunders <tj@lyveminds.com> Date:   Fri Jun 26 13:04:34 2015 -0700

2015-06-26  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #138 from
        proftpd/tls-protocol-exclusion-bug4189 Bug#4189 - Support protocol exclusion via TLSProtocol directive.

2015-06-25  tjsaunders <tj@lyveminds.com>

        * : commit d77feab0d434db2273bc16074f75106646a17d90 Author:
        tjsaunders <tj@lyveminds.com> Date:   Thu Jun 25 15:28:11 2015 -0700

2015-06-25  tjsaunders <tj@lyveminds.com>

        * : commit 4372ae9463913ca03ba24b6c15dd590699a5989d Author:
        tjsaunders <tj@lyveminds.com> Date:   Thu Jun 25 15:26:52 2015 -0700

2015-06-25  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/auth.c, contrib/mod_sftp/auth.h,
        contrib/mod_sftp/mod_sftp.c: Guard against auth chains which are
        unsupportable, i.e. chains that have "password" or "hostbased"
        appearing multiple times.

2015-06-25  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/auth-kbdint.c: Just as we require different
        publickey authentications, we now require different
        keyboard-interactive driver authentications in auth chains.

2015-06-24  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/auth.h: Found another place to use auth "chain"
        instead of "list".

2015-06-24  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/auth.c, contrib/mod_sftp/mod_sftp.c: Use "auth
        chain" terminology more consistently throughout the code.

2015-06-24  tjsaunders <tj@lyveminds.com>

        * .gitignore: Ignore a few more file extensions.

2015-06-24  tjsaunders <tj@lyveminds.com>

        * doc/contrib/mod_sftp.html: Update mod_sftp SFTPAuthMethods
        description for new auth chain syntax.

2015-06-24  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/auth-hostbased.c,
        contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
        contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
        contrib/mod_sftp/auth.h, contrib/mod_sftp/mod_sftp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Implemented checking
        of the configured auth chains at startup, to catch chains that use a
        method (e.g. "hostbased") that cannot be supported (e.g.  no
        SFTPAuthorizedHostKeys configured).  Implemented restriction that publickey authentication requests must
        use different keys; duplicate keys will be rejected.  This supports
        authentication chains such as "publickey+publickey".

2015-06-24  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/auth.c, contrib/mod_sftp/auth.h,
        contrib/mod_sftp/mod_sftp.c: Use the term "auth chain" rather than
        "auth list", as "chain" is, in my mind, more accurate.

2015-06-24  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/auth.c: Fix the handling of the next
        authentication methods in the chain.

2015-06-23  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/auth.c, contrib/mod_sftp/mod_sftp.c: Catch
        unknown/unsupported authentication methods properly, and report them
        properly, too.

2015-06-23  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/auth.c: Catch other misconfigurations such as
        double '+' characters in an SFTPAuthMethods list.

2015-06-23  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/auth.c: Fix the check used for detecting trailing
        '+' characters in a SFTPAuthMethods list.

2015-06-23  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/auth.c, contrib/mod_sftp/auth.h,
        contrib/mod_sftp/kbdint.h, contrib/mod_sftp/mod_sftp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Checking in the bulk
        of the work needed for Bug#4153.  There is still a fair amount of
        testing to be done, but the initial tests are looking good.

2015-06-08  TJ Saunders <tj@castaglia.org>

        * doc/modules/mod_auth.html, modules/mod_auth.c, src/regexp.c,
        tests/t/lib/ProFTPD/Tests/Config/AnonRejectPasswords.pm: Make it
        possible to use the AnonRejectPasswords directive to require
        email-like anonymous passwords.

2015-06-08  TJ Saunders <tj@castaglia.org>

        * NEWS: Update NEWS for fix for Bug#4139.

2015-06-08  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #134 from
        proftpd/auth-allow-empty-password-bug4139 Bug#4139 - Support rejecting empty passwords.

2015-06-08  TJ Saunders <tj@castaglia.org>

        * contrib/mod_ban.c, doc/contrib/mod_ban.html: Document the banning
        of hosts using empty passwords.

2015-06-08  TJ Saunders <tj@castaglia.org>

        * RELEASE_NOTES, doc/modules/mod_auth.html, modules/mod_auth.c,
        tests/t/lib/ProFTPD/Tests/Logins.pm: Add integration tests and
        documentation.

2015-06-08  TJ Saunders <tj@castaglia.org>

        * contrib/mod_ban.c, contrib/mod_sftp/auth-password.c,
        modules/mod_auth.c: Bug#4139 - Support rejecting empty passwords.

2015-06-08  TJ Saunders <tj@castaglia.org>

        * NEWS: Updating NEWS for Bug#4151.

2015-06-08  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #132 from
        proftpd/data-ascii-conversion-bug4151 Bug#4151 - FTP ASCII mode conversion algorithm is painfully slow.

2015-06-08  TJ Saunders <tj@castaglia.org>

        * Make.rules.in, include/ascii.h, include/data.h, src/ascii.c,
        src/data.c, tests/Makefile.in, tests/api/ascii.c, tests/api/data.c,
        tests/api/tests.c, tests/api/tests.h,
        tests/t/lib/ProFTPD/Tests/Commands/STOR.pm, utils/utils.h: Refactor
        the ASCII CRLF handling code into its own API, unentangling it from
        the implementation of the data transfers.  This makes it much easier
        to unit test.  Added those unit tests, including a regression test for uploading a
        file as ASCII.

2015-06-05  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #133 from maytechnet/master Fix small copy/paste leftower

2015-06-04  TJ Saunders <tj@castaglia.org>

        * include/data.h, src/data.c, tests/api/data.c: Make the FTP ASCII
        translation function symbols publicly visible, for accessing
        directly for unit testing.  Removed misleading comment; history is what git is for.  Moved
        potentially expensive pr_signals_handle() outside of the
        byte-copying loop; we will handle any potential SIGSEGV signals
        after the loop.

2015-06-04  TJ Saunders <tj@castaglia.org>

        * tests/api/data.c: Not yet ready for these tests to be run.

2015-06-04  TJ Saunders <tj@castaglia.org>

        * tests/Makefile.in, tests/api/data.c, tests/api/stubs.c,
        tests/api/tests.c, tests/api/tests.h: Start working on unit tests
        for the Data API.  This adds the build glue to do so; now to fill in
        the testcases.

2015-06-03  TJ Saunders <tj@castaglia.org>

        * src/data.c: Bug#4151 - FTP ASCII mode conversion algorithm is
        painfully slow.

2015-06-03  TJ Saunders <tj@castaglia.org>

        * NEWS: Updated NEWS for fix for Bug#4188.

2015-06-03  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #131 from proftpd/geoip-multi-expr-bug4188 Bug#4188 - Support filtering based on country code and regional code
        in

2015-06-03  TJ Saunders <tj@castaglia.org>

        * NEWS: Update NEWS for fix for Bug#4167.

2015-06-03  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #98 from proftpd/core-crlf-in-path-bug4167 Bug#4167 - CR/LF characters are not supported in filenames.

2015-06-03  TJ Saunders <tj@castaglia.org>

        * src/main.c: Typo in comment; no functional change.

2015-06-03  TJ Saunders <tj@castaglia.org>

        * : commit 621000469e1f0b11486d2188f50eee87a33bb280 Author: TJ
        Saunders <tj@castaglia.org> Date:   Wed Jun 3 22:30:51 2015 -0700

2015-06-02  TJ Saunders <tj@castaglia.org>

        * doc/contrib/mod_geoip.html: Update the mod_geoip documentation
        with FAQ describing the use case of Bug#4188.

2015-06-02  TJ Saunders <tj@castaglia.org>

        * contrib/mod_geoip.c: Bug#4188 - Support filtering based on country
        code and regional code in mod_geoip.

2015-05-31  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/interop.c: Per this forums post, at least one
        SSH2 client identifying itself as J2SSH does not support/handle
        rekey requests properly:   https://forums.proftpd.org/smf/index.php/topic,11757.0.html Thus add it to the builtin interop lists as a non-rekeying client.

2015-05-31  TJ Saunders <tj@castaglia.org>

        * NEWS: Updated NEWS for fix of Bug#4187.

2015-05-31  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #129 from proftpd/geoip-table-loading-bug4187 Bug#4187 - mod_geoip does not load all of the GeoIPTables properly.

2015-05-30  TJ Saunders <tj@castaglia.org>

        * contrib/mod_geoip.c: Bug#4187 - mod_geoip does not load all of the
        GeoIPTables properly.

2015-05-28  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #128 from proftpd/tls-adaptive-buffering Implement adaptive tuning of the TLS record/buffer size for data
        tran…

2015-05-27  TJ Saunders <tj@castaglia.org>

        * doc/modules/mod_dso.html: Adding mod_dso FAQ, from the online
        forums.

2015-05-27  tjsaunders <tj@lyveminds.com>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Update
        files for rc2 status.

2015-05-27  TJ Saunders <tj@castaglia.org>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Warming up
        for a release of 1.3.6rc1.

2015-05-27  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #80 from proftpd/core-schmod-cifs-bug4134 Bug#4134 - Unable to create folders using FTP on a CIFS mounted
        share: "...

2015-05-25  TJ Saunders <tj@castaglia.org>

        * RELEASE_NOTES, contrib/mod_sftp/kex.c,
        contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in,
        doc/contrib/mod_sftp.html: Update mod_sftp to avoid weak DH groups,
        per Bug#4184.

2015-05-22  tjsaunders <tj@lyveminds.com>

        * modules/mod_auth.c: Attempt to address Debian Bug#717235:   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=717235

2015-05-22  tjsaunders <tj@lyveminds.com>

        * configure, configure.in: Fix the build summary, so that it
        displays modules, like mod_sftp or mod_snmp, which have their own
        module directories.  Also skip the module listing if there are no
        static (or no shared) modules to list in the summary.

2015-05-22  tjsaunders <tj@lyveminds.com>

        * RELEASE_NOTES: Mention the new ServerAlias directive in the
        release notes, too.

2015-05-22  tjsaunders <tj@lyveminds.com>

        * NEWS, RELEASE_NOTES, doc/modules/mod_core.html: Update NEWS,
        release notes for HOST support.  Add docs for the new ServerAlias
        directive.

2015-05-22  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #126 from proftpd/core-host-cmd-bug3289 Bug#3289 - Support the HOST command

2015-05-22  TJ Saunders <tj@castaglia.org>

        * doc/howto/TLS.html: Tweaks to the TLS FAQ for FZ.

2015-05-21  TJ Saunders <tj@castaglia.org>

        * doc/howto/TLS.html: Add FAQs about FTPS connection issues with
        FileZilla, lftp to the TLS howto.

2015-05-21  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #125 from proftpd/tls-weak-dh-bug4184 Bug#4184 - Remove support for "weak" Diffie-Hellman groups.

2015-05-12  TJ Saunders <tj@castaglia.org>

        * contrib/mod_tls.c: Nit.

2015-05-12  TJ Saunders <tj@castaglia.org>

        * tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Adding regression test
        showing successful login to name-based vhost.

2015-05-04  TJ Saunders <tj@castaglia.org>

        * : commit 8e6f14aa2f6141b632b48e1b063dde688cbeec62 Merge: 3b93982
        64f28f1 Author: TJ Saunders <tj@castaglia.org> Date:   Mon May 4
        19:34:33 2015 -0700

2015-05-01  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #124 from proftpd/tls-ssl-buffer-sizing Tweak the SSL write buffer/record sizes during TLS handshakes, to
        try to

2015-04-30  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #123 from proftpd/tls-npn-alpn Support/use the ALPN/NPN TLS extensions in mod_tls

2015-04-30  tjsaunders <tj@lyveminds.com>

        * config.h.in, configure, configure.in, contrib/mod_tls.c: Add
        support for the NPN and ALPN extensions to mod_tls, to support any
        FTPS clients which might use these as heuristics for determining
        when to use TLS False Start (e.g. Chrome/Firefox).

2015-04-29  tjsaunders <tj@lyveminds.com>

        * tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Tweaks.

2015-04-29  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: Stylistic nits, compiler warnings; no
        functional change.

2015-04-29  tjsaunders <tj@lyveminds.com>

        * src/bindings.c: Fix null pointer derefence encountered during
        regression testing the HOST command.

2015-04-29  tjsaunders <tj@lyveminds.com>

        * doc/howto/Tracing.html, src/modules.c, src/trace.c: Add a 'module'
        trace channel, for tracing the Module API.

2015-04-29  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c, modules/mod_core.c: Implement handling of the
        TLS SNI extension, so that we can then double-check that (if used)
        against the provided HOST command (and vice versa).

2015-04-29  tjsaunders <tj@lyveminds.com>

        * include/bindings.h, src/bindings.c: Fix bad merge.

2015-04-29  tjsaunders <tj@lyveminds.com>

        * : commit 2bde9ba89eb007778a940f1eae60f2fd22102195 Author:
        tjsaunders <tj@lyveminds.com> Date:   Wed Apr 29 14:46:09 2015 -0700

2015-04-29  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #122 from proftpd/tls-session-reuse-bug4178 Bug#4178: When accepting a TLS connection for data transfers,
        disable th...

2015-04-28  tjsaunders <tj@lyveminds.com>

        * src/data.c: Fix segfault due to null pointer dereference.

2015-04-28  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: Use the SSL options to work around a Safari
        ECDSA bug.

2015-04-27  TJ Saunders <tj@castaglia.org>

        * contrib/mod_tls.c: Enable SSL session cache flushing on session
        exit, to keep that cache as groomed as possible.

2015-04-27  TJ Saunders <tj@castaglia.org>

        * .gitignore: Ignore a few more files/paths.

2015-04-27  TJ Saunders <tj@castaglia.org>

        * contrib/mod_tls.c: Style nits; no functional change.

2015-04-26  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: Refactor the random PSK generation code into a
        single helper function, for good style/DRY princicple.

2015-04-26  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: Fix the handling of the TLSECDHCurve directive.

2015-04-26  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #121 from proftpd/tls-psk-support Bug#4174 - Support for TLS-PSK (pre-shared keys)

2015-04-26  tjsaunders <tj@lyveminds.com>

        * NEWS, RELEASE_NOTES, doc/contrib/mod_tls.html: Adding
        documentation for the new TLSPreSharedKey directive.

2015-04-26  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: Finish implementing TLS-PSK support.

2015-04-25  tjsaunders <tj@lyveminds.com>

        * : commit 569ebe9163e7d5cedcbf54215ced625a77aeab6b Merge: 9f1078f
        46c8a0c Author: TJ Saunders <tj@castaglia.org> Date:   Sat Apr 25
        19:30:49 2015 -0700

2015-04-25  tjsaunders <tj@lyveminds.com>

        * doc/contrib/mod_tls.html: Improve the TLSECDHCurve docs by
        including the openssl command to use, to see the full list of
        supported curves.

2015-04-25  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: Make sure that mod_tls compiles properly when
        using OpenSSL-1.0.2 or later.

2015-04-25  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c, doc/contrib/mod_tls.html: Better error
        reporting if the configured curve name isn't known.  Add TLSOption
        for disabling auto-ECDH negotiation behavior, as a future-proof
        safety switch.

2015-04-25  tjsaunders <tj@lyveminds.com>

        * RELEASE_NOTES, contrib/mod_tls.c, doc/contrib/mod_tls.html: Add a
        new TLSECDHCurve directive, for specifying the curve to use for
        ECDHE ciphers.

2015-04-25  tjsaunders <tj@lyveminds.com>

        * NEWS, RELEASE_NOTES: Update NEWS, release notes for Bug#3125.

2015-04-25  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #119 from proftpd/facl-macosx-bug3125 Bug#3125 - Support for Mac OS X implementation of POSIX ACLs.

2015-04-25  TJ Saunders <tj@castaglia.org>

        * contrib/mod_tls.c: Only log a trace message about adjusting the DH
        parameter length if we indeed to adjust/change the length.

2015-04-24  TJ Saunders <tj@castaglia.org>

        * contrib/mod_tls.c: Properly handle multiple TLSDHParamFiles, if
        configured.  Adjust the DH parameter length to be the size of the RSA/DSA private
        key, for greater strength, rather than using the given length (which
        will only ever be 512 or 1024 bits, even for 2048-bit server
        certs/keys).  If OpenSSL-1.0.2 or later are used, automatically negotiate the best
        EC, rather than always falling back to the prime256v1 group.

2015-04-22  TJ Saunders <tj@castaglia.org>

        * src/privs.c: Change the logging priority based on errno
        consistently.

2015-04-20  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #118 from proftpd/core-stash-remove-symbol Add symbol type-specific remove functions, for use by modules (e.g.
        mod_...

2015-04-19  TJ Saunders <tj@castaglia.org>

        * doc/howto/FXP.html, doc/modules/mod_core.html: Update references
        in FXP howto to point to local mod_core docs, and add the missing
        descriptions to the mod_core docs.

2015-04-19  TJ Saunders <tj@castaglia.org>

        * doc/howto/Directory.html, doc/modules/mod_core.html: Add
        description of AllowOverride directive, and fix up the Directory
        howto to point to that description.

2015-04-19  TJ Saunders <tj@castaglia.org>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Fix
        mod_sftp+mod_rewrite tests for Mac OSX.

2015-04-16  TJ Saunders <tj@castaglia.org>

        * doc/howto/LogMessages.html: Fix nits in LogMessages doc.

2015-04-15  tjsaunders <tj@lyveminds.com>

        * README.md: Add links/badges for Travis, Coverity.

2015-04-15  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #116 from rk295/patch-1 Changed the version string to reflect 1.3.6rc1

2015-04-15  Gildásio Júnior <gildasio97@gmail.com>

        * README, README.md: Update and rename README to README.md 1. Use md extention because use markdown sintaxe; 2. Update in some sections with markdown "tags"

2015-04-14  Robin Kearney <robin@kearney.co.uk>

        * contrib/dist/rpm/proftpd.spec: Changed the version string to
        reflect 1.3.6rc1

2015-04-12  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/fxp.c: Clear the statcache appropriately for
        READLINK requests.  Add a note for my future self to NOT make the
        mistake of using a resolved path (again) when making a call to
        readlink(2).

2015-04-12  TJ Saunders <tj@castaglia.org>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix a few more
        tests for running on a Mac OSX.

2015-04-12  TJ Saunders <tj@castaglia.org>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/sql.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: More fixing up
        of tests.

2015-04-12  TJ Saunders <tj@castaglia.org>

        * tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/OPTS.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
        tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm,
        tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm,
        tests/t/lib/ProFTPD/Tests/Config/FactsOptions.pm,
        tests/t/lib/ProFTPD/Tests/Config/Limit/RMD.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxClients.pm,
        tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm,
        tests/t/lib/ProFTPD/Tests/Config/Umask.pm,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fixing up some of
        the regression tests to either work on Mac OSX, or to match the
        current code.  Still more tests need updating.

2015-04-11  TJ Saunders <tj@castaglia.org>

        * modules/mod_facts.c: Now that the statcaches have been separated
        for stat(2) vs lstat(2), this second clearing of the statcaches is
        no longer needed.

2015-04-11  TJ Saunders <tj@castaglia.org>

        * src/fsio.c: I found that we need to maintain two different
        statcache tables: one for stat(2) data, and one for lstat(2) data.
        The data can be different, for the same path, depending on whether
        it's a symlink or not.

2015-04-11  TJ Saunders <tj@castaglia.org>

        * modules/mod_facts.c, src/dirtree.c: Running through the regression
        tests has picked up a few necessary fixes.  Expect more.

2015-04-10  TJ Saunders <tj@castaglia.org>

        * NEWS: Updated NEWS for Bug#4168.

2015-04-10  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #110 from
        proftpd/xfer-hiddenstores-races-bug4168 Bug#4168 - Race condition with HiddenStores and TimeoutIdle timeout.

2015-04-10  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #114 from
        proftpd/sftp-realpath-ctrl-byte-bug4170 Bug#4170 - Incorrect handling of control-byte field of
        SSH_FXP_REALPATH ...

2015-04-09  TJ Saunders <tj@castaglia.org>

        * doc/howto/Radius.html: Update Radius howto to mention new
        attributes supported by mod_radius.

2015-04-09  TJ Saunders <tj@castaglia.org>

        * contrib/ftpasswd, modules/mod_auth_file.c: Bug#4171 - Add checks
        to mod_auth_file for crypt(3) failures due to the hash algorithm
        used, and make ftpasswd check for times when --des/--md5 will not be
        sufficient.

2015-04-09  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/fxp.c: Try to implement more of the SFTP protocol
        version 6 semantics for REALPATH's control byte.

2015-04-09  tjsaunders <tj@lyveminds.com>

        * : commit 8c1412153a13f51c63070c2ac67c7a922b1a9831 Author:
        tjsaunders <tj@lyveminds.com> Date:   Thu Apr 9 00:18:17 2015 -0700

2015-04-08  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: Fix copy/pasto, spotted by Coverity.

2015-04-08  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/kex.c: Remove unnecessary NULL check, per
        Coverity.

2015-04-08  tjsaunders <tj@lyveminds.com>

        * src/str.c, tests/api/str.c: Make sure that pr_str_is_fnmatch()
        properly handles NULL arguments.

2015-04-08  tjsaunders <tj@lyveminds.com>

        * lib/glibc-glob.c: Initialize the 'next' value explicitly, so that
        things happen properly in the error handling code.  Found by
        Coverity.

2015-04-08  tjsaunders <tj@lyveminds.com>

        * contrib/mod_radius.c: Handle the size where the size of an int may
        not be exactly 4 bytes; on some platforms, it might actually be
        larger.  So be specific about the number of bytes we copy for the
        vendor ID of a VSA.

2015-04-08  tjsaunders <tj@lyveminds.com>

        * modules/mod_site.c, tests/t/lib/ProFTPD/Tests/Modules/mod_site.pm: 
        Fix some typos in the handling of symbolic mode expressions for SITE
        CHMOD commands, and start adding some symbolic SITE CHMOD regression
        tests.

2015-04-08  tjsaunders <tj@lyveminds.com>

        * modules/mod_delay.c: When shutting down and preserving the
        DelayTable, make the handling a little more resilient, handling
        (very unlikely but possible) error cases better, per Coverity.

2015-04-08  tjsaunders <tj@lyveminds.com>

        * contrib/mod_snmp/mod_snmp.c: Remove unnecessary NULL check, per
        Coverity.

2015-04-08  tjsaunders <tj@lyveminds.com>

        * modules/mod_core.c: Handle NULL return values from pr_expr_create,
        and make Coverity happier.

2015-04-08  tjsaunders <tj@lyveminds.com>

        * src/inet.c: Make the fd checks in pr_inet_openrw() a little less
        brittle by checking for any valid-looking fd (i.e. > -1), rather
        than just directly comparing against -1.

2015-04-08  tjsaunders <tj@lyveminds.com>

        * contrib/coverity/modeling.c: Tell Coverity to ignore
        rand(3)/random(3); we know what we're doing, and do not use it for
        cases where cryptographically strong random numbers are needed.  So
        please, Coverity, stop marking its use as defects.

2015-04-08  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/keys.c, contrib/mod_tls.c: Make sure that we
        NUL-terminate the buffer we gave to read(2), for passphrase
        collection, before doing anything else with the buffer.

2015-04-08  tjsaunders <tj@lyveminds.com>

        * src/fsio.c: Check for possible NULL value before calling glob(3),
        lest it segfault on us.

2015-04-08  tjsaunders <tj@lyveminds.com>

        * src/fsio.c: Remove unnecessary NULL check, per Coverity.

2015-04-08  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/fxp.c: Bug#4170 - Incorrect handling of
        control-byte field of SSH_FXP_REALPATH as bitmask rather than
        enumeration.

2015-04-08  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/auth.c: Handle possibly (albeit unlikely) NULL
        return value.

2015-04-08  tjsaunders <tj@lyveminds.com>

        * contrib/mod_radius.c: Slightly more paranoid parsing of RADIUS
        variable formatted strings, as configured in the config file.

2015-04-08  tjsaunders <tj@lyveminds.com>

        * contrib/mod_ifsession.c: The <If...> sections using regexes might
        be malformed; the configuration handler needs to handle this error
        case properly.

2015-04-08  tjsaunders <tj@lyveminds.com>

        * : commit ac1a6a4dc9d34703dd5a438336cb53c0fed33d10 Author:
        tjsaunders <tj@lyveminds.com> Date:   Wed Apr 8 00:25:07 2015 -0700

2015-04-08  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #112 from proftpd/coverity-defects Moew Coverity defects

2015-04-08  tjsaunders <tj@lyveminds.com>

        * contrib/coverity/modeling.c, lib/tpl.c, lib/tpl.h: Tweak the TPL
        API a little, so that we can mark it for visibility by Coverity.

2015-04-07  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: Quell warning about uninitialized variable
        being used.

2015-04-07  tjsaunders <tj@lyveminds.com>

        * src/fsio.c: Better NULL checking.  Also clear the statcache in the
        case of renames.

2015-04-07  tjsaunders <tj@lyveminds.com>

        * contrib/mod_exec.c, contrib/mod_radius.c, lib/tpl.c,
        modules/mod_ls.c, modules/mod_site.c: Fixing up more issues spotted
        by Coverity.

2015-04-07  tjsaunders <tj@lyveminds.com>

        * src/fsio.c: Fix dead code spotted by Coverity.

2015-04-07  tjsaunders <tj@lyveminds.com>

        * contrib/mod_snmp/packet.c: Removing some logically dead code
        branches spotted by Coverity.

2015-04-07  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #111 from proftpd/coverity-defects Quell some of the warnings/issues spotted by Coverity.

2015-04-07  tjsaunders <tj@lyveminds.com>

        * : commit 6bb2e06513363a256802ebb250ff05a1d9fd3208 Author:
        tjsaunders <tj@lyveminds.com> Date:   Tue Apr 7 22:03:04 2015 -0700

2015-04-07  tjsaunders <tj@lyveminds.com>

        * modules/mod_core.c, modules/mod_xfer.c: Use PR_HANDLED, not
        HANDLED.

2015-04-07  tjsaunders <tj@lyveminds.com>

        * contrib/mod_copy.c: Use PR_DECLINED, not DECLINED.

2015-04-07  tjsaunders <tj@lyveminds.com>

        * RELEASE_NOTES: Tweaks/edits to release notes.

2015-04-07  tjsaunders <tj@lyveminds.com>

        * RELEASE_NOTES: More fleshing out of the release notes.  We're
        getting close to release-ready.

2015-04-07  tjsaunders <tj@lyveminds.com>

        * RELEASE_NOTES: Start fleshing out the release notes, getting ready
        for a release.

2015-04-07  TJ Saunders <tj@castaglia.org>

        * modules/mod_xfer.c: Bug#4168 - Race condition with HiddenStores
        and TimeoutIdle timeout.  Attempt to reduce/mitigate this race by blocking timers during
        critical sections of transfer setup code, and handle some side
        effects in the exit handler by using other criteria for determining
        when/how to handle e.g. HiddenStores files.

2015-04-07  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/Makefile.in, contrib/mod_sftp/umac.c: Fix
        building of umac128.{o, lo}, and the resulting symbol collision for
        a DSO build of mod_sftp.

2015-04-07  tjsaunders <tj@lyveminds.com>

        * src/inet.c: Fix compilation when the --disable-ipv6 compile-time
        option is used.

2015-04-07  tjsaunders <tj@lyveminds.com>

        * NEWS, RELEASE_NOTES: Updating NEWS, release notes for Bug#4169.

2015-04-07  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #109 from
        proftpd/copy-unauthenticated-copying Bug#4169 - Unauthenticated copying of files via SITE CPFR/CPTO
        allowed by mod_copy

2015-04-06  tjsaunders <tj@lyveminds.com>

        * NEWS, contrib/mod_sftp/fxp.c: Update NEWS with mention of fix for
        Bug#4166.

2015-04-06  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #97 from
        proftpd/sftp-rekeying-memory-usage-bug4166 Bug#4166 - mod_sftp sessions consume large amounts of memory due to
        reke...

2015-04-05  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #108 from proftpd/sftp-umac-128 Support for "umac-128@openssh.com" SSH MAC algorithm

2015-04-05  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/Makefile.in, contrib/mod_sftp/crypto.c,
        contrib/mod_sftp/mac.c, contrib/mod_sftp/umac.c,
        contrib/mod_sftp/umac.h: Add support for the umac-128@openssh.com
        SSH MAC.

2015-04-05  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/kbdint.c: Fix memory leak when handling
        'keyboard-interactive' SSH authentication.

2015-04-05  TJ Saunders <tj@castaglia.org>

        * contrib/mod_tls_memcache.c: Tone down the logging message emitted
        when we try to register a handler and there's no memcache support
        enabled in the build.

2015-04-04  tjsaunders <tj@lyveminds.com>

        * NEWS, RELEASE_NOTES: Update NEWS, release notes with mention of
        Bug#4059.

2015-04-04  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #107 from
        proftpd/radius-addl-attributes-bug4059 Bug#4059 - Implement additional RADIUS attributes

2015-04-03  tjsaunders <tj@lyveminds.com>

        * contrib/mod_radius.c, doc/contrib/mod_radius.html: Bug#4059 -
        Implement additional RADIUS attributes.

2015-04-03  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp_pam.c: Stylistic nit cleanup in mod_sftp_pam, no
        functional changes.

2015-04-02  TJ Saunders <tj@castaglia.org>

        * RELEASE_NOTES: Mention the new FSCachePolicy directive in the
        release notes.

2015-04-02  TJ Saunders <tj@castaglia.org>

        * doc/contrib/mod_sftp.html: Fix the spacing in the mod_sftp docs
        referring to RFCs.

2015-04-02  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #106 from proftpd/site-misc-resp-code-setting Fix the setting of FTP response codes for the internal commands that

2015-04-02  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #105 from proftpd/site-misc-extlog-resp-code Add regression test for ExtendedLog handling of the response code
        for SITE commands

2015-04-02  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/fxp.c: Found a few more places in mod_sftp that
        need to clear the statcache for accurate stat/lstat results.

2015-04-02  TJ Saunders <tj@castaglia.org>

        * : commit f88556af8c9395873f75fc43e5f779648b5de0c3 Author: TJ
        Saunders <tj@castaglia.org> Date:   Thu Apr 2 11:25:48 2015 -0700

2015-04-02  TJ Saunders <tj@castaglia.org>

        * tests/api/table.c: Add a unit test for executing pr_table_do() on
        a table, with a callback that removes items from the table during
        the iteration.

2015-04-02  TJ Saunders <tj@castaglia.org>

        * src/fsio.c: Clear the statcache when files are created/modified
        via creat(2) and open(2) calls as well.

2015-04-02  TJ Saunders <tj@castaglia.org>

        * src/fsio.c, tests/api/fsio.c: Clear the statcache when a file is
        closed or unlinked.  Flesh out the pr_fsio_stat()/pr_fsio_lstat() unit tests to catch
        regressions such as the previous statcache issue, where the
        statcache was not being populated with the struct stat information.

2015-04-02  TJ Saunders <tj@castaglia.org>

        * contrib/mod_site_misc.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Adding
        integration test demonstrating the proper handling of the %s
        ExtendedLog variable for SITE commands, e.g. those provided by
        mod_site_mis.c

2015-04-02  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #104 from proftpd/core-fscacheoptions Add FSCachePolicy directive, for tuning statcache

2015-04-01  TJ Saunders <tj@castaglia.org>

        * : commit 36ed1cb9901e041e88b0a96e8fb4bd13defea24f Merge: b65700f
        9d45a71 Author: TJ Saunders <tj@castaglia.org> Date:   Wed Apr 1
        23:35:15 2015 -0700

2015-04-01  TJ Saunders <tj@castaglia.org>

        * src/fsio.c: Set errno to the proper value in the case of
        stat(2)/lstat(2) failure.

2015-04-01  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/misc.c: Adding missing format string.

2015-04-01  TJ Saunders <tj@castaglia.org>

        * modules/mod_ls.c: Remove debugging cruft.

2015-04-01  TJ Saunders <tj@castaglia.org>

        * modules/mod_ls.c, src/fsio.c: Add missing memcpy(2) call that was
        causing FTP directory listings to fail.

2015-04-01  TJ Saunders <tj@castaglia.org>

        * modules/mod_ls.c, src/dirtree.c, src/fsio.c, src/support.c: 
        Checking in some changes while I debug why the statcaching is
        breaking FTP directory listings.

2015-04-01  tjsaunders <tj@lyveminds.com>

        * modules/mod_core.c: Start working on an FSCacheOptions directive,
        for tuning the newly-added statcache.

2015-04-01  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/fxp.c: Properly increment the st_size on SFTP
        WRITE, taking into account possible overwrites of existing chunks of
        the file.

2015-04-01  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #100 from proftpd/fsio-stat-caching Change the FSIO API's statcache from a single entry to one using
        tables.

2015-04-01  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #101 from proftpd/sftp-fstat-on-write-perf Avoid an fstat(2) call per WRITE request, to see if it helps with
        perfor...

2015-04-01  tjsaunders <tj@lyveminds.com>

        * src/fsio.c, tests/api/fsio.c: Dealing with test fallout, and
        quelling some compiler warnings spotted by travis-ci.

2015-04-01  tjsaunders <tj@lyveminds.com>

        * src/str.c: Remove some unused variables (spotted by travis-ci).

2015-04-01  tjsaunders <tj@lyveminds.com>

        * src/fsio.c: Make sure that pr_fsio_access() doesn't clear the
        statcache when it doesn't have to; that policy should be up to the
        caller, not to the implementation.

2015-04-01  tjsaunders <tj@lyveminds.com>

        * include/fsio.h, modules/mod_core.c, src/dirtree.c, src/fsio.c,
        tests/api/fsio.c: Disable statcaching until the client has
        authenticated, at which point we will start caching.

2015-03-31  tjsaunders <tj@lyveminds.com>

        * : commit fc5dda6054a982a858add1fa63addb48fbdbb9f4 Author:
        tjsaunders <tj@lyveminds.com> Date:   Tue Mar 31 23:33:53 2015 -0700

2015-03-31  tjsaunders <tj@lyveminds.com>

        * contrib/mod_copy.c, contrib/mod_quotatab.c,
        contrib/mod_rewrite.c, contrib/mod_sftp/fxp.c,
        contrib/mod_sftp/misc.c, contrib/mod_site_misc.c,
        contrib/mod_snmp/mod_snmp.c, contrib/mod_sql.c, include/fsio.h,
        include/options.h, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_facl.c, modules/mod_facts.c, modules/mod_log.c,
        modules/mod_ls.c, modules/mod_xfer.c, src/dirtree.c, src/fsio.c,
        src/mkhome.c, src/support.c, src/table.c, tests/api/fsio.c: Change
        the FSIO API's statcache from a single entry to one using tables.
        This cache now holds up to a configurable size, with expiration, and
        allows clearing of single entries (or the entire cache if needed).

2015-03-31  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/fxp.c: Fix bug where we were allocating a cmd_rec
        out of the wrong pool when handling REMOVE requests.

2015-03-31  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/fxp.c: Slight logging tweaks; no functional
        change.

2015-03-31  TJ Saunders <tj@castaglia.org>

        * NEWS: Update NEWS with mention of Bug#4157.

2015-03-31  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #96 from proftpd/core-tracing-perf-bug4157 Bug#4157 - LIST/NLST of 1000s of files is slow on some platforms.

2015-03-30  TJ Saunders <tj@castaglia.org>

        * src/bindings.c: Remove now-unused variable.

2015-03-30  TJ Saunders <tj@castaglia.org>

        * include/bindings.h, src/bindings.c: Fix up the
        ServerAlias/namebind handling which was causing spurious NOTICE
        level log messages in 1.3.5.

2015-03-29  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/fxp.c: Make sure to set the curr_pkt pointer to
        NULL in the case of an unknown request, too.

2015-03-29  TJ Saunders <tj@castaglia.org>

        * modules/mod_dso.c, src/auth.c, src/inet.c, src/netio.c: Add
        missing tags on some pools, fix typos.  Nothing major.

2015-03-29  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/fxp.c: Found a place where we need to clear a
        pointer to a packet explicitly. Failing to do so could mean that a
        packet is reused, thus leading to leaking memory (as that packet
        pool is never actually freed/reused).

2015-03-28  TJ Saunders <tj@castaglia.org>

        * include/support.h, modules/mod_ls.c, src/support.c: Additional
        fixes for Bug#4157, trying to remove a redundant lstat(2) call
        during directory listings that include symlinks.

2015-03-28  TJ Saunders <tj@castaglia.org>

        * : commit fd68ce118083fea2e1add58ae6e43413aa0b408e Author: TJ
        Saunders <tj@castaglia.org> Date:   Sat Mar 28 15:48:31 2015 -0700

2015-03-28  TJ Saunders <tj@castaglia.org>

        * modules/mod_core.c, src/netio.c, src/response.c,
        tests/api/netio.c, tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: 
        Additional changes needed for handling embedded LFs in paths, for
        Bug#4167.

2015-03-28  TJ Saunders <tj@castaglia.org>

        * include/netio.h, src/main.c, src/netio.c, src/str.c,
        tests/api/netio.c, tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: 
        Bug#4167 - CR/LF characters are not supported in filenames.

2015-03-25  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/fxp.c: Avoid an fstat(2) call per WRITE request,
        to see if it helps with performance writing files on network
        filesystems like NFS.

2015-03-25  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: Slightly better trace messages for SSL
        WANT_READ/WANT_WRITE conditions.

2015-03-21  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/mod_sftp.c: Only dump the memory pools if
        mod_shaper is NOT present.

2015-03-21  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/kex.c: Additional changes for Bug#4166, to reduce
        the memory leaked during an SSH2 rekeying.

2015-03-21  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/fxp.c, contrib/mod_sftp/kex.c,
        contrib/mod_sftp/mod_sftp.c, modules/mod_xfer.c: Bug#4166 - mod_sftp
        sessions consume large amounts of memory due to rekeying.  In order to debug this, I had to add code to mod_sftp which handles
        the SIGUSR2 signal by dumping the memory pools of the process.
        This, in turn, required some slight adjustments to a similar
        handling of SIGUSR2 that mod_xfer does, but which was only needed if
        mod_shaper is present.

2015-03-20  TJ Saunders <tj@castaglia.org>

        * modules/mod_ls.c, src/fsio.c, src/trace.c: Bug#4157 - LIST/NLST of
        1000s of files is slow on some platforms.

2015-03-20  tjsaunders <tj@lyveminds.com>

        * NEWS, RELEASE_NOTES: Update NEWS, release notes for Bug#4164.

2015-03-20  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #95 from proftpd/sql-uid-size-bug4164 Bug#4164 - mod_sql fails to read UID/GID values larger than 32 bits
        from SQL table

2015-03-16  tjsaunders <tj@lyveminds.com>

        * contrib/mod_exec.c, contrib/mod_sftp/fxp.c, contrib/mod_sql.c,
        modules/mod_cap.c, modules/mod_facts.c, src/main.c: Updating more
        places to use the new functions for stringifying UID/GID values.
        Display the max supported UID/GID value in the -V output.

2015-03-16  tjsaunders <tj@lyveminds.com>

        * : commit 005b8a5cccfa75109f738f2ecbb763225d1a76c3 Author: TJ
        Saunders <tj@castaglia.org> Date:   Mon Mar 16 14:05:11 2015 -0700

2015-03-15  tjsaunders <tj@lyveminds.com>

        * src/auth.c, src/privs.c: Update more places in the core code to
        log UID/GID values properly.

2015-03-15  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sql.c: Fix up a few more places in mod_sql where
        proper stringification of UID/GID needs to use the new routines.

2015-03-15  tjsaunders <tj@lyveminds.com>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: The bug has
        number; it's number is 4164.

2015-03-15  tjsaunders <tj@lyveminds.com>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Run all of
        the mod_sql_sqlite tests, please.

2015-03-15  tjsaunders <tj@lyveminds.com>

        * src/auth.c, src/str.c, tests/api/str.c: Bug#4164: Start using the
        new functions for ID/string conversion in more places; there's still
        more here to do.

2015-03-15  tjsaunders <tj@lyveminds.com>

        * : commit 9b215b1530bf4839ddce6505d70d9e79a9c541c5 Author:
        tjsaunders <tj@lyveminds.com> Date:   Sun Mar 15 17:27:51 2015 -0700

2015-03-15  TJ Saunders <tj@castaglia.org>

        * configure: Updated configure.

2015-03-15  TJ Saunders <tj@castaglia.org>

        * config.h.in, configure.in: Check for the strtoll(3) function, too.

2015-03-15  TJ Saunders <tj@castaglia.org>

        * configure: Updated configure.

2015-03-15  TJ Saunders <tj@castaglia.org>

        * config.h.in, configure.in: Add autoconf checks for the size of
        uid_t/gid_t, as part of handling Bug#4164.

2015-03-15  tjsaunders <tj@lyveminds.com>

        * NEWS, RELEASE_NOTES: Update NEWS, release notes for Bug#4163.

2015-03-15  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #94 from
        proftpd/tls-no-export-ciphers-bug4163 Bug#4163 - Remove support for EXPORT grade ciphers.

2015-03-15  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/fxp.c: Fix two places with incorrect comparisons
        against the utf8ProtocolVersion SFTPOption, per comments in
        Bug#4160.

2015-03-15  tjsaunders <tj@lyveminds.com>

        * NEWS: Update NEWS for Bug#4160.

2015-03-15  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #93 from
        proftpd/sftp-realpath-nocheck-v6-response-bug4160 Bug#4160 - Malformed response to SSH_FXP_REALPATH with SFTP version
        6.

2015-03-14  tjsaunders <tj@lyveminds.com>

        * NEWS: Update NEWS with fix for Bug#4156.

2015-03-14  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #91 from proftpd/core-ls-segfault-bug4156 Bug#4156 - Segfault handling LIST/NLST FTP command on Mac OS X.

2015-03-03  tjsaunders <tj@lyveminds.com>

        * NEWS, RELEASE_NOTES: Updates NEWS, release notes for Bug#4159.

2015-03-03  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #92 from proftpd/xfer-ignore-ascii-bug4159 Bug#4159: Support ability to disable ASCII translation transparently
        to ...

2015-03-01  TJ Saunders <tj@castaglia.org>

        * include/fsio.h, lib/sstrncpy.c, src/fsio.c, tests/api/fsio.c,
        tests/api/str.c: Bug#4156 - Segfault handling LIST/NLST FTP command
        on Mac OS X.

2015-03-01  TJ Saunders <tj@castaglia.org>

        * src/main.c: Include PR_TUNABLE_PATH_MAX in the `proftpd -V'
        output.

2014-12-25  TJ Saunders <tj@castaglia.org>

        * NEWS, RELEASE_NOTES: Update NEWS, release notes for JSON output of
        ftpwho (Bug#4031).

2015-02-27  TJ Saunders <tj@castaglia.org>

        * lib/pr_fnmatch_loop.c: Backport glibc fix for a memory overread
        for certain fnmatch patterns.

2015-02-19  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp_sql.c: Fix additional issue related to Bug#4155,
        where the buffer overrun could happen for bad key data.  This also
        adds a log message for the future, pinpointing the root of the
        problem.

2015-02-19  TJ Saunders <tj@castaglia.org>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Remove stray
        comment character.

2015-02-17  tjsaunders <tj@lyveminds.com>

        * tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Add a regression test
        for the NLST command and how the -a and -1 options will affect the
        format of the NLST response.

2015-02-17  tjsaunders <tj@lyveminds.com>

        * modules/mod_ls.c: Stylistic nits; no functional change.

2015-02-17  TJ Saunders <tj@castaglia.org>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Adding mod_exec
        regression test demonstrating how to use mod_exec and mod_ifsession.

2015-02-17  tjsaunders <tj@lyveminds.com>

        * NEWS: Update NEWS with fix for Bug#4155.

2015-02-17  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #89 from
        proftpd/sftp-sql-overlong-commented-keys-bug4155 Bug#4155 - SSH keys with too-long Comment headers aren't recognized
        by mod_sftp_sql

2015-02-17  TJ Saunders <tj@castaglia.org>

        * tests/t/etc/modules/mod_sftp/test_rsa2048_key2,
        tests/t/etc/modules/mod_sftp/test_rsa2048_key2.pub,
        tests/t/etc/modules/mod_sftp/test_rsa_key_bug4155,
        tests/t/etc/modules/mod_sftp/test_rsa_key_bug4155.pub,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Adding
        accompanying regression tests for Bug#4155.

2015-02-17  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp_sql.c: Bug#4155 - SSH keys with too-long Comment
        headers aren't recognized by mod_sftp_sql.

2015-02-17  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #88 from proftpd/ls-option-parsing Fix random issue with LIST option parsing

2015-02-17  tjsaunders <tj@lyveminds.com>

        * tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding a regression
        test for the "LIST -a" parsing issue raised on GitHub.

2015-02-04  tjsaunders <tj@lyveminds.com>

        * NEWS: Update NEWS for fix for Bug#4152.

2015-02-04  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #87 from
        proftpd/core-enotconn-logging-bug4152 Bug#4152 - Reduce logging of non-fatal "unable to open incoming
        connection" errors

2015-02-04  tjsaunders <tj@lyveminds.com>

        * src/main.c: Bug#4152 - Reduce logging of non-fatal "unable to open
        incoming connection" errors.

2015-02-03  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sql_passwd.c: Correct the pointer check used in an
        error case; spotted by Coverity.

2015-02-03  tjsaunders <tj@lyveminds.com>

        * contrib/mod_tls.c: Stylistic nits; no functional change.

2015-02-03  tjsaunders <tj@lyveminds.com>

        * contrib/mod_radius.c: Stylistic cleanup; no functional changes.

2015-02-03  tjsaunders <tj@lyveminds.com>

        * contrib/mod_sftp/keys.c, contrib/mod_tls.c: Address some Coverity
        issues by ensuring that a buffer, given to OpenSSL, is
        NUL-terminated before calling e.g. strlen(3) on the buffer.

2015-02-03  tjsaunders <tj@lyveminds.com>

        * src/data.c: Clear the "have dangling CR" flag on data reset as
        well.

2015-02-03  tjsaunders <tj@lyveminds.com>

        * src/data.c: Reset any ASCII transformation state, possibly
        leftover from previous transfers, when preparing for a data transfer
        (Bug#4150).

2015-02-03  tjsaunders <tj@lyveminds.com>

        * src/data.c: Use the return value from xfrm_ascii_write() as part
        of a trace-level log message (Bug#4149).

2015-02-03  tjsaunders <tj@lyveminds.com>

        * src/data.c: Update stale comment (Bug#4148).

2015-02-03  tjsaunders <tj@lyveminds.com>

        * NEWS: Update NEWS for Bug#4145.

2015-02-03  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #86 from
        proftpd/authfile-symlink-segfault-bug4145 Bug#4145 - Segfault if AuthUserFile is a relative symlink.

2014-12-25  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #84 from proftpd/utils-ftpwho-json-bug4031  Bug#4031 - Support JSON output format for ftpwho

2014-12-25  TJ Saunders <tj@castaglia.org>

        * utils/ftpwho.1.in: Update the ftpwho man page to mention the new
        json option.

2014-12-25  TJ Saunders <tj@castaglia.org>

        * include/tpl.h: Include renamed file.

2014-12-25  TJ Saunders <tj@castaglia.org>

        * configure.in, include/memcache.h, lib/json.c, lib/json.h,
        lib/tpl.h, utils/ftpwho.c, utils/utils.h: Bug#4031 - Support JSON
        output format for ftpwho.

2014-12-24  TJ Saunders <tj@castaglia.org>

        * NEWS, RELEASE_NOTES: Updating NEWS, release notes for fix for
        Bug#4144.

2014-12-24  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #83 from
        proftpd/xfer-appe-with-hiddenstores-bug4144 Bug#4144 - Support APPE when HiddenStores are enabled.

2014-12-22  TJ Saunders <tj@castaglia.org>

        * src/fsio.c: Adding missing trace logging of some FSIO operations.
        Stylistic cleanup.

2014-12-22  TJ Saunders <tj@castaglia.org>

        * .travis.yml, tests/api/fsio.c: Set the TRAVIS_CI environment
        variable when it is being used to e.g. run the API tests.  Then use
        this in the fsio_access() tests, to avoid running the tests which
        run afoul of the travis-ci environment (and causing unexpected
        false-positive test failures).

2014-12-22  TJ Saunders <tj@castaglia.org>

        * tests/api/fsio.c: For the fsio_access() tests, use chmod(2)
        directly on the created directory, rather than futzing with the
        umask.

2014-12-22  TJ Saunders <tj@castaglia.org>

        * tests/api/fsio.c: Comment out more of the fsio_access() tests, for
        now.

2014-12-22  TJ Saunders <tj@castaglia.org>

        * src/scoreboard.c: Quell compiler warning, found by travis-ci.

2014-12-22  TJ Saunders <tj@castaglia.org>

        * tests/api/fsio.c: Comment out some of the just-added tests for
        fsio_access(), pending investigation into travis-ci's umask et al.

2014-12-22  TJ Saunders <tj@castaglia.org>

        * tests/api/inet.c: Removing more unused variables; no functional
        change.

2014-12-22  TJ Saunders <tj@castaglia.org>

        * tests/api/auth.c: Remove unused variable; no functional change.

2014-12-22  TJ Saunders <tj@castaglia.org>

        * tests/api/fsio.c: Fixup use of variables; no functional change.

2014-12-22  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/kex.c: Quell another compiler warning, found by
        travis-ci.

2014-12-22  TJ Saunders <tj@castaglia.org>

        * contrib/mod_site_misc.c: Fix printf(3) format warning found by
        travis-ci.

2014-12-22  TJ Saunders <tj@castaglia.org>

        * src/fsio.c, tests/api/fsio.c: Add unit test for the fsio_access()
        function, as part of tracking down the culprit for Bug#4141.

2014-12-22  TJ Saunders <tj@castaglia.org>

        * src/dirtree.c: Add trace logging of various conditions under which
        we'll hide a file, for debugging/triage.

2014-12-20  TJ Saunders <tj@castaglia.org>

        * contrib/mod_tls_memcache.c: Reduce the severity of the "unable to
        register memcache SSL session cache" message, from NOTICE to DEBUG;
        it causes more confusion than aid.

2014-12-17  tjsaunders <tj@lyveminds.com>

        * RELEASE_NOTES, contrib/mod_ban.c, doc/contrib/mod_ban.html: Add
        support to mod_ban, for banning on "bad protocol" detection.

2014-12-15  TJ Saunders <tj@castaglia.org>

        * NEWS: Update NEWS with fix for Bug#4143.

2014-12-15  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #81 from proftpd/core-reject-http-smtp Bug#4143 - HTTPS/FTPS protocol confusion leads to XSS

2014-12-15  tjsaunders <tj@lyveminds.com>

        * src/cmd.c, src/main.c: Update the comments with the appropriate
        bug number.

2014-12-14  TJ Saunders <tj@castaglia.org>

        * include/cmd.h, include/dirtree.h, include/session.h, src/cmd.c,
        src/main.c, tests/t/http.t, tests/t/lib/ProFTPD/Tests/HTTP.pm,
        tests/t/lib/ProFTPD/Tests/SMTP.pm, tests/t/smtp.t: If we detect HTTP
        or SMTP commands, drop the connection.  This prevents proftpd from
        being used as a staging server for nefarious attacks on other
        protocol servers.

2014-12-14  TJ Saunders <tj@castaglia.org>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix regression test
        for Bug#4097 to run using current mod_sftp code.

2014-12-14  TJ Saunders <tj@castaglia.org>

        * : commit 1ba73d3d85bb837ae08eb1fd15d81d087385fc60 Author: TJ
        Saunders <tj@castaglia.org> Date:   Sun Dec 14 18:57:16 2014 -0800

2014-12-14  TJ Saunders <tj@castaglia.org>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fixed quite a few
        failing regression tests; many of them were failing (on Mac OSX) due
        to tmp filesystem fun.

2014-12-13  TJ Saunders <tj@castaglia.org>

        * doc/contrib/mod_sftp.html: Add another mod_sftp FAQ about warnings
        about reading certain config files.

2014-12-09  TJ Saunders <tj@castaglia.org>

        * src/fsio.c: Remove the EPERM exclusion.

2014-12-09  TJ Saunders <tj@castaglia.org>

        * src/fsio.c: Ignore EPERM, in the case where we see ENOENT.

2014-12-09  TJ Saunders <tj@castaglia.org>

        * src/fsio.c: If we encounter an ENOENT from fchmod(2) when securely
        changing mode of a temporary directory, as from a network filesystem
        such as CIFS, then we should probably ignore any EACCES errors said
        filesystem might return as well.

2014-12-09  TJ Saunders <tj@castaglia.org>

        * src/fsio.c: Make sure the fchmod(2) call fails, using ENOENT,
        before deciding to fall back to chmod(2).

2014-12-09  TJ Saunders <tj@castaglia.org>

        * modules/mod_site.c: Fix build warnings about missing printf
        arguments.

2014-12-09  TJ Saunders <tj@castaglia.org>

        * src/fsio.c: Bug#4134 - Unable to create folders using FTP on a
        CIFS mounted share: "No such file or directory".  The underlying cause of this bug is that, on a CIFS mount (perhaps
        because of the mount options used), fchmod(2) on the temporary
        directory returns ENOENT.  Weird.  So we address this by doing a) a
        fallback call to chmod(2) on the path, and b) ignoring ENOENT.

2014-12-08  TJ Saunders <tj@castaglia.org>

        * NEWS: Update NEWS for fix for Bug#4140.

2014-12-08  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #79 from
        proftpd/sftp-readlink-symlinks-bug4140 Bug#4140 - SFTP READLINK requests to symlinks to directories fail.

2014-12-08  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/fxp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#4140 - SFTP
        READLINK requests to symlinks to directories fail.

2014-12-07  TJ Saunders <tj@castaglia.org>

        * src/auth.c: Log the value for TZ, if it is already present; this
        will help with debugging issues such as Bug#4113.

2014-12-06  TJ Saunders <tj@castaglia.org>

        * NEWS, RELEASE_NOTES: Updated NEWS, release notes for Bug#4138
        changes.

2014-12-06  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #78 from
        proftpd/sql-passwd-salt-encodings-bug4138 Bug#4138 - Support for hex-encoded salts in mod_sql_passwd.

2014-12-06  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sql_passwd.c, doc/contrib/mod_sql_passwd.html,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Bug#4138 -
        Support for hex-encoded salts in mod_sql_passwd.

2014-12-01  tjsaunders <tj@lyveminds.com>

        * NEWS: Update NEWS with fix for Bug#4137.

2014-12-01  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #76 from
        proftpd/geoip-denyfilter-precedence-bug4137 Bug#4137 - GeoIPDenyFilter incorrectly takes precedence over
        GeoIPAllowF...

2014-11-30  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #77 from proftpd/ctrls-openbsd-portability Issue #75: Add configure-time check for struct sockpeercred (as used
        on

2014-11-29  TJ Saunders <tj@castaglia.org>

        * contrib/mod_geoip.c: Bug#4137 - GeoIPDenyFilter incorrectly takes
        precedence over GeoIPAllowFilter.

2014-11-16  TJ Saunders <tj@castaglia.org>

        * NEWS: Updated NEWS for fix for Bug#4133.

2014-11-16  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #73 from
        proftpd/ldap-users-missing-uid-filter-bug4133 Bug#4133 - LDAPUsers directive does not honor
        uid-number-filter-templat...

2014-11-16  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/keys.c: Make sure that
        sftp_keys_clear_ecdsa_hostkey() has proper semantics, and will
        return ENOENT if ECC is supported, but there are no ECDSA hostkeys
        configured.

2014-11-16  TJ Saunders <tj@castaglia.org>

        * RELEASE_NOTES, doc/contrib/mod_sftp.html: Update docs, release
        notes for new SFTPHostKey flags.

2014-11-16  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #72 from
        proftpd/sftp-disabling-global-hostkeys Modify the SFTPHostKey directive such that it can be used to
        unload/clea...

2014-11-14  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/log.c: Remove misleading comment; no functional change.

2014-11-13  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #71 from proftpd/sftp-wrap2-deny-msg Make sure that mod_sftp properly resolves any %u variables in a
        WrapDeny...

2014-11-11  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #70 from proftpd/sftp-allowfilter-redux Following up on a forums post, make sure that if AllowFilter is used
        on

2014-11-10  TJ Saunders <tj@castaglia.org>

        * modules/mod_core.c: Update notes of which modules have been
        reworked, which need reworking.

2014-11-10  TJ Saunders <tj@castaglia.org>

        * modules/mod_xfer.c: Fix merge errors causing broken build.

2014-11-10  TJ Saunders <tj@castaglia.org>

        * : commit 7c4787492b879207a6052058bf9dd11c8c2f48dd Merge: bdaefba
        eef26a0 Author: TJ Saunders <tj@castaglia.org> Date:   Mon Nov 10
        10:24:31 2014 -0800

2014-11-10  TJ Saunders <tj@castaglia.org>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Add regression
        test demonstrating use of the new key fingerprint environment
        variables.

2014-11-10  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/auth-publickey.c, doc/contrib/mod_sftp.html: 
        Populate some environment variables that can be used for
        logging/tracking the publickey used for user authentication, via key
        fingerprints.

2014-11-10  TJ Saunders <tj@castaglia.org>

        * NEWS, RELEASE_NOTES: Update NEWS, release notes for changes for
        Bug#4060.

2014-11-10  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #68 from proftpd/ls-opt-U-bug4060 Bug#4060 fix

2014-11-10  TJ Saunders <tj@castaglia.org>

        * doc/howto/ListOptions.html, modules/mod_ls.c,
        tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Bug#4060 - Support
        unsorted LIST entries (-U) to decrease memory/CPU usage for large
        directory listings.

2014-11-09  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #67 from proftpd/xfer-note-file-offset Add support for %{file-offset} ExtendedLog variable, for tracking
        resumed uploads/downloads

2014-11-09  TJ Saunders <tj@castaglia.org>

        * : commit 8d0d90490407d67d8da7bd1543a5f4625b5797af Author: TJ
        Saunders <tj@castaglia.org> Date:   Sun Nov 9 22:38:25 2014 -0800

2014-11-09  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #66 from
        proftpd/lang-require-valid-encoding-bug4125 Bug#4125 - mod_lang should provide way to reject illegally-encoded
        filenames.

2014-11-09  TJ Saunders <tj@castaglia.org>

        * modules/mod_lang.c: Copy-pasto.

2014-11-09  TJ Saunders <tj@castaglia.org>

        * include/encode.h, modules/mod_lang.c, src/encode.c, src/fsio.c: 
        Forgot to actually wire up the handling of the RequireValidEncoding
        LangOption to the propagation of decoding errors; without this, all
        illegal encodings would be rejected.

2014-11-09  TJ Saunders <tj@castaglia.org>

        * contrib/mod_copy.c, contrib/mod_site_misc.c,
        doc/modules/mod_lang.html, include/encode.h, include/fsio.h,
        include/session.h, modules/mod_core.c, modules/mod_facts.c,
        modules/mod_lang.c, modules/mod_ls.c, modules/mod_site.c,
        modules/mod_xfer.c, src/dirtree.c, src/encode.c, src/fsio.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Bug#4125 - mod_lang
        should provide way to reject illegall-encoded filenames.

2014-11-09  TJ Saunders <tj@castaglia.org>

        * NEWS: Update NEWS with mention of changes for Bug#4058.

2014-11-09  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #65 from proftpd/trace-timing-channel-bug4058 Bug#4058 -  Create a 'timing' trace channel, for timing-related data

2014-11-09  TJ Saunders <tj@castaglia.org>

        * contrib/mod_log_forensic.c, contrib/mod_sftp/packet.c,
        contrib/mod_tls.c, include/proftpd.h, include/support.h,
        modules/mod_auth.c, src/main.c, src/support.c: Add supporting
        functions for easier timestamping for a 'timing' channel, and start
        implementing some of the more important timings to capture.

2014-11-09  TJ Saunders <tj@castaglia.org>

        * NEWS, contrib/mod_sftp/configure: Update NEWS, regenerate mod_sftp
        configure, for fix for Bug#4131.

2014-11-09  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #64 from proftpd/sftp-autoconf-sha2-detection Fix mod_sftp's autoconf script to properly detect OpenSSL support
        for SH...

2014-11-06  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #63 from proftpd/sqlpasswd-dual-salt-support Modify mod_sql_passwd so that both global and per-user salts can be
        supp...

2014-11-06  tjsaunders <tjsaunders@blackpearlsystems.com>

        * NEWS, RELEASE_NOTES: Update NEWS, release notes for Bug#4130.

2014-11-06  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #62 from
        proftpd/site-utime-multi-timestamps-bug4130 Bug#4130 - Support the 3-timestamp form of SITE UTIME.

2014-11-03  tjsaunders <tjsaunders@blackpearlsystems.com>

        * NEWS: Update NEWS for fix for Bug#4129.

2014-11-03  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #61 from
        proftpd/sql-negative-cached-ids-bug4129 Bug#4129 - mod_sql caches incorrect UID/GID when name cannot be
        retrieve...

2014-11-02  tjsaunders <tjsaunders@blackpearlsystems.com>

        * tests/t/lib/ProFTPD/Tests/Commands/RMD.pm: Add regression test
        demonstrating deletion of a directory (empty) whose name contains
        spaces.

2014-10-27  TJ Saunders <tj@castaglia.org>

        * NEWS: Update NEWS with fix for Bug#4124.

2014-10-27  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #60 from
        proftpd/xfer-deleteabortestores-off-bug4124 Bug#4124 - DeleteAbortedStores defaults to "on" for all transfers,
        not j...

2014-10-24  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/scoreboard.c: Make sure we handle possible (albeit unlikey)
        lseek(2) errors here, too.

2014-10-24  tjsaunders <tjsaunders@blackpearlsystems.com>

        * utils/scoreboard.c: If lseek(2) fails, make sure we handle it
        properly.

2014-10-24  tjsaunders <tjsaunders@blackpearlsystems.com>

        * lib/tpl.c: Slightly better (paranoid) handling of fatal messages
        in TPL.

2014-10-24  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/stash.c, tests/api/stash.c: Per Coverity, check that our name
        comparison is doing what we expect.  Also ensure that the names used
        in stash tables are at least one character long; no empty strings.

2014-10-23  tjsaunders <tjsaunders@blackpearlsystems.com>

        * : commit 0ebf3f8a96aeaaa83bc1250fadc337d626a09186 Author:
        tjsaunders <tjsaunders@blackpearlsystems.com> Date:   Thu Oct 23
        08:50:32 2014 -0700

2014-10-23  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #58 from proftpd/tls-protocol-version-bug4116 Bug#4116 - Report exact SSL/TLS protocol version used in client
        connecti...

2014-10-22  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/memcache.c: Check for a null pointer again, as was done above.

2014-10-22  tjsaunders <tjsaunders@blackpearlsystems.com>

        * lib/tpl.c: Clean up the varargs in this error case.

2014-10-22  tjsaunders <tjsaunders@blackpearlsystems.com>

        * lib/tpl.c: Tell compilers (and static code analyzers) that we
        explicitly do not care about the return values in this code branch.

2014-10-22  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/main.c: If we still have trouble opening the ScoreboardFile in
        inetd mode, after deleting it, then fail to start up.

2014-10-22  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_shaper.c: Check for an improbable error when deleting
        the ShaperTable on shutdown, per Coverity's suggestions.

2014-10-21  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_tls.c: More refactoring to the TLS version setting in
        mod_tls, to make sure that the intended behavior, a la Bug#4114, is
        enforced properly in all cases. This code is much simpler to
        maintain now.

2014-10-21  TJ Saunders <tj@castaglia.org>

        * contrib/mod_tls.c: Got the order of the default ciphersuites
        wrong, for Bug#4114.

2014-10-21  tjsaunders <tjsaunders@blackpearlsystems.com>

        * modules/mod_xfer.c: Remove some unneeded code, and check that the
        configured Max{Retrieve,Store}FileSize is greater than zero.

2014-10-21  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/scoreboard.c, utils/scoreboard.c: If lseek(2) fails, make sure
        to clean up after ourselves before leaving (i.e.  unlocking the
        scoreboard, and closing the fd).

2014-10-19  TJ Saunders <tj@castaglia.org>

        * NEWS: Update NEWS for Bug#4035.

2014-10-19  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #53 from
        proftpd/xfer-hiddenstores-not-renamed-bug4035 Bug#4035 - HiddenStores file not renamed every time

2014-10-19  TJ Saunders <tj@castaglia.org>

        * : commit e3a87649a7bafa593b68b36fcc0b9eb2d1045eee Author: TJ
        Saunders <tj@castaglia.org> Date:   Sun Oct 19 12:13:49 2014 -0700

2014-10-19  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #51 from
        proftpd/sftp-too-small-buffer-bug4112 Bug#4112 - Failure to connect using mod_sftp sometimes due to
        too-small buffers

2014-10-19  TJ Saunders <tj@castaglia.org>

        * : commit 70c583005687a2cbba6807f9f83a504895eedb47 Author: TJ
        Saunders <tj@castaglia.org> Date:   Sun Oct 19 12:08:38 2014 -0700

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/log.c: If we fail to open a syslog socket, log the error.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/ctrls.c: Remove redundant variable.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * modules/mod_core.c: Ignore errors from setting trace levels here,
        when restarting.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * lib/pr-syslog.c, src/log.c: More cases where we are not concerned
        with errors; be explicit about it.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/inet.c: Check (or ignore) errors from pr_inet_set_block().

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_tls.c: Fix a case where, when secure site-to-site
        transfers are used, mod_tls would ignore a possible problem when
        matching the server cert's CN.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * lib/tpl.c: The tpl code needed some va_end() calls before
        returning early from a variadic function.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/misc.c: Log in other places here when
        stat(2)/fstat(2) fail.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/misc.c: Log if stat(2) fails here.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/data.c: We're not really concerned with a fcntl(2) error here.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/ctrls.c: Some controls could elicit large responses.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/ctrls.c: Put a bound on the number of controls response
        arguments, too.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/ctrls.c: Put a bound on the max number of controls request
        arguments.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * modules/mod_ctrls.c: Another place where we can check before
        calling close() on an fd.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * modules/mod_ctrls.c: Make sure the fd is a valid fd value before
        passing it to close(2).

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/scoreboard.c: More handling of lseek(2) errors.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * utils/scoreboard.c: Handle possible lseek(2) error when scrubbing
        scoreboard via ftpscrub.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/netaddr.c: More paranoid error handling, prompted by Coverity.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_quotatab_file.c: Handle (rare) cases where lseek(2)
        might return an error.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * modules/mod_core.c: Coverity found another place where possibly
        badly formatted Trace settings could trigger a null pointer
        dereference.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/keystore.c: Avoid possible null pointer
        dereferences (unlikely) when handling badly configured
        SFTPAuthorized{Host,User}Keys parameters.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * modules/mod_core.c: Avoid possible null pointer dereference, per
        Coverity.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_wrap2/mod_wrap2.c: Paranoidly check for NULL from
        strchr(3); this case should've been caught in the directive handler.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/fxp.c: Avoid possible (but unlikely) null pointer
        dereference.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/ctrls.c: Watch for short reads when reading in a controls
        request.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * doc/howto/Tracing.html, src/log.c, src/trace.c: Handle the case
        where opening a syslog socket might fail.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/fxp.c: Remove unreachable code, found by
        Coverity.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * modules/mod_xfer.c: Remove code which is logically
        dead/unreachable, per Coverity.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/memcache.c: A few more missing break statements found by
        Coverity.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * modules/mod_core.c: Handle the EISDIR case first; the following
        code would handle it automatically, but we want to handle EISDIR as
        a special case.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/event.c: Coverity's analysis correctly identified some
        dead/unreachable code.  Clean it up here.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * modules/mod_xfer.c: Remove redundant check, pointed out by
        Coverity.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/scoreboard.c: Remove some code which would never be reached,
        pointed out by Coverity.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * utils/ftpshut.c: Adding missing break statement, and make the code
        clearer.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/memcache.c: More missing break statements found by Coverity.

2014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * modules/mod_memcache.c: Add missing break statements, per
        Coverity.

2014-10-17  TJ Saunders <tj@castaglia.org>

        * contrib/mod_tls.c: Refactor the protocol-enabling bits into a
        common function, which makes the protocol setting code easier to
        read/maintain.

2014-10-16  tjsaunders <tjsaunders@blackpearlsystems.com>

        * NEWS, RELEASE_NOTES, doc/contrib/mod_tls.html: Update mod_tls
        docs, NEWS, and release notes for Bug#4114.

2014-10-16  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #56 from proftpd/tls-sslv3-disabled-bug4114 Bug#4114 - mod_tls should not support SSLv3 by default.

2014-10-16  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_tls.c: Bug#4114 - mod_tls should not support SSLv3 by
        default.

2014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/inet.c: Better error handling (and reporting).

2014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
        regression test demonstrating setting the UID/GID columns for
        SQLUserInfo to NULL.

2014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sql.c: Always log the default UID/GID, not just when
        "SQLAuthenticate groups" is in effect.  Sheesh.

2014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/bindings.c, src/inet.c, src/netaddr.c: In handling some
        Coverity-found issues, I think we were propagating some errors too
        eagerly.  Fix these, along with the trace logging added for tracking
        down the cause.

2014-10-14  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #55 from proftpd/coverity-defects Coverity defects

2014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>

        * modules/mod_delay.c: Check for fcntl(2) return values, and log
        them (via trace logging).

2014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/fxp.c: If there are errors setting a file handle
        as blocking, log them via trace logging.

2014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_tls.c: Log (via trace messages) when putting a socket
        into nonblocking/blocking mode results in errors.  Make it clear
        that setting other socket options can be ignored if they fail.

2014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/stash.c: Minor edge case found by Coverity.

2014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/coverity/modeling.c: More Coverity modeling hints.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_tls.c: More places where we need to log if there's an
        issue stashing a note in a table, especially these SSL notes.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_shaper.c: Per Coverity, avoid possible divide-by-zero
        situation.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/coverity/modeling.c: Model pr_session_disconnect() as a
        killpath.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sql_passwd.c: If we have an error reading the salt,
        then don't proceed to trying to manipulate the buffer containing
        said salt.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/timers.c: Remove redundant null check.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/fxp.c: Fix more places in mod_sftp where checking
        xerrno for EOF was unnecessary.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/fxp.c: As it is not possible for xerrno to be EOF
        in this case, remove the unneeded tertiary operator/check for that
        condition.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_snmp/mod_snmp.c: Add missing break statement
        (copy-pasto).

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/dirtree.c: Add missing break statement.  Oops.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_radius.c: Make it clearer what the expected
        usage/return value of the RADIUS_IS_VAR macro is.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/str.c: Remove some redundant checks: an int cannot be larger
        than INT_MAX, by definition.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/fsio.c: Restructure a function to remove dead code.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/cmd.c: Log if we have a problem caching our "displayable"
        string of a command in its notes table.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/display.c, src/display.c: Make sure that
        pr_fsio_fstat() succeeds before setting the IO block size hint on
        the file handle.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/misc.c: Another place where we weren't checking
        pr_fsio_fstat()'s return value.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/fxp.c: Be sure to check the pr_table_add() return
        value, per Coverity.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * modules/mod_xfer.c: Per Coverity's prodding, check the return
        value of pr_fsio_stat().

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/coverity/modeling.c: Model setenv(3) as a TAINTED_DATA
        sink.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/fxp.c: Another copy-pasto found by Coverity.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/fxp.c: Copy-pasto, found by Coverity.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/keys.c: Copy-pasto, found by Coverity.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/packet.c: If mod_sftp is interrupted when reading
        from a socket, then retry that read(2) call again, rather than just
        looping infinitely.

2014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_ldap.c: Remove unnecessary tertiary operator.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * modules/mod_delay.c: Use proper blocks, especially when dealing
        with macro expansion, to make clear what is happening (and what is
        in scope).

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/kex.c: Be consistent with the datatype used for
        the hostkey length throughout the KEX API.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * modules/mod_delay.c: If mod_delay has issues blocking/unblocking
        signals, log the reason why via trace logging.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_copy.c: Log, via trace logging, if we fail to add a
        session note.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_copy.c: Log, via trace logging, a should-never-fail
        error.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * lib/pr-syslog.c: If we have a problem sending a message via
        syslog, try (at least) to report it via STDERR.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/fsio.c: Prompted by Coverity, log (rather than ignoring)
        return values.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/agent.c: Per Coverity, at least log the fcntl(2)
        error when trying to set CLOEXEC on an fd opened to talk to an SSH
        agent.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/netio.c: Explicitly ignore fcntl(2) return values here.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/inet.c: Per Coverity, make sure that we check for, and handle
        errors, when calling getsockopt(2).

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/inet.c: At least log, via trace logging, if fcntl(F_SETOWN)
        fails.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/bindings.c, src/inet.c: Propagate -- and check for -- more
        return values, prompted by Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/rfc4716.c: Be more paranoid about checking return
        values, prompted by Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/data.c: Explicitly ignore the fcntl(2) return value for data
        sockets.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/inet.c: If setting a socket back to blocking mode fails,
        propagate that error to the caller, just as we do when setting the
        socket to nonblocking mode.  Found by Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/ctrls.c, src/log.c: Explicitly ignore the fcntl(2) return
        value when opening a log fd; there is no existing log fd that we can
        use at that point for reporting the error.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/dirtree.c: If we encounter an error in opening a socket, make
        sure that we return from that function early, as appropriate (found
        by Coverity).

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * utils/ftptop.c: Fix a possible (albeit unlikely) resource leak
        identified by Coverity.

2014-10-11  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #54 from proftpd/coverity-defects Coverity defects

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/display.c, src/display.c: Fix error spotted by
        Coverity, where we might exceed the array of supported units for
        Display variables.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * lib/pr-syslog.c: Avoid possible buffer overrun on exceedingly log
        syslog-destined log messages, per Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/keys.c, contrib/mod_sftp/keys.h: Ensure matching
        datatypes, on platforms where uint32_t and size_t are not the same
        size; this should address an issue spotted by Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_shaper.c: Initialize variable, per Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_snmp/mod_snmp.c: Initialize variable, per Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/keys.c: Initialize variable, per Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/stash.c: Initialize variable value, per Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp_sql.c: Be pedanticly cautious, prompted by
        Coverity, in making sure that buffer indices are within the range we
        assume.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/main.c: Avoid possible descriptor leak, found by Coverity, by
        using the existing pr_fs_get_usable_fd() function, rather than
        multiple different approaches.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_snmp/mod_snmp.c: Coverity found a "leaked" file
        descriptor in mod_snmp; we were not returning the opened socket to
        the caller when opening the listening socket.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/netaddr.c: Fix a case, found by Coverity, where we would not
        properly free an addrinfo.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/inet.c: Fix error case where a socket opened by init_conn()
        was not properly closed on error.  This leak was identified by
        Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/ctrls.c: If there are errors when opening a Controls socket,
        make sure that the socket is closed, otherwise we have a descriptor
        leak.  This was identified by Coverity.

2014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/env.c: Fix memory leak identified by Coverity: setenv(3)
        already makes a copy of its arguments, which means that we do not
        need to do it.

2014-10-10  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/keys.c, contrib/mod_tls.c: Make sure that when
        prompting the user for a passphrase for a certificate, we ensure
        that the buffer holding the passphrase is NUL-terminated.

2014-10-10  tjsaunders <tjsaunders@blackpearlsystems.com>

        * utils/scoreboard.c: If we fail to obtain a lock on the scoreboard
        and return the error, make sure we close the fd on the way out, lest
        we leak an fd.

2014-10-10  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/netaddr.c: Fix case where we might reference a buffer that has
        fallen out of scope.

2014-10-10  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_radius.c: Fix minor socket descriptor leak found by
        Coverity.

2014-10-09  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/inet.c, tests/Makefile.in, tests/api/inet.c,
        tests/api/stubs.c, tests/api/tests.c, tests/api/tests.h: Start
        working on unit tests for the Inet API.

2014-10-09  tjsaunders <tjsaunders@blackpearlsystems.com>

        * include/filter.h, src/filter.c, tests/Makefile.in,
        tests/api/filter.c, tests/api/tests.c, tests/api/tests.h: Adding
        unit tests for the Filter API.

2014-10-08  tjsaunders <tjsaunders@blackpearlsystems.com>

        * doc/howto/BCP.html, doc/modules/mod_auth.html: Minor doc updates,
        especially a caution for guarding the /proc filesystem.

2014-10-07  TJ Saunders <tj@castaglia.org>

        * include/options.h: Make the default lingering close timeout be 10
        secs, rather than 30 secs; the latter is rather long to wait for
        lost/wandering data to make its way to a client.

2014-10-07  TJ Saunders <tj@castaglia.org>

        * NEWS: Update NEWS for Bug#4110.

2014-10-07  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #52 from proftpd/core-solaris-conslog-bug4110 Bug#4110 - proftpd on Solaris should use /dev/conslog instead of
        /dev/lo...

2014-10-05  TJ Saunders <tj@castaglia.org>

        * tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Added more
        regression tests, and tweaked code to add more logging, and to
        handle additional error cases.  This should help remove edge cases
        where HiddenStores are not properly deleted on error.

2014-10-05  TJ Saunders <tj@castaglia.org>

        * include/pr-syslog.h, lib/pr-syslog.c: Bug#4110 - proftpd on
        Solaris should use /dev/conslog instead of /dev/log.

2014-10-05  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/cipher.c, contrib/mod_sftp/kex.c,
        contrib/mod_sftp/mac.c: Increase buffer sizes where we write out
        mpints during the key exchange process, for Bug#4112.

2014-10-05  TJ Saunders <tj@castaglia.org>

        * : commit d2e0461cc51145c71dc1d8a4b48b669a39f5fe1a Author: TJ
        Saunders <tj@castaglia.org> Date:   Sun Oct 5 10:04:22 2014 -0700

2014-10-05  TJ Saunders <tj@castaglia.org>

        * doc/contrib/mod_ldap.html: Update mod_ldap docs to mention "ldap"
        trace logging channel, courtesy of Bug#4107.

2014-10-05  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #50 from proftpd/ldap-more-tracing-bug4107 Bug#4107 - LDAPLog can fill disk on a busy server.  Start moving
        some of...

2014-09-28  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_tls.c: Initial work on PSK support; needs testing.

2014-09-28  TJ Saunders <tj@castaglia.org>

        * contrib/mod_ldap.c: Bug#4107 - LDAPLog can fill disk on a busy
        server.  Start moving some of the mod_ldap logging into TraceLog.

2014-09-28  TJ Saunders <tj@castaglia.org>

        * NEWS: Updated NEWS for fix of Bug#4109.

2014-09-28  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #49 from proftpd/inet-ipv6-tclass-bug4109 Bug#4109 - setsockopt() call for IPV6_TCLASS should use
        IPPROTO_IPV6.

2014-09-23  TJ Saunders <tj@castaglia.org>

        * NEWS: Update NEWS with fix for Bug#4108.

2014-09-23  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #48 from
        proftpd/tls-data-conn-handshake-delay-bug4108 Bug#4108 - SSL handshakes for data connections sometimes stall for
        3-30 ...

2014-09-21  TJ Saunders <tj@castaglia.org>

        * : commit cf83753a6564b84f6962f60f2f0b49b4c7a89a97 Author: TJ
        Saunders <tj@castaglia.org> Date:   Sun Sep 21 21:51:56 2014 -0700

2014-09-21  TJ Saunders <tj@castaglia.org>

        * .travis.yml: Use --enable-devel when building via travis-ci.

2014-09-21  TJ Saunders <tj@castaglia.org>

        * contrib/mod_deflate.c, modules/mod_memcache.c: Fix build
        warnings/breakage.

2014-09-21  TJ Saunders <tj@castaglia.org>

        * : commit d2f5d99fef7a30b3772b48ee4b3a400bf7ef9a65 Author: TJ
        Saunders <tj@castaglia.org> Date:   Sun Sep 21 16:53:03 2014 -0700

2014-09-18  TJ Saunders <tj@castaglia.org>

        * doc/modules/mod_facts.html: Slightly better anchor name.

2014-09-18  TJ Saunders <tj@castaglia.org>

        * doc/modules/mod_facts.html: Add FAQ about disabling mod_facts
        module entirely.

2014-09-14  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/cipher.c, contrib/mod_sftp/mac.c: Increase cipher
        and MAC buffer sizes, as a (somewhat educated) guess as to what
        might be causing the issues reported here:   https://forums.proftpd.org/smf/index.php/topic,11611.0.html

2014-09-10  TJ Saunders <tj@castaglia.org>

        * doc/contrib/mod_tls.html: Doc typo.

2014-09-07  TJ Saunders <tj@castaglia.org>

        * NEWS, contrib/mod_sftp/display.c: Make sure the fix for Bug#4094
        is applied to mod_sftp's handling of Display variables as well.

2014-09-07  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/keys.c: When loading the hostkey data, stop using
        the scratch buffer, and start using the provided pool.  In limited
        tests, this appears to help with rekeying.

2014-09-07  TJ Saunders <tj@castaglia.org>

        * doc/modules/mod_rlimit.html: Add a FAQ section to mod_rlimit, for
        the RLimitChroot directive.

2014-09-07  TJ Saunders <tj@castaglia.org>

        * modules/mod_core.c, modules/mod_xfer.c: Start moving toward using
        'core.module-reset' event handlers, rather than a POST_CMD HOST
        handler, for preparing a module for a changed main_server pointer
        due to a HOST command.

2014-09-04  tjsaunders <tjsaunders@blackpearlsystems.com>

        * NEWS, RELEASE_NOTES: Update NEWS, RELEASE_NOTES for fix for
        Bug#4098.

2014-09-04  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #44 from proftpd/sftp-hostkey-perms-bug4098 Bug#4098 -  mod_sftp unable to use SFTPHostKey due to being group
        readable in CentOS 7.

2014-09-03  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/keys.c, tests/t/lib/ProFTPD/TestSuite/Utils.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add
        integration/regression test for Bug#4098, and improve the log
        message when insecure permissions on hostkey files are found.

2014-08-30  TJ Saunders <tj@castaglia.org>

        * : commit 3e1a5851a7e2c7bcb711328225ffa9898780f2ec Merge: cd85317
        a8cc506 Author: TJ Saunders <tj@castaglia.org> Date:   Fri Aug 29
        08:51:04 2014 -0700

2014-08-29  TJ Saunders <tj@castaglia.org>

        * NEWS: Updating NEWS.

2014-08-29  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in: Make
        sure that if zlib support is lacking, mod_sftp does not to try
        negotiate compression during the key exchange.

2014-08-29  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/Makefile.in: Make sure to add -lz, when needed,
        to the building of a DSO mod_sftp.

2014-08-29  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/Makefile.in, contrib/mod_sftp/compress.c,
        contrib/mod_sftp/configure, contrib/mod_sftp/configure.in: Improve
        the detection of zlib support, and handling of the results, for
        mod_sftp.

2014-08-28  TJ Saunders <tj@castaglia.org>

        * Make.rules.in, configure, configure.in,
        contrib/mod_sftp/Makefile.in, contrib/mod_sftp/compress.c,
        contrib/mod_sftp/configure, contrib/mod_sftp/configure.in,
        contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in,
        contrib/mod_tls_memcache.c, contrib/mod_tls_shmcache.c: Bug#4102 -
        Failure to build mod_tls when using static libcrypto due to libdl
        linker errors.  In the course of fixing this issue, I also fixed problems with
        configure's detection of EC support in OpenSSL, and make it possible
        for mod_sftp to build without zlib support.

2014-08-27  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/configure, contrib/mod_sftp/configure.in: Fix
        another place where the libdl linker flag may need to come earlier
        in the list.

2014-08-27  TJ Saunders <tj@castaglia.org>

        * configure, configure.in: Bug#4102 - Failure to build mod_tls when
        using static libcrypto due to libdl linker errors.

2014-08-27  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/keys.c, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_sftp/mod_sftp.h.in: Bug#4098 - mod_sftp unable to use
        SFTPHostKey due to being group readable in CentOS 7.

2014-08-19  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/kex.c,
        tests/t/etc/modules/mod_sftp/ssh_host_rsa1024_key,
        tests/t/etc/modules/mod_sftp/ssh_host_rsa1024_key.pub,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#4097 - SSH rekey
        fails when using RSA hostkey smaller than 2048 bits.

2014-08-16  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #41 from proftpd/core-smkdir-only-when-needed Only use the mkdtemp(3) route in pr_fsio_smkdir() if root privs are
        need...

2014-08-14  TJ Saunders <tj@castaglia.org>

        * contrib/mod_tls.c, include/bindings.h, modules/mod_core.c,
        src/bindings.c, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: More work on handling
        the implications of HOST commands in various modules; much more work
        to be done here.

2014-08-14  TJ Saunders <tj@castaglia.org>

        * include/ftp.h, modules/mod_core.c,
        tests/t/lib/ProFTPD/TestSuite/FTP.pm: Create branch for finishing
        work on supporting the HOST command (Bug#3289).

2014-08-14  TJ Saunders <tj@castaglia.org>

        * src/fsio.c: Only use the mkdtemp(3) route in pr_fsio_smkdir() if
        root privs are needed for setting the desired ownership, i.e.
        UserOwner/GroupOwner are in effect.

2014-08-13  TJ Saunders <tj@castaglia.org>

        * doc/modules/mod_log.html: Update mod_log docs with a FAQ section,
        including a FAQ on how to get the ExtendedLog to include the reason
        why a session was ended.

2014-08-13  TJ Saunders <tj@castaglia.org>

        * modules/mod_ctrls.c, src/ctrls.c: Stylistic nits; no functional
        change.

2014-08-13  TJ Saunders <tj@castaglia.org>

        * configure: Regenerated configure script.

2014-08-13  TJ Saunders <tj@castaglia.org>

        * configure.in: Adding build summary for static and shared modules;
        more info will be added in this section.

2014-08-13  TJ Saunders <tj@castaglia.org>

        * : commit e423841e2d07f72d766baff5fddf094db343ff38 Author: TJ
        Saunders <tj@castaglia.org> Date:   Wed Aug 13 06:42:53 2014 -0700

2014-08-13  TJ Saunders <tj@castaglia.org>

        * configure.in: Fixed handling of too-many/misplaced colons in
        --with-shared argument.

2014-08-12  TJ Saunders <tj@castaglia.org>

        * configure, configure.in, src/fsio.c: Revert previous configure
        script change; it broke the build for shared modules.  Need to
        reexamine why that feedback was given on GitHub.  Also fix a typo
        causing a compiler warning.

2014-08-12  TJ Saunders <tj@castaglia.org>

        * configure: Regenerated configure script.

2014-08-12  TJ Saunders <tj@castaglia.org>

        * configure.in: Review feedback from GitHub.

2014-08-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * NEWS: Update NEWS for fix for Bug#4094.

2014-08-11  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #38 from
        proftpd/core-display-avail-space-bug4094 Bug#4094 - Available space on file system using %f displays wrong
        value.

2014-08-11  tjsaunders <tjsaunders@blackpearlsystems.com>

        * NEWS: Update NEWS for changes for Bug#4030.

2014-08-11  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #37 from proftpd/auth-negative-cache-bug4030 Bug#4030 - Cache negative/failed Auth API name/ID lookups.

2014-08-11  TJ Saunders <tj@castaglia.org>

        * include/auth.h, src/auth.c, tests/api/auth.c: Bug#4030 - Cache
        negative/failed Auth API name/ID lookups.

2014-08-10  TJ Saunders <tj@castaglia.org>

        * NEWS: Update NEWS with fix for Bug#4020.

2014-08-10  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #36 from proftpd/delay-delayonevent-bug4020 Bug#4020 - Add minimum delay options to mod_delay functionality

2014-08-10  TJ Saunders <tj@castaglia.org>

        * doc/modules/mod_delay.html, modules/mod_delay.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm: Bug#4020 - Add
        minimum delay options to mod_delay functionality.

2014-08-09  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #35 from proftpd/fsio-getpipebuf-bug4050 Bug#4050 - Use of PIPE_BUF causes build failure on platforms without
        it.

2014-08-09  TJ Saunders <tj@castaglia.org>

        * doc/contrib/mod_copy.html, doc/contrib/mod_deflate.html,
        doc/contrib/mod_dnsbl.html, doc/contrib/mod_geoip.html,
        doc/contrib/mod_ifsession.html, doc/contrib/mod_rewrite.html,
        doc/contrib/mod_sftp.html, doc/contrib/mod_snmp.html,
        doc/contrib/mod_sql.html, doc/contrib/mod_sql_passwd.html,
        doc/contrib/mod_tls.html, doc/contrib/mod_tls_memcache.html,
        doc/contrib/mod_tls_shmcache.html, doc/modules/mod_auth_file.html,
        doc/modules/mod_auth_pam.html, doc/modules/mod_auth_unix.html,
        doc/modules/mod_ctrls.html, doc/modules/mod_delay.html,
        doc/modules/mod_dso.html, doc/modules/mod_facl.html,
        doc/modules/mod_ident.html, doc/modules/mod_xfer.html,
        modules/mod_auth_pam.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_tls_memcache.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_tls_shmcache.pm: More
        documentation followup/cleanup for Bug#4054.

2014-08-09  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sql_passwd.c, contrib/mod_tls_memcache.c,
        contrib/mod_tls_shmcache.c, doc/contrib/mod_copy.html,
        doc/contrib/mod_deflate.html, doc/contrib/mod_dnsbl.html,
        doc/contrib/mod_geoip.html, doc/contrib/mod_ifsession.html,
        doc/contrib/mod_rewrite.html, doc/contrib/mod_sftp.html,
        doc/contrib/mod_snmp.html, doc/contrib/mod_sql.html,
        doc/contrib/mod_sql_passwd.html, doc/contrib/mod_tls.html,
        doc/contrib/mod_tls_memcache.html,
        doc/contrib/mod_tls_shmcache.html: Bug#4054 - Ensure that module
        documentation mentions Trace channel names where applicable.

2014-08-09  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #34 from proftpd/core-serverident-var-version Support %{version} variable for ServerIdent

2014-08-09  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #33 from proftpd/sftp-missing-payload-bug4093 Bug#4093 - Improve mod_sftp handling of missing packet payloads.

2014-08-09  TJ Saunders <tj@castaglia.org>

        * src/session.c, tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm: 
        Support a %{version} variable in the ServerIdent value.

2014-08-09  TJ Saunders <tj@castaglia.org>

        * modules/mod_ctrls.c: Clarify the mod_ctrls message when chown(2)
        fails to include the local socket path.

2014-08-09  TJ Saunders <tj@castaglia.org>

        * modules/mod_log.c: Fix handling of ExtendedLogs which log to
        syslog.

2014-08-08  TJ Saunders <tj@castaglia.org>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding another
        regression test for Bug#4067, proving that an ExtendedLog using just
        the READ or WRITE classes properly logs SFTP uploads and downloads,
        without needing to explicitly include the SFTP class.

2014-08-07  tjsaunders <tjsaunders@blackpearlsystems.com>

        * RELEASE_NOTES: Minor note, for future fleshing out, about
        ExtendedLog functionality changes.

2014-08-07  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/inet.c: Avoid log spam on FreeBSD 10, which is reported to
        indicate that the IPV6_TCLASS socket option is not usable on IPv6
        sockets via EINVAL, rather than the more appropriate ENOPROTOOPT.
        Sigh.

2014-07-30  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/auth-hostbased.c, contrib/mod_sftp/blacklist.c,
        contrib/mod_sftp/keys.c, contrib/mod_sftp/keystore.c,
        contrib/mod_sftp/msg.c: Bug#4093 - Improve mod_sftp handling of
        missing packet payloads.

2014-07-28  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/bindings.c: Ignore "unable to accept an incoming connection:
        Software caused connection abort" messages, as they are almost
        always caused by TCP probes/health checks from e.g. naive load
        balancers.

2014-07-28  tjsaunders <tjsaunders@blackpearlsystems.com>

        * NEWS: Updated NEWS for fix of Bug#4091.

2014-07-28  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #32 from
        proftpd/core-privs-error-logging-bug4091 Bug#4091 - Log "Operation not permitted" privs errors at NOTICE
        rather t...

2014-07-27  TJ Saunders <tj@castaglia.org>

        * src/privs.c: Bug#4091 - Log "Operation not permitted" privs errors
        at NOTICE rather than ERROR.

2014-07-25  tjsaunders <tjsaunders@blackpearlsystems.com>

        * NEWS, contrib/mod_wrap2_file.c: Update NEWS for fix of Bug#4090.

2014-07-25  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #31 from proftpd/wrap2-file-ipv6-addr-bug4090 Bug#4090 - mod_wrap2_file does not support IPv6 addresses properly.

2014-07-25  tjsaunders <tjsaunders@blackpearlsystems.com>

        * NEWS: Updated NEWS with fix for Bug#4089.

2014-07-25  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #30 from
        proftpd/sftp-auth-multiple-attempts-bug4089 Bug#4089 - mod_sftp does not allow multiple attempts using a given

2014-07-19  TJ Saunders <tj@castaglia.org>

        * NEWS: Update NEWS for fix for Bug#4087.

2014-07-19  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #29 from
        proftpd/sftp-maxloginattempts-none-bug4087 Bug#4087 - mod_sftp does not handle "MaxLoginAttempts none"
        properly.

2014-07-17  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/mod_sftp.h.in: Keep the mod_sftp version string
        format consistently using three digits, and use "1.0.0" instead of
        "1.0".

2014-07-17  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.h.in: Fix
        SFTPLog message if LINK request fails.  Bump mod_sftp version, due
        to fixed LINK handling (and other fixes).

2014-07-16  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/auth.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#4087 - mod_sftp
        does not handle "MaxLoginAttempts none" properly.

2014-07-16  TJ Saunders <tj@castaglia.org>

        * tests/t/etc/modules/mod_sftp/authorized_rsa_keys2,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        test of publickey SSH authentication, where the key is stored as the
        2nd key in the file.

2014-07-09  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp_pam.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_pam.pm: Add louder
        logging for when mod_sftp_pam denies a login, along with a
        regression test that tickles this behavior.

2014-07-08  TJ Saunders <tj@castaglia.org>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
        regression test for SQLUserInfo which returns NULL for the uid/gid
        columns; this ensures that a) mod_sql doesn't segfault on such
        return values, and b) that the SQLDefaultUID/SQLDefaultGID values
        are used.

2014-07-06  TJ Saunders <tj@castaglia.org>

        * NEWS: Updated NEWS with fix of Bug#4081.

2014-07-06  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #28 from
        proftpd/sftp-symlink-rel-path-bug4081 Bug#4081 - Not possible to create relative symlinks with SFTP.

2014-07-05  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sql.c, modules/mod_log.c: Add support for the
        %{file-offset} variable to mod_sql (and the missing %{file-modified}
        variable).  Fixed formatting/printing of %{file-offset} for
        ExtendedLog.

2014-07-05  TJ Saunders <tj@castaglia.org>

        * NEWS: Updating NEWS for Bug#4084.

2014-07-05  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #27 from
        proftpd/ls-nlst-glob-recursion-bug4084 Bug#4084 - "NLST *" returns files from subdirectories.

2014-07-05  TJ Saunders <tj@castaglia.org>

        * modules/mod_ls.c, tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: 
        Bug#4084 - "NLST *" returns files from subdirectories.

2014-07-05  TJ Saunders <tj@castaglia.org>

        * tests/t/config/maxtransfersperhost.t,
        tests/t/config/maxtransfersperuser.t,
        tests/t/lib/ProFTPD/Tests/Config/MaxTransfersPerHost.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxTransfersPerUser.pm,
        tests/tests.pl: Adding regression tests for the MaxTransfersPerHost
        and MaxTransfersPerUser directives.

2014-07-03  TJ Saunders <tj@castaglia.org>

        * doc/modules/mod_auth.html, doc/modules/mod_xfer.html: Fill in
        missing descriptions for the MaxClients* and MaxTransfers*
        directives.

2014-07-02  tjsaunders <tjsaunders@blackpearlsystems.com>

        * NEWS: Updating NEWS for Bug#4083.

2014-07-02  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #26 from
        proftpd/sql-defaulthomedir-empty-home-bug4083 Bug#4083 - Using SQLDefaultHomedir with null home results in "No
        such user"

2014-07-02  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sql.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#4083 -
        Using SQLDefaultHomedir with null home results in "No such user".

2014-06-26  TJ Saunders <tj@castaglia.org>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Adding
        regression test for particular mod_ifsession config, based on
        reports from the forums.

2014-06-26  TJ Saunders <tj@castaglia.org>

        * modules/mod_log.c: Fix bug in the handling of ExtendedLog class
        name parsing, introduced as part of the change for Bug#4067.

2014-06-24  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c,
        modules/mod_xfer.c: Stash the file-offset note for SCP transfers as
        well.  Fix up misleading comments.

2014-06-24  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/fxp.c, include/mod_log.h, modules/mod_log.c,
        modules/mod_xfer.c: Add support for a new %{file-offset} LogFormat
        variable, to store the file offset at which a file transfer (upload
        or download) starts.

2014-06-24  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #25 from proftpd/core-cmd-errno-note Stash an errno value for all commands, for use by e.g. auditing
        modules

2014-06-23  TJ Saunders <tj@castaglia.org>

        * : commit 7d818268492254c9ee32f5ef4ab24edc04fe2a7e Author:
        tjsaunders <tjsaunders@blackpearlsystems.com> Date:   Mon Jun 23
        09:34:29 2014 -0700

2014-06-23  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #24 from proftpd/sftp-symlink-order-bug4080 Bug#4080 - mod_sftp does not implement SFTP LINK request properly.

2014-06-22  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/fxp.c, src/fsio.c, tests/api/fsio.c: Bug#4080 -
        mod_sftp does not implement SFTP LINK request properly.

2014-06-20  tjsaunders <tjsaunders@blackpearlsystems.com>

        * doc/modules/mod_rlimit.html: Adding clarifying comments about
        RLimitChroot.

2014-06-20  tjsaunders <tjsaunders@blackpearlsystems.com>

        * NEWS: Update NEWS for fix for Bug#4079.

2014-06-20  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #23 from proftpd/sftp-space-available-bug4079 Bug#4079 - Invalid response encoding for SFTP space-available
        request.

2014-06-20  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sftp/fxp.c: Bug#4079 - Invalid response encoding for
        SFTP space-available request.

2014-06-19  TJ Saunders <tj@castaglia.org>

        * modules/mod_xfer.c: Add trace message of when REST offset exceeds
        file size, containg the requested offset and the file size in
        question.

2014-06-19  TJ Saunders <tj@castaglia.org>

        * modules/mod_xfer.c, src/netio.c,
        tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Adding regression
        tests for the behavior reported in Bug#4035, and tweaking the code
        to handle these cases.

2014-06-19  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #21 from
        proftpd/exec-execenable-per-directory-bug4076 Bug#4076 - Ability to disable mod_exec on a per-directory basis.

2014-06-19  TJ Saunders <tj@castaglia.org>

        * : commit 37569a94b3156be8f732741774702bb3fe5136be Author:
        tjsaunders <tjsaunders@blackpearlsystems.com> Date:   Thu Jun 19
        18:36:35 2014 -0700

2014-06-19  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #20 from proftpd/shaper-log-sighup-bug4077 Bug#4077 - ShaperLog not closed/reopened on SIGHUP, causing log
        rotation

2014-06-19  TJ Saunders <tj@castaglia.org>

        * : commit f214df3fd415cb9ce2cb6fd74bd85caa5b0ecc46 Author: TJ
        Saunders <tj@castaglia.org> Date:   Thu Jun 19 07:54:37 2014 -0700

2014-06-18  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #22 from
        proftpd/auth-addl-failure-reasons-bug4070 Bug#4070 - Support wider range of authentication failures.

2014-06-18  TJ Saunders <tj@castaglia.org>

        * : commit 5027925f5133e3d911eb7af27672fe45bda2818d Author: TJ
        Saunders <tj@castaglia.org> Date:   Wed Jun 18 21:50:26 2014 -0700

2014-06-18  TJ Saunders <tj@castaglia.org>

        * contrib/mod_ldap.c, src/auth.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_ldap.pm: Something shifted
        that is causing mod_ldap login troubles; making some tweaks to
        hopefully narrow down the issue.

2014-06-18  TJ Saunders <tj@castaglia.org>

        * doc/modules/mod_facts.html: Mention, in the mod_facts docs, how to
        build that module as a shared module.

2014-06-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/stash.c: Address more travis-ci compiler warnings.

2014-06-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/pidfile.c: Remember to set errno if opening the PidFile fails.
        This fixes a compiler warning detected by travis-ci.

2014-06-18  tjsaunders <tjsaunders@blackpearlsystems.com>

        * NEWS: Update NEWS with mention of Bug#4073.

2014-06-18  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #19 from
        proftpd/tls-implicitssl-download-bug4073 Bug#4073 - Polycom VOIP phones unable to use FTPS data transfers.

2014-06-17  TJ Saunders <tj@castaglia.org>

        * include/auth.h, modules/mod_auth.c, modules/mod_auth_pam.c: 
        Bug#4070 - Support wider range of authentication failures.

2014-06-17  TJ Saunders <tj@castaglia.org>

        * contrib/mod_exec.c, doc/contrib/mod_exec.html,
        tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Bug#4076 - Ability to
        disable mod_exec on a per-directory basis.

2014-06-17  TJ Saunders <tj@castaglia.org>

        * include/cmd.h, src/cmd.c, tests/api/cmd.c: Start working on
        stashing the errno value for every command in the cmd->notes table.
        This will allow modules (such as audit modules for Bug#3807) access
        to that errno value, for tracking/logging.

2014-06-17  TJ Saunders <tj@castaglia.org>

        * contrib/mod_shaper.c: Bug#4077 - ShaperLog not closed/reopened on
        SIGHUP, causing log rotation problems.

2014-06-17  TJ Saunders <tj@castaglia.org>

        * contrib/mod_tls.c: Remove unnecessary comment.

2014-06-17  TJ Saunders <tj@castaglia.org>

        * contrib/mod_tls.c, modules/mod_xfer.c: Bug#4073 - Polycom VOIP
        phones unable to use FTPS data transfers.

2014-06-17  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #18 from
        proftpd/ls-stat-response-codes-bug3990 Fix regression for Bug#3990

2014-06-17  TJ Saunders <tj@castaglia.org>

        * modules/mod_ls.c, tests/t/lib/ProFTPD/Tests/Commands/STAT.pm: Fix
        the handling of the response code for STAT commands, fixing a
        regression caused by the previous commits for Bug#3990.

2014-05-30  tjsaunders <tjsaunders@blackpearlsystems.com>

        * NEWS: Update NEWS for Bug#4063.

2014-05-30  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #16 from
        proftpd/fsio-smkdir-cifs-eacces-bug4063 Bug#4063 -  Unable to create directory on NFS/CIFS partition:
        Permission...

2014-05-30  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #17 from
        proftpd/ls-nlst-opt-a-wrong-directory-bug4069 Bug#4069 - NLST -a shows / directory instead of the current
        directory.

2014-05-30  tjsaunders <tjsaunders@blackpearlsystems.com>

        * modules/mod_ls.c: Bug#4069 - NLST -a shows / directory instead of
        the current directory.

2014-05-29  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/fsio.c: Bug#4063 -  Unable to create directory on NFS/CIFS
        partition: Permission denied.

2014-05-29  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #15 from proftpd/auth-anon-maxclients-bug4068 Bug#4068 - MaxClients directive doesn't work for <Anonymous>
        sessions.

2014-05-29  tjsaunders <tjsaunders@blackpearlsystems.com>

        * : commit cd89bc454ba0e3655b01a79ca32cc342595bdd46 Author:
        tjsaunders <tjsaunders@blackpearlsystems.com> Date:   Thu May 29
        09:57:31 2014 -0700

2014-05-29  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #14 from proftpd/sftp-extlog-class-bug4067 ExtendedLog classes for SSH, SFTP (Bug#4067)

2014-05-29  tjsaunders <tjsaunders@blackpearlsystems.com>

        * modules/mod_log.c,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Better
        implementation of logging class exclusion, and tested with
        regression tests, including the new SSH and SFTP logging classes.

2014-05-28  tjsaunders <tjsaunders@blackpearlsystems.com>

        * NEWS, RELEASE_NOTES, contrib/mod_sftp/auth.c,
        contrib/mod_sftp/channel.c, contrib/mod_sftp/fxp.c,
        contrib/mod_sftp/kex.c, contrib/mod_sftp/service.c,
        include/modules.h, modules/mod_log.c: Bug#4067 - Create ExtendedLog
        class for SFTP requests.

2014-05-28  tjsaunders <tjsaunders@blackpearlsystems.com>

        * doc/modules/mod_core.html: Update ServerIdent description to
        mention the supported variables, and add description for the
        ServerName directive.

2014-05-28  tjsaunders <tjsaunders@blackpearlsystems.com>

        * NEWS, doc/contrib/mod_sftp.html: Update NEWS, mod_sftp docs for
        Bug#4065.

2014-05-28  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #13 from
        proftpd/sftp-banner-environ-variable-bug4065 Bug#4065 - mod_sftp should provide the SSH client banner as
        environment variable, for logging

2014-05-27  tjsaunders <tjsaunders@blackpearlsystems.com>

        * contrib/mod_sftp/mod_sftp.c: Bug#4065 - mod_sftp should provide
        the SSH client banner as environment variable, for logging.

2014-05-27  tjsaunders <tjsaunders@blackpearlsystems.com>

        * doc/contrib/mod_sftp.html: Improved formatting for mod_sftp
        environment variables.

2014-05-27  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #12 from
        proftpd/scoreboard-entry-locking-bug3823 Attempt to mitigate possible cause for Bug#3823 by replacing use of
        F_SE...

2014-05-27  TJ Saunders <tj@castaglia.org>

        * src/scoreboard.c: Attempt to mitigate possible cause for Bug#3823
        by replacing use of F_SETLKW when updating scoreboard entries to
        F_SETLK, and handling interruptions.  This should reduce any
        (potentially long) blocking behaviors.

2014-05-26  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #11 from proftpd/signals-refactoring Refactor the signal-handling code out of src/main.c, and into its
        own so...

2014-05-25  TJ Saunders <tj@castaglia.org>

        * include/conf.h: Previous merge forgot to include the new configdb
        header.

2014-05-25  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #10 from proftpd/dirtree-refactoring Refactor the src/dirtree.c file into smaller chunks, one for the
        pr_conf...

2014-05-24  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #9 from
        proftpd/hiddenstores-pid-variable-bug4062 Bug#4062 - Support PID variable in HiddenStores filename.

2014-05-24  TJ Saunders <tj@castaglia.org>

        * include/log.h, src/log.c, src/main.c: Fix slight regression in
        logging behavior due to changes for Bug#3983.  If the -d
        command-line option is used, then make sure the default syslog level
        is DEBUG, so that the requested debug logging appears.

2014-05-24  TJ Saunders <tj@castaglia.org>

        * modules/mod_xfer.c,
        tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Bug#4062 - Support
        PID variable in HiddenStores filename.

2014-05-24  TJ Saunders <tj@castaglia.org>

        * modules/mod_auth_file.c: Sprinkle more signal handling in
        potentially long while() loops when handling AuthUserFiles and
        AuthGroupFiles.

2014-05-24  TJ Saunders <tj@castaglia.org>

        * modules/mod_auth_file.c: Fix ordering of handlers in
        mod_auth_file; no functional change.

2014-05-24  TJ Saunders <tj@castaglia.org>

        * modules/mod_auth_file.c, modules/mod_auth_unix.c: Use better trace
        channel names in the provided auth modules.

2014-05-24  TJ Saunders <tj@castaglia.org>

        * modules/mod_auth_file.c: Comment typo fixed.  No functional
        change.

2014-05-24  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #8 from
        proftpd/snmp-multiple-agent-addrs-bug4061 Bug#4061 - SNMPAgent should support multiple addresses, including
        IPv6

2014-05-23  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #7 from proftpd/aix-build-errors Fix AIX build issues, as reported in the forums; see:

2014-05-21  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #6 from proftpd/symtab-hash-comparison When storing symbols in the symbol table hash ("stash"), stop
        storing al...

2014-05-21  TJ Saunders <tj@castaglia.org>

        * contrib/mod_ctrls_admin.c, contrib/mod_quotatab_ldap.c,
        contrib/mod_quotatab_radius.c, contrib/mod_quotatab_sql.c,
        contrib/mod_ratio.c, contrib/mod_sftp_sql.c,
        contrib/mod_sql_passwd.c, contrib/mod_wrap2_sql.c,
        include/dirtree.h, include/stash.h, src/auth.c, src/cmd.c,
        src/main.c, src/modules.c, src/parser.c, src/stash.c,
        tests/api/stash.c: When storing symbols in the symbol table hash
        ("stash"), stop storing all symbol types (CMD, CONF, AUTH, and HOOK)
        all in the same table.  Instead, have different tables for each
        different type.  This makes it faster when looking up (by name) a
        symbol of a given type; less symbol names to grovel through and
        compare.  And speaking of symbol comparisons, this change also stores the hash
        value (of the symbol name) as part of the symbol data.  Thus when
        doing symbol lookups, the hash value is compared FIRST, and only if
        that value matches will the more in-depth comparison (by name
        length, name content) be done.  The overall effect should be a net gain in speed (less latency when
        dispatching e.g. commands, auth lookups, parsing), and a drop in CPU
        (due to fewer string comparisons hopefully).

2014-05-20  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #5 from proftpd/parser-pidfile-unit-tests Add unit tests for the Pidfile API, and start working on tests for
        the

2014-05-19  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #4 from proftpd/trace-unit-tests Adding unit tests for the Trace API; fixed some minor bugs found
        while

2014-05-18  TJ Saunders <tj@castaglia.org>

        * .gitignore: A few more files for git to ignore.

2014-05-18  TJ Saunders <tj@castaglia.org>

        * src/main.c: Stylistic nit; no functional change.

2014-05-18  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #3 from proftpd/clang-warnings Clean up some warnings spotted by travis-ci's clang build.

2014-05-18  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #2 from proftpd/radius-timeout-parsing Update mod_radius to use pr_str_get_duration() for parsing timeout
        strin...

2014-05-18  TJ Saunders <tj@castaglia.org>

        * contrib/mod_radius.c: Update mod_radius to use
        pr_str_get_duration() for parsing timeout strings for the
        RadiusAuthServer and RadiusAcctServer directives.  Fixed stylistic
        nits while there.

2014-05-18  TJ Saunders <tj@castaglia.org>

        * Makefile.in: Clean up the .git/ directory, and .gitignore and
        .travis.yml files, when preparing a release.

2014-05-18  TJ Saunders <tj@castaglia.org>

        * .cvsignore, contrib/.cvsignore, contrib/mod_dnsbl/.cvsignore,
        contrib/mod_load/.cvsignore, contrib/mod_sftp/.cvsignore,
        contrib/mod_snmp/.cvsignore, contrib/mod_wrap2/.cvsignore,
        include/.cvsignore, lib/.cvsignore, lib/libcap/.cvsignore,
        locale/.cvsignore, modules/.cvsignore, src/.cvsignore,
        tests/.cvsignore, tests/api/.cvsignore, tests/array.c,
        tests/class.c, tests/env.c, tests/event.c, tests/expr.c,
        tests/feat.c, tests/modules.c, tests/netacl.c, tests/netaddr.c,
        tests/pool.c, tests/regexp.c, tests/scoreboard.c, tests/sets.c,
        tests/str.c, tests/stubs.c, tests/table.c, tests/tests.c,
        tests/tests.h, tests/timers.c, tests/var.c, tests/version.c,
        utils/.cvsignore: Clean up more files from the cvs2git conversion.

2014-05-18  TJ Saunders <tj@castaglia.org>

        * NEWS: Update NEWS.

2014-05-18  TJ Saunders <tj@castaglia.org>

        * : Merge pull request #1 from proftpd/stat-response-code-bug3990 Bug#3990 - Use 213 response code for STAT on a file.  We also use
        212 fo...

2014-05-18  TJ Saunders <tj@castaglia.org>

        * contrib/mod_quotatab.c: Style nits; no functional change.

2014-05-18  TJ Saunders <tj@castaglia.org>

        * tests/api/cmd.c: Remove unused variable.

2014-05-18  TJ Saunders <tj@castaglia.org>

        * .travis.yml: Disable the static code analyzers, for now; they can
        be re-enabled when needed.  Do another configure/build, this time
        with all modules being shared, rather than static.

2014-05-18  TJ Saunders <tj@castaglia.org>

        * .travis.yml: Have cppcheck write to stdout its errors.  Use normal
        email notifications (i.e. committer).

2014-05-18  TJ Saunders <tj@castaglia.org>

        * .travis.yml: Skip checking header files, and unit test files, when
        performing static code analysis.

2014-05-18  TJ Saunders <tj@castaglia.org>

        * .travis.yml: Still wrestling with cppcheck.  Sigh.

2014-05-18  TJ Saunders <tj@castaglia.org>

        * .travis.yml: Fix the cppcheck arguments.  Enable PCRE support.

2014-05-18  TJ Saunders <tj@castaglia.org>

        * .travis.yml: More tweaks to the static code analysers.

2014-05-18  TJ Saunders <tj@castaglia.org>

        * .travis.yml: Use the direct email address to the -committers list.

2014-05-18  TJ Saunders <tj@castaglia.org>

        * .travis.yml: Keep cppcheck from scanning *every* file; use find to
        tell it which file to scan.  Break the `make' and `make check-api'
        steps onto separate lines, for legibility.

2014-05-18  TJ Saunders <tj@castaglia.org>

        * .travis.yml: Start commenting the travis-ci config file.  Add some
        static code analysis in.

2014-05-17  TJ Saunders <tj@castaglia.org>

        * .travis.yml: Direct email notifications of build success/failures
        to the proftp-committers list.

2014-05-17  TJ Saunders <tj@castaglia.org>

        * .travis.yml: Enable memcache support.

2014-05-17  TJ Saunders <tj@castaglia.org>

        * contrib/mod_sql_postgres.c: Fix another build warning spotted by
        travis-ci.

2014-05-17  TJ Saunders <tj@castaglia.org>

        * .travis.yml: Make the dependency installations a little easier to
        read.  Build the MySQL and Postgres modules.  Install gettext, so
        that we can use --enable-nls.

2014-05-17  TJ Saunders <tj@castaglia.org>

        * contrib/mod_snmp/asn1.c, contrib/mod_snmp/notify.c,
        contrib/mod_snmp/smi.c, contrib/mod_sql_sqlite.c, src/log.c: Clean
        up build warnings spotted by travis-ci.

2014-05-17  TJ Saunders <tj@castaglia.org>

        * .travis.yml: Now install the check library, to enable the API/unit
        tests -- and run them.

2014-05-17  TJ Saunders <tj@castaglia.org>

        * .travis.yml: Need the PAM libraries/headers for some modules.

2014-05-17  TJ Saunders <tj@castaglia.org>

        * .travis.yml: Build mod_geoip as well; we'll need its geoip library
        dependency as well.

2014-05-17  TJ Saunders <tj@castaglia.org>

        * .travis.yml: Install more dependencies, and build more modules,
        via travis-ci.

2014-05-17  TJ Saunders <tj@castaglia.org>

        * .travis.yml: Add a .travis.yml file, to start using travis-ci for
        continuous build/integration.  I'm sure we'll get fancier over time.

2014-05-17  TJ Saunders <tj@castaglia.org>

        * src/data.c: Forgot to update copyright dates with last
        modification.

2014-05-17  TJ Saunders <tj@castaglia.org>

        * NEWS, src/log.c: Bug#3983 - Change default SyslogLevel to be
        NOTICE rather than DEBUG.

2014-05-17  TJ Saunders <tj@castaglia.org>

        * NEWS, src/data.c, src/inet.c,
        tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Bug#3944 -  Session
        closed if active data transfer fails due to "Address already in use"
        error.

2014-05-17  TJ Saunders <tj@castaglia.org>

        * src/netaddr.c: Avoid null pointer dereference for interfaces with
        no addresses.

2014-05-17  TJ Saunders <tj@castaglia.org>

        * po/Makefile.in: Remove unused po/ directory; it came back with the
        cvs2git conversion.

2014-05-17  TJ Saunders <tj@castaglia.org>

        * NEWS: Bug#4055 - "error setting listen fd IPV6_TCLASS: Protocol
        not available" log message.

2014-05-17  TJ Saunders <tj@castaglia.org>

        * : commit 3fd34befa71cdc41bc1375b243a18e8837ee76d0 Author:
        tjsaunders <tjsaunders@blackpearlsystems.com> Date:   Fri May 16
        09:53:25 2014 -0700

2014-05-16  tjsaunders <tjsaunders@blackpearlsystems.com>

        * .gitignore: Improving the .gitignore file.

2014-05-16  tjsaunders <tjsaunders@blackpearlsystems.com>

        * .gitignore: Adding .gitignore file.

2014-05-16  tjsaunders <tjsaunders@blackpearlsystems.com>

        * src/inet.c: Bug#4055: Ignore any ENOPROTOOPT errors when setting
        the IPv6 TCLASS (TOS) flags on the socket; they make for noisier
        logging without providing any actual value to the user/admin.

2014-05-16  tjsaunders <tjsaunders@blackpearlsystems.com>

        * include/version.h: Bump version to reflect new release cycle.

2014-05-15  castaglia <castaglia>

        * NEWS: Preparing for release.

2014-05-15  castaglia <castaglia>

        * ChangeLog: Updated ChangeLog.

2014-05-15  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec, include/version.h: Preparing files
        for release.

2014-05-15  castaglia <castaglia>

        * locale/files.txt: Updated list of files for localization.

2014-05-09  castaglia <castaglia>

        * RELEASE_NOTES: Fleshing out release notes for upcoming release.

2014-05-05  castaglia <castaglia>

        * contrib/mod_sql_passwd.c: Use sql_log() instead of pr_log_debug(),
        so that the logging is consistently done in the module.  There may
        still be a few outliers.

2014-05-04  castaglia <castaglia>

        * doc/contrib/mod_sql_passwd.html: Updated SQLPasswordPBKDF2 docs in
        light of Bug#4052.

2014-05-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Added
        regression test for Bug#4052.

2014-05-04  castaglia <castaglia>

        * NEWS, contrib/mod_sql_passwd.c: Bug#4052 - Enhance
        SQLPasswordPBKDF2 to support per-user query for settings.

2014-05-04  castaglia <castaglia>

        * doc/contrib/mod_site_misc.html: Emphasize that both acces and mod
        times are set by SITE UTIME.

2014-05-04  castaglia <castaglia>

        * NEWS, modules/mod_facl.c: Bug#4044 - mod_facl prevents a normal
        SIGHUP reload.

2014-05-03  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#4042 - MIC command between RNFR and
        RNTO should not be rejected.

2014-05-02  castaglia <castaglia>

        * NEWS, contrib/mod_exec.c: Bug#4049 - mod_exec should include
        supplemental groups when running commands as logged-in user.

2014-04-30  castaglia <castaglia>

        * contrib/mod_ban.c: As a follow-on to the fix for Bug#4048, add
        some "headroom" to the SHM segment, to allow for multiple
        racing/competing processes incrementing indices.

2014-04-30  castaglia <castaglia>

        * NEWS, contrib/mod_ban.c: Bug#4048 - Race condition in mod_ban can
        lead to segfault of all new connections.

2014-04-28  castaglia <castaglia>

        * modules/mod_xfer.c: Slightly better fix for Bug#4046; less chance
        of overflowing the off_t datatype on filesystems with lots of free
        space.

2014-04-28  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#4046 - ALLO command failed because
        of bad size check.

2014-03-26  castaglia <castaglia>

        * doc/howto/TLS.html: Typo.

2014-03-19  castaglia <castaglia>

        * contrib/mod_tls.c: Bug#4039 - Fix compile error in mod_tls, when
        built using newer OpenSSL versions.  This is a regression caused by
        Bug#4029.

2014-03-13  castaglia <castaglia>

        * doc/howto/Chroot.html: Fix broken link, per Bug#4038.

2014-03-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm: Adding
        some regression tests for the DeleteAbortedStores directive, for
        when timeouts kick in and kill the session.

2014-03-08  castaglia <castaglia>

        * modules/mod_xfer.c: If a session dies in the middle of a data
        transfer, make sure that the path in the fake cmd_rec is correct.
        It was empty, which led to some misleading logging.

2014-03-08  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#4024 - TLS 1.1/1.2 configurable, but
        not properly implemented.

2014-03-05  castaglia <castaglia>

        * contrib/mod_tls.c: When seeding OpenSSL's PRNG manually, use
        gettimeofday(2) instead of time(3).

2014-03-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        tests for Bug#4034.

2014-03-04  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/auth.c: Bug#4034 - SSH publickey
        authentication fails with "MaxLoginAttempts 1".

2014-03-03  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Add mod_sftp FAQ about pointing an SSH
        client (*not* SFTP or SCP) at mod_sftp, and why that connection
        would fail.

2014-03-02  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Document the AllowInsecureLogin
        SFTPOption.

2014-03-02  castaglia <castaglia>

        * contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
        contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in: Add a
        new SFTPOption, called 'AllowInsecureLogin'.  This is needed for
        sites which wish to use/allow SSH2 logins that use the 'none' cipher
        or digest (hopefully just for performance testing).

2014-03-02  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/mod_sftp.c: Bug#4032 - Restarting proftpd
        with mod_sftp fails due to permissions on SFTPHostKey file.

2014-03-02  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix the mod_sftp
        regression tests which SHOULD have caught Bug#4033.

2014-03-02  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/cipher.c: Bug#4033 - mod_sftp fails to
        create SSH2 session using 'none' cipher.

2014-03-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Added
        regression test for Bug#3938.

2014-03-01  castaglia <castaglia>

        * NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#3938 - mod_wrap2 uses
        reverse DNS regardless "UseReverseDNS off".

2014-02-28  castaglia <castaglia>

        * tests/t/config/passiveports.t,
        tests/t/lib/ProFTPD/Tests/Config/PassivePorts.pm, tests/tests.pl: 
        Added regression tests for the PassivePorts directive in various
        configuration contexts, i.e. "server config", <Global>, and
        <VirtualHost>.

2014-02-28  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#4029 - TLSOptions EnableDiags logs
        "unknown version (771)" for TLS 1.1/1.2 connections.

2014-02-23  castaglia <castaglia>

        * contrib/mod_ban.c: Minor name/string change; no functional change.

2014-02-23  castaglia <castaglia>

        * contrib/mod_ban.c, tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: 
        Allow for custom, user-specified event names in the BanOnEvent
        directive.  This will make it easier to support rules for events
        other than the ones that are specially handled, and ease the need to
        add special handling in the future.

2014-02-23  castaglia <castaglia>

        * doc/contrib/mod_ban.html: Added support for RootLogin bans.

2014-02-23  castaglia <castaglia>

        * contrib/mod_ban.c, tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: 
        Make it possible to ban clients which attempt to login as root.

2014-02-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding reproduction
        recipe/regression test for Bug#4026.

2014-02-19  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Add "Cipher Implementations" section to
        "Known Client Issues", noting that SBB clients don't handle the
        blowfish-ctr cipher.

2014-02-18  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Fix typo/misnamed cipher in list.

2014-02-15  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
        regression test for Bug#4025.

2014-02-15  castaglia <castaglia>

        * NEWS, contrib/mod_ifsession.c: Bug#4025 - <IfClass> sections do
        not work for multiple SQLLog directives.

2014-02-15  castaglia <castaglia>

        * contrib/mod_sql.c: If SQLEngine is not configured, then DO emit
        the "no SQLAuthTypes configured" log message if necessary.  Previous
        commit would not have handled the case where SQLEngine was not
        explicitly set.

2014-02-15  castaglia <castaglia>

        * contrib/mod_sql.c: If "SQLEngine log" is configured, then do NOT
        log a message saying "error: no SQLAuthTypes configured".  Stylistic
        nits addressed while there.

2014-02-11  castaglia <castaglia>

        * NEWS, src/fsio.c: Bug#4022 - "Directory not empty" error when
        creating directory is misleading.

2014-02-11  castaglia <castaglia>

        * src/stash.c: Fix minor compiler warning when --enable-devel is
        used.

2014-02-09  castaglia <castaglia>

        * modules/mod_delay.c: The regression tests caught a small
        regression in mod_delay, where the fix for Bug#3622 was reverted
        partly by the fixes for Bug#3970.

2014-02-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Another MKD test,
        making sure that using a preceding CWD doesn't gum up the works.
        Also makes for a nice testbed for pr_fsio_smkdir() issues.

2014-02-09  castaglia <castaglia>

        * src/fsio.c: Add more logging of error conditions in the
        pr_fsio_smkdir() function, for better diagnosing some reported MKD
        errors.

2014-02-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Yet another data
        point/reproduction recipe for Bug#4017.

2014-02-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/SocketOptions.pm: Add basic test
        for SocketOption keepalive.

2014-02-05  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Additional
        regression/reproduction recipe for Bug#4017, this time using PCRE
        regexes.

2014-02-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Regression
        test/reproduction recipe for Bug#4017.

2014-02-01  castaglia <castaglia>

        * contrib/mod_tls.c: Update mod_tls to start using the pr_netio_t
        notes table for stashing/retrieving its SSL objects, rather than the
        strm_data void pointer.  The table is more flexible, and allows for
        other code to use the keys as needed.

2014-01-31  castaglia <castaglia>

        * modules/mod_rlimit.c,
        tests/t/lib/ProFTPD/Tests/Config/RLimitChroot.pm: Allow for per-user
        (via <IfUser>) setting of the RLimitChroot directive.

2014-01-31  castaglia <castaglia>

        * doc/modules/mod_rlimit.html: Add description for new RLimitChroot
        directive to mod_rlimit docs.

2014-01-31  castaglia <castaglia>

        * src/fsio.c: Match URLs for "Roaring Beast" reports.

2014-01-31  castaglia <castaglia>

        * tests/t/config/rlimitchroot.t,
        tests/t/lib/ProFTPD/Tests/Config/RLimitChroot.pm, tests/tests.pl: 
        Adding regression tests for the new RLimitChroot directive.

2014-01-31  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, include/fsio.h, modules/mod_rlimit.c,
        src/fsio.c: Bug#4018 - Implement checks for sensitive directories
        when chrooted.

2014-01-30  castaglia <castaglia>

        * doc/modules/mod_core.html: Add description of SocketBindTight
        directive to mod_core docs, and include FAQ about using it.

2014-01-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Adding
        regression/reproduction recipe for Bug#4017.

2014-01-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fix broken (only
        on MacOSX) test.

2014-01-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Minor tweaks
        while investigating Bug#3638.

2014-01-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Updated mod_tls
        tests to work around bug in Net-FTPSSL version 0.21's quot()
        implementation.

2014-01-28  castaglia <castaglia>

        * include/version.h: Updating version for CVS.

2014-01-28  castaglia <castaglia>

        * ChangeLog: Updated ChangeLog.

2014-01-28  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Prepping
        files for RC.

2014-01-28  castaglia <castaglia>

        * contrib/mod_sftp/crypto.c, contrib/mod_sftp/keys.c,
        contrib/mod_sftp/umac.c: Allow mod_sftp to be compiled using an old
        version of OpenSSL, e.g.  OpenSSL-0.9.6.  Fixes Bug#4016.

2014-01-28  castaglia <castaglia>

        * contrib/mod_tls.c: Enable mod_tls to be built using old OpenSSL
        version; tested using OpenSSL-0.9.6h.

2014-01-27  castaglia <castaglia>

        * doc/contrib/mod_quotatab.html: Try to make the Installation notes
        for mod_quotatab a little clearer.

2014-01-27  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm: Quell compiler warning
        about redefined variables.

2014-01-27  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logins.pm: Quell compiler warning about
        overloaded variables.

2014-01-27  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Copy-pasto was blocking
        the setting of different values for the (as-yet) little used
        test_setup() function.

2014-01-27  castaglia <castaglia>

        * tests/api/str.c: With this tweak (of debatable and investigatable
        value), all of the API tests now pass on my old Linux machine.

2014-01-27  castaglia <castaglia>

        * tests/api/netaddr.c: Make the INCL_DEVICE API test a little more
        resilient by providing some fallback device names.

2014-01-27  castaglia <castaglia>

        * src/fsio.c, tests/api/cmd.c: The API testsuite found some places
        where we were not properly checking for null strings, which might
        lead to segfaults.

2014-01-27  castaglia <castaglia>

        * tests/Makefile.in, tests/api/stubs.c: Make sure the API testsuite
        compiles properly when --enable-nls is used.

2014-01-27  castaglia <castaglia>

        * contrib/mod_snmp/db.c: Quell compiler warning about unused
        variable.

2014-01-27  castaglia <castaglia>

        * RELEASE_NOTES, doc/howto/Radius.html, doc/howto/index.html: Adding
        (finally!) RADIUS howto.

2014-01-26  castaglia <castaglia>

        * contrib/mod_ban.c: Typo in comment; no functional change.

2014-01-25  castaglia <castaglia>

        * modules/mod_core.c: Make sure to handle the case where units
        aren't specified properly.

2014-01-25  castaglia <castaglia>

        * NEWS, include/options.h, modules/mod_core.c, src/main.c,
        tests/t/lib/ProFTPD/Tests/Config/CommandBufferSize.pm: Bug#4014 -
        CommandBufferSize should override PR_DEFAULT_CMD_BUFSZ.

2014-01-24  castaglia <castaglia>

        * contrib/mod_tls.c: Bug#4015 - Possible bad/ambiguous expression
        found by static code analyzer cppcheck.

2014-01-22  castaglia <castaglia>

        * doc/howto/TLS.html: Updates to the TLS howto, adding some FAQs and
        noting that secure FXP transfers are now supported.

2014-01-22  castaglia <castaglia>

        * doc/howto/SQL.html: Add more links from the SQL howto to the
        mod_sql docs, and add more substance to the "min ID" question,
        pointing out the default UID/GID values.

2014-01-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm: Update
        AuthGroupFile world-readable test to match changes to the
        permissions checking code.

2014-01-22  castaglia <castaglia>

        * modules/mod_auth_file.c: Alter the permission checks (per
        Bug#3892) to allow world-readable AuthGroupFiles; there's no
        sensitive information in there.

2014-01-22  castaglia <castaglia>

        * doc/modules/mod_auth_file.html: Improve/expand on the FAQ about
        permissions.

2014-01-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Adding regression test
        for Bug#4010 (which, I think, is actually a client bug).

2014-01-21  castaglia <castaglia>

        * RELEASE_NOTES: Update release notes, getting them ready for a
        release.

2014-01-21  castaglia <castaglia>

        * doc/contrib/mod_exec.html: Update the ExecOnEvent description to
        match the code.

2014-01-21  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Note when the IgnoreConfigFile SQLOption
        first appeared.

2014-01-21  castaglia <castaglia>

        * doc/contrib/mod_ldap.html: Add description for LDAPLog directive
        to mod_ldap docs.

2014-01-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
        test for Bug#4013.

2014-01-20  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/scp.c: Bug#4013 - SCP upload of shorter
        file does not completely overwrite existing file of same name.

2014-01-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Adding regression
        tests for several NLST bugs, including Bug#4011.

2014-01-20  castaglia <castaglia>

        * NEWS, include/fsio.h, modules/mod_ls.c, src/fsio.c,
        tests/api/fsio.c: Bug#4011 - NLST ../ shows current directory
        contents rather than parent directory.

2014-01-17  castaglia <castaglia>

        * configure: Updated configure.

2014-01-17  castaglia <castaglia>

        * configure.in: Fix default location of datadir to be
        '/usr/local/share', not '/usr/locale/share'.

2014-01-17  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make sure that SFTP
        CLOSE requests are logged as either READ or WRITE requests as
        appropriate (per the ExtendedLog logging classes), but not both.

2014-01-13  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Update SFTPClientMatch description for
        'sftpUTF8ProtocolVersion', noting the NLS requirement.  Also add FAQ
        about this, with regard to accepted protocol versions.

2014-01-13  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: If the 'sftpUTF8ProtocolVersion'
        SFTPClientMatch key is used, AND the proftpd has not been compiled
        with --enable-nls, then display a more informative error about this
        situation, instead of acting as if 'sftpUTF8ProtocolVersion' is
        unknown.

2014-01-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Tweaks to the
        mod_tls testsuite to make it pass (more) on my Mac; I think it's
        related to the version of Net::FTPSSL being used.

2014-01-06  castaglia <castaglia>

        * NEWS, contrib/mod_radius.c: Bug#4006 - RADIUS "service-type"
        attribute encoded with wrong length on 64-bit system.

2014-01-06  castaglia <castaglia>

        * tests/Makefile.in, tests/api/netio.c, tests/api/stubs.c,
        tests/api/tests.c, tests/api/tests.h: Adding API tests for the NetIO
        API, focusing heavily on the pr_netio_telnet_gets() function.

2014-01-06  castaglia <castaglia>

        * include/netio.h, src/netio.c: Make the function for allocating and
        attaching a pr_buffer_t to a NetIO stream public.

2014-01-03  castaglia <castaglia>

        * contrib/mod_deflate.c: Refactor the same note name string into a
        single #define.

2014-01-03  castaglia <castaglia>

        * contrib/mod_deflate.c: Update the mod_deflate module to use the
        new pr_netio_stream_t notes table for stashing the z_stream
        pointers, rather than the nstrm_data member.

2014-01-02  castaglia <castaglia>

        * doc/modules/mod_log.html: Fix inaccurate description of %p
        LogFormat variable.

2014-01-02  castaglia <castaglia>

        * include/netio.h, src/netio.c: A NetIO stream object now has a
        table for stashing any/all kinds of module-specific data.  This
        table will eventually replace the void *strm_data member, once all
        modules have been updated to use the new table for their stashing.

2014-01-02  castaglia <castaglia>

        * src/netio.c: Use slightly better, more descriptive names for the
        default NetIO objects.  Make the code use consistent style, i.e.
        switch statements, enclosing parentheses around function pointers,
        etc throughout.  No functional change.

2014-01-01  castaglia <castaglia>

        * contrib/mod_tls.c: Fix grammar-o in a comment.

2014-01-01  castaglia <castaglia>

        * src/fsio.c: When reading from a file using pr_fsio_gets(), use the
        given iosz hint as is, rather than using the smaller size of given
        buffer vs iosz hint.  The iosz hint, if present, will always be more
        efficient.  The given buffer can then be filled from the read-in
        buffer.

2013-12-30  castaglia <castaglia>

        * src/parser.c: Clean up a few stylistic nits in the parser code; no
        functional change.

2013-12-30  castaglia <castaglia>

        * src/fsio.c: Clean up a few stylistic nits in fsio.c; no functional
        change.

2013-12-29  castaglia <castaglia>

        * modules/mod_auth.c: Once the "has this client authenticated?"
        check -- which occurs per-command -- has succeeded, record that
        success value such that we do not do the same lookup for subsequent
        commands.  Once a client has authenticated, that state will not
        change for the duration of the connection.  At least until REIN is
        implemented.

2013-12-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logins.pm: Add regression test for
        failed logins due to out-of-sequence commands.

2013-12-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: Despite Net::FTP's
        documentation with regard to FTP firewalls (i.e. proxying), the
        implementation leaves much to be desired.  So I worked around the
        Net::FTP internals to make it do what I wanted.

2013-12-27  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/scp.c: Bug#4004 - IgnoreSCPUploadPerms
        SFTPOption not honored properly for SCP directory upload.

2013-12-27  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        test for Bug#4004.

2013-12-23  castaglia <castaglia>

        * include/netaddr.h, src/netaddr.c, tests/api/netaddr.c: Rename the
        ADDRS_ONLY pr_netaddr_get_addr2() flag to EXCL_DNS, to be more
        consistent with the naming of similar flags for the option, and to
        be more descriptive.

2013-12-23  castaglia <castaglia>

        * include/netaddr.h, src/netaddr.c, tests/api/netaddr.c: Support new
        flag for pr_netaddr_get_addr2() which can be used to skip DNS name
        resolutions, and only check whether the given string is a resolvable
        IP address.  Add missing regression test for pr_netaddr_get_addr2(),
        with tests for the INCL_DEVICE and ADDRS_ONLY flags.

2013-12-20  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/dhparams.pem: Bug#4002 - Add 7680-bit DH
        parameter to mod_sftp bundled dhparams.pem file.

2013-12-20  castaglia <castaglia>

        * modules/mod_auth_file.c: Try mitigating some of the terror/madness
        caused by Bug#3892 preemptively by using root privs when opening the
        AuthUserFile/AuthGroupFile for reading.

2013-12-20  castaglia <castaglia>

        * modules/mod_auth_file.c: Slight tweaks to the error messages
        logged.

2013-12-20  castaglia <castaglia>

        * modules/mod_auth_file.c: Add more information to error messages
        logged by mod_auth_file due to the stricter checks added for
        Bug#3892.

2013-12-19  castaglia <castaglia>

        * contrib/mod_wrap2_file.c: Add some helpful logging when
        mod_wrap2_file performs resolution on the given table path.

2013-12-19  castaglia <castaglia>

        * doc/contrib/mod_wrap2.html: Fix typos.

2013-12-19  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/cipher.c, contrib/mod_sftp/mac.c: Bug#4001
        - mod_sftp fails key exchange for 8192-bit DH group.

2013-12-16  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Fix regressions in the handling of <Limit>
        sections applicable to READDIR SFTP requests, caused by the fix for
        Bug#3753 and pointed out by Mike Futerko.

2013-12-15  castaglia <castaglia>

        * src/netaddr.c: When caching the remote session address
        information, make sure to properly zero out the cache structures
        first.

2013-12-15  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Handle the new
        test_cleanup function properly, i.e. by going one level deeper into
        the call stack when writing out to the tests.log file, for accurate
        reporting of the failing testcase in question.

2013-12-15  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Provide a way to tell
        test_cleanup() to keep the log files around.

2013-12-14  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: Fix typo in comment; no functional
        change.

2013-12-12  castaglia <castaglia>

        * doc/contrib/mod_geoip.html: Typo.

2013-12-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_shaper.pm: Checking in
        reproduction recipe for Bug#3928, for when I can address that issue
        in the future.

2013-12-12  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_exec.c: Bug#3876 - ExecOnEvent
        should be configurable per <VirtualHost>/<Global>.

2013-12-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm: Regression tests for
        Bug#3996.

2013-12-12  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#3996 - Handling ALLO command can
        result in wrong response when chrooted.

2013-12-12  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/keys.c: Bug#3992 - RSA signature issue when
        connecting using PuTTY/WinSCP.

2013-12-10  castaglia <castaglia>

        * contrib/ftpasswd: Fix minor issue with Bug#3994 fix, to prevent
        multiple --locks on the same user from prepending multiple "lock"
        characters; just one is enough.

2013-12-09  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Update mod_tls docs with descriptions
        for the new EC cert/key directives.

2013-12-09  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3772 - Support
        Elliptic Curve Cryptography (ECC) certs for FTPS connections.

2013-12-09  castaglia <castaglia>

        * contrib/mod_quotatab.c, contrib/mod_snmp/db.c, include/fsio.h,
        modules/mod_delay.c, src/fsio.c, src/scoreboard.c, src/wtmp.c: 
        Refactor some of the common code for getting a usable fd into a new
        pr_fs_get_usable_fd2() function, and update some of the sites to use
        the new function.

2013-12-09  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c, contrib/mod_snmp/db.c,
        modules/mod_delay.c, src/scoreboard.c, src/wtmp.c: Bug#3970 -
        ProFTPD should not use fd 2 (stderr) for files.

2013-12-09  castaglia <castaglia>

        * modules/mod_core.c: Fix compiler warning about type mismatch.

2013-12-09  castaglia <castaglia>

        * tests/t/etc/modules/mod_tls/NOTES,
        tests/t/etc/modules/mod_tls/ec-ca.pem,
        tests/t/etc/modules/mod_tls/ec-server-cert.pem: Adding EC certs for
        tests.

2013-12-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Limit/Anonymous.pm: Add
        regression tests for <Anonymous> configs with upload-only
        directories.

2013-12-08  castaglia <castaglia>

        * contrib/ftpasswd, doc/contrib/ftpasswd.html: Minor reordering of
        new --lock, --unlock options, and updating the docs to reflect the
        new options.

2013-12-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm: Adding regression
        tests for Bug#3994.

2013-12-08  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/ftpasswd: Bug#3994 - ftpasswd utility
        should support --lock/--unlock options.

2013-12-08  castaglia <castaglia>

        * NEWS, contrib/ftpasswd: Bug#3995 - ftpasswd utility should prevent
        concurrent modification of files.

2013-12-05  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Update mod_sftp docs for the new
        IgnoreSCPUploadTimes SFTPOption.

2013-12-05  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
        test for Bug#3998 (the new IgnoreSCPUploadTimes SFTPOption).

2013-12-05  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/scp.c: Bug#3998 -
        Support IgnoreSCPUploadTimes SFTPOption.

2013-12-05  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: List the supported SFTPOptions in
        lexicographical order.

2013-12-05  castaglia <castaglia>

        * modules/mod_ctrls.c: Make sure that the mod_ctrls module cannot be
        built without using the --enable-ctrls configure option.

2013-12-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm: Adding regression test
        for the ALLO command in a chrooted environment.

2013-12-04  castaglia <castaglia>

        * lib/pr_fnmatch_loop.c: Bug#3997 - pr_fnmatch_loop.c compilation
        error: "CHAR str[0] : error #2094: the size of an array must be
        greater than zero"

2013-11-24  castaglia <castaglia>

        * NEWS, contrib/mod_exec.c, contrib/mod_ldap.c, contrib/mod_tls.c,
        include/str.h, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_xfer.c, src/str.c, tests/api/str.c: Bug#3965 - Timeout
        directives have inconsistent maximum values.

2013-11-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Create new test_setup()
        and test_cleanup() functions, to reduce the amount of boilerplate in
        testcases and to reduce the accrued technical debt in the testsuite
        codebase by applying the DRY principle.

2013-11-11  castaglia <castaglia>

        * doc/modules/mod_log.html: Added description of new %{basename}
        variable to the LogFormat docs.

2013-11-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Added
        (simplistic) regression tests for the new LogFormat %{basename}
        variable introduced for Bug#3987.

2013-11-11  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sql.c, include/mod_log.h,
        modules/mod_log.c: Bug#3987 - LogFormat variable for just the
        filename.

2013-11-10  castaglia <castaglia>

        * RELEASE_NOTES, doc/howto/LogMessages.html: Check in the
        work-to-date on a log message compendium; there are still a few
        sections to fill in.

2013-11-10  castaglia <castaglia>

        * src/auth.c: Make the "Preparing to chroot to" log message slightly
        less noisy.

2013-11-10  castaglia <castaglia>

        * modules/mod_xfer.c: Shift the HiddenStore DEBUG level messages to
        properly use the pr_log_debug() function, and to use a lower DEBUG
        level, so they are not as noisy (and are more consistent with other
        debug-level logging).

2013-11-10  castaglia <castaglia>

        * modules/mod_auth_file.c: Improve the log message slightly when
        mod_auth_file can't open its configured files.

2013-11-09  castaglia <castaglia>

        * src/bindings.c: Found another place with inconsistent log message
        formatting; now fixed.

2013-11-09  castaglia <castaglia>

        * src/data.c: Fixed formatting of log message to be more consistent
        with the format used elsewhere, i.e. that the strerror(3) string
        follows a colon and space.

2013-11-09  castaglia <castaglia>

        * doc/modules/mod_core.html: Include description for the UserOwner
        directive in the mod_core docs.

2013-11-09  castaglia <castaglia>

        * contrib/mod_ifsession.c: Log messages about misconfigurations
        should be logged at WARNING, not ERR.

2013-11-05  castaglia <castaglia>

        * NEWS, contrib/mod_tls_memcache.c, contrib/mod_tls_shmcache.c: 
        Bug#3991 - SSL session caching modules use incorrect OpenSSL cache
        mode flags, breaking session caching.

2013-11-05  castaglia <castaglia>

        * doc/contrib/mod_tls_shmcache.html: Updated mod_tls_shmcache docs.

2013-10-27  castaglia <castaglia>

        * doc/howto/TLS.html: TLS FAQ about difference between shm and
        memcache for SSL session caching.

2013-10-15  castaglia <castaglia>

        * src/fsio.c: If the underlying filesystem doesn't support chmod(2)
        (per Bug#3986), then at least log a DEBUG level message about it.

2013-10-15  castaglia <castaglia>

        * NEWS, src/fsio.c: Bug#3986 - Support filesystems which do not
        support chmod(2)/chown(2), e.g.  FAT/ExFAT.

2013-10-14  castaglia <castaglia>

        * NEWS, RELEASE_NOTES: Bug#3982 - Normalize log messages and levels.

2013-10-13  castaglia <castaglia>

        * modules/mod_dso.c, src/log.c: Fix comments to match code.

2013-10-13  castaglia <castaglia>

        * modules/mod_core.c: Tweak a log message to be more in line with
        similar log messages elsewhere.

2013-10-13  castaglia <castaglia>

        * contrib/mod_rewrite.c: If a configured RewriteLog is in a
        world-writable directory, log it -- but use the same phrasing as
        used for other modules in similar situations.

2013-10-13  castaglia <castaglia>

        * src/fsio.c: Found only one instance of a DEBUG level message which
        needed a different log level (Bug#3982).

2013-10-13  castaglia <castaglia>

        * src/auth.c: The log message about chrooting is more of a DEBUG
        level message, rather than INFO (per Bug#3982).

2013-10-13  castaglia <castaglia>

        * modules/mod_ctrls.c, modules/mod_delay.c, modules/mod_dso.c,
        modules/mod_xfer.c: Changing the log levels of messages for some
        modules to be more consistent, per Bug#3982.

2013-10-13  castaglia <castaglia>

        * contrib/mod_ban.c, contrib/mod_ctrls_admin.c,
        contrib/mod_dynmasq.c, contrib/mod_geoip.c,
        contrib/mod_load/mod_load.c, contrib/mod_sftp/fxp.c,
        contrib/mod_sftp/scp.c, contrib/mod_shaper.c, contrib/mod_tls.c,
        contrib/mod_tls_memcache.c, contrib/mod_tls_shmcache.c,
        contrib/mod_wrap.c: Tweak the log levels of various log messages in
        contrib modules, bringing the messages in line with a more
        consistent logging policy (Bug#3982).

2013-10-13  castaglia <castaglia>

        * contrib/ftpmail: If there are comments after the user/password
        values in the ftpmail SMTP AUTH file, trim them off.

2013-10-13  castaglia <castaglia>

        * src/bindings.c, src/dirtree.c, src/lastlog.c, src/log.c,
        src/main.c: Combing through NOTICE level log messages in src/ turned
        up a few needed tweaks, for Bug#3982.

2013-10-13  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_auth_pam.c,
        modules/mod_auth_unix.c, modules/mod_cap.c, modules/mod_ctrls.c,
        modules/mod_dso.c, modules/mod_lang.c, modules/mod_log.c,
        modules/mod_memcache.c, modules/mod_xfer.c: Minor tweaks to log
        messages and log levels, bringing them in line with the
        expected/consistent log levels, per Bug#3982.

2013-10-13  castaglia <castaglia>

        * contrib/mod_dnsbl/mod_dnsbl.c, contrib/mod_geoip.c,
        contrib/mod_ldap.c, contrib/mod_log_forensic.c,
        contrib/mod_radius.c, contrib/mod_ratio.c, contrib/mod_rewrite.c,
        contrib/mod_sftp/auth.c, contrib/mod_sftp/keys.c,
        contrib/mod_sftp/mod_sftp.c, contrib/mod_snmp/mod_snmp.c,
        contrib/mod_sql.c, contrib/mod_tls.c: Tweaks to log levels of
        various messages in the contrib modules, making them be more
        consistent, per Bug#3982.

2013-10-11  castaglia <castaglia>

        * src/auth.c: Slightly better log message, hopefully.

2013-10-11  castaglia <castaglia>

        * src/auth.c, tests/t/lib/ProFTPD/TestSuite/Utils.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm: Added regression
        tests for Bug#3985, and slightly better logging that MIGHT help
        track down issues like this in the future.

2013-10-09  castaglia <castaglia>

        * doc/howto/Logging.html: Fix broken anchor tag.

2013-10-09  castaglia <castaglia>

        * src/timers.c: Use the WARNING level if we can't install our signal
        handlers needed for timers, rather than NOTICE.

2013-10-09  castaglia <castaglia>

        * contrib/mod_dynmasq.c: Slightly better language in the log message
        when we can't resolve a DNS name.

2013-10-09  castaglia <castaglia>

        * contrib/mod_deflate.c: Use more appropriate log levels for issues
        opening a DeflateLog file, and also make sure to preserve errno for
        proper error reporting.

2013-10-09  castaglia <castaglia>

        * contrib/mod_ban.c: Most of the NOTICE-level log messages in
        mod_ban are actually WARNING-level worthy; make them use WARNING,
        then.

2013-10-09  castaglia <castaglia>

        * modules/mod_xfer.c: Found a few more places where errno might be
        getting clobbered, and thus leading to inaccurate reporting.

2013-10-09  castaglia <castaglia>

        * modules/mod_delay.c: Preserve errno properly when reporting errors
        here.

2013-10-09  castaglia <castaglia>

        * src/main.c: Fix another case where the reported errno value might
        not be the correct one.

2013-10-09  castaglia <castaglia>

        * modules/mod_auth.c: Cut down on possibly-spurious log warnings.

2013-10-09  castaglia <castaglia>

        * src/lastlog.c: Another place where we might be losing the real
        errno value.

2013-10-09  castaglia <castaglia>

        * src/mkhome.c: Make sure that when an error occurs, we log and
        preserve the errno properly.

2013-10-09  castaglia <castaglia>

        * src/wtmp.c: Fix a few more places where we need to be careful to
        preserve the errno value.

2013-10-09  castaglia <castaglia>

        * modules/mod_auth_unix.c: More cases where we need to take care to
        preserve the errno value properly.

2013-10-09  castaglia <castaglia>

        * modules/mod_core.c: Preserve errno for proper error reporting.

2013-10-09  castaglia <castaglia>

        * modules/mod_facl.c: Make sure we preserve errno appropriately.

2013-10-09  castaglia <castaglia>

        * doc/modules/mod_core.html: One more link which should use the
        #Syslog anchor in the Logging doc.

2013-10-09  castaglia <castaglia>

        * contrib/mod_sql_postgres.c: Forgot to update copyright date on
        previous checkin.

2013-10-08  castaglia <castaglia>

        * src/child.c: If we update an empty child list, explicitly set the
        listlen back to zero.  It should already be this value anyway, we
        just want to make sure.

2013-10-07  castaglia <castaglia>

        * contrib/mod_rewrite.c, contrib/mod_sftp/auth.c,
        contrib/mod_sftp/mod_sftp.c, contrib/mod_snmp/mod_snmp.c,
        contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c,
        contrib/mod_sql_sqlite.c, contrib/mod_tls.c, modules/mod_auth.c,
        modules/mod_auth_file.c, modules/mod_auth_unix.c,
        modules/mod_cap.c, modules/mod_delay.c, modules/mod_facl.c,
        modules/mod_log.c, modules/mod_memcache.c, modules/mod_site.c,
        modules/mod_xfer.c, src/auth.c, src/bindings.c, src/data.c,
        src/dirtree.c, src/display.c, src/fsio.c, src/inet.c, src/main.c,
        src/modules.c, src/parser.c, src/pool.c: Shuffle some of the log
        levels used for log messages, making ERR message that should be
        something else BE something else, leaving ERR messages which should
        be ERR alone (Bug#3982).

2013-10-07  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_ldap.c: Bug#3888 - Add LDAPLog
        directive to mod_ldap.

2013-10-07  castaglia <castaglia>

        * contrib/mod_ldap.c: Start making stylistic changes to the mod_ldap
        code, bringing it more in line with the coding style used elsewhere
        in proftpd.  No functional change.

2013-10-07  castaglia <castaglia>

        * contrib/mod_sftp/auth.c, modules/mod_auth.c: Log "SECURITY
        VIOLATION" messages at the NOTICE level (Bug#3982).

2013-10-07  castaglia <castaglia>

        * contrib/mod_exec.c, contrib/mod_sftp/cipher.c,
        contrib/mod_sftp/crypto.c, contrib/mod_sftp/keys.c,
        contrib/mod_sftp/mac.c, contrib/mod_sftp/msg.c,
        contrib/mod_sftp_pam.c, contrib/mod_shaper.c,
        contrib/mod_snmp/mod_snmp.c, contrib/mod_tls.c, include/log.h,
        modules/mod_auth_file.c, modules/mod_ls.c, src/data.c, src/env.c,
        src/fsio.c, src/log.c, src/main.c, src/pool.c: On second thought,
        remove the whole lookup-of-log-level-by-resource mechanism.  It's
        overengineered, and we don't need it right now.

2013-10-06  castaglia <castaglia>

        * contrib/mod_exec.c, contrib/mod_sftp/keys.c,
        contrib/mod_snmp/mod_snmp.c, contrib/mod_tls.c, include/log.h,
        src/log.c, src/main.c: When fork(2) fails and we need to log a
        message, use the new lookup function to determine the log level for
        that "process" resource.

2013-10-06  castaglia <castaglia>

        * contrib/mod_sftp/cipher.c, contrib/mod_sftp/crypto.c,
        contrib/mod_sftp/keys.c, contrib/mod_sftp/mac.c,
        contrib/mod_sftp/msg.c, contrib/mod_sftp_pam.c,
        contrib/mod_shaper.c, contrib/mod_tls.c, include/log.h,
        modules/mod_auth_file.c, modules/mod_ls.c, src/data.c, src/env.c,
        src/fsio.c, src/log.c, src/pool.c: When a resource is exhausted, we
        now have a lookup function to determine the proper log level to use
        for the ensuing log message.  This lets us coordinate/tweak these
        levels in the future as needed, as well as being able to
        differentiate/tweak different log levels for the same resource but
        different errors (e.g. EMFILE vs ENFILE for fd exhaustion).

2013-10-06  castaglia <castaglia>

        * contrib/mod_snmp/mod_snmp.c: mod_snmp, too, needs to log fork(2)
        failures at the ALERT level (Bug#3982).

2013-10-06  castaglia <castaglia>

        * contrib/mod_exec.c, contrib/mod_tls.c, src/main.c: Log other
        out-of-resource errors (such as fork(2) and pipe(2) failures) at the
        ALERT log level, per Bug#3982.

2013-10-06  castaglia <castaglia>

        * modules/mod_ls.c, src/data.c, src/env.c, src/pool.c: Let's be
        consistent about the message logged when we are out of memory, and
        use "Out of memory!", rather than a mix of the former as well as
        variations on "memory exhausted" (Bug#3982).

2013-10-06  castaglia <castaglia>

        * contrib/mod_sftp/crypto.c, contrib/mod_sftp/keys.c,
        contrib/mod_tls.c, modules/mod_ls.c, src/data.c, src/env.c: Found
        more places in the code where an out-of-memory condition needed to
        be logged at the ALERT level, per Bug#3982.

2013-10-06  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/cipher.c, contrib/mod_sftp/mac.c,
        contrib/mod_sftp/msg.c, contrib/mod_sftp_pam.c,
        contrib/mod_shaper.c, modules/mod_auth_file.c, src/fsio.c,
        src/pool.c: Bug#3982 - Normalize log messages and levels.  We start by logging all out-of-memory conditions at the ALERT level.

2013-10-06  castaglia <castaglia>

        * contrib/mod_snmp/.cvsignore: Updated .cvsignore files for
        mod_dnsbl and mod_snmp.

2013-10-06  castaglia <castaglia>

        * doc/howto/LogLevels.html: More typos, layout fixes.

2013-10-06  castaglia <castaglia>

        * doc/howto/LogLevels.html: Typo.

2013-10-06  castaglia <castaglia>

        * doc/howto/index.html: Add the LogLevels doc to the index.

2013-10-06  castaglia <castaglia>

        * doc/howto/LogLevels.html, doc/howto/Logging.html,
        doc/modules/mod_core.html: Beef up the logging documentation by
        covering the log levels, and the granularity of the DEBUG level
        messages.  This is necessary groundwork for the next stop: creating
        a log message catalog, per level.

2013-10-06  castaglia <castaglia>

        * doc/howto/Compiling.html: Minor embellishment on what the
        install_user/install_group variables are for (and what they are NOT
        for).

2013-10-06  castaglia <castaglia>

        * doc/howto/ConfigurationTricks.html: Add recipe for using
        environment variable to achieve ServerRoot-like functionality.

2013-10-06  castaglia <castaglia>

        * doc/howto/Filters.html: Add recipe about filtering SITE CHMOD
        parameters using DenyFilter to doc.  Fixed links to be relative.

2013-10-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DenyFilter.pm: Added regression
        test show how to use DenyFilter to prevent a SITE CHMOD command that
        uses mode 777.

2013-10-06  castaglia <castaglia>

        * src/dirtree.c: Fixed bug in the handling of
        AllowFilter/DenyFilter, where a non-match would result in a false
        positive, such that a command might be allowed (when it should not
        be), or denied when it should be allowed.

2013-10-06  castaglia <castaglia>

        * src/var.c: Clean up minor stylistic nits in the Variables API; no
        real functional change.

2013-10-05  castaglia <castaglia>

        * src/fsio.c: Additional improvements for Bug#3963, reducing the
        scope of root privs used when setting created directory permissions.

2013-10-05  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Updated mod_exec
        ExecOption useStdin regression test in light of Bug#3981.

2013-10-05  castaglia <castaglia>

        * NEWS, contrib/mod_exec.c: Bug#3981 - Null pointer dereference in
        mod_exec with ExecOption useStdin.

2013-10-05  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: When constructing the string version of
        unsupported OPEN flags sent by the SFTP client, make sure we are
        checking the correct flags variable.

2013-10-05  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Support writing out of
        configs that are given as arrayrefs, not just as hashrefs.

2013-10-05  castaglia <castaglia>

        * tests/t/config/setenv.t,
        tests/t/lib/ProFTPD/Tests/Config/SetEnv.pm, tests/tests.pl: Adding
        regression test for the SetEnv directive.  In this case, the test
        also demonstrates how environment variables can be used to
        approximate the functionality of Apache's ServerRoot directive.

2013-10-05  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ratio.pm: Add a (currently
        failing) mod_ratio regression, found in an Ubuntu bug report.

2013-10-03  castaglia <castaglia>

        * doc/contrib/mod_ratio.html: Start working on mod_ratio docs, if
        only to cut down on bug reports about it.

2013-10-03  castaglia <castaglia>

        * doc/contrib/mod_sftp_pam.html: Fix typos and improve the
        installation instructions for mod_sftp_pam.

2013-10-02  castaglia <castaglia>

        * modules/mod_dso.c: Update mod_dso to use the pr_strnrstr()
        function, which duplicated code already in mod_dso.

2013-10-02  castaglia <castaglia>

        * RELEASE_NOTES: Plan to release RC4, and mention the fixing of the
        LDFLAGS for module builds.

2013-10-02  castaglia <castaglia>

        * contrib/mod_dnsbl/configure, contrib/mod_load/configure,
        contrib/mod_sftp/configure, contrib/mod_snmp/configure,
        contrib/mod_wrap2/configure: Updated contrib module configure
        scripts.

2013-10-02  castaglia <castaglia>

        * contrib/mod_dnsbl/Makefile.in, contrib/mod_dnsbl/configure.in,
        contrib/mod_load/Makefile.in, contrib/mod_load/configure.in,
        contrib/mod_sftp/Makefile.in, contrib/mod_sftp/configure.in,
        contrib/mod_snmp/Makefile.in, contrib/mod_snmp/configure.in,
        contrib/mod_wrap2/Makefile.in, contrib/mod_wrap2/configure.in: 
        Properly propagate/use LDFLAGS in the contrib module Makefiles.

2013-10-02  castaglia <castaglia>

        * contrib/mod_sftp/kex.c: Even when SSH2 clients do not send a
        "guess" KEX packet, but do correctly guess the preferred kex, we
        need to be prepared to handle ECDH key exchanges.

2013-10-01  castaglia <castaglia>

        * modules/mod_auth_unix.c: Fix typo in patch for Bug#3952 that was
        resulting in segfault.

2013-10-01  castaglia <castaglia>

        * contrib/mod_exec.c: Remove extraneous semicolon; I've been trying
        not to use them after the PRIVS macros.

2013-09-30  castaglia <castaglia>

        * contrib/mod_exec.c, contrib/mod_sql.c, modules/mod_log.c,
        modules/mod_xfer.c, src/dirtree.c, tests/api/cmd.c,
        tests/api/stubs.c: Deprecate get_full_cmd() in favor of
        pr_cmd_get_displayable_str(); both are existing functions, and the
        latter is more performant.

2013-09-30  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: Make sure that ECC key exchange
        algorithms can be explicitly configured via the SFTPKeyExchanges
        directive, when supported.

2013-09-29  castaglia <castaglia>

        * doc/modules/mod_auth_unix.html: Updated PersistentPasswd docs per
        Bug#3952.

2013-09-29  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, include/options.h, modules/mod_auth_file.c,
        modules/mod_auth_unix.c, src/main.c: Bug#3952 - Make
        PersistentPasswd default to 'off'.

2013-09-27  castaglia <castaglia>

        * src/netaddr.c: Include the address family (IPv4 vs IPv6) to which
        we tried (and failed) to resolve the given name, in the
        failed-resolution log message.

2013-09-27  castaglia <castaglia>

        * src/bindings.c: Only return an error from
        pr_ipbind_get_listening_conn(), if we fail to duplicate an address,
        for a reason other than EINVAL.  Turns out that EINVAL is actually
        an expected/common reason for the dup to fail.

2013-09-27  castaglia <castaglia>

        * src/bindings.c, src/dirtree.c, src/inet.c, src/netaddr.c: Fix an
        interesting bug only encountered if the following config is used:   DefaultAddress <ipv6-addr>   UseIPv6 off That is, the server is configured with an IPv6 address, and then
        later, in the config, support for IPv6 is disabled.  Without this
        patch, a strange segfault will ensue on startup.  Note that if the order of the directives is reversed, so that
        UseIPv6 occurs before the DefaultAddress directive, then startup
        fails as one might expect, since the IPv6 address won't be resolved
        unless IPv6 support is enabled.

2013-09-25  castaglia <castaglia>

        * contrib/mod_sftp/display.c, src/display.c: Silly compilers
        disagree on whether '' is valid syntax for denoting a single
        character.  Sigh.

2013-09-25  castaglia <castaglia>

        * contrib/mod_sftp/display.c, src/display.c: When formatting the %f
        Display variable, the units index was not being calculated
        correctly.

2013-09-25  castaglia <castaglia>

        * src/fsio.c: Minor clarifying comment.

2013-09-25  castaglia <castaglia>

        * NEWS, contrib/mod_sql_odbc.c: Bug#3979 - mod_sql_odbc compiler
        warnings on 64-bit systems using unixODBC.

2013-09-24  castaglia <castaglia>

        * include/str.h, src/str.c, tests/api/str.c, tests/api/timers.c: Add
        new pr_strnrstr() function, for checking whether a given string ends
        with a given suffix.  Comes with accompanying API tests.  Fixed a few racy timer tests while there.

2013-09-20  castaglia <castaglia>

        * contrib/mod_sftp/keys.c, contrib/mod_tls.c: Updated the cached
        PID, so that log messages reflected the forked process' PID
        properly.

2013-09-20  castaglia <castaglia>

        * contrib/mod_exec.c: Make sure we revoke root privs, even if we
        already hae the session.login_uid, when the '~' ExecOnEvent syntax
        is used.

2013-09-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Adding regression
        test for Bug#3964.

2013-09-20  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_exec.c: Bug#3964 - Support
        running ExecOnEvent actions with logged-in user's permissions.

2013-09-20  castaglia <castaglia>

        * NEWS, contrib/mod_geoip.c: Bug#3976 - ProFTPD terminating (signal
        11) crash for GeoLiteCity-20130903 database lookup.

2013-09-20  castaglia <castaglia>

        * NEWS, contrib/mod_geoip.c: Bug#3975 - Error printed to stderr when
        loading GeoIP Lite country database using IndexCache flag.

2013-09-19  castaglia <castaglia>

        * include/netio.h, src/netio.c: Include not only the module pointer,
        but a stringified version of the module name.  The module pointer of
        the owner may not be available for comparison (think shared/DSO
        modules), so having the string is a nice complement.

2013-09-19  castaglia <castaglia>

        * contrib/mod_deflate.c, contrib/mod_tls.c, include/conf.h,
        include/netio.h, src/netio.c: Add new pr_alloc_netio2() function,
        for associate the module * with the netio created.  This allows
        modules to see, for a given pr_netio_t, which module registered/owns
        that netio.  And, related, add a new pr_get_netio() function, so that modules can
        see the currently registered NetIO object for a given stream type.
        With the above module * now part of that NetIO, said modules can see
        what is registered, and take appropriate action.

2013-09-18  castaglia <castaglia>

        * NEWS, src/fsio.c: Bug#3963 - Improve permission setting when
        creating directories.

2013-09-18  castaglia <castaglia>

        * doc/contrib/index.html: Update contrib module index with link to
        mod_dnsbl.

2013-09-18  castaglia <castaglia>

        * contrib/mod_dnsbl/configure: Updated configure for mod_dnsbl.

2013-09-18  castaglia <castaglia>

        * contrib/mod_dnsbl/Makefile.in, contrib/mod_dnsbl/configure.in,
        contrib/mod_dnsbl/mod_dnsbl.h.in: Tweaking the mod_dnsbl build
        system to use the module-libs.txt file, for e.g. building properly
        as a static module when libresolv is needed.

2013-09-18  castaglia <castaglia>

        * contrib/mod_dnsbl/.cvsignore: Adding necessary .cvsignore file.

2013-09-18  castaglia <castaglia>

        * contrib/mod_dnsbl/Makefile.in: Update clean target for mod_dnsbl
        Makefile.

2013-09-18  castaglia <castaglia>

        * RELEASE_NOTES, doc/contrib/mod_dnsbl.html: Mention addition of
        mod_dnsbl to the contrib/ area.

2013-09-18  castaglia <castaglia>

        * contrib/mod_dnsbl/Makefile.in, contrib/mod_dnsbl/config.guess,
        contrib/mod_dnsbl/config.sub, contrib/mod_dnsbl/configure,
        contrib/mod_dnsbl/configure.in, contrib/mod_dnsbl/install-sh,
        contrib/mod_dnsbl/mod_dnsbl.c, contrib/mod_dnsbl/mod_dnsbl.h.in: 
        Adding the mod_dnsbl module to the proftpd project.

2013-09-18  castaglia <castaglia>

        * contrib/mod_snmp/config.guess, contrib/mod_snmp/config.sub,
        contrib/mod_snmp/install-sh: Updating config.guess, config.sub,
        install-sh scripts for mod_snmp.

2013-09-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Add ExtendedLog
        test for the %r LogFormat variable, for commands other than PASS.
        Fixed broken mod_sftp test.

2013-09-18  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Using a slightly different memory pool
        here avoids some strange side-effects later.

2013-09-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Update mod_tls tests
        to expect a 522 response code where mod_tls now generates such
        codes, rather than the 550 response codes that had been sent in the
        past.

2013-09-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
        tests for the handling of the SSCN command by mod_tls.

2013-09-17  castaglia <castaglia>

        * contrib/xferstats.holger-preiss: Fix/make -t option work properly.
        Fixed handling/counting for -i/-o options.  Added new -e option, to
        count number of deleted (mnemonic: "erased") files.

2013-09-17  castaglia <castaglia>

        * RELEASE_NOTES: Mention fix of mod_sftp/mod_sftp_pam memory
        allocation (CVE-2013-4359) in release notes.

2013-09-15  castaglia <castaglia>

        * contrib/mod_tls.c: Harden the mod_tls NetIO open callback so that,
        if multiple streams are opened, they don't overwrite each other.

2013-09-15  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        tests for Bug#3974, regarding the handling of the PathDenyFilter for
        SFTP sessions.

2013-09-15  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#3974 - PathDenyFilter directive does
        not work as expected for SFTP sessions.

2013-09-15  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Update
        regression test to work successfully on Mac OSX (due to how that
        platform handles its temporary paths).

2013-09-15  castaglia <castaglia>

        * include/str.h, src/str.c, tests/api/str.c: Add a variant of
        get_token, i.e. pr_str_get_token2, which not only returns the next
        token, but also returns its length.  This is quite useful for using
        get_token for iterating over a single string while tokenizing it in
        place.

2013-09-14  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/kbdint.c, contrib/mod_sftp/mod_sftp.h.in,
        contrib/mod_sftp_pam.c: Bug#3973 - mod_sftp can be forced to
        allocate too much memory for keyboard-interactive authentication.

2013-09-14  castaglia <castaglia>

        * contrib/mod_sftp/keys.c: When comparing EC curve points, use the
        curve group and points from the local file as the first parameters;
        the first parameter represents the "baseline" in the OpenSSL
        comparators to which we want to compare the client-supplied curve
        group/point.

2013-09-13  castaglia <castaglia>

        * contrib/mod_sftp_pam.c: Fix gcc-4.8 warning; patch supplied by
        Sergei Trofimovich <slyfox@gentoo.org>.

2013-09-05  castaglia <castaglia>

        * NEWS, modules/mod_auth_unix.c: Bug#3972 - Authentication error on
        Cygwin due to bad code.

2013-09-04  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Document the new IgnoreConfigFile
        SQLOption (Bug#3971).

2013-09-04  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sql.c, contrib/mod_sql.h,
        contrib/mod_sql_mysql.c: Bug#3971 - Support SQLOption for ignoring
        client library config files when needed.

2013-08-25  castaglia <castaglia>

        * tests/t/config/deferwelcome.t,
        tests/t/lib/ProFTPD/Tests/Config/DeferWelcome.pm, tests/tests.pl: 
        Add regression tests for the DeferWelcome directive.

2013-08-25  castaglia <castaglia>

        * src/session.c: Make sure that the %L variable, when used in a
        ServerIdent message, properly reflects a configured
        MasqueradeAddress, just as the non-customised ServerIdent message
        would.

2013-08-19  castaglia <castaglia>

        * doc/howto/Authentication.html: Update Auth howto links.  Added FAQ
        about getting passwords logged.

2013-08-19  castaglia <castaglia>

        * doc/modules/mod_auth.html: Adding more mod_auth directives to the
        docs.

2013-08-14  castaglia <castaglia>

        * doc/contrib/mod_ban.html, doc/contrib/mod_ctrls_admin.html,
        doc/contrib/mod_deflate.html, doc/contrib/mod_dynmasq.html,
        doc/contrib/mod_exec.html, doc/contrib/mod_ifsession.html,
        doc/contrib/mod_log_forensic.html, doc/contrib/mod_qos.html,
        doc/contrib/mod_quotatab_file.html,
        doc/contrib/mod_quotatab_ldap.html,
        doc/contrib/mod_quotatab_sql.html, doc/contrib/mod_radius.html,
        doc/contrib/mod_readme.html, doc/contrib/mod_rewrite.html,
        doc/contrib/mod_shaper.html, doc/contrib/mod_site_misc.html,
        doc/contrib/mod_unique_id.html: Updating installation instructions
        for many modules, noting how to build them as shared/DSO modules,
        and using prxs to do so.

2013-08-14  castaglia <castaglia>

        * doc/contrib/mod_ban.html: Typo.

2013-08-14  castaglia <castaglia>

        * contrib/mod_geoip.c: Fix mod_geoip's handling of multiple
        GeoIPAllowFilter directives.

2013-08-14  castaglia <castaglia>

        * doc/contrib/mod_ban.html, doc/contrib/mod_deflate.html,
        doc/contrib/mod_exec.html, doc/contrib/mod_quotatab.html,
        doc/contrib/mod_radius.html, doc/contrib/mod_rewrite.html,
        doc/contrib/mod_shaper.html, doc/contrib/mod_wrap2.html: Fix typos.

2013-08-14  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Typo.

2013-08-12  castaglia <castaglia>

        * contrib/mod_geoip.c: Bug#3967 - Typo in TraceLog output: "Allow"
        should be "Deny".

2013-08-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Added/updated
        logging-related tests for Bug#3966.

2013-08-09  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c, modules/mod_core.c, modules/mod_log.c: 
        Bug#3966 -  LogFormat %f variable not resolved for some commands.

2013-08-07  castaglia <castaglia>

        * src/inet.c, src/support.c: Preemptive support for FreeBSD 10.

2013-08-07  castaglia <castaglia>

        * modules/mod_log.c: Eliminate a strlen(3) when writing the full
        ExtendedLog line.

2013-08-02  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm: Add regression tests
        for the SIZE command, as applied to symlinks (e.g.  to files and to
        directories).

2013-08-01  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Adding documentation for the new
        TLSVerifyServer directive.

2013-08-01  castaglia <castaglia>

        * include/mod_log.h, modules/mod_log.c: Moving the various "meta"
        values used for LogFormat variables into a mod_log.h header, so that
        other modules which use the parsed LogFormat directives can also
        know what the "meta" values are.

2013-08-01  castaglia <castaglia>

        * modules/mod_log.c: Make mod_log stash the configured LogFormat
        directives in the config tree, so that other modules might also look
        up and use the LogFormat data.

2013-07-31  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3955 - Support secure
        FXP (site-to-site) transfers using SSCN.

2013-07-29  castaglia <castaglia>

        * doc/modules/mod_facts.html: FAQ about FileZilla, symlinks, and
        MLSD for older proftpd versions.

2013-07-26  castaglia <castaglia>

        * doc/contrib/mod_ban.html: Add FAQ about banning root logins.

2013-07-25  castaglia <castaglia>

        * NEWS, src/fsio.c: Bug#3962 - Directory creation fails (chmod(2)
        EPERM) when root privs are used in some cases.

2013-07-22  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Adding mod_sftp FAQ/gotcha, per
        Bug#3961.

2013-07-19  castaglia <castaglia>

        * doc/modules/mod_cap.html: Document the support for CAP_FSETID for
        the CapabilitiesSet directive, per Bug#3960.

2013-07-19  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, modules/mod_cap.c: Bug#3960 - Support the
        CAP_FSETID Linux capability, for preserving directory SGID bit.

2013-07-18  castaglia <castaglia>

        * NEWS, src/fsio.c: Bug#3958 - Directory creation does not honor
        single-parameter Umask setting.

2013-07-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Adding regression tests
        which would have caught Bug#3958.

2013-07-17  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: When using the pr_str_get_nbytes()
        function, we need to use off_t, not uint32_t, to hold the result
        value.  On some systems (e.g. SPARC), a uint32_t is smaller than an
        off_t, so trying to shove an off_t worth of data into memory
        allocated for uint32_t will cause problems.

2013-07-17  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3959 - mod_sftp does not honor
        <Directory>/<Limit> sections when symlinks are involved.  The mod_sftp module was not properly canoncalizing the paths sent by
        the client before checking <Directory> restrictions.

2013-07-17  castaglia <castaglia>

        * configure: Updated configure.

2013-07-17  castaglia <castaglia>

        * configure.in: Make the configure script handle common typos such
        as leading/trailing colons in the --with-modules/--with-shared
        lists, and handling double colons in these lists.

2013-07-17  castaglia <castaglia>

        * contrib/mod_sql.c, modules/mod_log.c,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Making sure that
        ExtendedLog variables such as %d and %f work properly for the MFMT
        command, and some other SITE commands (e.g. SITE UTIME).

2013-07-16  castaglia <castaglia>

        * contrib/mod_tls.c: Fix compiler warning about unused variable
        (only when --disable-ipv6 configure option is used).

2013-07-16  castaglia <castaglia>

        * src/ftpdctl.c: Fix compiler warning.

2013-07-16  castaglia <castaglia>

        * src/netaddr.c: Fix compiler warning on Solaris.

2013-07-16  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Fix compiler warnings about shadowed local
        variables.

2013-07-16  castaglia <castaglia>

        * NEWS, include/dirtree.h, modules/mod_log.c, src/auth.c,
        src/dirtree.c: Bug#3957 - ProFTPD configuration with thousands of
        <Directory>/<Limit> sections leads to slow logins.  With this, the find_config() function now takes flags which can be
        used to indicate disinterest in specific config types, so that they
        are skipped when doing recursive searches of the in-memory config
        tree.

2013-07-09  castaglia <castaglia>

        * doc/howto/ECCN.html, doc/howto/index.html: Adding ECCN howto.

2013-07-05  castaglia <castaglia>

        * contrib/mod_sftp_pam.c, modules/mod_auth_pam.c: Fix possible minor
        memory leak with an error happens during PAM message processing.

2013-07-02  castaglia <castaglia>

        * tests/t/config/allowforeignaddress.t,
        tests/t/lib/ProFTPD/Tests/Config/AllowForeignAddress.pm,
        tests/tests.pl: Adding regression tests for site-to-site transfers
        (FXP) and the AllowForeignAddress directive.

2013-07-02  castaglia <castaglia>

        * doc/contrib/mod_ban.html: Improve the mod_ban docs by listing the
        type of ban (class/host/user) next to the BanOnEvent rules.

2013-07-02  castaglia <castaglia>

        * doc/howto/Stopping.html: HTML formatting (missed closing tag).

2013-07-01  castaglia <castaglia>

        * src/fsio.c: Quell compiler warning on Solaris.

2013-07-01  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/scp.c: Bug#3954 - scp downloads result in
        segfault.

2013-06-30  castaglia <castaglia>

        * contrib/mod_sftp/kex.c: We only need to check whether the client
        correctly guessed the key exchange algorithm if the client indicate
        that it has sent the first KEX packet (as a guess).  If not, then no
        need to write out possibly-confusing log messages.

2013-06-30  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Adding
        regression test for mod_wrap2's event + mod_exec, for emulating the
        "spawn" feature of tcpwrappers (Bug#3209).

2013-06-30  castaglia <castaglia>

        * src/inet.c: Defensive check.

2013-06-29  castaglia <castaglia>

        * modules/mod_xfer.c: Found a few more places in mod_xfer where the
        errno value was being stomped, rather than being preserved properly.

2013-06-29  castaglia <castaglia>

        * src/netio.c: More attempts to properly preserve the errno value,
        e.g. during polling.

2013-06-29  castaglia <castaglia>

        * modules/mod_core.c: Correcting a log message.

2013-06-29  castaglia <castaglia>

        * NEWS, contrib/mod_ldap.c: Bug#3951 - Null pointer dereference for
        mod_ldap logins when LDAPDefaultAuthScheme not configured.

2013-06-29  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: Updated spec with fixes from the
        Fedora maintainer.

2013-06-24  castaglia <castaglia>

        * doc/contrib/mod_ifsession.html: Formatting.

2013-06-24  castaglia <castaglia>

        * doc/contrib/mod_ifsession.html: Update mod_ifsession Usage section
        with mention of loading it last, when using it as a shared module.

2013-06-24  castaglia <castaglia>

        * src/str.c: Remove unused variable.

2013-06-23  castaglia <castaglia>

        * NEWS, modules/mod_delay.c: Bug#3858 - mod_delay allows too-large
        values, leading to client hang on authentication.

2013-06-22  castaglia <castaglia>

        * src/fsio.c: Refactor pr_fs_dircat() such that its use of sstrcat()
        will not scan the same buffer over and over to find end-of-string;
        we now advance the destination pointer manually to avoid such a
        thing.

2013-06-22  castaglia <castaglia>

        * tests/api/fsio.c: Add a unit test for the pr_fs_dircat() function;
        we're going to be refactoring it a bit.

2013-06-22  castaglia <castaglia>

        * lib/sstrncpy.c, tests/api/str.c: Fix the sstrncpy() implementation
        to do what is expected both when strlcpy(3) is present, and when it
        is not.  Update the API unit tests to match the changed sstrncpy()
        return value.

2013-06-22  castaglia <castaglia>

        * include/libsupp.h, lib/pwgrent.c, lib/sstrncpy.c, src/ftpdctl.c: 
        Change sstrcat() to return an int (denoting length) rather than
        pointer.  This will make it easier to concatenate strings without
        constantly rescanning for the end-of-string in the destination
        buffer.

2013-06-22  castaglia <castaglia>

        * src/str.c: Finding cases where we use sstrcat(), and improving
        them by moving the destination pointer along, rather than having
        sstrcat() scan for the end-of-string every time using the same
        pointer.  This should improvement performance a little.  It would be
        easier/nicer if sstrcat() returned the number of bytes copied; maybe
        I'll work on that.

2013-06-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Make the
        ExtendedLog tests pass properly by dealing with MacOSX-isms where
        needed.

2013-06-22  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: More work on FTP response codes for
        ExtendedLog for SFTP sessions (part of Bug#3948).

2013-06-21  castaglia <castaglia>

        * RELEASE_NOTES: Add note about LogFormat %s handling change for
        SFTP transfers.

2013-06-21  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#3948 - Support
        FTP response codes in ExtendedLog for SFTP data transfers.

2013-06-21  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#3949 -
        RNFR/RNTO not logged as expected for SFTP EXTENDED
        posix-rename@openssh.com requests.

2013-06-21  castaglia <castaglia>

        * RELEASE_NOTES, doc/modules/mod_log.html: Update docs for LogFormat
        %d/%D handling changes.

2013-06-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding
        regression tests for Bug#3950.

2013-06-21  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c, modules/mod_log.c: Bug#3950 - LogFormat
        %d/%D variables not resolved properly for directory listings.

2013-06-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Additional
        ExtendedLog regression tests for the %f (and %d) LogFormat variable,
        pertaining to directory listings such as MLSD.

2013-06-20  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#3947 -
        LogFormat %f variable not resolved properly for SFTP renames.

2013-06-20  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c, modules/mod_log.c: Bug#3946 - Null
        pointer dereference causes segfault when logging %{transfer-status},
        %{transfer-failure} LogFormat variables on EXIT.

2013-06-20  castaglia <castaglia>

        * doc/modules/mod_log.html: Minor nit: %{transfer-status} and
        %{transfer-failure} only pertain to *data* transfers; they do not
        pertain to e.g. RNFR/RNTO.

2013-06-20  castaglia <castaglia>

        * doc/modules/mod_core.html: Add missing description of
        MaxConnectionRate directive to the mod_core docs.

2013-06-17  castaglia <castaglia>

        * doc/modules/mod_cap.html: Mention support for "CAP_SETUID" in the
        CapabilitiesSet directive docs.

2013-06-17  castaglia <castaglia>

        * NEWS, modules/mod_cap.c: Bug#3945 - Spurious log messages at
        session close.

2013-06-15  castaglia <castaglia>

        * contrib/mod_wrap2_file.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Support use of
        the %U variable in mod_wrap2_file paths, for storing access rules in
        per-user locations that are not necessarily that user's home
        directory.

2013-06-14  castaglia <castaglia>

        * contrib/mod_snmp/mod_snmp.c: Fix the forged packet check in
        mod_snmp to check both address AND port, rather than just address.  Set the RLIMIT_NPROC resource limit in the agent process, after
        we've chrooted and dropped privs, such that the agent process cannot
        fork again.

2013-06-14  castaglia <castaglia>

        * include/version.h: Revving version for CVS.

2013-06-14  castaglia <castaglia>

        * ChangeLog: Updated ChangeLog.

2013-06-14  castaglia <castaglia>

        * NEWS: Updating NEWS with today's date for 1.3.5rc3 release.

2013-06-14  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
        1.3.5rc3 for release.

2013-06-14  castaglia <castaglia>

        * locale/files.txt: Updated files.txt to include new mod_snmp,
        mod_sftp files.

2013-06-14  castaglia <castaglia>

        * RELEASE_NOTES: Fleshed out release notes for 1.3.5rc3.

2013-06-14  castaglia <castaglia>

        * doc/howto/SQL.html: Adding section on using the SQL PrimaryKey
        directives to the howto.

2013-06-14  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Add descriptions for the
        SQLUserPrimaryKey, SQLGroupPrimaryKey directives added for Bug#3864.

2013-06-10  castaglia <castaglia>

        * doc/contrib/mod_sql_passwd.html: Update SQLPasswordPBKDF2 docs to
        mention use of non-SHA1 digests requires OpenSSL-1.0.0c and later.

2013-06-10  castaglia <castaglia>

        * contrib/mod_sql_passwd.c: Allow use of PBKDF2 passwords in
        mod_sql_passwd for OpenSSL versions older than 1.0.0c, as long as
        the configured PBKDF2 digest algorithm is SHA1.

2013-06-10  castaglia <castaglia>

        * doc/modules/mod_rlimit.html: Removed docs for now-obsolete
        RLimitProcesses directive.

2013-06-10  castaglia <castaglia>

        * NEWS, modules/mod_rlimit.c: Bug#3941 - RLimitProcesses causes
        problems with setuid/setreuid.  Remove the RLimitProcesses and setrlimit(RLIMIT_NPROC) code; it was
        causing more problems (due to setuid(2) tricks) than it solved.

2013-06-07  castaglia <castaglia>

        * RELEASE_NOTES, doc/contrib/mod_sql_passwd.html: Add documentation
        for the new PBKDF2 support.

2013-06-07  castaglia <castaglia>

        * NEWS, contrib/mod_sql_passwd.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Bug#3943 -
        Support for PBKDF2 passwords in mod_sql_passwd.

2013-06-06  castaglia <castaglia>

        * NEWS, contrib/mod_sftp_sql.c: Bug#3942 - mod_sftp_sql should
        support multiple keys concatenated together in a single column.

2013-06-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Adding
        regression test for Bug#3942.

2013-06-06  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Adding another mod_sftp FAQ.

2013-06-06  castaglia <castaglia>

        * contrib/mod_load/Makefile.in, contrib/mod_sftp/Makefile.in,
        contrib/mod_snmp/Makefile.in, contrib/mod_wrap2/Makefile.in: 
        Updating several contrib module Makefiles to clean up properly after
        themselves when doing a 'make clean'.

2013-06-06  castaglia <castaglia>

        * src/rlimit.c: If both current and max are NULL pointers, then
        return EINVAL; no need to proceed further.

2013-06-06  castaglia <castaglia>

        * contrib/mod_sftp/rfc4716.c: Comment nit; no functional change.

2013-06-06  castaglia <castaglia>

        * contrib/mod_load/Makefile.in: Try to bring the mod_load Makefile
        back up to spec, to properly clean out the .la, .lo files, and libs/
        directory.

2013-06-05  castaglia <castaglia>

        * modules/mod_dso.c: Handle a LoadModule module name with ".cpp"
        extension, in addition to ".c", for loading e.g. C++ modules.

2013-06-03  castaglia <castaglia>

        * contrib/mod_sftp/umac.c: Bug#3940 - Compiler warnings in mod_sftp.  Fixed -Wstrict-aliasing warnings in umac.c.

2013-05-31  castaglia <castaglia>

        * RELEASE_NOTES: Working on fleshing out release notes; still need
        to do more.

2013-05-28  castaglia <castaglia>

        * NEWS, modules/mod_ctrls.c, src/ctrls.c: Bug#3939 - Disable
        Controls for "ServerType inetd" servers.

2013-05-23  castaglia <castaglia>

        * doc/howto/Limit.html: Add section about using multiple <Limit
        LOGIN> sections to the Limit howto.

2013-05-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Limit/LOGIN.pm: Adding <Limit
        LOGIN> test showing what happens when multiple such sections appear
        in the same vhost config (answer: last one wins).

2013-05-17  castaglia <castaglia>

        * doc/howto/SQL.html: Add SQLNamedConnectInfo recipe to SQL howto.

2013-05-17  castaglia <castaglia>

        * doc/modules/mod_ctrls.html: Copy-pasto.

2013-05-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding regression test
        for LIST for relative symlinks where target path contains
        double-slashes (regression caused by fix for Bug#3719).

2013-05-16  castaglia <castaglia>

        * NEWS, RELEASE_NOTES: Mention addition of mod_snmp in release docs.

2013-05-15  castaglia <castaglia>

        * tests/t/etc/modules/mod_snmp/ssh_host_dsa_key,
        tests/t/etc/modules/mod_snmp/ssh_host_dsa_key.pub,
        tests/t/etc/modules/mod_snmp/ssh_host_rsa_key,
        tests/t/etc/modules/mod_snmp/ssh_host_rsa_key.pub,
        tests/t/etc/modules/mod_snmp/tls-ca-cert.pem,
        tests/t/etc/modules/mod_snmp/tls-server-cert.pem,
        tests/t/lib/ProFTPD/Tests/Modules/mod_snmp.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_snmp/ban.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_snmp/sftp.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_snmp/tls.pm,
        tests/t/modules/mod_snmp.t, tests/t/modules/mod_snmp/ban.t,
        tests/t/modules/mod_snmp/sftp.t, tests/t/modules/mod_snmp/tls.t,
        tests/tests.pl: Adding the mod_snmp testsuite.

2013-05-15  castaglia <castaglia>

        * doc/contrib/index.html, doc/contrib/mod_snmp.html: Adding mod_snmp
        documentation.

2013-05-15  castaglia <castaglia>

        * contrib/mod_snmp/Makefile.in, contrib/mod_snmp/PROFTPD-MIB.txt,
        contrib/mod_snmp/agentx.h, contrib/mod_snmp/asn1.c,
        contrib/mod_snmp/asn1.h, contrib/mod_snmp/config.guess,
        contrib/mod_snmp/config.sub, contrib/mod_snmp/configure,
        contrib/mod_snmp/configure.in,
        contrib/mod_snmp/contrib/opennms/proftpd.datacollection-config.xml,
        contrib/mod_snmp/contrib/opennms/proftpd.snmp-graph.properties,
        contrib/mod_snmp/db.c, contrib/mod_snmp/db.h,
        contrib/mod_snmp/install-sh, contrib/mod_snmp/mib.c,
        contrib/mod_snmp/mib.h, contrib/mod_snmp/mod_snmp.c,
        contrib/mod_snmp/mod_snmp.h.in, contrib/mod_snmp/msg.c,
        contrib/mod_snmp/msg.h, contrib/mod_snmp/notify.c,
        contrib/mod_snmp/notify.h, contrib/mod_snmp/packet.c,
        contrib/mod_snmp/packet.h, contrib/mod_snmp/pdu.c,
        contrib/mod_snmp/pdu.h, contrib/mod_snmp/smi.c,
        contrib/mod_snmp/smi.h, contrib/mod_snmp/stacktrace.c,
        contrib/mod_snmp/stacktrace.h, contrib/mod_snmp/uptime.c,
        contrib/mod_snmp/uptime.h: Adding mod_snmp to the contrib modules of
        the ProFTPD source distribution.

2013-05-15  castaglia <castaglia>

        * .cvsignore: Ignore any .git/ directories and .gitignore files
        which may show up.

2013-05-14  castaglia <castaglia>

        * src/auth.c: When caching the UID based on a name, use the name
        that's been retrieved from the source, rather than the lookup key
        name.  In the case of e.g.  SQL table lookups, the lookup key might
        be different from the returned official name.  We need to use the
        official name, since that is what would be used later for name-to-ID
        lookups.

2013-05-12  castaglia <castaglia>

        * doc/contrib/mod_wrap2_sql.html: Include indexes (for performance)
        in the example schema.

2013-05-09  castaglia <castaglia>

        * doc/howto/Memcache.html: Adding another memcache-related FAQ.

2013-05-09  castaglia <castaglia>

        * doc/howto/Memcache.html, doc/howto/index.html: Adding a howto for
        Memcache support in proftpd.

2013-05-09  castaglia <castaglia>

        * doc/howto/Logging.html: Add a wtmp log-related FAQ to the Logging
        howto.

2013-05-09  castaglia <castaglia>

        * doc/howto/Logging.html: No need to direct SystemLog to /dev/null
        to disable logging; simply setting "SystemLog none" is enough.

2013-05-09  castaglia <castaglia>

        * doc/modules/mod_dso.html: Adding mod_dso FAQ encountered on the
        proftp-user mailing list today.

2013-05-08  castaglia <castaglia>

        * NEWS, contrib/mod_ldap.c: Bug#3937 - Segfault when retrieving SSH
        public key from LDAP directory.

2013-05-07  castaglia <castaglia>

        * doc/modules/mod_memcache.html: Mention that the MemcacheServers
        directive handles Unix domain socket paths as well (per Bug#3931).

2013-05-07  castaglia <castaglia>

        * contrib/mod_ban.c: Typo which broke the BanCache directive's
        memcache functionality.

2013-05-06  castaglia <castaglia>

        * NEWS, modules/mod_ctrls.c: Bug#3927 - Default ControlsSocket
        created despite custom ControlsSocket path.

2013-05-06  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Fix comment from bad patching.

2013-05-06  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/scp.c: Bug#3935 - scp download of
        nonexistent file results in client hang.

2013-05-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        test for Bug#3935, or at least one of its manifestations.  Also
        cleaned up some minor styling.

2013-05-03  castaglia <castaglia>

        * NEWS, modules/mod_core.c, src/dirtree.c: Bug#3934 -
        HideUser/HideGroup do not work as expected for virtual users.

2013-05-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm,
        tests/t/lib/ProFTPD/Tests/Config/HideUser.pm: Adding regression
        tests for Bug#3934 (HideUser/HideGroup not working for virtual
        users).

2013-04-30  castaglia <castaglia>

        * NEWS, contrib/mod_sql_mysql.c: Bug#3932 - SQLAuthType Backend
        returns "password mismatch" for MySQL PASSWORD().

2013-04-30  castaglia <castaglia>

        * NEWS, modules/mod_auth_pam.c: Bug#3929 - pam_session_close()
        requires root privs on some platforms.

2013-04-23  castaglia <castaglia>

        * contrib/ftpasswd, contrib/ftpquota: Use env in the shebang line,
        rather than assuming the location of perl to use.

2013-04-23  castaglia <castaglia>

        * src/proftpd.8.in: Incorporating doc patch from FreeBSD ports tree.

2013-04-23  castaglia <castaglia>

        * src/wtmp.c: Incorporating patch from FreeBSD ports tree.

2013-04-23  castaglia <castaglia>

        * src/var.c: Removed unnecessary typecast.

2013-04-23  castaglia <castaglia>

        * src/auth.c: Quell compiler warnings on some platforms/compilers
        about signature mismatches via typecasting.

2013-04-16  castaglia <castaglia>

        * modules/mod_delay.c, src/inet.c, src/netaddr.c: If getaddrinfo(3)
        fails for a new connection, make sure the connection fails quickly,
        rather than proceeding further (and getting into a state where it is
        never terminated).

2013-04-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: SFTP regression
        test for HideFiles and symlinks (Bug#3924).

2013-04-16  castaglia <castaglia>

        * src/dirtree.c: Minor tweak to dir_hide_file(), needed for Bug#3924
        (and SFTP directory listings, specifically).

2013-04-16  castaglia <castaglia>

        * NEWS, modules/mod_facts.c, modules/mod_ls.c, src/dirtree.c: 
        Bug#3924 - HideFiles does not filter symlinks.

2013-04-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Adding regression
        tests for Bug#3924.

2013-04-15  castaglia <castaglia>

        * contrib/mod_sftp/fxp.h: Missing checkin for Bug#3926; this fixes
        the CVS build.

2013-04-12  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Fix up the SFTPAuthorizedUserKeys
        directive description.

2013-04-11  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Adding FAQ to mod_sftp docs about
        localised directory listings, from Bug#3925.

2013-04-11  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#3925 - SFTP directory listings are
        sensitive to locale environment variables.

2013-04-11  castaglia <castaglia>

        * RELEASE_NOTES, doc/contrib/mod_sftp.html: Update mod_sftp docs
        with mention of support for the fsync extension.

2013-04-11  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c: 
        Bug#3926 - Support OpenSSH fsync SFTP extension.

2013-04-10  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Fix the length of the strings compared for
        the OpenSSH extensions in SFTP EXTENDED requests.

2013-04-05  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Collect all
        the common code for building the SQLite db into a function.  Add
        test showing that just changing the table name for
        SQLUserInfo/SQLGroupInfo directives works as expected.

2013-04-03  castaglia <castaglia>

        * modules/mod_rlimit.c: Correct the bug number in the comment.

2013-04-03  castaglia <castaglia>

        * modules/mod_cap.c: Slightly better error message when setreuid(2)
        fails.

2013-04-03  castaglia <castaglia>

        * NEWS, modules/mod_rlimit.c: Bug#3923 - mod_cap does not revoke
        root privileges properly for SFTP connections.

2013-04-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm: Adding regression
        test for Bug#3923.

2013-03-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Adding more
        regression tests for <Directory> + <Limit> configs.

2013-03-29  castaglia <castaglia>

        * configure: Updated configure.

2013-03-29  castaglia <castaglia>

        * config.h.in, configure.in, contrib/mod_sql_mysql.c: Improve on the
        detection of MySQL's "scrambled password" API (for implementing the
        "Backend" SQLAuthType for MySQL servers), based on a patch from
        Bernd Lommerzheim.

2013-03-29  castaglia <castaglia>

        * contrib/mod_sftp/auth-kbdint.c: Include explanatory comment about
        the errno value and Bug#3921.

2013-03-28  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/auth-kbdint.c: Bug#3921 - Single failed
        keyboard-interactive login attempt causes SSH connection to close
        prematurely.

2013-03-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_pam.pm,
        tests/t/modules/mod_sftp_pam.t, tests/tests.pl: Start working on
        regression tests for the mod_sftp_pam module, in light of Bug#3921.

2013-03-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        test for the umac-64@openssh.com support added for Bug#3920.

2013-03-28  castaglia <castaglia>

        * contrib/mod_sftp/mac.c: Typo.  Sigh.

2013-03-28  castaglia <castaglia>

        * contrib/mod_sftp/mac.c: Properly free up the allocated UMAC
        context objects when e.g. unloading mod_sftp (part of Bug#3920).

2013-03-28  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: Need to include the mac.h header now,
        to avoid compiler warnings about unknown functions.

2013-03-28  castaglia <castaglia>

        * contrib/mod_sftp/msg.c, contrib/mod_sftp/msg.h: Forgot to commit
        these changes for Bug#3920.

2013-03-28  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Update the mod_sftp docs to reflect
        supporting umac-64@openssh.com.

2013-03-28  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/Makefile.in, contrib/mod_sftp/crypto.c,
        contrib/mod_sftp/fxp.c, contrib/mod_sftp/mac.c,
        contrib/mod_sftp/mac.h, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_sftp/umac.c, contrib/mod_sftp/umac.h: Bug#3920 - Support
        umac-64@openssh.com digest for mod_sftp.

2013-03-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Limit/LOGIN.pm: Adding regression
        test showing that proftpd correctly handles group names that contain
        backslashes in them.

2013-03-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Clean up the
        SQLite script once we're done with it.

2013-03-16  castaglia <castaglia>

        * doc/modules/mod_log.html: Bug#3864 added support for (among other
        things) a %g LogFormat variable; updated the LogFormat docs
        accordingly.

2013-03-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
        regression tests for the SQL PrimaryKey directives added for
        Bug#3864.

2013-03-16  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sql.c, modules/mod_log.c: 
        Bug#3864 - Support SQL query to lookup/use primary key for logged-in
        user/group.

2013-03-15  castaglia <castaglia>

        * contrib/mod_sftp/crypto.c: Quell compiler warnings (Bug#3919)
        caused by changes in callback signatures between OpenSSL-0.9.x and
        OpenSSL-1.0.x.  Since the latter now has ABI compatibility rules, it
        will become more widespread, and thus we will change our callbacks
        to match the newer signatures.  This will cause compiler warnings
        about mismatched signatures for older OpenSSL installations, but
        that is the price of keeping up to date.

2013-03-15  castaglia <castaglia>

        * doc/howto/KeepAlives.html: Minor grammar fixes.

2013-03-14  castaglia <castaglia>

        * contrib/mod_sftp/keys.c: Make the SFTPLog a little less spammy by
        moving some of the logged messages (e.g. about which paths are used
        as host keys) into trace logging.

2013-03-14  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/interop.c, contrib/mod_sftp/mod_sftp.c,
        src/regexp.c: Bug#3918 - mod_sftp segfault after SIGHUP when
        evaluating client banner.

2013-03-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        test for Bug#3918.

2013-03-13  castaglia <castaglia>

        * doc/modules/mod_xfer.html: Updating DeleteAbortedStores doc per
        Bug#3917.

2013-03-13  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c, modules/mod_xfer.c: Bug#3917 - Make
        DeleteAbortedStores on by default when HiddenStores enabled.

2013-03-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm: Adding
        regression test for Bug#3917.

2013-03-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Adding
        another regression test for Bug#3915.

2013-03-12  castaglia <castaglia>

        * doc/howto/TLS.html: Include the error message frequently seen on
        the client end of things in the FAQ about NoSessionReuseRequired.

2013-03-12  castaglia <castaglia>

        * doc/howto/TLS.html: Add TLS FAQ about data transfers and the
        NoSessionReuseRequired TLSOption.

2013-03-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Adding
        regression test for Bug#3915.

2013-03-08  castaglia <castaglia>

        * NEWS, src/fsio.c: Bug#3914 - 1.3.5rc2 fails to build on Solaris
        10.

2013-03-08  castaglia <castaglia>

        * contrib/mod_sftp/msg.c: Quell compiler (and static code analysi)
        warnings (Bu#3912).

2013-03-08  castaglia <castaglia>

        * modules/mod_auth_unix.c: Handle potential NULL return value from
        getpwnam(3) better.  Stylistic nits.

2013-03-08  castaglia <castaglia>

        * utils/ftptop.c: Replace strcat(3) with snprintf(3).  Not as much
        of a concern for overflows given that ftptop is not a setuid
        process, but still, it's a good habit to get into.

2013-03-08  castaglia <castaglia>

        * contrib/mod_sftp/packet.c: Don't fire the 'ssh2.netio-write' event
        until after we've determined that the socket is writable.  And if
        the socket is NOT writable, then clear the iovec array before
        returning.

2013-03-08  castaglia <castaglia>

        * contrib/mod_sql_mysql.c: Add comment about known compiler warning
        about "implicit function declaration" (Bug#3908).

2013-03-08  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#3910 - Clang's scan-build warns on
        set[u][g]id unchecked return value.

2013-03-07  castaglia <castaglia>

        * configure: Updated configure.

2013-03-07  castaglia <castaglia>

        * configure.in: Enable a few more gcc warning flags, if supported,
        when --enable-devel is used.

2013-03-07  castaglia <castaglia>

        * contrib/mod_log_forensic.c: Quell more compiler warnings
        (Bug#3908).

2013-03-07  castaglia <castaglia>

        * contrib/mod_sql_mysql.c: Trying to quell compiler warnings
        (Bug#3908).

2013-03-07  castaglia <castaglia>

        * contrib/mod_log_forensic.c, src/fsio.c: Quell compiler warnings
        (Bug#3908).

2013-03-06  castaglia <castaglia>

        * include/version.h: Bump version for CVS.

2013-03-06  castaglia <castaglia>

        * ChangeLog: Updated ChangeLog.

2013-03-06  castaglia <castaglia>

        * locale/files.txt: Updated list of files for localization.

2013-03-06  castaglia <castaglia>

        * NEWS: Update NEWS with release date.

2013-03-06  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec, include/version.h: Preparing for
        release of proftpd-1.3.5rc2.

2013-03-06  castaglia <castaglia>

        * contrib/mod_log_forensic.c: Quell compiler warning.

2013-03-06  castaglia <castaglia>

        * RELEASE_NOTES: Updating release notes for proftpd-1.3.5rc2.

2013-03-06  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Adding description of the new
        TLSUserName directive to the mod_tls docs.

2013-03-06  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Document that TLSSessionCache can be
        configured with a parameter of "off".

2013-03-06  castaglia <castaglia>

        * doc/modules/mod_xfer.html: Mention the optional suffix parameter
        in the HiddenStores synopsis.

2013-03-06  castaglia <castaglia>

        * doc/modules/mod_auth_file.html: Adding discussion of the stricter
        permission checks now done by mod_auth_file.

2013-03-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Adding regression
        test showing conversion from ISO-8859-1 client-side charset to UTF-8
        server-side charset.

2013-03-01  castaglia <castaglia>

        * RELEASE_NOTES, doc/contrib/mod_ban.html: Updating docs for new
        TLSHandshake BanOnEvent rule.

2013-03-01  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_ban.c, contrib/mod_tls.c: 
        Bug#3906 - Support ban rule for clients which perform SSL/TLS
        handshakes too frequently.

2013-03-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Adding regression
        test for the new BanOnEvent TLSHandshake rule (Bug#3906).

2013-03-01  castaglia <castaglia>

        * contrib/mod_log_forensic.c: Print out mod_unique_id's UNIQUE_ID
        value, if present, in the ForensicLogFile.

2013-02-28  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3900 - ProFTPD terminating
        (signal 11) on some sftp connections.

2013-02-27  castaglia <castaglia>

        * src/mkhome.c: And, for site which really need it, generate
        before/after events for when a skeleton directory is configured for
        CreateHome.

2013-02-27  castaglia <castaglia>

        * src/mkhome.c: Only fire the 'core.created-home' event IFF the home
        directory was actually created (versus already existing).

2013-02-27  castaglia <castaglia>

        * src/fsio.c: Slight performance in statcache check by checking path
        lengths first, before calling strncmp(3).

2013-02-27  castaglia <castaglia>

        * RELEASE_NOTES: Adding more release notes to myself, to flesh out
        today/tomorrow.

2013-02-27  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Checking in the proper patch/fix for
        Bug#3904.

2013-02-27  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/scp.c: Bug#3904 - scp downloads using glob
        pattern sometimes fails.

2013-02-27  castaglia <castaglia>

        * doc/contrib/ftpmail.html: Updated ftpmail docs, per Bug#3709.

2013-02-27  castaglia <castaglia>

        * NEWS, contrib/ftpmail: Bug#3709 - Support download-triggered
        emails in the ftpmail script.

2013-02-27  castaglia <castaglia>

        * contrib/mod_log_forensic.c: Rather than using sstrncpy() (which
        can examine every byte looking for NUL), use memcpy(3), since we
        already know how long the buffer to be copied is.  Hopefully this is
        faster, and reduces CPU load on logging-busy servers (e.g. lots of
        TraceLog messages being generated/copied by mod_log_forensic).

2013-02-27  castaglia <castaglia>

        * src/mkhome.c: Don't generate the 'core.created-home' event until
        after any possible CreateHome skeleton directory has been copied.

2013-02-26  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Typo.

2013-02-26  castaglia <castaglia>

        * doc/contrib/mod_sftp_pam.html: Document the new SFTPPAMOptions
        value, per Bug#3905.

2013-02-26  castaglia <castaglia>

        * NEWS, contrib/mod_sftp_pam.c, modules/mod_auth_pam.c: Bug#3905 -
        Handle the Linux-specific PAM_RADIO_TYPE message properly.

2013-02-26  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix the handling of
        exit status values from external commands (e.g. scp).

2013-02-25  castaglia <castaglia>

        * contrib/mod_log_forensic.c: Deal with Bug#3903 in mod_log_forensic
        by have a separate pool for each log message object in the ring (and
        thus each message string is allocated out of its own pool).

2013-02-25  castaglia <castaglia>

        * contrib/mod_sftp/packet.c: Use a more conservative approach, and
        use memmove(3) instead of memcpy(3).

2013-02-25  castaglia <castaglia>

        * src/log.c: Better handling of return value from
        pr_log_event_listening().

2013-02-25  castaglia <castaglia>

        * src/trace.c: Avoid calling strlen(3) unnecessarily on TraceLog
        messages.

2013-02-24  jwm <jwm>

        * contrib/mod_ldap.c: git 07dd890968: release mod_ldap 2.9.3

2013-02-24  jwm <jwm>

        * contrib/mod_ldap.c: git 577776b579: don't emit the bind DN
        password in debug output on successful bind (Bug #3885)

2013-02-24  jwm <jwm>

        * contrib/mod_ldap.c: git b77b43e314: fail when someone's left the
        on/off flags when moving to LDAP{Users,Groups}

2013-02-24  castaglia <castaglia>

        * NEWS, include/log.h, src/event.c, src/log.c: Bug#3903 - With
        mod_log_forensic enabled, SSH connections fail randomly.

2013-02-24  castaglia <castaglia>

        * modules/mod_auth_file.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm: Per Bug#3892,
        have mod_auth_file check for symlinks; if the configured Auth file
        path is a symlink, make sure that the parent directory of the
        symlink is not world-writable, as well as the parent directory of
        the target path not being world-writable.

2013-02-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Give the server time to
        start up, and write out the PidFile, before checking for the
        PidFile.

2013-02-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding more
        different configurations/environments to the regression tests for
        Bug#3904.

2013-02-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        test using scp(1) to download a glob pattern.

2013-02-22  castaglia <castaglia>

        * src/trace.c: Avoid needless (and wasteful) strlen(3) calls by
        tracking the length ourselves.

2013-02-22  castaglia <castaglia>

        * modules/mod_facts.c: Attempt to address Bug#3900 by having the
        mod_facts module's handling of a LOG_CMD_ERR MLSD command be ignored
        for SFTP connections.

2013-02-22  castaglia <castaglia>

        * src/trace.c: Bug#3902 - mod_log_forensic seems to send trace
        channels to trace log even if level is 0.

2013-02-22  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Populate the cmd_class member for the fake
        cmd_recs generated when aborting unclosed handles in mod_sftp.

2013-02-22  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Do not re-allocate a new tmp_pool for the
        internal cmd_recs in mod_sftp; a tmp_pool is already allocated by
        pr_cmd_alloc().

2013-02-21  castaglia <castaglia>

        * doc/contrib/mod_log_forensic.html: Document the additional
        ForensicLogFile metadata headers.

2013-02-21  castaglia <castaglia>

        * contrib/mod_log_forensic.c: Add an "Elapsed:" header to the
        metadata, containing the elapsed session time (in millisecs).  Also
        fixes up a few other nits (like correctly setting the engine
        variable to 'false' when we need to disable the module due to bad
        config).

2013-02-21  castaglia <castaglia>

        * doc/modules/mod_rlimit.html: Fleshing out the rest of the
        mod_rlimit documentation.

2013-02-21  castaglia <castaglia>

        * doc/modules/index.html, doc/modules/mod_rlimit.html: Adding
        documentation for the new mod_rlimit module.

2013-02-21  castaglia <castaglia>

        * modules/mod_rlimit.c: Adding an RLimitProcesses directive, to
        disable the NPROC limit if needed.

2013-02-21  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: I suspect that this is the cause of
        Bug#3900.  We were allocating a buffer for the generated handle
        which was too short (8 bytes), and then proceeding to write into the
        buffer as if it was the larger size that we expected (16 bytes).

2013-02-21  castaglia <castaglia>

        * contrib/mod_log_forensic.c: Fixing the generation of
        ForensicLogFile data in the face of unclean closes, e.g. when
        dealing with segfaults.

2013-02-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Tweak to make use of
        AuthUserFiles in the testsuite work as expected.

2013-02-20  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3899 - Support
        authentication of users based on SSL/TLS client certificate.

2013-02-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
        test for Bug#3899 (TLSUserName directive).

2013-02-20  castaglia <castaglia>

        * contrib/mod_ifsession.c: Typo in comment; no functional change.

2013-02-20  castaglia <castaglia>

        * contrib/mod_ifsession.c: More fun with deferred <Directory> path
        resolution in mod_ifsession, for Bug#3881.

2013-02-20  castaglia <castaglia>

        * contrib/mod_ifsession.c: More work (and hopefully progress) on
        Bug#3881.  Now the complications on the user's site seem to be
        related to the use of symlinks.

2013-02-20  castaglia <castaglia>

        * NEWS, src/parser.c: Bug#3896 - Warn when world-writable config
        files are used.

2013-02-20  castaglia <castaglia>

        * src/dirtree.c: Re-enable the clearing of the CF_DEFER flag, to
        prevent repetitive needless processing of <Directory> paths.

2013-02-20  castaglia <castaglia>

        * src/parser.c: Avoid unnecessary strlen(3) calls when parsing
        configuration.

2013-02-20  castaglia <castaglia>

        * src/fsio.c: Stylistic nits; no functional change.

2013-02-20  castaglia <castaglia>

        * contrib/mod_ifsession.c: More tweaks needed for Bug#3881.

2013-02-19  castaglia <castaglia>

        * src/dirtree.c: Do NOT clear the CF_DEFER flag from <Directory>
        sections; we may need to re-try resolution later (e.g. for
        <Directory> sections added via mod_ifsession).

2013-02-19  castaglia <castaglia>

        * src/dirtree.c: Add some trace logging into the resolution of
        deferred-path <Directory> sections.

2013-02-19  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3897 - mod_sftp does not handle
        a REALPATH request properly for SFTP protocol version 6.

2013-02-19  castaglia <castaglia>

        * contrib/mod_ifsession.c: Check that the configured DisplayLogin
        file is not a directory in mod_ifsession, too.

2013-02-19  castaglia <castaglia>

        * tests/api/pool.c: Adding pool API test, commented out for now.
        There is an issue with regard to pool size with
        larger-than-pool-size allocations out of the pool, it seems.

2013-02-17  jwm <jwm>

        * doc/Configuration.html: whee up-to-date configuration docs for the
        first time since 2007

2013-02-17  jwm <jwm>

        * tests/tests.pl: fix syntax error

2013-02-16  castaglia <castaglia>

        * src/dirtree.c: One more tiny tweak; might help Bug#3881.

2013-02-15  castaglia <castaglia>

        * modules/mod_core.c, modules/mod_ident.c, modules/mod_ls.c,
        modules/mod_xfer.c: Switch the core modules to start using the new
        PR_IS*() character type detection macros.

2013-02-15  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c, contrib/mod_exec.c,
        contrib/mod_ifversion.c, contrib/mod_radius.c,
        contrib/mod_rewrite.c, contrib/mod_sftp/interop.c,
        contrib/mod_sftp/packet.c, contrib/mod_sftp/scp.c,
        contrib/mod_sql.c, contrib/mod_tls.c, contrib/mod_wrap2/mod_wrap2.c: 
        Start using the new PR_IS*() macros to guard the ctype(3) character
        detection checks.

2013-02-15  castaglia <castaglia>

        * src/auth.c, src/ctrls.c, src/fsio.c, src/main.c, src/netacl.c,
        src/netaddr.c, src/parser.c, src/str.c, src/support.c,
        src/xferlog.c, utils/ftpshut.c, utils/misc.c: Start using the new
        PR_IS*() macros for character type detection/checking.

2013-02-15  castaglia <castaglia>

        * include/ascii.h, include/conf.h, utils/utils.h: Define PR_IS*
        macro wrappers around the ctype(3) checks, so that isascii(3) is
        always checked first, before using the other ctype(3) check on the
        given character.

2013-02-15  castaglia <castaglia>

        * contrib/mod_ifsession.c: Fix compiler warning (and logged
        message).

2013-02-15  castaglia <castaglia>

        * contrib/mod_ifsession.c, include/dirtree.h, modules/mod_core.c,
        src/dirtree.c: The previous change (additional work for Bug#3881)
        changed the signature of the add_config() and add_config_set()
        functions.  To avoid possible API breakage, this change creates new
        pr_config_add() and pr_config_add_set() functions (which take the
        new flags argument), and provides backward-compatible add_config()
        and add_config_set() wrappers.

2013-02-15  castaglia <castaglia>

        * contrib/mod_ifsession.c, include/dirtree.h, modules/mod_core.c,
        src/dirtree.c: Additional work needed for Bug#3881.  Specifically,
        when merging <Directory> sections in, mod_ifsession needs to add the
        <Directory> config_rec to the *head* of the set, rather than the
        *tail*.  When parsing the config file without mod_ifsession,
        <Directory> sections are added to the set head (i.e. last
        <Directory> parsed appears first in the set).  With this, mod_ifsession's merging in of <Directory> sections now
        more closely matches the parser behavior/ordering.

2013-02-15  castaglia <castaglia>

        * src/dirtree.c: Stylistic cleanup.

2013-02-15  castaglia <castaglia>

        * modules/mod_ls.c, src/netaddr.c: Use the isascii(3) test prior to
        checking with isalnum(3), to ensure that the isalnum(3) input really
        is an ASCII character.

2013-02-15  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm: Adding
        regression test for mod_quotatab_file, using quotatab files created
        via ftpquota, and using zero-byte download limits.

2013-02-14  castaglia <castaglia>

        * modules/mod_xfer.c: Removing now-unnecessary trace logging; I
        think the fix for Bug#3874 has been verified.

2013-02-14  castaglia <castaglia>

        * modules/mod_xfer.c: More trace logging for investigating Bug#3874.

2013-02-14  castaglia <castaglia>

        * modules/mod_xfer.c: More debug trace logging, trying to determine
        why the fix for Bug#3874 isn't working as expected.

2013-02-14  castaglia <castaglia>

        * modules/mod_xfer.c: Log if there's an error adding the
        HiddenStores-path-is-on-NFS node.

2013-02-14  castaglia <castaglia>

        * contrib/mod_ban.c, contrib/mod_rewrite.c, contrib/mod_shaper.c,
        contrib/mod_tls_shmcache.c, contrib/mod_wrap.c,
        contrib/mod_wrap2_file.c: Catch more cases where the expected paths
        to files might inadvertently be paths to directories.

2013-02-14  castaglia <castaglia>

        * modules/mod_core.c: Check for a directory when opening a
        configured DisplayQuit file.

2013-02-14  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_delay.c, modules/mod_xfer.c: 
        Adding more checks for directories in places where we expect to find
        files.

2013-02-14  castaglia <castaglia>

        * contrib/mod_sftp/auth.c, contrib/mod_sftp/rfc4716.c: Handle cases
        in mod_sftp where the files to be opened might inadvertently be
        directories.

2013-02-14  castaglia <castaglia>

        * src/display.c: Make sure that we don't open Display files that are
        directories.

2013-02-14  castaglia <castaglia>

        * src/parser.c: Don't forget to close the file handle.

2013-02-14  castaglia <castaglia>

        * modules/mod_auth_file.c: Make sure that the configure
        AuthUserFile/AuthGroupFile paths are not directories.

2013-02-14  castaglia <castaglia>

        * src/parser.c: Check whether the given config file is a directory;
        if so, error out.

2013-02-14  castaglia <castaglia>

        * modules/mod_auth_file.c: Set the close-on-exec flag for the
        AuthUserFile/AuthGroupFile fds.

2013-02-14  castaglia <castaglia>

        * doc/contrib/mod_quotatab_file.html: Mention the fact that <= 0
        values for files/bytes limits/tallies are handled as "unlimited" in
        the mod_quotatab_file docs.

2013-02-14  castaglia <castaglia>

        * contrib/ftpquota: If users specify zero (or less) values for any
        bytes/files value, ftpquota now emits a notice message indicating
        that such values mean "unlimited".

2013-02-14  castaglia <castaglia>

        * contrib/ftpquota: Make sure that ftpquota shows "unlimited" for
        values set to zero (or lower).

2013-02-13  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#3895 - Missing TransferLog entry
        under some out-of-space conditions.

2013-02-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Regression test
        for Bug#3895; requires the mod_enospc module.

2013-02-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Adding regression test
        for MKD, making sure that SGID bits are propagated properly for
        newly-created directories (see Bug#3841).

2013-02-12  castaglia <castaglia>

        * src/fsio.c: Additional fix for Bug#3841: make sure the
        pr_fsio_smkdir() function correctly propagates the SUID/SGID bits
        from the parent directory to the created directory.

2013-02-12  castaglia <castaglia>

        * contrib/mod_sftp/packet.c: When we try to reset the TimeoutIdle
        timer, the timers may be in the process of being handled.  Thus we
        need to handle the EINTR properly.

2013-02-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Add another
        TransferLog regression test, based on uploading to /dev/full and
        making sure that a TransferLog entry for the aborted upload is
        recorded.

2013-02-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Fix one mod_exec
        test such that, if the expected file is not present, we properly
        capture the exception thrown in the testcase-specific log.

2013-02-08  castaglia <castaglia>

        * contrib/mod_exec.c: Use an int, rather than an unsigned char, for
        the ExecEngine value.  It's easier that way, and it's becoming the
        convention for all *Engine values.

2013-02-08  castaglia <castaglia>

        * modules/mod_rlimit.c: Make sure that mod_rlimit does not set
        RLIMIT_NPROC if the mod_exec module is loaded and enabled for this
        <VirtualHost>.

2013-02-08  castaglia <castaglia>

        * configure: Used wrong version of autoconf to generate previous
        configure script.

2013-02-08  castaglia <castaglia>

        * configure: Updated configure.

2013-02-08  castaglia <castaglia>

        * RELEASE_NOTES: Mention the appearance of mod_rlimit in the release
        notes.

2013-02-08  castaglia <castaglia>

        * configure.in, modules/mod_core.c, modules/mod_rlimit.c,
        src/main.c: Refactor the RLimit* code out of mod_core.c, and out of
        src/main.c, into its own module: mod_rlimit.  This module will be
        compiled in by default, and will try to set sensible resource limits
        for new sessions (e.g. RLIMIT_NPROC).

2013-02-08  castaglia <castaglia>

        * src/dirtree.c: Add some trace logging for when we check
        AllowFilter/DenyFilter against the arguments for specific commands.

2013-02-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/AllowFilter.pm: Explicitly
        specify the Order directive, to ensure that the <Limit> sections are
        handled as expected.

2013-02-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/RLimitOpenFiles.pm: More tests
        for minimal RLimitOpenFiles settings.

2013-02-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/RLimitCPU.pm: Adding more
        RLimitCPU tests, ensuring the configured CPU resource limits are
        being enforced.

2013-02-08  castaglia <castaglia>

        * src/trace.c: Faster way to check for an empty string, without
        calling strlen(3).

2013-02-08  castaglia <castaglia>

        * modules/mod_core.c, src/trace.c: Better handling of typo'd Trace
        directive values (e.g. "directory:", with no level number).

2013-02-07  castaglia <castaglia>

        * contrib/mod_tls.c, include/inet.h, src/inet.c: For control
        connections, TCP_NODELAY is enabled by default.  For data
        connections, TCP_NODELAY is *disabled* by default (since we want to
        optimize for full packets for data transmission).  However,
        disabling TCP_NODELAY may hurt TLS handshakes, which are full of
        many small packets going back and forth.  With this tweak, then, Nagling is turned off (i.e. TCP_NODELAY is
        enabled) for performing a TLS handshake for a data connection, for
        the duration of the handshake.

2013-02-07  castaglia <castaglia>

        * include/options.h: Tune the default listen(2) backlog higher.

2013-02-06  castaglia <castaglia>

        * NEWS, utils/ftptop.c: Bug#3894 - ftptop doesn't work with
        --enable-nls.

2013-02-06  castaglia <castaglia>

        * tests/t/config/rlimitcpu.t, tests/t/config/rlimitopenfiles.t,
        tests/t/lib/ProFTPD/Tests/Config/RLimitCPU.pm,
        tests/t/lib/ProFTPD/Tests/Config/RLimitOpenFiles.pm, tests/tests.pl: 
        Adding regression tests for the RLimitCPU and RLimitOpenFiles
        directives.

2013-02-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/RLimitMemory.pm: Update
        RLimitMemory tests to use testcase-specific logging.  Added test for
        using the 'daemon' setting.

2013-02-06  castaglia <castaglia>

        * include/rlimit.h, modules/mod_core.c, src/main.c, src/rlimit.c: 
        Next part of the resource limit refactoring: update the code to use
        the new pr_rlimit_* functions.

2013-02-06  castaglia <castaglia>

        * include/conf.h: Pull in the new rlimit.h header.

2013-02-06  castaglia <castaglia>

        * include/rlimit.h, src/rlimit.c: Make sure we don't lose
        functionality by omitting use of RLIMIT_VMEM (if possible) as a
        fallback for memory resource limits.

2013-02-06  castaglia <castaglia>

        * Make.rules.in, include/rlimit.h, src/rlimit.c: Refactoring the
        resource limit code into a separate API, so that it can be easily
        called/used by other portions of the code (e.g. other modules).

2013-02-06  castaglia <castaglia>

        * contrib/ftpasswd, tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm: 
        Update the ftpasswd script so that it sets permissions on the
        created AuthUserFile/AuthGroupFile such that mod_auth_file, in light
        of the more strict checks added for Bug#3892, will still accept the
        ftpasswd-generated files.

2013-02-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Properly
        delete log from successful SQLLogOnEvent test.

2013-02-06  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#3893 - Add
        SQLLogOnEvent directive, for performing SQL query on configurable
        event.

2013-02-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Checking in
        test for new SQLLogOnEvent functionality (Bug#3893).

2013-02-05  castaglia <castaglia>

        * doc/modules/mod_auth_file.html: Mention the new strict permission
        checks on the AuthUserFile and AuthGroupFile in the mod_auth_file
        docs.

2013-02-05  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm: Adding
        regression tests for Bug#3892.

2013-02-05  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, modules/mod_auth_file.c: Bug#3892 -
        mod_auth_file should have strict permission checks of configured
        files.

2013-02-04  castaglia <castaglia>

        * doc/howto/Logging.html: Add logging FAQ for how to disable all
        logging for proftpd.

2013-02-04  castaglia <castaglia>

        * src/ctrls.c: Skip any zero-length control request arguments.

2013-02-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: When generating
        AuthUserFile and AuthGroupFiles for the unit tests, make sure the
        generated files have stricter permissions on them.

2013-02-04  castaglia <castaglia>

        * include/ctrls.h, src/ctrls.c: Avoid non-printable characters in
        ftpdctl requests.

2013-02-04  castaglia <castaglia>

        * src/ctrls.c: Add max length limit to control action request
        argument.  Fix caching/propagating of errno value.  Fix stylistic
        nits.

2013-02-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Various tests for
        configurations related to Bug#3753.

2013-02-04  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Updating some of the mapping between
        FTP command and SFTP request, with regard to <Limit> sections, per
        Bug#3753.

2013-02-04  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3753 - Support SFTP request
        names in <Limit> sections better.

2013-02-03  castaglia <castaglia>

        * src/dirtree.c: Stylistic nit; no functional change.

2013-02-03  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Add mention of <Limit WRITE> applying
        to WRITE SFTP request (of course).

2013-02-03  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Update mod_tls docs in light of
        TLSProtocol changes for Bug#3891.

2013-02-03  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3891 - Allow
        TLSProtocol directive in <VirtualHost> and <Global> sections.

2013-02-03  castaglia <castaglia>

        * src/scoreboard.c: Fix up the trace-level log messages related to
        scoreboard locking.

2013-02-02  castaglia <castaglia>

        * src/log.c: Fix compiler error (i.e. programmer error).

2013-02-02  castaglia <castaglia>

        * modules/mod_facts.c, modules/mod_ls.c, src/data.c: Additional
        tweaks needed for Bug#3819 (and for cleaning out development
        logging).

2013-01-31  castaglia <castaglia>

        * RELEASE_NOTES: Document the log format change in the release
        notes.

2013-01-31  castaglia <castaglia>

        * src/log.c: Now SystemLog (console and file), and all *Log files
        (via pr_log_writefile()) use ISO-8601 timestamp format.

2013-01-31  castaglia <castaglia>

        * include/trace.h, src/trace.c: Switch TraceLog to use ISO-8601
        timestamps.  Other logs soon to follow suit.

2013-01-31  castaglia <castaglia>

        * src/dirtree.c: Minor bugfixes when resolving deferred directories:
        handle cases where a leading '~' means just that, and clear the
        CF_DEFER flag once we're done resolving that directory.

2013-01-31  castaglia <castaglia>

        * doc/modules/mod_log.html: Updating LogFormat docs with
        descriptions of new %{iso8601}, %{microsecs}, and %{millisecs}
        variables.

2013-01-31  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sql.c, modules/mod_log.c: 
        Bug#3889 - Support millisecond timestamp LogFormat variable.

2013-01-31  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
        regression tests for the SQLLog handling of the timestamp-related
        LogFormat variables added for Bug#3889.

2013-01-31  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Add regression
        test for %{microsecs} LogFormat variable, for Bug#3889, too.

2013-01-31  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding
        regression tests for the LogFormat variables added for Bug#3889.

2013-01-31  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Additional
        reproduction recipes for Bug#3881.

2013-01-30  castaglia <castaglia>

        * NEWS, include/data.h, modules/mod_facts.c, modules/mod_ls.c,
        src/data.c, src/pool.c: Bug#3819 - Second and subsequent LIST of
        directory with many files is very slow.

2013-01-30  castaglia <castaglia>

        * modules/mod_xfer.c: More tweaks on the path to
        verification/resolution for Bug#3874.

2013-01-30  castaglia <castaglia>

        * src/fsio.c: Since we are not including <linux/magic.h>, the
        NFS_SUPER_MAGIC value was not defined.  So define it manually, for
        now.

2013-01-29  castaglia <castaglia>

        * src/fsio.c: Try to be more informative about NFS-related 'fsio'
        trace logging.

2013-01-29  castaglia <castaglia>

        * modules/mod_xfer.c: Temporary trace logging to help debug
        Bug#3874.

2013-01-29  castaglia <castaglia>

        * src/fsio.c: Slightly better formatting for NFS-related trace
        message.

2013-01-29  castaglia <castaglia>

        * modules/mod_xfer.c, src/fsio.c: When checking whether a
        HiddenStores path will be on an NFS filesystem, we need to use a
        path which *does* exist -- not the path that WILL exist, but does
        not exist yet (Bug#3874).

2013-01-29  castaglia <castaglia>

        * contrib/mod_sftp/mac.c: Remove unnecessary (and misleading)
        typecasts.

2013-01-29  castaglia <castaglia>

        * contrib/mod_sftp/cipher.c, contrib/mod_sftp/cipher.h,
        contrib/mod_sftp/packet.c: Use unsigned char buffers in more places
        in the mod_sftp code, especially when reading in the bytes for
        incoming packets.  This MAY help alleviate some of those "too long"
        packet warnings.

2013-01-29  castaglia <castaglia>

        * contrib/mod_sftp/ssh2.h: For (hopefully) better interoperability,
        use the same max packet size as OpenSSH does.

2013-01-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Add a
        mod_lang/UseEncoding test showing conversion from ISO-8859-1
        characters to a UTF8 path locally.

2013-01-29  castaglia <castaglia>

        * contrib/mod_sftp/utf8.c, src/fsio.c: Further refinements of the
        trace logging of failed encoding/decoding.

2013-01-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Remove development
        cruft.

2013-01-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
        test for Bug#3887.

2013-01-29  castaglia <castaglia>

        * NEWS, src/dirtree.c: Bug#3887 - <Limit ALL> erroneously blocks the
        PROT command used for FTPS.

2013-01-29  castaglia <castaglia>

        * contrib/mod_sftp/utf8.c, src/fsio.c: If we fail to encode/decode a
        string, AND the TraceLog level is set high enough, then log the
        bytes of the string in hex, for better analysis.

2013-01-28  castaglia <castaglia>

        * src/memcache.c: Bug#3886 - Calling
        pr_memcache_conn_set_namespace() crashes on buffer overflow.

2013-01-28  castaglia <castaglia>

        * contrib/mod_tls_memcache.c: Clean up logging/comments in
        mod_tls_shmcache; no functional change.

2013-01-25  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Tweak the
        regression test for Bug#3881 to match the reported use case better.

2013-01-25  castaglia <castaglia>

        * src/dirtree.c: When resolving deferred paths, make sure to handle
        tilde interpolation as well.

2013-01-25  castaglia <castaglia>

        * contrib/mod_ifsession.c: Make the lookup for the primary group
        name NOT be a requirement.  If we find it, great.  Otherwise, look
        up the supplemental groups, and move on.

2013-01-25  castaglia <castaglia>

        * contrib/mod_ifsession.c: Fix call to pr_auth_getgroups() to use
        user name, not group name, for the lookup.  Sigh.

2013-01-25  castaglia <castaglia>

        * contrib/mod_ifsession.c: Additional tweak related to Bug#3882.
        Turns out that some modules (e.g.  mod_ldap) are particular about
        the pr_auth_getgroups() call.  In particular, some functions REQUIRE
        that array_headers be provided for GIDS and group names, not just
        one or the other.

2013-01-25  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Add better trace logging of the v5/v6 BITS
        attribute.

2013-01-25  castaglia <castaglia>

        * contrib/mod_sftp/display.c, include/fsio.h, src/display.c,
        src/fsio.c: Provide a pr_fsio_fgetsize() function which gets the
        filesystem size given an fd, rather than a path.  Then use this new
        function when handling Display files which are displayed AFTER a
        chroot(2) has occurred -- for in those cases, using fstatfs(2) et al
        works better than statfs(3).

2013-01-25  castaglia <castaglia>

        * contrib/mod_ifsession.c: More cleanup/polish for Bug#3882,
        removing misleading DisplayLogin related log messages.

2013-01-25  castaglia <castaglia>

        * configure: Updated configure.

2013-01-25  castaglia <castaglia>

        * NEWS, configure.in: Bug#3884 - Configure script not detecting
        MySQL make_scrambled_password functions.

2013-01-25  castaglia <castaglia>

        * contrib/mod_ifsession.c: Fix logging of mod_ifsession's lookup of
        a DisplayLogin file (to differentiate it from the logging done by
        mod_auth).

2013-01-25  castaglia <castaglia>

        * src/fsio.c: Typo.

2013-01-25  castaglia <castaglia>

        * contrib/mod_tls.c: If a data transfer command is rejected due to
        the lack of SSL/TLS, use the more proper 522 response code, rather
        than 550.

2013-01-25  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Adding
        regression test for Bug#3881.

2013-01-25  castaglia <castaglia>

        * NEWS, contrib/mod_ifsession.c: Bug#3881 - <Directory> sections
        within <IfGroup> sections not applied as expected.

2013-01-25  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_log_forensic.pm,
        tests/t/modules/mod_log_forensic.t, tests/tests.pl: Adding in the
        regression tests for the new mod_log_forensic module.

2013-01-25  castaglia <castaglia>

        * NEWS, README.modules, RELEASE_NOTES, contrib/mod_log_forensic.c,
        doc/contrib/index.html, doc/contrib/mod_log_forensic.html: Adding
        the mod_log_forensic module to the source distribution.

2013-01-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        test for a bug where mod_sftp would occasionally lose track of
        file/directory handles, due to use of wrong memory pool.

2013-01-24  castaglia <castaglia>

        * NEWS, contrib/mod_ifsession.c: Bug#3882 - DisplayLogin with an
        absolute path does not work properly within an <IfGroup> section.

2013-01-24  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Fix a bug in mod_sftp where file/directory
        handles could become "lost", leading to "Invalid handle" SFTP
        responses, due to use of wrong memory pool.

2013-01-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Adding
        regression test for Bug#3882.

2013-01-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Make the
        mod_ifsession tests pass properly on MacOSX.

2013-01-24  castaglia <castaglia>

        * src/fsio.c: Add trace logging for the pr_fsio_is_nfs() function,
        for easier analysis.

2013-01-23  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Use trace logging to log the error when we
        fail to find the handle given a name from the client.

2013-01-22  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Increase subpool size for SFTP packets to
        128 bytes.

2013-01-22  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Fleshing out the support for various
        v5/v6-specific attributes.

2013-01-22  castaglia <castaglia>

        * contrib/mod_sftp/msg.c: Log the errno value from backtrace(3), if
        we fail to get a backtrace from it.

2013-01-22  castaglia <castaglia>

        * src/main.c: Wrong datatype for backtrace(3) return value.

2013-01-22  castaglia <castaglia>

        * src/main.c: Log the errors we get from backtrace(3) and
        backtrace_symbols(3), if any.

2013-01-21  castaglia <castaglia>

        * modules/mod_xfer.c: Reduce unnecessary logging of EEXIST cases
        when adding command notes.

2013-01-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Adding
        regression test for Bug#3879.

2013-01-21  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab_sql.c: Bug#3879 - Allow additional
        columns in SQLNamedQuery queries used for quota limits and tallies.

2013-01-21  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Wrong cmd_rec in fix for Bug#3874.

2013-01-21  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c: Bug#3878 - QuotaExcludeFilter not
        honored for uploads when 'hard' limits are used.

2013-01-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Adding
        regression test for Bug#3878.

2013-01-19  castaglia <castaglia>

        * contrib/mod_geoip.c: Bug#3877 - Fix GeoIPPolicy logging by making
        it a trace log message.

2013-01-19  castaglia <castaglia>

        * src/parser.c: Fix possible segfault due to null pointer
        dereference.

2013-01-19  castaglia <castaglia>

        * configure: Updated configure.

2013-01-19  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, contrib/mod_sftp/fxp.c,
        include/fsio.h, modules/mod_xfer.c, src/fsio.c: Bug#3874 - Use of
        O_EXCL flag on HiddenStores files might break for NFS filesystems.

2013-01-18  castaglia <castaglia>

        * src/mkhome.c: Rather than generating a single event prior to
        actually creating the CreateHome directory, we now generate two
        events: 'core.creating-home' for before home creation, and
        'core.created-home' for after.

2013-01-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
        test for Bug#3869 using "TLSSessionCache off".

2013-01-18  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3869 - Use longer SSL
        session cache expiration by default.

2013-01-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        test for Bug#3873.

2013-01-16  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3873 - Provide FTP response code
        in ExtendedLog for failed SFTP REMOVE request.

2013-01-16  castaglia <castaglia>

        * doc/modules/mod_xfer.html: Updated HiddenStores docs per changes
        for Bug#3872.

2013-01-16  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, modules/mod_xfer.c: Bug#3872 - Use
        HiddenStores directive to customise suffix.

2013-01-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Adding unit test
        for HiddenStores suffix feature (Bug#3872).  Also used
        assert_transfer_ok() function in the tests here.

2013-01-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Updated the
        HiddenStores tests to use testcase-specific logging.

2013-01-16  castaglia <castaglia>

        * doc/modules/mod_xfer.html: Fleshing out more directive
        descriptions in the mod_xfer docs.

2013-01-15  castaglia <castaglia>

        * contrib/mod_tls.c: Remove duplicate setting of SSL session context
        ID.

2013-01-15  castaglia <castaglia>

        * contrib/mod_tls.c: Logging nits and tweaks to the SSL session
        context ID used.  (Removed some duplicate code that had snuck in,
        too.)

2013-01-15  castaglia <castaglia>

        * contrib/mod_tls_shmcache.c: Minor logging nits/cleanup for the
        mod_tls_shmcache module.

2013-01-15  castaglia <castaglia>

        * contrib/mod_tls.c: Guard against NULL pointer dereference if the
        TLSRenegotiate timer fires when the SSL session on the control
        connection is being torn down.

2013-01-15  castaglia <castaglia>

        * contrib/mod_tls.c: Fix incorrect format string.

2013-01-15  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Revert the REALPATH request to be in the
        INFO logging class, not DIRS; REALPATH can be used on files and
        symlinks as well as on directories.  Changed for fix for Bug#3871.

2013-01-15  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3871 - REALPATH SFTP request not
        properly handled by <Limit DIRS> configuration.

2013-01-15  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding
        regression/reproduction test for Bug#3871.

2013-01-15  castaglia <castaglia>

        * modules/mod_core.c: Use the proper C_ macros, rather than
        hardcoded strings, in more places.

2013-01-15  castaglia <castaglia>

        * contrib/mod_tls.c: Use a better variable name here.

2013-01-15  castaglia <castaglia>

        * src/fsio.c: Add trace logging of the arguments to the
        pr_fsio_smkdir() function, for future debugging/analysis.

2013-01-15  castaglia <castaglia>

        * contrib/mod_tls.c: Make sure that we can properly handle a
        SubjAltName iPAddress value that contains an IPv6 address, for
        comparing with our address.

2013-01-15  castaglia <castaglia>

        * tests/t/etc/modules/mod_tls/ipv6-ca.pem,
        tests/t/etc/modules/mod_tls/ipv6-client-cert2.pem,
        tests/t/etc/modules/mod_tls/ipv6-server-cert2.pem,
        tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression test
        for handling of IPv6 iPAddress SubjAltName values in client certs.

2013-01-14  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/dhparams.pem, contrib/mod_tls.c: Bug#3779 -
        Generate new DH parameters for mod_tls and mod_sftp.

2013-01-14  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#3870 - Handling of OPTS command can
        lead to crash.

2013-01-14  castaglia <castaglia>

        * tests/t/commands/opts.t,
        tests/t/lib/ProFTPD/Tests/Commands/OPTS.pm, tests/tests.pl: Add
        regression tests for the OPTS command (including test for Bug#3870).

2013-01-14  castaglia <castaglia>

        * src/fsio.c: Remove erroneous errno assignment.

2013-01-14  castaglia <castaglia>

        * contrib/mod_tls.c: Always set the socket to non-blocking before
        calling SSL_accept(), even on retries.  This latter condition was
        not happening.

2013-01-14  castaglia <castaglia>

        * contrib/mod_tls.c: Fix minor nits in comments; no functional
        change.

2013-01-14  castaglia <castaglia>

        * contrib/mod_tls.c: Additional tweak (to avoid null pointer
        dereference) for Bug#3868.

2013-01-14  castaglia <castaglia>

        * contrib/mod_tls.c: Typo.

2013-01-14  castaglia <castaglia>

        * src/fsio.c: Make sure that if mkdtemp(3) is not available for any
        reason, we do not fail with a linker error.

2013-01-14  castaglia <castaglia>

        * include/fsio.h, src/fsio.c: Rather than having pr_fsio_smkdir()
        use mkdtemp(3) if available, now the use of mkdtemp(3) can be
        enabled/disabled at runtime.  This is necessary e.g. to have
        mod_vroot function as expected.  (Which is OK; the race condition
        against which pr_fsio_smkdir() guards mostly pertains to root
        privileges, and mod_vroot is for cases where root privs are NOT
        wanted.)

2013-01-13  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Improvide the TLSDHParamFile
        documentation, in light of Bug#3868.

2013-01-13  castaglia <castaglia>

        * tests/t/etc/modules/mod_tls/dh1024.pem,
        tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
        tests for Bug#3868.

2013-01-13  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3868 - Only first DH param in
        TLSDHParamFile is used, regardless of requested keylength.

2013-01-13  castaglia <castaglia>

        * NEWS, contrib/ftpasswd: Bug#3867 - ftpasswd fails with "Permission
        denied" when adding subsequent passwd/group entries.

2013-01-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm: Now we have a bug
        number assigned.

2013-01-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm: Flesh out the first
        ftpasswd regression test.

2013-01-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Utils/ftpcount.pm,
        tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm: Make these utils tests
        pass again (just needed correct path to the executables).

2013-01-11  castaglia <castaglia>

        * tests/t/contrib/ftpasswd.t,
        tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm: Start working on
        ftpasswd unit tests.

2013-01-11  castaglia <castaglia>

        * contrib/ftpasswd: Bump the ftpasswd version, given the addition of
        support for other password hash types.

2013-01-11  castaglia <castaglia>

        * NEWS, contrib/mod_ban.c: Bug#3866 - Issuing invalid 'ftpdctl ban'
        request causes segfault.

2013-01-11  castaglia <castaglia>

        * NEWS, contrib/mod_ban.c: Bug#3865 - BanEngine not set in "server
        config" results in "mod_ban not enabled" ftpdctl error.

2013-01-11  castaglia <castaglia>

        * modules/mod_core.c: Stylistic nits; no functional change.

2013-01-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm: Adding another
        regression test using a config based on issues reported for
        Bug#3841, involving <Anonymous> logins and UserOwner.

2013-01-10  castaglia <castaglia>

        * src/fsio.c: Log a warning if we can't rename the directory in
        pr_fsio_smkdir(), too.

2013-01-10  castaglia <castaglia>

        * src/fsio.c: Fix another regression caused by Bug#3841: we might
        need root privs when setting the permissions on the created
        directory, as well as when possibly setting the ownership.

2013-01-10  castaglia <castaglia>

        * src/fsio.c: Fix regression with MKD commands (due to Bug#3841).

2013-01-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Added needed regression
        test for sending MKD for a chrooted session.

2013-01-10  castaglia <castaglia>

        * contrib/mod_tls.c: Generate an event whenever mod_tls is verifying
        a client certificate; the event fired will indicate whether the
        verification succeeded or failed.

2013-01-10  castaglia <castaglia>

        * contrib/mod_tls.c: Stylistic nits.  Moved checking for peer cert earlier in the tls_dotlogin_allow()
        function; if the client doesn't present a certificate, then don't
        try to do any of the other work there, as a minor optimization.  No functional changes.

2013-01-10  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/auth.c: Bug#3863 - mod_sftp does not handle
        MaxLoginAttempts properly.  Make sure that we increment the auth_attempts counter whenever the
        auth method request does not explicitly succeed.

2013-01-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/ban.pm: Updating
        mod_sftp+mod_ban MaxLoginAttempts regression test for Bug#3863.

2013-01-10  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Adding description of
        TLSMasqueradeAddress directive to mod_tls docs.

2013-01-10  castaglia <castaglia>

        * doc/modules/mod_core.html: Typo.

2013-01-09  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_tls.c, modules/mod_core.c: 
        Bug#3862 - Support for FTPS-specific MasqueradeAddress
        functionality.

2013-01-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
        test for TLSMasqueradeAddress directive; see Bug#3862.

2013-01-09  castaglia <castaglia>

        * tests/t/config/masqueradeaddress.t,
        tests/t/lib/ProFTPD/Tests/Config/MasqueradeAddress.pm,
        tests/tests.pl: Adding unit tests for the MaqueradeAddress
        directive.

2013-01-09  castaglia <castaglia>

        * contrib/mod_ban.c: Provide more information for the
        'mod_ban.ban.expired' event.

2013-01-09  castaglia <castaglia>

        * doc/howto/Controls.html: Fix typo.

2013-01-09  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Aborting an SFTP directory listing is
        always an error.

2013-01-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding an
        ExtendedLog/LogFormat %f test for SFTP transfers in a chrooted
        session.

2013-01-08  castaglia <castaglia>

        * contrib/mod_tls.c: Fix erroneous "renegotiation accepted" TLSLog
        messages for data transfers.

2013-01-08  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Make sure that we dispatch a MLSD command
        for aborted SFTP directory listings.

2013-01-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Give the server a
        little time to start up, and make this mod_ban test a little more
        robust.

2013-01-08  castaglia <castaglia>

        * contrib/mod_ban.c: Generate an event whenever mod_ban disconnects
        a client, with a descriptive string about why the client was
        disconnected (i.e. including ban type, and reason if known).

2013-01-08  castaglia <castaglia>

        * src/inet.c: Quell compiler warning about unused variable on
        platforms which do not support the TCP keepalive macros (e.g. Mac
        OSX).

2013-01-08  castaglia <castaglia>

        * doc/howto/Rewrite.html: Another time-related mod_rewrite
        config/trick.

2013-01-08  castaglia <castaglia>

        * doc/howto/Rewrite.html: Start adding some time-related mod_rewrite
        examples, now that mod_rewrite supports time variables.

2013-01-07  castaglia <castaglia>

        * contrib/mod_ban.c: Have mod_ban generate an event when it removes
        a ban due to expiry, for the benefit of logging modules like
        mod_snmp.

2013-01-07  castaglia <castaglia>

        * doc/contrib/mod_geoip.html: Added description of the GeoIPPolicy
        directive to the mod_geoip docs.

2013-01-07  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_geoip.c: Bug#3860 - Add a default
        deny option for mod_geoip.

2013-01-07  castaglia <castaglia>

        * doc/modules/mod_core.html: Adding descriptions for the Port and
        <VirtualHost> directives to the mod_core docs.

2013-01-07  castaglia <castaglia>

        * doc/modules/mod_core.html: Add description for DefaultAddress to
        the mod_core docs.

2013-01-07  castaglia <castaglia>

        * doc/contrib/mod_geoip.html: Cut-n-pasto.

2013-01-07  castaglia <castaglia>

        * doc/contrib/mod_geoip.html: Include links to some of the MaxMind
        documentation on e.g. country codes and continents.

2013-01-07  castaglia <castaglia>

        * doc/modules/mod_core.html: Add the MasqueradeAddress description
        to the mod_core docs.

2013-01-07  castaglia <castaglia>

        * modules/mod_facts.c: Additional fix for Bug#3859.

2013-01-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Another regression
        test for Bug#3859, this time using "ShowSymlinks off".

2013-01-07  castaglia <castaglia>

        * NEWS, modules/mod_facts.c: Bug#3859 - MLSD fails to show symlinks
        when ShowSymlinks is not configured.

2013-01-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Adding regression test
        for Bug#3859.

2013-01-07  castaglia <castaglia>

        * modules/mod_lang.c, tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: 
        If the admin configures a strict UseEncoding, AND that UseEncoding
        specifies UTF8 as the client charset, then DO list UTF8 in the FEAT
        output.

2013-01-06  castaglia <castaglia>

        * modules/Makefile.in: As part of work on Bug#3725, make sure that
        the mod_dso-specific rules are invoked when mod_dso.c is modified,
        AND that the more general .c.o rule is NOT used for mod_dso; mod_dso
        requires some additional -I flags.

2013-01-06  castaglia <castaglia>

        * modules/mod_lang.c, tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: 
        Refinement for Bug#3737: when the UseEncoding "strict" keyword is
        used, then UTF8 should not appear in the FEAT listing.

2013-01-06  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Map the OPENDIR/CLOSE SFTP requests to the
        MLSD FTP command, for better interaction with the configuration (and
        with other modules such as mod_snmp).

2013-01-05  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Remove spurious/unnecessary event
        generation (this particular event is generated elsewhere); bad patch
        application?

2013-01-05  castaglia <castaglia>

        * src/pool.c: Bug#3857 - ProFTPD 1.3.5rc1 API test suite fails.

2013-01-05  castaglia <castaglia>

        * src/event.c, src/netaddr.c, tests/api/event.c,
        tests/api/netaddr.c, tests/api/scoreboard.c, tests/api/stubs.c: 
        Bug#3856 - Linking ProFTPD 1.3.5rc1 API test suite fails.  This will teach me to actually run the API tests before releasing.
        Sigh.

2013-01-05  castaglia <castaglia>

        * src/dirtree.c: Slightly better approach (avoids having root privs
        while writing out a log; that's not needed).

2013-01-05  castaglia <castaglia>

        * src/dirtree.c, src/parser.c: Bug#3855 was a pain to track down
        because we don't report any parsing errors encountered for Include'd
        files.  Now fixed.

2013-01-04  castaglia <castaglia>

        * doc/howto/Scoreboard.html: One more tool affected by disabling of
        scoreboarding.

2013-01-04  castaglia <castaglia>

        * include/version.h: Bumped version for the next RC.

2013-01-04  castaglia <castaglia>

        * ChangeLog: Updated ChangeLog.

2013-01-04  castaglia <castaglia>

        * locale/files.txt: Updates files.txt, for localization efforts.

2013-01-04  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Updating
        versions, dates, getting ready to release 1.3.5rc1.

2013-01-04  castaglia <castaglia>

        * NEWS, src/dirtree.c: Bug#3855 - Restarting proftpd may cause
        Include files not to be parsed.

2013-01-04  castaglia <castaglia>

        * doc/modules/mod_auth.html: Add CreateHome description to the
        mod_auth docs.

2013-01-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Minor nits, adding
        delays to avoid races to make the test more robust.

2013-01-04  castaglia <castaglia>

        * modules/mod_core.c: Use the PR_USE_HOST guard in more places.
        Move the registration of the restart event listener to a more
        appropriate/expected location.

2013-01-04  castaglia <castaglia>

        * src/event.c: Handle the case where the first event listener is for
        a core callback, in which case where are no existing lists of
        listeners.

2013-01-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Using
        assert_transfer_ok() in more tests.

2013-01-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
        tests/t/lib/ProFTPD/Tests/Config/UseSendfile.pm: Using
        assert_transfer_ok() in more tests.

2013-01-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Using
        assert_transfer_ok() in more tests.

2013-01-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Start using the
        assert_transfer_ok() function in more tests.

2013-01-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Make some of the
        ExtendedLog tests more robust.

2013-01-03  castaglia <castaglia>

        * modules/mod_core.c: Guard the HOST implementation with #ifdefs, as
        it is not yet ready for public use.

2013-01-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Fixed failing
        test, added new regression test.  Updated tests to use testcase-
        specific logging.

2013-01-03  castaglia <castaglia>

        * contrib/mod_sql.c: Don't log an error about having no SQLAuthTypes
        configured if SQLAuthenticate has been explicitly configured to be
        'off'.

2013-01-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/wrap2.pm: Update tests
        to use testcase-specific logging.  Fix test code issue (bad
        expectation).

2013-01-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Updated
        tests to use testcase-specific logging.

2013-01-03  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Remove debugging cruft.

2013-01-03  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Fix regression caught by testsuite.

2013-01-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Update mod_sftp
        unit tests to weed out some known bad tests (bad due to client
        issues), fix up others, etc.

2013-01-03  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c, contrib/mod_sql.c, modules/mod_log.c: Fix
        another regression caught by the testsuite, concerning the handling
        of the %F LogFormat variable.

2013-01-03  castaglia <castaglia>

        * src/event.c: Fix another regression caught by the testsuite,
        caused by the change in ordering of event listener subscription.
        This tweak moves all core event listeners to the end of the list, to
        be invoked last.

2013-01-03  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Fixed regression caused by use of new
        pr_fsio_smkdir() function, which expects the given path to be a
        canonical path.  Now SFTP mkdir requests work again.

2013-01-03  castaglia <castaglia>

        * src/fsio.c: Stylistic nit (extraneous whitespace); no functional
        change.

2013-01-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab/copy.pm: Update the
        mod_quotatab+mod_copy tests to use testcase-specific logging.  Fixed
        "broken" tests to work properly on different platforms.

2013-01-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm: Allow more time
        for one of the mod_delay unit tests to run, and mark it as a 'slow'
        test.

2013-01-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm: Update
        these tests to use testcase-specific logging.  Make them more robust
        with data transfers by using the assert_transfer_ok() function.

2013-01-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Minor
        tweaks help this testcase to pass more often (timing issues related
        to closing the data connection, it seems).

2013-01-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Update the
        mod_wrap2_sql tests to pass.  Added checks for the module load
        order; one of the tests is sensitive to this.

2013-01-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Expose the utility
        function for obtaining the list of compiled-in modules.

2013-01-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Fix test code
        issues so that all of the mod_wrap2_file tests pass.

2013-01-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls_shmcache.pm: Use
        testcase-specific logging.  Avoid verification errors by providing
        the CA file to the openssl s_client command.

2013-01-02  castaglia <castaglia>

        * contrib/mod_tls.c: Remove the SSL_COMP_add_compression_method()
        ifdef; it won't be used.

2013-01-02  castaglia <castaglia>

        * RELEASE_NOTES: Typo.

2013-01-02  castaglia <castaglia>

        * RELEASE_NOTES, contrib/mod_tls.c: Update the release notes with
        the updated TLSCipherSuite defaults, i.e.  no anonymous
        Diffie-Hellman key exchanges.  Disable SSL compression.

2013-01-02  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Fix some
        failing mod_sql_sqlite tests by providing the necessary custom
        SQLUserInfo queries.

2013-01-02  castaglia <castaglia>

        * contrib/mod_tls.c: Testsuite caught a regression in the handling
        of the TLSPKCS12File directive.

2013-01-02  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: If the DateTime
        Perl module is not present, then do not try to run some of the
        mod_rewrite unit tests which require it.  With this tweak, at least
        some of the mod_rewrite unit tests run, rather than having none of
        them run because Perl complains that the DateTime module is not
        present.

2013-01-02  castaglia <castaglia>

        * src/scoreboard.c: When opening an fd for the ScoreboardFile, make
        sure that we do NOT use one of the Big Three fds (i.e. no 0, 1, or
        2).

2013-01-02  castaglia <castaglia>

        * src/scoreboard.c: Guard against "Illegal seek" lseek(2) error by
        detecting/catching a call to pr_restore_scoreboard() before
        pr_rewind_scoreboard() has been called.

2013-01-02  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm: Updating
        .ftpaccess file tests to use testcase-specific logging.

2013-01-02  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm: More fixes to
        the DirFakeGroup tests to make the tests pass properly; these are
        issues with the testing code, not the core proftpd code.

2013-01-02  castaglia <castaglia>

        * RELEASE_NOTES: Updated the release notes, preparing for a release.

2013-01-02  castaglia <castaglia>

        * doc/contrib/mod_quotatab.html: Adding description of QuotaDefault
        directive to mod_quotatab docs.

2013-01-02  castaglia <castaglia>

        * contrib/mod_tls.c: Fix compiler warning about unused variable.

2013-01-02  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Start using
        testcase-specific logging for these tests.

2013-01-02  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Fix some Perl
        warnings when running the mod_exec tests.

2012-12-29  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Typo.

2012-12-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Updated/fixed
        tests.

2012-12-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Use the
        assert_transfer_ok() function in a few more places.

2012-12-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Trace.pm: Updated tests to deal
        with Trace logging changes.  Added testcase-specific logging.

2012-12-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm: Update tests to
        deal with different platforms' symlink permission defaults.

2012-12-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm: Update tests to
        use testcase-specific logging, and the assert_transfer_ok()
        function.

2012-12-29  castaglia <castaglia>

        * src/privs.c: Testsuite caught another regression; now fixed.

2012-12-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/FTPAccess/DELE.pm: Updating test
        to use testcase-specific logging.

2012-12-29  castaglia <castaglia>

        * src/fsio.c: When safely creating directories, allow the parent
        directory path to be a symlink.

2012-12-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DirFakeUser.pm: Fixing up tests.

2012-12-28  castaglia <castaglia>

        * modules/mod_facts.c: Regression for Bug#3715 now fixed.

2012-12-28  castaglia <castaglia>

        * modules/mod_facts.c: Caching/preserving of errno values, some
        stylistic nits.

2012-12-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm: Fix testware
        issue on Linux; update tests to use assert_transfer_ok().

2012-12-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm: Updating to use
        testcase-specific logging.

2012-12-28  castaglia <castaglia>

        * src/dirtree.c: Testsuite caught a regression; now fixed.

2012-12-28  castaglia <castaglia>

        * src/dirtree.c: Stylistic nits; no functional change.

2012-12-28  castaglia <castaglia>

        * doc/howto/Compiling.html: Adding more compiling FAQs.

2012-12-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/PASS.pm: Fill in the testcase
        for a password which contains spaces.

2012-12-28  castaglia <castaglia>

        * modules/mod_core.c: Don't advertise support for the HOST command
        just yet, as it has not been completely implemented as yet.

2012-12-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Fix
        re-declaration of variables.

2012-12-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm: Fix
        re-declaration of variable.

2012-12-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Quell compiler
        warning about use of uninitialized value.

2012-12-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm,
        tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Now that server_restart()
        is provided by the Utils class, these tests no longer need to
        provide their own implementations.

2012-12-28  castaglia <castaglia>

        * src/cmd.c: Quell compiler warning.

2012-12-28  castaglia <castaglia>

        * modules/mod_core.c: Remove unused variable, quelling compiler
        warning.

2012-12-28  castaglia <castaglia>

        * src/throttle.c: Style nits.  Fix one minor edge case, where the
        signal mask would not be restored properly if the transfer was
        aborted.

2012-12-28  castaglia <castaglia>

        * src/fsio.c: Minor nits; no functional change.

2012-12-28  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c,
        include/fsio.h, modules/mod_core.c, src/fsio.c: Bug#3841 - Possible
        symlink race when applying UserOwner to newly created directory.

2012-12-27  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Some additional
        regression tests for MKD/XMKD commands.

2012-12-27  castaglia <castaglia>

        * doc/howto/FTP.html: Provide links to the mod_tls docs where
        appropriate.

2012-12-27  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Remove duplicate event.

2012-12-27  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Update mod_sftp to use the
        pr_cmd_set_name() function as well.

2012-12-27  castaglia <castaglia>

        * contrib/mod_copy.c, contrib/mod_quotatab.c, modules/mod_core.c: 
        Start updating modules to use the new pr_cmd_set_name() function.

2012-12-27  castaglia <castaglia>

        * include/cmd.h, src/cmd.c: Introduce new pr_cmd_set_name()
        function, for setting the cmd_rec name AND for resetting the cmd_id
        properly (so that I don't forget in the future).

2012-12-27  castaglia <castaglia>

        * doc/howto/TLS.html: Add another FileZilla-related mod_tls FAQ.

2012-12-27  castaglia <castaglia>

        * modules/mod_core.c, modules/mod_log.c: Try to provide better error
        messages.

2012-12-27  castaglia <castaglia>

        * doc/howto/Logging.html: Adding logging FAQ about FIFOs.

2012-12-27  castaglia <castaglia>

        * doc/howto/FTP.html: Add FAQ to FTP howto, talking about renaming
        of directories across mount points.

2012-12-27  castaglia <castaglia>

        * modules/mod_core.c: Updating mod_core to use the new
        pr_fsio_lchown() function.

2012-12-26  castaglia <castaglia>

        * modules/mod_log.c: Report the correct error reason if we can't
        open an ExtendedLog.

2012-12-26  castaglia <castaglia>

        * contrib/mod_sftp/misc.c, include/fsio.h, modules/mod_xfer.c,
        src/fsio.c: Implement part of the fix for Bug#3841 by providing a
        pr_fsio_lchown() function.

2012-12-26  castaglia <castaglia>

        * modules/mod_log.c: Fix handling of SIGHUP with regard to
        SystemLog.  The problem was that we were re-opening the SystemLog
        file itself in the restart event listener; after the restart event
        listeners are triggered, init_log() is called which itself closes
        the SystemLog.  Oops.

2012-12-26  castaglia <castaglia>

        * doc/modules/mod_cap.html: Adding description of the new
        CapabilitiesRootRevoke directive.

2012-12-24  castaglia <castaglia>

        * src/event.c: Fix the handling of event notification subscription.
        Specifically, modules that were loaded last would receive the event
        notification last.  And if that notification were for the 'core.restart' event, AND the
        subscribing module was built as a shared module, this would mean
        that that module would NEVER be notified; the mod_dso 'core.restart'
        event handler would be notified first, and would unload all shared
        modules.  The fix, then, is to have the modules loaded last have their
        notifications be delivered first.  This was the intended ordering in
        the first place.

2012-12-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm: Adding regression
        tests for Bug#3839.

2012-12-21  castaglia <castaglia>

        * configure: Updated configure.

2012-12-21  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, config.h.in, configure.in, modules/mod_cap.c: 
        Bug#3839 - Enhance mod_cap to support dropping root privs entirely.

2012-12-21  castaglia <castaglia>

        * RELEASE_NOTES, doc/modules/mod_auth.html: Adding description of
        new AllowChrootSymlinks directive to mod_auth docs.

2012-12-20  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, modules/mod_auth.c: Bug#3852 - Support
        directive for ignoring symlink DefaultRoot directories.

2012-12-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DefaultRoot.pm,
        tests/t/lib/ProFTPD/Tests/Logins.pm: Checking in the regression
        tests for the new AllowChrootSymlinks directive, part of Bug#3852.

2012-12-18  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/keys.c: Bug#3851 - SFTPPassPhraseProvider
        fails due to incorrect pointer.

2012-12-18  castaglia <castaglia>

        * tests/t/etc/modules/mod_sftp/passphrase_host_dsa_key,
        tests/t/etc/modules/mod_sftp/passphrase_host_dsa_key.pub,
        tests/t/etc/modules/mod_sftp/passphrase_host_rsa_key,
        tests/t/etc/modules/mod_sftp/passphrase_host_rsa_key.pub,
        tests/t/etc/modules/mod_sftp/sftp-get-passphrase.pl,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        test for SFTPPassPhraseProvider (Bug#3851).

2012-12-14  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/ftpasswd, doc/contrib/ftpasswd.html: 
        Bug#3850 - ftpasswd should support generating SHA-256, SHA-512
        hashes where possible.

2012-12-13  castaglia <castaglia>

        * contrib/mod_sftp/auth.c, contrib/mod_sftp/compress.c,
        contrib/mod_sftp/fxp.c, contrib/mod_sftp/packet.c,
        contrib/mod_sftp/scp.c: Instrument mod_sftp by generating events
        under certain conditions, for the benefit of any other modules (e.g.
        mod_snmp) who might be interested.

2012-12-13  castaglia <castaglia>

        * doc/howto/TLS.html: Add missing closing font tag.

2012-12-11  castaglia <castaglia>

        * doc/utils/index.html: Typo.

2012-12-10  castaglia <castaglia>

        * contrib/mod_sftp/crypto.c: Fixed typo in comment.

2012-12-09  castaglia <castaglia>

        * contrib/mod_tls.c: Use more stable pools for allocating
        environment variables (the main_server pointer can change, e.g. due
        to the HOST command).  Generate events when our SSL/TLS handshake fails (both ctrl and data
        conns).

2012-12-09  castaglia <castaglia>

        * modules/mod_auth.c: Make sure that if we cannot find the requested
        USER name, we still fire the "authentication-code" event, for any
        interested listeners (e.g.  mod_snmp).

2012-12-07  castaglia <castaglia>

        * modules/mod_auth_file.c: If an AuthUserFile happens to contain an
        empty password field, make sure we handle such a file the same way
        on a Mac OSX platform as on a Linux/BSD platform.  The difference is
        in how the crypt(3) function handles the case of a salt argument
        that is an empty string; the crypt(3) implementations differ in this
        particular case, and so the mod_auth_file module does a runtime
        check for this.

2012-12-07  castaglia <castaglia>

        * tests/t/config/authuserfile.t,
        tests/t/lib/ProFTPD/Tests/Config/AuthUserFile.pm, tests/tests.pl: 
        Adding AuthUserFile tests now.

2012-12-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Allow for specifying empty
        password values for an AuthUserFile.

2012-12-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/AuthGroupFile.pm: Updated
        AuthGroupFile test to use testcase-specific logging.

2012-12-06  castaglia <castaglia>

        * configure: Updated configure.

2012-12-06  castaglia <castaglia>

        * config.h.in, configure.in, contrib/mod_sql_mysql.c: As part of
        Bug#3669, check for the RedHat distribution's changes to MySQL,
        since they export the my_make_scrambled_password symbol.

2012-12-05  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add utility
        server_restart() function for tests which need to HUP the running
        daemon.

2012-12-05  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Start
        creating indexes on the columns in the SQLite test cases.  This way,
        the tests can provide "best practice" SQL scripts.

2012-12-05  castaglia <castaglia>

        * doc/utils/index.html: Add link to ftpshut docs.  Fix typo.

2012-12-05  castaglia <castaglia>

        * doc/contrib/mod_ban.html: Bad grammar.

2012-12-04  castaglia <castaglia>

        * doc/utils/ftpmail.html: Typo.

2012-12-04  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#3846 - Avoid scanning ScoreboardFile
        needlessly on login if limits are not configured.

2012-12-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
        test for FTPS login using mod_tls and a DSA server certificate.

2012-12-04  castaglia <castaglia>

        * tests/t/etc/modules/mod_tls/NOTES,
        tests/t/etc/modules/mod_tls/dsa-ca.pem,
        tests/t/etc/modules/mod_tls/dsa-server-cert.pem: Adding DSA server
        cert, for DSA-specific testing.

2012-12-03  castaglia <castaglia>

        * contrib/mod_sql.c: Debug logging of the number of fields/columns
        returned by the custom SQLUserInfo, for triage.

2012-12-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
        testcase showing how SQLite and mod_sql can be used to enforce a
        MaxHostsPerUser restriction in a much more efficient manner than
        that used by the mod_auth module.

2012-12-03  castaglia <castaglia>

        * src/netio.c: Remove unused variable.

2012-12-03  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/auth.c: Bug#3845 - mod_sftp does not
        provide response codes for %s LogFormat variable for AUTH
        ExtendedLog.

2012-12-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        test for Bug#3845.

2012-12-02  castaglia <castaglia>

        * doc/howto/ServerType.html: Updating ServerType howto to use
        relative links.

2012-12-02  castaglia <castaglia>

        * doc/modules/mod_core.html: Adding description of ServerType
        directive to mod_core docs.

2012-12-02  castaglia <castaglia>

        * doc/howto/Debugging.html: Updating Debugging howto.

2012-12-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding mod_sftp
        unit tests for the handling of %f and %r LogFormat variables for
        SFTP WRITE requests.

2012-12-01  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Add more information to the cmd_rec logged
        for a WRITE request, such that the %r LogFormat variable will also
        include the file offset and chunk length fields from the WRITE
        request.  Make sure to reset the cmd_id member for cmd_recs when changing the
        cmd_rec name; otherwise, the cmd_id value will not be reset, and
        logging may not Do The Right Thing(tm) with that cmd_rec.  This was
        the cause of %f LogFormat variables not being interpolated properly
        by mod_log for WRITE requests.

2012-12-01  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Fix log message typos/nits.

2012-11-27  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_radius.pm: Added testcase
        demonstrating that use of "%u" for the home attribute works as
        expected.  Updated testcases to use testcase-specific logging.

2012-11-27  castaglia <castaglia>

        * modules/mod_auth_unix.c: Adding trace logging, for better analysis
        of shadow/autoshadow user lookup issues.

2012-11-21  castaglia <castaglia>

        * modules/mod_auth_unix.c: More debug logging for when user entry
        retrieval fails.

2012-11-20  castaglia <castaglia>

        * doc/contrib/mod_sql_passwd.html: Fixed markup typo.

2012-11-19  castaglia <castaglia>

        * NEWS, modules/mod_dso.c: Bug#3843 - ProFTPD should not fail when
        starting up due to loading same module multiple times.

2012-11-19  castaglia <castaglia>

        * doc/modules/mod_dso.html: Another DSO FAQ, about the "already
        loaded" error for special-case modules like mod_ctrls.

2012-11-19  castaglia <castaglia>

        * doc/modules/mod_dso.html: Adding FAQ about already loaded modules
        (will be fixed with Bug#3843).

2012-11-16  castaglia <castaglia>

        * modules/mod_auth_unix.c: Log, at debug level 3, when getspnam(3)
        and getpwnam(3) fail (and why).

2012-11-15  castaglia <castaglia>

        * contrib/mod_sftp/crypto.c: Adding more substantial description of
        the situation which lead to the preprocessor guards for AES-CTR
        modes in mod_sftp, for my future self (and others).

2012-11-15  castaglia <castaglia>

        * contrib/mod_quotatab.c: Use session.pool instead of
        main_server->pool; the latter can change during the lifetime of a
        session, whereas the former does not.

2012-11-14  castaglia <castaglia>

        * contrib/mod_sftp/crypto.c: For the AES-CTR implementation, only
        set the NID if we're working with a FIPS-enabled OpenSSL library.

2012-11-14  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3842 - Incorrect handling of
        REALPATH requests for symlink paths in mod_sftp.

2012-11-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Finishing the SFTP
        REALPATH tests (per Bug#3842).

2012-11-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding tests for
        mod_sftp's handling of REALPATH requests on different types of
        paths: files, directories, symlinks, chrooted or not, etc.

2012-11-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Adding testing of
        HideFiles/IgnoreHidden configuration on MLSD.

2012-11-13  castaglia <castaglia>

        * doc/modules/mod_facts.html: Adding FAQ about dotfiles and MLSD.

2012-11-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Adding PCRE-based
        HideFiles test.

2012-11-12  castaglia <castaglia>

        * configure: Updated configure.

2012-11-12  castaglia <castaglia>

        * config.h.in, configure.in: Adding autoconf check for mkdtemp(3),
        as part of fix for Bug#3841.

2012-11-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm: Updating UserOwner
        tests to use testcase-specific logging, and added test for
        UserOwner+MKD.

2012-11-05  castaglia <castaglia>

        * doc/modules/mod_auth.html: Add docs for the RewriteHome directive.

2012-10-29  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3837 - mod_tls unable to read
        certificate files after SIGHUP.

2012-10-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        tests for SFTP uploads which demonstrate that AllowFilter works as
        expected in a <Limit> STOR section.

2012-10-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ratio.pm: Adding mod_ratio
        regression test ensuring that the RatioFile is updated as expected
        after session closure.

2012-10-22  castaglia <castaglia>

        * tests/t/config/allowfilter.t,
        tests/t/lib/ProFTPD/Tests/Config/AllowFilter.pm, tests/tests.pl: 
        Adding regression tests for the AllowFilter directive.

2012-10-14  castaglia <castaglia>

        * doc/howto/ConfigurationTricks.html: Add another configuration
        trick (using env vars, -D, and <IfDefine>) to the collection.

2012-10-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/IfDefine.pm: Now the <IfDefine>
        regression test for dealing with environment variables work as I
        intended.

2012-10-14  castaglia <castaglia>

        * src/parser.c: In fact, why not use one strlen(3) call instead of
        three in the get_config_word() function.

2012-10-14  castaglia <castaglia>

        * src/parser.c: Minor change: use a single strlen(3) call instead of
        two.

2012-10-12  castaglia <castaglia>

        * doc/howto/FTP.html: Updating the stale list of supported commands.

2012-10-12  castaglia <castaglia>

        * modules/mod_xfer.c: Stylistic cleanup of nits in the handling of
        the MODE command; no functional change.

2012-10-12  castaglia <castaglia>

        * doc/howto/DSO.html: Adding FAQ to DSO doc about adding modules to
        proftpd.

2012-10-11  castaglia <castaglia>

        * include/netio.h, src/netio.c: Added a useful variant of
        pr_netio_printf(), allowing for a va_list argument to be passed in
        (e.g. for use by functions which themselves take variadic
        arguments).

2012-10-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/PWD.pm: Adding regression test
        for PWD commands using the upload-only directory config described in
        the Limit howto.

2012-10-10  castaglia <castaglia>

        * doc/howto/Limit.html: Update upload-only directory example config
        to allow PWD.  Some clients get cranky if PWD doesn't work.

2012-10-10  castaglia <castaglia>

        * src/dirtree.c: When discovering the optimal TCP buffer sizes, set
        the discovered sizes on our main_server rec as well.

2012-10-10  castaglia <castaglia>

        * doc/modules/mod_lang.html: Update the mod_lang docs with a FAQ
        about the "not a supported language" error.

2012-10-09  castaglia <castaglia>

        * locale/es_ES.po: Updated .po file from Bug#3834.

2012-10-05  castaglia <castaglia>

        * doc/modules/mod_lang.html: Mention the new Spanish translation in
        the mod_lang docs.

2012-10-05  castaglia <castaglia>

        * RELEASE_NOTES, locale/Makefile.in, locale/es_ES.po: Bug#3834 -
        Spanish translation.

2012-10-04  castaglia <castaglia>

        * doc/howto/Logging.html: Add Logging FAQ, inspired by Bug#3832.

2012-10-04  castaglia <castaglia>

        * doc/howto/KeepAlives.html, doc/howto/index.html: Adding new
        KeepAlives howto.

2012-10-03  castaglia <castaglia>

        * modules/mod_core.c: Slightly better error reporting for badly
        formed keepalive specs.

2012-10-03  castaglia <castaglia>

        * doc/modules/mod_core.html: Adding docs for the new keepalive
        SocketOptions parameter.

2012-10-03  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, include/dirtree.h, include/inet.h,
        modules/mod_core.c, src/data.c, src/dirtree.c, src/inet.c,
        src/parser.c: Bug#3833 - Enable TCP keepalive by default, with
        configurable SocketOption.

2012-10-03  castaglia <castaglia>

        * doc/modules/mod_core.html: Add docs for the SocketOptions
        directive to the mod_core docs.

2012-10-02  castaglia <castaglia>

        * NEWS, src/data.c: Bug#3831 - Sporadic "451 Insufficient memory or
        file locked" failure when downloading.

2012-10-02  castaglia <castaglia>

        * modules/mod_memcache.c: Fix compilation errors in mod_memcache,
        when --enable-memcache is used.

2012-10-02  castaglia <castaglia>

        * Makefile.in: Fixed typo in Makefile rules, for Bug#3725.

2012-10-01  castaglia <castaglia>

        * tests/Makefile.in, tests/api/fsio.c, tests/api/stubs.c,
        tests/api/tests.c, tests/api/tests.h: Start working on unit tests
        for the FSIO API functions: pr_fs_clean_path() is the first victim.

2012-10-01  castaglia <castaglia>

        * modules/mod_ls.c: Even more robust checking for complex possible
        symlink targets, as part of hardening against Bug#3719.

2012-10-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Another regression
        test for Bug#3719, showing a more complex symlink that should be
        considered "unsafe".

2012-10-01  castaglia <castaglia>

        * modules/mod_ls.c: An "unsafe" symlink path must be 2 characters or
        greater in length.

2012-10-01  castaglia <castaglia>

        * modules/mod_ls.c: Make the check for "unsafe" symlinks in
        recursive directory listings a little more robust, for Bug#3719.

2012-10-01  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/scp.c: Bug#3792 - Recursive SCP uploads
        using preserve-time (-p) option may not work.

2012-09-30  castaglia <castaglia>

        * modules/mod_ls.c: Fix regression caused by fix for Bug#3719.

2012-09-30  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding additional
        regression test for Bug#3719.

2012-09-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Updating mod_sftp
        regression tests to use testcase-specific logging across the board.

2012-09-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        test for recursive SCP uploads which use the preserve time/mode
        option, for Bug#3792.

2012-09-28  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Quell comparing warning about signedness;
        it's a harmless cast in this case.

2012-09-28  castaglia <castaglia>

        * configure: Updated configure.

2012-09-28  castaglia <castaglia>

        * configure.in: Some platforms (e.g. Mac OSX) require that the
        <sys/socket.h> header be included before including <net/if.h>,
        otherwise autoconf complains about seeing <net/if.h> but not being
        able to use it.  Hopefully this doesn't break the check for the
        <net/if.h> header on other platforms.

2012-09-28  castaglia <castaglia>

        * RELEASE_NOTES: Adding reminder to release notes to mention
        SystemLog changes for Bug#3832.

2012-09-28  castaglia <castaglia>

        * NEWS, modules/mod_log.c: Bug#3832 - Support disabling of system
        logging on per-connection basis.

2012-09-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ServerLog.pm,
        tests/t/lib/ProFTPD/Tests/Logging/SystemLog.pm,
        tests/t/logging/serverlog.t, tests/tests.pl: Adding ServerLog tests
        for Bug#3832 as well, and updating the SystemLog tests (which were
        pointed at the wrong log file).

2012-09-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/SystemLog.pm: Updated tests for
        Bug#3832 so that they work properly.

2012-09-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/SystemLog.pm: Adding unit tests
        for verifying the change/fix for Bug#3832.

2012-09-27  castaglia <castaglia>

        * doc/howto/Tracing.html: Typo.

2012-09-26  castaglia <castaglia>

        * modules/mod_xfer.c: Fix logging of spurious EEXIST error when
        adding a note to the session notes.

2012-09-25  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Document the network latency impact of
        the SFTPTrafficPolicy behavior for CBC ciphers, and include a FAQ on
        the issue.

2012-09-25  castaglia <castaglia>

        * doc/howto/Tracing.html: Update the Tracing howto with a section
        discussing runtime tuning of the trace levels.

2012-09-25  castaglia <castaglia>

        * doc/howto/TLS.html: Add a section on client auth to the TLS howto.

2012-09-23  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#3829 - RNFR without following RNTO
        can lead to NULL pointer dereference.

2012-09-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm: Updating regression
        test for Bug#3829.

2012-09-22  castaglia <castaglia>

        * NEWS, modules/mod_facts.c: Bug#3830 - MFF/MFMT command segfaults
        due to insufficient parameter checks.

2012-09-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MFF.pm: Update of regression
        test for Bug#3830.

2012-09-22  castaglia <castaglia>

        * doc/modules/mod_facts.html: Update link to somers Draft which
        defines the MFF and MFMT commands.

2012-09-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MFF.pm: Checking in regression
        test for Bug#3830.

2012-09-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm: Checking in regression
        test for Bug#3829.

2012-09-21  castaglia <castaglia>

        * NEWS: Typo.

2012-09-21  castaglia <castaglia>

        * NEWS, contrib/mod_deflate.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Bug#3828 - Certain
        sequences of FTP data transfer commands lead to NULL pointer
        deferences in mod_deflate.

2012-09-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Updated the
        mod_deflate tests to use testcase-specific logging.

2012-09-19  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3827 - Use non-filesystem based
        SFTP handle generator instead of mktemp(3).

2012-09-19  castaglia <castaglia>

        * src/prxs.in: Even if the installed `proftpd' executable supports
        DSOs, the prxs script itself may have been generated by a configure
        script that did not use the --enable-dso option -- and we need to
        error out in that case, rather than trying to build a shared module
        without the proper flags.

2012-09-12  castaglia <castaglia>

        * tests/api/netaddr.c: Flesh out tests for the
        pr_netaddr_is_v4mappedv6() function.  Added tests for the new
        pr_netaddr_is_rfc1918() function (Bug#3825).

2012-09-12  castaglia <castaglia>

        * src/netaddr.c: Fix compilation error if --disable-ipv6 is used.
        Set errno appropriately when the pr_netaddr_is_v4mappedv6()
        comparison (done by macros) returns false.

2012-09-12  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, include/netaddr.h, modules/mod_core.c,
        src/netaddr.c: Bug#3825 - Handle RFC 1918 IP addresses in PORT/EPRT
        commands.

2012-09-11  castaglia <castaglia>

        * NEWS, src/data.c: Bug#3824 - Use RFC compliant address/port for
        data transfer if FTP client has not sent PORT/PASV/EPRT/EPSV
        commands.

2012-09-07  castaglia <castaglia>

        * doc/howto/TLS.html: Try to tell admins how to configure mod_tls if
        they want to support clients which send "PROT C".

2012-09-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/SITE/CHMOD.pm: Adding
        regression test demonstrating that a SITE CHMOD command can be
        properly blocked by a <Limit> in a .ftpaccess file.

2012-09-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Regression
        tests for the logging changes made for Bug#3822.

2012-09-07  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c, modules/mod_log.c: Bug#3822 - Resolving
        %U/%u LogFormat variables inconsistent between mod_log/mod_sql in
        certain cases.

2012-09-07  jwm <jwm>

        * contrib/mod_ldap.c: git 3d541bc898: fix symbol copy pasta

2012-09-07  castaglia <castaglia>

        * src/netaddr.c: Portability fix for Bug#3820: FreeBSD (and probably
        others) don't define AF_PACKET.  Filter ifaddrs, then, based on
        AF_INET/AF_INET6.

2012-09-06  castaglia <castaglia>

        * config.h.in: Forgot to update config.h.in for the new header
        checks.

2012-09-06  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, include/netaddr.h, modules/mod_core.c,
        src/netaddr.c: Bug#3820 - Support device/interface names in
        <VirtualHost>, MasqueradeAddress, and DefaultAddress.

2012-09-06  castaglia <castaglia>

        * NEWS, src/netaddr.c: Bug#3806 - Support reverse DNS resolution for
        IPv6 addresses when gethostbyname2(3) is not available.

2012-09-06  castaglia <castaglia>

        * src/auth.c: Pass along the path to which a chroot() will happen,
        as part of the 'core.chroot' event.

2012-09-05  castaglia <castaglia>

        * src/proftpd.8.in: Mention the new proftpd.conf(5) man page in the
        proftpd(8) man page.

2012-09-05  castaglia <castaglia>

        * configure: Updated configure.

2012-09-05  castaglia <castaglia>

        * Makefile.in, configure.in, src/.cvsignore, src/proftpd.conf.5.in: 
        Bug#3805 - proftpd.conf could use a short manpage.

2012-09-05  castaglia <castaglia>

        * doc/howto/CreateHome.html: Mention the new NoRootPrivs CreateHome
        parameter in the CreateHome howto.

2012-09-05  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm: Tests for the
        CreateHome NoRootPrivs option added for Bug#3813.

2012-09-05  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, include/mkhome.h, modules/mod_auth.c,
        src/mkhome.c: Bug#3813 - Ability to use CreateHome to create parent
        directories as non-root user, for better interoperability with NFS.

2012-08-30  castaglia <castaglia>

        * configure: Updated configure.

2012-08-30  castaglia <castaglia>

        * configure.in: Starting work on Bug#3820.  To do so, we need to add
        autoconf checks for the necessary headers (net/if.h, ifaddrs.h) and
        functions (getifaddrs(3)).

2012-08-27  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Missed a mention of hmac-sha2-256-96
        and hmac-sha2-512-96.

2012-08-27  castaglia <castaglia>

        * contrib/mod_sftp/crypto.c, doc/contrib/mod_sftp.html: Remove
        support for the hmac-sha2-256-96 and hmac-sha2-512-96 digests, since
        they were removed from the spec.

2012-08-23  castaglia <castaglia>

        * src/inet.c: When toggling the blocking/nonblocking status of the
        connection, make sure that we set the mode flag properly on the
        connection; the blocking-changing functions rely on that mode flag.

2012-08-23  castaglia <castaglia>

        * src/inet.c: Check the return value of pr_inet_set_nonblock(), so
        that we can catch errors (e.g. EBADF) earlier.  This might also
        prevent seeing EADDRINUSE spuriously.

2012-08-23  castaglia <castaglia>

        * modules/mod_xfer.c, src/netio.c: Trying to avoid a "Insufficient
        memory or file locked" transfer aborted message (probably caused by
        EAGAIN being returned somewhere).

2012-08-22  castaglia <castaglia>

        * src/trace.c: Avoid possible file descriptor leak in the just-added
        pr_trace_use_stderr() function.

2012-08-22  castaglia <castaglia>

        * include/trace.h, src/trace.c: Add some functions to the Trace API
        to cause its logging to be written out to stderr.  Useful for
        development/debugging utilities.

2012-08-22  castaglia <castaglia>

        * tests/api/netaddr.c: Be prepared for a few other possibilities
        when resolving '::1' to DNS names.

2012-08-22  castaglia <castaglia>

        * NEWS, contrib/Makefile.in: Bug#3816 - Installation of ftpasswd
        does not honor DESTDIR environment variable.

2012-08-22  castaglia <castaglia>

        * tests/api/netaddr.c: Start working on an API-level unit test for
        handling changes related to Bug#3806 (i.e. making sure
        pr_netaddr_get_dnsstr() works properly for IPv6 addresses on systems
        which don't have gethostbyname2(3)).

2012-08-20  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: Update mod_sftp to use the same
        OpenSSL version checking as is done in mod_tls, i.e. don't log a
        header/library version mismatch if the OpenSSL version is 1.0.0 or
        newer.

2012-08-16  castaglia <castaglia>

        * contrib/mod_sftp_pam.c: If the PAM conversation in mod_sftp_pam
        fails, log it to the SFTPLog rather than to the TraceLog.  (Maybe
        this should be logged to the normal debug logging as well?)

2012-08-15  castaglia <castaglia>

        * contrib/mod_sftp_pam.c: Filter out unhelpful error log messages.

2012-08-15  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.init.d: Bug#3814 - Support
        "configtest" command for contrib init.d script.

2012-08-10  castaglia <castaglia>

        * configure: Updated configure script for Bug#3725.

2012-08-10  castaglia <castaglia>

        * Makefile.in: Substitute the proftpd_cvs_version_main value in the
        proftpd.spec (part of Bug#3725).

2012-08-10  castaglia <castaglia>

        * Makefile.in: More work on Bug#3725: separate out the handling of
        the .spec file into its own target, for clarity.  This also starts
        work on substituting some of the .spec file values for values
        obtained during the build.

2012-08-10  castaglia <castaglia>

        * configure.in: Make sure the version-parsing stuff in the configure
        script correctly handles the case where there is no RC portion of
        the version string.

2012-08-09  castaglia <castaglia>

        * Make.rules.in, Makefile.in, configure.in: Start working on
        Bug#3725.  To do this, the configure/Make.rules files need to parse
        out the following forms of the version: the full version (i.e.
        BUILD_VERSION), the release version (e.g. 1.3.5 for the
        stable/production version of this development cycle), and the RC
        version (for RCs only).

2012-08-09  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: Merge in changes from Paul Howarth,
        packaging up the language files when building an RPM with
        --enable-nls, and requiring the gettext tools for building said
        language files.

2012-08-09  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: Update the proftpd.spec file to
        have mod_wrap2 et al in the main package, rather than in the wrap
        subpackage, since they do not need tcpwrappers.

2012-08-09  castaglia <castaglia>

        * tests/t/config/maxclientsperclass.t,
        tests/t/config/maxclientsperuser.t,
        tests/t/lib/ProFTPD/Tests/Config/MaxClientsPerClass.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxClientsPerUser.pm,
        tests/tests.pl: Adding missing regression tests for the
        MaxClientsPerClass and MaxClientsPerUser directives.

2012-08-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Regression tests
        for Bug#3811.

2012-08-08  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#3811 - ExtendedLog entries not
        written if MaxClients limit reached.

2012-08-07  castaglia <castaglia>

        * include/netaddr.h, src/netaddr.c: Add new pr_netaddr_set_port2()
        function, which automatically handles conversion of the host byte
        order port number to network byte order.  (Should have been done
        this way from the start.)

2012-08-06  castaglia <castaglia>

        * src/inet.c: Make sure we always return the socket to blocking
        mode, regardless of how we return from pr_inet_connect_nowait().

2012-08-06  castaglia <castaglia>

        * contrib/mod_tls.c: Remove duplicate SSL_CTX_check_private_key()
        calls.

2012-08-06  castaglia <castaglia>

        * src/trace.c: Always try to leave a terminating NUL, just in case.

2012-08-06  castaglia <castaglia>

        * src/support.c: Stylistic nit; no functional change.

2012-08-06  castaglia <castaglia>

        * include/dirtree.h, src/dirtree.c, src/parser.c: Add a pr_table_t
        to the server_rec, so that modules can associate any data they wish
        with a given server_rec, for their (or other modules') use later.

2012-08-05  castaglia <castaglia>

        * src/dirtree.c: Fix possible off-by-one error.  Clean up stylistic
        nit.  Avoid unnecessary config_rec lookup if there is no <Class>
        defined for a connection.

2012-08-01  castaglia <castaglia>

        * contrib/mod_sql.c, modules/mod_log.c: Fix the logging of the %f
        variable for uploads by looking for the correct key in the
        cmd->notes table.  Prefer the cmd->notes table over session.xfer for
        uploads.

2012-08-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: And a few more places
        to use assert_transfer_ok().

2012-08-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Update tests to use
        assert_transfer_ok() in more places.

2012-08-01  castaglia <castaglia>

        * RELEASE_NOTES, doc/contrib/mod_sftp.html: Update the docs showing
        that mod_sftp now supports MaxStoreFileSize.

2012-08-01  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Support MaxStoreFileSize for scp uploads
        now.  Populate the various cmd->notes keys, as used by mod_xfer, for
        scp transfers.

2012-08-01  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Stylistic nit.

2012-08-01  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Off-by-one nit.

2012-08-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/sql.pm: Additional
        tests for the %{transfer-status}, %{transfer-failure} variables, as
        well as ensuring that %f is populated properly in the various
        situations.

2012-08-01  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Support the MaxStoreFileSize directive for
        SFTP uploads.  Start stashing the same notes for file transfers as used by
        mod_xfer; this is for the benefit of logging modules such as mod_log
        and mod_sql.

2012-07-31  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Updated/fixed
        mod_sql logging tests for the %{transfer-status} variable, and added
        testing of the %f in those various transfer cases, making sure the
        full path is extrapolated properly.

2012-07-31  castaglia <castaglia>

        * locale/Makefile.in: When generating a new .pot file, delete the
        old version.

2012-07-31  castaglia <castaglia>

        * doc/modules/mod_facts.html: Grammar fix.

2012-07-31  castaglia <castaglia>

        * doc/modules/mod_facts.html: Markup typo.

2012-07-30  castaglia <castaglia>

        * NEWS, contrib/mod_radius.c: Bug#3809 - Segfaults in mod_radius
        when configured with RadiusGroupInfo.

2012-07-30  castaglia <castaglia>

        * contrib/mod_radius.c: Stylistic cleanup; no functional change.

2012-07-30  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Remove duplicate
        variable.

2012-07-30  castaglia <castaglia>

        * doc/howto/DSO.html: Minor update to DSO howto.

2012-07-30  castaglia <castaglia>

        * contrib/mod_tls.c: Minor update/improvement to fix for Bug#3808.

2012-07-30  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3808 - Segfault in mod_tls when
        mod_tls_shmcache used.

2012-07-27  castaglia <castaglia>

        * NEWS, src/inet.c: Bug#3804 - ioctl(RPROTDIS) code no longer needed
        on Solaris 11.

2012-07-27  castaglia <castaglia>

        * RELEASE_NOTES, contrib/mod_tls.c, doc/contrib/mod_tls.html: Change
        the default TLSCipherSuite from "ALL:!ADH" to
        "DEFAULT:!EXPORT:!DES", to be more secure out-of-the-box.  This
        disables weaker ciphersuites such as the export-grade ciphers, and
        the DES ciphers.

2012-07-27  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Adding documentation for new
        TLSServerCipherPreference directive.

2012-07-27  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3801 - mod_tls should
        have directive like Apache mod_ssl's SSLHonorCipherOrder.

2012-07-26  castaglia <castaglia>

        * tests/api/response.c: Remove unused variable.

2012-07-26  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Quell compiler warning about signedness
        mismatch.

2012-07-25  castaglia <castaglia>

        * NEWS, contrib/mod_exec.c, contrib/mod_quotatab.c,
        contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp_pam.c,
        contrib/mod_sql.c, contrib/mod_sql_passwd.c, contrib/mod_tls.c,
        contrib/mod_wrap2/mod_wrap2.c, modules/mod_facts.c: Bug#3800 -
        Multiple *Options directives should be handled properly.

2012-07-25  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Quell compiler warning about possibly
        uninitialized memory/variable.

2012-07-25  castaglia <castaglia>

        * contrib/mod_quotatab.c: Minor style cleanup.  Better handling of
        errno values when creating the QuotaLock file.

2012-07-25  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Regression test for
        TLSOptions handling change, per Bug#3800.

2012-07-25  castaglia <castaglia>

        * doc/modules/mod_facts.html: Fix markup.

2012-07-20  castaglia <castaglia>

        * contrib/mod_sftp/cipher.c, contrib/mod_sftp/compress.c,
        contrib/mod_sftp/mac.c, contrib/mod_sftp/packet.c: More careful use
        of errno value when writing out SSH2 packets.

2012-07-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        test showing client-initiated rekeying.

2012-07-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        tests for Bug#3798.

2012-07-20  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/scp.c: Bug#3798 - Downloading nonexistent
        file via SCP results in timeout rather than error.

2012-07-13  castaglia <castaglia>

        * NEWS, modules/mod_facts.c: Bug#3790 - Logfile timestamps change to
        GMT after MFMT command.

2012-07-12  castaglia <castaglia>

        * contrib/mod_sftp/kex.c: Increase the message buffer size for some
        KEX messages.  Fix some unintialized variable compiler warnings.

2012-07-12  castaglia <castaglia>

        * configure: Updated configure.

2012-07-12  castaglia <castaglia>

        * NEWS, configure.in: Bug#3795 - ProFTPD needs to use -pthread
        linker option if linking against OpenSSL with thread support.

2012-07-12  castaglia <castaglia>

        * configure: Updated configure.

2012-07-12  castaglia <castaglia>

        * configure.in: Fix mistake in previous configure.in patch; we
        forgot to restore the LIBS variable in the case where linking with
        OpenSSL succeeds without needing to check for an -ldl linkage.

2012-07-11  castaglia <castaglia>

        * configure: Updated configure.

2012-07-11  castaglia <castaglia>

        * configure.in: Fix minor bug in autoconf check for successful
        linking with OpenSSL; the LIBS variable still contained a reference
        to -lsupp at that check, and the libsupp library hasn't been
        compiled at that check.

2012-07-10  castaglia <castaglia>

        * contrib/mod_sftp/auth-password.c,
        contrib/mod_sftp/auth-publickey.c: Be sure to set errno properly
        when indicating an authentication has failed; the errno value is
        used when determining the list of still-acceptable auth methods to
        report back to the client.

2012-06-26  jwm <jwm>

        * contrib/mod_ldap.c: git 603e38269a: interpolate %u in the quota
        base DN, too

2012-06-26  jwm <jwm>

        * contrib/mod_ldap.c: git 53e5489e64: Fixed swapped DN/attr name in
        'no attr for' error messages.

2012-06-18  castaglia <castaglia>

        * NEWS, lib/tpl.c: Bug#3794 - Cygwin build failure in lib/tpl.c due
        to wrong include of mman.h.

2012-06-08  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/scp.c: Bug#3791 - Invalid handling of SCP
        control messages fragmented over multiple SSH packets.

2012-06-06  castaglia <castaglia>

        * NEWS, src/main.c: Bug#3740 - Overwrite permission denied when
        reloading multiple times and multiple <VirtualHost> sections in
        proftpd.conf.

2012-06-06  castaglia <castaglia>

        * doc/howto/Timestamps.html: Update the Timestamps howto in light of
        information learned from Bug#3790.

2012-06-01  castaglia <castaglia>

        * doc/howto/Limit.html: Try to make it clear that <Limit ALL> does
        not automatically cover <Limit LOGIN> as well.

2012-05-31  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Added regression
        test for the AllowDotLogin TLSOption, spurred by Bug#3788.

2012-05-31  castaglia <castaglia>

        * doc/modules/mod_core.html: Add description for the AuthOrder
        directive to the mod_core docs.

2012-05-30  castaglia <castaglia>

        * src/prxs.in: Update the prxs script to check for a module-specific
        configure script; if found, refuse to build the module.  Otherwise,
        prxs might successfully compile a module which doesn't work.  This will be the situation until Bug#3308 is fixed.

2012-05-30  castaglia <castaglia>

        * src/prxs.in: Handle the case where prxs might be used like so:   $ prxs -c -i -d contrib/mod_sql_sqlite.c i.e. from the top-level of the source directory.

2012-05-30  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding
        regression test for logging of a failed transfer where the control
        connection goes away first.

2012-05-30  castaglia <castaglia>

        * modules/mod_xfer.c: If the control connection dies while we are in
        the middle of a data transfer, dispatch a fake command for the
        aborted RETR/STOR, so that logging is done properly for the failed
        data transfer command.

2012-05-30  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Additional fix to handling of OPEN
        attributes per spec, related to Bug#3787.

2012-05-30  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding
        regression test to work on population of the %{transfer-status} and
        %{transfer-failure} logging variables.

2012-05-30  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/sql.pm,
        tests/t/modules/mod_sftp/sql.t, tests/tests.pl: Adding regression
        tests for the %{transfer-status}, %{transfer-failure} logging
        variables for SFTP sessions.

2012-05-29  castaglia <castaglia>

        * contrib/mod_sql.c, modules/mod_log.c: Try a little harder to
        populate the %F/%f logging variables for RETR/STOR in the cases
        where they might have been aborted.

2012-05-29  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Stash enough information in the command
        notes for supporting the transfer logging variables properly for
        aborted SFTP transfers.

2012-05-29  castaglia <castaglia>

        * contrib/mod_sql.c, modules/mod_log.c: Adding support for the
        %{transfer-status} and %{transfer-failure} logging variables when
        dealing with SFTP/SCP sessions.

2012-05-29  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Make the trace message about read-only
        SFTP OPENs less verbose.

2012-05-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        test for Bug#3787.

2012-05-29  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3787 - Read-only SFTP OPEN
        request permissions not properly ignored.

2012-05-29  castaglia <castaglia>

        * contrib/mod_sql.c: Use the proper format string for the data type
        being printed.

2012-05-25  castaglia <castaglia>

        * config.guess, config.sub, contrib/mod_load/config.guess,
        contrib/mod_load/config.sub, contrib/mod_sftp/config.guess,
        contrib/mod_sftp/config.sub, lib/libltdl/config/config.guess,
        lib/libltdl/config/config.sub: Updating the config.{guess,sub}
        files.

2012-05-25  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/CWD.pm: Additional regression
        tests for Bug#3785.

2012-05-25  castaglia <castaglia>

        * src/fsio.c: Additional fix needed for Bug#3785.

2012-05-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm: Update
        mod_auth_file tests to use testcase-specific logging.  Added a test
        showing that use of syntax such as 'user@domain.com' works properly.

2012-05-24  castaglia <castaglia>

        * contrib/mod_tls.c: If mod_tls sees that the OpenSSL header version
        is 1.0.0 or greater, then relax the header/library version
        check/warning a little.

2012-05-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/CWD.pm: Regression test for
        Bug#3785.

2012-05-24  castaglia <castaglia>

        * NEWS, src/fsio.c: Bug#3785 - Support resolution of tilde (~)
        within a chrooted session.  To implement this, in pr_fs_interpolate(), we check to see whether
        we are chrooted or not.  If so, instead of interpolating in the
        user's home directory, we simply interpolate in the string "/".

2012-05-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Add regression test for
        a plain ABOR command, with no data transfer involved.

2012-05-23  castaglia <castaglia>

        * contrib/mod_sql.c, modules/mod_log.c: Slightly better handling of
        the ABOR command when it comes to determining the value of the
        %{transfer-status} log variable.

2012-05-22  castaglia <castaglia>

        * doc/howto/NAT.html: Added another NAT-related FAQ.

2012-05-22  castaglia <castaglia>

        * src/child.c, src/support.c: Stylistic nits.

2012-05-22  castaglia <castaglia>

        * modules/mod_delay.c: Stylistic cleanups.

2012-05-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm: Updated mod_delay
        tests in light of changed response code/message for Bug#3736.

2012-05-22  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#3736 - Trying to re-authenticate an
        existing FTP connection causes invalid 503 response.

2012-05-22  castaglia <castaglia>

        * contrib/mod_sftp/kex.c: Typo in comment.

2012-05-20  castaglia <castaglia>

        * src/log.c: Remove a few redundant strlen(3) calls in the "hot"
        paths of logging.

2012-05-18  castaglia <castaglia>

        * contrib/mod_tls.c: After loading a private key into an SSL_CTX
        object, use the SSL_CTX_check_private_key() function to verify that
        it's a good private key.

2012-05-16  castaglia <castaglia>

        * modules/mod_log.c: Reduce the window of time where root privs are
        used when dealing with any configured ServerLogs.  Log if we can't
        open a ServerLog for some reason.

2012-05-15  castaglia <castaglia>

        * NEWS, src/inet.c: Bug#3780 - AIX gives "error setting listen fd
        IP_TOS: Invalid argument".

2012-05-14  castaglia <castaglia>

        * doc/contrib/index.html: Adding entries for mod_deflate, mod_qos to
        the contrib module docs.

2012-05-14  castaglia <castaglia>

        * modules/mod_dso.c: Try to make mod_dso's error reporting better
        when it comes to loading a module which is not where it is expected
        to be.

2012-05-14  castaglia <castaglia>

        * modules/Makefile.in: If proftpd has been linked, and then the
        modules/mod_dso.c file has been modified, make sure that `make' will
        recompile that modified file (this was not happening as expected for
        mod_dso.c, due to its special Makefile rule).

2012-05-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
        regression test for Bug#3782.

2012-05-10  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#3782 - SQLShowInfo does not work
        properly for error responses.

2012-05-10  castaglia <castaglia>

        * src/support.c: Stylistic nits; no functional change.

2012-05-10  castaglia <castaglia>

        * src/pool.c: The pool_release_free_block_list() function already
        blocks/unblocks alarms.

2012-05-10  castaglia <castaglia>

        * src/pool.c: Fix the pool_release_blocks_on_free_list() function so
        that it properly calls free(3) on all malloc'd memory on the
        freelist; the previous loop logic was quite wonky.  Made the block_freelist symbol have file scope only; there's
        absolutely no reason why it should be visible outside of this file.  Stylistic nits/cleanup.

2012-05-10  castaglia <castaglia>

        * src/parser.c: Stylistic nits.

2012-05-10  castaglia <castaglia>

        * modules/mod_auth_file.c: Add minor trace logging to the
        mod_auth_file module.  Stylistic nits, better errno reporting.

2012-05-09  castaglia <castaglia>

        * contrib/mod_sftp/keys.c: If we can't read the configured
        SFTPHostKey, provide a more accurate/informative error message about
        why.

2012-05-08  castaglia <castaglia>

        * doc/modules/mod_core.html: Updated mod_core docs to include
        DisplayChdir, DisplayConnect, and DisplayQuit descriptions.

2012-05-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Update the
        mod_sql_passwd tests to use testcase-specific logging.  Added
        another config/recipe showing the SQLPasswordOptions.

2012-05-03  castaglia <castaglia>

        * doc/howto/DisplayFiles.html: Fix typo, add another FAQ about the
        location of the Display file having a bearing on the %F/%f values.

2012-05-03  castaglia <castaglia>

        * src/pool.c: Add the address of the pool being dumped to the
        output.

2012-05-01  castaglia <castaglia>

        * contrib/mod_wrap2_sql.c: Try to improve the logging of mod_wrap2
        misconfigurations, to make it clearer/easier for admins to diagnose
        the problem.

2012-04-28  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: Fix cut-n-pasto.

2012-04-27  castaglia <castaglia>

        * contrib/mod_tls.c: Make the TLSLog a little quieter; stop spamming
        the log with needless information.

2012-04-27  castaglia <castaglia>

        * contrib/mod_tls.c: If we encounter an error reading the
        CertificateKeyFile because of a badly formatted file, display a more
        informative error.

2012-04-24  castaglia <castaglia>

        * include/stash.h, src/stash.c: Add a pr_stash_dump() function, for
        dumping out info about the stash table.  This function is only
        implemented when the --enable-devel configure option is used.

2012-04-24  castaglia <castaglia>

        * src/auth.c: More trace logging of some edge cases when dispatching
        auth commands.  Some stylistic cleanup.

2012-04-24  castaglia <castaglia>

        * contrib/mod_sftp/keys.c: Fix excess fd usage when loading
        passphrase-protected SSH host keys.

2012-04-24  castaglia <castaglia>

        * contrib/mod_tls.c: Turns out these explicit casts aren't needed; I
        just had an unclean work area.

2012-04-24  castaglia <castaglia>

        * contrib/mod_tls.c: Quell compiler warnings about mismatched
        pointers using an explicit cast.

2012-04-24  castaglia <castaglia>

        * contrib/mod_tls.c: Fix an fd issue in mod_tls.  Not exactly an fd
        leak, per se (the number of open fds does not keep increasing), but
        definitely an excess number of fds issue.

2012-04-24  castaglia <castaglia>

        * lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: Bug#3774 - Linking
        libsupp.a fails (undefined reference to `__alloca').

2012-04-23  castaglia <castaglia>

        * doc/howto/NAT.html: Adding MasqueradeAddress FAQ.

2012-04-23  castaglia <castaglia>

        * doc/modules/mod_auth_file.html, doc/modules/mod_auth_unix.html: 
        Add FAQs about the crypt(3) first 8 character limitation.

2012-04-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/PASS.pm: Adding test proving
        that spaces in passwords are handled properly.

2012-04-20  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Increase the amount of metadata allotted
        for each directory entry.  Hopefully this will fix some issues for
        some directory listings.

2012-04-19  castaglia <castaglia>

        * NEWS, lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: Bug#3732 - AIX
        build error: undefined symbol: .alloca.

2012-04-18  castaglia <castaglia>

        * configure: Updated configure.

2012-04-18  castaglia <castaglia>

        * configure.in: The --enable-devel flags/libs are typically not
        specific to gcc; make sure that they are applied to non-gcc compiler
        builds, then.

2012-04-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm: Adding regression
        test for the ListOptions maxfiles parameter.

2012-04-16  castaglia <castaglia>

        * src/support.c: Quell compiler warnings.

2012-04-16  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c, contrib/mod_sftp/keys.c: Quell compiler
        warnings (Bug#3773).

2012-04-16  castaglia <castaglia>

        * modules/mod_cap.c: Fix compiler issue requiring forward
        reference/decclaration.

2012-04-15  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Remove cruft from
        these tests.

2012-04-15  castaglia <castaglia>

        * RELEASE_NOTES: Make sure to mention HOST support in the release
        notes.

2012-04-15  castaglia <castaglia>

        * contrib/mod_tls.c, include/bindings.h, include/modules.h,
        include/proftpd.h, include/session.h, modules/mod_auth.c,
        modules/mod_auth_file.c, modules/mod_auth_unix.c,
        modules/mod_cap.c, modules/mod_core.c, modules/mod_delay.c,
        modules/mod_facts.c, modules/mod_ident.c, modules/mod_log.c,
        modules/mod_memcache.c, modules/mod_xfer.c, src/bindings.c,
        src/cmd.c, src/dirtree.c, src/main.c, src/modules.c,
        src/proctitle.c, src/session.c, src/trace.c,
        tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Major work done on
        support for the HOST command (Bug#3289), to support name-based
        virtual hosting in proftpd.  There is still more work needed to
        complete the feature, however.

2012-04-13  castaglia <castaglia>

        * src/fsio.c: Fix possible issue with encoding, due to passing the
        terminating NUL into the iconv functions (Bug#3769).

2012-04-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/UserAlias.pm: Add regression test
        demonstrating a UserAlias which uses the '@' symbol.

2012-04-08  castaglia <castaglia>

        * include/netaddr.h, src/netaddr.c, tests/api/netaddr.c: Add two new
        functions: pr_netaddr_is_v4() and pr_netaddr_is_v6().  These
        functions can be used to test whether a given name is an IP address
        (or a DNS name).

2012-04-08  castaglia <castaglia>

        * include/conf.h, include/netaddr.h, src/netaddr.c,
        tests/api/netaddr.c: Back out the addition of the
        pr_netaddr_get_addr2() function; I'll be using a different approach
        for determining when a user-given string is an IP address or a DNS
        name.

2012-04-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/SystemLog.pm,
        tests/t/logging/systemlog.t: Adding regression tests for the
        SystemLog directive.

2012-04-06  castaglia <castaglia>

        * modules/Makefile.in: Make sure that if a static module fails to
        build (e.g. mod_sftp), the entire build is failed.

2012-04-06  castaglia <castaglia>

        * contrib/mod_sftp/agent.c: It appears that Solaris 10 does not like
        the use of a variable name 'sun'; it already has that name defined
        in some system headers.  Silly.

2012-04-06  castaglia <castaglia>

        * NEWS, src/encode.c: Bug#3769 - Ensure that encoded strings are
        NUL-terminated.

2012-04-05  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Add regression
        tests showing that HideFiles properly hides files from the MLSD and
        STAT commands.

2012-04-05  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Updating the
        HideFiles regression tests to use testcase-specific logging.

2012-04-04  castaglia <castaglia>

        * contrib/mod_tls.c: When validating OCSP responses, make sure that
        we validate the timestamps on the OCSP response as well.

2012-04-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_geoip.pm: Removing mod_geoip
        tests; it's not that easy/expedient to have them in the testsuite.

2012-04-04  castaglia <castaglia>

        * contrib/mod_geoip.c: Add support for checking the GeoIP filters in
        PASS POST_CMD handler, so that geoip restrictions can be enforced on
        a per-user/group basis e.g. via mod_ifsession.

2012-04-04  castaglia <castaglia>

        * modules/mod_xfer.c, src/data.c: Move the cleanup of aborted data
        connection stuff to a LOG_CMD handler in mod_xfer, so that other
        modules (e.g. mod_sql, mod_log) could log abort-related info first.
        Do some stylistic cleanups as well.

2012-04-04  castaglia <castaglia>

        * include/conf.h, include/netaddr.h, src/netaddr.c,
        tests/api/netaddr.c: Add a new pr_netaddr_get_addr2() function,
        which returns additional information about a retrieved address.
        Namely, whether the given lookup name was an IPv4/6 address, or a
        DNS name.  This information will be needed for handling HOST
        parameters.

2012-04-04  castaglia <castaglia>

        * doc/modules/mod_log.html: Document the new %{transfer-status},
        %{transfer-failure} LogFormat variables.

2012-04-04  castaglia <castaglia>

        * modules/mod_log.c: Support the new %{transfer-status},
        %{transfer-failure} LogFormat variables.

2012-04-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Added regression
        tests for the %{transfer-status}, %{transfer-failure} LogFormat
        variables in ExtendedLogs.

2012-04-04  castaglia <castaglia>

        * RELEASE_NOTES, contrib/mod_sql.c: Support the new
        %{transfer-status}, %{transfer-failure} variables in SQLLog
        directives.

2012-04-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding tests
        for using the new %{transfer-status}, %{transfer-failure} variables
        in SQLLog directives.

2012-04-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_geoip.pm,
        tests/t/modules/mod_geoip.t, tests/tests.pl: Adding necessary files
        for writing regression tests for the mod_geoip module.

2012-04-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm: Fix up the
        mod_delay tests to use testcase-specific logging.

2012-04-03  castaglia <castaglia>

        * README.modules, doc/contrib/mod_geoip.html: Updating other docs
        related to mod_geoip.

2012-04-03  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_geoip.c,
        doc/contrib/mod_geoip.html: Adding mod_geoip to the list of contrib
        modules distributed with ProFTPD.

2012-04-03  castaglia <castaglia>

        * NEWS, contrib/mod_exec.c: Bug#3768 - ExecTimeout 0 (zero) not
        treated as infinite.

2012-04-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
        regression test for Bug#3767.

2012-04-03  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c: Bug#3767 - mod_rewrite segfault when
        handling SITE CHGRP without a parameter.

2012-03-31  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Updating the
        mod_sql_sqlite tests to use testcase-specific logging.

2012-03-31  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_quotatab.c,
        contrib/mod_quotatab.h: Bug#3766 - Support a QuotaDefault directive,
        for configuring default limits.

2012-03-31  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Adding
        regression tests for Bug#3766 functionality (QuotaDefault
        directive).

2012-03-30  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Updating
        the mod_quotatab_sql regression testcases to use testcase-specific
        logging.

2012-03-30  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Child.pm: Since aborted transfers
        can result in a 226 response code but different response text, the
        assert_transfer_ok() method should allow callers to indicate whether
        the transfer was indeed aborted or not, lest the assertion fail
        unexpectedly.

2012-03-30  castaglia <castaglia>

        * contrib/mod_sftp/auth.c: Make sure to set the
        session.hide_password field to 'TRUE' for SSH2 logins.

2012-03-30  castaglia <castaglia>

        * include/version.h: This should mention a version of "1.3.5rc1",
        not "1.3.5".

2012-03-30  castaglia <castaglia>

        * doc/modules/mod_auth_unix.html: Add FAQ about PersistentPasswd and
        "caching" of system users.

2012-03-29  castaglia <castaglia>

        * src/data.c: Remove duplicate pr_timer_reset() call, and fix coding
        style.

2012-03-28  castaglia <castaglia>

        * tests/tests.pl: Run the HOST regression tests.

2012-03-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Start building up the
        collection of HOST-related regression tests.

2012-03-28  castaglia <castaglia>

        * modules/mod_core.c: Start working towards supporting the HOST
        command (Bug#3289).

2012-03-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Adding regression tests
        for Bug#3754.

2012-03-28  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#3754 - ProFTPD refuses to
        delete/rename a symlink pointing outside a writable directory.

2012-03-27  castaglia <castaglia>

        * doc/contrib/mod_rewrite.html: Document the new mod_rewrite
        date/time-related variables.

2012-03-27  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
        regression tests for Bug#3673 functionality.

2012-03-27  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_rewrite.c: Bug#3673 - Support
        date/timestamp variables in mod_rewrite.

2012-03-24  castaglia <castaglia>

        * doc/howto/Umask.html: Adding more info to the Umask howto.

2012-03-24  castaglia <castaglia>

        * doc/modules/mod_core.html: Adding Umask directive description to
        the mod_core doc.

2012-03-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Update EXIT
        regression test to use the %L/%a LogFormat variables.

2012-03-23  castaglia <castaglia>

        * modules/mod_log.c: Fix null pointer dereference when using the
        %L/%a variables in a LogFormat for the EXIT ExtendedLog command
        class.

2012-03-23  castaglia <castaglia>

        * NEWS, src/fsio.c: Bug#3626 - Display variable %f off by a factor
        of 1024 on 64-bit platforms.

2012-03-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        test for Bug#3765.

2012-03-23  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/misc.c,
        contrib/mod_sftp/misc.h, contrib/mod_sftp/scp.c: Bug#3765 - mod_sftp
        should honor the GroupOwner directive for MKDIR requests.

2012-03-22  castaglia <castaglia>

        * doc/modules/mod_log.html: Try to clarify that the ALL ExtendedLog
        command class does not include the EXIT command class.

2012-03-22  castaglia <castaglia>

        * NEWS: Fix wrong bug number in NEWS.

2012-03-19  castaglia <castaglia>

        * doc/modules/mod_log.html: Add link to RFC 959 and mention the
        section which defines the FTP response docs.  Add link to CLF, and
        explicitly mention that LogFormat's default format produces CLF
        entries.

2012-03-18  castaglia <castaglia>

        * doc/howto/Logging.html: Attempting to improve the Logging howto,
        in order to better address Bug#3540.

2012-03-18  castaglia <castaglia>

        * doc/modules/mod_core.html: By default, proftpd logs everything (in
        terms of SyslogLevel), thus the default SyslogLevel setting is
        "debug", not "none".

2012-03-17  castaglia <castaglia>

        * doc/howto/Logging.html: Updating Logging howto to point to local
        docs (now that we have them).

2012-03-17  castaglia <castaglia>

        * doc/modules/mod_core.html: For the SyslogFacility default, list
        "daemon" (although proftpd also uses "auth" for authentication
        messages).

2012-03-17  castaglia <castaglia>

        * doc/modules/mod_core.html: Add description of the DebugLevel
        directive to the mod_core documentation.  Add links to the Logging
        howto in the descriptions for DebugLevel, SyslogFacility, and
        SyslogLevel.

2012-03-17  castaglia <castaglia>

        * doc/modules/mod_core.html: Adding descriptions of the
        SyslogFacility and SyslogLevel directives to the mod_core
        documentation.

2012-03-14  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/kex.c: Bug#3746 - mod_sftp does not
        correctly handle a 'guess' KEX message when the client guesses
        correctly.

2012-03-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd/FIPS.pm,
        tests/t/modules/mod_sql_passwd/fips.t, tests/tests.pl: Adding
        regression tests for mod_sql_passwd when it is using an OpenSSL that
        is in FIPS mode.

2012-03-14  castaglia <castaglia>

        * src/log.c: Make sure that we get a usable syslog socket fd (read:
        not 0, 1, or 2) after a restart.

2012-03-13  castaglia <castaglia>

        * contrib/mod_sql_passwd.c: Now mod_sql_passwd properly checks the
        EVP_Digest* return values.  This makes it possible for
        mod_sql_passwd to Do The Right Thing(tm) when the digest cannot be
        used, e.g. MD5 passwords and OpenSSL that is in FIPS mode.

2012-03-13  castaglia <castaglia>

        * contrib/mod_sftp/kex.c: Add more trace logging of the name lists
        that mod_sftp is sending to the client.

2012-03-13  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.h.in: There will be enough new features
        in mod_sftp in this release to warrant bumping the module version.

2012-03-13  castaglia <castaglia>

        * contrib/mod_sftp/blacklist.c: Fix compiler warning.

2012-03-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/FIPS.pm: Adding
        regression tests for key-based SSH2 auth when in FIPS mode.

2012-03-13  castaglia <castaglia>

        * contrib/mod_sftp/auth-hostbased.c,
        contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/blacklist.c,
        contrib/mod_sftp/keys.c, contrib/mod_sftp/keys.h: Properly handle
        fingerprinting of keys when FIPS mode is enabled.  We used to always
        use MD5 fingerprints -- but that does not work for FIPS.  (We also
        weren't checking for digest errors when obtaining key fingerprints).
        Now, when FIPS mode is enabled, we use SHA1 fingerprints.

2012-03-13  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Document the list of cipher/digest
        algorithms that are no longer advertised by mod_sftp when FIPS mode
        is enabled.

2012-03-13  castaglia <castaglia>

        * contrib/mod_sftp/crypto.c: Allow the 3des-ctr cipher in FIPS mode
        (Bug#3763).

2012-03-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Support for a
        'feat_openssl_fips' testcase class label.  (Needed this to have the
        Bug#3763 regression tests executed but only when mod_sftp was built
        against a FIPS-enabled OpenSSL.)

2012-03-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/FIPS.pm,
        tests/t/modules/mod_sftp/fips.t, tests/tests.pl: Adding regression
        tests for Bug#3763.

2012-03-12  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sftp/cipher.c,
        contrib/mod_sftp/crypto.c, contrib/mod_sftp/mac.c,
        contrib/mod_sftp/mod_sftp.c: Bug#3763 - Ensure that mod_sftp
        operates properly when OpenSSL FIPS mode is enabled.

2012-03-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Include.pm: Add regression test
        for an Include directive which uses a glob pattern that results in
        no matches.

2012-03-12  castaglia <castaglia>

        * doc/modules/mod_core.html: Make sure the Include directive docs
        mention how a glob pattern with no matches is handled.

2012-03-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Make sure the modified/new
        server_wait() still sets a default timeout of 10 secs, even if a
        hashref of options has been provided by the caller.

2012-03-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/IfDefine.pm: Fix these tests so
        that they actually stop the daemon processes that they launch.

2012-03-11  castaglia <castaglia>

        * contrib/mod_sftp/packet.c: Include the IP address of the client
        who sends us a DISCONNECT SSH message.

2012-03-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Alter the
        server_wait() and server_start() Utils functions so that test cases
        can specify environment variables, and -D defines, to be used when
        starting proftpd.

2012-03-11  castaglia <castaglia>

        * tests/t/config/ifdefine.t,
        tests/t/lib/ProFTPD/Tests/Config/IfDefine.pm, tests/tests.pl: Adding
        regression tests for the <IfDefine> directive.

2012-03-11  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/kex.c, contrib/mod_sftp/packet.c,
        contrib/mod_sftp/packet.h: Bug#3761 - SSH2 key exchange fails if
        client sends certain SSH message before NEWKEYS.

2012-03-08  castaglia <castaglia>

        * contrib/mod_sftp/kex.c: Fix a few places where compilation would
        fail with a non-ECC capable OpenSSL version because I was missing
        some preprocessor guards.

2012-03-08  castaglia <castaglia>

        * tests/t/commands/site/chgrp.t,
        tests/t/lib/ProFTPD/Tests/Commands/SITE/CHGRP.pm, tests/tests.pl: 
        Adding missing regression tests for the SITE CHGRP command.

2012-03-07  castaglia <castaglia>

        * src/main.c: On some platforms (e.g. Solaris), uname(3) returns a
        positive number on success, and on other platforms, uname(3) returns
        zero on success.  The only reliable check for success, then, is
        whether the return value is less than zero on error -- all other
        values indicate success.

2012-03-07  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, doc/contrib/mod_sftp.html: Mention the new
        support for loading host keys from an SSH agent in the docs.

2012-03-07  castaglia <castaglia>

        * contrib/mod_sftp/agent.c, contrib/mod_sftp/keys.c,
        contrib/mod_sftp/mod_sftp.c: Put the finishing touches on support
        for loading SSH hostkeys from an SSH agent.

2012-03-06  castaglia <castaglia>

        * contrib/mod_sftp/agent.c, contrib/mod_sftp/agent.h,
        contrib/mod_sftp/keys.c, contrib/mod_sftp/mod_sftp.c: More work on
        getting mod_sftp ready to read hostkeys from an SSH agent.

2012-03-06  castaglia <castaglia>

        * contrib/mod_sftp/agent.c: Slightly better trace logging messages
        by including the Unix domain socket path, e.g. where there are
        different SSH agents for different vhosts.

2012-03-06  castaglia <castaglia>

        * contrib/mod_sftp/Makefile.in, contrib/mod_sftp/agent.c,
        contrib/mod_sftp/agent.h, contrib/mod_sftp/keys.c,
        contrib/mod_sftp/keys.h, contrib/mod_sftp/mod_sftp.c: Start working
        on support for obtaining hostkeys from an SSH agent, rather than
        from files on disk.

2012-03-04  castaglia <castaglia>

        * RELEASE_NOTES: Updating release notes.

2012-03-04  castaglia <castaglia>

        * contrib/mod_sftp/auth-hostbased.c: Forgot to update the hostbased
        auth to use the key type enum, and to support ECDSA keys for
        hostbased authentication as well.

2012-03-04  castaglia <castaglia>

        * doc/modules/mod_core.html: Fixing markup.

2012-03-02  castaglia <castaglia>

        * RELEASE_NOTES: Call out the ECC support for mod_sftp in the
        release notes.

2012-03-02  castaglia <castaglia>

        * contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/kex.c,
        contrib/mod_sftp/keys.c, contrib/mod_sftp/keys.h: Support use of
        ECDSA public keys for user/host authentication, as part of ECC
        support (Bug#3573).

2012-03-02  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        tests to mod_sftp, verifying that user public key authentication
        using ECDSA public keys works properly.  Part of Bug#3573.

2012-03-02  castaglia <castaglia>

        * tests/t/etc/modules/mod_sftp/authorized_ecdsa256_keys,
        tests/t/etc/modules/mod_sftp/authorized_ecdsa384_keys,
        tests/t/etc/modules/mod_sftp/authorized_ecdsa521_keys,
        tests/t/etc/modules/mod_sftp/test_ecdsa256_key,
        tests/t/etc/modules/mod_sftp/test_ecdsa256_key.pub,
        tests/t/etc/modules/mod_sftp/test_ecdsa384_key,
        tests/t/etc/modules/mod_sftp/test_ecdsa384_key.pub,
        tests/t/etc/modules/mod_sftp/test_ecdsa521_key,
        tests/t/etc/modules/mod_sftp/test_ecdsa521_key.pub: Adding ECDSA
        public keys, for use in verifying that ECDSA-based public key user
        authentication works properly (part of Bug#3573).

2012-03-01  castaglia <castaglia>

        * src/support.c: There's no reason for this memscrub_ctr variable
        symbol to be visible outside of this file.

2012-03-01  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#3758 - ProFTPD crashes when handling
        mod_gss authentication due to null pointer.

2012-03-01  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Update the mod_sftp docs to mention the
        new key exchange algorithms supported, as well as ECDSA hostkey
        support (Bug#3573).

2012-03-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        tests for the ECC support (hostkey algorithms, key exchange
        algorithms) in mod_sftp.  Note that these tests rely on an external
        sftp(1) program which has ECC support.

2012-03-01  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/kex.c, contrib/mod_sftp/keys.c,
        contrib/mod_sftp/keys.h, contrib/mod_sftp/mod_sftp.h.in,
        contrib/mod_sftp/msg.c, contrib/mod_sftp/msg.h,
        contrib/mod_sftp/ssh2.h: Bug#3573 - Support Elliptic Curve
        Cryptography (ECC) in SSH.

2012-03-01  castaglia <castaglia>

        * tests/t/etc/modules/mod_sftp/ssh_host_ecdsa256_key,
        tests/t/etc/modules/mod_sftp/ssh_host_ecdsa256_key.pub,
        tests/t/etc/modules/mod_sftp/ssh_host_ecdsa384_key,
        tests/t/etc/modules/mod_sftp/ssh_host_ecdsa384_key.pub,
        tests/t/etc/modules/mod_sftp/ssh_host_ecdsa521_key,
        tests/t/etc/modules/mod_sftp/ssh_host_ecdsa521_key.pub: Adding SSH
        ECDSA host keys for the regression tests for Bug#3573.

2012-02-28  castaglia <castaglia>

        * doc/contrib/mod_ctrls_admin.html: Removed mention of the 'dump'
        ftpdctl action; it is no longer supported by the mod_ctrls_admin
        module.

2012-02-28  castaglia <castaglia>

        * contrib/mod_ban.c: Better handling of errno values in certain
        cases, so that the return values (and log messages) reflect reality.

2012-02-27  castaglia <castaglia>

        * locale/proftpd.pot: Updating POT file; most of the changes are of
        source code line number changes, but there are a couple of different
        strings.

2012-02-27  castaglia <castaglia>

        * locale/files.txt: Updated list of files containing strings that
        might need to be localized.

2012-02-27  castaglia <castaglia>

        * modules/mod_xfer.c, tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm: 
        Return a 504 response code for unsupported TYPE parameters, rather
        than 500.

2012-02-27  castaglia <castaglia>

        * doc/modules/mod_auth.html, doc/modules/mod_core.html,
        doc/modules/mod_xfer.html: Document the maximum allowed timeout
        value, if any, for the various Timeout directives.

2012-02-24  castaglia <castaglia>

        * doc/modules/mod_lang.html: Updated mod_lang docs, per changes for
        Bug#3737.

2012-02-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Adding regression
        tests for the mod_lang changes from Bug#3737.

2012-02-24  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, modules/mod_lang.c: Bug#3737 - Allow UTF8
        when UseEncoding is used.

2012-02-24  castaglia <castaglia>

        * src/encode.c: Use syslogging, rather than trace logging, in
        encode_init(), since encoding is initialized before the config file
        is parsed (and thus before the TraceLog is opened).

2012-02-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Adding regression
        tests for the current mod_lang behavior with regard to UseEncoding
        and OPTS UTF8 commands.

2012-02-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Updated the
        mod_lang tests to use testcase-specific logging.

2012-02-24  castaglia <castaglia>

        * src/netio.c: Preserve the errno value, for the sake of the caller.

2012-02-24  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c, modules/mod_xfer.c: Update mod_sftp
        and mod_xfer so that they use the new pr_str_get_nbytes() function
        for parsing file sizes, e.g. from directive parameters.

2012-02-24  castaglia <castaglia>

        * include/str.h, src/str.c, tests/api/str.c: Refactor some common
        code (duplicated in mod_xfer and in mod_sftp) used to parse a string
        of "bytes", including suffix, into a numeric value, into a new
        String API pr_str_get_nbytes() function.

2012-02-24  castaglia <castaglia>

        * doc/modules/mod_auth.html: Document the new RootRevoke parameter,
        per Bug#3731.

2012-02-24  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, modules/mod_auth.c, modules/mod_core.c,
        src/data.c, src/inet.c,
        tests/t/lib/ProFTPD/Tests/Config/RootRevoke.pm: Bug#3731 - Support
        active data transfers while RootRevoke is in effect.

2012-02-24  castaglia <castaglia>

        * src/table.c: Since we're only reading from /dev/urandom, we don't
        really care about any error value from fclose(3).

2012-02-24  castaglia <castaglia>

        * modules/mod_dso.c: Quell valid compiler warning about shadowed
        variable.

2012-02-24  castaglia <castaglia>

        * contrib/mod_ban.c: Quell compiler warning about unreachable code
        (but only unreachable when memcache support is not enabled).

2012-02-24  castaglia <castaglia>

        * contrib/mod_sftp/rfc4716.c: Quell compiler warning about a line of
        code which will never be reached.

2012-02-24  castaglia <castaglia>

        * src/table.c: Fix compiler warning about generating the per-table
        random seed, when OpenSSL's RAND API is not available.  Also decided to simply add the per-table seed to the returned hash
        value, rather than XOR the seed in.

2012-02-24  castaglia <castaglia>

        * src/ctrls.c: Fixed another place in the Controls API where we
        weren't using the proper buffer length.

2012-02-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Add regression
        test for LogFormat/ExtendedLog, to make sure that an ABOR command is
        properly logged.

2012-02-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ctrls.pm: Adding regression
        test for Bug#3756.

2012-02-23  castaglia <castaglia>

        * NEWS, modules/mod_ctrls.c, src/ctrls.c: Bug#3756 - mod_ctrls no
        longer listens on ControlsSocket after restart.

2012-02-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Missing testcase
        tag.

2012-02-23  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Added documentation for the new
        IgnoreSFTPSetOwners SFTPOption (Bug#3757).

2012-02-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        tests for Bug#3757.

2012-02-23  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sftp/fxp.c,
        contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in: 
        Bug#3757 - Support SFTPOption for ignoring requests to modify file
        ownership.

2012-02-23  castaglia <castaglia>

        * modules/mod_dso.c: Quell compiler warning about losing pointer
        qualifier.

2012-02-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/PASS.pm: Add regression test
        showing that the PASS command works properly with non-ASCII
        characters in the provided password.

2012-02-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/CWD.pm: Adding reproduction
        recipe for Bug#3730; this test shows that the reported behavior does
        not currently happen.  Still, useful to have the recipe around for
        possible regressions.

2012-02-22  castaglia <castaglia>

        * contrib/mod_ban.c: Committing additional fix for Bug#3751, to make
        sure that the BanTable fd, after a restart, is not one of
        stdin/stdout/stderr.

2012-02-21  castaglia <castaglia>

        * tests/t/config/envvars.t,
        tests/t/lib/ProFTPD/Tests/Config/EnvVars.pm, tests/tests.pl: Adding
        regression tests for using environment variables in proftpd.conf
        config files.

2012-02-21  castaglia <castaglia>

        * doc/utils/index.html: Better description of the prxs docs in the
        index.

2012-02-20  castaglia <castaglia>

        * doc/utils/prxs.html: Beginnings of a prxs doc.

2012-02-20  castaglia <castaglia>

        * doc/modules/mod_xfer.html: Adding descriptions for the
        TimeoutNoTransfer, TimeoutStalled directives to the bundled docs.

2012-02-20  castaglia <castaglia>

        * doc/modules/mod_core.html: Adding descriptions for the
        MaxInstances, TimeoutIdle directives to the bundled docs.

2012-02-20  castaglia <castaglia>

        * doc/modules/mod_auth.html: Adding descriptions for the
        TimeoutLogin, TimeoutSession directives to the bundled docs.

2012-02-19  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Refactor the code snippet for setting the
        'sftp.file-handle' note into a common function, and avoid the code
        duplication.

2012-02-19  castaglia <castaglia>

        * modules/mod_auth.c: Removed unused variable which was leading to a
        compiler warning noted in Bug#3755.

2012-02-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        test for feature added for Bug#3707.

2012-02-19  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3707 - Add request/transfer ID
        to the logging of the initial and closing commands for SFTP file
        transfers.  This adds a "sftp.file-handle" note to the cmd->notes table for SFTP
        transfer-related requests.  This note can then be logged in a custom
        LogFormat using the new support for notes, e.g.
        '%{note:sftp.file-handle}'.  Note that I also fixed the logging of %f LogFormat variables for
        SFTP CLOSE requests; the session.xfer struct was being cleared by
        the RETR/STOR handles to which the CLOSE request handler dispatched,
        and thus when the CLOSE request was dispatched, mod_log had no
        session.xfer information to work with.  Now fixed.

2012-02-19  castaglia <castaglia>

        * RELEASE_NOTES, modules/mod_log.c: Add support for a '%{note:...}'
        LogFormat variable, for logging "notes" to a custom LogFormat.  This
        makes LogFormat have parity with SQLLog, which also handles "notes"
        (something I quietly snuck into mod_sql).  It is also going to be
        used to satisfy the feature requested in Bug#3707.

2012-02-18  castaglia <castaglia>

        * configure: Updated configure.

2012-02-18  castaglia <castaglia>

        * configure.in: Extend the fix for Bug#3702 (i.e. checking for the
        -pthread library link flag) to apply to the handling of Postgres as
        well.

2012-02-18  castaglia <castaglia>

        * contrib/mod_sftp_sql.c: Fix up compiler warnings noted in
        Bug#3755.

2012-02-18  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Fix up a few more places where compiler
        warnings (noted in Bug#3755) about unused variables could be
        addressed.

2012-02-18  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Pay more attention to the file_type field
        sent in an OPEN SFTP request from SFTP clients using SFTP protocol
        version 4 and later.  Use this field to actually set the st.st_mode
        bits for that file type properly.  Note that this also addresses a
        compiler warning about an unused variable noted in Bug#3755.

2012-02-18  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: Remove unused variable causing
        compiler warning noted in Bug#3755.

2012-02-18  castaglia <castaglia>

        * contrib/mod_sftp/auth-password.c: Log when an SSH2 client gives us
        a new password, so that admins will know that that functionality is
        not supported by mod_sftp.  This addresses a compiler warning about
        an unused variable reported by Bug#3755.

2012-02-18  castaglia <castaglia>

        * contrib/mod_rewrite.c: Remove unused variable causing compiler
        warning noted in Bug#3755.

2012-02-18  castaglia <castaglia>

        * contrib/mod_sql_mysql.c: Fix up the coding style and clean up some
        compiler warnings noted in Bug#3755.

2012-02-18  castaglia <castaglia>

        * contrib/mod_sql.c: Quell a compiler warning noted in Bug#3755.

2012-02-18  castaglia <castaglia>

        * src/auth.c: Stylistic cleanup, and fix a few compiler warnings
        noted in Bug#3755.

2012-02-18  castaglia <castaglia>

        * modules/mod_auth.c: Fix some stylistic nits, and clean up a few
        compiler warnings noted in Bug#3755.

2012-02-17  castaglia <castaglia>

        * src/lastlog.c: Use explicit cast to time_t pointer, to avoid
        compiler warnings on some platforms.

2012-02-17  castaglia <castaglia>

        * src/pool.c: The previous changes to the Pool API erroneously
        removed the memset(3) calls which zeroed out the allocated memory;
        these are very important calls.  Oops.

2012-02-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Add a reproduction
        recipe for Bug#3740.  So far, though, the reported bug hasn't
        manifested in my regression test attempts.

2012-02-17  castaglia <castaglia>

        * NEWS, contrib/mod_ban.c: Bug#3751 - mod_ban does not close/reopen
        the BanLog/BanTable file descriptors on restart, causing a file
        descriptor leak.

2012-02-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Added regression
        test for Bug#3751 (mod_ban-related fd leak).

2012-02-16  castaglia <castaglia>

        * NEWS, src/bindings.c, src/inet.c: Bug#3752 - proftpd process exit
        status is zero for "Failed binding to address, port N: Address
        already in use" startup failure.

2012-02-16  castaglia <castaglia>

        * tests/api/response.c: Disable a unit test which was creating an
        expected segfault; the test code in question is a reproduction
        recipe rather than a regression test, and so should not necessarily
        be run all of the time (Bug#3750).

2012-02-16  castaglia <castaglia>

        * include/pool.h, src/pool.c: Clean up some places in the Pool API
        which allowed signed ints for sizes/counts of things.  It does not
        make sense to allow for negative pool sizes or negative counts, so
        prevent it at the API level, rather than having less-than-zero
        checks in the code.

2012-02-16  castaglia <castaglia>

        * src/scoreboard.c: Clean up warnings in the Scoreboard API code.

2012-02-16  castaglia <castaglia>

        * src/table.c: Include the <openssl/rand.h> header, if OpenSSL is
        enabled, so that we get the proper RAND_* function definitions.

2012-02-16  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Missed part of the "unsigned char" merge.

2012-02-15  castaglia <castaglia>

        * contrib/mod_sftp/auth-hostbased.c,
        contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
        contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
        contrib/mod_sftp/auth.h, contrib/mod_sftp/blacklist.c,
        contrib/mod_sftp/blacklist.h, contrib/mod_sftp/channel.c,
        contrib/mod_sftp/channel.h, contrib/mod_sftp/cipher.c,
        contrib/mod_sftp/date.c, contrib/mod_sftp/date.h,
        contrib/mod_sftp/disconnect.c, contrib/mod_sftp/fxp.c,
        contrib/mod_sftp/fxp.h, contrib/mod_sftp/kbdint.c,
        contrib/mod_sftp/kex.c, contrib/mod_sftp/keys.c,
        contrib/mod_sftp/keys.h, contrib/mod_sftp/keystore.c,
        contrib/mod_sftp/keystore.h, contrib/mod_sftp/mac.c,
        contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/msg.c,
        contrib/mod_sftp/msg.h, contrib/mod_sftp/packet.c,
        contrib/mod_sftp/packet.h, contrib/mod_sftp/rfc4716.c,
        contrib/mod_sftp/scp.c, contrib/mod_sftp/scp.h,
        contrib/mod_sftp/service.c, contrib/mod_sftp/tap.c: Reworked the
        mod_sftp handling of buffers of data to use "unsigned char" rather
        than just "char".  Raw data has really no signedness, so its
        better/cleaner to treat it as unsigned.

2012-02-15  castaglia <castaglia>

        * contrib/mod_sftp/kex.c: Fix minor issue pointed out by valgrind,
        where we were not tracking the length properly.

2012-02-15  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3743 - Random stalls/segfaults
        seen when transferring large files via SFTP.

2012-02-15  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Calling fxp_packet_add_cache() with null
        args should NOT zero out the static buffer length-tracking variable.

2012-02-15  castaglia <castaglia>

        * tests/api/scoreboard.c, tests/api/stubs.c: Fix unit tests to
        compile properly.

2012-02-15  castaglia <castaglia>

        * contrib/mod_sftp/packet.c: Missing return value.

2012-02-14  castaglia <castaglia>

        * NEWS, src/netacl.c: Bug#3749 - Compile of src/netacl.c fails on
        Tru64 UNIX (OSF/1) due to conflict with system header.

2012-02-14  castaglia <castaglia>

        * contrib/mod_sftp/packet.c: Comment typo.

2012-02-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm: Updating the
        TimeoutIdle test cases to use testcase-specific logging.

2012-02-10  castaglia <castaglia>

        * doc/modules/mod_auth.html: Adding description of MaxLoginAttempts
        directive to mod_auth docs.

2012-02-10  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3742 - Improper handling of
        self-signed certificate in client-sent cert list when
        "TLSVerifyClient on" is used.

2012-02-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
        tests for Bug#3742.

2012-02-10  castaglia <castaglia>

        * tests/t/etc/modules/mod_tls/bug3742-ca.pem,
        tests/t/etc/modules/mod_tls/bug3742-client.pem: Adding some
        supporting certs used for testing Bug#3742.

2012-02-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Updating the main
        mod_tls tests to use testcase-specific logging.

2012-02-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Adding testcase for
        mod_ban's BanOnEvent ClientConnectRate functionality.

2012-02-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Making sure that all
        of the existing mod_ban testcases pass.

2012-02-09  castaglia <castaglia>

        * modules/mod_auth.c: Minor nit fix: When TimeoutLogin is exceeded,
        if the TimeoutLogin is just a single second, then the 421 response
        message should say "1 second" rather than "1 seconds".

2012-02-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Updating mod_ban
        testcases to use testcase-specific logging.

2012-02-09  castaglia <castaglia>

        * src/main.c: We were not properly generating the 'core.preparse'
        event on restarts, even though we would properly generate a
        'core.postparse' event during a restart.  Add generation of the
        'core.preparse' event during restarts, for symmetry with the
        sequence of events during startup parsing.

2012-02-09  castaglia <castaglia>

        * src/parser.c: The config parser is supposed to handle most things
        in a case-insensitive fashion; it was not doing do for "<global>"
        (vs "<Global>").

2012-02-08  castaglia <castaglia>

        * doc/howto/Scoreboard.html, doc/modules/mod_core.html: Update the
        documentation (mod_core to add description for ScoreboardFile and
        ScoreboardMutex, Scoreboard howto to add anchor for the "what
        happens if I disable scoreboarding?" FAQ) in light of Bug#3701.

2012-02-08  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, src/scoreboard.c, tests/api/scoreboard.c: 
        Bug#3701 - Modify ScoreboardFile directive to support disabling
        scoreboarding.

2012-02-06  castaglia <castaglia>

        * doc/modules/mod_ls.html: Updated mod_ls docs.

2012-02-05  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#3745 - Reject PASV command if no
        IPv4 address available.

2012-02-05  castaglia <castaglia>

        * modules/mod_core.c: More minor stylistic changes.

2012-02-05  castaglia <castaglia>

        * modules/mod_core.c: More style changes; no functional change.

2012-02-05  castaglia <castaglia>

        * modules/mod_core.c: Clean up of some of the coding style; no
        functional change.

2012-02-05  castaglia <castaglia>

        * src/proftpd.8.in: Bug#3748 - Update FILES section in proftpd(8)
        man page.  List the /etc/ftpusers file in the FILES section.

2012-02-03  castaglia <castaglia>

        * doc/modules/mod_facts.html: Added docs for FactsOptions directive.

2012-02-03  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, modules/mod_facts.c: Bug#3747 - Support
        option for displaying symlinks via MLSD using syntax preferred by
        FileZilla.

2012-02-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm: Updating
        ShowSymlinks regression tests to work properly on a Mac.

2012-02-03  castaglia <castaglia>

        * tests/t/config/factsoptions.t,
        tests/t/lib/ProFTPD/Tests/Config/FactsOptions.pm, tests/tests.pl: 
        Adding regression tests for the new FactsOptions directive
        (Bug#3747).

2012-02-03  castaglia <castaglia>

        * doc/modules/mod_facts.html: Minor update to the MLSD FAQs.

2012-02-02  castaglia <castaglia>

        * doc/howto/ListOptions.html: Update the ListOptions howto to
        mention the LISTOnly, NLSTOnly, and NoErrorIfAbsent keywords.

2012-02-02  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm: Supply regression
        tests for the LISTOnly, NLSTOnly keywords for the ListOptions
        directive (Bug#3746).

2012-02-02  castaglia <castaglia>

        * RELEASE_NOTES: Update release notes with stubs about the
        ListOptions changes.

2012-02-02  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#3746 - Support applying ListOptions
        only to NLST or to LIST commands.  The ListOptions directive now
        supports "LISTOnly" and "NLSTOnly" keywords.

2012-02-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm: Adding regression
        tests for the new -1 ListOption added for Bug#3744.

2012-02-01  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#3744 - Support ls(1) -1 option for
        LIST command.

2012-02-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Child.pm: There are times when the
        unit tests will fail, particularly when dealing with data transfers,
        because the test code expects a response of "226 Transfer complete"
        when the server has only sent "150 Opening ..." at that point.  Provide a convenience assert_transfer_ok() method for checking for
        both scenarios, in order to try to reduce the spurious test failures
        due to this race/timing issue.

2012-01-31  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Some mod_sftp users are reporting issues
        with stalled/segfaulting SFTP uploads; I've narrowed down the cause
        to the buffering of channel data that the SFTP code does.  Adding
        finer-grained trace logging in this code, to aid further debugging
        in this area.

2012-01-27  castaglia <castaglia>

        * tests/api/scoreboard.c: Forgot to update unit tests to match
        Scoreboard API change.

2012-01-27  castaglia <castaglia>

        * include/scoreboard.h, modules/mod_auth.c, src/main.c,
        src/scoreboard.c: When proftpd starts up in "ServerType standalone"
        mode, it should keep an fd on the ScoreboardMutex file open -- but
        make sure that that fd is not one of the Big Three
        (stdin/stdout/stderr).  This fd should be shared across the child
        processes, i.e. for proper synchronization during scoreboard
        scrubbing.

2012-01-26  castaglia <castaglia>

        * include/table.h, src/auth.c, src/memcache.c, src/table.c,
        tests/api/table.c: Improve the randomization of table key hashing by
        moving the mixing of the random seed into the hash value into the
        Table API itself, rather than pushing it down into the key-hash
        functions.  This makes for a cleaner design, so that custom key
        hashing functions don't need to handle the seed (or be afraid of
        causing problems if they forgot to use the seed).

2012-01-25  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c, modules/mod_core.c, src/main.c: I
        don't know why, but the ServerIdent configuration handler would
        parse the Boolean parameter, but store it in the config_rec by using
        "!bool", inverting the value.  It make for confusing reading of the
        code which handles that config_rec.  Avoid this confusion in the future, and simply store the parsed
        Boolean value in the config_rec as is.

2012-01-25  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm: Update the
        ServerIdent test cases to use the testcase-specific logging.

2012-01-25  castaglia <castaglia>

        * doc/modules/mod_core.html: Add docs for the ServerIdent directive
        to the mod_core documentation.

2012-01-25  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Updating mod_sftp docs with mention of
        using ServerIdent.

2012-01-25  castaglia <castaglia>

        * include/privs.h, src/main.c, src/privs.c: If proftpd is started by
        a nonroot user, then avoid spamming the logs with "unable to setuid"
        ERROR level messages.

2012-01-25  castaglia <castaglia>

        * NEWS, lib/pr-syslog.c: Bug#3699 - ProFTPD crash on start up on Mac
        OSX Lion with NLS enabled.

2012-01-25  castaglia <castaglia>

        * configure: Updated configure.

2012-01-25  castaglia <castaglia>

        * NEWS, config.h.in, configure.in: Bug#3718 - ftptop fails to build
        on OpenSUSE.

2012-01-25  castaglia <castaglia>

        * RELEASE_NOTES: Update release notes, mentioning mod_sftp and the
        ServerIdent directive.

2012-01-25  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding tests for
        the ServerIdent directive and mod_sftp, for Bug#3739.

2012-01-25  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/packet.c,
        contrib/mod_sftp/packet.h: Bug#3739 - Allow for configurable SSH
        version identifiers in mod_sftp.

2012-01-23  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Document that SQL*WhereClauses are
        effectively overridden by custom queries; the SQL*WhereClause will
        NOT be appended to a custom query.

2012-01-23  castaglia <castaglia>

        * contrib/mod_tls.c: Bug#3738 - Fix the handling of SSL_shutdown()
        return value so that shutdown errors are properly logged in TLSLog.

2012-01-20  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: Bug#3735 - RPM spec: proftpd-devel
        package should require gcc and libtool.

2012-01-20  castaglia <castaglia>

        * modules/mod_dso.c: Added logging (at debug level 7) of more
        information of the module that mod_dso successfully loaded.  In
        particular, we log the full path to the file that was loaded, and
        its last-modified time.  This should help in situations where
        old/stale shared modules are being inadvertently loaded.

2012-01-17  castaglia <castaglia>

        * NEWS, modules/mod_facts.c: Bug#3734 - DirFakeUser/DirFakeGroup off
        with name causes SIGSEGV for MLSD/MLST commands.

2012-01-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DirFakeUser.pm: Adding regression
        tests for Bug#3734.

2012-01-13  castaglia <castaglia>

        * modules/mod_xfer.c, src/inet.c: Add the calls to
        pr_inet_set_proto_cork() unconditionally; the conditional use of
        TCP_CORK vs TCP_NOPUSH (depending on the platform) is contained
        within the pr_inet_set_proto_cork() function.

2012-01-09  castaglia <castaglia>

        * doc/contrib/mod_ban.html: Add mod_ban FAQ about BanOnEvent and
        MaxLoginAttempts.

2012-01-06  castaglia <castaglia>

        * lib/pr_fnmatch_loop.c: Fix an issue with compiling with older GCC
        versions, which don't like a declaration like "char str[]", and
        instead want "char str[0]".

2012-01-04  castaglia <castaglia>

        * Make.rules.in: Move the $INSTALL_STRIP variable out to its own
        variable, so that at some point in the future, it can be overridden
        via environment variable.

2012-01-03  castaglia <castaglia>

        * src/table.c: Make the default table hash function use the random
        hash "seed" via XOR, rather than the simplistic addition (which
        wouldn't have added any value at all with regard to mitigating
        attempts to drive the table into hashing all values to the same
        chain/bucket index).

2012-01-03  castaglia <castaglia>

        * src/auth.c, src/memcache.c: Update the key hash callbacks used
        elsewhere in proftpd to take the additional random hash "seed" value
        into account.

2012-01-02  castaglia <castaglia>

        * src/table.c: Adding some comments/notes about hashing to
        src/table.c, for my future reference.

2012-01-02  castaglia <castaglia>

        * include/table.h, src/table.c, tests/api/table.c: Add a
        pr_table_load() function for calculating the load factor of a given
        table.  To decrease collision avoidance for default tables, increase the
        default number of chains in a table from 32 to 256.  Future testing
        using pr_table_load() will be used to better determine a good
        default, and perhaps to work towards dynamically adjusting tables
        (although such adjustments themselves can be abused by an attacker
        to burn CPU cycles).

2012-01-02  castaglia <castaglia>

        * include/table.h, src/table.c, tests/api/table.c: Fix some issues
        with ProFTPD'd pr_table_t handling.  First, the default hashing function was fixed so that it actually
        used the different values in the given key.  Previously, it only
        ever used the first value.  Second, randomize the hash output by generating a random "seed"
        value on table creation time.  Any custom key hash callbacks need to
        be updated to accept this seed value as one of the hashing inputs.
        This will help to mitigate any attacks which seek to force the table
        API into the worst-case performance scenario, where all keys are
        effectively hashed to the same chain, and thus linear scans are
        done, burning CPU time.  Last, add a limit to the maximum number of items that a table can
        hold.  This, too, helps to mitigate any attacks/abuses that can be
        done on tables.  This maximum limit is 8K by default, and can be
        modified by a call to pr_table_ctl.

2011-12-29  castaglia <castaglia>

        * contrib/mod_sftp/auth.c: As per RFC 4252, if the USERAUTH_REQUEST
        contains service names which are unknown/unsupported, then return an
        error to the client and disconnect it.

2011-12-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
        case for a second USERAUTH_REQUEST.

2011-12-29  castaglia <castaglia>

        * contrib/mod_sftp/packet.c: Properly ignore an USERAUTH_REQUEST
        from a client which has already authenticated.

2011-12-28  castaglia <castaglia>

        * contrib/mod_sftp/auth.c: Add better errno handling during SSH
        authentication, so that the logged messages are more accurate.

2011-12-22  castaglia <castaglia>

        * tests/t/config/umask.t,
        tests/t/lib/ProFTPD/Tests/Config/Umask.pm, tests/tests.pl: Start
        working on regression tests for the Umask directive.

2011-12-21  castaglia <castaglia>

        * modules/mod_dso.c: Minor updates to mod_dso's logging, and better
        handling (i.e. caching) of the errno value, for better/more accurate
        logging.

2011-12-21  castaglia <castaglia>

        * include/dirtree.h, include/fsio.h, include/inet.h,
        include/modules.h, include/netio.h, include/pool.h,
        include/proftpd.h, include/sets.h, include/table.h, src/pool.c: More
        changes to the headers in order to support C++ modules.  Mostly it
        involves not using a typedef'd symbol in the definition of other
        structs; the C++ compiler is more stringent about that than the C
        compiler.

2011-12-21  castaglia <castaglia>

        * NEWS, src/wtmp.c: Bug#3728 - Build failure in wtmp.c on
        Gentoo/FreeBSD on sparc.

2011-12-21  castaglia <castaglia>

        * NEWS: Mention that Bug#3729 was fixed.

2011-12-20  castaglia <castaglia>

        * src/filter.c: Include the filter pattern string in the Filter
        trace messages.

2011-12-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Add
        regression/reproduction recipe for using PathDenyFilter to block
        uploads of any dot files.

2011-12-20  castaglia <castaglia>

        * doc/howto/Filters.html: Add PathDenyFilter example for how to
        block uploads of any/all dot files.

2011-12-19  castaglia <castaglia>

        * configure: Updated configure.

2011-12-19  castaglia <castaglia>

        * configure.in: In order to support C++ modules (Bug#3079), we need
        to add configure-time checks for a C++ compiler.

2011-12-18  jwm <jwm>

        * README.LDAP, contrib/mod_ldap.c: git 9d4234fbd69: prevent segfault
        when no user filters are specified

2011-12-14  castaglia <castaglia>

        * doc/modules/mod_lang.html: Add a mod_lang FAQ about the list of
        translations currently provided for proftpd.

2011-12-14  castaglia <castaglia>

        * modules/mod_lang.c: If mod_lang complains about the configured
        LangDefault, try to make the emitted log message a little clearer
        about the reason.

2011-12-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Added
        regression test for Bug#3727.

2011-12-14  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/auth.c, contrib/mod_wrap2/mod_wrap2.c: 
        Bug#3727 - mod_wrap2 causes unexpected LogFormat %u expansion for
        SFTP connections.

2011-12-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Updating
        mod_wrap2_file regression tests to use testcase-specific logging.

2011-12-14  castaglia <castaglia>

        * contrib/mod_copy.c: Updating mod_copy to use the renamed
        cmd_rec.cmd_class struct member.

2011-12-13  castaglia <castaglia>

        * src/ctrls.c: If we can't bind the test Unix domain socket, then
        log it at DEBUG3, rather than at just DEBUG.  This should make
        proftpd start up logging a little less needlessly verbose.

2011-12-13  castaglia <castaglia>

        * src/fsio.c: When setting the CLOEXEC flag on fds that are possibly
        returned by FSIO handlers, be sure to ignore any "Invalid
        descriptor" errors, since many FSIO handlers return fake fds.

2011-12-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Update mod_exec
        tests to use testcase-specific logging.  Added Linux-specific unit
        test for logging the open fds in the exec'd process, for auditing.

2011-12-13  castaglia <castaglia>

        * NEWS, contrib/mod_exec.c: Bug#3726 - mod_exec does not always
        capture stdout/stderr output from executed command.

2011-12-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Fix broken LIST
        regression test which only runs with rootprivs.

2011-12-12  castaglia <castaglia>

        * contrib/mod_exec.c: Stupid typo.

2011-12-12  castaglia <castaglia>

        * contrib/mod_exec.c: The buflen variable MUST be a signed datatype
        (e.g. int), rather than unsigned (e.g. size_t), in order to capture
        any error values from read(2).

2011-12-12  castaglia <castaglia>

        * contrib/mod_ban.c: Update mod_ban to use session.conn_class struct
        member.

2011-12-12  castaglia <castaglia>

        * contrib/mod_exec.c: Updated mod_exec to use session.conn_class
        struct member.

2011-12-12  castaglia <castaglia>

        * modules/mod_ctrls.c, src/ctrls.c, src/fsio.c, src/inet.c,
        src/log.c, src/main.c: As part of preparing proftpd for a different
        SIGHUP/restart implementation (Bug#3553), start setting the
        close-on-exec flag on file descriptors opened by the parent/daemon
        process.  This is a good habit to get into, anyway.

2011-12-12  castaglia <castaglia>

        * configure: Updated configure.

2011-12-11  castaglia <castaglia>

        * configure.in: Typo.

2011-12-11  castaglia <castaglia>

        * configure: Updated configure.

2011-12-11  castaglia <castaglia>

        * NEWS, configure.in: Bug#3682 - Configure does not detect libiconv
        under Gentoo FreeBSD.

2011-12-11  castaglia <castaglia>

        * include/pool.h, include/proftpd.h, src/pool.c: Rename 'struct
        pool' to 'struct pool_struc', to a) be more consistent with the rest
        of the struct naming conventions used, and b) to avoid causing
        problems for C++ compilers.  This is for Bug#3079.

2011-12-11  castaglia <castaglia>

        * RELEASE_NOTES, include/modules.h, src/main.c: Rename the
        cmdtable.class struct member to cmdtable.cmd_class, in order to
        support C++ modules (Bug#3079).

2011-12-11  castaglia <castaglia>

        * RELEASE_NOTES, contrib/mod_sftp/auth.c,
        contrib/mod_sftp/channel.c, contrib/mod_sftp/fxp.c,
        contrib/mod_sftp/kex.c, contrib/mod_sftp/service.c,
        contrib/mod_site_misc.c, include/dirtree.h, modules/mod_log.c,
        src/main.c: Rename the cmd_rec.class struct member to
        cmd_rec.cmd_class, in order to support C++ modules (Bug#3079).

2011-12-11  castaglia <castaglia>

        * RELEASE_NOTES, contrib/mod_ifsession.c, contrib/mod_quotatab.c,
        contrib/mod_rewrite.c, contrib/mod_sftp/display.c,
        contrib/mod_sql.c, include/proftpd.h, modules/mod_auth.c,
        modules/mod_log.c, src/dirtree.c, src/display.c, src/expr.c,
        src/main.c, tests/api/expr.c: Rename the session.class struct member
        to session.conn_class, as part of supporting C++ modules (Bug#3079).

2011-12-10  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Mention the TLSv1.1 and TLSv1.2 values
        for the TLSProtocol directive in the mod_tls docs.

2011-12-10  castaglia <castaglia>

        * configure: Updated configure.

2011-12-10  castaglia <castaglia>

        * config.h.in, configure.in: As part of working toward supporting
        ECC in mod_tls, and in mod_sftp (Bug#3573), we need to detect
        whether the version of OpenSSL used supports ECC.

2011-12-10  castaglia <castaglia>

        * RELEASE_NOTES, contrib/mod_tls.c: Support TLSv1.1 and TLSv1.2
        protocol versions in the TLSProtocol directive, assuming the version
        of OpenSSL used is new enough (1.0.1 and later).

2011-12-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm: Add regression
        tests for HideGroup and the NLST and MLSD commands.

2011-12-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm: Updating the
        HideGroup config regression tests to use testcase-specific logging.

2011-12-10  castaglia <castaglia>

        * doc/modules/mod_core.html: Adding descriptions for HideGroup,
        HideNoAccess, and HideUser directives to the mod_core documentation.

2011-12-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Adding
        regression test for a <Directory> configuration posted in the
        forums.

2011-12-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Updating
        <Directory>/<Limit> regression test cases to use testcase-specific
        logging.

2011-12-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Added TestSuite function
        for obtaining an arrayref of the shared module names (if any) built
        for the given proftpd executable.

2011-12-10  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Make mod_sftp handle READDIR requests in a
        more optimal/intelligent way.  Specifically, rather than using a
        hardcoded limit of 30 entries in each response, mod_sftp now looks
        at the max packet size and the amount of data used for the current
        number of entries, trying to stuff as many entries in a single
        response as possible.

2011-12-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        test for SFTP READDIR requests for a "wide" directory (e.g. a
        directory with many files at the same level).  This test is used for
        trying to optimize the number of entries that mod_sftp returns in
        response to a READDIR request (i.e. to do better than 30 entries per
        response).

2011-12-10  castaglia <castaglia>

        * contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h: Add a
        sftp_channel_get_maxpacketsz(), so that code (e.g. the SFTP code)
        can get the maximum packet size.  This can be used e.g. to figure
        out the maximum number of entries to write into a READDIR response,
        rather than having the naive hardcoded limit of 30 entries per
        READDIR response.

2011-12-10  castaglia <castaglia>

        * contrib/mod_sftp/msg.c, contrib/mod_sftp/msg.h: The various
        sftp_msg_write_* functions now return the number of bytes written
        into the given buffer.  These return values make it easier for
        calling code to keep a total of how many bytes have been written
        into the buffer, which in turn enables other optimizations/more
        intelligent guessing.

2011-12-09  castaglia <castaglia>

        * RELEASE_NOTES: Fill in a little more of the release notes, for
        later fleshing out.

2011-12-09  castaglia <castaglia>

        * doc/contrib/mod_ifsession.html: Add documentation for the new
        <IfAuthenticated> mod_ifsession config section.

2011-12-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Updating test
        cases to use testcase-specific logging.  Adding regression test for
        Bug#3629.

2011-12-09  castaglia <castaglia>

        * NEWS, contrib/mod_ifsession.c: Bug#3629 - Support
        <IfAuthenticated> conditional config section.

2011-12-09  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Document the new SHA2 SSH2 digests
        supported by the SFTPDigests directive.

2011-12-08  castaglia <castaglia>

        * contrib/mod_sftp/configure: Updating mod_sftp configure.

2011-12-08  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/crypto.c: Bug#3686 - Support SHA2 digests
        in mod_sftp.

2011-12-08  castaglia <castaglia>

        * contrib/mod_sftp/configure.in: When the mod_sftp configure script
        is checking for SHA256/512 support in OpenSSL, it needs to check
        whether linking with OpenSSL requires -ldl (for dynmic linking)
        and/or -lz (for compression).  Otherwise, the autoconf test programs
        will fail because of these linker errors (depending on how OpenSSL
        was built), and the script won't properly detect whether SHA256/512
        support actually exists.

2011-12-07  castaglia <castaglia>

        * src/inet.c: Remove extraneous space and period.

2011-12-07  castaglia <castaglia>

        * src/inet.c: Make the log message about other processes using the
        address/port a little better (i.e. mention the possibility of
        inetd/xinetd using that address/port as well).

2011-12-06  castaglia <castaglia>

        * contrib/mod_sftp/auth.c: Make sure that the password data is
        properly hidden with a static string for SFTP connections.

2011-12-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Add some
        ExtendedLog tests ensuring that the %r LogFormat variable, for PASS
        commands, is properly sanitized -- even for SFTP connections.

2011-12-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Updating
        ExtendedLog tests to use testcase-specific logging.

2011-12-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/RETR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STOR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: Make sure that the
        regression tests which purport to use active transfers do actually,
        in fact, use the PORT command for active transfers.

2011-12-06  castaglia <castaglia>

        * tests/t/config/rootrevoke.t,
        tests/t/lib/ProFTPD/Tests/Config/RootRevoke.pm, tests/tests.pl: 
        Start adding unit/regression tests for the RootRevoke directive.

2011-12-06  castaglia <castaglia>

        * modules/mod_core.c: Comment typo.

2011-12-06  castaglia <castaglia>

        * src/inet.c: Adding more verbiage to the error message logged when
        proftpd fails to start, due to being unable to bind to the listening
        address/port.

2011-12-06  castaglia <castaglia>

        * contrib/mod_tls.c, modules/mod_core.c: As per RFC2389, the FEAT
        response MUST include any FTP commands and extensions after RFC959.
        We were missing EPRT and EPSV, and CCC for FTPS connections, in our
        FEAT response.

2011-12-06  castaglia <castaglia>

        * src/bindings.c: Make sure that the errno value is preserved
        properly, in order to get all of the proper logging done.

2011-12-06  castaglia <castaglia>

        * doc/modules/mod_core.html: Adding docs for the AllowFilter and
        DenyFilter directives to the mod_core docs.

2011-12-05  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c: Bug#3724 - Unloading mod_quotatab
        causes segfault.

2011-12-05  castaglia <castaglia>

        * modules/mod_delay.c: Quell a few compiler warnings about unsigned
        long vs size_t (see on FreeBSD).

2011-12-04  castaglia <castaglia>

        * tests/api/str.c: Added API/unit test for the newly-added
        pr_str_replace() function (from Bug#3721).

2011-12-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DenyFilter.pm: Added regression
        test for the case-insensitive flag for the DenyFilter directive.

2011-12-03  castaglia <castaglia>

        * RELEASE_NOTES, modules/mod_core.c: Support the case-insensitive
        filter flags for the AllowFilter and DenyFilter directives, too
        (similar to Bug#3592).

2011-12-03  castaglia <castaglia>

        * tests/t/config/denyfilter.t,
        tests/t/lib/ProFTPD/Tests/Config/DenyFilter.pm, tests/tests.pl: 
        Start adding tests for the DenyFilter directive.

2011-12-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Updating the
        PathDenyFilter tests to use the testcase-specific logging.

2011-12-03  castaglia <castaglia>

        * RELEASE_NOTES, doc/contrib/mod_rewrite.html: Adding documentation
        for the new RewriteMaxReplace directive, added for Bug#3721.

2011-12-03  castaglia <castaglia>

        * doc/modules/mod_auth.html: Adding module-specific doc description
        for the RootRevoke directive to the mod_auth docs.

2011-12-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
        regression tests for Bug#3721.

2011-12-03  castaglia <castaglia>

        * contrib/mod_rewrite.c: With the fix for Bug#3721, the mod_rewrite
        module now relies on the 1.3.5 codebase (i.e. the new
        pr_str_replace() function).

2011-12-03  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c, include/str.h, src/str.c: Bug#3721 -
        mod_rewrite does not replace characters if there are more than 8
        occurrences.

2011-12-01  castaglia <castaglia>

        * RELEASE_NOTES: Minor update to the release notes, getting them
        ready for the 1.3.5 release cycle.

2011-12-01  castaglia <castaglia>

        * modules/mod_core.c: Remove the deprecated DisplayGoAway directive
        (Bug#3443).

2011-12-01  castaglia <castaglia>

        * NEWS, modules/mod_memcache.c: Bug#3723 - mod_memcache segfault on
        server restart.

2011-11-30  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
        mod_rewrite regression test showing how to deal with both spaces and
        tabs in a filename.

2011-11-30  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Updating the
        mod_rewrite testcase coding style to use the new testcase-specific
        logging.

2011-11-23  castaglia <castaglia>

        * NEWS, contrib/mod_deflate.c, contrib/mod_exec.c,
        contrib/mod_quotatab.c, contrib/mod_radius.c,
        contrib/mod_sftp/mod_sftp.c, contrib/mod_sql.c, contrib/mod_tls.c,
        contrib/mod_wrap2/mod_wrap2.c, modules/mod_ctrls.c,
        modules/mod_memcache.c: Bug#3720 - Various module logfile
        permissions are 0600 instead of 0640.

2011-11-21  castaglia <castaglia>

        * doc/howto/Globbing.html: Update the Globbing howto to more
        accurately describe how the PR_TUNABLE_GLOBBING_MAX_MATCHES limit
        operates (i.e. that it restricts the number of files _checked_ by
        glob(3), not the number of _matches_ returned by glob(3)).

2011-11-21  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#3719 - LIST -R can loop endlessly if
        bad directory symlink exists.

2011-11-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding regression test
        for Bug#3719.

2011-11-19  castaglia <castaglia>

        * contrib/mod_sftp/blacklist.c, contrib/mod_sftp/fxp.c,
        contrib/mod_sftp/keys.c, contrib/mod_sftp/scp.c: Fixing up a few
        more places where -Wshorten-64-to-32 warned about implicit
        conversions.

2011-11-19  castaglia <castaglia>

        * contrib/mod_tls.c: Use an explicit typecase to avoid a compiler
        warninga about implicit shortening of a 64-bit datatype to a 32-bit
        datatype.

2011-11-19  castaglia <castaglia>

        * modules/mod_delay.c: Fixing up mod_delay warnings about implicit
        shortening of 64-bit values to 32-bit values, found by gcc's
        -Wshorten-64-to-32 flag.

2011-11-19  castaglia <castaglia>

        * src/proctitle.c: Fix compiler warning about mixing code and
        declarations (hard to tell, based on the nasty ifdefs in the
        proctitle code).

2011-11-19  castaglia <castaglia>

        * include/support.h, modules/mod_ls.c, src/support.c: Quell a
        warning about implicit 64-to-32 bit conversion, turned up by gcc's
        -Wshorten-64-to-32 flag, by switching to size_t from int, when
        getting the max length of a filename.

2011-11-19  castaglia <castaglia>

        * lib/tpl.c: Fixing some warnings that gcc's -Wshorten-64-to-32 flag
        picked up.

2011-11-18  jwm <jwm>

        * README.LDAP: latest mod_ldap README

2011-11-18  jwm <jwm>

        * contrib/mod_ldap.c: this should have been labeled 2.9.1

2011-11-18  castaglia <castaglia>

        * src/str.c: A variable is needed, regardless of whether strlcat(3)
        is present or not.

2011-11-18  castaglia <castaglia>

        * configure: Updated configure.

2011-11-18  castaglia <castaglia>

        * config.h.in, configure.in, lib/sstrncpy.c, src/str.c: Use the
        strlcat(3) and strlcpy(3) functions, if available.  I'm hoping that
        these will have been optimized for the host platform, and perform
        better than our homegrown versions.

2011-11-17  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/keys.c, contrib/mod_tls.c,
        lib/pr-syslog.c, lib/pwgrent.c, modules/mod_auth_file.c,
        modules/mod_ctrls.c, src/ctrls.c, utils/ftptop.c: Bug#3717 - proftpd
        fails to run with "Abort trap" error message.  Replace all occurrences of strncpy(3) with our own sstrncpy(), to
        avoid any gcc traps/issues about using that function.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Might as well update
        these HOST tests to use testcase-specific logging while I'm changing
        things.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/HELP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/REST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Updating the rest of the
        FTP command tests to use testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
        tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STRU.pm: Updating more tests to
        use testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm: Updating more tests to
        use the testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PASS.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/USER.pm: Updating tests to use
        the testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm: Updating EPSV tests to
        use testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/PASV.pm: Update PASV tests to
        use the testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logins.pm: Update the login tests to use
        the testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/SITE/CHMOD.pm: Update the SITE
        CHMOD test to log its fatal exception in the testcase log.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RETR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STAT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STOR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: Updating the tests to
        log the exception in the testcase log.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Finally managed to
        reproduce, and fix, the one PORT testcase which kept failing in my
        continuous integration server.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Update the PORT tests
        to pass along the fatal exception for logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: The test_append_logfile()
        function now takes an optional parameter for the exception which
        caused the testcase to fail; this exception is then added to the
        main log file.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Updated STOR tests to
        use testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Updated RETR tests to
        use testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: Updated STOU tests to
        use testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Update LIST tests to
        use testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/APPE.pm: Update APPE tests to
        use testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Update NLST tests to
        use testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/STAT.pm: Update STAT tests to
        use testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm: Updating EPRT tests to
        use testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Updated ABOR tests to
        use testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: When appending the
        testcase log file to the main 'tests.log' file, use the full path to
        the main log file, for better diagnostics when there are problems
        writing to that file.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Updating MLSD tests to
        use testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Updating MLST tests to
        use testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm: Updated MFMT tests to
        use the new testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MFF.pm: Updating the MFF tests
        to use the testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/SITE/CHMOD.pm: Updating SITE
        CHMOD test to use the new testcase-specific logging.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: After appending the
        testcase-specific log to the main 'tests.log', be sure to unlink the
        testcase-specific log file.

2011-11-17  castaglia <castaglia>

        * tests/Makefile.in: Forgot to update the tests/Makefile to use the
        renamed tests.pl command-line option.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Updating the PORT
        testcases to using the new per-testcase logging functions, in an
        effort to track down why one of these testcases keeps failing in my
        continuous integration build.

2011-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Adding some functions to
        generate per-testcase log file names, and to append the contents of
        those logs, when the testcase files, to the main 'tests.log' file.
        This should help preserve the log files for failed testcases, even
        when the following testcases succeed; currently those subsequent
        testcases will delete the 'tests.log'.

2011-11-16  castaglia <castaglia>

        * NEWS, modules/mod_facts.c: Bug#3715 - MLSD/MLST fail when
        "DirFakeUser off" or "DirFakeGroup off" used.

2011-11-16  castaglia <castaglia>

        * contrib/mod_load/.cvsignore: More auto-generated files to be
        ignored by CVS.

2011-11-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm,
        tests/t/lib/ProFTPD/Tests/Config/DirFakeUser.pm: Adding regression
        tests for Bug#3715.

2011-11-16  castaglia <castaglia>

        * modules/mod_ls.c: Clean up the coding style in a couple of places.
        Also replace strcmp(3) with strncmp(3) in a couple of places where a
        string constant was being used for comparison.

2011-11-16  castaglia <castaglia>

        * tests/tests.pl: Change tests.pl to use --file-pattern instead of
        just --pattern, in order to make room for a --test-pattern.  This
        --test-pattern (which doesn't exist yet) will be used to provide a
        similar regex matching pattern for testcase names (as opposed to
        file names).

2011-11-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Updating MLST test
        cases to hopefully pass better on my Mac OSX machine.

2011-11-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm: Adding a regression
        test for Bug#3714.

2011-11-16  castaglia <castaglia>

        * utils/ftpwho.c: Quell cppcheck warning about a memory leak.

2011-11-16  castaglia <castaglia>

        * Makefile.in, tests/Makefile.in: Provide a wider range of 'check'
        targets, so that various parts of the testsuite can be run from the
        top-level Makefile.  This is useful for the continuous integration
        server config I am working on.

2011-11-16  castaglia <castaglia>

        * tests/tests.pl: Adding support for a --pattern comand-line option
        to the testsuite script, for specifing a filename pattern.  All
        testcase files whose names match the given pattern will be run.
        This allows us to run only certain files as needed (e.g. commands,
        config, modules, etc).

2011-11-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Minor updates to the
        NLST unit tests.

2011-11-16  castaglia <castaglia>

        * modules/mod_ls.c: Fix the handling of filenames with non-printable
        characters, when the -B list option is provided/used by the client.

2011-11-16  castaglia <castaglia>

        * NEWS, src/cmd.c, src/main.c: Bug#3714 - ftpwho/ftptop are not
        showing command arguments (e.g. downloaded file name).

2011-11-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Making some of the
        PORT tests a little more resilient.

2011-11-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/DELE.pm: Update DELE unit tests
        to run better on MacOSX.

2011-11-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/RMD.pm: Updating RMD tests to
        hopefully pass better on my MacOSX machine.

2011-11-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Updating MKD tests to
        hopefully pass better on my MacOSX machine.

2011-11-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/PWD.pm: Fixing the PWD tests so
        that they work properly on MacOSX.

2011-11-15  castaglia <castaglia>

        * NEWS, src/log.c: Bug#3646 - Debug logging to stderr should include
        timestamps and PID.

2011-11-15  castaglia <castaglia>

        * doc/contrib/mod_quotatab.html: Adding in missing "Context"
        descriptions for some of the mod_quotatab directives.

2011-11-15  castaglia <castaglia>

        * contrib/.cvsignore: Ignore the generated Makefile.

2011-11-15  castaglia <castaglia>

        * doc/modules/mod_core.html: Missing <br> tag.

2011-11-15  castaglia <castaglia>

        * doc/modules/mod_core.html: Missing closing </code> tags.

2011-11-14  castaglia <castaglia>

        * src/inet.c: Use the IPV6_TCLASS value for IPv6 connections for
        setting the Type-Of-Service (TOS) bits, where available.

2011-11-14  castaglia <castaglia>

        * tests/api/response.c: Fix the Bug#3711 test case to work properly
        on Mac OSX 10.5; the test fails due to SIGBUS rather than SIGSEGV in
        this case.

2011-11-11  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3713 - mod_tls cannot be compiled
        using Openssl 0.9.6.

2011-11-11  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: Updated .spec file.  Have I
        mentioned how much I dislike rpmbuild and .spec file
        "idiosyncrasies"?

2011-11-10  castaglia <castaglia>

        * NEWS: Bug#3712 - mod_wrap2/mod_load build errors: missing
        config.h.  (Patches committed earlier today.)

2011-11-10  castaglia <castaglia>

        * include/version.h: Updated trunk version in CVS.

2011-11-10  castaglia <castaglia>

        * contrib/mod_load/Makefile.in, contrib/mod_wrap2/Makefile.in: 
        Fixing the Makefiles for mod_load and mod_wrap2; I broke them when
        trying to fix the conditional contrib module library issue.

2011-11-10  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: Trying to fix the
        release_cand_version macro in the .spec file.

2011-11-10  castaglia <castaglia>

        * contrib/dist/rpm/xinetd: Fixed comment in xinetd config file.

2011-11-09  castaglia <castaglia>

        * ChangeLog: Updated ChangeLog.

2011-11-09  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec, include/version.h: Updating for
        1.3.4 release.

2011-11-09  castaglia <castaglia>

        * NEWS, RELEASE_NOTES: Updating NEWS, release notes, getting ready
        for release.

2011-11-09  castaglia <castaglia>

        * RELEASE_NOTES: Minor formatting consistency fix.

2011-11-09  castaglia <castaglia>

        * RELEASE_NOTES: Updating release notes.

2011-11-09  castaglia <castaglia>

        * NEWS, src/main.c: Bug#3711 - Response pool use-after-free memory
        corruption error.

2011-11-08  castaglia <castaglia>

        * tests/api/response.c: Adding more unit tests for the Response API,
        including a demonstration of Bug#3711.

2011-11-08  castaglia <castaglia>

        * contrib/dist/rpm/xinetd: Updating the xinetd config file for the
        RPM package, as per Bug#3640.

2011-11-07  castaglia <castaglia>

        * RELEASE_NOTES: Updated release notes to mention the RPM/.spec
        changes.

2011-11-07  castaglia <castaglia>

        * contrib/dist/rpm/basic-pam.conf, contrib/dist/rpm/proftpd.spec: 
        More updates for Bug#3640, reworking the proftpd.spec file and
        related config files.

2011-11-07  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd-tmpfs.conf,
        contrib/dist/rpm/proftpd.init.d,
        contrib/dist/rpm/proftpd.logrotate, contrib/dist/rpm/proftpd.pam,
        contrib/dist/rpm/proftpd.service: Bug#3640 - rpmbuild on CentOS5.5
        (64bit): "File not found by glob".  This involves a fairly large reworking of the .spec file, and adding
        new files expected by the .spec file.

2011-11-06  castaglia <castaglia>

        * contrib/mod_load/configure: Updated mod_load configure.

2011-11-06  castaglia <castaglia>

        * .cvsignore: Ignore the auto-generated module-libs.txt file.

2011-11-06  castaglia <castaglia>

        * contrib/mod_load/Makefile.in, contrib/mod_load/configure.in,
        contrib/mod_load/mod_load.c: Updating the mod_load
        configure/Makefiles to use the $(MODULE_LIBS_FILE) mechanism.

2011-11-06  castaglia <castaglia>

        * contrib/mod_wrap2/configure: Updated mod_wrap2 configure.

2011-11-06  castaglia <castaglia>

        * contrib/mod_wrap2/Makefile.in, contrib/mod_wrap2/configure.in,
        contrib/mod_wrap2/mod_wrap2.c, contrib/mod_wrap2/mod_wrap2.h.in: 
        Updating the mod_wrap2 build files to use the new
        $(MODULE_LIBS_FILE), rather than modifying the generated mod_wrap2.h
        file.

2011-11-06  castaglia <castaglia>

        * Make.rules.in, Makefile.in: Modifying the build system/scripts to
        support a $(MODULE_LIBS_FILE) file, which will contain a list of
        libraries that modules will want to add to the linker list, when
        linking the full proftpd executable AND when the modules in question
        are being built as static modules.  Shared modules are built as .la
        files, which contain their own linkage lists.  Consider the case where a module like mod_load (or mod_wrap2) might
        want to conditionally link against a library, depending on whether
        the host requires that library or depending on the configure options
        given when building proftpd.  The libraries needed by the module
        won't be known by the top-level main Makefile -- hence the need for
        this new $(MODULE_LIBS_FILE) file.  The top-level Makefile knows to
        read from this file for additional libraries; the module configure
        scripts/Makefiles can append the libraries they need to the
        $(MODULE_LIBS_FILE) file.  I'll be updating the mod_wrap2 configure/Makefile files to use this
        mechanism shortly.

2011-11-05  castaglia <castaglia>

        * modules/mod_ls.c: Adding a little more trace logging, and some
        --enable-devel=timing instrumenting of the code, trying to track
        down a reported CPU spike.

2011-11-03  castaglia <castaglia>

        * config.h.in: Since the AC_FUNC_SETPGRP macro has been removed from
        the configure.in file, we should always assume the POSIX setpgrp(2)
        signature.

2011-11-01  castaglia <castaglia>

        * RELEASE_NOTES: Updated release notes.

2011-11-01  castaglia <castaglia>

        * configure: Updated configure.

2011-11-01  castaglia <castaglia>

        * configure.in, m4/proftpd.m4: Start tweaking the configure script
        to work better in cross-compiling situations.

2011-10-31  castaglia <castaglia>

        * tests/Makefile.in: Make sure to build the response unit tests, and
        include them in the api-tests binary.

2011-10-31  castaglia <castaglia>

        * tests/api/response.c, tests/api/stubs.c, tests/api/tests.c,
        tests/api/tests.h: Start working on API-level regression tests for
        the Response API.

2011-10-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Fixing some of the
        broken mod_tls regression tests so that they pass properly again.

2011-10-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Updating the mod_tls
        tests to reflect changes to the Net:FTPSSL-0.19 version of the
        dependent Perl module.

2011-10-24  castaglia <castaglia>

        * tests/t/config/listoptions.t,
        tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm, tests/tests.pl: 
        Start working on regression tests for the ListOptions directive,
        spurred by some questions about it in the online forums.

2011-10-18  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Mention that mod_sftp does not honor
        the ListOptions directive.

2011-10-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
        mod_rewrite regression test for rewriting backslashes to slashes.

2011-10-17  castaglia <castaglia>

        * doc/howto/Rewrite.html: Adding new mod_rewrite example, for
        converting backslashes to slashes.

2011-10-13  castaglia <castaglia>

        * contrib/mod_sftp/Makefile.in: Remove redundant object file from
        `ar' command list; the mod_sftp.o object is already mentioned in the
        $(MODULE_OBJS) list of object files.

2011-10-12  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Updated SFTPOptions documentation to
        mention new IgnoreSFTPSetTimes option (Bug#3706).

2011-10-12  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_sftp/mod_sftp.h.in,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3706 - Support
        SFTPOption for ignoring requests to modify timestamps.

2011-10-10  castaglia <castaglia>

        * NEWS, RELEASE_NOTES: Fuller description in NEWS for Bug#3704, and
        mention the new TLSOption in the release notes.

2011-10-10  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Documenting the new NoEmptyFragments
        TLSOption.

2011-10-10  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3704 - Enable OpenSSL countermeasure
        against SSLv3/TLSv1 BEAST attacks.

2011-10-06  castaglia <castaglia>

        * configure: Updated configure for Bug#3192.

2011-10-06  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, contrib/mod_sql_postgres.c: 
        Bug#3192 - PQescapeStringConn() needs a better check.

2011-10-06  castaglia <castaglia>

        * configure: Updated configure for Bug#3669.

2011-10-06  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, contrib/mod_sql_mysql.c: Bug#3669
        - mod_sql_mysql.so: undefined symbol: make_scrambled_password with
        MySQL 5.5 on Fedora.

2011-10-06  castaglia <castaglia>

        * configure: Updated configure for Bug#3702.

2011-10-06  castaglia <castaglia>

        * NEWS, configure.in: Bug#3702 - ProFTPD with mod_sql_mysql dies of
        "Alarm clock" on FreeBSD.

2011-10-04  castaglia <castaglia>

        * src/main.c, src/support.c, src/timers.c: Add checking of the
        return values for calling signal(2), sigaction(2), and
        siginterrupt(2), and logging of any errors.

2011-10-04  castaglia <castaglia>

        * contrib/mod_sql.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Further fix to
        Bug#3692: make sure that if the processing of the SQLLog directive
        (marked with "IGNORE_ERRORS") needs to open a database connection,
        and the database info is bad (e.g. bad database name), this bad
        database open is also ignored, rather than causing the session to be
        disconnected.

2011-09-29  castaglia <castaglia>

        * contrib/mod_sftp/date.c: Bug#3650 - Update the FSF address.

2011-09-27  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Minor update to
        unit test, trying to avoid ugly regex error on Mac OSX (due to its
        temporary file naming scheme).

2011-09-26  castaglia <castaglia>

        * include/version.h: Updated version for CVS status.

2011-09-26  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec, include/version.h: Update the
        versions for RC3.

2011-09-26  castaglia <castaglia>

        * NEWS: Update NEWS with the release date.

2011-09-26  castaglia <castaglia>

        * ChangeLog: Updated ChangeLog.

2011-09-26  castaglia <castaglia>

        * RELEASE_NOTES: Updated release notes.

2011-09-26  castaglia <castaglia>

        * modules/mod_log.c: Slightly better fix for Bug#3696, which doesn't
        require the whole command dispatch mechanism for getting the
        ExtendedLog entry written.

2011-09-25  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Add unit test
        for Bug#3696 (ExtendedLog written in cases of TimeoutStalled) for
        SFTP transfers as well.

2011-09-24  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Modify the handling of SCP downloads to
        allow for PRE_CMD handlers to rewrite the file name (e.g. via
        mod_rewrite).

2011-09-24  castaglia <castaglia>

        * modules/mod_xfer.c: If ever the RETR PRE_CMD handler in mod_xfer
        says "no, I won't download this file because it's not a regular
        file", set the errno to EISDIR.  This specific errno value can then
        be handled properly, e.g. by the SCP download code.

2011-09-24  castaglia <castaglia>

        * src/main.c: More tricks to preserve the errno value through the
        command dispatch mechanism.

2011-09-24  castaglia <castaglia>

        * modules/mod_log.c: Guard against a possibly-null
        session.curr_cmd_rec pointer, when handling the
        'core.timeout-stalled' event in mod_log.

2011-09-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Fixing
        broken unit tests.

2011-09-24  castaglia <castaglia>

        * contrib/mod_exec.c: Use strncmp(3) in more places, give the
        compiler some hints when we will be ignoring the return values, and
        fix the byte count for writes when using the useStdin ExecOption.

2011-09-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/exec.pm: Leave a long
        explanation to my future self about failures of a particular unit
        test, and why it can happen (e.g. due to module load ordering).

2011-09-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Fix broken
        mod_sql_sqlite unit tests.

2011-09-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Relax some of
        the heuristics, allowing some of the unit tests to pass more
        regularly.

2011-09-24  castaglia <castaglia>

        * contrib/mod_rewrite.c: Fix a regression in the RewriteHome
        feature, where it wasn't working at all.

2011-09-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/RewriteHome.pm: Minor style
        updates; no functional change.

2011-09-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm: Expect to
        handle a "File too large" error response as well in these unit
        tests.

2011-09-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DisplayChdir.pm: Fix broken unit
        test.

2011-09-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Add a different
        expected error message, fixing the unit test on a Linux system.

2011-09-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/HELP.pm: Fix the HELP unit test
        to work properly, even if mod_tls is in the build.

2011-09-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm: Update the FEAT unit
        test to better handle when other modules, e.g.  mod_site_misc and
        mod_copy, are in the build.

2011-09-24  castaglia <castaglia>

        * tests/tests.pl: Don't run the mod_sftp_sql unit tests unless that
        module, too, is loaded.

2011-09-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: More places to
        catch data connection timeouts.

2011-09-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutNoTransfer.pm,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: More places to
        catch data connection timeouts.

2011-09-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/CommandBufferSize.pm,
        tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: More places to
        catch data connection timeouts.

2011-09-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RETR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Hardening the testsuite
        caused by spurious data connection timeouts; this makes the tests
        still fail when it happens, but the output is more intelligible.

2011-09-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
        tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Trying to
        fix/quell Perl warnings emitted while running the testsuite.

2011-09-23  castaglia <castaglia>

        * tests/api/scoreboard.c: Fixing pr_scoreboard_scrub() unit test so
        that it passes properly.

2011-09-21  castaglia <castaglia>

        * NEWS, modules/mod_core.c,
        tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm: Bug#3698 - <Limit WRITE>
        does not prevent deletion of a file/directory via renaming.

2011-09-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Telnet.pm: Adding regression test for
        Bug#3697.

2011-09-21  castaglia <castaglia>

        * NEWS, src/netio.c: Bug#3697 - Filenames with embedded IAC do not
        get processed correctly.

2011-09-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Regression test
        for Bug#3696.

2011-09-21  castaglia <castaglia>

        * NEWS, include/proftpd.h, modules/mod_log.c, src/main.c: Bug#3696 -
        ExtendedLog not getting written on timeouts.

2011-09-21  castaglia <castaglia>

        * NEWS, include/inet.h, modules/mod_core.c, src/bindings.c,
        src/inet.c: Bug#3693 - Clients are disconnected if proftpd cannot
        listen on port for passive data transfer.

2011-09-09  castaglia <castaglia>

        * contrib/mod_sftp/mac.c: Use the newer HMAC_Init_ex() when
        available in the OpenSSL version used (e.g. to make use of any
        ENGINEs configured), as well as checking the return values of
        HMAC_Init_ex(), HMAC_Update(), and HMAC_Final() (again, when
        supported by the OpenSSL version used).

2011-09-09  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Update mod_sftp doc to mention Axway
        clients as having the channel window sizing issues, just like
        WS_FTP.

2011-09-06  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3692 -
        SQLLog IGNORE_ERRORS parameter does not work.

2011-09-06  castaglia <castaglia>

        * src/memcache.c: Pedantically fix more compiler warnings.

2011-09-05  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Fix HTML markup.

2011-09-05  castaglia <castaglia>

        * contrib/mod_tls_memcache.c: Address a few compiler warnings.

2011-09-05  castaglia <castaglia>

        * contrib/mod_tls.c: Fix typo causing compiler warninga about
        "statement with no effect".

2011-09-05  castaglia <castaglia>

        * src/trace.c: Fix compiler error when compiling with
        --disable-trace; the pr_trace_vsmg() function was not implemented in
        that case.

2011-09-02  castaglia <castaglia>

        * contrib/README, contrib/mod_quotatab_ldap.ldif,
        contrib/mod_quotatab_ldap.schema: Bug#3678 - Include LDAP schema for
        mod_quotatab_ldap.

2011-09-02  castaglia <castaglia>

        * doc/contrib/mod_exec.html: Adding mod_exec FAQ.

2011-08-19  castaglia <castaglia>

        * modules/mod_core.c: Reducing the log level used for the log
        message about setting the DefaultAddress, so that e.g. heavily
        loaded proftpd servers using "ServerType inetd" aren't spamming
        syslog with this message.

2011-08-16  castaglia <castaglia>

        * src/trace.c: Quell compiler warning on some systems by using an
        explicit typecast.

2011-08-16  castaglia <castaglia>

        * contrib/mod_radius.c: Fix the compilation of mod_radius on
        FreeBSD, which was broken by the patch for Bug#3679, which added
        support for the NAS-IPv6-Address attribute.  Turns out that the
        s6_addr32 macro is not available on all systems (e.g.  FreeBSD);
        hopefully the s6_addr macro is more widely supported.

2011-08-13  castaglia <castaglia>

        * modules/mod_core.c: Replace the unnecessary (and unchecked)
        malloc(3) calls -- used when handling the CDPath directive -- with
        palloc(), which handles out of memory conditions automatically (and
        is more consistent with the proftpd coding style).

2011-08-13  castaglia <castaglia>

        * NEWS, src/response.c: Bug#3685 - NULL pointer dereference after an
        idle timeout.

2011-08-12  castaglia <castaglia>

        * configure: Updated configure.

2011-08-12  castaglia <castaglia>

        * NEWS, configure.in: Bug#3681 - Non POSIX test constructions in
        autoconf script.

2011-08-08  castaglia <castaglia>

        * contrib/mod_tls.c: Reduce the OpenSSL memory usage for SSL
        connections (if OpenSSL-1.0.0a or later are used).

2011-08-05  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Update the SFTPOptions
        IgnoreSFTPUploadPerms description to mention directory creation, as
        per Bug#3680.

2011-08-05  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3680 - SFTP MKDIR
        does not respect the IgnoreSFTPUploadPerms option.

2011-08-05  castaglia <castaglia>

        * contrib/mod_radius.c: Better implementation of the
        NAS-IPv6-Address functionality for Bug#3679.

2011-08-04  castaglia <castaglia>

        * doc/contrib/mod_radius.html: Mention that mod_radius might use
        NAS-IPv6-Address in the mod_radius docs.

2011-08-04  castaglia <castaglia>

        * NEWS, contrib/mod_radius.c: Bug#3679 - Support NAS-IPv6-Address
        RADIUS attribute.

2011-08-04  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/auth-hostbased.c,
        contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
        contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
        contrib/mod_sftp/auth.h: Bug#3676 - RADIUS-based logins don't work
        using mod_sftp.

2011-08-03  castaglia <castaglia>

        * doc/contrib/mod_radius.html: Update the RadiusNASIdentifier docs
        to mention that it will use "ssh2" for SFTP/SCP sessions.

2011-08-03  castaglia <castaglia>

        * contrib/mod_radius.c: When setting the NAS-Identifier attribute in
        the RADIUS request, be sure to dynamically get the protocol, so that
        we use "ftp" for FTP sessions and "ssh2" for SFTP sessions.

2011-08-02  castaglia <castaglia>

        * src/scoreboard.c: Fix compiler warning about shadowed variable.

2011-08-02  castaglia <castaglia>

        * configure: Updated configure.

2011-08-02  castaglia <castaglia>

        * NEWS, configure.in: Bug#3675 - Automatically disable sendfile
        support for AIX systems.

2011-08-02  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: Fix the compilation of mod_sftp.c
        (Bug#3677).

2011-08-02  castaglia <castaglia>

        * src/regexp.c: Remove unused variable.

2011-08-01  castaglia <castaglia>

        * src/main.c: Defend against possible null cmd_rec argument in
        pr_cmd_dispatch_phase().

2011-07-31  castaglia <castaglia>

        * NEWS, modules/mod_ctrls.c: Bug#3674 - After running "proftpd -t"
        command, ftpdctl commands no longer work.

2011-07-26  castaglia <castaglia>

        * modules/mod_core.c: Try to make the error logging better, for the
        case where a client requests a rename of a directory across
        filesystem mount points.

2011-07-10  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Updated mod_tls
        AllowClientRenegotiations TLSOption description to mention
        CVE-2011-1437.

2011-07-10  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3671 - TLSOption
        AllowClientRenegotiations to be unconditionally required for
        client-initiated renegotiations.

2011-07-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/wrap2.pm: Adding
        regression tests for Bug#3670.

2011-07-10  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/mod_sftp.c: Bug#3670 - WrapDenyMsg not
        displayed when using mod_wrap2 + mod_sftp.

2011-07-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/wrap2.pm,
        tests/t/modules/mod_sftp/wrap2.t, tests/tests.pl: Breaking out the
        mod_sftp+mod_wrap2 unit tests into their own separate file of test
        cases.

2011-07-09  castaglia <castaglia>

        * contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/kex.c: Adding
        comments for my future reference, for when I start adding X509
        support to mod_sftp.

2011-07-06  castaglia <castaglia>

        * doc/modules/mod_facts.html: Adding MLSD/MLST FAQ from forums.

2011-07-02  castaglia <castaglia>

        * NEWS, src/scoreboard.c: Bug#3668 - File descriptor leak during
        scoreboard scrubbing.

2011-07-01  castaglia <castaglia>

        * doc/modules/mod_core.html: Add description of the GroupOwner
        directive, updated for Bug#3665, to the mod_core HTML docs.

2011-07-01  castaglia <castaglia>

        * NEWS, src/dirtree.c: Bug#3665 - GID of new files are inherited
        from parent directory on FreeBSD.  The GroupOwner directive is enhanced to use "~" as "GID of logged-in
        user", to work around the FreeBSD-specific behavior.

2011-06-30  jwm <jwm>

        * NEWS: mention the mod_ldap configuration directive overhaul

2011-06-21  castaglia <castaglia>

        * NEWS, src/scoreboard.c: Bug#3667 - Scoreboard scrubbing can block
        daemon process for long periods of time.

2011-06-17  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Minor updates to the mod_sftp docs for
        SFTPCiphers, SFTPDigests, and SFTPOptions.

2011-06-17  castaglia <castaglia>

        * contrib/mod_sftp/kex.c: Add trace logging of the SSH2 session
        algorithms.  This duplicates info already logged in the SFTPLog, but
        if you're *only* getting a TraceLog, it helps to have the session
        algorithms logged there.

2011-06-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Added regression test
        for "LIST -R", prompted by a forums post saying that ncftp shows an
        issue with proftpd-1.3.3e's handling of LIST -R.  Couldn't reproduce
        the reported symptoms with this test case, though.

2011-06-14  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Bug#3664 -
        mod_sftp does not update process title.

2011-06-10  castaglia <castaglia>

        * contrib/mod_deflate.c: Add finer-grained trace logging of
        compressed data transfers.  Modify the read() callback slightly to
        be more efficient (one less branch/block to think through when
        debugging).

2011-06-10  castaglia <castaglia>

        * src/scoreboard.c: If we can't open the ScoreboardFile during
        scrubbing, make sure we log the proper error reason for it.

2011-06-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm: Add HideNoAccess
        regression test, trying to reproduce an issue described on
        forums.proftpd.org.

2011-06-05  castaglia <castaglia>

        * modules/mod_delay.c: Remove now-unnecessary blank line in 'ftpdctl
        delay info' response.

2011-06-05  castaglia <castaglia>

        * modules/mod_delay.c: First, fix the calculation of the row
        indices; mod_delay was inadvertently trampling on the values in the
        wrong rows, especially for vhosts.  Second, make the output from 'ftpdctl delay info' a little prettier.

2011-06-05  castaglia <castaglia>

        * src/ctrls.c: Cache errno value for better trace messages.  Fix
        truncation of Unix domain socket path such that it doesn't trash the
        call stack (e.g. on Mac OSX) due to bad assumptions about the
        structure/fields of a struct sockaddr_un.

2011-06-05  castaglia <castaglia>

        * NEWS, modules/mod_delay.c: Bug#3663 - TimeoutLogin cannot
        interrupt mod_delay as it should.

2011-06-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Add mod_deflate
        regression test showing read/compress of chunks of upload data.

2011-06-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Fix mod_deflate
        regression tests broken by the addition of the ScoreboardMutex.

2011-05-27  castaglia <castaglia>

        * doc/modules/mod_core.html: Add docs for the PassivePorts directive
        to the bundled HTML mod_core doc.

2011-05-27  castaglia <castaglia>

        * doc/howto/Scoreboard.html: Mention the types of data tracked in
        the ScoreboardFile for a data transfer, and link to the utilities
        docs.  This should cover Bug#2625.

2011-05-27  castaglia <castaglia>

        * src/fsio.c: More caching/setting of errno properly, and fixing a
        minor memory leak.

2011-05-26  castaglia <castaglia>

        * modules/mod_core.c: Properly cache/set the errno value before
        returning PR_ERROR.

2011-05-26  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab/site_misc.pm,
        tests/t/modules/mod_quotatab/site_misc.t, tests/tests.pl: Adding
        regression tests for Bug#3660.

2011-05-26  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c, contrib/mod_site_misc.c: Bug#3660 -
        SITE MKDIR/RMDIR should update quota tallies properly.

2011-05-26  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Update the
        mod_quotatab tests to be a little more resilient during full runs of
        the testsuite.

2011-05-26  castaglia <castaglia>

        * contrib/mod_quotatab_sql.c: Remove the checking for underflowing
        the files used values in mod_quotatab_sql.  The mod_quotatab module
        already makes such checks.  Plus, the checks at this layer prevent
        the decrementing of the files used value to zero.

2011-05-26  castaglia <castaglia>

        * contrib/mod_sql.c: Fix some strncasecmp(3) cases in mod_sql, and
        convert other strcasecmp(3) to strncasecmp(3).

2011-05-26  castaglia <castaglia>

        * contrib/mod_copy.c: Allocate the cmd->arg string out of the
        cmd->pool, NOT out of the cmd->tmp_pool, as the latter pool is
        cleared after every dispatch phase and the former pool is not.

2011-05-26  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab/copy.pm: Forgot to
        check in the regression tests for the recent work on Bug#3641.

2011-05-25  castaglia <castaglia>

        * contrib/mod_copy.c: Make mod_copy interact with mod_quotatab such
        that a recursively copied directory will update the quota tallies
        properly (Bug#3641).

2011-05-25  castaglia <castaglia>

        * contrib/mod_quotatab.c: Fix up some minor nits in mod_quotatab,
        found while working on Bug#3641.

2011-05-25  castaglia <castaglia>

        * modules/mod_xfer.c: Set errno before returning PR_ERROR.

2011-05-25  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: The copy-file functionality in mod_sftp
        needs to interact with e.g.  mod_copy and mod_quotatab properly,
        which requires that mod_sftp generate a SITE COPY cmd_rec, not a
        COPY cmd_rec.

2011-05-24  castaglia <castaglia>

        * contrib/install-sh: Adding install-sh script for contrib/ area.

2011-05-24  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.h.in: The newly added date(1) support in
        mod_sftp needs to be explicitly enabled via the Protocols directive,
        rather than being enabled by default.  This should preserve the principle of least surprise.  And since
        this date(1) support is for testing anyway, there's (currently) no
        reason it should be enabled by default.

2011-05-24  castaglia <castaglia>

        * contrib/mod_sftp/Makefile.in, contrib/mod_sftp/auth.c,
        contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h,
        contrib/mod_sftp/date.c, contrib/mod_sftp/date.h,
        contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in: Adding
        support for builtin date(1) command, for speed tests related to
        authentication (versus file transfers via SFTP/SCP).

2011-05-24  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Remove redundant setting of the
        POSIXLY_CORRECT environment variable.

2011-05-24  castaglia <castaglia>

        * doc/contrib/mod_ctrls_admin.html: Documenting the -n 'ftpdctl
        kick' option, added for Bug#3555.

2011-05-24  castaglia <castaglia>

        * NEWS, contrib/mod_ctrls_admin.c: Bug#3555 - Support optional
        maximum number of clients to be disconnected via 'ftpdctl kick'.

2011-05-23  castaglia <castaglia>

        * contrib/mod_ban.c, contrib/mod_sftp/scp.c, contrib/mod_tls.c,
        include/support.h, src/support.c: Refactor all of the getopt(3)
        resetting code into a single pr_getopt_reset() function than then be
        used by the interested parties (e.g. mod_ban, mod_sftp, mod_tls).

2011-05-23  castaglia <castaglia>

        * contrib/mod_wrap2/configure: Updated mod_wrap2 configure.

2011-05-23  castaglia <castaglia>

        * configure.in, contrib/mod_wrap2/configure.in: Updating FSF
        address, per Bug#3650.

2011-05-23  castaglia <castaglia>

        * contrib/ftpasswd, contrib/ftpmail, contrib/ftpquota, src/prxs.in: 
        Updated FSF address, per Bug#3650.

2011-05-23  castaglia <castaglia>

        * COPYING, doc/license.txt, src/auth.c, src/bindings.c,
        src/child.c, src/class.c, src/cmd.c, src/ctrls.c, src/data.c,
        src/dirtree.c, src/display.c, src/encode.c, src/env.c, src/event.c,
        src/expr.c, src/feat.c, src/filter.c, src/fsio.c, src/ftpdctl.c,
        src/help.c, src/inet.c, src/lastlog.c, src/log.c, src/main.c,
        src/memcache.c, src/mkhome.c, src/modules.c, src/netacl.c,
        src/netaddr.c, src/netio.c, src/parser.c, src/pidfile.c,
        src/pool.c, src/privs.c, src/proctitle.c, src/regexp.c,
        src/response.c, src/scoreboard.c, src/session.c, src/sets.c,
        src/stash.c, src/str.c, src/support.c, src/table.c, src/throttle.c,
        src/timers.c, src/trace.c, src/var.c, src/version.c, src/wtmp.c,
        src/xferlog.c: Updating FSF address, per Bug#3650.

2011-05-23  castaglia <castaglia>

        * doc/mod_sample.c, lib/getopt.c, lib/getopt1.c,
        lib/glibc-gai_strerror.c, lib/glibc-glob.c, lib/glibc-mkstemp.c,
        lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c, lib/pwgrent.c,
        lib/sstrncpy.c, lib/strsep.c, lib/vsnprintf.c, modules/mod_auth.c,
        modules/mod_auth_file.c, modules/mod_auth_pam.c,
        modules/mod_auth_unix.c, modules/mod_cap.c, modules/mod_core.c,
        modules/mod_ctrls.c, modules/mod_delay.c, modules/mod_dso.c,
        modules/mod_facl.c, modules/mod_facts.c, modules/mod_ident.c,
        modules/mod_lang.c, modules/mod_log.c, modules/mod_ls.c,
        modules/mod_memcache.c, modules/mod_site.c, modules/mod_xfer.c: 
        Updated FSF address, per Bug#3650.

2011-05-23  castaglia <castaglia>

        * contrib/mod_ban.c, contrib/mod_copy.c, contrib/mod_ctrls_admin.c,
        contrib/mod_deflate.c, contrib/mod_dynmasq.c, contrib/mod_exec.c,
        contrib/mod_ifsession.c, contrib/mod_ifversion.c,
        contrib/mod_ldap.c, contrib/mod_load/mod_load.c.in,
        contrib/mod_qos.c, contrib/mod_quotatab.c,
        contrib/mod_quotatab_file.c, contrib/mod_quotatab_ldap.c,
        contrib/mod_quotatab_radius.c, contrib/mod_quotatab_sql.c,
        contrib/mod_radius.c, contrib/mod_ratio.c, contrib/mod_readme.c,
        contrib/mod_rewrite.c, contrib/mod_sftp/auth-hostbased.c,
        contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
        contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
        contrib/mod_sftp/channel.c, contrib/mod_sftp/cipher.c,
        contrib/mod_sftp/compress.c, contrib/mod_sftp/crypto.c,
        contrib/mod_sftp/disconnect.c, contrib/mod_sftp/display.c,
        contrib/mod_sftp/fxp.c, contrib/mod_sftp/interop.c,
        contrib/mod_sftp/kbdint.c, contrib/mod_sftp/kex.c,
        contrib/mod_sftp/keys.c, contrib/mod_sftp/keystore.c,
        contrib/mod_sftp/mac.c, contrib/mod_sftp/misc.c,
        contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/msg.c,
        contrib/mod_sftp/packet.c, contrib/mod_sftp/rfc4716.c,
        contrib/mod_sftp/scp.c, contrib/mod_sftp/service.c,
        contrib/mod_sftp/session.c, contrib/mod_sftp/tap.c,
        contrib/mod_sftp/utf8.c, contrib/mod_sftp_pam.c,
        contrib/mod_sftp_sql.c, contrib/mod_shaper.c,
        contrib/mod_site_misc.c, contrib/mod_sql.c,
        contrib/mod_sql_mysql.c, contrib/mod_sql_odbc.c,
        contrib/mod_sql_passwd.c, contrib/mod_sql_postgres.c,
        contrib/mod_sql_sqlite.c, contrib/mod_tls_memcache.c,
        contrib/mod_tls_shmcache.c, contrib/mod_unique_id.c,
        contrib/mod_wrap.c, contrib/mod_wrap2/mod_wrap2.c,
        contrib/mod_wrap2_file.c, contrib/mod_wrap2_sql.c: Updating FSF
        address, per Bug#3650.

2011-05-23  castaglia <castaglia>

        * contrib/mod_quotatab.h, contrib/mod_sftp/auth.h,
        contrib/mod_sftp/channel.h, contrib/mod_sftp/cipher.h,
        contrib/mod_sftp/compress.h, contrib/mod_sftp/crypto.h,
        contrib/mod_sftp/disconnect.h, contrib/mod_sftp/display.h,
        contrib/mod_sftp/fxp.h, contrib/mod_sftp/interop.h,
        contrib/mod_sftp/kbdint.h, contrib/mod_sftp/kex.h,
        contrib/mod_sftp/keys.h, contrib/mod_sftp/keystore.h,
        contrib/mod_sftp/mac.h, contrib/mod_sftp/misc.h,
        contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/msg.h,
        contrib/mod_sftp/packet.h, contrib/mod_sftp/rfc4716.h,
        contrib/mod_sftp/scp.h, contrib/mod_sftp/service.h,
        contrib/mod_sftp/session.h, contrib/mod_sftp/ssh2.h,
        contrib/mod_sftp/tap.h, contrib/mod_sftp/utf8.h, contrib/mod_sql.h,
        contrib/mod_tls.h, contrib/mod_wrap2/mod_wrap2.h.in, lib/getopt.h,
        tests/api/array.c, tests/api/class.c, tests/api/cmd.c,
        tests/api/env.c, tests/api/event.c, tests/api/expr.c,
        tests/api/feat.c, tests/api/modules.c, tests/api/netacl.c,
        tests/api/netaddr.c, tests/api/pool.c, tests/api/regexp.c,
        tests/api/scoreboard.c, tests/api/sets.c, tests/api/stash.c,
        tests/api/str.c, tests/api/stubs.c, tests/api/table.c,
        tests/api/tests.c, tests/api/tests.h, tests/api/timers.c,
        tests/api/var.c, tests/api/version.c, utils/ftpcount.c,
        utils/ftpscrub.c, utils/ftpshut.c, utils/ftptop.c, utils/ftpwho.c,
        utils/misc.c, utils/scoreboard.c: Updating FSF address, per
        Bug#3650.

2011-05-23  castaglia <castaglia>

        * include/auth.h, include/bindings.h, include/child.h,
        include/class.h, include/cmd.h, include/compat.h, include/conf.h,
        include/ctrls.h, include/data.h, include/default_paths.h,
        include/dirtree.h, include/display.h, include/encode.h,
        include/env.h, include/event.h, include/expr.h, include/feat.h,
        include/filter.h, include/fsio.h, include/ftp.h,
        include/glibc-glob.h, include/help.h, include/inet.h,
        include/libsupp.h, include/log.h, include/memcache.h,
        include/mkhome.h, include/mod_ctrls.h, include/modules.h,
        include/netacl.h, include/netaddr.h, include/netio.h,
        include/options.h, include/parser.h, include/pidfile.h,
        include/pool.h, include/pr-syslog.h, include/privs.h,
        include/proctitle.h, include/proftpd.h, include/regexp.h,
        include/response.h, include/scoreboard.h, include/session.h,
        include/sets.h, include/stash.h, include/str.h, include/support.h,
        include/table.h, include/throttle.h, include/timers.h,
        include/trace.h, include/var.h, include/xferlog.h, utils/utils.h: 
        Updating the FSF address, per Bug#3650.

2011-05-23  castaglia <castaglia>

        * COPYING: Updating FSF address, per Bug#3650.

2011-05-20  castaglia <castaglia>

        * contrib/mod_tls.c: Don't allow client certs if they point to an
        OCSP responder whose response says that the OCSP responder doesn't
        know about the client cert.

2011-05-20  castaglia <castaglia>

        * contrib/mod_tls.c: Clarify the certificate revocation callback
        code a little, and add some comments on edge cases to handle better.

2011-05-20  castaglia <castaglia>

        * contrib/mod_tls.c: Fixed cases of strncmp(3) to use strncmp(3),
        and strcasecmp(3) to be strncasecmp(3), as the 'n' variants are more
        efficient (saves on a strlen(3) call internally).  Reworked the OCSP verification code so that it works properly.

2011-05-20  castaglia <castaglia>

        * tests/t/etc/modules/mod_tls/NOTES,
        tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
        tests for the TLSVerifyOrder directive, for both 'crl' and 'ocsp'
        (separately).  Updates NOTES to mention how to generate certs with OCSP attributes,
        running OpenSSL's ocsp(1) as responder (and client), issues found,
        etc.

2011-05-20  castaglia <castaglia>

        * tests/t/etc/modules/mod_tls/ocsp-ca.pem,
        tests/t/etc/modules/mod_tls/ocsp-client.pem,
        tests/t/etc/modules/mod_tls/ocsp-https-ca.pem,
        tests/t/etc/modules/mod_tls/ocsp-https-client.pem,
        tests/t/etc/modules/mod_tls/ocsp-https-server.pem,
        tests/t/etc/modules/mod_tls/ocsp-server.pem: Adding certs/files for
        OCSP verification tests.

2011-05-19  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3658 - TLSVerifyOrder directive is
        broken.

2011-05-19  castaglia <castaglia>

        * doc/howto/Testing.html: Mention the brittleness of the
        127.0.0.1/localhost-related tests in the Testing howto, and mention
        how they are "expected failures".

2011-05-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Update the mod_tls
        CRL regression test to use the newly-generated/updated CRL test
        files.

2011-05-18  castaglia <castaglia>

        * tests/t/etc/modules/mod_tls/NOTES: Updated mod_tls notes with how
        to generate CRL regression test certs (I really mean it this time!).

2011-05-18  castaglia <castaglia>

        * tests/t/etc/modules/mod_tls/crl-ca-revoked.pem,
        tests/t/etc/modules/mod_tls/crl-ca.pem,
        tests/t/etc/modules/mod_tls/crl-client-cert.pem,
        tests/t/etc/modules/mod_tls/crl-server-cert.pem: Added new CA,
        server/client certs, and CRL PEM files for the CRL revocation
        regression test.  Updated the NOTES file with instructions on how to generate the
        above files.

2011-05-18  castaglia <castaglia>

        * tests/t/etc/modules/mod_quotatab_file/NOTES: Remove the broken
        file tables for the group quota test.  Add notes for how the file
        tables were generated, for future reference.

2011-05-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm: Update the
        group quota regression test to use the fixed table files.

2011-05-18  castaglia <castaglia>

        * : Fixing the group quota file-based tables for the
        mod_quotatab_file regression test.

2011-05-18  castaglia <castaglia>

        * : Adding the limit/tally file tables for the ALL regression test.

2011-05-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm: Adding
        regression test involving file-based quota tables and an ALL quota
        (from the forums).

2011-05-18  castaglia <castaglia>

        * configure: Updated configure.

2011-05-18  castaglia <castaglia>

        * configure.in: Fix --disable-strip logic.

2011-05-18  castaglia <castaglia>

        * doc/contrib/mod_wrap2.html: Fix typos in the mod_wrap2 docs.

2011-05-18  castaglia <castaglia>

        * contrib/mod_sftp/packet.c: Refactor the ssh2_sftp_packet_read()
        function, moving some of the special-case handling of SSH messages
        like DEBUG, IGNORE, UNIMPLEMENTED et al into the
        ssh2_sftp_packet_handle() function, where all of the other SSH
        message types are handled.  Now all of the message types are handled
        in the same function, in the same way.

2011-05-17  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#3656 - Prefer "File too big" error
        message for MaxStoreFilesize.

2011-05-16  castaglia <castaglia>

        * modules/mod_xfer.c: Another typo.

2011-05-16  castaglia <castaglia>

        * modules/mod_xfer.c: Typo.

2011-05-15  castaglia <castaglia>

        * contrib/mod_sftp/packet.c: Leaving notes for myself about the use
        of TCP_CORK/TCP_NOPUSH when sending SSH messages.

2011-05-15  castaglia <castaglia>

        * include/inet.h, modules/mod_xfer.c, src/inet.c: Refactor
        pr_inet_set_proto_opts(), breaking out the TCP_CORK/TCP_NOPUSH
        functionality into a new pr_inet_set_proto_cork() function.  This
        was done to test using TCP_CORK/TCP_NOPUSH in mod_sftp.

2011-05-15  castaglia <castaglia>

        * contrib/mod_sftp/packet.c, contrib/mod_sftp/packet.h,
        contrib/mod_sftp/tap.c: Refactor mod_sftp's packet functions a
        little, removing the circular calling between
        sftp_ssh2_packet_write() and sftp_tap_send_packet(). This allows us
        to remove the ugly hack in the TAP code.  Also included the number of bytes written out by writev(2), so that
        we can get a better idea of the sizes of the messages being written
        to the network.  This helps when looking at things like MSS, delayed
        ACKs, Nagle, etc.

2011-05-13  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: Provide better error message for
        SFTPClientMatch values configured to be zero.

2011-05-13  castaglia <castaglia>

        * NEWS, src/main.c: Bug#3653 - Segfault with "DefaultServer off" and
        no matching server for incoming IP address.

2011-05-13  castaglia <castaglia>

        * configure: Updated configure.

2011-05-13  castaglia <castaglia>

        * configure.in: Renaming --enable-symbols configure option, added
        for Bug#3651, to be --disable-strip (which is what OpenSSH uses).

2011-05-13  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Typo.

2011-05-13  castaglia <castaglia>

        * contrib/mod_sftp/keys.c: Fix typo in comment.

2011-05-11  castaglia <castaglia>

        * doc/howto/TLS.html: Added TLS FAQ/example config for requring FTPS
        for remote clients but allowing just FTP for local clients.

2011-05-11  castaglia <castaglia>

        * contrib/mod_wrap.c: Additional fixes for Bug#3652.

2011-05-11  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Add proper dispatching through PRE_CMD
        phase handlers for the FSETSTAT SFTP request, including the path of
        the file being changed (not the filehandle).

2011-05-09  castaglia <castaglia>

        * NEWS, contrib/mod_wrap.c: Bug#3652 - TCPAccessSyslogLevel
        directive broken by Bug#3317.

2011-05-08  castaglia <castaglia>

        * configure: Updated configure.

2011-05-08  castaglia <castaglia>

        * configure.in: Adding --enable-symbols configure option, to
        generate proftpd code which is not stripped of code symbols at
        install time (Bug#3651).

2011-05-08  castaglia <castaglia>

        * contrib/mod_load/Makefile.in, contrib/mod_sftp/Makefile.in,
        contrib/mod_wrap2/Makefile.in: Minor cleanups of paths, removing
        some double-slash occurrences (pointed out in Bug#3651).

2011-05-05  castaglia <castaglia>

        * modules/mod_facts.c: Update mod_facts to use the new defines for
        the MFF and MFMT commands.

2011-05-05  castaglia <castaglia>

        * include/cmd.h, include/ftp.h, src/cmd.c: Include defines ands IDs
        for the MFF and MFMT commands.  Add define (not ID yet) for the HOST
        command.

2011-05-05  castaglia <castaglia>

        * modules/mod_ls.c: Remove now-unused variable declaration.

2011-05-04  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Fix issues with mod_sftp's handling of the
        RMDIR and REMOVE requests with regard to PRE_CMD handlers.

2011-05-03  castaglia <castaglia>

        * modules/mod_core.c: If the system defines the SOMAXCONN limit,
        then make sure that a configured TCPBacklog value does not exceed
        that limit.

2011-05-02  castaglia <castaglia>

        * contrib/mod_quotatab_sql.c, contrib/mod_sql_passwd.c: More
        idiomatic check for DECLINED/null results.

2011-05-01  jwm <jwm>

        * Makefile.in: - execute the clean target in tests/, too - remove some Makefiles on distclean that were sneaking their way
          into release tarballs

2011-05-01  castaglia <castaglia>

        * contrib/mod_ban.c, contrib/mod_deflate.c,
        contrib/mod_quotatab_sql.c, contrib/mod_rewrite.c,
        contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
        contrib/mod_sftp/cipher.c, contrib/mod_sftp/kex.c,
        contrib/mod_sftp/packet.c, contrib/mod_sftp/rfc4716.c,
        contrib/mod_sftp/scp.c, contrib/mod_sftp/utf8.c, contrib/mod_sql.c,
        contrib/mod_sql_passwd.c, contrib/mod_tls.c, lib/pr-syslog.c,
        modules/mod_auth.c, modules/mod_core.c, modules/mod_facts.c,
        modules/mod_ls.c, modules/mod_xfer.c, src/auth.c, src/ctrls.c,
        src/encode.c, src/help.c, src/inet.c, src/main.c, src/netaddr.c,
        src/scoreboard.c, src/stash.c, src/table.c, utils/ftpcount.c,
        utils/ftptop.c, utils/ftpwho.c: Fix up various small issues found by
        Apple's clang static source code analysis tool.

2011-04-30  castaglia <castaglia>

        * lib/tpl.c: Fixing nits in libtpl found by Apple's clang static
        source code analysis tool.

2011-04-30  castaglia <castaglia>

        * modules/mod_delay.c: Fix nit found by Apple's clang static source
        code analysis tool.

2011-04-30  castaglia <castaglia>

        * src/pool.c: Adding comment describing why the logic in
        null_alloc() is as intended, for future reference.

2011-04-30  castaglia <castaglia>

        * modules/mod_facts.c: Fix up minor nits pointed out by Apple'c
        clang static code analysis tool.

2011-04-29  castaglia <castaglia>

        * modules/mod_auth.c: Paranoidly guard against possible NULL pointer
        dereference (found by Klocwork static source code analysis).

2011-04-29  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#3649 - MaxStoreFileSize can be
        bypassed using REST/APPE.

2011-04-29  castaglia <castaglia>

        * modules/mod_log.c: Code/style clarity.

2011-04-29  castaglia <castaglia>

        * modules/mod_facts.c: Typo.

2011-04-29  castaglia <castaglia>

        * src/fsio.c: Fix issue highlighted by Klocwork's static source code
        analysis.

2011-04-29  castaglia <castaglia>

        * modules/mod_ls.c: Fix issue highlighted by Klocwork's static
        source code analysis.

2011-04-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm: Adding
        regression test for Bug#3649.

2011-04-26  castaglia <castaglia>

        * doc/modules/mod_xfer.html: Filling in the descriptions for
        MaxRetrieveFileSize and MaxStoreFileSize in the mod_xfer HTML docs.

2011-04-22  castaglia <castaglia>

        * doc/howto/TLS.html: Adding a TLS FAQ about long-lived FTPS
        sessions, the NoSessionReuseRequired TLSOption, and SSL session
        caching timeouts (cf. Bug#3580).

2011-04-22  castaglia <castaglia>

        * doc/contrib/mod_tls.html, doc/howto/TLS.html: A few minor
        improvements to the mod_tls docs.

2011-04-22  castaglia <castaglia>

        * include/log.h, modules/mod_log.c, src/ftpdctl.c, src/log.c,
        src/main.c, src/trace.c, src/xferlog.c: Add a new API for generating
        events whenever messages are logged.  These events cover
        TransferLog, SystemLog, syslog, TraceLog, and per-module logging.  Listeners for these events can be registered by modules which want
        to send the log messages remotely, process/digest/aggregrate them,
        etc.  (And yes, I do already have a mod_log_forensic module which
        uses these events, which I may decide is worth bundling with
        proftpd.)

2011-04-21  castaglia <castaglia>

        * NEWS, src/main.c: Bug#3644 - Disable signal handling for exiting
        session processes.

2011-04-21  castaglia <castaglia>

        * doc/howto/Tracing.html: Fix broken URL.

2011-04-20  castaglia <castaglia>

        * contrib/mod_exec.c, doc/contrib/mod_exec.html: Disable the
        sendStdout ExecOption completely for SSH2 sessions, if possible.  Update the docs for sendStdout to mention that this option, for SSH2
        sessions, is a bad idea.

2011-04-20  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: Move the setting of the session
        protocol to 'SSH2' to be earlier in the cycle, i.e. during
        mod_sftp's sess init callback.  This should help clear up the "SSH2
        session opened" messages (which are currently logged as "FTP session
        opened" but "SSH2 session closed").

2011-04-20  castaglia <castaglia>

        * contrib/mod_exec.c: If we detect that mod_exec's ExecOnConnect
        scripts are being used in an SSH2 session, disable the sendStdout
        ExecOption -- it will only cause connection problems for those
        clients.

2011-04-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/exec.pm,
        tests/t/modules/mod_sftp/exec.t, tests/tests.pl: Adding unit tests
        for mod_exec/mod_sftp interoperability.

2011-04-19  castaglia <castaglia>

        * modules/mod_auth_pam.c: Typo.

2011-04-19  castaglia <castaglia>

        * doc/contrib/mod_sql_odbc.html: Improved the mod_sql_odbc docs a
        little.

2011-04-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_odbc.pm,
        tests/t/modules/mod_sql_odbc.t, tests/tests.pl: Add unit tests for
        mod_sql_odbc.

2011-04-19  castaglia <castaglia>

        * contrib/mod_sql_odbc.c: Fix some issues found in mod_sql_odbc
        while working on some regression tests for it.

2011-04-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Unless explicitly set, use
        a TimeoutLinger value of 1 in the testsuite.

2011-04-15  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3645 -
        Ensure that SQLNamedConnectInfos with PERSESSION connection policies
        are opened before chroot.

2011-04-15  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        tests for mod_sftp's handling of SYMLINK requests when the
        destination already exists, and when the source does not exist.

2011-04-15  castaglia <castaglia>

        * contrib/mod_sftp/auth.c: Use a dynamically allocated string for
        the fake PASS cmd_rec dispatched for SSH2 authentication, rather
        than a read-only stack string; the latter causes problems when
        mod_auth goes to scrub that password buffer.

2011-04-15  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Another conversion from strchr(3) to
        memchr(3).

2011-04-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Tweaks to the
        mod_sftp testsuite, making sure that all of the current tests pass.

2011-04-14  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: Add trace logging of when we invoke a
        channel's finish handler.

2011-04-14  castaglia <castaglia>

        * include/cmd.h, src/cmd.c, src/main.c: Another minor performance
        optimization: use memchr(3) instead of strchr(3) where we can,
        especially on hot paths, to save on a strlen(3) call inside of the C
        library.

2011-04-14  castaglia <castaglia>

        * contrib/mod_sftp/kex.c: Another performance/optimization tweak:
        use memchr(3) instead of strchr(3), and save on a strlen(3) in the C
        library.

2011-04-14  castaglia <castaglia>

        * src/scoreboard.c: Watch for, and log, any short writes when
        updating a scoreboard entry.

2011-04-14  castaglia <castaglia>

        * contrib/mod_exec.c: Fixed compiler issue in previous change; need
        to provide all the proper arguments to a printf() style function.

2011-04-14  castaglia <castaglia>

        * contrib/mod_exec.c: Adding a little more logging of the value
        returned from mod_exec's exec_ssystem() function.  This helps
        diagnose whether the value returned came from the command that was
        executed, and whether a coredump file was created by that command.

2011-04-14  castaglia <castaglia>

        * contrib/mod_rewrite.c: Slightly better logging of mod_rewrite's
        file test operators and the path against which they are being
        evaluated.

2011-04-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Adding
        another reproduction recipe for Bug#3643 to the testsuite.

2011-04-14  castaglia <castaglia>

        * doc/modules/mod_core.html: Add docs for the TimeoutLinger
        directive.

2011-04-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Adding
        regression test for Bug#3643.

2011-04-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Update the
        mod_sql/mod_sql_sqlite unit tests so that they run properly if run
        with root privs.

2011-04-13  castaglia <castaglia>

        * configure: Updated configure.

2011-04-13  castaglia <castaglia>

        * configure.in: Be more defensive about the --with-X configure
        options, and make sure that the provided values (if any) are
        suitable for use.

2011-04-12  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#3642 - Segfault seen in mod_sql_mysql
        if "SQLAuthenticate groupsetfast" used.

2011-04-12  castaglia <castaglia>

        * contrib/mod_sql_mysql.c: Typo.

2011-04-12  castaglia <castaglia>

        * contrib/mod_sql.c, modules/mod_log.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Logging of the
        %{uid} and %{gid} variables (added in Bug#3390) was using
        session.{uid,gid} rather than the more proper
        session.login_{uid,gid} members.  The difference is between the
        UID/GID of the authenticated user versus the UID/GID of the
        User/Group config directives.

2011-04-09  castaglia <castaglia>

        * NEWS, contrib/mod_copy.c, contrib/mod_quotatab.c: Bug#3641 - SITE
        CPFR/CPTO does not update quota tally.

2011-04-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab/copy.pm,
        tests/t/modules/mod_quotatab/copy.t, tests/tests.pl: Added
        regression tests for mod_copy/mod_quotatab, for Bug#3641.

2011-04-07  castaglia <castaglia>

        * modules/mod_auth.c: Scrub the memory holding the password received
        from the client when done processing the PASS command.

2011-04-07  castaglia <castaglia>

        * include/proftpd.h, src/main.c: Add a new session.curr_cmd_id,
        which holds the command ID for the current command (found in
        session.curr_cmd), for faster identification of the command.

2011-04-06  castaglia <castaglia>

        * doc/howto/Chroot.html: Adding more chroot-related FAQs to the
        Chroot howto.

2011-04-06  castaglia <castaglia>

        * tests/t/config/defaultroot.t,
        tests/t/lib/ProFTPD/Tests/Config/DefaultRoot.pm, tests/tests.pl: 
        Adding regression tests for various DefaultRoot configurations
        involving symlinks.

2011-04-06  castaglia <castaglia>

        * doc/modules/mod_dso.html: Typo.

2011-04-06  castaglia <castaglia>

        * doc/modules/mod_auth.html: Add docs for the UserPassword
        directive, including examples.

2011-04-06  castaglia <castaglia>

        * NEWS, src/netio.c: Bug#3639 - Avoid spinning proftpd process if
        read(2) returns EAGAIN.

2011-04-06  castaglia <castaglia>

        * RELEASE_NOTES: Forgot to mention the new ProcessTitles directive
        in the release notes for 1.3.4rc2.

2011-04-06  castaglia <castaglia>

        * doc/modules/mod_ctrls.html: Fix typos in mod_ctrls docs.

2011-04-05  castaglia <castaglia>

        * doc/howto/Compiling.html, doc/modules/mod_memcache.html: Mention
        the minimum libmemcached library version requirement in the
        mod_memcache docs, and the minimum pcre library versoin requirement
        in the Compiling howto.

2011-04-05  castaglia <castaglia>

        * NEWS, include/regexp.h, src/memcache.c: Bug#3637 - Enforce pcre
        and libmemcached version requirements.

2011-04-04  castaglia <castaglia>

        * tests/api/stubs.c: Fix API testsuite compilation when
        --enable-pcre configure option is used.

2011-04-01  castaglia <castaglia>

        * include/version.h: Setting version back to CVS status, with
        increased version number for next release.

2011-04-01  castaglia <castaglia>

        * ChangeLog: Updated ChangeLog.

2011-04-01  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Getting
        ready to release 1.3.4rc2.

2011-04-01  castaglia <castaglia>

        * locale/proftpd.pot: Updated the template of strings to be
        translated.

2011-04-01  castaglia <castaglia>

        * modules/mod_core.c: Fix the NLS support for a FEAT string in
        mod_core, so that generating the proftpd.pot file doesn't cause
        complaints about a string containing the '\r' character.

2011-04-01  castaglia <castaglia>

        * locale/files.txt: Updating list of localisable files.

2011-03-31  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/keys.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3634 - Incorrect
        generation of DSA signature for SSH sessions.

2011-03-30  castaglia <castaglia>

        * doc/howto/ConfigurationTricks.html: Add mention of proftpd's
        support for simple directory hashing using the %u variable to the
        ConfigurationTricks howto.

2011-03-30  castaglia <castaglia>

        * doc/modules/mod_core.html: Adding more references about
        kernel-level tuning for TCP backlogs and SYN cookies and such to the
        TCPBacklog directive docs.

2011-03-30  castaglia <castaglia>

        * doc/modules/mod_core.html: Add docs for the TCPBacklog directive.

2011-03-30  castaglia <castaglia>

        * src/table.c: Remove an unnecessary (and unused) pointer increment
        in the Table API's default hashing.  Make the table dump messages a
        little better by including the calculated hash value for each entry
        in the message.

2011-03-30  castaglia <castaglia>

        * modules/mod_core.c, tests/t/lib/ProFTPD/Tests/Config/Trace.pm: The
        Trace directive can be set on a per-session basis using the
        "session" parameter.  The addition of log level ranges (Bug#3617)
        was not handled properly for such per-session Trace settings.

2011-03-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm: Add regression
        tests demonstrating that "demuxing" based on the username variable
        %u still works as advertised.  Still need some negative test cases
        for this feature, though.

2011-03-29  castaglia <castaglia>

        * RELEASE_NOTES: Mention a few more addressed issues in the release
        notes.

2011-03-29  castaglia <castaglia>

        * RELEASE_NOTES: Finishing up the release notes for 1.3.4rc2.

2011-03-29  castaglia <castaglia>

        * doc/modules/mod_log.html: Mention the new EXIT ExtendedLog
        "command class" in the mod_log docs.

2011-03-29  castaglia <castaglia>

        * doc/modules/mod_core.html: Adding docs for the PathAllowFilter and
        PathDenyFilter directives.

2011-03-29  castaglia <castaglia>

        * doc/modules/mod_core.html: Add docs for the TransferLog directive.

2011-03-29  castaglia <castaglia>

        * doc/modules/mod_log.html: Minor doc tweaks.

2011-03-28  castaglia <castaglia>

        * doc/howto/Compiling.html: Mention the new --enable-memcache and
        --enable-pcre configure options in the Compiling howto.

2011-03-28  castaglia <castaglia>

        * doc/modules/mod_memcache.html: Updating mod_memcache docs a little
        more.

2011-03-28  castaglia <castaglia>

        * src/scoreboard.c: If "ScoreboardFile /dev/null" is configured,
        don't try to delete the /dev/null device.  Some platforms will
        actually let you do this.

2011-03-26  castaglia <castaglia>

        * include/session.h: Include an end-of-session code for snprintf(3)
        buffer truncation.  I'll soon be adding code which uses this
        end-of-session code.

2011-03-26  castaglia <castaglia>

        * NEWS, contrib/mod_exec.c, contrib/mod_ifsession.c,
        contrib/mod_sql.c, include/dirtree.h, modules/mod_cap.c,
        modules/mod_core.c: Bug#3610 - Proftpd is eating CPU when reparsing
        configuration file on SIGHUP.  The mod_sql module was marking most of its config_recs with the
        CF_MERGEDOWN flag -- but it only ever looked up those config_recs
        from the server->conf list, and never from the per-directory list.
        This meant that those mod_sql config_recs would be merged down
        needlessly.  In configurations with many <Directory> sections (e.g.
        into the hundreds), the merging process would take hundreds of
        seconds, if not longer, during startup/restart.  I've removed those unneeded CF_MERGEDOWN flags.  And in places where
        CF_MERGEDOWN_MULTI was used solely to prevent mod_ifsession from
        removing a config_rec, I've added a new CF_MULTI flag, for such
        needs (without the merging down semantics).

2011-03-26  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Remove commented-out
        config.

2011-03-26  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Refining the regression
        test for Bug#3610.

2011-03-26  castaglia <castaglia>

        * src/main.c: Add trace logging of the entire time it takes to
        handle a SIGHUP/restart.

2011-03-25  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: The regression test for
        Bug#3610 requires a proftpd with the mod_sql module.

2011-03-25  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Adding reproduction
        recipe/regression test for Bug#3610.

2011-03-25  castaglia <castaglia>

        * src/dirtree.c: Provide more legible trace logging of the
        config_type value for a config_rec.

2011-03-25  castaglia <castaglia>

        * src/trace.c: Fix compiler warning.

2011-03-25  castaglia <castaglia>

        * doc/contrib/mod_sftp.html, doc/howto/TLS.html: Adding FAQs about
        the OpenSSL header/library version mismatch warning to both the
        mod_tls and the mod_sftp docs.

2011-03-25  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c, src/main.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3633 -
        Using SQLOption noDisconnectOnError can cause ExtendedLog logging to
        silently fail.

2011-03-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Regression test to
        make sure that mod_sftp fails an RMDIR SFTP request if the directory
        in question is not empty.

2011-03-24  castaglia <castaglia>

        * doc/modules/mod_core.html: Adding docs for the new TraceOptions
        directive.

2011-03-24  castaglia <castaglia>

        * tests/t/config/traceoptions.t,
        tests/t/lib/ProFTPD/Tests/Config/TraceOptions.pm, tests/tests.pl: 
        Adding regression tests for the TraceOptions directive (Bug#3631).

2011-03-24  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, include/trace.h, modules/mod_core.c,
        src/trace.c: Bug#3631 - Support TraceOptions directive, for altering
        TraceLog format slightly.

2011-03-24  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#3632 - mod_sql should log
        "unrecoverable database error" at a higher priority.

2011-03-24  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: Try to make sure that we only send
        SSH2 DISCONNECT messages, as when mod_ban rejects a client, only to
        SSH2 clients and not to any other (e.g. FTP) clients.

2011-03-24  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: Now mod_sftp has separate event
        listeners for the 'core.exit' event (for session processes) and the
        'core.shutdown' event (for daemon shutdown), rather than overloading
        the same event listener for both use cases.

2011-03-24  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/mod_sftp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3630 - SSH
        DISCONNECT messages sent by mod_sftp even for FTP connections in
        some cases.

2011-03-24  castaglia <castaglia>

        * contrib/mod_rewrite.c: Update mod_rewrite to use pr_cmd_strcmp()
        where appropriate.

2011-03-23  castaglia <castaglia>

        * doc/modules/mod_log.html: Document how the ExtendedLog directive
        can be used to log the data to syslog rather than to a file.

2011-03-23  castaglia <castaglia>

        * src/inet.c: Merging more fixes from the FreeBSD ports tree, which
        were neglected to be reported upstream.  Sigh.

2011-03-23  castaglia <castaglia>

        * NEWS, src/throttle.c: Bug#3628 - Unnecessarily verbose "warning:
        unable to throttle bandwidth: Interrupted system call".

2011-03-22  castaglia <castaglia>

        * configure: Updated configure.

2011-03-22  castaglia <castaglia>

        * configure.in: Use the AC_TRY_LINK, and explicitly provide the test
        code to compile, for detecting the backtrace(3) and
        backtrace_symbols(3) functions, on platforms where the
        compiler/library combinations are too stupid to be able to do it
        themselves (e.g. Solaris 10 and gcc).

2011-03-22  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3627 - %w
        variable populated with non-absolute path in SQLLog statement.

2011-03-22  castaglia <castaglia>

        * contrib/mod_ban.c, contrib/mod_shaper.c,
        contrib/mod_tls_shmcache.c, modules/mod_ctrls.c,
        modules/mod_delay.c: Updating more modules to use the
        'core.shutdown' event for their shutdown listeners.

2011-03-22  castaglia <castaglia>

        * contrib/mod_tls.c: Update mod_tls so that it uses the new
        'core.shutdown' event for its daemon shutdown handling, rather than
        the old overloaded 'core.exit' event.

2011-03-22  castaglia <castaglia>

        * tests/t/etc/modules/mod_tls/NOTES,
        tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression test
        for the TLSPassPhraseProvider directive.  And updating the notes on
        how to generate the passphrase-protected server cert used in the
        test.

2011-03-22  castaglia <castaglia>

        * tests/t/etc/modules/mod_tls/server-cert-passwd.pem,
        tests/t/etc/modules/mod_tls/tls-get-passphrase.pl: Adding a test
        passphrase-protected server cert, and a passphrase-provider script,
        for testing the mod_tls TLSPassPhraseProvider directive.

2011-03-22  castaglia <castaglia>

        * contrib/mod_tls.c: Start using trace logging for some of the
        mod_tls actions, especially those during server startup.

2011-03-22  castaglia <castaglia>

        * contrib/mod_tls.c: Additional fix for Bug#3624.

2011-03-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm: Adding another
        regression test for CreateHome, making sure it parses all of the
        multiple options at the same time.

2011-03-22  castaglia <castaglia>

        * contrib/mod_ifsession.c: Changing a few cases of strcmp(3) on
        fixed-length strings to use strncmp(3).  Adding debug logging of the
        regular expressions that mod_ifsession might be evaluating.

2011-03-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Regression
        test for Bug#3625.

2011-03-21  castaglia <castaglia>

        * configure: Updated configure.

2011-03-21  castaglia <castaglia>

        * configure.in: Check for headers that platforms often want for
        their backtrace(2) functions, before checking for the backtrace(2)
        function itself.

2011-03-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        test for the %f LogFormat variable and the SFTP REMOVE request.

2011-03-21  castaglia <castaglia>

        * NEWS, src/scoreboard.c: Bug#3623 - Truncated client name saved in
        ScoreboardFile.

2011-03-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add test
        showing how <IfUser> can be used with SQLLog EXIT to only log EXIT
        statements for authenticated clients.

2011-03-21  castaglia <castaglia>

        * NEWS, contrib/mod_ifsession.c: Bug#3625 - mod_ifsession rules
        using regular expressions do not work.

2011-03-21  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3624 - Plaintext command injection in
        FTPS support.

2011-03-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm: Adding regression
        tests for Bug#3622.

2011-03-21  castaglia <castaglia>

        * NEWS, modules/mod_delay.c: Bug#3622 - mod_delay sometimes logs
        "unable to load DelayTable into memory".

2011-03-21  castaglia <castaglia>

        * src/session.c: Don't try to stash session disconnect notes in the
        session.notes table if that table does not exit.

2011-03-21  castaglia <castaglia>

        * src/main.c: If the session exits because of a signal, use
        pr_session_disconnect() to set this end-of-session code.

2011-03-21  castaglia <castaglia>

        * modules/mod_delay.c: If we fail to load the DelayTable into memory
        via mmap(2) AND we locked the DelayTable before this, be sure to
        release that lock.

2011-03-21  castaglia <castaglia>

        * utils/scoreboard.c: Adding explicit off_t typecasts in the utility
        code for reading the scoreboard.

2011-03-21  castaglia <castaglia>

        * src/scoreboard.c: Add explicit typecasts to off_t for some of the
        lseek(2) calls in the scoreboard code, to ensure that compilers on
        64-bit machines Do The Right Thing(tm).

2011-03-21  castaglia <castaglia>

        * modules/mod_delay.c: Don't penalize clients by taking the
        row-locking time into account as part of the USER/PASS command
        times; lock the DelayTable row after getting the duration for those
        commands, not before.

2011-03-21  castaglia <castaglia>

        * contrib/mod_quotatab_file.c: Some compilers don't use the correct
        argument size (e.g. on 64-bit platforms); add an explicit typecast
        to off_t where needed.

2011-03-21  castaglia <castaglia>

        * contrib/mod_quotatab.c: Reset errno after delaying after a failed
        lock poll.

2011-03-21  castaglia <castaglia>

        * src/scoreboard.c: Add more trace logging of the scoreboard
        scrubbing process.  Fix the releasing of the lock on the
        ScoreboardMutex fd after scrubbing such that it uses SETLKW, rather
        than SETLK.  Reset errno after the delay due to being unable to
        obtain a lock on the ScoreboardMutex.

2011-03-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm,
        tests/t/modules/mod_delay.t, tests/tests.pl: Start collecting
        regression tests for the mod_delay module.

2011-03-20  castaglia <castaglia>

        * modules/mod_delay.c: Make all uses of pr_trace_msg() in mod_delay
        use the trace_channel variable; saves a few bytes of space.

2011-03-20  castaglia <castaglia>

        * modules/mod_delay.c: Include the DelayTable fd in the error
        messages, and fix a case where the wrong errno value was being used.

2011-03-20  castaglia <castaglia>

        * modules/mod_delay.c: Re-register any 'delay' ftpdctl actions upon
        restart.

2011-03-20  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Adding documentation for the new
        SQLNamedConnectInfo directive.

2011-03-20  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3621 -
        mod_quotatab increments tallies for aborted uploads if
        DeleteAbortedStores is on.

2011-03-20  castaglia <castaglia>

        * src/auth.c: Generate a new event, 'core.chroot', just before a
        chroot(2) occurs.  Many modules want to know when a chroot is about
        to occur.

2011-03-20  castaglia <castaglia>

        * src/cmd.c: Make the Command API a little more bullet-proof by
        trying catch some invalid arguments of various sorts.

2011-03-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm: Add
        another unit tests for the DeleteAbortedStores directive, this time
        explicitly sending the ABOR command (without the OOB bit on the TCP
        connection).

2011-03-20  castaglia <castaglia>

        * tests/Makefile.in, tests/api/cmd.c, tests/api/stubs.c,
        tests/api/tests.c, tests/api/tests.h: Adding API tests for the
        Command API, including the newly added pr_cmd_get_id(),
        pr_cmd_cmp(), and pr_cmd_strcmp() functions.

2011-03-19  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c,
        tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm: Bug#3574 - Better
        handling of ALLO command.

2011-03-19  castaglia <castaglia>

        * modules/mod_auth_unix.c: Slightly less expensive gathering of
        groups by using strncmp() using the length of the user name
        calculated only once, rather than once per group member.

2011-03-19  castaglia <castaglia>

        * src/cmd.c: More defensive programming: if the cmd ID of a given
        cmd_rec is unknown, try to look it up.  If it is known to be
        unknown, just return.

2011-03-19  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Update mod_sftp to use pr_cmd_cmp() where
        possible.  And fix a segfault when handling RMDIR (appeared on my
        Mac OSX box due to different libc implementation).

2011-03-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix the mod_sftp
        testsuite so that it issues proper CHANNEL_CLOSE messages for the
        closing of the SFTP channel.

2011-03-19  castaglia <castaglia>

        * contrib/mod_rewrite.c: Update the proftpd version required by
        mod_rewrite.

2011-03-19  castaglia <castaglia>

        * contrib/mod_exec.c: Updating mod_exec to use the new pr_cmd_cmp()
        API.

2011-03-19  castaglia <castaglia>

        * src/dirtree.c: When dir_check()/dir_check_full() are called, make
        sure the given cmd_rec has a cmd_id.  Some modules (e.g. mod_sftp)
        may pass in a cmd_rec which hasn't yet had it's cmd_id looked up.

2011-03-19  castaglia <castaglia>

        * src/data.c: Use pr_cmd_cmp() when handling any commands read from
        the control channel during a data transfer as well.

2011-03-19  castaglia <castaglia>

        * contrib/mod_rewrite.c: Update mod_rewrite to use pr_cmd_cmp()
        where possible.

2011-03-19  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#3262 - Allow SQL
        logging to separate database/server.

2011-03-19  castaglia <castaglia>

        * contrib/mod_sql.c, contrib/mod_tls.c, include/cmd.h,
        include/dirtree.h, modules/mod_auth.c, modules/mod_log.c,
        src/cmd.c, src/dirtree.c, src/main.c: Added new Command API
        functions:   pr_cmd_get_id()   pr_cmd_cmp() These functions are used to assign an ID to a cmd_rec, identifying
        the FTP command of that cmd_rec.  Code which wants to check which
        FTP command a cmd_rec is can then use pr_cmd_cmp() and compare using
        a numeric ID, rather than calling strcmp(3) repeatedly on the same
        cmd_rec throughout the code.  This is done with an eye toward reducing wasteful/unnecessary
        strcmp(3) calls throughout the proftpd code base.

2011-03-19  castaglia <castaglia>

        * src/table.c: Minor improvement: compare the first key character
        before calling strncmp(3).

2011-03-19  castaglia <castaglia>

        * src/log.c, src/trace.c: Trying to reduce the number of times that
        we call strlen(3) while logging.

2011-03-19  castaglia <castaglia>

        * src/event.c: Fix issue with Bug#3619 fix (hooray for
        unit/regression tests, which caught this issue).

2011-03-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fix broken
        ExtendedLog test due to typo.

2011-03-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix a few minor
        issues in the mod_sftp testsuite.

2011-03-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding more
        regression tests for various LogFormat variables in various flows.

2011-03-19  castaglia <castaglia>

        * contrib/mod_sftp/channel.h: Quell the following compiler warning
        (seen on Mac OSX, gcc-4.0.1):   warning: this decimal constant is unsigned only in ISO C90 when compilign mod_sftp by explicitly marking constants stored in a
        uint32_t with a "UL" suffix.

2011-03-18  castaglia <castaglia>

        * modules/mod_ctrls.c, src/ctrls.c: Make the Controls logging
        messages less pernicious, removing some and moving others from
        NOTICE to just plain DEBUG.

2011-03-18  castaglia <castaglia>

        * src/table.c: Avoid an unnecessary strncmp(3) if the key lengths
        aren't the same.

2011-03-18  castaglia <castaglia>

        * src/stash.c: Fix the mess of symbol lookups which I committed last
        night.  Much more legible now -- and it works properly, too.

2011-03-17  castaglia <castaglia>

        * contrib/mod_sftp/auth-hostbased.c,
        contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
        contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
        contrib/mod_sftp/channel.c, contrib/mod_sftp/compress.c,
        contrib/mod_sftp/crypto.c, contrib/mod_sftp/fxp.c,
        contrib/mod_sftp/kex.c, contrib/mod_sftp/keys.c,
        contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/scp.c,
        contrib/mod_sftp/service.c, contrib/mod_sftp/tap.c: Using strncmp(3)
        instead of strcmp(3) when fixed-length strings are used.

2011-03-17  castaglia <castaglia>

        * modules/mod_auth.c: Wrong length argument for strncmp() here.

2011-03-17  castaglia <castaglia>

        * contrib/mod_sftp/auth.c, contrib/mod_sftp/crypto.c,
        contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_sftp/tap.c, contrib/mod_sftp/utf8.c: Converting
        strcasecmp(3) on fixed-length strings to strncasecmp(3) in mod_sftp.

2011-03-17  castaglia <castaglia>

        * src/dirtree.c, src/encode.c, src/log.c, src/netacl.c,
        src/netaddr.c, src/str.c: Converting from strcasecmp(3) to
        strncasecmp(3) where fixed-length strings are being used.

2011-03-17  castaglia <castaglia>

        * modules/mod_auth.c: More strcmp(3) -> strncmp(3) conversions where
        fixed-length strings are used.

2011-03-17  castaglia <castaglia>

        * modules/mod_xfer.c: More strcmp(3) -> strncmp(3) conversions where
        fixed-length strings are used.

2011-03-17  castaglia <castaglia>

        * modules/mod_core.c: More strcmp() -> strncmp() conversions where
        fixed-length strings are used.

2011-03-17  castaglia <castaglia>

        * modules/mod_facts.c, modules/mod_lang.c: Finding more instances of
        strcmp(3) on fixed-length strings and changing them to use
        strncmp(3).

2011-03-17  castaglia <castaglia>

        * modules/mod_ctrls.c: Starting work on converting modules which use
        strcmp(3) on fixed-length strings to using strncmp(3) instead.

2011-03-17  castaglia <castaglia>

        * src/ctrls.c: Missed some spots in ctrls.c where strcmp(3) was
        being called on fixed-length strings.

2011-03-17  castaglia <castaglia>

        * src/ctrls.c, src/main.c: Changing more instances of strcmp(3) on
        fixed strings to use strncmp(3) instead.

2011-03-17  castaglia <castaglia>

        * src/dirtree.c, src/parser.c: Continuing on my quest to reduce the
        number of strcmp(3) usages in the code where possible, especially on
        fixed strings.  Using strncmp(3) makes more sense there; saves on an
        unnecessary strlen(3) call.

2011-03-17  castaglia <castaglia>

        * src/auth.c, src/dirtree.c, src/encode.c: Here's a few more minor
        places where we can use strncmp(3) instead of strcmp(3).

2011-03-17  castaglia <castaglia>

        * src/dirtree.c, src/fsio.c, src/mkhome.c, src/throttle.c: Convert a
        few more places from using strcmp(3) to strncmp(3).

2011-03-17  castaglia <castaglia>

        * src/filter.c, src/session.c, src/stash.c, src/xferlog.c: When
        replacing strcmp(3) with strncmp(3), be sure to include the
        terminating NUL in the length argument for strncmp(3).  Otherwise we
        could get spurious matches, e.g. strncmp("food", "foo", 3) == 0 vs
        strncmp("food", "foo", 4) == -1.

2011-03-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Updating the
        TransferLog regression tests to log to `tests.log', like most of the
        other testcases.

2011-03-17  castaglia <castaglia>

        * src/filter.c: Convert unnecessary strcmp(3) on fixed strings to
        strncmp(3).

2011-03-17  castaglia <castaglia>

        * src/stash.c: Eliminate one more strcmp(3) during symbol lookups.

2011-03-17  castaglia <castaglia>

        * src/session.c, src/xferlog.c: Convert a few more places from
        strcmp(3) to strncmp(3), since we are comparing against fixed
        strings of known lengths.

2011-03-17  castaglia <castaglia>

        * src/table.c: Fix another place where strncmp(3) should be used
        rather than strcmp(3); the former function is slightly more
        efficient, since the C library doesn't need to call strlen(3) on the
        arguments itself.

2011-03-17  castaglia <castaglia>

        * src/stash.c: Make sure we handle the case of zero-length symbol
        names properly, too.  Just to be sure.

2011-03-17  castaglia <castaglia>

        * src/stash.c: Since we've just added checking of the first two
        characters for the symbol names being compared, there's no need to
        check them against by passing in the full symbol names to
        strncasecmp(3).  Instead, make sure that we compare only the
        remaining bytes in the symbol names, and adjust the looked-up symbol
        name length accordingly.

2011-03-17  castaglia <castaglia>

        * src/stash.c: Finally implement something I've been meaning to do
        for years: reduce the number of strcasecmp(3) calls during symbol
        lookup.  First improvement was to use strncasecmp(3) instead of
        strcasecmp(3), and thus to calculate the length of the symbol name
        being looked up only once, rather than per-symbol comparison.  Second improvement was to first compare the first two characters of
        the symbol being looked up against the current symbol, and only then
        call strncasecmp(3) if the first two characters match in a
        case-insensitive manner.  We can avoid a lot of unnecessary string
        comparisons by just looking at the first two characters.  Time will tell just how much of a performance improvement this is.
        But it affects configuration parsing time, command dispatching time,
        authentication time, etc etc.  And fewer string comparisons
        definitely saves on CPU, even if only by small amounts (compared to
        disk or network IO, or encryption).

2011-03-17  castaglia <castaglia>

        * doc/modules/mod_log.html: Add docs for the new %H LogFormat
        variable.

2011-03-17  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sql.c, modules/mod_log.c,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3620 Need
        LogFormat variable for IP address of server handling session.

2011-03-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
        regression test for Bug#3262 a bit early, but I didn't want this
        test code to be lost inadvertently from the development machine.

2011-03-17  castaglia <castaglia>

        * RELEASE_NOTES: More added docs.

2011-03-17  castaglia <castaglia>

        * doc/utils/ftpdctl.html: Add HTML version of the ftpdctl man page.

2011-03-17  castaglia <castaglia>

        * doc/utils/ftpscrub.html, doc/utils/ftptop.html: Adding HTML
        versions of the man pages for ftpscrub and ftptop.

2011-03-17  castaglia <castaglia>

        * Makefile.in, utils/ftpasswd.1, utils/ftpquota.1: Adding/installing
        man pages for the ftpasswd and ftpquota utilities.

2011-03-17  castaglia <castaglia>

        * utils/ftpmail.1: Typos, formatting fixes.

2011-03-16  castaglia <castaglia>

        * Makefile.in, utils/ftpmail.1: Adding/installing a man page for
        ftpmail.  I know that Debian requires man pages for all of the
        install programs/utilities.

2011-03-16  castaglia <castaglia>

        * doc/utils/ftpmail.html, doc/utils/index.html: Adding ftpmail docs
        in utils/ area.

2011-03-16  castaglia <castaglia>

        * contrib/mod_sftp/disconnect.c, contrib/mod_sftp/packet.c,
        contrib/mod_sftp/tap.c: When disconnecting, explicitly set a short
        poll timeout of 5 secs, to make sure that we don't wait for the
        TimeoutIdle timeout (which might be configured quite high for some
        sites) and thus tying up a process which is going away
        unnecessarily.

2011-03-16  castaglia <castaglia>

        * src/session.c: Ignore EEXIST errors when stashing the disconnect
        details.

2011-03-16  castaglia <castaglia>

        * contrib/mod_sftp/packet.c: Adding more trace logging of SSH2
        packet IO.

2011-03-16  castaglia <castaglia>

        * contrib/mod_sql.c: Ignore EEXIST errors about stashing values in
        the session.notes table.

2011-03-16  castaglia <castaglia>

        * contrib/Makefile.in: Make sure we set the normal
        ownership/permissions on the installed Perl scripts.

2011-03-16  castaglia <castaglia>

        * contrib/Makefile.in: Stop trying to strip symbols from Perl
        scripts.

2011-03-16  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Mention mod_sql_passwd in the
        SQLAuthTypes docs.

2011-03-16  castaglia <castaglia>

        * doc/howto/SQL.html: Update the SQL howto to mention the
        mod_sql_passwd module.

2011-03-16  castaglia <castaglia>

        * doc/howto/Tracing.html, doc/modules/mod_core.html: Adding
        directive docs for the Trace, TraceLog directives to the mod_core
        docs.  Updating the list of default trace channels in the Tracing
        howto.

2011-03-16  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_ctrls_admin.c, include/trace.h,
        modules/mod_core.c, src/trace.c,
        tests/t/lib/ProFTPD/Tests/Config/Trace.pm: Bug#3617 - Enhance the
        Trace directive to support range of channel log levels.

2011-03-16  jwm <jwm>

        * configure: rebuild from configure.in

2011-03-16  jwm <jwm>

        * configure.in: fix support for libraries lines like '/* $Libraries:
        -lcurl$ */' - previously, this would leave the trailing '*/' in LIBS, which
          would expand to all directories in $PWD, breaking the build.  - neuter some cat(1)s while we're in there.

2011-03-16  castaglia <castaglia>

        * configure: Updating configure.

2011-03-16  castaglia <castaglia>

        * NEWS: Fix typo.

2011-03-15  castaglia <castaglia>

        * NEWS, src/scoreboard.c: Bug#3618 - ScoreboardFile locking should
        be more resilient.

2011-03-15  castaglia <castaglia>

        * NEWS, src/event.c: Bug#3619 - Exiting sessions don't seem to die
        properly.  Make sure that an event, generated by an event listener, does not
        get sent back to that same listener.  This should help cut down on
        event loops.

2011-03-15  castaglia <castaglia>

        * Makefile.in, NEWS, RELEASE_NOTES, configure.in,
        contrib/Makefile.in: Bug#3616 - Install contrib utilities as part of
        'make install' target.

2011-03-15  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Log the errors when closedir(3) returns an
        error.

2011-03-15  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Be more consistent about dispatching SFTP
        cmd_recs to the POST command handlers, if any are registered.  The
        failure to do this properly lead to some logging issues.  (Next, I
        need to make sure that mod_sftp properly dispatches to the PRE
        command handlers as well.)

2011-03-15  castaglia <castaglia>

        * configure: Updating configure.

2011-03-15  castaglia <castaglia>

        * config.h.in, configure.in, src/main.c: If OpenSSL support is
        enabled, check whether OpenSSL has been built with FIPS support, so
        that it can be displayed in the `proftpd -V' output.  This is
        primarily done so that the testsuite can have FIPS-specific tests.

2011-03-14  castaglia <castaglia>

        * doc/modules/mod_log.html: Updated LogFormat description for %w
        variable.

2011-03-14  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c, modules/mod_log.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix the logging of
        ExtendedLog variables for the RNFR/RNTO commands created internally
        for an SFTP rename command.

2011-03-12  castaglia <castaglia>

        * contrib/mod_sql.c: Updating mod_sql to use the new
        pr_session_disconnect() function.

2011-03-12  castaglia <castaglia>

        * contrib/mod_rewrite.c: As part of investigating Bug#3611, I
        cleaned up some of the mod_rewrite code around FIFOs.

2011-03-12  castaglia <castaglia>

        * tests/t/etc/modules/mod_rewrite/reverse.pl,
        tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
        reproduction test case for Bug#3611.  No bugfix/patch for it yet.

2011-03-10  castaglia <castaglia>

        * doc/modules/mod_auth_pam.html: Add FAQ/example to mod_auth_pam
        docs about using AuthOrder to make mod_auth_pam be authoritative.

2011-03-09  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Warn users who supply custom user/group
        queries that they also need to supply custom queries for ID-based
        lookups.

2011-03-09  castaglia <castaglia>

        * NEWS, src/str.c: Bug#3614 - Malicious module can use sreplace()
        function to overflow buffer.

2011-03-09  castaglia <castaglia>

        * tests/api/str.c: Add regression test for sreplace() issue from
        Bug#3614.

2011-03-09  castaglia <castaglia>

        * tests/api/regexp.c: Update the Regexp unit tests.

2011-03-07  castaglia <castaglia>

        * configure: Updated configure.

2011-03-07  castaglia <castaglia>

        * config.h.in, configure.in: As part of investigating Bug#3614, I
        thought that having build-time checks for the sizes of char * and
        void * might be useful additions.

2011-03-06  castaglia <castaglia>

        * src/regexp.c: Quell compiler warnings about unused functions when
        PCRE support is not enabled.

2011-03-05  castaglia <castaglia>

        * src/regexp.c: Typo.

2011-03-05  castaglia <castaglia>

        * contrib/mod_ratio.c: Clean up the coding style of mod_ratio.c to
        make it easier for me to read.  No functional change.

2011-03-04  castaglia <castaglia>

        * RELEASE_NOTES: Updating the list of new docs.

2011-03-03  castaglia <castaglia>

        * doc/utils/ftpasswd.html, doc/utils/ftpquota.html,
        doc/utils/index.html: Updating links.

2011-03-03  castaglia <castaglia>

        * doc/utils/ftpasswd.html, doc/utils/ftpcount.html,
        doc/utils/ftpquota.html, doc/utils/ftpshut.html,
        doc/utils/ftpwho.html, doc/utils/index.html: Checking in some of the
        existing HTML docs for utilities.

2011-03-03  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_ifsession.c,
        contrib/mod_ifversion.c, contrib/mod_quotatab.c,
        contrib/mod_rewrite.c, contrib/mod_sftp/interop.c,
        contrib/mod_sftp/mod_sftp.c, contrib/mod_site_misc.c,
        include/conf.h, include/fsio.h, include/regexp.h,
        modules/mod_auth.c, modules/mod_auth_file.c, modules/mod_core.c,
        modules/mod_facts.c, modules/mod_site.c, src/dirtree.c,
        src/filter.c, src/fsio.c, src/regexp.c: Bug#3609 - Support full PCRE
        regular expressions if PCRE support is enabled.

2011-03-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/PathAllowFilter.pm: Adding unit
        test proving Bug#3609 functionality (and to record somewhere the
        example of a case-insensitive PCRE regular expression).

2011-03-03  castaglia <castaglia>

        * NEWS, src/data.c, tests/t/lib/ProFTPD/Tests/Commands/APPE.pm: 
        Bug#3612 - APPE/STOU upload flags erroneously preserved across
        upload commands.

2011-03-02  castaglia <castaglia>

        * doc/utils/index.html: Start working on an index for docs for the
        various utilities; these docs also need to be written.

2011-03-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Support writing <Global>
        sections in testcase config files.

2011-03-01  castaglia <castaglia>

        * doc/modules/mod_facts.html: Add FAQ about ListOptions and the
        MLSD/MLST commands.

2011-03-01  castaglia <castaglia>

        * src/main.c: Minor reordering of which subsystems are intialized
        when; logging should be initialized fairly early on, so that other
        subsystems can log about initialization errors.

2011-03-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Fix the naming and
        status of the regression test for Bug#3595.

2011-02-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Adding regression
        test for Bug#3595.

2011-02-28  castaglia <castaglia>

        * NEWS, modules/mod_cap.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm: Bug#3576 - Support
        setting CapabilitiesSet on per-user basis via mod_ifsession's
        <IfUser> and <IfGroup>.

2011-02-28  castaglia <castaglia>

        * configure: Updating the configure script.

2011-02-28  castaglia <castaglia>

        * configure.in: More tweaking of the configure script so that the
        proper module load order is imposed between mod_cap and
        mod_ifsession, in order to support Bug#3576.

2011-02-28  castaglia <castaglia>

        * contrib/mod_ifsession.c, contrib/mod_load/mod_load.c.in,
        contrib/mod_sftp/mod_sftp.h.in, contrib/mod_shaper.c,
        contrib/mod_unique_id.c, contrib/mod_wrap2/mod_wrap2.h.in: Updating
        the contrib modules so that they require proftpd 1.3.4rc2 (which
        provides the new pr_session_disconnect() API) at compile-time.

2011-02-28  castaglia <castaglia>

        * contrib/mod_sftp/disconnect.c, contrib/mod_sftp/interop.c,
        contrib/mod_sftp/keys.c, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_sftp/packet.c, contrib/mod_tls.c: Updating more contrib
        modules to use pr_session_disconnect().

2011-02-28  castaglia <castaglia>

        * contrib/mod_ban.c, contrib/mod_ifsession.c,
        contrib/mod_load/mod_load.c.in, contrib/mod_shaper.c,
        contrib/mod_unique_id.c, contrib/mod_wrap2/mod_wrap2.c: Updating
        some of the contrib modules to use pr_session_disconnect().

2011-02-28  castaglia <castaglia>

        * modules/mod_cap.c, modules/mod_lang.c: Updating more core modules
        to use pr_session_disconnect().

2011-02-28  castaglia <castaglia>

        * src/inet.c, tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: 
        Spreading the use of pr_session_disconnect() wider.  Added
        regression test for the expansion of %E for SQLNamedQuery
        configurations.

2011-02-28  castaglia <castaglia>

        * RELEASE_NOTES, doc/modules/mod_log.html: Mention the new %E
        LogFormat variable in the release notes and in the mod_log docs.

2011-02-28  castaglia <castaglia>

        * contrib/mod_sql.c, include/session.h, modules/mod_auth.c,
        modules/mod_core.c, modules/mod_log.c, modules/mod_xfer.c,
        src/data.c, src/main.c, src/session.c,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Start using the
        new pr_session_disconnect() function, and add support for a new %E
        LogFormat variable, which contains the end-of-session (EOS) reason
        string.

2011-02-28  castaglia <castaglia>

        * include/proftpd.h, include/session.h, modules/mod_core.c,
        src/main.c, src/session.c: Add a new Session API function which can
        be used by callers to provide more information about why a client is
        being disconnected (e.g. QUIT, EOF, banned, etc).  This information
        is useful for modules which want to track all kinds of session data,
        to see patterns of traffic.

2011-02-27  castaglia <castaglia>

        * contrib/mod_shaper.c, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
        contrib/mod_sql_odbc.c, contrib/mod_sql_postgres.c,
        contrib/mod_sql_sqlite.c, contrib/mod_tls.c,
        contrib/mod_unique_id.c, contrib/mod_wrap2/mod_wrap2.c: Updating the
        rest of the contrib modules to use the pr_session_end() function.

2011-02-27  castaglia <castaglia>

        * contrib/mod_load/mod_load.c.in: Update mod_load to use the
        pr_session_end() function.

2011-02-27  castaglia <castaglia>

        * contrib/mod_ban.c, contrib/mod_ifsession.c,
        contrib/mod_sftp/disconnect.c, contrib/mod_sftp/interop.c,
        contrib/mod_sftp/keys.c, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_sftp/packet.c: Updating some of the contrib modules to
        use the pr_session_end() function.

2011-02-27  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_cap.c, modules/mod_core.c,
        modules/mod_lang.c: Updating the core modules to use the
        pr_session_end() function.

2011-02-27  castaglia <castaglia>

        * RELEASE_NOTES, include/compat.h, include/proftpd.h,
        include/session.h, src/data.c, src/inet.c, src/main.c,
        src/session.c: Move end_login() and company into the Session API as
        pr_session_end().

2011-02-27  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c: Bug#3608 - Make mod_quotatab poll
        for the QuotaLock file.

2011-02-27  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
        regression test for SQLShowInfo for LIST commands, as some sites are
        wont to use.

2011-02-27  castaglia <castaglia>

        * include/options.h: Mention the possible use of the
        PR_TUNABLE_RCVBUFSZ and PR_TUNABLE_SNDBUFSZ macros in the comments.

2011-02-27  castaglia <castaglia>

        * src/dirtree.c: Minor additional fix to make sure that using the
        PR_TUNABLE_RCVBUFSZ macro works properly.

2011-02-27  castaglia <castaglia>

        * doc/contrib/mod_wrap2.html: Make sure to mention/document the IPv6
        netmask rule syntax in the mod_wrap2 docs.

2011-02-27  castaglia <castaglia>

        * NEWS, contrib/mod_wrap2/mod_wrap2.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Bug#3606 -
        mod_wrap2 needs to support netmask rules for IPv6 addresses.

2011-02-26  castaglia <castaglia>

        * src/response.c: Removed unused variable.

2011-02-26  castaglia <castaglia>

        * tests/t/config/socketoptions.t,
        tests/t/lib/ProFTPD/Tests/Config/SocketOptions.pm, tests/tests.pl: 
        Adding regression tests for the SocketOptions directive, per
        Bug#3607.

2011-02-26  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/scp.c, include/dirtree.h,
        modules/mod_facts.c, modules/mod_ls.c, modules/mod_xfer.c,
        src/data.c, src/dirtree.c, src/inet.c, src/main.c, src/netio.c: 
        Bug#3607 - SocketOptions receive/send buffer size parameters no
        longer work.

2011-02-25  castaglia <castaglia>

        * configure: Updated configure script.

2011-02-25  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, config.h.in, configure.in,
        contrib/mod_ifsession.c, contrib/mod_ifversion.c,
        contrib/mod_quotatab.c, contrib/mod_rewrite.c,
        contrib/mod_sftp/interop.c, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_site_misc.c, include/fsio.h, include/regexp.h,
        modules/mod_auth.c, modules/mod_auth_file.c, modules/mod_core.c,
        modules/mod_facts.c, modules/mod_site.c, modules/mod_xfer.c,
        src/dirtree.c, src/filter.c, src/fsio.c, src/main.c, src/regexp.c,
        tests/api/regexp.c: Bug#3595 - Avoid buggy glibc regcomp(3) for
        regular expressions.

2011-02-25  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Add regression
        test showing that mod_wrap2 handles IPv4-mapped IPv6 addresses,
        using an IPv4 netmask syntax, properly.

2011-02-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Add regression
        test demonstrating netmask syntax for mod_wrap2.

2011-02-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: More tweaking of the
        response_msg() function.  If a caller doesn't specify an index,
        don't punish them unnecessarily, and try to Do The Right Thing(tm)
        if we can.

2011-02-23  castaglia <castaglia>

        * doc/contrib/index.html, doc/contrib/mod_readme.html: Adding HTML
        doc for the mod_readme module.

2011-02-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_readme.pm: Regression test
        for matching multiple DisplayReadme files.

2011-02-23  castaglia <castaglia>

        * NEWS, contrib/mod_readme.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_readme.pm: Bug#3605 -
        DisplayReadme output should appear after DisplayLogin for the PASS
        command.

2011-02-23  castaglia <castaglia>

        * src/response.c: [no log message]

2011-02-23  castaglia <castaglia>

        * contrib/mod_readme.c: More cleaning up of the coding style in
        mod_readme; no functional change, other than not communicating
        glob(3) errors to clients in response messages.

2011-02-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_readme.pm: Added regression
        test for mod_readme's handling of CWD commands.

2011-02-23  castaglia <castaglia>

        * NEWS, modules/mod_facts.c,
        tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm,
        tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm,
        tests/t/lib/ProFTPD/Tests/Config/DirFakeUser.pm: Bug#3604 - Support
        DirFakeUser, DirFakeGroup and DirFakeMode for MLSD/MLST commands.

2011-02-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm: Updating the
        DirFakeMode test to be like the other DirFake* directive tests.

2011-02-22  castaglia <castaglia>

        * tests/t/config/dirfakegroup.t, tests/t/config/dirfakeuser.t,
        tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm,
        tests/t/lib/ProFTPD/Tests/Config/DirFakeUser.pm, tests/tests.pl: 
        Start adding regression tests for the DirFakeGroup and DirFakeUser
        directives.

2011-02-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: Fix regression caused by
        changing of default index in response_msg() function.

2011-02-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_readme.pm,
        tests/t/modules/mod_readme.t, tests/tests.pl: Adding regression
        tests for the mod_readme module.

2011-02-22  castaglia <castaglia>

        * contrib/mod_readme.c: Fix some of the coding style in the
        mod_readme module; no functional change.

2011-02-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: If the testsuite code
        requests an indexed response message and there is no message at that
        index, return undef rather than defaulting to returning the first
        response message.

2011-02-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/ban.pm: Adding
        regression test for MaxCommandRate+mod_sftp+mod_ban config.

2011-02-22  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: Make sure that when mod_ban bans an
        SSH2 client, we disconnect the client properly.

2011-02-22  castaglia <castaglia>

        * contrib/mod_ban.c: Fix mod_ban's handling of the
        'core.max-command-rate' event.

2011-02-22  castaglia <castaglia>

        * include/memcache.h, modules/mod_memcache.c, src/memcache.c: Clear
        up any session-wide memcache connection on end of session.

2011-02-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/ban.pm,
        tests/t/modules/mod_sftp/ban.t, tests/tests.pl: Splitting out the
        mod_ban-related mod_sftp tests into their own file.

2011-02-21  castaglia <castaglia>

        * doc/modules/mod_xfer.html: Added docs for TransferRate.

2011-02-21  castaglia <castaglia>

        * doc/modules/mod_xfer.html: Still working on more mod_xfer
        documentation.

2011-02-21  castaglia <castaglia>

        * doc/howto/Sendfile.html: More known issues with sendfile(2).

2011-02-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ratio.pm,
        tests/t/modules/mod_ratio.t, tests/tests.pl: Start of unit tests for
        mod_ratio; incidentally includes regression test for Bug#3600.

2011-02-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Remove
        development/debugging cruft.

2011-02-21  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c, include/display.h, modules/mod_auth.c,
        modules/mod_core.c, src/display.c, src/main.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Bug#3538 -
        WrapAllowMsg directive broken due to Bug#3423.  Bug#3600 -
        pr_response_send() doesn't send responses queued with
        pr_response_add().

2011-02-21  castaglia <castaglia>

        * RELEASE_NOTES, include/response.h, src/response.c: Remove the
        pr_response_send_ml() et al functions; they are obsolete, unused,
        and should not be being used.

2011-02-20  castaglia <castaglia>

        * src/main.c: Minor style cleanup; no functional change.

2011-02-20  castaglia <castaglia>

        * doc/modules/index.html, doc/modules/mod_site.html: Start on docs
        for the mod_site module.

2011-02-20  castaglia <castaglia>

        * doc/modules/mod_log.html: Minor typos.

2011-02-20  castaglia <castaglia>

        * doc/modules/index.html, doc/modules/mod_log.html: Adding mod_log
        docs.

2011-02-20  castaglia <castaglia>

        * doc/modules/mod_auth_unix.html: Fixing up the mod_auth_unix docs.

2011-02-20  castaglia <castaglia>

        * doc/modules/mod_auth_file.html: Fixing up the mod_auth_file docs.

2011-02-20  castaglia <castaglia>

        * doc/modules/index.html, doc/modules/mod_auth.html: Start working
        on mod_auth-specific documentation.

2011-02-20  castaglia <castaglia>

        * doc/modules/index.html: Add an index page for the core module
        docs.

2011-02-20  castaglia <castaglia>

        * doc/modules/mod_memcache.html: Give example of specifying paths to
        libmemcached headers/libs in the mod_memcache docs.

2011-02-20  castaglia <castaglia>

        * README.modules: Update the README.modules file.

2011-02-20  castaglia <castaglia>

        * doc/modules/mod_auth_unix.html: Add FAQ about expired passwords,
        as per Bug#3582.

2011-02-20  castaglia <castaglia>

        * configure: Update configure script.

2011-02-20  castaglia <castaglia>

        * configure.in: configure script changes to support Bug#3576: if
        mod_ifsession appears anywhere in the --with-modules list, it will
        automatically appear at the end of the list of static modules.

2011-02-20  castaglia <castaglia>

        * doc/modules/mod_dso.html: Fix the "Compatibility" versions in the
        mod_dso doc.

2011-02-20  castaglia <castaglia>

        * RELEASE_NOTES, contrib/mod_ban.c, doc/contrib/mod_ban.html,
        tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Adding an
        'UnhandledCommand' event to mod_ban's BanOnEvent rules.

2011-02-20  castaglia <castaglia>

        * doc/modules/mod_core.html: Add documentation for the current
        Include directive behavior (Bug#3588).

2011-02-20  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, include/modules.h, modules/mod_log.c,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#3559 -
        ExtendedLog should support EXIT command, for logging when a session
        ends.

2011-02-20  castaglia <castaglia>

        * contrib/mod_ban.c, doc/contrib/mod_ban.html: Update mod_ban's
        BanOnEvent to watch for the events triggered when the MaxCommandRate
        is exceeded.

2011-02-20  castaglia <castaglia>

        * RELEASE_NOTES, doc/modules/mod_core.html: Documenting the new
        MaxCommandRate directive (Bug#3565).

2011-02-20  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#3565 - Support a MaxCommandRate, for
        detecting and throttling clients which are sending commands too
        quickly.

2011-02-18  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Additional fixes for logging of RMDIR in
        ExtendedLog, for Bug#3591.

2011-02-17  castaglia <castaglia>

        * contrib/mod_sftp/display.c: Forgot to add back the
        format_size_str() function here.

2011-02-17  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c,
        tests/t/lib/ProFTPD/Tests/Commands/APPE.pm: Bug#3598 - HiddenStores
        makes the APPE command overwrite files instead of appending them.

2011-02-17  castaglia <castaglia>

        * RELEASE_NOTES: Update release notes.

2011-02-17  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Document the new IgnoreSFTPSetPerms
        SFTPOption.

2011-02-17  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_sftp/mod_sftp.h.in,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3599 - Support
        SFTPOptions parameter for ignoring SFTP SETSTAT/FSETSTAT permission
        changes.

2011-02-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: The
        mod_rewrite-related mod_sftp tests have been moved out to their own
        file.

2011-02-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm,
        tests/t/modules/mod_sftp/rewrite.t, tests/tests.pl: Refactoring the
        mod_sftp+mod_rewrite tests out to a separate file.

2011-02-16  castaglia <castaglia>

        * contrib/mod_sftp/display.c, src/display.c, src/fsio.c,
        tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm: In investigating
        Bug#3596, I found that the %F and %f Display variables had been
        completely broken.  Fix this.

2011-02-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Include.pm: Make the Include test
        for wildcards better; this now ensures that the lexicographical
        sorting of the matched files happens as expected.

2011-02-16  castaglia <castaglia>

        * doc/modules/mod_ls.html: Start working on mod_ls-specific
        documentation.

2011-02-16  castaglia <castaglia>

        * tests/t/config/include.t,
        tests/t/lib/ProFTPD/Tests/Config/Include.pm, tests/tests.pl: Add
        regression tests for the Include directive.

2011-02-16  castaglia <castaglia>

        * doc/contrib/index.html, doc/contrib/mod_tls_memcache.html: Adding
        docs for mod_tls_memcache module.

2011-02-16  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_tls_memcache.c: Adding new
        mod_tls_memcache module.

2011-02-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls_memcache.pm,
        tests/t/modules/mod_tls_memcache.t, tests/tests.pl: Checking in
        tests for the new mod_tls_memcache module.

2011-02-15  castaglia <castaglia>

        * contrib/mod_tls_shmcache.c: Fix uninitialized pointer warning from
        Bug#3596.

2011-02-15  castaglia <castaglia>

        * contrib/mod_shaper.c: Fix printf(3) typecast warning from
        Bug#3596.

2011-02-15  castaglia <castaglia>

        * modules/mod_delay.c: Fix off-by-one compiler warnings from
        Bug#3596.

2011-02-15  castaglia <castaglia>

        * NEWS, src/prxs.in: Bug#3593 - Using "$shell $libtool" in prxs does
        not work for all shells.

2011-02-15  castaglia <castaglia>

        * contrib/mod_sql.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Change the
        notes stashed by mod_sql to be 'primary-group' (was 'sql.group'),
        'home' (was 'sql.home') and 'shell' (was 'sql.shell'), to be more
        generic.  I'll start enhancing other auth modules to stash these
        values as well.

2011-02-15  castaglia <castaglia>

        * contrib/mod_sftp/display.c: Remove unused function.

2011-02-15  castaglia <castaglia>

        * RELEASE_NOTES: Adding release notes for myself, to be fleshed out
        more fully later.

2011-02-15  castaglia <castaglia>

        * NEWS, include/filter.h, modules/mod_core.c, src/filter.c,
        tests/t/lib/ProFTPD/Tests/Config/PathAllowFilter.pm,
        tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Bug#3592 -
        Support case-insensitivity option for PathAllowFilter/PathDenyFilter
        directives.

2011-02-14  castaglia <castaglia>

        * doc/modules/mod_auth_unix.html: Document the magicTokenChroot
        AuthUnixOption.

2011-02-14  castaglia <castaglia>

        * modules/mod_auth_unix.c: Add support for a 'magicTokenChroot'
        AuthUnixOption.  This is intended to help sites which are migrating
        from a wu-ftpd setup (yes, there are some very large sites out there
        still running wu-ftpd).

2011-02-14  castaglia <castaglia>

        * contrib/mod_sftp/kex.c, contrib/mod_tls.c: Use the newer
        RSA_generate_key_ex() OpenSSL function when OpenSSL 0.9.8 and later
        is used.  The older RSA_generate_key() function is deprecated.

2011-02-14  castaglia <castaglia>

        * include/timers.h, src/main.c, src/timers.c, tests/api/timers.c: 
        Add a new pr_timer_usleep() function, for pausing for a number of
        microseconds.  Handy for loops which need to do non-blocking polls
        with short delays in between.

2011-02-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add mod_sftp unit
        tests for Bug#3591.

2011-02-13  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c, modules/mod_log.c: Bug#3591 - %F
        LogFormat variable should work for MKD/RMD commands.

2011-02-13  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Make sure that we dispatch the
        internally-created MKD/RMD cmmands to the LOG_CMD phase handlers
        when handling MKDIR/RMDIR SFTP requests.

2011-02-13  castaglia <castaglia>

        * contrib/mod_sql.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add support for
        'sql.group', 'sql.home', and 'sql.shell' notes in the session.notes
        table, for use in LogFormat/SQLNamedQuery logging.

2011-02-13  castaglia <castaglia>

        * modules/mod_memcache.c: The configured MemcacheServers in the
        "server config" context will be available for use by modules who
        want memcached servers even before a connection is received (e.g.
        ftpdctl/mod_ctrls).

2011-02-13  castaglia <castaglia>

        * src/memcache.c: If pr_memcache_incr() fails because the key is not
        found, automatically create the key, using the given increment as
        the value.

2011-02-12  castaglia <castaglia>

        * contrib/mod_sftp/channel.h: Rather than relying on datatype
        underflow, explicitly define the max channel window size.

2011-02-12  castaglia <castaglia>

        * src/display.c: Bug#3589 - src/display.c doesn't compile on hpux
        since 1.3.3d.

2011-02-12  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/packet.c,
        contrib/mod_sftp/packet.h: Bug#3586 - mod_sftp behaves badly when
        receiving badly formed SSH messages.

2011-01-26  castaglia <castaglia>

        * src/memcache.c: Make sure that pr_memcache_set_namespace() with a
        NULL namespace prefix works as we expect.

2011-01-26  castaglia <castaglia>

        * src/memcache.c: Since we're supporting a shared/common
        pr_memcache_t for all modules in a single session, we need a
        refcount mechanism, so that one module doesn't inadvertently close
        the connection for all the other modules who might be using that
        pr_memcache_t.

2011-01-26  castaglia <castaglia>

        * contrib/mod_ban.c: Make sure we don't leak memory in a few
        memcache/tpl-related error cases.

2011-01-26  castaglia <castaglia>

        * contrib/mod_sftp/crypto.c, contrib/mod_tls.c: Use OpenSSL's
        ERR_remove_thread_state() API when possible, rather than the
        deprecated ERR_remove_state() function.

2011-01-25  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Update the mod_tls TLSSessionCache docs
        with an example of specifying the cache lifetime for OpenSSL's
        internal session caching (cf Bug#3580).

2011-01-25  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3585 - Allow client-requested SSL
        session renegotiation when securely supported.

2011-01-25  castaglia <castaglia>

        * include/memcache.h, src/memcache.c: Adding memcache API functions
        for incrementing/decrementing a value stored in memcached.

2011-01-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls_shmcache.pm,
        tests/t/modules/mod_tls_shmcache.t, tests/tests.pl: Finally have a
        regression test for mod_tls_shmcache and SSL session caching.

2011-01-24  castaglia <castaglia>

        * contrib/mod_tls_shmcache.c: Update mod_tls_shmcache to use trace
        logging in more places.

2011-01-24  castaglia <castaglia>

        * contrib/mod_tls.c: Add logging of when an SSL session is
        reused/resumed for a control connection.

2011-01-23  castaglia <castaglia>

        * contrib/mod_sftp/auth.c: The fix for Bug#3482 needs to apply
        properly to SSH sessions as well; the WtmpLog default value, in
        light of Bug#3482, should be 'off' for the affected platforms.

2011-01-23  castaglia <castaglia>

        * modules/mod_auth.c: The fix for Bug#3482 had a minor nit; we need
        to allocate space for an unsigned char, not an int.

2011-01-23  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3580 -
        TLSSessionCache needs to allow configuring OpenSSL's internal
        session caching expiration, for long-lived sessions.

2011-01-23  castaglia <castaglia>

        * contrib/mod_ban.c, include/memcache.h, src/memcache.c: Now the
        Memcache API supports namespace prefixes for keys, setting on a
        per-module basis.  Useful for keeping the keys from various modules
        separate, and for dumping the keys/values for just a specific
        namespace.

2011-01-23  castaglia <castaglia>

        * include/memcache.h, modules/mod_memcache.c, src/memcache.c: 
        Checkpoint of more of my work on memcache support.

2011-01-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm: Added regression
        tests for ShowSymlinks and MLST, using relative symlinked paths in
        chrooted sessions.

2011-01-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm: Add regression
        tests for the STAT output when ShowSymlinks is toggled.

2011-01-21  castaglia <castaglia>

        * src/memcache.c: Use the AUTO_EJECT_HOSTS option, although it
        doesn't seem to be working as I expect.

2011-01-21  castaglia <castaglia>

        * src/memcache.c: Add better trace logging of the dead memcached
        server when we can detect one.

2011-01-21  castaglia <castaglia>

        * modules/mod_memcache.c: Slightly better logging of the
        libmemcached version being used.

2011-01-21  castaglia <castaglia>

        * modules/mod_memcache.c, src/memcache.c: Check the version of the
        libmemcached headers versus that the library, to warn against
        possible header/lib mismatch.  Fix compiler warnings in src/memcache.c.

2011-01-21  castaglia <castaglia>

        * include/memcache.h, modules/mod_memcache.c, src/memcache.c: Use
        randomized replica reads for memcached retrieval by default, and
        provide an option to disable this.  Also provide a way to configure
        the number of connect failures before a given memcached server is
        disabled in the pool.

2011-01-21  castaglia <castaglia>

        * modules/mod_facts.c: Fix issue from Bug#3318 found by the
        ShowSymlink regression tests, where the MLST command was still
        returning the symlinked target path, rather than the symlink path
        itself, even when "ShowSymlinks off" was in effect.

2011-01-21  castaglia <castaglia>

        * tests/t/config/showsymlinks.t,
        tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm, tests/tests.pl: 
        Adding unit tests for the ShowSymlinks directive, and its effects on
        the LIST, NLST, MLSD, and MLST commands, using symlinked files and
        symlinked directories.  There are still more combinations try to
        here, e.g. using absolute symlink paths (versus relative symlink
        paths), and the effects of chroot on all of these combinations.

2011-01-21  castaglia <castaglia>

        * doc/contrib/mod_ban.html: Adding stubs for the new BanCache and
        BanCacheOptions directives.

2011-01-21  castaglia <castaglia>

        * doc/modules/mod_memcache.html: More stubs for the mod_memcache
        documentation.

2011-01-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ban/memcache.pm,
        tests/t/modules/mod_ban/memcache.t, tests/tests.pl: Adding unit
        tests that I used for testing out mod_ban when configured to use a
        memcached server.

2011-01-20  castaglia <castaglia>

        * contrib/mod_ban.c: And now mod_ban can use memcached for
        storing/retrieving any ban rules!

2011-01-20  castaglia <castaglia>

        * src/memcache.c: It helps to iterate through the list of stat key
        names, rather than reusing the same hardcoded name over and over.

2011-01-20  castaglia <castaglia>

        * src/memcache.c: Require libmemcached-0.37 or later for memcache
        support.  When a new memcache connection is created, get stats from
        the pool of memcached servers to which it connected.  This is useful
        for logging, and it also ensures that we have connectivity to those
        servers, i.e. it is better to know, at connect time, that the
        configured servers are actually up, running, accessible, and
        responding to our requests.

2011-01-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm: Pedantic style change;
        no functional change.

2011-01-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm: Updated ftpwho unit
        tests to run properly.

2011-01-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideUser.pm: Fix another of the
        HideUser tests which does require rootprivs to be run.

2011-01-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm: Fix the
        HideNoAccess unit test to handle the ScoreboardMutex file.

2011-01-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm: Fix the
        DirFakeMode unit tests to handle the ScoreboardMutex file.

2011-01-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/TimeoutLogin.pm: Fix to make the
        TimeoutLogin tests work on slower machines, and with different
        versions of Perl.

2011-01-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: Quell more Perl warnings.

2011-01-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm: Allow for more
        idle time, so that the TimeoutIdle tests can pass properly on a
        slower test machine.

2011-01-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/UseFtpUsers.pm: Only run the
        UseFtpUsers tests on a system which has the /etc/ftpusers file.

2011-01-19  castaglia <castaglia>

        * modules/mod_memcache.c: Fix compilation of mod_memcache.

2011-01-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Update ABOR unit test
        to handle ScoreboardMutex file.

2011-01-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: Allow more than 2
        seconds for the STOU unit tests to run.

2011-01-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Update these unit tests
        so that they work properly.

2011-01-19  castaglia <castaglia>

        * src/memcache.c: Fix the compilation for src/memcache.c when
        --enable-memcache is not used.

2011-01-19  castaglia <castaglia>

        * doc/modules/mod_memcache.html: Add links to the memcached and
        libmemcached pages.

2011-01-19  castaglia <castaglia>

        * doc/modules/mod_memcache.html: Start working on documentation for
        the mod_memcache module.

2011-01-19  castaglia <castaglia>

        * doc/modules/mod_ctrls.html: Updated mod_ctrls with description of
        where to find the latest version.

2011-01-19  castaglia <castaglia>

        * doc/contrib/mod_sftp_pam.html: Updated the mod_sftp_pam docs to
        mention the new NoInfoMsgs SFTPPAMOption.

2011-01-19  castaglia <castaglia>

        * NEWS, contrib/mod_sftp_pam.c: Bug#3578 - Ability to suppress
        sending messages from PAM to clients.

2011-01-19  castaglia <castaglia>

        * NEWS, contrib/mod_sftp_pam.c: Bug#3579 - mod_sftp_pam may tell
        client to disable echoing erroneously.

2011-01-18  castaglia <castaglia>

        * configure: Updated configure.

2011-01-18  castaglia <castaglia>

        * configure.in, include/memcache.h, lib/Makefile.in,
        modules/mod_memcache.c, src/memcache.c: Checking in more of my
        memcache work from today.

2011-01-18  castaglia <castaglia>

        * include/tpl.h, lib/README.tpl, lib/tpl.c: Adding libtpl-1.5
        sources to the proftpd code; these are for use for packing arbitrary
        data structures for storage in memcached servers.

2011-01-18  castaglia <castaglia>

        * include/trace.h, src/trace.c: Add a pr_trace_vmsg() function, a
        variant of pr_trace_msg() which can accept a va_list.

2011-01-17  castaglia <castaglia>

        * include/memcache.h, modules/mod_memcache.c, src/memcache.c: Fix
        the handling of the BLOCKING option.

2011-01-17  castaglia <castaglia>

        * include/memcache.h, modules/mod_memcache.c, src/memcache.c: More
        work on memcache support.

2011-01-17  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/scp.c: Bug#3544 - mod_sftp closes channel
        too early after scp download.

2011-01-14  castaglia <castaglia>

        * modules/mod_facts.c: Make sure to check the supplemental group IDs
        when fixing the behavior in Bug#3577, not just the primary group ID.

2011-01-14  castaglia <castaglia>

        * NEWS, modules/mod_facts.c,
        tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm: Bug#3577 - MFMT can fail
        due to utimes(2) peculiarities.

2011-01-13  castaglia <castaglia>

        * NEWS, modules/mod_auth_unix.c: Bug#3575 - Process privileges may
        not handled properly when --enable-autoshadow is used.

2011-01-12  castaglia <castaglia>

        * modules/mod_site.c: Fix data type warning on Solaris.

2011-01-12  castaglia <castaglia>

        * configure: Updated configure.

2011-01-12  castaglia <castaglia>

        * config.h.in, configure.in, contrib/mod_exec.c, contrib/mod_tls.c,
        include/conf.h, modules/mod_core.c, modules/mod_delay.c,
        modules/mod_xfer.c, src/child.c, src/data.c, src/ftpdctl.c,
        src/log.c, src/main.c, src/netio.c, src/scoreboard.c,
        src/support.c, src/throttle.c, src/timers.c, utils/ftptop.c,
        utils/scoreboard.c, utils/utils.h: Move the inclusion of <signal.h>
        into the main conf.h file.

2011-01-12  castaglia <castaglia>

        * src/main.c: Use better printf(3) style, and always support a
        format string, even for fixed input strings.

2011-01-11  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab_sql.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3524 -
        mod_quotatab_sql does not properly update the file upload count for
        a DELE.

2011-01-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
        tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm: Removing more unneeded
        chomp() calls.

2011-01-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
        tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STOR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STRU.pm,
        tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Removing unneeded
        chomp() calls.

2011-01-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/AllowOverwrite.pm,
        tests/t/lib/ProFTPD/Tests/Config/CommandBufferSize.pm,
        tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm,
        tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm,
        tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm,
        tests/t/lib/ProFTPD/Tests/Config/Order.pm,
        tests/t/lib/ProFTPD/Tests/Config/RewriteHome.pm: Remove unnecessary
        chomp() calls.

2011-01-11  castaglia <castaglia>

        * tests/t/commands/site/chmod.t,
        tests/t/lib/ProFTPD/Tests/Commands/SITE/CHMOD.pm, tests/tests.pl: 
        Start working on regression tests for the various SITE commands.

2011-01-11  castaglia <castaglia>

        * modules/mod_auth_file.c: Fix build of mod_auth_file on systems
        which have fgetpwent(3).

2011-01-11  castaglia <castaglia>

        * src/fsio.c: Style nits; no functional change (other than adding
        signal handling in a while() loop).

2011-01-10  castaglia <castaglia>

        * contrib/mod_sftp/display.c, include/fsio.h, src/display.c,
        src/fsio.c: Add a new function, pr_fs_getsize2(), for retrieving the
        available space on a filesystem.  Unlike pr_fs_getsize(), this new
        function is a) always present, rather than relying on platform
        support for various statfs(2) flavors, and b) is capable of
        indicating when an error occurs.

2011-01-10  castaglia <castaglia>

        * doc/howto/ConfigurationTricks.html: Mention TransferPriority in
        the ConfigurationTricks howto.

2011-01-08  castaglia <castaglia>

        * src/support.c: Since the location of the statfs(2)/statvfs(2)
        calls moved to the src/fsio.c file, these headers are no longer
        needed in src/support.c.

2011-01-08  castaglia <castaglia>

        * modules/mod_auth_file.c: Slightly better fix for the ID filtering
        bugs I found.  Also fixed up some log messages about filtered IDs so
        that they are better suited to handle large ID values.

2011-01-08  castaglia <castaglia>

        * modules/mod_auth_file.c: Fix a couple of bugs when using ID
        filtering in the AuthUserFile and AuthGroupFile directives.

2011-01-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm,
        tests/t/modules/mod_auth_file.t, tests/tests.pl: Adding regression
        tests for the ID, home, and name filtering that can be done using
        AuthUserFile and AuthGroupFile directives.

2011-01-08  castaglia <castaglia>

        * doc/contrib/mod_sql_passwd.html: Updating the mod_sql_passwd docs
        with descriptions of the SQLPasswordOptions and SQLPasswordRounds
        directives, as well as how to use them in combination to support a
        wide variety of constructions.

2011-01-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: More
        Bug#3500-related unit tests, this time for the HashPassword and
        HashSalt SQLPasswordOptions.

2011-01-08  castaglia <castaglia>

        * contrib/mod_sql_passwd.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Additional
        refinement from Bug#3500.

2011-01-07  castaglia <castaglia>

        * doc/modules/mod_xfer.html: Start working on a mod_xfer doc.

2011-01-07  castaglia <castaglia>

        * doc/modules/mod_core.html: Typo.

2011-01-06  castaglia <castaglia>

        * NEWS, contrib/mod_sql_passwd.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Bug#3500 -
        Support for other combinations of hashed values in mod_sql_passwd.

2011-01-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
        regression test for the SQLGroupWhereClause directive.

2011-01-05  castaglia <castaglia>

        * doc/howto/ConnectionACLs.html: Typo.

2011-01-05  castaglia <castaglia>

        * doc/howto/ConnectionACLs.html: Typo.

2011-01-05  castaglia <castaglia>

        * RELEASE_NOTES: Mention the new doc in the release notes.

2011-01-05  castaglia <castaglia>

        * doc/howto/ConnectionACLs.html, doc/howto/index.html: Adding
        ConnectionACL howto.

2011-01-05  castaglia <castaglia>

        * src/parser.c: Make sure that the config parser allows a line to be
        up to the full PR_TUNABLE_BUFFER_SIZE in length (usually 1024
        bytes), rather than PR_TUNABLE_BUFFER_SIZE-1 bytes.

2011-01-04  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c, contrib/mod_sql.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3572 -
        Support use of "notes" variables in SQLNamedQuery.  I've also added support to mod_rewrite such that the mod_rewrite
        module now stores backrefs in the cmd->notes table, such that they
        can be used in a SQLLog SQLNamedQuery.

2011-01-04  castaglia <castaglia>

        * src/table.c: Add a default table printing function for
        pr_table_dump(), so that a caller can simply use:   pr_table_dump(NULL, tab); to get the table dumped to the TraceLog under the 'table' channel.

2011-01-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
        integration test showing that variables such as %L are properly
        supported in a SQLUserWhereClause.

2011-01-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/RLimitMemory.pm: Another
        RLimitMemory test; I need to add more such cases here.

2011-01-03  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#3571 - RLimitMemory "max" soft/hard
        limits don't work.

2011-01-03  castaglia <castaglia>

        * tests/t/config/rlimitmemory.t,
        tests/t/lib/ProFTPD/Tests/Config/RLimitMemory.pm, tests/tests.pl: 
        Adding regression tests for the RLimitMemory directive, per
        Bug#3571.

2010-12-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fix another few
        Perl warnings.

2010-12-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DisplayChdir.pm: Silence another
        Perl warning.

2010-12-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Quell some Perl
        compiler warnings.

2010-12-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/REST.pm: Remove redundant
        regression test.

2010-12-27  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logins.pm: Add regression test for
        anonymous logins with mod_delay enabled.

2010-12-27  castaglia <castaglia>

        * tests/Makefile.in: Make sure that 'make clean' works properly for
        the API tests.

2010-12-27  castaglia <castaglia>

        * tests/api/timers.c: Typo.

2010-12-27  castaglia <castaglia>

        * tests/api/netacl.c: More places in the API testsuite where we
        might need to handle 'localhost.localdomain' as well as just
        'localhost'.

2010-12-27  castaglia <castaglia>

        * tests/api/netaddr.c: Try to handle the case where
        'localhost.localdomain' is the returned DNS name for 127.0.0.1,
        rather than 'localhost'.

2010-12-26  castaglia <castaglia>

        * tests/api/timers.c: Allow some leeway when dealing with
        timer-based unit tests.

2010-12-23  jwm <jwm>

        * README.LDAP: bzr r110:   capitalization consistency

2010-12-23  jwm <jwm>

        * RELEASE_NOTES: forgot to add notice of mod_ldap configuration
        overhaul to the release notes

2010-12-23  jwm <jwm>

        * README.LDAP: latest README with populated Changes section

2010-12-23  castaglia <castaglia>

        * tests/api/pool.c: Fix pool unit test error.

2010-12-22  castaglia <castaglia>

        * doc/howto/Scoreboard.html: Updating the Scoreboard howto with
        descriptions of the types of data recorded in the ScoreboardFile.

2010-12-21  castaglia <castaglia>

        * src/scoreboard.c, tests/api/scoreboard.c, tests/api/stubs.c: 
        Bug#3568 - Build failure trying to run test suite.  Fixes linker
        error due to missing pr_ctrls_unregister() stub, and fixes
        scoreboard API tests that were broken due to ScoreboardMutex
        introduction (Bug#3208).

2010-12-21  castaglia <castaglia>

        * modules/mod_ident.c: Fix an IdentLookups edge case where we were
        not closing the fd or removing the timer properly.

2010-12-21  castaglia <castaglia>

        * modules/mod_ident.c: Typo.

2010-12-21  castaglia <castaglia>

        * src/netio.c: Fix the IO event names for writes to "other" types of
        streams.

2010-12-21  castaglia <castaglia>

        * NEWS, modules/mod_ident.c: Bug#3567 - IdentLookups do not work for
        IPv6 servers.

2010-12-21  castaglia <castaglia>

        * doc/contrib/mod_tls_shmcache.html: Adding TLSSessionCache FAQ.

2010-12-21  castaglia <castaglia>

        * doc/modules/mod_core.html: Updating mod_core docs with description
        of ProcessTitles directive.

2010-12-21  castaglia <castaglia>

        * NEWS, include/proctitle.h, modules/mod_core.c, src/proctitle.c: 
        Bug#3566 - Ability to turn verbose process titles off.

2010-12-20  castaglia <castaglia>

        * tests/t/config/maxcommandrate.t,
        tests/t/lib/ProFTPD/Tests/Config/MaxCommandRate.pm, tests/tests.pl: 
        Adding unit tests for the functionality in Bug#3565.

2010-12-18  jwm <jwm>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ldap.pm: forgot to sync with
        TJ's changes to use the base set_up/tear_down methods

2010-12-18  castaglia <castaglia>

        * contrib/mod_sql.c: Bug#3563 - Fix compiler warnings about possibly
        uninitialized variables.

2010-12-18  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Bug#3564 - Remove the SFTPServices
        docs, since the directive was reworked to be the Protocols
        directive.

2010-12-18  castaglia <castaglia>

        * include/version.h: Updating version.h for the CVS status once
        more.

2010-12-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Remove the 50MB
        file used for mod_deflate regression testing; no need to clutter up
        the tarball with it.

2010-12-18  castaglia <castaglia>

        * ChangeLog: Updating ChangeLog.

2010-12-18  castaglia <castaglia>

        * locale/files.txt: Updating the list of files for localization.

2010-12-18  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Getting
        ready to release 1.3.4rc1 (finally).

2010-12-18  castaglia <castaglia>

        * modules/mod_xfer.c: Add some portability checks for strtof(3), and
        make sure that the UseSendfile directive handler checks the macros.

2010-12-18  castaglia <castaglia>

        * configure: Updating configure script.

2010-12-18  castaglia <castaglia>

        * config.h.in, configure.in: Adding autoconf checks for the
        strtod(3) and strtof(3) functions; some platforms (e.g. older
        Solaris) may not have them.

2010-12-17  castaglia <castaglia>

        * contrib/mod_qos.c: Make sure that mod_qos can compile properly on
        non-Linux systems (e.g. FreeBSD) by adding in some portability
        checks.

2010-12-17  castaglia <castaglia>

        * contrib/mod_wrap2/mod_wrap2.h.in: Missed checkin for the fix for
        Bug#3558.

2010-12-17  castaglia <castaglia>

        * RELEASE_NOTES: Updating the release notes.

2010-12-17  castaglia <castaglia>

        * src/netio.c: Limit the memory usage for pr_buffer_ts for the IO
        events by using a sub-pool for the IO write events, and destroying
        the pool after the event has been posted.

2010-12-17  castaglia <castaglia>

        * contrib/mod_sql.c: The mod_sql_sqlite testsuite caught a
        regression caused by a typo in the fix for Bug#3536.

2010-12-17  castaglia <castaglia>

        * src/response.c: Wait to clear the cached last response code/msg
        values until pr_response_clear().

2010-12-17  castaglia <castaglia>

        * src/response.c: The last commit broke pr_response_flush(); fix it
        properly.

2010-12-17  castaglia <castaglia>

        * include/event.h, src/event.c: Provide a function for checking if
        there are any registered listeners for a given event.  A module
        might want to use this, for example, to see if anyone is listening
        for some data which may be expensive to generate.

2010-12-17  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3560 -
        ExtendedLog shows incorrect byte size for first file downloaded via
        SFTP in some cases.

2010-12-17  castaglia <castaglia>

        * src/response.c: The mod_sftp testsuite caught some issues in the
        Response API.

2010-12-16  castaglia <castaglia>

        * contrib/mod_sftp/packet.c: Have mod_sftp generate events when it
        does network IO.

2010-12-16  castaglia <castaglia>

        * src/netio.c: Generate an event when pr_netio_gets() is used (e.g.
        by mod_ident) to read data from the network which is not necessarily
        for the control or data connections.

2010-12-15  castaglia <castaglia>

        * src/data.c, src/netio.c: Flesh out the rest of the IO events, so
        that events are generated when data are read from both control and
        data connection, and when data are written to either control or data
        connections.

2010-12-15  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding
        regression test for %O variable when sendfile(2) support is in
        effect.  Fixing the other broken tests related to Bug#3554.

2010-12-15  castaglia <castaglia>

        * src/data.c: Make sure that bytes sent to the client via
        sendfile(2) are properly accounted for in the %O value (Bug#3554).

2010-12-15  castaglia <castaglia>

        * doc/contrib/mod_wrap2.html: Added documentation for the new
        CheckAllNames WrapOption.

2010-12-15  castaglia <castaglia>

        * NEWS, contrib/mod_wrap2/mod_wrap2.c, include/netaddr.h,
        src/netaddr.c, tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: 
        Bug#3558 - Check all DNS names for a client against DNS
        names/patterns in access rules.

2010-12-15  castaglia <castaglia>

        * doc/modules/mod_core.html: Start working a mod_core.html doc, just
        like we have for the other standard modules.

2010-12-15  castaglia <castaglia>

        * modules/mod_core.c: Make sure that mod_ifsession won't remove all
        Protocols config_recs by marking it with the proper
        CF_MERGEDOWN_MULTI flag.

2010-12-15  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_tls.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Update mod_tls to
        honor/enforce the "ftps" protocol for the Protocols directive.  Update the NEWS and RELEASE_NOTES about the new Protocols directive.

2010-12-15  castaglia <castaglia>

        * modules/mod_auth.c: Make sure that the disconnecting of a client
        because of the Protocols config happens at the right time.

2010-12-15  castaglia <castaglia>

        * modules/mod_auth.c, tests/t/lib/ProFTPD/Tests/Config/Protocols.pm: 
        Be polite, and send a response when we disconnect the session
        because of the Protocols config, even if that response is not very
        informative.

2010-12-15  castaglia <castaglia>

        * modules/mod_auth.c: More work on Bug#3556; we don't want to check
        for the Protocols config unless the client has been successfully
        authenticated.

2010-12-15  castaglia <castaglia>

        * contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
        contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/scp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Supporting the new
        Protocols directive (Bug#3556) in mod_sftp.

2010-12-15  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_core.c,
        tests/t/config/protocols.t,
        tests/t/lib/ProFTPD/Tests/Config/Protocols.pm, tests/tests.pl: 
        Bug#3556 - Disable protocol support on per-user/group/class basis.

2010-12-14  castaglia <castaglia>

        * doc/contrib/mod_wrap2.html: Add documentation for the new
        WrapOptions directive, and the option added for Bug#3508.

2010-12-14  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_wrap2/mod_wrap2.c,
        contrib/mod_wrap2/mod_wrap2.h.in: Bug#3508 - mod_wrap2 should
        support checking of WrapTables allow/deny rules at connect time.

2010-12-14  castaglia <castaglia>

        * contrib/mod_wrap2/mod_wrap2.c: Add logging in the WrapLog of the
        DNS names/patterns being compared.  Trim a trailing period in the
        retrieved client DNS name, if present.

2010-12-14  castaglia <castaglia>

        * RELEASE_NOTES, doc/contrib/mod_sftp.html: Mention the new
        SFTPServices directive in the docs.

2010-12-14  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
        contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in,
        contrib/mod_sftp/scp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3556 - Disable
        SFTP/SCP support on per-user/group/class basis.

2010-12-13  castaglia <castaglia>

        * tests/t/config/maxclientsperhost.t,
        tests/t/config/maxconnectionsperhost.t,
        tests/t/lib/ProFTPD/Tests/Config/MaxClientsPerHost.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxConnectionsPerHost.pm,
        tests/tests.pl: Adding unit tests for the MaxClientsPerHost and
        MaxConnectionsPerHost directives.

2010-12-13  castaglia <castaglia>

        * contrib/mod_unique_id.c: Make the unique session ID generated by
        mod_unique_id available to all modules by stashing the ID in the
        session.notes table.

2010-12-11  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_deflate.c,
        contrib/mod_sftp/packet.c, contrib/mod_sql.c, contrib/mod_tls.c,
        include/proftpd.h, modules/mod_log.c, src/netio.c,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3554 -
        Support Apache-style %I, %O LogFormat variables.

2010-12-11  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: Add comment for myself in the future,
        about SSH clients which request SCP transfers using an explicit path
        to the scp executable.

2010-12-11  castaglia <castaglia>

        * modules/mod_log.c: Catch an edge case where an ExtendedLog
        configured to log ALL commands was not logging some commands.
        Specifically, if the module handling the command forgot to provide a
        proper command class for that command, then the ExtendedLog wouldn't
        log it, even for the ALL command class.

2010-12-11  castaglia <castaglia>

        * contrib/mod_deflate.c: Make sure that the commands handled by
        mod_deflate are tagged with the proper command class, so that
        ExtendedLog catches/logs them properly.

2010-12-11  castaglia <castaglia>

        * contrib/mod_deflate.c: The cause of Bug#3550 also occurred in the
        mod_deflate code; fixing it here.

2010-12-10  jwm <jwm>

        * contrib/mod_ldap.c: bzr r108:   Handle potential NULL return value from crypt(). (Bug #3551)

2010-12-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression
        tests for the handling of various timeouts (TimeoutIdle,
        TimeoutLogin, TimeoutNoTransfer, TimeoutStalled) for SFTP sessions.

2010-12-10  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Make SCP
        honor/handle the TimeoutNoTransfer and TimeoutStalled timeouts
        properly.

2010-12-10  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Listing a directory via SFTP should reset
        the TimeoutNoTransfer timer, as is done for FTP sessions.

2010-12-10  castaglia <castaglia>

        * modules/mod_xfer.c: The message logged for a TimeoutNoTransfer
        should be protocol-specific, and not have "FTP" hardcoded.

2010-12-10  castaglia <castaglia>

        * src/main.c: Generate an event for parsed but
        unhandled/unrecognized commands as well.

2010-12-10  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c, contrib/mod_sftp/packet.c: Generate events
        when we receive invalid SSH2 packets, and when we receive invalid
        SFTP requests.

2010-12-10  castaglia <castaglia>

        * src/main.c: Generate an event whenever an invalid command (i.e. an
        unparsable command) is received from the client.

2010-12-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/TimeoutStalled.pm: Add tests
        which show that TimeoutStalled pertains to all data transfers,
        including LIST, NLST, MLSD, RETR, and STOR.

2010-12-09  castaglia <castaglia>

        * contrib/mod_ban.c, contrib/mod_sftp/scp.c, contrib/mod_tls.c: 
        Updating some macros based on a FreeBSD patch I found online (which
        wasn't passed on upstream to us).

2010-12-09  castaglia <castaglia>

        * src/netio.c: Refine the placement/timing of when the event
        containing FTP control data is generated.  This tweak allows the
        event listeners to possibly modify the data, and to have the changes
        actually seen/visible to the calling code.

2010-12-09  castaglia <castaglia>

        * include/netio.h: There's no reason that the number of bytes left
        in a pr_buffer_t should be negative; use a size_t data type instead
        of int.

2010-12-09  castaglia <castaglia>

        * src/netio.c: Generate an event whenever we read data from the
        network for the control connection, passing as event data the buffer
        we read in.  This event is generated *before* we start examining
        that data as Telnet/string data.  This allows modules to register listeners for this event; the
        modules can then examine the data for possibly malicious payloads
        and then do something appropriate (e.g. log the data, notify
        someone, drop the connection, generate an event for mod_ban, etc
        etc).

2010-12-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Don't run the
        Bug#3536 test by default; it's more for development/debugging than
        for regression.

2010-12-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add the
        reproduction recipe I was using for testing the changes for
        Bug#3536.

2010-12-09  castaglia <castaglia>

        * modules/mod_xfer.c: Make a reminder comment to myself to handle
        short writes to disk better.

2010-12-08  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/compress.c: Bug#3550 - SFTP compressed
        uploads can cause corrupted uploaded files.

2010-12-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add another
        regression test for Bug#3550, this one using compressed SFTP
        downloads.

2010-12-08  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Allocate a larger default buffer for
        incoming packets, to handle WRITE packets better.

2010-12-08  castaglia <castaglia>

        * tests/t/etc/modules/mod_sftp/bug3550.php,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding reproduction
        recipe for Bug#3550.

2010-12-07  castaglia <castaglia>

        * contrib/mod_sql.c, modules/mod_auth_unix.c: Restore the explicit
        casts inadvertently removed by the fix for Bug#3551; I believe these
        were there to quell compiler warnings on some platforms.

2010-12-07  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c, modules/mod_auth_unix.c: Bug#3551 -
        SQLAuthType Crypt implementation needs to handle NULL return value
        from crypt(3).

2010-12-04  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3548 - Null pointer segfault in
        mod_sftp when handling aborted connection.

2010-12-03  castaglia <castaglia>

        * contrib/mod_sql_sqlite.c: Fix logging of SQL query executing
        error.

2010-12-03  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
        contrib/mod_sftp/channel.h, contrib/mod_sftp/display.c,
        contrib/mod_sftp/display.h, contrib/mod_sftp/fxp.c,
        contrib/mod_sftp/fxp.h, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_sftp/ssh2.h: Bug#3515 - Support DisplayLogin
        functionality for SFTP connections.

2010-12-02  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding reproduction
        recipe for Bug#3544.

2010-12-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Adding
        regression test for Bug#3547.

2010-12-01  castaglia <castaglia>

        * NEWS, contrib/mod_ifsession.c, modules/mod_core.c: Bug#3547 -
        Multiple AllowClass directives not handled properly.

2010-11-30  castaglia <castaglia>

        * contrib/mod_ifsession.c, src/parser.c: Populate the cmd_rec->arg
        field for the cmd_recs generated during parsing.  This is useful for
        capturing/recording the full original configuration line.  Update mod_ifsession's logging to store and use the cmd->arg field,
        to better be able to determine which specific conditional context
        was merged in (or not).

2010-11-30  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#3536 - mod_sql has insufficient
        bounds checking in sql_prepare_where() function.

2010-11-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Adding unit
        tests for mod_wrap2 and the WrapOptions directive from Bug#3508.

2010-11-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add ExtendedLog
        RETR test for SFTP downloads.

2010-11-22  castaglia <castaglia>

        * src/log.c: Make very sure that our logging buffer isn't exceeded.

2010-11-19  castaglia <castaglia>

        * tests/t/config/commandbuffersize.t,
        tests/t/lib/ProFTPD/Tests/Config/CommandBufferSize.pm,
        tests/tests.pl: Adding tests for the CommandBufferSize directive.

2010-11-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: Allow unit tests the
        possibility of specifying a command timeout, in addition to the
        existing connection timeout, when instantiating a Net::FTP object.
        Useful for cases where the server may not actually send a response
        (e.g. if we send a too-long command).

2010-11-16  castaglia <castaglia>

        * src/timers.c: Make sure we reset the dynamic_timerno static
        variable when (re)initializing the Timers API as well.

2010-11-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add some tests for
        the SFTPRekey directive; fortunately rekeying seems to be supported
        well in libssh2/Net::SSH2.

2010-11-16  castaglia <castaglia>

        * contrib/mod_sftp/kex.c, contrib/mod_sftp/mod_sftp.c: Fix up some
        of the trace logging around rekeying to be a little clearer.  Fixed the handling of rekey-related timers; we were inadvertently
        removing the rekey interval timer when we wanted to remove the rekey
        timeout timer.

2010-11-16  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: Make sure that mod_facts is listed
        in the .spec file.

2010-11-16  castaglia <castaglia>

        * src/scoreboard.c: Don't forget to delete the ScoreboardMutex file
        as well.

2010-11-15  castaglia <castaglia>

        * include/scoreboard.h: Additional comments for the scoreboard entry
        fields.

2010-11-14  castaglia <castaglia>

        * NEWS: Mention the automatic setting of ScoreboardMutex when
        ScoreboardFile is used.

2010-11-14  castaglia <castaglia>

        * src/scoreboard.c: By default, whenever the ScoreboardFile is
        manually set via config, the ScoreboardMutex should be automatically
        set as well -- this makes helps preserve the principle of least
        surprise when upgrading proftpd.

2010-11-14  castaglia <castaglia>

        * tests/t/config/transferrate.t,
        tests/t/lib/ProFTPD/Tests/Config/TransferRate.pm, tests/tests.pl: 
        Adding unit tests for the TransferRate directive.

2010-11-14  castaglia <castaglia>

        * include/scoreboard.h, src/scoreboard.c: Adding trace logging of
        the pr_scoreboard_entry_update() function, for tracing when specific
        scoreboard entry fields are updated.

2010-11-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding a few more
        FTPS regression tests.

2010-11-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_site.pm: Quell minor perl
        compiler warning about redeclared variable.

2010-11-11  castaglia <castaglia>

        * modules/mod_site.c: Add some trace logging for when SITE
        CHGRP/CHMOD fail.

2010-11-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_site.pm,
        tests/t/modules/mod_site.t, tests/tests.pl: Start working on
        regression tests for the mod_site module and its SITE commands.

2010-11-11  castaglia <castaglia>

        * doc/howto/Scoreboard.html: Add mention of the new ScoreboardMutex
        directive in the Scoreboard howto.

2010-11-11  castaglia <castaglia>

        * RELEASE_NOTES: Updating release notes.

2010-11-11  castaglia <castaglia>

        * NEWS, include/scoreboard.h, modules/mod_core.c, src/scoreboard.c: 
        Bug#3208 - Improve ScoreboardFile performance under load.

2010-11-10  castaglia <castaglia>

        * NEWS, src/dirtree.c,
        tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm: Bug#3530 -
        Conflicting interactions among HideUser, HideGroup, and HideNoAccess
        directives.  Make sure that HideNoAccess does not override the results of the
        HideUser or HideGroup checks.

2010-11-10  castaglia <castaglia>

        * NEWS: Mention the new "OldProtocolCompat" SFTPOption in the NEWS
        file.

2010-11-09  castaglia <castaglia>

        * doc/howto/Limit.html: Add an example of user-specific login denied
        by a specific IP address.

2010-11-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Add unit test
        showing how to use mod_ifsession and <Limit LOGIN> to achieve
        per-user, per-IP address specific ACLs.

2010-11-09  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c: Bug#3531 - mod_quotatab contains
        duplicate EDQUOT errno code.

2010-11-09  castaglia <castaglia>

        * contrib/mod_sql_passwd.c: Refactor mod_sql_passwd a little,
        pulling the encoding logic into a separate function.  Hopefully this
        will make implementing the feature requested in Bug#3500 easier.

2010-11-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Start adding
        tests for the mod_sql_passwd functionality requested in Bug#3500.

2010-11-09  castaglia <castaglia>

        * src/netio.c: Stylistic nits; no functional change.

2010-11-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Telnet.pm: Fix the regression test for
        Bug#3521.  We need to use Net::Telnet::TELNET_IAC() instead of
        $Net::Telnet::TELNET_IAC, since it is a subroutine, not a scalar.

2010-11-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Telnet.pm: Correct the bug number for
        this unit/regression test.

2010-11-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_copy.pm: Fix broken mod_copy
        unit test.

2010-11-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add unit test
        where mod_sql will retrieve multiple group rows with different names
        but the same GID.  This test can be useful later.

2010-11-08  castaglia <castaglia>

        * contrib/mod_sql.c: Stylistic nit; no functional change.

2010-11-08  castaglia <castaglia>

        * contrib/mod_sql.c, include/display.h, src/display.c: Fixing
        regression in handling of SQLShowInfo, caused by fix for Bug#3423.

2010-11-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
        regression test for the fix for Bug#3423 as applied to SQLShowInfo
        lines.

2010-11-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm: Add regression
        test/reproduction recipe for Bug#3530.

2010-11-07  castaglia <castaglia>

        * doc/howto/Sendfile.html: Updating the Sendfile howto with
        description of the changes for Bug#3310, including how to get
        ftptop/ftpwho to show download rates while still taking advantage of
        the sendfile(2) optimal data transfer for downloads.

2010-11-06  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, modules/mod_xfer.c: Bug#3310 - UseSendfile
        should be supported in <Directory> and .ftpaccess sections.

2010-11-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/UseSendfile.pm: More unit tests
        for the UseSendfile functionality added for Bug#3310.  These tests
        are for the percentage syntax.

2010-11-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/UseSendfile.pm: Adding a bunch of
        UseSendfile tests for the functionality being added for Bug#3310.

2010-11-05  castaglia <castaglia>

        * tests/t/config/usesendfile.t,
        tests/t/lib/ProFTPD/Tests/Config/UseSendfile.pm, tests/tests.pl: 
        Adding regression tests for the UseSendfile directive, in
        preparation for working on Bug#3310.

2010-11-05  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm: Updating
        multiline DisplayConnect regression test for changes due to
        Bug#3423.

2010-11-05  castaglia <castaglia>

        * include/display.h: Typo.

2010-11-05  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#3529 - "LIST /*" now lists more than
        the expected directory.

2010-11-05  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding reproduction
        recipes/regression tests for Bug#3529.

2010-11-05  castaglia <castaglia>

        * src/dirtree.c: Address an issue seen by Thomas Shinnick where
        multiple config_recs for the same config_rec might be created
        unnecessarily in merge_down().  Specifically, if a config_rec was
        marked with the CF_MERGEDOWN_MULTI flag, merge_down() was not
        checking to see if a config_rec with all of the same values already
        existed in the destination subset list before merging it in.  These duplicate config_recs could lead to extraneous (or even buggy)
        duplicate processing, depending on how those config_recs were looked
        up/processed (i.e.  did the consuming code simply look up the first
        occurring config_rec, or would it look up and process all
        config_recs of that name, including the duplicates?).

2010-11-05  castaglia <castaglia>

        * NEWS, src/dirtree.c: Bug#3526 - CPU usage at 100% when checking
        HideFiles pattern.  The build_dyn_config() function was using different names for the
        .ftpaccess config_recs it created versus the ones it looked up.
        This lead to an explosing in the number of config_recs created,
        which in turn lead to huge amounts of memory and CPU being taken up.
        Thanks to Thomas Shinnick for diligently tracking down the problem,
        and for providing a thoroughly- researched fix.

2010-11-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Directory/Lookups.pm: Add unit
        test for reproducing the slow/CPU-eating behavior indicated in
        Bug#3526.

2010-11-04  castaglia <castaglia>

        * src/dirtree.c: Cleanup some stylistic nits found in src/dirtree.c,
        found while investigating Bug#3526.  Also add some necessary signal
        handling.

2010-11-04  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c, include/response.h, modules/mod_log.c,
        src/response.c, tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3528 -
        ExtendedLog %s variable not expanded properly for successful PASS
        commands.

2010-11-02  castaglia <castaglia>

        * NEWS, src/log.c: Bug#3525 - Default syslog logging causes logging
        to the wrong syslog facilities.

2010-11-01  castaglia <castaglia>

        * RELEASE_NOTES: Updating release notes.

2010-11-01  castaglia <castaglia>

        * contrib/mod_quotatab.c: Remove the pr_unregister_fs() call when
        unloading mod_quotatab.  First, the call was wrong:
        pr_unregister_fs() takes a path, not an FSIO name.  Second, the
        corresponding pr_register_fs() call happens in the session process;
        unloading the module happens in the daemon process.

2010-10-30  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Set the
        session.curr_cmd value in mod_sftp, for use by contrib modules.

2010-10-29  castaglia <castaglia>

        * contrib/mod_sftp/packet.c: Add trace logging of unknown disconnect
        reason codes.

2010-10-29  castaglia <castaglia>

        * contrib/mod_sftp/packet.c: Make sure we handle unknown disconnect
        reason code properly (Bug#3522).

2010-10-29  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/disconnect.c,
        contrib/mod_sftp/disconnect.h, contrib/mod_sftp/packet.c: Bug#3522 -
        Error when handling SSH DISCONNECT messages with no language tag.

2010-10-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Add unit tests
        showing that mod_site_misc properly honors <Limit> sections on its
        SITE commands.

2010-10-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Telnet.pm: Fix the Telnet tests to be
        skipped properly, without compilation error, if the Net::Telnet
        module isn't installed.

2010-10-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Telnet.pm, tests/t/telnet.t,
        tests/tests.pl: Add regression test for the Telnet IAC handling bug
        (Bug#3521).

2010-10-29  castaglia <castaglia>

        * NEWS, src/netio.c: Bug#3521 - Telnet IAC processing stack
        overflow.

2010-10-27  castaglia <castaglia>

        * NEWS, include/proftpd.h, modules/mod_core.c, src/dirtree.c,
        src/display.c, src/response.c: Bug#3520 -  MultilineRFC2228
        directive should be supported in <VirtualHost> and <Global>
        sections.

2010-10-27  castaglia <castaglia>

        * tests/t/config/multilinerfc2228.t,
        tests/t/lib/ProFTPD/Tests/Config/MultilineRFC2228.pm,
        tests/tests.pl: Adding unit tests for the MultilineRFC2228
        directive.

2010-10-24  castaglia <castaglia>

        * lib/pr_fnmatch_loop.c: Try to avoid more non-gcc compiler
        unhappiness.

2010-10-24  castaglia <castaglia>

        * lib/pr_fnmatch.c: Try to make non-gcc compilers happier by
        providing a __builtin_expect macro definition for them.

2010-10-23  castaglia <castaglia>

        * include/compat.h: Make sure to have a compatibility macro for the
        renamed is_fnmatch() function.

2010-10-23  castaglia <castaglia>

        * tests/api/netacl.c: Updated unit tests for NetACL parsing changes.

2010-10-23  castaglia <castaglia>

        * include/dirtree.h, include/str.h, src/dirtree.c, src/str.c,
        tests/api/str.c: Move the is_fnmatch() function into the str.c
        source file, and rename it to pr_str_is_fnmatch(), making it part of
        the public API.  Added unit tests for its behavior as well.

2010-10-22  castaglia <castaglia>

        * NEWS, contrib/mod_site_misc.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Bug#3519 -
        Inappropriate directory traversal allowed by mod_site_misc.

2010-10-21  castaglia <castaglia>

        * doc/contrib/mod_site_misc.html: Update mod_site_misc docs for new
        SiteMiscEngine directive.

2010-10-21  castaglia <castaglia>

        * NEWS, contrib/mod_site_misc.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Bug#3518 -
        Support SiteMiscEngine directive, for disabling mod_site_misc
        functionality via proftpd.conf.

2010-10-20  castaglia <castaglia>

        * lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: Avoid this compiler
        warning:   warning: shadowing built-in function 'mempcpy' by prefixing our provided mempcpy(3) name with underscores.  Whee.

2010-10-20  castaglia <castaglia>

        * contrib/mod_quotatab.c: Clear the "have update" flag in a few more
        places, just to be sure.

2010-10-20  castaglia <castaglia>

        * contrib/mod_quotatab.c: Make sure the "have update" flag is
        cleared properly for DELEs; related to Bug#3517.

2010-10-20  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3517 -
        mod_quotatab decrements file tally improperly for failed DELE
        commands.

2010-10-20  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Mention the space-avaiable SFTP
        extension in the SFTPExtensions doc.

2010-10-20  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/fxp.h,
        contrib/mod_sftp/mod_sftp.c: Bug#3516 - Support the
        "space-available" SFTP extension.

2010-10-20  castaglia <castaglia>

        * lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: Fix compilation of the
        newly-updated fnmatch implementation on non-GNU systems (i.e.
        systems which may not have the mempcpy(3) function).

2010-10-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Limit/LOGIN.pm: Updated unit test
        for Bug#3484.

2010-10-19  castaglia <castaglia>

        * src/modules.c: When unloading a module, try to remove as many
        callbacks that the module may have registered as possible.

2010-10-19  castaglia <castaglia>

        * NEWS, src/netacl.c, src/netaddr.c: Bug#3484 - Support range
        expressions for IP addresses in Allow/Deny/From rules.

2010-10-19  castaglia <castaglia>

        * RELEASE_NOTES: Mention the upgrade of the bundled fnmatch
        implementation in the release notes.

2010-10-19  castaglia <castaglia>

        * include/libsupp.h, lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: 
        Updating the bundled fnmatch implementation to that from glibc-2.9.
        This is needed to properly support range expressions, a la Bug#3484.
        Strange that this hasn't been noticed before.  Hopefully this upgrade doesn't break any existing configs.

2010-10-18  castaglia <castaglia>

        * NEWS: Updating NEWS for Bug#3514.

2010-10-18  castaglia <castaglia>

        * tests/tests.pl: More residue from Bug#3514.

2010-10-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Child.pm: Strange that these didn't
        get checked in, as part of Bug#3514.

2010-10-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Forgot to check this in;
        it's part of Bug#3514.

2010-10-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/AccessDenyMsg.pm,
        tests/t/lib/ProFTPD/Tests/Config/AccessGrantMsg.pm,
        tests/t/lib/ProFTPD/Tests/Config/AllowOverwrite.pm,
        tests/t/lib/ProFTPD/Tests/Config/AnonRejectPasswords.pm,
        tests/t/lib/ProFTPD/Tests/Config/AnonRequirePassword.pm,
        tests/t/lib/ProFTPD/Tests/Config/AuthAliasOnly.pm,
        tests/t/lib/ProFTPD/Tests/Config/AuthGroupFile.pm,
        tests/t/lib/ProFTPD/Tests/Config/AuthOrder.pm,
        tests/t/lib/ProFTPD/Tests/Config/AuthUsingAlias.pm,
        tests/t/lib/ProFTPD/Tests/Config/Classes.pm,
        tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm,
        tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm,
        tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm,
        tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm,
        tests/t/lib/ProFTPD/Tests/Config/DisplayChdir.pm,
        tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm,
        tests/t/lib/ProFTPD/Tests/Config/DisplayFileTransfer.pm,
        tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm,
        tests/t/lib/ProFTPD/Tests/Config/DisplayQuit.pm,
        tests/t/lib/ProFTPD/Tests/Config/GroupOwner.pm,
        tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm,
        tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm,
        tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm,
        tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm,
        tests/t/lib/ProFTPD/Tests/Config/HideUser.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxClients.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxInstances.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm,
        tests/t/lib/ProFTPD/Tests/Config/Order.pm,
        tests/t/lib/ProFTPD/Tests/Config/PathAllowFilter.pm,
        tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm,
        tests/t/lib/ProFTPD/Tests/Config/RequireValidShell.pm,
        tests/t/lib/ProFTPD/Tests/Config/RewriteHome.pm,
        tests/t/lib/ProFTPD/Tests/Config/ServerAdmin.pm,
        tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm,
        tests/t/lib/ProFTPD/Tests/Config/StoreUniquePrefix.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutLogin.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutNoTransfer.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutSession.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutStalled.pm,
        tests/t/lib/ProFTPD/Tests/Config/Trace.pm,
        tests/t/lib/ProFTPD/Tests/Config/UseFtpUsers.pm,
        tests/t/lib/ProFTPD/Tests/Config/UseGlobbing.pm,
        tests/t/lib/ProFTPD/Tests/Config/UserAlias.pm,
        tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm,
        tests/t/lib/ProFTPD/Tests/Config/UserPassword.pm: Update tests to
        use base set_up() and tear_down() methods.

2010-10-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Limit/Anonymous.pm,
        tests/t/lib/ProFTPD/Tests/Config/Limit/Filters.pm,
        tests/t/lib/ProFTPD/Tests/Config/Limit/LOGIN.pm,
        tests/t/lib/ProFTPD/Tests/Config/Limit/MFMT.pm,
        tests/t/lib/ProFTPD/Tests/Config/Limit/OPTS.pm,
        tests/t/lib/ProFTPD/Tests/Config/Limit/RMD.pm,
        tests/t/lib/ProFTPD/Tests/Config/Limit/SubDirectories.pm,
        tests/t/lib/ProFTPD/Tests/Config/Limit/XMKD.pm: Updating tests to
        use base set_up() and tear_down() methods.

2010-10-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm,
        tests/t/lib/ProFTPD/Tests/Config/Directory/Lookups.pm,
        tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm,
        tests/t/lib/ProFTPD/Tests/Config/FTPAccess/DELE.pm,
        tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm,
        tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Merging.pm,
        tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Updating tests
        to use base set_up() and tear_down() methods.

2010-10-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
        tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm,
        tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/HELP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/HOST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MFF.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MLST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PASS.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PORT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/REST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RETR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm,
        tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STAT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STOR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STOU.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STRU.pm,
        tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/USER.pm: Updating tests to use
        base set_up() and tear_down() methods.

2010-10-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_copy.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_ctrls.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_ifversion.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_radius.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_shaper.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_unique_id.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Updating tests
        to use the base set_up() and tear_down() methods.

2010-10-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
        tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Updating tests to
        use base set_up() and tear_down() methods.

2010-10-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logins.pm: Updating test to use the base
        set_up() and tear_down() methods.

2010-10-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Signals/ABRT.pm,
        tests/t/lib/ProFTPD/Tests/Signals/HUP.pm,
        tests/t/lib/ProFTPD/Tests/Signals/SEGV.pm,
        tests/t/lib/ProFTPD/Tests/Signals/TERM.pm: Updating tests to use the
        base set_up() and tear_down() methods.

2010-10-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3514 - Test
        suite tmpdir improvements.

2010-10-16  castaglia <castaglia>

        * modules/mod_delay.c: Use LONG_MAX as the delay ceiling.

2010-10-16  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: Remove now-unused variable, and avoid
        a verbose compiler warning.

2010-10-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
        an SFTP upload which exceeds a mod_quotatab limit; make sure that
        mod_sftp sends the proper error code and message.

2010-10-16  castaglia <castaglia>

        * contrib/mod_quotatab.c: When handling upload errors in
        mod_quotatab, try not to delete the bytes of files that were being
        appended to.  That is, only account for transfer differences if the
        number of transfer bytes is greater than zero, lest we penalize
        users inadvertently.

2010-10-15  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: Avoid compiler warning about returning
        a pointer (NULL, specifically) from a function which expects to
        return an unsigned int.

2010-10-15  jwm <jwm>

        * README.LDAP: update from latest mod_ldap bzr

2010-10-15  jwm <jwm>

        * contrib/mod_ldap.c: mod_ldap bzr r106:   2.9.0 looks ready to go mod_ldap bzr r105:   - check LDAPSearchScope value at config parse time   - support base scope

2010-10-14  jwm <jwm>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ldap.pm: round out the parts
        of mod_ldap we can test without our own slapd instance

2010-10-14  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Handle quota-related errno values in the
        OPEN request handler.

2010-10-14  castaglia <castaglia>

        * contrib/mod_quotatab.c: Make sure that the STOR and APPE handlers
        set errno appropriately, when the quota are reached.

2010-10-07  castaglia <castaglia>

        * NEWS, modules/mod_cap.c: Bug#3513 - EPERM error logged
        unnecessarily for SFTP logins on Linux.

2010-10-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add unit tests for
        "TLSOptions dNSNameRequired", and for combining the various cert
        checks via "TLSOptions iPAddressRequired dNSNameRequired
        CommonNameRequired".

2010-10-06  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Document the newly added (Bug#3512)
        CommonNameRequired TLSOption.

2010-10-06  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_tls.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3512 - Add ability
        to check client certificate CommonName (CN) when verifying SSL/TLS
        clients.

2010-10-06  castaglia <castaglia>

        * tests/t/etc/modules/mod_tls/NOTES,
        tests/t/etc/modules/mod_tls/client-cert-localhost.pem: Add a cert
        with a 'localhost' CN and DNS subjAltName value.  Update the notes
        with how to create this cert.

2010-09-29  castaglia <castaglia>

        * NEWS, contrib/mod_sql_sqlite.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3511 -
        SQLAuthType Backend not properly rejected by mod_sql_sqlite.

2010-09-28  jwm <jwm>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ldap.pm: honor $allow_auth
        in ldap_auth() test

2010-09-28  castaglia <castaglia>

        * RELEASE_NOTES: Make sure to mention the new NoErrorIfAbsent
        ListOption, from Bug#3506, in the release notes.

2010-09-28  castaglia <castaglia>

        * NEWS, modules/mod_ls.c,
        tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Bug#3506 - Support
        ListOption for returning 226 response code when listing nonexistent
        file, instead of 450.

2010-09-24  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Update the mod_sftp docs to note that
        all SFTPOptions must appear on the same line.

2010-09-20  castaglia <castaglia>

        * doc/contrib/mod_sql_passwd.html: Doc typos (missing line breaks).

2010-09-17  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Try to make it clear that all TLSOptions
        used must appear on the same line in the config file, rather than
        being spread out over multiple TLSOptions.

2010-09-17  castaglia <castaglia>

        * contrib/mod_tls.c: Minor tweaks to the log message about the
        NoSessionUseRequired TLSOptions parameter.

2010-09-16  castaglia <castaglia>

        * modules/mod_delay.c: Make the maximum selected delay be 1 hour.
        It's long, yes -- but still prevents the multiple days/years
        selection which one user was seeing.

2010-09-16  castaglia <castaglia>

        * modules/mod_delay.c: Add some guards to mod_delay, to try to curb
        overly excessive delays.  First, initialize the delay value records to use values of -1, and
        then make sure that such negative values are skipped when building
        the list of values from which to select the median.  Check that the selected median is greater than or equal to zero
        before using it.  Last, add an absolute limit on the selected delay; currently set to
        15 minutes.

2010-09-15  castaglia <castaglia>

        * RELEASE_NOTES, doc/contrib/mod_sftp.html: Add docs for the new
        SFTPClientAlive directive.

2010-09-15  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h,
        contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/packet.c,
        contrib/mod_sftp/packet.h,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3505 - Support
        for SSH2 client "alive" checks, a la OpenSSH's
        ClientAliveCount/Interval.

2010-09-14  castaglia <castaglia>

        * modules/mod_delay.c: Adding yet more trace logging to mod_delay.

2010-09-14  castaglia <castaglia>

        * modules/mod_delay.c: Adding more trace logging to mod_delay.

2010-09-14  castaglia <castaglia>

        * modules/mod_delay.c: Add a little more trace logging to mod_delay,
        in order to track down a segfault that I suspect is originating in
        there.  Also fix up the trace logging so that errno is not trampled
        as often (leads to more accurate log messages).

2010-09-13  castaglia <castaglia>

        * src/mkhome.c: Add support for trace logging of some of the
        CreateHome workings.

2010-09-10  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c, modules/mod_log.c,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3390 - Add
        extra %-variable to LogFormat directive to log UID/GID of logged
        user.

2010-09-08  castaglia <castaglia>

        * contrib/mod_sftp/kex.c: Fixing marking of DH_GEX_INIT command
        class to be AUTH.

2010-09-08  castaglia <castaglia>

        * contrib/mod_ban.c, contrib/mod_sftp/scp.c, contrib/mod_tls.c: Fix
        the getopt() resetting logic for HPUX11.

2010-09-07  castaglia <castaglia>

        * modules/mod_auth.c: Forgot to allocate space for another pointer
        in the CreateHome config_rec.

2010-09-07  castaglia <castaglia>

        * configure: Updated configure.

2010-09-07  castaglia <castaglia>

        * contrib/mod_sftp/msg.c: Only try to log stacktraces in mod_sftp if
        we have the backtrace(3) and backtrace_symbols(3) functions
        available.

2010-09-07  castaglia <castaglia>

        * config.h.in, configure.in: Add explicitly autoconf checks for the
        backtrace(3) and backtrace_symbols(3) functions, to better guard
        against situations where autoconf might find the execinfo.h header,
        but not the corresponding functions (e.g. on FreeBSD).

2010-09-07  castaglia <castaglia>

        * configure: Updated configure.

2010-09-07  castaglia <castaglia>

        * configure.in: When the --enable-devel=stacktrace option is used,
        check for the libexecinfo library.  This library is used on FreeBSD
        to provide the backtrace(3) function.

2010-09-03  castaglia <castaglia>

        * doc/howto/CreateHome.html: Updated the CreateHome howto to
        describe the new 'homegid' parameter.

2010-09-03  castaglia <castaglia>

        * NEWS, modules/mod_auth.c, src/mkhome.c,
        tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3503 - Support
        CreateHome parameter for specifying the group ownership of the home
        directory.

2010-09-02  castaglia <castaglia>

        * NEWS, src/parser.c,
        tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm: Bug#3502 - Support
        environment variables better in the config file.

2010-09-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add some regression
        tests showing that SFTP uploads/downloads, with compression enabled,
        are handled properly.

2010-09-01  castaglia <castaglia>

        * src/data.c: Given the possible confusion that the fixes for
        Bug#3135 and Bug#3487 may have, log when the data connection has
        disappeared in the debug logging, in addition to the trace logging.

2010-08-31  jwm <jwm>

        * tests/tests.pl: get verbose output from Test::Harness, too

2010-08-31  jwm <jwm>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ldap.pm,
        tests/t/modules/mod_ldap.t: start mod_ldap test suite

2010-08-31  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Adding more regression
        tests for the commands involved in Bug#3487.

2010-08-31  castaglia <castaglia>

        * include/conf.h: When compiling on AIX, if the _NO_PROTO macro is
        defined, make sure we provide a prototype for lseek(2).  We were
        doing this already for AIX4; we need to provide this prototype for
        AIX5 in such build situations as well.

2010-08-30  castaglia <castaglia>

        * NEWS, src/auth.c: Bug#3501 - <Anonymous> logins with
        "AuthAliasOnly on" still handled as anonymous logins.

2010-08-27  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/AuthAliasOnly.pm: 
        Regression/reproduction tests for Bug#3501.

2010-08-27  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logins.pm: Missing testcase tag.

2010-08-26  jwm <jwm>

        * contrib/mod_ldap.c: sync with mod_ldap bzr r104:   remove LDAPQuotas in favor of using the LDAPUsers configuration   don't see a point in configuring quota lookups separately, since
          the quota attrs should be on the user entry itself. if ldap quota
          lookups should be disabled, "ldap:" can be removed QuotaLimitTable.    this seems to cut down on duplicate configuration and hopefully
          continues the trend of making mod_ldap easier to configure.

2010-08-18  jwm <jwm>

        * contrib/mod_ldap.c: mod_ldap bzr r103:   fix handling of LDAPGroups directive

2010-08-17  jwm <jwm>

        * contrib/mod_ldap.c: mod_ldap bzr r102:   - overhaul configuration directives, hopefully yielding a more     straightforward, easier way to configure mod_ldap. The on/off
            booleans on these directives have been removed. Now, if the
            directive is present, the corresponding functionality will be
        enabled.        LDAPDoAuth, LDAPDoUIDLookups -> LDAPUsers         The third argument to LDAPDoUIDLookups (the UID filter
                template) is now the third argument to LDAPUsers.        LDAPDoGIDLookups -> LDAPGroups       LDAPDoQuotaLookups -> LDAPQuotas   - remove local verification of password hashes with OpenSSL;     'LDAPAuthBinds on' should do exactly the same thing in a more
            secure and standard way.    - remove deprecated LDAPNegativeCache and LDAPUseSSL directives   - add group members to debug output   - comment, log/debug message sync   - minor logic cleanup   - style improvements

2010-08-14  castaglia <castaglia>

        * src/main.c: Generate a 'core.shutdown' event when the daemon is
        shutting down.  Currently, a 'core.exit' event is generated when the daemon shuts
        down.  However, this event is also used to indicate when a session
        is closing; this forces modules to register two different event
        handlers for the same event name, depending on the context.  It is
        far cleaner (and less bug-prone) to have two distinct events for the
        two different types of "end of processing" behavior.  Gradually, the generation of the 'core.exit' event at daemon
        shutdown time will be phased out.

2010-08-14  castaglia <castaglia>

        * include/ctrls.h, src/ctrls.c: Make sure that
        pr_ctrls_unregister(&module, NULL) unregisters all of the actions
        for the given module.  Previously, this would return EINVAL.

2010-08-13  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c, modules/mod_xfer.c: Avoid spurious
        warnings like:   error adding 'mod_xfer.file-modified' note: File exists by ensuring that that note is not in the table before adding it.

2010-08-11  castaglia <castaglia>

        * include/timers.h, src/timers.c, tests/api/timers.c: Enhance the
        semantics of pr_timer_remove() such that it can be used to remove
        all timers registered for a module by providing a timerno argument
        that is less than zero.

2010-08-10  castaglia <castaglia>

        * RELEASE_NOTES: Updated release notes.

2010-08-10  castaglia <castaglia>

        * doc/contrib/ftpmail.html: Update the ftpmail doc with mention of
        the new --auth command-line option.

2010-08-10  castaglia <castaglia>

        * NEWS, contrib/ftpmail: Bug#3495 - Support SMTP authentication in
        the ftpmail Perl script.

2010-08-10  castaglia <castaglia>

        * doc/modules/mod_lang.html: Start on a FAQ section for the mod_lang
        docs.

2010-08-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Remove development
        cruft.

2010-08-09  castaglia <castaglia>

        * NEWS, src/data.c, tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: 
        Bug#3496 - Sessions don't end when the control connection is closed
        during a data transfer.

2010-08-09  castaglia <castaglia>

        * contrib/mod_rewrite.c: Fix harmless misspelling.

2010-08-06  castaglia <castaglia>

        * contrib/mod_sftp/packet.c: Explicitly configure the packet
        sequence number at which to do SSH2 rekeying, rather than relying on
        platform/compiler to Do The Right Thing(tm).

2010-08-05  castaglia <castaglia>

        * NEWS, src/netaddr.c: Bug#3494 - Null pointer dereference for
        IPv6-enabled proftpd when no DefaultServer configured.  Fix the pr_netaddr_is_loopback() function to properly handle
        IPv4-mapped IPv6 addresses.

2010-08-04  castaglia <castaglia>

        * src/dirtree.c,
        tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Additional fix,
        and regression test, for Bug#3491.

2010-08-04  castaglia <castaglia>

        * tests/t/config/limit/login.t,
        tests/t/lib/ProFTPD/Tests/Config/Limit/LOGIN.pm, tests/tests.pl: Add
        my regression/unit tests for Bug#3484 to CVS, so that they don't get
        lost in the shuffle.

2010-08-03  jwm <jwm>

        * contrib/mod_ldap.c: mod_ldap bzr r101   release 2.8.23

2010-08-03  castaglia <castaglia>

        * tests/t/etc/modules/mod_sftp/authorized_rsa_subj_keys: Forgot
        modified RFC4716 formatted key with a Subject header, for the
        regression tests for Bug#3493.

2010-08-03  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Updating SFTPOptions doc to mention new
        MatchKeySubject value, added for Bug#3493.

2010-08-02  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/rfc4716.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3493 - mod_sftp
        should only expect Subject key header to match if explicitly
        configured.

2010-08-01  castaglia <castaglia>

        * NEWS, src/data.c, tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm: 
        Bug#3492 - NULL pointer dereference during data transfer due to
        RNFR/RNTO.

2010-07-29  castaglia <castaglia>

        * NEWS, src/dirtree.c,
        tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Bug#3491 -
        Directory pattern not matching as expected.

2010-07-27  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: More feature
        tests for mod_wrap2, based on questions from the online forums.

2010-07-27  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#3482 - ProFTPD corrupts utmpx log
        files on FreeBSD 9.0/HEAD.

2010-07-23  castaglia <castaglia>

        * NEWS: Typo.

2010-07-21  castaglia <castaglia>

        * contrib/mod_sftp/interop.c: Quell compiler warning about possibly
        using an uninitialized value.

2010-07-20  castaglia <castaglia>

        * NEWS, modules/mod_ls.c, src/data.c,
        tests/t/lib/ProFTPD/Tests/Commands/PASV.pm: Bug#3487 - Null pointer
        dereference with EPRT/EPSV/PASV/PORT command during data transfer.

2010-07-20  castaglia <castaglia>

        * locale/bg_BG.po, locale/en_US.po, locale/fr_FR.po,
        locale/it_IT.po, locale/ja_JP.po, locale/ko_KR.po,
        locale/proftpd.pot, locale/ru_RU.po, locale/zh_CN.po,
        locale/zh_TW.po: Fixing 'data tranfer' -> 'data transfer' typo in
        the localized files.

2010-07-20  castaglia <castaglia>

        * NEWS: Typo.

2010-07-20  castaglia <castaglia>

        * src/data.c: Fix typo.

2010-07-16  castaglia <castaglia>

        * NEWS, src/main.c: Bug#3485 - Disabling IPv6 via -4 or --ipv4
        command-line options does not work.

2010-07-15  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3483 -
        NULL pointer dereference handlig SITE command in mod_quotatab.

2010-07-15  castaglia <castaglia>

        * src/netacl.c: Correct the name used in a trace message: if we're
        comparing DNS names, then log the DNS name (rather than the IP
        address).

2010-07-13  castaglia <castaglia>

        * doc/contrib/mod_ctrls_admin.html: Document the just-added 'ftpdctl
        debug level' feature.

2010-07-13  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: Make it possible to use 'ftpdctl debug
        level' to query the currently set DebugLevel of the running daemon.

2010-07-08  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3481 - Problem
        with SFTP directory listings.

2010-07-05  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression
        tests for mod_sftp's scanner/probe checks.

2010-07-05  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Document the new OldProtocolCompat
        SFTPOption for Bug#3480.

2010-07-05  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/interop.c, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_sftp/mod_sftp.h.in: Bug#3480 - mod_sftp does not
        interoperate with old ssh.com/Tectia clients.

2010-07-03  castaglia <castaglia>

        * include/proftpd.h: Try to avoid possible symbol collisions with
        the enclosing scope when using the PR_DEVEL_CLOCK macro by using
        less common (but still legible) variable names in the macro.

2010-07-03  castaglia <castaglia>

        * include/proftpd.h: Avoid datatype overflows by using the various
        timer macros, particularly timersub().  Tools which want to compare
        numbers can do the conversion of secs to usecs themselves.

2010-07-03  castaglia <castaglia>

        * include/proftpd.h, src/main.c, src/scoreboard.c: Start sprinkling
        the new PR_DEVEL_CLOCK macro throughout the code.  Right now, I'm
        analysing connection times, and what places in the connection
        acception code path take the most time.  Partly this stems from
        investigations into solutions/approaches for Bug#3208, although the
        numbers are leading me to read papers of select(2) performance, and
        thinking about using alternative notification mechanisms e.g.
        poll(2) or libevent.

2010-07-03  castaglia <castaglia>

        * configure: Updated configure.

2010-07-03  castaglia <castaglia>

        * configure.in, include/proftpd.h: Adding a macro that's useful for
        clocking a function call, in microseconds.  I'm using it quite a bit
        for load/performance tests.  To use the macro, use
        --enable-devel=timing.

2010-07-03  castaglia <castaglia>

        * modules/mod_core.c, src/main.c: Fix the errno reported for
        setrlimit(2) errors.  Transparently handle better the case where
        RLimitOpenFiles is used with only a single numeric parameter.

2010-07-03  castaglia <castaglia>

        * doc/contrib/mod_exec.html: Mention the newly added %A variable in
        the mod_exec docs.

2010-07-03  castaglia <castaglia>

        * NEWS, contrib/mod_exec.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Bug#3479 - Support
        anonymous username variable in mod_exec.

2010-06-30  castaglia <castaglia>

        * tests/t/config/authorder.t,
        tests/t/lib/ProFTPD/Tests/Config/AuthOrder.pm, tests/tests.pl: Add
        some regression tests for the AuthOrder directive.

2010-06-30  castaglia <castaglia>

        * src/auth.c: Set the module pointer for authoritative responses;
        previously this would only be set for non-authoritative responses.
        Add trace logging of when the response from an auth module is
        treated as authoritative, for faster debugging.

2010-06-30  castaglia <castaglia>

        * modules/mod_core.c: Stylistic nits; no functional change.

2010-06-29  castaglia <castaglia>

        * tests/t/etc/modules/mod_tls/ca-cert.pem,
        tests/t/etc/modules/mod_tls/client-cert.pem,
        tests/t/etc/modules/mod_tls/server-cert.pem: Adding new SSL certs
        for the mod_tls regression tests; these certs should be good for 10
        years.

2010-06-29  castaglia <castaglia>

        * tests/t/etc/modules/mod_tls/NOTES: Reminder notes to myself for
        generating the CRL and PKCS12 files.

2010-06-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Update the mod_tls
        regression tests to deal with changes in a newer Net::FTPSSL module.

2010-06-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ifversion.pm,
        tests/t/modules/mod_ifversion.t, tests/tests.pl: Adding regression
        tests for mod_ifversion.

2010-06-29  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, doc/contrib/index.html: Mention the new
        mod_ifversion module.

2010-06-29  castaglia <castaglia>

        * contrib/mod_ifversion.c, doc/contrib/mod_ifversion.html: Adding
        mod_ifversion to the contrib/ modules area.

2010-06-28  castaglia <castaglia>

        * RELEASE_NOTES: Minor formatting tweaks.

2010-06-28  castaglia <castaglia>

        * RELEASE_NOTES: Start fleshing out the RELEASE_NOTES and preparing
        for a release.

2010-06-28  jwm <jwm>

        * contrib/mod_ldap.c: revert r1.83 in favor of mod_ldap bzr r98 we shouldn't let user lookup failure prevent us from looking up any
        supplemental groups. this is primarily so mod_ldap can be used to
        look up group membership even when the user wasn't authenticated
        with mod_ldap.  this feels like a corner use-case, but i don't see a compelling
        reason we shouldn't support it since the change to prevent the
        segfault in this case is straightforward.

2010-06-28  jwm <jwm>

        * contrib/mod_ldap.c: revert r1.82 in favor of mod_ldap bzr r97   decline requests for ssh pubkeys if we're not configured to do
          auth.    since pubkeys are always looked up on user entries under the auth
          base dn, i don't see a reason to allow a NULL filter template,
        either.

2010-06-25  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
        tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Adding regression
        tests showing that logging to a full filesystem doesn't cause undue
        problems for proftpd's handling of a session.

2010-06-25  castaglia <castaglia>

        * tests/Makefile.in: Make sure that we actually run the API
        testsuite after compiling it.  Just compiling it, and not running
        it, is not so useful.

2010-06-25  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/REST.pm: Accidentally
        overloaded a function name.  Oops.

2010-06-24  castaglia <castaglia>

        * contrib/mod_sftp_sql.c: Make the log messages a little clearer
        when mod_sftp_sql can't base64-decode the key data.  Also, try
        handling the retrieved key data as being in the RFC4716 format
        first, then fallback to trying it as raw key data.  It is far more
        likely that the data will be in the RFC4716 format.

2010-06-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Add regression
        test which shows that even RFC4716 keys with headers that use the
        line continuation character are handled properly by mod_sftp_sql.

2010-06-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/AnonRejectPasswords.pm: Remove
        yet more debugging cruft.

2010-06-23  castaglia <castaglia>

        * tests/t/config/anonrejectpasswords.t,
        tests/t/lib/ProFTPD/Tests/Config/AnonRejectPasswords.pm,
        tests/tests.pl: Add regression test for the AnonRejectPasswords
        directive.

2010-06-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/AnonRequirePassword.pm: Remove
        debugging cruft.

2010-06-23  castaglia <castaglia>

        * tests/t/config/anonrequirepassword.t,
        tests/t/lib/ProFTPD/Tests/Config/AnonRequirePassword.pm,
        tests/tests.pl: Add regression tests for the AnonRequirePassword
        directive.

2010-06-23  castaglia <castaglia>

        * NEWS, contrib/mod_sql_sqlite.c: Bug#3474 - Using SQLite database
        and SQLLog directive can lead to problems under load.  To handle contention/synchronization among multiple processes
        attempting to update the same table, we need to handle SQLITE_BUSY
        for BEGIN, query, COMMIT statements separately.  And to make sure
        that even SELECTs are enclosed with explicit BEGIN/COMMIT calls.

2010-06-23  castaglia <castaglia>

        * doc/modules/mod_auth_unix.html: Start on a doc just for
        mod_auth_unix; we needed a place to document the AuthUnixOptions
        values.

2010-06-22  castaglia <castaglia>

        * configure: Updated configure.

2010-06-22  castaglia <castaglia>

        * modules/mod_auth_unix.c: Forgot to update copyright dates on the
        modified file.

2010-06-22  castaglia <castaglia>

        * NEWS, modules/mod_auth_unix.c: Bug#3475 - Add new 'noGetgrouplist'
        AuthUnixOption to work around buggy libc code.

2010-06-22  castaglia <castaglia>

        * configure.in: Back out the added --disable-getgrouplist configure
        option; Bug#3475 is going to be addressed a different way, with a
        runtime configuration directive.

2010-06-22  castaglia <castaglia>

        * src/auth.c: Make sure that if pr_auth_cache_set() is used to
        enable/disable auth caching, the configured setting is actually
        honored.  Previously this function only enabled/disabled caching
        _before_ any cache tables had been allocated.

2010-06-22  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#3476 - LIST/NLST of path starting with
        "-" fails.

2010-06-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Adding reproduction
        recipes/regression tests for Bug#3476.

2010-06-22  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Add FAQ about "line too long"
        authorized key errors.

2010-06-22  castaglia <castaglia>

        * contrib/mod_wrap2_sql.c: Additional fixes for Bug#3471.

2010-06-22  castaglia <castaglia>

        * configure: Updated configure.

2010-06-22  castaglia <castaglia>

        * configure.in: Add a --disable-getgrouplist configure option, to
        disable use of the getgrouplist(3) function, hopefully working
        around Bug#3475.

2010-06-21  castaglia <castaglia>

        * src/main.c: If the RLimitCPU directive (or other CPU resource
        limit) causes the kernel to send SIGXCPU to us, and proftpd has been
        compiled with --enable-devel=stacktrace, then log the stacktrace of
        what the CPU-exceeding process was doing at the time of the signal.
        This can help to track down badly behaving loops in the code.

2010-06-21  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Add SFTP FAQ about using Tectia/ssh.com
        host keys with mod_sftp.

2010-06-21  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Make it clearer in the mod_sftp docs
        that the modules does not support shell access.

2010-06-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm: Add
        reproduction recipe for Bug#3398 to the suite.  The recipe passes
        using the current code, but it's good to have the recipe here for
        regressions.

2010-06-21  castaglia <castaglia>

        * tests/t/etc/modules/mod_sftp/authorized_rsa16384_keys,
        tests/t/etc/modules/mod_sftp/test_rsa16384_key,
        tests/t/etc/modules/mod_sftp/test_rsa16384_key.pub,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add SFTP publickey
        authentication test using 16384-bit RSA key.

2010-06-20  castaglia <castaglia>

        * contrib/mod_sql_sqlite.c: Fix the "busy loop" mod_sql_sqlite
        logging; we were logging the wrong variable for the error message.
        Oops.

2010-06-20  castaglia <castaglia>

        * contrib/mod_sql_sqlite.c: Add logging of when mod_sql_sqlite
        retries a query due to SQLITE_BUSY.  Hopefully this will help shed
        light on why some users are seeing nested transaction errors.

2010-06-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Add
        regression test for Bug#3283.

2010-06-20  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c, modules/mod_log.c,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3395 -
        Provide LogFormat variable %d for non-directory commands.

2010-06-19  castaglia <castaglia>

        * doc/howto/ListOptions.html: Include the new options (-c, -u) from
        Bug#3396 in the ListOptions howto.

2010-06-19  castaglia <castaglia>

        * NEWS, modules/mod_ls.c,
        tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Bug#3396 - Support -c
        and -u LIST options.

2010-06-19  castaglia <castaglia>

        * contrib/mod_ldap.c: Make the pr_ldap_search() function have file
        scope, just like the other pr_ldap_*() functions.  This quells a
        compiler warning seen when the --enable-devel configure option is
        used.

2010-06-19  castaglia <castaglia>

        * NEWS, contrib/mod_ldap.c: Bug#3424 - Bad LDAP lookup can cause
        mod_ldap segfault under some conditions.  Handle a NULL result from pr_ldap_getpwnam() in the
        handle_ldap_getgroups() function.

2010-06-19  castaglia <castaglia>

        * contrib/mod_ldap.c: Quell compiler warning about an uninitialized
        pointer.

2010-06-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Add
        regression test (and correct configuration) for Bug#3166.

2010-06-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
        hostbased SSH2 authentication.

2010-06-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add mod_sftp
        regression tests for Bug#3472.

2010-06-17  castaglia <castaglia>

        * tests/t/etc/modules/mod_sftp/authorized_dsa2048_keys,
        tests/t/etc/modules/mod_sftp/authorized_dsa4096_keys,
        tests/t/etc/modules/mod_sftp/authorized_dsa8192_keys,
        tests/t/etc/modules/mod_sftp/authorized_rsa4096_keys,
        tests/t/etc/modules/mod_sftp/authorized_rsa8192_keys,
        tests/t/etc/modules/mod_sftp/test_dsa2048_key,
        tests/t/etc/modules/mod_sftp/test_dsa2048_key.pub,
        tests/t/etc/modules/mod_sftp/test_dsa4096_key,
        tests/t/etc/modules/mod_sftp/test_dsa4096_key.pub,
        tests/t/etc/modules/mod_sftp/test_dsa8192_key,
        tests/t/etc/modules/mod_sftp/test_dsa8192_key.pub,
        tests/t/etc/modules/mod_sftp/test_rsa4096_key,
        tests/t/etc/modules/mod_sftp/test_rsa4096_key.pub,
        tests/t/etc/modules/mod_sftp/test_rsa8192_key,
        tests/t/etc/modules/mod_sftp/test_rsa8192_key.pub: Adding more RSA
        and DSA keys of increasing sizes, for the mod_sftp regression tests.

2010-06-17  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/auth-publickey.c: Bug#3472 - mod_sftp
        publickey authentication fails for large keys.

2010-06-17  castaglia <castaglia>

        * NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#3471 - Null values in
        allow/deny rules causes mod_wrap2 to segfault.

2010-06-15  castaglia <castaglia>

        * NEWS, contrib/mod_ifsession.c: Bug#3467 - mod_ifsession does not
        merge <Directory> blocks properly.

2010-06-15  castaglia <castaglia>

        * NEWS, src/support.c,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#3469 -
        ExtendedLog's %f variable not properly expanded for DELE if path
        begins with tilde ('~').

2010-06-15  castaglia <castaglia>

        * contrib/mod_sftp/rfc4716.c: Use pr_fs_interpolate() rather than
        dir_interpolate(); the former is more verbose about its results, and
        the latter is too easy to misuse (i.e. too easy to not check for a
        NULL return value).

2010-06-15  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3470 - Deferred
        resolution <Directory> paths not handled properly by mod_sftp.

2010-06-14  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3465 - SIGSEGV at LIST after CCC.

2010-06-14  castaglia <castaglia>

        * src/main.c: Do not call table_handle_signal(FALSE) when handling
        SIGSEGV/SIGBUS in a stacktrace-enabled build; doing so will prevent
        proftpd from properly logging the stacktrace.

2010-06-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: More
        regression tests for Bug#3467.

2010-06-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Add regression
        test for Bug#3467.

2010-06-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add regression test
        for Bug#3465.

2010-06-11  castaglia <castaglia>

        * NEWS, contrib/mod_ifsession.c: Bug#3466 - mod_ifsession does not
        check for properly closed <IfUser> contexts.

2010-06-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Add an
        <IfGroup> test.

2010-05-27  castaglia <castaglia>

        * NEWS, contrib/ftpasswd: Bug#3463 - ftpasswd script's
        --delete-group option does not work.

2010-05-27  castaglia <castaglia>

        * NEWS, contrib/ftpasswd: Bug#3462 - ftpasswd script's --delete-user
        option does not work.

2010-05-25  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Update mod_sftp
        .ftpaccess unit test to check for regressions of Bug#3460.

2010-05-25  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3460 - REALPATH SFTP request can
        cause improperly cached directory configuration.

2010-05-25  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: I'm not sure why the path stashed for an
        OPENDIR request was being deliberately set to the empty string;
        remove it.  If it's an issue, it'll come up again.

2010-05-25  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm: Add more
        DefaultChdir tests.

2010-05-25  castaglia <castaglia>

        * tests/t/config/defaultchdir.t,
        tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm, tests/tests.pl: 
        Start on regression tests for the DefaultChdir config directive.

2010-05-25  castaglia <castaglia>

        * NEWS, src/auth.c: Bug#3431 - Ensure that timezone info files are
        opened prior to chroot.

2010-05-25  castaglia <castaglia>

        * contrib/mod_tls.c: Switch from using tls_log() to pr_log_debug()
        in the tls_init_ctx() function; the TLSLog file hasn't been opened
        when that function is called, which means that the log messages are
        effectively being lost.

2010-05-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test
        involving .ftpaccess files for mod_sftp; I'm trying to reproduce an
        issue that a mod_sftp user is having with this test, but not having
        much luck at the moment.  Still, it's a useful test to have in the
        repertoire.

2010-05-24  castaglia <castaglia>

        * contrib/mod_sftp/msg.c: In order to help track down cases where
        the allocated buffer sizes are not large enough to handle some of
        the messages that mod_sftp will handle, add logging of stack traces
        (assuming the platform has the execinfo.h header and the
        --enable-devel configure option has been used, to prevent stripping
        of the symbols from the installed executable).

2010-05-24  castaglia <castaglia>

        * NEWS, contrib/mod_radius.c: Bug#3459 - mod_radius segfaults during
        incorrect login due to stale data.

2010-05-24  castaglia <castaglia>

        * contrib/mod_radius.c: Quell compiler warnings about unused
        strtoul(3) return values.

2010-05-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Add unit test
        for SQL lookups of SSH2 keys using a query that uses the %u
        variable.

2010-05-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add a couple more
        SQL-related configuration tests to the mod_sftp suite.

2010-05-18  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/crypto.c: Bug#3458 - mod_sftp incorrectly
        performs OpenSSL cleanup.

2010-05-18  castaglia <castaglia>

        * tests/t/config/maxclients.t,
        tests/t/lib/ProFTPD/Tests/Config/MaxClients.pm, tests/tests.pl: 
        Start adding regression/feature tests for the MaxClients directive.

2010-05-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression
        tests for uploading/downloading empty dirs via SCP.

2010-05-06  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/scp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3456 - Problem
        attempting to recursively download a directory via SCP.

2010-05-06  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: Minor nit about the proper plurality
        in a trace message.

2010-05-05  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c,
        modules/mod_log.c, modules/mod_xfer.c,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3457 - Support
        LogFormat variable for indicating whether a file is being modified.

2010-05-05  castaglia <castaglia>

        * include/support.h, src/support.c: Missed some spots in the
        exists() functions where the path string should also be constified.

2010-05-05  castaglia <castaglia>

        * include/support.h, src/support.c: Constify the arguments the
        *exists() functions.

2010-05-04  castaglia <castaglia>

        * NEWS, locale/Makefile.in: Bug#3454 - msgfmt(1) options used for
        generating NLS files are not compatible with Solaris' msgfmt.

2010-05-02  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make sure that
        mod_sftp honors AllowStoreRestart and <Limit APPE> configurations
        properly, when the O_APPEND flag is used in an OPEN request.

2010-05-02  castaglia <castaglia>

        * modules/mod_xfer.c: Log, at debug level 8, if an APPE command is
        blocked because of a <Limit> configuration.

2010-05-01  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Make a note about better reporting of
        incomplete uploads, where possible.

2010-04-29  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Undo the 'vendor-id' extension-related
        changes I made earlier today; it was correct already.  I confused
        myself as to how the 'vendor-id' extension works.  This time, I'm
        leaving comments to my future self about why it's correct the way it
        is.

2010-04-29  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Minor cleanup of trace logging regarding
        the 'vendor-id' extension.  Guard against a client sending a
        'vendor-id' EXTENDED request, even if we didn't advertise support
        for that extension.

2010-04-29  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3452 - mod_sftp does not
        advertise its supported SFTP extensions for protocol version 5.  I read through the WinSCP source code to find out how it parsed the
        badly-defined extensions field of the "supported" extension, in the
        protocol version 5 draft.  The "supported2" extension, for protocol
        version 6, is at least nice enough to have a separate field of the
        extensions count, where the older "supported" does not.  Whee.

2010-04-28  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3451 - WinSCP can't upload files
        using protocol version 5 with mod_sftp.

2010-04-28  castaglia <castaglia>

        * src/main.c: Stylistic changes; no functional changes.

2010-04-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression
        tests for the various O_* flags that can be sent using SFTP protocol
        version 3 in OPEN requests.  Caught one bug a priori.

2010-04-28  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3450 - mod_sftp does not
        properly handle the O_APPEND flag in a SFTP OPEN request.

2010-04-27  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Add trace logging, at trace level 15 and
        higher, of the OPEN flags as strings.  Hopefully this can be used to
        figure out why WinSCP, when requesting SFTP protocol version 5,
        doesn't like how mod_sftp handles an OPEN request.

2010-04-27  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression test
        for Bug#3425.

2010-04-27  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Correct a comment.

2010-04-27  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3449 - mod_sftp
        does not properly handle the O_TRUNC flag in a SFTP OPEN request.

2010-04-27  castaglia <castaglia>

        * NEWS: Bug#3448 - Ensure that STAT/LSTAT/FSTAT SFTP requests do not
        use cached/stale data.

2010-04-27  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Remove debugging
        cruft.

2010-04-27  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression test
        for Bug#3447.  I wasn't able to actually reproduce the issue with
        this unit test, but having the code around is useful.

2010-04-26  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/scp.c: Bug#3447 - mod_sftp can become
        confused during large recursive SCP uploads.

2010-04-25  castaglia <castaglia>

        * contrib/mod_shaper.c: Add trace logging, using the "lock" trace
        channel, of mod_shaper's locking of its ShaperTable.

2010-04-25  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Leave a note to myself to investigate
        whether <Limit MKD> should apply to recursive directory uploads via
        SCP.  Probably yes.

2010-04-25  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Remove unused strlen(3) call.

2010-04-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm: Add unit test for
        CreateHome's skel parameter.

2010-04-23  castaglia <castaglia>

        * src/dirtree.c: Use updated patch for Bug#3446.

2010-04-23  castaglia <castaglia>

        * NEWS, src/dirtree.c: Bug#3446 - .ftpaccess ignored in some cases.  The build_dyn_config() function, if given a non-directory path, was
        not properly determining the .ftpaccess file to check for, using
        that path.

2010-04-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Merging.pm: Add
        regression tests for Bug#3446.  The fix for this bug has not yet
        been committed to CVS, so these tests should fail...but I wanted to
        add them, so that I could work on more flows that use the same
        configuration as these tests from home.

2010-04-22  castaglia <castaglia>

        * doc/howto/Limit.html: Add an example of blocking renames.

2010-04-21  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Typo.

2010-04-21  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Add a "Known Client Issues" section to
        the mod_sftp docs.

2010-04-20  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: Fix bug in the fix for Bug#3444 that
        was committed yesterday.

2010-04-20  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#3443 - Deprecate the DisplayGoAway
        directive.

2010-04-20  castaglia <castaglia>

        * NEWS: Make sure the NEWS file tracks the correct bug title for
        Bug#3445.

2010-04-20  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: While I'll keep the
        'pessimisticNewkeys' SFTPClientMatch parameter supported in the
        code, I think I'll leave it out of the docs.  I really don't expect
        there to be many SSH clients that need this config option; at some
        point, I should be able to remove support for it from mod_sftp.

2010-04-20  castaglia <castaglia>

        * contrib/mod_sftp/kex.c: Update the copyright date for this file.

2010-04-20  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/interop.c, contrib/mod_sftp/interop.h,
        contrib/mod_sftp/kex.c, contrib/mod_sftp/mod_sftp.c: Bug#3445 -
        Support SFTPClientMatch option to enable pessimistic NEWKEYS
        behavior.  This changes the default behavior, such that mod_sftp always sends
        its NEWKEYS message to the client before reading the client's
        NEWKEYS message; this matches the OpenSSH behavior (and is what many
        clients want).  The SFTPClientMatch option added previously for this
        bug was changed to 'pessimisticNewkeys', to be used if there are any
        clients which expect the old mod_sftp behavior.

2010-04-20  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Make sure the statcache is cleared when
        handling STAT/FSTAT/LSTAT requests.

2010-04-19  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/interop.c, contrib/mod_sftp/interop.h,
        contrib/mod_sftp/kex.c, contrib/mod_sftp/mod_sftp.c,
        doc/contrib/mod_sftp.html: Bug#3445 - Need SFTPClientMatch option to
        enable optimistic NEWKEYS behavior.

2010-04-19  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.h.in: Update copyright date in the
        header, since we've modified the file this year.

2010-04-19  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_sftp/mod_sftp.h.in, doc/contrib/mod_sftp.html: Bug#3444
        - Support SFTPOptions parameter to disable optimistic KEXINIT
        behavior.

2010-04-19  castaglia <castaglia>

        * doc/howto/Logging.html: Add Logging FAQ about logging xferlog data
        to syslog.

2010-04-18  castaglia <castaglia>

        * contrib/mod_sftp/utf8.c, src/encode.c: More notes to myself
        regarding possible encoding failures and their causes.

2010-04-17  castaglia <castaglia>

        * tests/t/config/serveradmin.t,
        tests/t/lib/ProFTPD/Tests/Config/ServerAdmin.pm, tests/tests.pl: Add
        regression tests for the ServerAdmin directive.

2010-04-17  castaglia <castaglia>

        * doc/howto/DisplayFiles.html: As pointed out in Bug#3443, the
        DisplayGoAway directive hasn't worked for quite some time.  So
        remove it from the DisplayFiles howto.

2010-04-17  castaglia <castaglia>

        * modules/mod_core.c,
        tests/t/lib/ProFTPD/Tests/Config/DisplayChdir.pm: When handling a
        "DisplayChdir <path> true" configuration, a time_t was being stored
        in the memory space for a void pointer.  This is not a safe
        operation.  Instead, allocate proper space for the time_t value and
        use it.  Add a regression test for this DisplayChdir configuration, providing
        that the time_t storage change still works properly.

2010-04-17  castaglia <castaglia>

        * tests/t/config/displaychdir.t,
        tests/t/lib/ProFTPD/Tests/Config/DisplayChdir.pm,
        tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm, tests/tests.pl: 
        Added regression tests for DisplayChdir, and updated DisplayLogin
        tests, both as part of Bug#3423.

2010-04-17  castaglia <castaglia>

        * modules/mod_core.c, src/display.c: Additional fixes for Bug#3423,
        handling single line DisplayLogin and DisplayChdir files, and
        multiline DisplayChdir files.

2010-04-17  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3440 -
        ScanOnLogin QuotaOption not honored properly if tally record has to
        be created.

2010-04-16  castaglia <castaglia>

        * contrib/mod_radius.c, contrib/mod_rewrite.c,
        contrib/mod_sftp/scp.c, contrib/mod_sql.c, modules/mod_log.c,
        modules/mod_ls.c, src/dirtree.c, src/display.c, src/event.c,
        src/throttle.c: Sprinkle more calls to pr_signals_handle() in
        potentially long-running loops.

2010-04-16  castaglia <castaglia>

        * modules/mod_ls.c: Coding style nits; no functional change.

2010-04-16  castaglia <castaglia>

        * doc/howto/Logging.html: Mention the configure option for Bug#3436
        in the Logging howto's section on FIFOs.

2010-04-14  castaglia <castaglia>

        * NEWS, modules/mod_core.c, src/dirtree.c,
        tests/t/config/limit/opts.t,
        tests/t/lib/ProFTPD/Tests/Config/Limit/OPTS.pm, tests/tests.pl: 
        Bug#3438 - <Limit> configuration cannot be applied to OPTS command.

2010-04-14  castaglia <castaglia>

        * NEWS, src/encode.c: Bug#3439 - Encoding fails if an NLS-enabled
        proftpd starts in a UTF8 locale.

2010-04-14  castaglia <castaglia>

        * src/main.c: Stylistic nit.

2010-04-14  castaglia <castaglia>

        * contrib/mod_tls.c: Make sure that the SSL/TLS renegotiation timer
        gets a dynamic timer ID.  This isn't causing any problems, per se,
        but having a timer ID of zero when it is not intended can lead to
        confusion and/or issues later.

2010-04-14  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Silly typos in comment; no functional
        change.

2010-04-13  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3437 -
        UseImplicitSSL TLSOption causes PBSZ/PROT commands to fail.

2010-04-13  castaglia <castaglia>

        * configure: Updated configure for Bug#3436.

2010-04-13  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, src/log.c: Bug#3436 - Support
        build-time option to disable use of nonblocking open of log files.

2010-04-13  castaglia <castaglia>

        * contrib/mod_sftp/utf8.c, src/encode.c: Remove unused variables,
        and quell compiler warnings about "incompatible pointer types" on
        FreeBSD.

2010-04-13  castaglia <castaglia>

        * contrib/mod_sftp/utf8.c, src/encode.c: Notes to myself to
        double-check (and then rely on) the loop condition for the iconv(3)
        loop.

2010-04-13  castaglia <castaglia>

        * contrib/mod_sftp/utf8.c, src/encode.c: Additional part of fix for
        Bug#3435.

2010-04-12  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/utf8.c, src/encode.c: Bug#3435 -
        Encoding/decoding conversion can cause CPU spike.

2010-04-12  castaglia <castaglia>

        * contrib/mod_sftp/utf8.c, src/encode.c: Make sure we reset any
        state contained in iconv_t before calling iconv(3).

2010-04-12  castaglia <castaglia>

        * contrib/mod_sftp/display.c: An SFTPDisplayBanner file can only be
        displayed at the start of session, prior to the transfer of any
        data.  So there's no need to support Display variables such as %o,
        %K, etc; their values will always be zero.

2010-04-12  castaglia <castaglia>

        * src/trace.c: Prevent a recurrence of Bug#3434 by treating a trace
        message level of zero as an invalid parameter.

2010-04-12  castaglia <castaglia>

        * src/fsio.c: Include the number of bytes being read/written in the
        trace messages for the read()/write() callbacks.

2010-04-12  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/Makefile.in, contrib/mod_sftp/auth.c,
        contrib/mod_sftp/display.c, contrib/mod_sftp/display.h: Bug#3433 -
        SFTPDisplayBanner does not handle variables in configured file.  This isn't the best implementation, since the Display code from the
        core proftpd engine is basically copied here.  It would be better if
        the core code and this code shared the same code path for looking up
        and interpolating variables; that's work for later.

2010-04-12  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c, src/fsio.c: Bug#3434 - TraceLog contains
        messages even with "Trace DEFAULT:0" configured.

2010-04-12  castaglia <castaglia>

        * NEWS, contrib/mod_exec.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Bug#3432 -
        ExecBeforeCommand does not interpolate the %F/%f variables properly.

2010-04-12  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/scp.c: Bug#3427 - mod_sftp does not handle
        recursive SCP uploads properly.

2010-04-12  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Add mod_sftp FAQ about
        UserOwner/GroupOwner, and the need to use the RootRevoke directive.

2010-04-12  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/Makefile.in, contrib/mod_sftp/auth.c,
        contrib/mod_sftp/fxp.c, contrib/mod_sftp/misc.c,
        contrib/mod_sftp/misc.h, contrib/mod_sftp/scp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3429 - mod_sftp
        should honor the UserOwner and GroupOwner directives.

2010-04-11  castaglia <castaglia>

        * modules/mod_xfer.c: Minor style nits in stor_chown(); no
        functional changes.

2010-04-11  castaglia <castaglia>

        * doc/howto/Tracing.html: Add a FAQ/example to the Tracing howto
        describing how to use Trace in mod_ifsession sections.

2010-04-11  castaglia <castaglia>

        * NEWS, modules/mod_core.c, tests/t/config/trace.t,
        tests/t/lib/ProFTPD/Tests/Config/Trace.pm, tests/tests.pl: Bug#3428
        - Honor the Trace directive in mod_ifsession sections.  Unit/regression tests for this feature have also been added to the
        testsuite.

2010-04-09  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/scp.c: Bug#3425 - Improperly constructed
        destination paths for SCP uploads.

2010-04-09  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/auth.c: Bug#3426 - mod_sftp does not log to
        TransferLog by default.

2010-04-09  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Cache errno in a few more places, so that
        the proper error is reported.

2010-04-09  castaglia <castaglia>

        * src/main.c: Automatically log stacktraces for a SIGBUS signal,
        just as we do for a SIGSEGV signal, if --enable-devel=stacktrace has
        been used to configure proftpd.

2010-04-08  castaglia <castaglia>

        * src/mkhome.c: Stylistic cleanup/changes; no functional changes.

2010-04-08  castaglia <castaglia>

        * doc/howto/CreateHome.html: Typo.

2010-04-07  castaglia <castaglia>

        * modules/mod_core.c: With the fix for Bug#3423, the adding a
        trailing blank line to the DisplayQuit message is no longer
        necessary.

2010-04-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm: Update the
        DisplayLogin regression test to match the current behavior, as per
        changes for Bug#3423.

2010-04-07  castaglia <castaglia>

        * NEWS, include/display.h, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_xfer.c, src/display.c, src/main.c: Bug#3423 - Last line
        of multiline DisplayLogin file improperly handled.

2010-04-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_unique_id.pm: And update the
        last few places in the testsuite where we should be using a timeout
        of 30 secs when reading from a data connection.

2010-04-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm,
        tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Merging.pm,
        tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
        tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Use a timeout of
        30 secs when reading from data connections, to avoid spurious
        testsuite errors.

2010-04-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm,
        tests/t/lib/ProFTPD/Tests/Config/DisplayFileTransfer.pm,
        tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm,
        tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm,
        tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm,
        tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm,
        tests/t/lib/ProFTPD/Tests/Config/HideUser.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutNoTransfer.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutStalled.pm,
        tests/t/lib/ProFTPD/Tests/Config/UseGlobbing.pm: Use a timeout of 30
        secs when reading from a data connection; this avoids spurious
        testsuite errors.

2010-04-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/REST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: When reading from a data
        connection, use a timeout of 30 secs; this helps prevent/avoid
        spurious testsuite errors.

2010-04-07  castaglia <castaglia>

        * src/main.c: Add trace logging of when the response chains are
        flushed during the command dispatch cycle.

2010-04-05  castaglia <castaglia>

        * utils/ftpcount.c: Fix a pedantic memory leak spotted by cppcheck.
        Also fixes the code style in a few places.

2010-04-05  castaglia <castaglia>

        * contrib/mod_sftp/mac.c: Scrub the key memory area before freeing
        it.

2010-04-05  castaglia <castaglia>

        * contrib/mod_sftp/mac.c: Running cppcheck found a memory leak where
        we aren't freeing up malloc()'d memory on MAC errors.

2010-04-05  castaglia <castaglia>

        * contrib/mod_sftp_pam.c: Add note about whether mod_sftp_pam should
        pay closer attention to the list of modules configured via AuthOrder
        or not.

2010-04-04  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.h.in: Add more explanation about the
        assumptions involved in registering an 'exec' channel handler.

2010-04-04  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: Add more trace logging around the
        searching and invoking of registered 'exec' channel handlers.

2010-04-03  castaglia <castaglia>

        * src/main.c: Make sure that premature SIGALRMs don't kill us; we
        want to ignore SIGALRM unless we've registered a timer.

2010-04-02  castaglia <castaglia>

        * doc/contrib/mod_sftp_pam.html: Update the mod_sftp_pam doc to
        mention that mod_sftp_pam is enabled by default, not disabled.

2010-04-02  castaglia <castaglia>

        * modules/mod_lang.c: Log the reason why the LANG command is denied
        after a client has authenticated.

2010-04-01  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3419 - SSL_shutdown() errors with
        openssl-0.9.8m.

2010-03-31  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Update the mod_sftp doc, removing
        DirFakeUser/DirFakeGroup from the list of unsupported features.

2010-03-31  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3413 - Support DirFakeUser,
        DirFakeGroup for SFTP connections.

2010-03-31  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/auth.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3421 -
        RewriteHome does not work properly for SFTP connections.  The mod_sftp authentication code was inadvertently calling
        pr_auth_get_home() twice, albeit indirectly, which would lead to
        incorrectly (or more accurately, "unexpectedly") rewritten home
        directories when the RewriteHome feature is used.

2010-03-31  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add regression test
        for Bug#3420.

2010-03-30  castaglia <castaglia>

        * modules/mod_log.c: The third argument to pr_table_get() is a
        pointer (i.e. NULL), not a boolean.  In this particular case, since
        we were passing FALSE (i.e. zero, which is effectively the same as
        null), we're OK.  But pedantic compilers might complain about this.

2010-03-30  castaglia <castaglia>

        * NEWS, src/table.c: Bug#3418 - %U sometimes showing up as "(none)"
        in ExtendedLog.  When removing an entry from the linked list "chain" in a table, the
        table code was improperly setting the head of the chain to the
        removed entry's next pointer (e->next) when it shouldn't have been.
        In this case, the removed entry was the last of two entries in the
        list; its removal was causing the head of the chain to be set to
        null.

2010-03-30  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Removing
        extraneous mod_deflate test file; updating tests for new location as
        part of normal testsuite.

2010-03-25  castaglia <castaglia>

        * NEWS, utils/ftpcount.c, utils/ftpscrub.c, utils/ftptop.c,
        utils/ftpwho.c, utils/misc.c, utils/utils.h: Bug#3417 - Unsafe use
        of pointer when scanning config for ScoreboardFile.

2010-03-22  castaglia <castaglia>

        * src/scoreboard.c: Make sure we don't leak an fd when scrubbing the
        scoreboard and we fail to lock the entire scoreboard.

2010-03-19  castaglia <castaglia>

        * include/memcache.h, modules/mod_memcache.c, src/memcache.c: 
        Configure libmemcached to cache DNS lookups, and to always use the
        binary protocol (unless explicitly configured not to).  Make it
        possible to configure replication, and disable the use of the binary
        protocol.

2010-03-19  castaglia <castaglia>

        * doc/howto/DisplayFiles.html: Add a FAQ about Display files whose
        names contain spaces.

2010-03-19  castaglia <castaglia>

        * src/memcache.c: Make sure that memcache support compiles with
        older versions of libmemcached.  Specifically, that it will build
        using libmemcached-0.31, which is the version provided by Debian
        packages.

2010-03-18  castaglia <castaglia>

        * NEWS, contrib/mod_dynmasq.c: Bug#3411 - Support ftpdctl action to
        manually request a mod_dynmasq refresh.

2010-03-17  castaglia <castaglia>

        * NEWS, modules/mod_facts.c,
        tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Bug#3318 - MLSD should
        indicate symlinks if ShowSymlinks is enabled.

2010-03-15  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Another mod_sftp FAQ.

2010-03-14  castaglia <castaglia>

        * src/wtmp.c: Forgot to update the copyright date on this file.

2010-03-14  castaglia <castaglia>

        * NEWS, src/wtmp.c: Bug#3409 - Build failure on newer FreeBSD due to
        utmp/utmpx system changes.

2010-03-14  castaglia <castaglia>

        * modules/mod_memcache.c: Use cmd_rec->pool, not cmd_rec->tmp_pool,
        in a configuration handler.  The tmp_pool member isn't populated
        during parsing.

2010-03-14  castaglia <castaglia>

        * modules/mod_memcache.c: Instead of parsing the MemcacheServers
        string for every session, do it only during parsing.  The downside
        to this is that we now need to be sure to free up the memory
        allocated with the structures by libmemcached upon every restart,
        lest we get a restart-bound memory leak.

2010-03-14  castaglia <castaglia>

        * include/memcache.h: Fix some pesky compiler warnings about
        shadowed 'pool' declarations.

2010-03-13  castaglia <castaglia>

        * contrib/mod_tls.c: If SSL_shutdown() returns WANT_READ/WANT_WRITE,
        don't handle it as a fatal error.  It's new behavior in
        OpenSSL-0.9.8m, but won't cause problems when older OpenSSL versions
        are used if we catch and handle these errors as benign.

2010-03-12  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#3412 - Include files not included
        after restart due to permissions.

2010-03-12  castaglia <castaglia>

        * configure: Updated configure.

2010-03-12  castaglia <castaglia>

        * Make.rules.in, config.h.in, configure.in, include/conf.h,
        include/memcache.h, modules/mod_memcache.c, src/main.c,
        src/memcache.c: Initial work on memcache support.  Since this is
        experiement/new code, you must explicitly request it via the
        --enable-memcache configure option.

2010-03-11  castaglia <castaglia>

        * contrib/mod_deflate.c: Missing break statements.

2010-03-10  castaglia <castaglia>

        * contrib/mod_copy.c: Updated mod_copy to reflect the
        xferlog_write() changes.

2010-03-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_copy.pm,
        tests/t/modules/mod_copy.t, tests/tests.pl: Added unit/regression
        tests for mod_copy.

2010-03-10  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_copy.c,
        doc/contrib/mod_copy.html: Added mod_copy to the contrib modules
        area.

2010-03-10  castaglia <castaglia>

        * modules/mod_core.c, src/data.c: Fix some of the fallout from
        Bug#2196: data transfers were failing when the server socket was
        IPv6 and we converted the client from an IPv4-mapped IPv6 address to
        a plain IPv4 address -- this caused discrepancies in the families of
        the sockets opened for data transfers.

2010-03-10  castaglia <castaglia>

        * include/netaddr.h, src/inet.c, src/netaddr.c: The
        pr_netaddr_v4tov6() function was named incorrectly: it should be
        pr_netaddr_v6tov4().  And now it is.

2010-03-10  castaglia <castaglia>

        * NEWS, contrib/mod_radius.c: Bug#3371 - Group limits in <LIMIT
        LOGIN> blocks won't work with RADIUS-supplied groups.

2010-03-10  castaglia <castaglia>

        * NEWS, contrib/mod_radius.c: Bug#3373 - RadiusGroupInfo should not
        require that both names and IDs be VSAs.

2010-03-10  castaglia <castaglia>

        * doc/contrib/mod_ban.html: Update mod_ban docs to include mention
        of new -s command-line option for ban/permit ftpdctl actions.

2010-03-10  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c,
        include/xferlog.h, modules/mod_core.c, modules/mod_xfer.c,
        src/xferlog.c: Change the xferlog_write() function so that it takes
        an additional argument: the "special action flags" string to write
        into the TransferLog entry.  This will make it possible to set 'C'
        and/or 'T' where appropriate (e.g. when mod_deflate and/or mod_tar
        are in effect).  Updated the relevant callers as needed.

2010-03-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm,
        tests/t/modules/mod_deflate.t, tests/tests.pl: Adding
        unit/regression tests for mod_deflate.

2010-03-10  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_deflate.c,
        doc/contrib/mod_deflate.html: Adding mod_deflate to the contrib
        module area.

2010-03-10  castaglia <castaglia>

        * contrib/mod_sql.c: There's no reason for the caches used by
        mod_sql to be visible outside of that file.

2010-03-10  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3374 - TLSVerifyClient and TLSOptions
        NoCertRequest are incompatible.

2010-03-10  castaglia <castaglia>

        * modules/mod_core.c, src/data.c: Make sure that the setting of
        socket options on a passive data connection socket occur before the
        call to listen(2), not after.

2010-03-10  castaglia <castaglia>

        * src/inet.c: Removed development/debug logging.

2010-03-09  castaglia <castaglia>

        * configure: Updated configure.

2010-03-09  castaglia <castaglia>

        * configure.in: Bug33410: Fix build regression caused by changes for
        Bug#2768.  Specifically, the $libdir autoconf variable was
        inadvertently reused for the mysql_config checking; this variable is
        later used for determining the installation location of the
        proftpd.pc file.

2010-03-09  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c, contrib/mod_qos.c, include/bindings.h,
        include/compat.h, include/dirtree.h, include/inet.h,
        modules/mod_core.c, modules/mod_ident.c, src/bindings.c,
        src/data.c, src/dirtree.c, src/inet.c, src/main.c: Removed the
        unused server_list argument from pr_inet_create_conn() and friends.
        This also obseleted the backward-compatibilty macros for these
        functions.  Made the get_listening_conn() function in src/bindings.c public, so
        that the mod_ctrls_admin module could properly use it when
        enabling/disabling vhosts.  Added generation of events whenever proftpd opens sockets; the
        socket fd and its associated pr_netaddr_t and server_rec are
        provided as event data.  With this, the mod_qos module is now
        properly able to set QoS options on a socket _before_ any listen(2)
        or connect(2) call on that socket, i.e. before any TCP handshakes
        occur on that socket.  This should hopefully make the setting of QoS
        values (cf Bug#3353) work properly.

2010-03-09  castaglia <castaglia>

        * src/inet.c: Use the proper socket option level consistently when
        setting the TCP_NODELAY option.

2010-03-08  castaglia <castaglia>

        * configure: Updated configure.

2010-03-08  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, include/conf.h: Bug#3408 - Use
        <termios.h> instead of <sys/termios.h> where possible.

2010-03-08  castaglia <castaglia>

        * configure: Updated configure.

2010-03-08  castaglia <castaglia>

        * NEWS, configure.in: Bug#2768 - Provide
        --with-mysql-config/--with-postgres-config build options.

2010-03-08  castaglia <castaglia>

        * NEWS, modules/mod_ls.c,
        tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Bug#3407 - Use glob
        characters as literal characters if no glob match found for
        LIST/NLST.

2010-03-08  castaglia <castaglia>

        * NEWS, include/netaddr.h, src/inet.c, src/netaddr.c: Bug#2196 -
        Handle IPv4-mapped IPv6 addresses as IPv4 addresses.

2010-03-06  castaglia <castaglia>

        * src/fsio.c: Minor tweak needed so that FSIO modules work properly
        (i.e. have their callbacks used properly) on CWD commands with paths
        which do not contain a '/' character.

2010-03-06  castaglia <castaglia>

        * src/stash.c: Remove some development/testing cruft.

2010-03-06  castaglia <castaglia>

        * tests/Makefile.in, tests/api/modules.c, tests/api/stash.c,
        tests/api/tests.c, tests/api/tests.h: Updated API tests to reflect
        changed location of stash code.

2010-03-06  castaglia <castaglia>

        * Make.rules.in, include/conf.h, include/modules.h,
        include/stash.h, src/modules.c, src/stash.c: Separate out the symbol
        table lookup code from the modules.c file and place it in its own
        stash.c file.  This will make it easier to tweak the symbol table
        lookups without unnecessary code churn in the module-handling code.

2010-03-06  castaglia <castaglia>

        * src/modules.c: Removed unused/dead callback typedef.

2010-03-05  castaglia <castaglia>

        * NEWS, contrib/mod_ban.c: Bug#3393 - Specify the <VirtualHost> when
        using 'ban' or 'permit' ftpdctl actions.

2010-03-05  castaglia <castaglia>

        * src/parser.c: The default "server config" server_rec gets SID 1 in
        init_config(); this means that the SIDs assigned to vhosts in the
        parser need to start after 1, not after 0.  This was causing the
        "server config" and the first <VirtualHost> server_recs to both have
        a SID of 1.

2010-03-04  castaglia <castaglia>

        * NEWS, contrib/mod_ban.c: Bug#3392 - Display <VirtualHost>
        information in 'ban info' ftpdctl action response.

2010-03-04  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: Add a little more trace logging to the
        handling of SSH2 channel data.

2010-03-04  castaglia <castaglia>

        * contrib/mod_sftp/msg.c: Initialize these variables pedantically.

2010-03-04  castaglia <castaglia>

        * contrib/mod_sftp/msg.c: Log data lengths as unsigned longs for
        size_t, not unsigned ints.

2010-03-04  castaglia <castaglia>

        * doc/contrib/mod_qos.html: Adding documentation for mod_qos
        (Bug#3353).

2010-03-04  castaglia <castaglia>

        * README.modules, RELEASE_NOTES: Update docs with mention of
        mod_qos.

2010-03-04  castaglia <castaglia>

        * NEWS, contrib/mod_qos.c, include/dirtree.h, include/inet.h,
        src/data.c, src/dirtree.c, src/inet.c, src/main.c: Bug#3353 -
        Support setting IPTOS/DSCP markings on data and control streams.

2010-03-04  castaglia <castaglia>

        * tests/api/scoreboard.c, tests/api/str.c: Update failing scoreboard
        API test.  Add new sreplace API test.

2010-03-04  castaglia <castaglia>

        * src/str.c: Make sure that sreplace() never returns a pointer to a
        buffer on the stack.  This would rarely have happened anyway, but
        not it's not possible.  This involved setting a maximum limit (8K)
        on the size of the buffer that sreplace() would return.   Anything
        that needs a larger buffer than that can handle its own
        replacement/interpolation.

2010-03-04  castaglia <castaglia>

        * include/netaddr.h, src/netaddr.c: Fix the pr_netaddr_get_addrno()
        function (infrequently used) to return an explicit uint32_t, and fix
        up the error return values.  Not that the one caller (in mod_radius)
        actually checks for these.

2010-03-04  castaglia <castaglia>

        * src/dirtree.c: Avoid compiler warning about uninitialized
        variable.

2010-03-04  castaglia <castaglia>

        * modules/mod_core.c: Avoid compiler warning about unitialized
        variable.

2010-03-04  castaglia <castaglia>

        * src/throttle.c: Remove an unused variable.

2010-03-03  castaglia <castaglia>

        * contrib/mod_quotatab_file.c, contrib/mod_sftp/rfc4716.c,
        contrib/mod_shaper.c, modules/mod_delay.c, src/scoreboard.c,
        utils/scoreboard.c: Check the lseek(2) return value in more places.

2010-03-03  castaglia <castaglia>

        * include/options.h: 4K for an environ variable value might be a bit
        excessive; let's use 2K.

2010-03-03  castaglia <castaglia>

        * include/options.h, src/env.c, src/proctitle.c: Set a limit on the
        maximum length of environment variable values.

2010-03-03  castaglia <castaglia>

        * NEWS, src/fsio.c, tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: 
        Bug#3354 - Renaming a file across mount points to a full disk does
        not fail as expected.

2010-03-03  castaglia <castaglia>

        * NEWS, src/log.c: Bug#3404 - SyslogLevel not applied to SystemLog.

2010-03-03  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/mod_sftp.c: Bug#3405 - Multiple
        SFTPAuthorizedUserKeys stores causes segfault on 64-bit platforms.

2010-03-03  castaglia <castaglia>

        * contrib/mod_sftp/rfc4716.c: Fix the handling of errno such that
        the proper error is logged when we fail to open a file-based
        authorized keys file.

2010-03-02  castaglia <castaglia>

        * doc/contrib/mod_sftp_sql.html: Update the mod_sftp_sql doc to
        mention where to find the latest version.

2010-03-02  castaglia <castaglia>

        * NEWS, contrib/mod_ban.c: Bug#3339 - Support ban rule for clients
        which login too frequently.

2010-03-02  castaglia <castaglia>

        * NEWS, locale/Makefile.in, locale/ja_JP.po: Bug#3400 - Add Japanese
        translation.

2010-03-02  castaglia <castaglia>

        * NEWS, modules/mod_facts.c: Bug#3403 - File upload followed by MLSD
        leads to wrong file size entries in TransferLog.

2010-03-02  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3402 - mod_tls does not compile with
        pre-0.9.7 OpenSSL due to Bug#3349.

2010-03-02  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/crypto.c: Bug#3401 - mod_sftp does not
        compile with pre-0.9.7 OpenSSL.

2010-02-28  jwm <jwm>

        * contrib/mod_ldap.c: revno: 96 message:   emit quota parsing debugging output before parsing, since strsep()   modifies the passed string
        ------------------------------------------------------------ revno:
        94 message:   - ssh pubkey support was broken, since nothing was setting     ldap_ssh_pubkey_{basedn,filter}. use ldap_auth_{basedn,filter}
            instead, since it seems reasonable to keep pubkeys on the
            account that's authenticating.    - add support for multiple pubkeys for a user   - always initialize cached_ssh_pubkeys in
            pr_ldap_ssh_pubkey_lookup(), since we're only called if we don't
            have any pubkeys cached or need ot explicitly fetch pubkeys for a
        different user

2010-02-25  castaglia <castaglia>

        * contrib/mod_tls.c, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_facts.c, modules/mod_ls.c, modules/mod_site.c,
        modules/mod_xfer.c: Mark HELP strings for translation/localisation.

2010-02-25  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Limit/MFMT.pm: Remove development
        cruft.

2010-02-25  castaglia <castaglia>

        * doc/howto/Versioning.html: Fix typo, update example.

2010-02-24  castaglia <castaglia>

        * NEWS, modules/mod_facts.c,
        tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Bug#3302 - MLST response
        should include full path name.

2010-02-24  castaglia <castaglia>

        * contrib/mod_site_misc.c, modules/mod_facts.c: Forgot to update the
        copyright years on the files that I modified.  It's a bit pedantic,
        but it's a habit I try to keep.

2010-02-24  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3365 - First certificate in
        TLSCertificateChainFile is skipped.

2010-02-24  castaglia <castaglia>

        * NEWS, contrib/mod_site_misc.c, modules/mod_facts.c,
        tests/t/config/limit/mfmt.t,
        tests/t/lib/ProFTPD/Tests/Config/Limit/MFMT.pm, tests/tests.pl: 
        Bug#3399 - <Limit> statement does not restore access to MFMT
        commands.

2010-02-24  castaglia <castaglia>

        * doc/contrib/index.html: Updated index of contrib module docs.

2010-02-24  castaglia <castaglia>

        * include/version.h: Updated for CVS.

2010-02-24  castaglia <castaglia>

        * ChangeLog: Updated ChangeLog.

2010-02-24  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec,
        include/version.h: Preparing for release of 1.3.3-stable.

2010-02-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Quell Perl
        interpreter warnings about redeclared variables.

2010-02-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Quell some Perl
        interpreter warnings about redeclared variables.

2010-02-24  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Quell Perl
        interpreter warning about "useless use of private variable in void
        context".

2010-02-23  castaglia <castaglia>

        * NEWS, modules/mod_core.c, src/dirtree.c,
        tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Bug#3397 - HideFiles
        none does not work properly on a per-user basis.

2010-02-23  castaglia <castaglia>

        * modules/mod_ls.c: Make sure that the pluralization of "paths"
        matches the count displayed in the log message.

2010-02-22  castaglia <castaglia>

        * NEWS, contrib/mod_ban.c: Bug#3389 - Cannot create mod_ban
        whitelists using <Class> and <IfClass> sections.

2010-02-22  castaglia <castaglia>

        * src/bindings.c: If "SocketBindTight on" is in effect, then the fix
        for Bug#3306 would cause problems for non-IPv6-enabled builds.  The
        fix for Bug#3306 was not making a proper deep copy of the
        pr_netaddr_t object for its linked list; the shallow copy (just a
        pointer) would later point to memory whose contents had changed.
        This lead to a getnameinfo(3) failure (EAI_FAMILY, specifically),
        the attempt to create a new listening socket, and a collision with
        an existing socket.  The solution to this is simple: make a deep copy.

2010-02-21  castaglia <castaglia>

        * contrib/mod_sftp/rfc4716.c: Support use of FIFOs as
        SFTPAuthorized{Host,User}Keys files.

2010-02-21  castaglia <castaglia>

        * src/inet.c: Log if getsockname(2) returns an error.

2010-02-21  castaglia <castaglia>

        * src/dirtree.c: Handle an edge case/regression from Bug#3337.

2010-02-19  castaglia <castaglia>

        * contrib/mod_tls.c: Slightly better logging of SSL session reuse
        for data connections.

2010-02-19  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: Fix another compiler warning (this
        one specific to the pedantically stupid idiosyncrasis of gcc-4.4) in
        mod_sftp, per Bug#3394.

2010-02-19  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Fix some of the compiler warnings
        mentioned in Bug#3394.

2010-02-17  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: Rather than log (and ignore) any
        badly formatted version exchange strings from clients, log the
        client-sent string and then disconnect the client.  This is what
        OpenSSH does, and it's a more draconian and more efficient way of
        dealing with such ill-behaved clients.

2010-02-17  castaglia <castaglia>

        * doc/howto/Limit.html: Add blocking of STAT to "blind directory"
        example, per Bug#3391.

2010-02-15  castaglia <castaglia>

        * doc/howto/SQL.html: Add SQL FAQ about encrypting the connections
        between mod_sql and the backend database server.

2010-02-15  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/packet.c,
        contrib/mod_sftp/packet.h,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make sure that
        mod_sftp can handle clients which don't send properly formatted
        protocol version strings, as well as clients which do not send the
        proper protocol version string within a configured TimeoutLogin
        period.

2010-02-15  castaglia <castaglia>

        * configure: Updated configure.

2010-02-15  castaglia <castaglia>

        * configure.in: The various library directories need to be included
        in the `proftpd -V' output as well.

2010-02-15  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
        regression test for using %S in SQLNamedQuery statements in
        combination with a SQLLog ERR_* configuration.

2010-02-14  castaglia <castaglia>

        * src/table.c, tests/api/table.c: When using a pr_table_t allocated
        with the USE_CACHE flag (none are, currently), the
        pr_table_get()/pr_table_kget() functions would incorrectly return
        the previously looked up entry, every time, instead of iterating
        properly to the next entry in the linked list.

2010-02-14  castaglia <castaglia>

        * src/modules.c: Comment corrections.

2010-02-13  castaglia <castaglia>

        * include/version.h: Updated version for CVS.

2010-02-13  castaglia <castaglia>

        * ChangeLog: Updated ChangeLog.

2010-02-13  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Updates
        for the 1.3.3rc4 release.

2010-02-13  castaglia <castaglia>

        * RELEASE_NOTES: Preparing release notes for another RC.

2010-02-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Limit/Anonymous.pm: Add unit test
        for an <Anonymous> login which uses a <Limit LOGIN> rule based on a
        DSN name (hint: "UseReverseDNS on" is required for the rule to work
        as expected).

2010-02-11  castaglia <castaglia>

        * src/dirtree.c: Minor code style cleanup, no functional change.

2010-02-11  castaglia <castaglia>

        * src/netacl.c: More trace logging of comparison of netacls.

2010-02-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression
        tests for uploading and downloading zero-length files via SFTP and
        SCP.

2010-02-10  castaglia <castaglia>

        * contrib/mod_sftp/keys.c: Fix an issue in mod_sftp where, similar
        to in mod_tls, a file descriptor on a key file can be opened during
        SIGHUP where the fd is 0, 1, or 2.  This causes problems because the
        prompt-related fd fiddling changes these fds to deal with input from
        the admin.  The fix, as in mod_tls, is to use
        pr_fsio_get_usable_fd() to get an fd value that isn't one of the big
        three for that key file.

2010-02-10  castaglia <castaglia>

        * modules/mod_xfer.c: If "UseSendfile off" appears in the config but
        some other condition prevents the use of sendfile(), it's a little
        odd to see some other "declining use of sendfile" message in the
        logs.

2010-02-10  castaglia <castaglia>

        * include/trace.h, modules/mod_core.c, src/trace.c: Make the default
        trace channel name of "DEFAULT" a macro, to keep it in sync in the
        various files which use that string.

2010-02-10  castaglia <castaglia>

        * modules/mod_core.c: The mod_core module had not been updated to
        use the "DEFAULT" trace keyword rather than the "ALL" keyword.  This
        keyword should be made into a public macro.

2010-02-10  castaglia <castaglia>

        * doc/howto/Compiling.html: Slightly better/fuller example.

2010-02-10  castaglia <castaglia>

        * configure: Updated configure.

2010-02-10  castaglia <castaglia>

        * configure.in: Expand the list of modules which cannot be built as
        shared modules; allow some of the core modules to be built as shared
        modules (e.g. mod_delay, mod_auth_file, mod_ident, mod_auth_pam,
        etc).

2010-02-10  castaglia <castaglia>

        * modules/mod_delay.c: Quell compiler warning about unreachable
        code.  Prepare mod_delay for acting properly when compiled as a DSO
        module.

2010-02-10  castaglia <castaglia>

        * modules/mod_facl.c: Remove duplicate registration of module unload
        listener in mod_facl.

2010-02-10  castaglia <castaglia>

        * doc/howto/Compiling.html: Add FAQ about the "source file
        './modules/d_auth_pam.c' cannot be found" configure error that is
        sometimes reported.

2010-02-10  castaglia <castaglia>

        * contrib/mod_sftp/interop.c, contrib/mod_sftp/interop.h,
        contrib/mod_sftp/keystore.c, contrib/mod_sftp/keystore.h,
        contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/rfc4716.c,
        contrib/mod_sftp/rfc4716.h: Make sure that mod_sftp unregisters
        callbacks on module unload properly, as well as freeing up any
        allocated regular expressions on module unload.

2010-02-10  castaglia <castaglia>

        * contrib/mod_wrap2/mod_wrap2.c, contrib/mod_wrap2/mod_wrap2.h.in,
        contrib/mod_wrap2_file.c, contrib/mod_wrap2_sql.c: Provide a
        wrap2_unregister() API, so that wrap2 submodules can unregister
        their backends on e.g. module unload.  Update the wrap2 submodules
        to use this new API.

2010-02-10  castaglia <castaglia>

        * contrib/mod_tls.c: Quell some compiler warnings about unreachable
        code.

2010-02-10  castaglia <castaglia>

        * contrib/mod_sql.c: Unregister the registered authtype handlers
        upon module unload.

2010-02-10  castaglia <castaglia>

        * contrib/mod_quotatab.c: Set the prev pointer properly when
        registering a quotatab backend.

2010-02-10  castaglia <castaglia>

        * contrib/mod_rewrite.c: When mod_rewrite is a DSO module and is
        being unloaded (as during a restart), free any allocated regexes and
        prevent a memory leak.

2010-02-10  castaglia <castaglia>

        * src/bindings.c: When getting a listening connection, handle cases
        where an IP address string can't be returned for some reason.

2010-02-10  castaglia <castaglia>

        * NEWS, contrib/mod_ban.c, contrib/mod_dynmasq.c,
        contrib/mod_shaper.c: Bug#3387 - SIGHUP will eventually cause
        certain modules (as DSO modules) to segfault.  Register timers in the daemon process via a 'core.postparse'
        listener rather than a 'core.startup' listenver, and remove the
        registered timers in a 'core.restart' listener.  Otherwise, the
        previous registered timer can point to invalid memory if the
        registering module is a DSO module; SIGHUPs cause DSO modules to be
        unloaded/reloaded.

2010-02-09  castaglia <castaglia>

        * src/timers.c: Paranoid checking for NULL parameters for a trace
        message in the Timers API.

2010-02-09  castaglia <castaglia>

        * include/bindings.h, src/bindings.c: Pass the port number to use as
        an argument to pr_ipbind_create(), rather than assuming that the
        port in the given server_rec should be used.  There are cases where
        this may not be true (e.g. in mod_autohost's uses).

2010-02-08  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Handle another case where we weren't
        checking for a NULL result from calling dir_canonical_vpath() when
        handling REALPATH requests.

2010-02-08  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: If there are troubles in resolving the
        paths given in a SYMLINK request (e.g. because of ENAMETOOLONG),
        handle the error gracefully rather than segfaulting.

2010-02-08  castaglia <castaglia>

        * src/fsio.c: More defensive programming: check for cases where
        lookup_fs_file() returns NULL, and Do The Right Thing(tm).

2010-02-08  castaglia <castaglia>

        * src/fsio.c: Check for cases where we fail to lookup the FSIO
        object for a path because of an error like ENAMETOOLONG.  Without
        this, segfaults because of null pointer dereferences would occur.

2010-02-08  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Handle the case where dir_canonical_path()
        returns NULL (e.g. for ENAMETOOLONG) in the REMOVE handler in order
        to prevent null pointer dereference segfault.

2010-02-08  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Handle cases where dir_canonical_vpath()
        might return NULL (such as when the input name is too long); without
        this, a segfault due to null pointer dereference ensues.

2010-02-08  castaglia <castaglia>

        * src/trace.c: Prevent long trace log lines from trampling each
        other by truncating and adding a terminating newline properly.

2010-02-08  castaglia <castaglia>

        * contrib/mod_sftp/packet.c: Make sure we don't try to read in more
        data than can fit in our packet buffer.

2010-02-07  castaglia <castaglia>

        * configure: Updated configure.

2010-02-07  castaglia <castaglia>

        * configure.in: Make sure that compiler optimizations are disabled
        when --enable-devel is used.

2010-02-07  castaglia <castaglia>

        * include/support.h, src/support.c: Add a pr_strtime2() function,
        which allows callers the choice of whether the returned timestamp
        string is in GMT or in local time; the existing pr_strtime()
        function is hardcoded to always use local time.

2010-02-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Make sure that
        config_write() can handle Anonymous sections which contain nested
        Directory or Limit sections.

2010-02-05  castaglia <castaglia>

        * src/event.c: Include the memory address of the event callback
        being invoked in the trace message about event handling.

2010-02-04  castaglia <castaglia>

        * doc/contrib/mod_sftp_sql.html: Update the schema examples for
        storing SSH keys; include indices in the example schema.

2010-02-04  castaglia <castaglia>

        * src/pool.c: Make the name of the oom pool walking function be
        'oom_printf', just to be very clear.

2010-02-04  castaglia <castaglia>

        * include/pool.h, src/main.c, src/pool.c: Checking in some handy
        code I used yesterday to track down a memory leak in mod_sftp.  If proftpd is compiled using --enable-devel, AND if it is started
        using the -n/--nodaemon command-line option, then if an
        out-of-memory condition is encountered, proftpd will try to dump the
        memory pool statistics to stderr.  This is what showed me where all
        of the memory was being used in the mod_sftp case.

2010-02-04  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: Undo the previous change regarding the
        calling of destroy_channel() and the setting of the recvd_close
        flag.  Turns out that the previous arrangement was the way it was
        for a good reason.  Left myself a comment to this effect, so that I'm not tempted to
        make the same mistake again in the future.

2010-02-04  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Only handle aborted SCP transfers if there
        is actually a non-zero count of open file handles when the session
        is closed.

2010-02-04  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: No need to call destroy_channel()
        twice.  Also be sure to set the recvd_close flag *before* calling
        send_channel_done(), so that the channel will be properly closed
        when destroy_channel() is called on it.

2010-02-04  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: Guard against sending CHANNEL_EOF
        and/or CHANNEL_CLOSE twice.  Some clients rightfully treat this as a
        protocol error.  I noticed this when testing scp downloads using
        OpenSSH, and saw "protocol error: close rcvd twice".

2010-02-04  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/scp.c: Bug#3386 - Downloading via SCP can
        stall due to rekeying.

2010-02-04  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Typo.

2010-02-04  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Add some minor logging of the progress
        being made on the sending of data for a file via SCP.  Fix some cases where even though a file may have been downloaded
        successfully, the SCP may still have been handled as a failure by
        mod_sftp because of bad logic.

2010-02-04  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/channel.c: Bug#3385 - Memory leak during
        SCP download.

2010-02-04  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: When we've sent the last chunk of data
        when downloading via SCP, don't require the client to send one more
        SSH message.  Not sure why that was there.  Also, when writing SCP
        download data, spin on a zero window size *after* the channel data
        has been written, not before.  With these two changes, downloading via SCP a largish (700 MB) file
        finally worked, without hanging the scp(1) OpenSSH client.

2010-02-03  castaglia <castaglia>

        * contrib/mod_sftp/tap.c: Make "SFTPTrafficPolicy none" work; it was
        hanging if that setting had been explicitly configured in the
        proftpd.conf.  Also make "SFTPTrafficPolicy none" override the automatic use of the
        'rogaway' policy.  This makes it possible to test transfers of data
        without having the IGNORE messages bloat the data transferred.

2010-02-03  castaglia <castaglia>

        * src/child.c: If sending a signal to the child/session process
        fails, log the reason via trace logging.

2010-02-03  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: When freeing an unclosed channel, log
        the number of pending bytes that that channel might have.

2010-02-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: We don't want
        a bare '.' character in these regexes, just the '.' regex pattern
        meaning "match any character".

2010-02-03  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Quell compiler warnings about unused
        return values.

2010-02-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Add unit tests
        where PathDenyFilter is used to prevent names with a single leading
        (or trailing) space character (or both).

2010-02-03  castaglia <castaglia>

        * contrib/mod_sftp/keys.c: Quell compiler warnings about unreachable
        code; no functional change.

2010-02-02  jwm <jwm>

        * contrib/mod_ldap.c: revno: 93 message:   add ssh public key support (for mod_sftp_ldap) from TJ Saunders   <tj@castaglia.org>

2010-02-02  jwm <jwm>

        * contrib/mod_ldap.c: v2.8.22 * Disable the LDAPUseSSL directive, instead logging a warning so
          existing configurations do not cause ProFTPD startup failure.
          Previous versions enabled TLS when this directive was enabled. This
          behavior was incorrect, since the intended behavior was to enable
          LDAPS/LDAP over SSL. To use LDAPS, specify the ldaps:// protocol in
        the LDAPServerURL URL(s).    If you wish to continue using TLS, you must modify your
          configuration to specify the ldap:// scheme in the LDAPServerURL
          URL and add the directive 'LDAPUseTLS on' to your configuration.  * Add support for quota profiles. If a user entry doesn't have an
          ftpQuota attribute, search for the DN contained in the user's
          ftpQuotaProfileDN attribute (if present) and use the ftpQuota
          attribute present on that DN.  (Bug #2617) * Fix segfaults in debug logging on platforms whose printf() does
          not gracefully handle NULL string pointers. (Bug #3346) * Escape LDAP filter metacharacters in inserted values when
          interpolating filter templates.  * Emit a debug warning when an LDAP URL is specified without an
          explicit search scope.  * Bug 2922 locks authentication for an account to the same module
          that fetched the original account information. Remove the kludge
          wherein "*" is passed to pr_auth_check() if we're doing auth binds
          to prevent other modules from processing authentication. This has
          the convenient side effect of making the UserPassword directive work
          with LDAP-sourced accounts. Bump the required ProFTPD version to
        1.3.1rc3.  * Emit correct LDAP timeout in debug message, accounting for the
          default if none was specified. Reported by Nikos Voutsinas
        <nvoutsin@noc.uoa.gr>.  ------------------------------------------------------------ revno:
        92 message:   nuke unused variable
        ------------------------------------------------------------ revno:
        91 message:   release 2.8.22
        ------------------------------------------------------------ revno:
        90 message:   * Add support for quota profiles. If a user entry doesn't have an
            ftpQuota attribute, search for the DN contained in the user's
            ftpQuotaProfileDN attribute (if present) and use the ftpQuota
            attribute present on that DN.  (Bug #2617)
        ------------------------------------------------------------ revno:
        89 message:   * Fix segfaults in debug logging on platforms whose printf() does
            not gracefully handle NULL string pointers. (Bug #3346)
        ------------------------------------------------------------ revno:
        88 message:   cast ldap_querytimeout_tp.tv_sec to quell a compiler warning
        ------------------------------------------------------------ revno:
        87 message:   * Emit correct LDAP timeout in debug message, accounting for the
            default if none was specified. Reported by Nikos Voutsinas
        <nvoutsin@noc.uoa.gr>.
        ------------------------------------------------------------ revno:
        86 message:   thanks to Bug 2922 (Auth API allows one auth module to
          authenticate user data provided by a different auth module), we
          don't need to worry about passing a locked crypted password ("*") to
          pr_auth_check(), since our authz handler will only be called if we
        supplied the original user information.    as a result, if the UserPassword directive is in effect, we need
          to avoid doing auth binds and fall through to verifying the
          crypted password ourselves instead of declining the authz request
          and letting mod_auth_unix handle it.    bump the required proftpd version to 1.3.1rc3, since #2922 was
          resolved in that version. this seems reasonable, since nobody
          ought to be running 1.2.10rc2 any more and 1.3.1rc3 has been
        available for almost 2.5y now.
        ------------------------------------------------------------ revno:
        85 message:   add intermediary #ifdefs instead of littering the code with ldap
          api version- and openldap-specific preprocessor directives
        ------------------------------------------------------------ revno:
        84 message:   use a common pr_ldap_search() to avoid duplicate code in
          *_lookup()
        ------------------------------------------------------------ revno:
        82 message:   - cached_quota should be declared static   - return PR_HANDLED() in stub LDAPUseSSL config directive handler
        ------------------------------------------------------------ revno:
        81 message:   emit a debug warning if the search scope is 'base'. ldap urls
          default to this scope, and specifying:     LDAPServer ldap://127.0.0.1/   has bitten me several times when I forget that the search scope is
          'base', not 'sub'.
        ------------------------------------------------------------ revno:
        80 message:   re-add a stub for LDAPUseSSL that only logs a notice that it's
          been removed, so older configurations don't fail to start.    [followon to r75]
        ------------------------------------------------------------ revno:
        79 message:   quell a discarded-const compiler warning
        ------------------------------------------------------------ revno:
        76 message:   only allow ldaps:// url schemes if we have ldap_initialize()
        ------------------------------------------------------------ revno:
        75 message:   remove the LDAPUseSSL directive, as it wasn't having the intended
          effect (enable LDAP over SSL, aka LDAPS). LDAP_OPT_X_TLS_HARD is
          for having the connection fail hard on TLS errors. afaict, the only
          way to specify LDAPS connections is by passing a URL with the
          ldaps:// scheme to ldap_initialize().
        ------------------------------------------------------------ revno:
        74 message:   better debug message when no entries are found for a search
        ------------------------------------------------------------ revno:
        73 message:   dunno what i was thinking with the last round of filter
          interpolation changes, but it was completely wrong. use proftpd's
          sreplace() instead of doing the string manipulation ourselves, and
          check pr_ldap_interpolate_filter()'s return value for NULL.
        ------------------------------------------------------------ revno:
          72 escape filter characters mentioned in RFC 2254

2010-02-01  castaglia <castaglia>

        * doc/contrib/mod_sql.html: In the SQLShowInfo description, mention
        which section in RFC959 defines the list of acceptable response
        codes for each FTP command.

2010-02-01  castaglia <castaglia>

        * RELEASE_NOTES: Update the release notes; it's almost time for
        release.

2010-02-01  castaglia <castaglia>

        * doc/contrib/mod_sql_passwd.html: Updating mod_sql_passwd docs with
        description of new SQLPasswordUserSalt directive.

2010-02-01  castaglia <castaglia>

        * NEWS, contrib/mod_sql_passwd.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Bug#3380 -
        Support user-specific salts in encoded passwords.

2010-02-01  castaglia <castaglia>

        * NEWS, contrib/mod_radius.c: Bug#3381 - RADIUS authentication
        broken on 64-bit platforms.

2010-01-31  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add unit test for
        downloading an empty file over FTPS, to go with the just-added test
        for uploading an empty file over FTPS.

2010-01-31  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add unit test for
        uploading an empty file via FTPS.  Saw a bug report for an FTPS
        client for such an issue; the reporter wasn't sure whether it was a
        client or a server issue.  This test shows that it isn't an issue
        with mod_tls.

2010-01-31  castaglia <castaglia>

        * contrib/mod_sftp/crypto.c, contrib/mod_tls.c: Be paranoid and
        meticulous, and clean up the state of the OpenSSL RNG when we're the
        daemon process and we're shutting down.

2010-01-29  castaglia <castaglia>

        * NEWS, modules/mod_log.c,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#3383 -
        ExtendedLog variables for protocol and version not handled properly.

2010-01-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add a function for getting
        the version of the current proftpd (using `proftpd -V').

2010-01-26  castaglia <castaglia>

        * src/support.c: Add a counter for signal blocking/unblocking, to
        handle nested calls.  Also added trace logging for signal
        blocking/unblocking.

2010-01-26  castaglia <castaglia>

        * src/timers.c: Use proper pluralization in the timer trace
        messages.

2010-01-26  castaglia <castaglia>

        * contrib/mod_sql.c: Remove a lot of code duplication in mod_sql's
        handling of SQLLog directives by refactoring all of that code into a
        single new process_sqllog() function.

2010-01-26  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add unit test
        for a "SQLLog EXIT" configuration.

2010-01-23  castaglia <castaglia>

        * configure: Update configure.

2010-01-23  castaglia <castaglia>

        * configure.in, src/main.c: Define a PR_DEVEL_PROFILE macro if the
        --enable-devel=profile configure option is used.  This macro is
        needed to tell proftpd whether it should use _exit(2) or exit(2)
        when exiting a session process.  The gmon.out profile data file is
        only written when exit(2) is used; proftpd by default wants to use
        _exit(2).

2010-01-23  castaglia <castaglia>

        * contrib/mod_wrap2/mod_wrap2.c: Make sure that mod_wrap2 honors
        suffix patterns, as per hosts_access(5), in the table entries as
        well.

2010-01-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Adding more
        regression tests for mod_wrap2/mod_wrap2_file.

2010-01-23  castaglia <castaglia>

        * contrib/mod_wrap2/mod_wrap2.c: Fix bug where mod_wrap2 would
        attempt to resolve a table entry like "127.0." as a DNS name.
        According to the hosts_access(5) man page, an entry which ends in a
        '.' should be treated as an IP address prefix, and matched as such.

2010-01-23  castaglia <castaglia>

        * src/netaddr.c: When resolving names to addresses via
        getaddrinfo(3), give getaddrinfo() the hint that we're only
        interested in TCP, not UDP.

2010-01-22  castaglia <castaglia>

        * src/netaddr.c: Make sure that the errno value is preserved in
        failure cases in pr_netaddr_get_addr().

2010-01-21  castaglia <castaglia>

        * doc/howto/Upgrade.html: Update the Upgrade howto to use -d10
        rather than -d9; more information is better when testing a version
        for upgrading.

2010-01-20  castaglia <castaglia>

        * contrib/mod_ban.c: Removed some unnecessary logging.

2010-01-19  castaglia <castaglia>

        * NEWS, contrib/mod_wrap2/mod_wrap2.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Bug#3377 -
        mod_wrap2 attempts to resolve 'ALL' keyword as an IP address.

2010-01-19  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3375 - Minor SIGHUP-based memory leak
        in mod_tls.

2010-01-19  castaglia <castaglia>

        * doc/contrib/mod_sftp_sql.html: The mod_sftp_sql module should now
        be much easier to use; getting your SSH keys into the SQL tables no
        longer requires the Perl script for extracting just the base64 key
        data (although the module still supports that, too).

2010-01-19  castaglia <castaglia>

        * NEWS, contrib/mod_sftp_sql.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Bug#3376 - Handle
        the full RFC4716 formatted keys in SQL values.

2010-01-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm,
        tests/t/modules/mod_sftp_sql.t, tests/tests.pl: Add unit tests for
        mod_sftp_sql.

2010-01-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Fix the
        mod_wrap2_sql unit tests so that the SQLNamedQuery directives are
        resolved as expected.  Also increase the default TimeoutIdle, to
        handle running the testsuite on a machine which may take a little
        longer to resolve DNS names.

2010-01-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Adding unit
        tests for the mod_wrap2 modules which show that both the file- and
        sql-based modules can handle multiple rows, each with multiple
        entries, and with entries that are separated by commas, commas and
        whitespace, or just whitespace.

2010-01-15  castaglia <castaglia>

        * contrib/mod_radius.c: Update the copyright dates in mod_radius.c,
        since the code has changed.

2010-01-15  castaglia <castaglia>

        * NEWS, contrib/mod_radius.c: Bug#3372 - ProFTPD crashes when
        retrying a failed login with mod_radius being used.

2010-01-11  castaglia <castaglia>

        * doc/contrib/mod_sftp_sql.html: Use HTML entity encoding for angle
        brackets; more browsers like this.

2010-01-11  castaglia <castaglia>

        * src/scoreboard.c: Minor optimization to the fix for Bug#3370: when
        scrubbing the ScoreboardFile, call getpgrp() to get the current
        process group only once, rather than potentially once per entry.
        The current process group does not change during the lifetime of the
        scrub.

2010-01-10  castaglia <castaglia>

        * src/scoreboard.c: Whitespace/coding style change, no functional
        change.  Update the copyright date.

2010-01-10  castaglia <castaglia>

        * src/scoreboard.c: Use a variable name of 'curr_pgrp', as it is
        more accurate; we are checking that the process group of the
        scoreboard entry matches our own process group, not the process
        group of the daemon.  While these should all be the same process
        group, the value returned by getpgrp(2) is not the parent process
        group, but the current process group.  All part of Bug#3370.

2010-01-10  castaglia <castaglia>

        * configure: Updated configure.

2010-01-10  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, contrib/mod_ban.c,
        contrib/mod_ctrls_admin.c, include/scoreboard.h, src/scoreboard.c: 
        Bug#3370 - Lack of PID protection in ScoreboardFile.

2010-01-08  castaglia <castaglia>

        * contrib/mod_ban.c: Changed my mind; having the SID reported in the
        BanLog isn't helpful without knowing which SID maps to which vhost
        -- and that's more information than can easily fit in a small BanLog
        log message.

2010-01-08  castaglia <castaglia>

        * modules/mod_delay.c: Fix a small bug in mod_delay where the
        POST_CMD_ERR handler for the PASS command was closing the
        DelayTable.  This meant that any future USER/PASS commands sent by
        the client (say, if the password was entered wrong) would not be
        tracked in the DelayTable.  The same handler is used for both the
        POST_CMD and POST_CMD_ERR phases of the PASS command; the handler
        simply needed to close the DelayTable only for the POST_CMD phase.

2010-01-08  castaglia <castaglia>

        * contrib/mod_ban.c: Report the server ID for a ban entry in the
        BanLog; it helps differentiate what would otherwise look like
        duplicates.

2010-01-07  castaglia <castaglia>

        * contrib/mod_tls.c: When reading in key files, make sure that the
        fd used is not one of the big three (stdin, stdout, stderr).  Under
        some conditions, the fopen(3) call that was used would return an fd
        of 2, which would then be overwritten by the fd games played by
        set_prompt_fds().  OpenSSL, though, used the FILE * returned by
        fopen(), which still had the old fd -- and the loading of the key
        would fail "mysteriously", giving an error like "unable to read
        passphrase: (unknown)".

2010-01-07  castaglia <castaglia>

        * src/dirtree.c: Fix a rather subtle and nasty bug in proftpd's
        config directive lookup code.  The short version of the bug is that
        find_config() could possibly return the wrong config_rec.  The cause
        is related to Bug#2535, and the assigning and lookup of the config
        IDs.  When looking up an ID, the string used was not dup'd from the
        input, which means that the lookup key could change unexpectedly.  The rest of this change simply alters the coding style to make
        future debugging in that section of code easier.

2010-01-06  castaglia <castaglia>

        * doc/contrib/mod_ctrls_admin.html: Add example of using new
        'ftpdctl restart count' functionality.

2010-01-06  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: Use 'ftpdctl restart count' now to ask
        the server, via ftpdctl, how many times it has been restarted (via
        SIGHUP) since the server was started.

2010-01-06  castaglia <castaglia>

        * contrib/mod_sql.c: Clean up the coding style around handling
        SQLLog and SQLShowInfo directives; hopefully no functional changes.
        Also explicitly initialized some pointers which are used for pointer
        arithmetic, just to be safe.

2010-01-06  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Add SFTP FAQ about <Limit SITE_CHMOD>
        and SFTP uploads.

2010-01-05  castaglia <castaglia>

        * NEWS, modules/mod_auth.c,
        tests/t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm: Bug#3362 -
        Regression in handling of MaxLoginAttempts in 1.3.3rc1.

2010-01-04  castaglia <castaglia>

        * contrib/mod_wrap2/mod_wrap2.c: Fix broken checks added yesterday.
        Also quell compiler warnings about unreachable code.

2010-01-04  castaglia <castaglia>

        * doc/howto/Authentication.html: Updated Authentication howto,
        removing mention of deprecated AuthPAMAuthoritative directive and
        updating URLs to point to the www.proftpd.org docs.

2010-01-03  castaglia <castaglia>

        * contrib/mod_wrap2/mod_wrap2.c: Cleanup of some of the coding style
        in mod_wrap2 to be more legible.

2010-01-03  castaglia <castaglia>

        * contrib/mod_wrap2_file.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Fix bug in
        mod_wrap2_file where the module was not correctly parsing the
        "options" portion of a table.  This was leading to allowing of
        connections which should have been denied.

2009-12-28  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Add cert chain caveat that using the
        NoCertRequest means that mod_tls won't bother to use the cert chain
        file.

2009-12-28  castaglia <castaglia>

        * doc/howto/TLS.html: Fix typos.

2009-12-23  castaglia <castaglia>

        * doc/contrib/mod_wrap.html: The libnsl library isn't needed for
        mod_wrap on Mac OSX, either.

2009-12-20  castaglia <castaglia>

        * src/fsio.c: Rather than testing for CYGWIN to use the O_BINARY
        flag, just test for the O_BINARY flag directly.

2009-12-18  castaglia <castaglia>

        * contrib/mod_tls_shmcache.c: Fix compiler warning.  Rename the 'core.exit' event listener to be more accurate (it's a
        shutdown listener in some cases, not a session-exit listener).

2009-12-18  castaglia <castaglia>

        * NEWS, contrib/mod_tls_shmcache.c: Bug#3359 - mod_tls_shmcache
        segfaults during syntax check.

2009-12-15  castaglia <castaglia>

        * Makefile.in, NEWS: Bug#3356 - Build timestamp using date(1) can
        fail depending on environment.

2009-12-15  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3357 - mod_sftp fails to compile
        on AIX.

2009-12-15  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3358 - mod_tls doesn't compile with
        pre-0.9.7 openssl.

2009-12-15  castaglia <castaglia>

        * modules/mod_xfer.c: Typo.

2009-12-15  castaglia <castaglia>

        * contrib/mod_shaper.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_shaper.pm: Fix a problem in
        mod_shaper, noted in this forums post:   http://forums.proftpd.org/smf/index.php/topic,1628.0.html where the queue used by mod_shaper could become "clogged", full of
        old stale messages.  The fix, as noted as well, is to clear the
        queue of any messages for the destination process before sending a
        new message to that process.  Added a regression test to reproduce the behavior; it required a
        manual change to the mod_shaper code in order to fill up the queue
        in the time of the test.  Good enough for now.

2009-12-15  castaglia <castaglia>

        * contrib/mod_shaper.c: Fix compiler warnings about unreachable
        code, and rename an event listener to be more appropriately named.

2009-12-14  castaglia <castaglia>

        * doc/contrib/mod_wrap.html: Adding more examples of paranoid
        libwrap log messages.

2009-12-14  castaglia <castaglia>

        * doc/howto/TLS.html: Another SSL/TLS FAQ.

2009-12-14  castaglia <castaglia>

        * contrib/mod_tls.c: Log a warning if mod_tls has been configured
        with no server certs (via TLSRSACertificateFile,
        TLSDSACertificateFile, or TLSPKCS12File) for a given session.
        Without a server cert, mod_tls cannot support SSL/TLS sessions.

2009-12-14  castaglia <castaglia>

        * contrib/mod_tls.c: Clear up compiler warnings about unreachable
        code in mod_tls.  No functional change.

2009-12-14  castaglia <castaglia>

        * doc/howto/Stopping.html: Fixing up the Stopping howto, and adding
        an example Mac OSX launchd plist config.

2009-12-13  castaglia <castaglia>

        * utils/ftptop.c: Quell compiler warnings about unreachable code.

2009-12-12  castaglia <castaglia>

        * contrib/mod_sftp/auth.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Subtle tweaks to
        mod_sftp's handling and enforcement of the MaxLoginAttempts
        directive; it should now work more as users would expect.  Added a unit test to catch regressions on this, as well as a unit
        test showing the mod_sftp's handling of MaxLoginAttempts, in
        combination with a mod_ban rule for MaxLoginAttempts, works
        properly.

2009-12-11  castaglia <castaglia>

        * src/table.c: Clean up some "code will never be executed" warnings.

2009-12-11  castaglia <castaglia>

        * NEWS, contrib/mod_ban.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Bug#3355 - mod_ban
        should support BanEngine in <VirtualHost> config sections.

2009-12-11  castaglia <castaglia>

        * doc/howto/Versioning.html, doc/howto/index.html: Finally got
        around to writing up the version naming conventions that are
        currently used for ProFTPD releases.

2009-12-11  castaglia <castaglia>

        * contrib/mod_tls.c: Be a little more verbose in the error messages
        logged for SSL_accept() failures.

2009-12-11  castaglia <castaglia>

        * doc/modules/mod_lang.html: Typo.

2009-12-10  castaglia <castaglia>

        * include/version.h: Update the CVS version.

2009-12-10  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Typo.

2009-12-10  castaglia <castaglia>

        * ChangeLog: Update the ChangeLog.

2009-12-10  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
        to release 1.3.3rc3 today.

2009-12-10  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/auth.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3352 - mod_sftp
        does not reject/close connections that have been rejected by
        mod_wrap.

2009-12-10  castaglia <castaglia>

        * contrib/mod_wrap.c: Specify the module version data in the module
        structure for mod_wrap.

2009-12-10  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#3351 - Nonchrooted logins on HPUX do
        not get proper UID/GID.

2009-12-10  castaglia <castaglia>

        * NEWS, modules/mod_auth_file.c, tests/t/config/authgroupfile.t,
        tests/t/lib/ProFTPD/Tests/Config/AuthGroupFile.pm, tests/tests.pl: 
        Bug#3347 - mod_auth_file handles 'getgroups' request incorrectly.

2009-12-10  castaglia <castaglia>

        * src/support.c: Updated fix for Bug#3350.

2009-12-10  castaglia <castaglia>

        * NEWS, src/support.c: Bug#3350 - Segfault caused by scrubbing
        zero-length portion of memory.

2009-12-09  castaglia <castaglia>

        * src/expr.c: Fix the logic for iterating over the session.groups
        list, and handling NULL names, in the pr_expr_eval_group_or()
        function as well.

2009-12-09  castaglia <castaglia>

        * src/expr.c, tests/api/expr.c: Fix segfault uncovered by Michael,
        where the pr_expr_eval_group_and() function would not handling NULL
        names in the session.groups list.  This also makes the code which
        iterates over the session.groups list look much saner.

2009-12-09  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3349 - SSL_SESSION_cmp not available
        in OpenSSL 1.0.0 betas.

2009-12-09  castaglia <castaglia>

        * contrib/mod_tls.c: Found another place where we want to do the "is
        this a renegotiation" check only for control connections, not for
        data connections.  Also quell a compiler warning using a typecast; OpenSSL-1.0.0-betaN
        uses more const'd types than previously.

2009-12-09  castaglia <castaglia>

        * contrib/mod_tls.c: Make sure that mod_tls can be compiled using
        OpenSSL-1.0.0-betaN; the UNSAFE_LEGACY_RENEGOTIATONS flag was
        changed after OpenSSL-0.9.8l.

2009-12-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test using
        a combined mod_sftp+mod_wrap2 configuration, for use in preventing
        regressions in the interactions between these modules.

2009-12-08  castaglia <castaglia>

        * doc/contrib/mod_ban.html: Add a FAQ about creating whitelists for
        mod_ban.

2009-12-07  castaglia <castaglia>

        * modules/mod_xfer.c: Additional change necessary for fixing
        Bug#3345.  Use of trace logging (or not) affects the errno value,
        and we need to make sure that the original errno value is preserved.

2009-12-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
        tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PASS.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm,
        tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STOU.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STRU.pm,
        tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/USER.pm,
        tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm,
        tests/t/lib/ProFTPD/Tests/Config/FTPAccess/DELE.pm: Updating more
        testsuite tests to use the consistent `tests.log' log file.

2009-12-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/AllowOverwrite.pm,
        tests/t/lib/ProFTPD/Tests/Config/GroupOwner.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxInstances.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm,
        tests/t/lib/ProFTPD/Tests/Config/Order.pm,
        tests/t/lib/ProFTPD/Tests/Config/RequireValidShell.pm,
        tests/t/lib/ProFTPD/Tests/Config/StoreUniquePrefix.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutNoTransfer.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutSession.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutStalled.pm,
        tests/t/lib/ProFTPD/Tests/Config/UseFtpUsers.pm,
        tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm,
        tests/t/lib/ProFTPD/Tests/Signals/ABRT.pm,
        tests/t/lib/ProFTPD/Tests/Signals/HUP.pm,
        tests/t/lib/ProFTPD/Tests/Signals/SEGV.pm,
        tests/t/lib/ProFTPD/Tests/Signals/TERM.pm: Updating more of the
        testsuite tests to use `tests.log' as their output logging file, for
        consistency.

2009-12-07  castaglia <castaglia>

        * RELEASE_NOTES: Work on preparing the release notes for 1.3.3rc3.

2009-12-07  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: Correct the %description sections
        in proftpd.spec.

2009-12-06  castaglia <castaglia>

        * src/auth.c: When resolving '~' paths, the lookup is done via
        getpwnam(), not by using getpwuid().  Thus there is little gain (and
        there is a cost in terms of performance, since getpwuid() is used
        when listing directories) in calling pr_auth_get_home() from
        pr_auth_getpwuid().

2009-12-06  castaglia <castaglia>

        * NEWS, modules/mod_auth.c, src/auth.c,
        tests/t/lib/ProFTPD/Tests/Config/RewriteHome.pm: Bug#3348 -
        Rewriting of home directories via RewriteHome does not work for
        chrooted sessions.

2009-12-05  castaglia <castaglia>

        * doc/contrib/mod_sql_passwd.html: Updated the mod_sql_passwd doc to
        mention support of SHA256 and SHA512 passwords.

2009-12-05  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sql_passwd.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Bug#3344 -
        Support SHA256, SHA512 passwords in databases.

2009-12-03  castaglia <castaglia>

        * utils/scoreboard.c: Fix an "unreachable code" compiler warning,
        and clean up the code stylistically.

2009-12-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add unit tests
        showing that even when using SSL/TLS, resuming downloads of >2GB/4GB
        files via REST works properly.

2009-12-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/REST.pm: Add a test for
        resuming downloads of >4GB files as well.

2009-12-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/REST.pm: Add unit test for
        FileZilla's REST behavior over 2GB.  Modify all tests to output to the 'tests.log' file.

2009-12-02  castaglia <castaglia>

        * modules/mod_xfer.c: Typos.

2009-12-02  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Fix broken
        mod_ban+mod_ifsession test.

2009-12-02  castaglia <castaglia>

        * src/display.c: The displaying of multiline Display files was
        leaving off the last line in the file; now fixed.

2009-12-02  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/DELE.pm: Fix the DELE unit
        tests to handle different strerror(3) strings.

2009-12-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/RMD.pm: Fix broken RMD test.
        Rename the output log file to the 'tests.log' that is being used
        elsewhere in the testsuite.

2009-12-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
        tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Make the
        TestSuite::FTP client default to using passive data transfers, not
        active data transfers.  Fix up some warnings in the testsuite.

2009-11-30  castaglia <castaglia>

        * contrib/mod_sftp/channel.c, doc/contrib/mod_sftp.html: Handle
        multiple SFTPAcceptEnv directives if configured.  Add docs for the SFTPAcceptEnv directive.

2009-11-26  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Include EINVAL in the list of errno values
        we expect to see from PRE_CMD handlers.

2009-11-26  castaglia <castaglia>

        * modules/mod_xfer.c: Make sure that the PRE_CMD handlers for RETR,
        APPE, and STOR set appropriate errno values.  Remove some code that would never be executed.

2009-11-26  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3345 - mod_sftp
        returns EACCES rather than ENOENT for an OPEN request for a
        nonexistent file.

2009-11-24  castaglia <castaglia>

        * contrib/mod_sftp/channel.c, contrib/mod_sftp/mod_sftp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added SFTPAcceptEnv
        directive, for configuring which environment variables can be set by
        the client.

2009-11-23  castaglia <castaglia>

        * src/dirtree.c: Added note for myself for the future, about why
        <Directory> patterns aren't matching as I had assumed they would.

2009-11-22  castaglia <castaglia>

        * contrib/mod_sftp/compress.c: Rejigger the zlib inflate() code so
        that it doesn't use a switch statement inside of a while loop; the
        'break' statement is used in both, and it can be confusing from
        which block you are trying to escape.  This also fixes a warning about unreachable code, and adds a
        preemptive guard against trying to call memcpy(2) with a zero
        length.

2009-11-22  castaglia <castaglia>

        * contrib/mod_sftp/kex.c, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_sftp/packet.c: Close the SFTPLog descriptor at session
        exit.  Initialize some buffers (keeps Valgrind from whining about
        them).

2009-11-22  castaglia <castaglia>

        * modules/mod_auth.c: Close the scoreboard descriptor at session
        exit.

2009-11-22  castaglia <castaglia>

        * contrib/mod_sftp/kex.c: Forgot the return statement.

2009-11-22  castaglia <castaglia>

        * contrib/mod_sftp/kex.c, contrib/mod_sftp/kex.h,
        contrib/mod_sftp/mod_sftp.c: Fix another file descriptor leak in
        mod_sftp: the SFTPDHParamsFile is opened for the session (and has to
        remain open for the duration of the session, in order to be
        available for rekeying), but is not closed.  Now it is closed at
        session exit.

2009-11-22  castaglia <castaglia>

        * modules/mod_delay.c: While running mod_sftp through Valgrind, I
        found that mod_delay leaks an fd: it never closes the fd to the
        DelayTable, even after the table has been unloaded from memory.  Fix
        this.

2009-11-21  castaglia <castaglia>

        * contrib/mod_tls.c, tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: 
        Fix up some issues found in mod_tls when running its test cases.  First, as per Bug#3325, make the TLSRequired/AllowPerUser check a
        little smarter, so that the published AllowPerUser example in the
        TLS howto works properly, but the check still retains its validity.  When checking for client-initiated renegotiations, make sure we
        don't punish the client for *new* sessions for *data* connections.  Make sure that "TLSRequired auth" is enforced properly if the client
        is NOT using SSL/TLS.  Include MLSD in the list of commands which can trigger data
        transfers, and thus fall under the "TLSRequired data" checks.

2009-11-20  jwm <jwm>

        * contrib/mod_ldap.c: release 2.8.21, with backports from bzr trunk: CHANGES: * Implement an internal failover mechanism instead of relying on the
          LDAP SDK's built-in failover (if any). Fixes failover regression
          introduced in v2.8.19 when ldap_initialize() was first used.  * Multiple LDAP URL arguments may now be passed to LDAPServer:   LDAPServer ldap://127.0.0.1/??sub ldap://172.16.0.1/??sub * When setting whether to dereference LDAP aliases after connecting
          to the LDAP server, treat failure as a hard failure and refuse to
          continue with that LDAP server. Previously, failure when specifying
          whether to dereference aliases would be logged but the connection to
          that server would continue.  bzr r71:   - only log that we've successfully unbound if we've successfully
          unbound - pr_ldap_connect() should always unbind on failure   - treat dereference option set failure in pr_ldap_connect() as a   - connection     failure; don't warn and keep plowing on bzr r77, r78:   Bug 3301 -  LDAP server failover does not work when
          ldap_initialize() is available   fix LDAP server failover by implementing our own failover
          mechanism instead of relying on the LDAP SDK's.    ldap server failover (space-separated list of hostnames in the
          argument to LDAPServer) has been broken since 2.8.19 when
          ldap_init() was replaced with ldap_initialize(), if available. as of
          that commit, a LDAP URL is constructed if simple hostname(s) are
        passed to LDAPServer, so:     'LDAPServer "127.0.0.1 172.16.0.5"   was passed to ldap_initailize() as:     ldap://127.0.0.1 172.16.0.5/   Unfortunately, ldap_url_parse() treats this as a valid URL, but   ldap_intiailize() will not fail over to subsequent LDAP servers   should the first be unreachable.    ldap_initialize() *will* take a whitespace-separated list of LDAP
          URLs and will fail over successfully, just not when
          whitespace-separated hostname are passed to a *single* url (even if
          the whitespace in the hostname portion of the URL is urlencoded as
        %20).    forget all of this SDK-based failover and implement our own
          failover support, since afaict Sun's ancient LDAP SDK doesn't
          implement failover and it's nice to be able to control it ourselves.    for that matter, we *need* to control it ourselves since we need
          to use the search scope indicated by the URL at hand. chances are,
          the search scope will be the same for all URLs passed to LDAPServer,
          but to be completely correct, we should use the scope corresponding
          to the current URL and ldap_initialize() provides no way to tell
          what URL it wound up connecting to.

2009-11-20  castaglia <castaglia>

        * modules/mod_ls.c, tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: 
        Revisit the fix put in place for Bug#2367.  First, add the test case
        to the LIST testsuite, for regressions.  Then look at a different
        fix, a simpler one: remove the GLOB_PERIOD flag from the flags used
        when globbing.  This causes the test case to pass.  This is done in order to make possible another case: list a
        directory whose name legitimately contains a glob character ('[' in
        the case of one of the users in the online forums).  The previous
        fix for Bug#2367 prevented the proper listing of such a directory.
        The newer, simpler fix handles this legitimate directory name
        properly, while still preserving behavior which matches that of the
        shell.

2009-11-20  castaglia <castaglia>

        * modules/mod_ls.c: Fix up some of the code style in mod_ls.  Add handling of signals in the while() loops which iterate over
        globbed paths.  Removed the '{' character from the glob character checks; it is not
        a glob(3) character.

2009-11-19  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Try to make the requirement of using
        ssh-keygen to convert public keys to RFC4716 format clearer.

2009-11-19  castaglia <castaglia>

        * NEWS, src/bindings.c: Bug#3306 - ECONNREFUSED while handling
        SIGHUP.

2009-11-19  castaglia <castaglia>

        * lib/libltdl/.cvsignore: More auto-generated files to ignore.

2009-11-19  castaglia <castaglia>

        * configure: Updated configure.

2009-11-19  castaglia <castaglia>

        * configure.in: Handle empty CONFIG_SHELL values.

2009-11-19  castaglia <castaglia>

        * configure: Updated configure.

2009-11-19  castaglia <castaglia>

        * configure.in: Although it looks like LTDL_INIT(convenience) and
        LTDL_CONVENIENCE are the same, they are not.  So we need to use
        both.

2009-11-19  castaglia <castaglia>

        * Makefile.in: Comment out the target that might cause the machine
        to re-run autoconf.

2009-11-19  castaglia <castaglia>

        * configure: Updated configure.

2009-11-19  castaglia <castaglia>

        * configure.in: More libtool-2.2.4 tweaking fun.

2009-11-19  castaglia <castaglia>

        * configure: Updated configure.

2009-11-19  castaglia <castaglia>

        * lib/libltdl/m4/ltdl.m4: In order to avoid the very, very annoying
        error of:   configure: error: conditional "INSTALL_LTDL" was never defined.    Usually this means that the macro was only invoked conditionally.  I am manually removing the whole m4 support of _LT_ENABLE_INSTALL in
        the bundled libltdl.  ProFTPD is never going to make/provide an
        installable libltdl library.

2009-11-18  castaglia <castaglia>

        * configure: Updated configure.

2009-11-18  castaglia <castaglia>

        * Make.rules.in, configure.in: More libtool-2.2.4 tweaks, with help
        from Bob Friesenhahn.

2009-11-18  castaglia <castaglia>

        * aclocal.m4: Re-create our aclocal.m4 using the aclocal tool.

2009-11-18  castaglia <castaglia>

        * configure: Updated configure.

2009-11-18  castaglia <castaglia>

        * configure.in, modules/Makefile.in: Export the LTDLINCL variable
        from the configure script, so that we are no longer hardcoding the
        path to the directory containing the ltdl.h header.

2009-11-18  castaglia <castaglia>

        * Makefile.in, configure.in: More wrestling with libtool-2.2.4.  I
        am *really* not liking this 2.2.x release series.

2009-11-18  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Quelling compiler warnings.

2009-11-18  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#3342 - FEAT response contains LF
        without preceding CR.

2009-11-18  castaglia <castaglia>

        * tests/t/config/limit/rmd.t,
        tests/t/lib/ProFTPD/Tests/Config/Limit/RMD.pm, tests/tests.pl: Add
        regression test demonstrating how to make an undeletable directory
        using the <Limit> + Filter approach.

2009-11-18  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Update mod_sftp doc so that it's
        hopefully less confusing.

2009-11-17  castaglia <castaglia>

        * NEWS, contrib/mod_wrap2/mod_wrap2.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Bug#3341 -
        mod_wrap2 segfaults when a valid user retries the USER command.

2009-11-17  castaglia <castaglia>

        * NEWS: Bug#3331 - Update bundled libtool to 2.2.4.

2009-11-17  castaglia <castaglia>

        * configure: Updated configure.

2009-11-17  castaglia <castaglia>

        * Makefile.in, configure.in, modules/Makefile.in: More tweaks to the
        build files to make sure that mod_dso builds properly with the new
        version of libltdl/libtool.

2009-11-17  castaglia <castaglia>

        * lib/libltdl/.cvsignore: One more libtool file to ignore.

2009-11-17  castaglia <castaglia>

        * lib/libltdl/.cvsignore: More files to ignore with this new version
        of libtool.

2009-11-17  castaglia <castaglia>

        * lib/libltdl/ltdl.c: Backport the patch for the bugs found in
        libtool-2.2.6 to this 2.2.4 version.

2009-11-17  castaglia <castaglia>

        * lib/libltdl/Makefile.in, lib/libltdl/argz.c: Bug#3331 - Update
        bundled libtool to 2.2.4.

2009-11-17  castaglia <castaglia>

        * configure: Updated configure.

2009-11-17  castaglia <castaglia>

        * aclocal.m4, configure.in, lib/libltdl/Makefile.am,
        lib/libltdl/Makefile.in, lib/libltdl/README,
        lib/libltdl/aclocal.m4, lib/libltdl/argz_.h,
        lib/libltdl/config-h.in, lib/libltdl/config/compile,
        lib/libltdl/config/config.guess, lib/libltdl/config/config.sub,
        lib/libltdl/config/depcomp, lib/libltdl/config/install-sh,
        lib/libltdl/config/ltmain.sh, lib/libltdl/config/missing,
        lib/libltdl/configure, lib/libltdl/configure.ac,
        lib/libltdl/libltdl/lt__alloc.h, lib/libltdl/libltdl/lt__dirent.h,
        lib/libltdl/libltdl/lt__glibc.h, lib/libltdl/libltdl/lt__private.h,
        lib/libltdl/libltdl/lt__strl.h, lib/libltdl/libltdl/lt_dlloader.h,
        lib/libltdl/libltdl/lt_error.h, lib/libltdl/libltdl/lt_system.h,
        lib/libltdl/libltdl/slist.h, lib/libltdl/loaders/dld_link.c,
        lib/libltdl/loaders/dlopen.c, lib/libltdl/loaders/dyld.c,
        lib/libltdl/loaders/load_add_on.c,
        lib/libltdl/loaders/loadlibrary.c, lib/libltdl/loaders/preopen.c,
        lib/libltdl/loaders/shl_load.c, lib/libltdl/lt__alloc.c,
        lib/libltdl/lt__dirent.c, lib/libltdl/lt__strl.c,
        lib/libltdl/lt_dlloader.c, lib/libltdl/lt_error.c,
        lib/libltdl/ltdl.c, lib/libltdl/ltdl.h, lib/libltdl/m4/argz.m4,
        lib/libltdl/m4/libtool.m4, lib/libltdl/m4/ltdl.m4,
        lib/libltdl/m4/ltoptions.m4, lib/libltdl/m4/ltsugar.m4,
        lib/libltdl/m4/ltversion.m4, lib/libltdl/m4/lt~obsolete.m4,
        lib/libltdl/slist.c, ltmain.sh, modules/mod_dso.c: Bug#3331 - Update
        bundled libtool to 2.2.4.

2009-11-17  castaglia <castaglia>

        * config.guess, config.sub: Updating the config.guess and config.sub
        helper scripts.

2009-11-17  castaglia <castaglia>

        * install-sh: Updated the install-sh script.

2009-11-17  castaglia <castaglia>

        * doc/howto/Timestamps.html: Mention MFMT in the Timestamps howto.

2009-11-17  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Add the SFTP Extensions Draft to the
        list.

2009-11-16  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: Locking down more environment
        variables from SSH2 client tweaking.

2009-11-16  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: Add more barred environment variables
        to the list.

2009-11-16  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: Don't allow SSH2 clients to change the
        TZ environment variable, either.

2009-11-16  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: Add a few more environment variables
        that SSH2 clients are barred from sending/overriding in their
        session.

2009-11-16  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Adding some notes for my future self.

2009-11-16  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Make sure to advertise that the client can
        use the 'vendor-id' extension in the supported2 extension to the
        VERSION response.

2009-11-16  castaglia <castaglia>

        * src/dirtree.c: Simpler fix for Bug#3337.

2009-11-15  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: If the client sends the 'check-file'
        extension, do not disconnect the session if the requested checksum
        algorithm is not supported; simply send the failure STATUS message
        back.

2009-11-15  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Include the sticky bit when
        sending/receiving files/directories.

2009-11-15  castaglia <castaglia>

        * NEWS, src/dirtree.c,
        tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Bug#3337 -
        <Directory> sections with a trailing directory name of one character
        have <Limit> problems.  This is a regression caused by Bug#3146.

2009-11-14  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Check for READ/WRITE <Limit> sections
        pertaining to files being read/written for the 'check-file' and
        'copy-file' SFTP extensions.

2009-11-14  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Slightly nicer way of dealing with using
        O_NONBLOCK for open(3) when handling OPEN requests.  This way, we
        don't have to clear the O_NONBLOCK flag later.

2009-11-14  castaglia <castaglia>

        * configure: Updated configure script.

2009-11-14  castaglia <castaglia>

        * configure.in: Add use of the -Wunreachable-code compiler flag,
        where supported, when --enable-devel is used.  Make the use of the AC_DEFINE macro more consistent by providing the
        optional message in more places.

2009-11-14  castaglia <castaglia>

        * m4/proftpd.m4: Try to make the use of the AC_DEFINE macro more
        consistent with other occurrences by supplying a message.

2009-11-14  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Fix regression where SFTP downloads were
        not being logged via TransferLog; caused by the addition of the
        O_NONBLOCK to the fh_flags per Bug#3314.  Reported by Bernd
        Lommerzheim.

2009-11-14  castaglia <castaglia>

        * modules/mod_core.c: Add trace logging of the pr_netacl_t objects
        created via other config directives.

2009-11-14  castaglia <castaglia>

        * m4/proftpd.m4: Separate out the proftpd-specific autoconf macros
        from aclocal.m4 into this file.  Makes it easier to recreate a new
        aclocal.m4 file, containing macros from many different sources.

2009-11-13  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Fix typo in mod_sql docs.  Add description of the interaction between the
        useNormalizedGroupSchema SQLOption and custom SQLGroupInfo queries.

2009-11-13  castaglia <castaglia>

        * contrib/mod_sql_mysql.c: Typo.

2009-11-13  castaglia <castaglia>

        * NEWS, contrib/mod_sql_mysql.c: Bug#3333 - mod_sql_mysql should
        support calling stored procedures better.

2009-11-13  castaglia <castaglia>

        * NEWS, contrib/mod_wrap.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap.pm: Bug#3332 - Segfault
        in mod_wrap when TCPAccessFiles do not exist and client sends USER
        for account which does not exist.

2009-11-13  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Use defined constants rather than "magic"
        numbers.  Log any client-sent vendor information in the SFTPLog,
        rather than the TraceLog.

2009-11-13  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Make sure that we only send defined flag
        values in the statvfs@openssh.com extension response.

2009-11-13  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sftp/fxp.c,
        contrib/mod_sftp/fxp.h, contrib/mod_sftp/mod_sftp.c,
        doc/contrib/mod_sftp.html: Bug#3329 - Support the "vendor-id" SFTP
        extension.

2009-11-12  castaglia <castaglia>

        * doc/contrib/mod_ban.html: Adding a mod_ban FAQ, cleaning up a
        minor nit.

2009-11-11  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Make a note in the description of the
        Crypt SQLAuthType that crypt(3) only uses the first 8 characters of
        a password; this can have some surprising (depressing?) consequences
        for the unwary.

2009-11-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Limit/SubDirectories.pm: Add more
        tests for the fix for Bug#3077.

2009-11-10  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#3307 - Transparently handle the
        X-variant commands when checking <Limit> permissions.  The fix for
        this issue has been reimplemented to be more transparent; some
        existing configurations were broken by the previous implementation.

2009-11-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: For
        completeness, add a mod_quotatab unit test for RETR and the
        files_out limit.

2009-11-10  castaglia <castaglia>

        * contrib/mod_site_misc.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Make sure that
        SITE SYMLINK fails if the source path does not exist on the
        filesystem.  I thought that the symlink(2) system call would handle
        this for us, but apparently not (at least it doesn't on Mac OSX
        10.4, and thus potentially other platforms).

2009-11-10  castaglia <castaglia>

        * contrib/mod_quotatab.c: Add comment for my future self about why
        the have_quota_update flag is cleared before writing to the tally
        table, instead of after.

2009-11-10  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c: Bug#3328 - Failed database
        transaction can cause mod_quotatab to loop endlessly.

2009-11-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Add
        mod_quotatab test for RETR byte limits.

2009-11-09  castaglia <castaglia>

        * src/main.c: Make sure that the LC_NUMERIC locale category is
        always "C", regardless of what's in the environment when proftpd
        starts.

2009-11-09  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Fix some compiler warnings about
        signedness mismatches, and avoid an explicit cast, by redefining the
        buffer to use char, not unsigned char.

2009-11-09  castaglia <castaglia>

        * contrib/mod_quotatab.c: Before a copy, apply any
        QuotaExcludeFilter to the source path; the destination may not
        exist.  After a copy, apply any QuotaExcludeFilter to the
        destination path.  It's a little odd, but I think it makes sense
        this way.

2009-11-09  castaglia <castaglia>

        * contrib/mod_quotatab.c, contrib/mod_sftp/fxp.c: Give mod_quotatab
        the ability to track (and enforce) quota changes due to the copying
        of files now possible via mod_sftp's copy-file SFTP extension.  For
        testing this, I had to use a SITE COPY implementation.

2009-11-09  castaglia <castaglia>

        * contrib/mod_site_misc.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Advertise the
        supported SITE commands provided by mod_site_misc in the FEAT
        response.

2009-11-09  castaglia <castaglia>

        * contrib/mod_quotatab.c: In the pre-APPE handler, make sure to
        exclude files which match any configured QuotaExcludeFilter before
        checking the quota limits/tallies; if a file is excluded by the
        filter, it shouldn't run afoul of those limits/tallies.

2009-11-09  castaglia <castaglia>

        * contrib/mod_quotatab.c: Add checking of the path against a
        QuotaExcludeFilter in a few more places.  Add the setting of
        HAVE_WRITE_UPDATE in the pre-APPE handler, just as is done in the
        pre-STOR handler.

2009-11-09  castaglia <castaglia>

        * contrib/mod_tls.c: Remove the daemon-exit listener for the
        'core.exit' event in the session process; when the session process
        exits, it shouldn't send a 'core.exit' event to the daemon-exit
        listener.

2009-11-09  castaglia <castaglia>

        * RELEASE_NOTES, doc/contrib/mod_sftp.html: Mention the new SFTP
        extensions, and the SFTPExtensions directive, in the release notes.  Update the mod_sftp doc to cover the SFTPExtensions directive.

2009-11-09  castaglia <castaglia>

        * modules/mod_core.c: Fix minor issue where DELE on a symlink would
        cause the wrong size to be logged (the size of the target file, not
        the symlink, would be logged).

2009-11-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/DELE.pm: Add unit test for
        DELEs on symlinks.

2009-11-08  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c, contrib/mod_sftp/fxp.h,
        contrib/mod_sftp/mod_sftp.c: With the addition of various SFTP
        extensions to mod_sftp, it's a good idea to have a mechanism for
        disabling support for individual extensions as desired.  This will
        also come in handy later, for extensions which might be useful, but
        which need to be selectively enabled.  Thus this patch introduces a new SFTPExtensions directive.

2009-11-08  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Update the list of SFTP extensions
        supported by mod_sftp.

2009-11-08  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3320 - Support the "copy-file"
        SFTP extension.

2009-11-08  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Use a better errno value (EACCES) and
        remove redundant logging when Path{Allow,Deny}Filter settings apply
        to paths sent by the SFTP client.

2009-11-08  castaglia <castaglia>

        * src/fsio.c: Fix some issues found in pr_fs_copy_file():   - return an error if closing the destination file returned an
          error - use nonblocking opens, in case the source/destination paths are
        FIFOs Also some stylistic changes.

2009-11-08  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3321 - Support the
        "check-file-name" and "check-file-handle" SFTP extensions.

2009-11-08  castaglia <castaglia>

        * contrib/mod_sftp/configure: Updated mod_sftp's configure script.

2009-11-08  castaglia <castaglia>

        * contrib/mod_sftp/configure.in, contrib/mod_sftp/mod_sftp.h.in: Add
        checks for support for SHA256 and SHA512 in OpenSSL to mod_sftp's
        configure script.

2009-11-07  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Skip adding version 1 to the 'versions'
        list; it's not allowed by Section 4.6 of the SFTP Draft.

2009-11-07  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Minor refinement to the version-select
        SFTP extension implementation.

2009-11-07  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3322 - Support the
        "version-select" SFTP extension.

2009-11-07  castaglia <castaglia>

        * NEWS, contrib/mod_tls_shmcache.c: Bug#3326 - Shared memory segment
        used for session cache should be protected via mlock(2).

2009-11-07  castaglia <castaglia>

        * NEWS, contrib/mod_tls_shmcache.c: Bug#3327 - Clear external SSL
        session caches on server restart/shutdown.

2009-11-07  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Ignore any size attribute that the SFTP
        client may send in an OPEN request; attempting to honor the
        suggested size by truncating the file during the OPEN can cause
        problems.  Size attributes sent in SETSTAT/FSETSTAT requests are
        still honored.

2009-11-07  castaglia <castaglia>

        * RELEASE_NOTES: Typo.

2009-11-07  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Mention that server-initiated SSL
        session renegotiations are still honored when possible.

2009-11-07  castaglia <castaglia>

        * configure: Updated configure for Bug#3311.  Also added automatic
        detection of build requests for mod_sql_passwd, so that the
        USE_OPENSSL flag can be automatically set when that module is
        requested, just as is done for mod_tls and mod_sftp.

2009-11-07  castaglia <castaglia>

        * NEWS, configure.in: Bug#3311 - configure script should
        automatically detect when -ldl is needed by OpenSSL.

2009-11-07  castaglia <castaglia>

        * contrib/mod_tls.c: Add the changes from Bug#3324 to deal with
        server-initiated session renegotiations when using OpenSSL 0.9.8l or
        later.

2009-11-07  castaglia <castaglia>

        * contrib/mod_tls.c: Handle signals in the diagnostic callback.

2009-11-07  castaglia <castaglia>

        * contrib/mod_tls.c: More work towards Bug#3324 - allow
        server-initiated session renegotiations whilst rejecting
        client-initiated session renegotiations.

2009-11-07  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Document the new
        AllowClientRenegotiations TLSOption.

2009-11-07  castaglia <castaglia>

        * RELEASE_NOTES: Update the release notes.

2009-11-07  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3324 - Vulnerability in SSL/TLS
        protocol during renegotiation (CVE-2009-3555).

2009-11-07  castaglia <castaglia>

        * doc/howto/TLS.html: Add a TLS FAQ, inspired by Bug#3247 (and its
        ensuing duplicates).

2009-11-06  castaglia <castaglia>

        * contrib/mod_tls.c, doc/howto/TLS.html: Remove the "TLSRenegotiate
        off" synonym; I had simply confused myself with the bad example
        config I'd written in the TLS howto (now fixed as well).

2009-11-06  castaglia <castaglia>

        * contrib/mod_tls.c: Allow "TLSRenegotiate off" as a synonym for
        "TLSRenegotiate none".

2009-11-06  castaglia <castaglia>

        * contrib/mod_tls.c: Include in the end-of-session
        EnableDiags-enabled stats the number of times a session was removed
        from the cache because the cache size was exceeded.

2009-11-06  castaglia <castaglia>

        * contrib/mod_tls.c: Ignore EAGAIN errors when the EnableDiags
        TLSOption is used; they just clutter up the TLSLog.

2009-11-06  castaglia <castaglia>

        * contrib/mod_tls.c: Remove spurious ""SSL_shutdown error:
        ZERO_RETURN" logging; it is not actually an error to encounter an
        SSL_ERROR_ZERO_RETURN value when shutting down the SSL/TLS session.

2009-11-06  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Add empty stubs of functions which will
        add the "standard" SFTP extensions to mod_sftp's VERSION response to
        SFTP clients.

2009-11-06  castaglia <castaglia>

        * contrib/mod_tls.c: Minor reordering of the logged SSL/TLS
        end-of-connection stats; this way the cache-related stats appear
        together.

2009-11-05  castaglia <castaglia>

        * modules/mod_ls.c: Make sure that we can handle symlinks whose
        target paths are long (e.g.  longer than 1K).

2009-11-05  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c, contrib/mod_sftp/keys.c,
        contrib/mod_sftp/scp.c, contrib/mod_sql_passwd.c, include/fsio.h,
        modules/mod_auth.c, modules/mod_log.c, src/fsio.c, src/log.c,
        src/xferlog.c: Switch to using nonblocking open(2) calls in many
        places, especially when handling log files.  This is to deal with
        the case where the log files configured are actually FIFOs; if the
        other end of the FIFO is not running, then a blocking open(2) would
        block indefinitely.  For example, configuring a FIFO for
        TransferLog, and not having the FIFO reader running, would hang the
        client session.  Now by using nonblocking open(2), we can detect
        such cases and handle them.  The opened fds are returned to blocking
        mode, assuming a successful open.

2009-11-05  castaglia <castaglia>

        * contrib/mod_sftp/auth.h, contrib/mod_sftp/keystore.c,
        contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp_pam.c: Clean up a
        few warts and warnings.

2009-11-05  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding unit test for
        LIST output of a symlink when ShowSymlinks is enabled.

2009-11-05  castaglia <castaglia>

        * modules/mod_core.c, src/class.c, src/netacl.c: Add more trace
        logging about how <Class> rules are parsed and compared.  Fix some
        rule parsing cases which were not being handled properly.

2009-11-05  castaglia <castaglia>

        * tests/t/config/classes.t,
        tests/t/lib/ProFTPD/Tests/Config/Classes.pm, tests/tests.pl: Adding
        unit tests for various <Class> configurations and rules.

2009-11-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/UserPassword.pm: Add regression
        test for using UserPassword in an <Anonymous> section to create an
        effectively virtual user account.

2009-11-04  castaglia <castaglia>

        * RELEASE_NOTES, doc/modules/mod_cap.html, modules/mod_cap.c: 
        Support adding the CAP_FOWNER capability.

2009-11-04  castaglia <castaglia>

        * RELEASE_NOTES: Mention support for the OpenSSH extensions in the
        release notes.

2009-11-04  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c, doc/contrib/mod_sftp.html: Added support
        for the posix-rename@openssh.com OpenSSH SFTP extension.

2009-11-04  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: When handling RENAME SFTP requests, make
        sure to update the scoreboard with the name of "RENAME", not
        "REALPATH".  Sheesh.

2009-11-04  castaglia <castaglia>

        * doc/howto/Chroot.html: Add an example of constructing symlinks
        using relative paths; these types of symlinks stand a better chance
        of working properly within chrooted sessions.

2009-11-04  castaglia <castaglia>

        * NEWS, contrib/mod_wrap.c, include/log.h, src/log.c: Bug#3317 -
        mod_wrap/libwrap should honor SyslogFacility setting.

2009-11-04  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Update the mod_sftp doc to mention that
        the most up-to-date version is distributed with the ProFTPD source
        code.  Mention the support for OpenSSH's "statvfs@openssh.com" and
        "fstatvfs@openssh.com" SFTP extensions.

2009-11-04  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Document the use of the SSH_CONNECTION
        environment variable.

2009-11-04  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: Set the SSH_CONNECTION environment
        variable, using the same format as OpenSSH.

2009-11-04  castaglia <castaglia>

        * contrib/mod_sftp/auth.c: Make sure that callers can't use the new
        sftp_auth_send_banner() function to send USERAUTH_BANNER messages to
        the client after it has authenticated; this is not allowed by
        RFC4252.

2009-11-04  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/auth.c, contrib/mod_sftp/auth.h,
        contrib/mod_sftp_pam.c: Bug#3316 - Messages from PAM modules are
        ignored when authenticating SSH clients via 'keyboard-interactive'.

2009-11-03  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Mention the %u variable in the
        SFTPAuthorizedUserKeys directive description.

2009-11-03  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/keystore.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3315 - Support
        the %u variable in SFTPAuthorizedUserKeys paths.

2009-11-03  castaglia <castaglia>

        * configure: Updated configure.

2009-11-03  castaglia <castaglia>

        * configure.in: Add some more gcc warning flags to the list when
        --enable-devel is used, specifically -Wformat-security,
        -Wstack-protector, and -fstack-protector-all.

2009-11-03  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c, contrib/mod_sftp/fxp.h: Added support for
        the statvfs@openss.com and fstatvfs@openssh.com OpenSSH SFTP
        extensions.

2009-11-03  castaglia <castaglia>

        * NEWS: Pedantic correction: lseek(2), not lseek(3).

2009-11-03  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/scp.c, modules/mod_xfer.c: Bug#3314 -
        Downloading from FIFOs via SFTP/SCP fails.

2009-11-03  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c: Bug#3313 - Uploading via SFTP to
        FIFOs fails due to illegal lseek(3), truncate(2) calls.

2009-11-03  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Bug#3312 -
        Uploading via SFTP/SCP to FIFO whose reader is closed causes session
        to hang.

2009-11-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: On some platforms,
        ENXIO has a string representation of "Device not configured".

2009-11-03  castaglia <castaglia>

        * contrib/mod_sftp/packet.c: Adding reminder notes/comments for my
        future self.

2009-11-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Remove duplicate
        unit test entry from the list.

2009-11-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression test
        proving that setting a mode which contains S{G,U}ID bits is properly
        supported via SFTP.

2009-11-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding unit tests
        for Bug#3314.  These tests rely on having a FIFO-writing program
        open at /tmp/test.fifo, and thus do not run automatically as part of
        the testsuite.

2009-11-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding unit tests
        for Bug#3313.  These particular tests are a little odd in that they
        will have to be run manually; they require a FIFO-reading process to
        be running at /tmp/test.fifo (and I didn't feel like wrestling with
        Perl in order to fork off more processes in these tests).

2009-11-03  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Fix a segfault where a reason string was
        not being returned for an errno value which we were not
        expecting/handling.

2009-11-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
        tests for Bug#3312.  Note that I still need to run these tests on
        other platforms (Solaris, FreeBSD, Mac OSX), as I suspect that the
        errno value returned from a failed open(2) of a FIFO will vary quite
        a bit across the platforms.

2009-11-03  castaglia <castaglia>

        * modules/mod_xfer.c: Allow uploading to /dev/full on Linux; this is
        useful for testing how clients handle out-of-disk situations/errors.

2009-11-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
        uploading to /dev/full (Linux only), to simulate an out-of-disk
        situation.  (Turns out that Net::SSH2 does not propagate the
        WRITE/CLOSE error to the calling code; I need to file a bug with the
        module maintainer about this.)

2009-11-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add support for os_* tags
        to tests, so that certain tests can be targeted for specific
        OS/platforms (as determined by Perl's $^O variable).

2009-10-30  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_wrap.pm: Adding unit tests
        for more of mod_wrap's directives.

2009-10-30  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_wrap.pm,
        tests/t/modules/mod_wrap.t, tests/tests.pl: Start of unit tests for
        the mod_wrap module.

2009-10-30  castaglia <castaglia>

        * locale/fr_FR.po: Bug#3309 - Fix whitespace in MLST response when
        using the fr_FR locale.

2009-10-29  castaglia <castaglia>

        * RELEASE_NOTES, locale/Makefile.in, locale/zh_TW.po: Wei-Lun Chao
        contributed a Taiwan translation for proftpd.

2009-10-29  castaglia <castaglia>

        * contrib/mod_sftp/cipher.c: Quell compiler warnings about
        mismatched data types.

2009-10-28  castaglia <castaglia>

        * src/auth.c: Fixing another part of Bug#3307.

2009-10-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logins.pm: Adding more regression tests
        (and improving existing tests) for Bug#3307.

2009-10-27  castaglia <castaglia>

        * NEWS, src/auth.c, tests/t/lib/ProFTPD/Tests/Logins.pm: Bug#3307 -
        All FTP logins treated as anonymous logins.

2009-10-26  castaglia <castaglia>

        * contrib/mod_sql.c, modules/mod_log.c: Increasing the size of a
        couple more buffers in order to avoid inadvertently truncating file
        names.

2009-10-26  castaglia <castaglia>

        * modules/mod_log.c: Add some additional room for other ExtendedLog
        data.

2009-10-26  castaglia <castaglia>

        * modules/mod_log.c, src/log.c, src/main.c: Make the buffers used
        for logging and for reading client data depend on
        PR_TUNABLE_PATH_MAX, which in turn depends on MAXPATHLEN (if defined
        by the OS).  This makes sure that the buffers are at least large
        enough to deal with the longest path supported by the OS (e.g. 4K on
        a Linux 2.6 kernel).

2009-10-26  castaglia <castaglia>

        * doc/howto/Nonroot.html, doc/howto/index.html: Add the nonroot
        howto to the collection.

2009-10-23  castaglia <castaglia>

        * NEWS, lib/pr-syslog.c: Bug#3305 - Emulate Solaris 10 syslog
        "header" on Solaris 10 servers.

2009-10-23  castaglia <castaglia>

        * src/main.c: Initialize the xerrno variable, to quell a compiler
        warning.

2009-10-22  castaglia <castaglia>

        * src/inet.c: Pedantic comment typo correction.

2009-10-21  castaglia <castaglia>

        * tests/t/config/hidenoaccess.t,
        tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm, tests/tests.pl: 
        Add unit test for the HideNoAccess directive.

2009-10-21  castaglia <castaglia>

        * doc/howto/Scoreboard.html: Add scoreboard FAQ about "bad version
        (too old)" errors.

2009-10-21  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Added mod_sftp FAQ about ListOptions.

2009-10-21  castaglia <castaglia>

        * contrib/mod_tls.c: Cleanly shutdown the SSL/TLS session (if there
        is one) for TimeoutLogin as well.

2009-10-21  castaglia <castaglia>

        * src/main.c: Stash the errno value if select(), in the main loop,
        returns -1; this makes for better errno logging/reporting.  Also
        avoid trying to accept(2) a connection if the select() return value
        is -1.

2009-10-21  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3303 - FileZilla reports "Server did
        not properly shut down TLS connection" after TimeoutIdle triggered..

2009-10-20  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Markup error.

2009-10-20  castaglia <castaglia>

        * include/version.h: Bumped version to what will become 1.3.3rc3.

2009-10-20  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec, include/version.h: Getting versions
        ready for 1.3.3rc2 release.

2009-10-20  castaglia <castaglia>

        * NEWS: Mention the release date for 1.3.3rc2.

2009-10-20  castaglia <castaglia>

        * RELEASE_NOTES: Typos, corrections.

2009-10-20  castaglia <castaglia>

        * ChangeLog: Updated the ChangeLog.

2009-10-20  castaglia <castaglia>

        * RELEASE_NOTES: Adding more to the release notes, getting them
        ready for the release of RC2.

2009-10-20  castaglia <castaglia>

        * contrib/mod_sql_postgres.c: Minor tweaks to the Postgres
        NLS/encoding code.

2009-10-20  castaglia <castaglia>

        * RELEASE_NOTES: Point out a potential hazard with the delayed-open
        database connection policy and logging-only database configs.

2009-10-19  castaglia <castaglia>

        * contrib/mod_sql_postgres.c: The get_postgres_encoding() function
        is specific to mod_sql_postgres; no need to have its symbol be
        exported/visible outside of this file.

2009-10-19  castaglia <castaglia>

        * contrib/mod_sql_postgres.c: Quell minor compiler warning about the
        get_postgres_encoding() function when --enable-nls is used by
        providing a function prototype.

2009-10-19  castaglia <castaglia>

        * doc/howto/NAT.html: Fixed URL to IP Masquerade howto doc.

2009-10-14  castaglia <castaglia>

        * modules/mod_facts.c, tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: 
        Make sure that mod_facts uses 'cdir' or 'pdir' as the type in a MLSD
        response, rather than just 'dir', where appropriate.

2009-10-14  castaglia <castaglia>

        * modules/mod_auth_unix.c: Helps if we provide the data type for
        variables.

2009-10-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Add a test for when a
        session is chrooted, and fix the regexes used throughout these
        tests.

2009-10-14  castaglia <castaglia>

        * modules/mod_facts.c: Do a little resolution on the given MLSD
        path, trying to find a fuller, better path.  (This is particularly
        important for mod_vroot to function properly.)

2009-10-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Fixing quietly broken
        MLSD unit tests; they were using the wrong regex.

2009-10-13  castaglia <castaglia>

        * modules/mod_core.c, modules/mod_xfer.c: Found a few more cases
        where errno could be trampled by pr_trace_msg(), and thus requires
        brief caching.

2009-10-12  jwm <jwm>

        * contrib/mod_ldap.c: mod_ldap bzr r70:   2.8.20 release

2009-10-12  jwm <jwm>

        * contrib/mod_ldap.c: mod_ldap bzr r68:   ldap_server and ldap_port should be defined in the !(openldap   LDAP_VENDOR_VERSION >= 192) case mod_ldap bzr r67:   bump version date mod_ldap bzr r66:   fix reversed logic when keeping server/port settings for   non-ldap_initialize() SDKs.  mod_ldap bzr r65:   looks like ldap_{initialize,unbind_ext_s} are openldap-specific.
          spleunk in the openldap cvs repo and only use these functions when
          building against openldap and the vendor version is at least that in
          which each of these functions was introduced.  mod_ldap bzr r64:   id tag doesn't make much sense with bazaar, but we'll keep it
          there for when mod_ldap is committed to proftpd cvs

2009-10-12  castaglia <castaglia>

        * modules/mod_lang.c: When a locale is set, make sure to set it for
        the LC_COLLATE, LC_CTYPE, and LC_MONETARY categories as well.

2009-10-07  castaglia <castaglia>

        * NEWS, modules/mod_auth_unix.c: Bug#3300 - Support disabling use of
        S_RLOGIN when calling AIX loginrestrictions().

2009-10-07  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Add a little more description of the
        sftpUTF8ProtocolVersion config setting.

2009-10-06  castaglia <castaglia>

        * doc/howto/ServerType.html: Add a FAQ about another cause of
        slow/timed out logins.

2009-10-05  castaglia <castaglia>

        * contrib/mod_sql.c: Add more info to the mod_sql logs when handling
        (and looking up) named queries.

2009-10-05  castaglia <castaglia>

        * contrib/mod_sql.c: When processing named queries, log the named
        query being processed.

2009-10-05  castaglia <castaglia>

        * contrib/mod_rewrite.c, contrib/mod_shaper.c: Quell compiler
        warnings.

2009-10-05  castaglia <castaglia>

        * modules/mod_lang.c: Prevent segfault on second SIGHUP because the
        lang_aliases table was allocated out of a pool which no longer
        exists.  The fix is simple: when the memory pool is cleared, make
        sure to reset the lang_aliases pointer as well.

2009-10-05  castaglia <castaglia>

        * modules/mod_core.c: Just to be defensive, make sure that the
        EISDIR errno value exists before using it.

2009-10-05  castaglia <castaglia>

        * modules/mod_core.c, tests/t/lib/ProFTPD/Tests/Commands/DELE.pm: If
        a client tries to use DELE to remove a directory, return a better
        error message than "Opermation not permitted", i.e. use EISDIR.

2009-10-05  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm: Uncomment
        line to delete log file.

2009-10-05  castaglia <castaglia>

        * src/main.c: Fix the settings displayed so that we show either
        ncurses or ncursesw, but not both (related to Bug#3213).

2009-10-05  castaglia <castaglia>

        * contrib/mod_sql.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: If the %T
        variable is used in a SQLLog query, AND the command in question uses
        session.xfer.p BUT does not involve a data transfer (e.g. RNFR),
        then a bad time value would be used.  Fix this.

2009-10-05  castaglia <castaglia>

        * modules/mod_facts.c: The recent change to using pr_response_add()
        for the MLST response lines means that we no longer need to
        explicitly add a leading space; that is handled automatically in the
        Response API.

2009-10-04  castaglia <castaglia>

        * NEWS, src/scoreboard.c, utils/ftptop.c: Bug#3214 - ftpwho/ftptop
        truncate UTF8 strings due to byte, versus character, lengths.

2009-10-04  castaglia <castaglia>

        * configure: Updated configure (for Bug#3213).

2009-10-04  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, src/main.c: Bug#3213 - Use
        locale-sensitive libncursesw library for ftptop where available.

2009-10-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add unit test for
        the iPAddressRequired TLSOption.

2009-10-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add a unit test
        demonstrating that when an FTPS client offers a cert, and the
        StdEnvVars TLSOption is used, the expected TLS_CLIENT_ environment
        variables are populated.

2009-10-04  castaglia <castaglia>

        * modules/mod_log.c: When parsing any potential log class names in
        an ExtendedLog directive, parse the names at parse time, rather than
        at connection time.  This way if there are unknown names configured,
        we can flag it as a configuration error, rather than (relatively)
        silently logging and ignoring the misconfiguration.

2009-10-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add a unit test for
        the StdEnvVars TLSOption.

2009-10-03  castaglia <castaglia>

        * modules/mod_log.c: Fix a minor bug where mod_log would skip a
        character if the LogFormat looked like a variable, but was in fact
        not one.  (I tried using "%{env:FOO}" instead of "%{FOO}e", and
        noticed that a character was being skipped in the handling of that
        "%{env:FOO}".)

2009-10-03  castaglia <castaglia>

        * modules/mod_log.c: Found a potential NULL pointer dereference when
        handling the ExtendedLog directive; added some signal handling and
        clarified the code while I was there.

2009-10-03  castaglia <castaglia>

        * contrib/mod_sql_passwd.c: Quell compiler warnings, too.

2009-10-03  castaglia <castaglia>

        * contrib/mod_sql_passwd.c: Typo.

2009-10-02  castaglia <castaglia>

        * NEWS, contrib/mod_ban.c, modules/mod_auth.c, src/main.c,
        src/scoreboard.c, tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: 
        Bug#3281 - TimeoutLogin not handled properly by mod_ban.

2009-10-02  castaglia <castaglia>

        * RELEASE_NOTES, doc/contrib/mod_sql.html: Update docs to reflect
        Bug#3290.

2009-10-02  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c, contrib/mod_sql.h,
        contrib/mod_sql_mysql.c, contrib/mod_sql_odbc.c,
        contrib/mod_sql_postgres.c, contrib/mod_sql_sqlite.c: Bug#3290 -
        Change default mod_sql connection policy to open database connection
        on first use.

2009-10-01  castaglia <castaglia>

        * doc/contrib/mod_ban.html: Forgot to mention MaxLoginAttempts as
        one of the events handled by BanOnEvent.

2009-10-01  castaglia <castaglia>

        * doc/contrib/mod_quotatab.html: Clarify the string to which a
        configured QuotaExcludeFilter is applied.

2009-10-01  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3298 -
        QuotaExcludeFilter directive ignored by mod_quotatab.

2009-10-01  castaglia <castaglia>

        * doc/contrib/mod_quotatab.html: Typo.

2009-10-01  castaglia <castaglia>

        * contrib/mod_sql_passwd.c, doc/contrib/mod_sql_passwd.html,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: While thinking
        about the salt last night, I decided that using "prepend" vs
        "append" as the config parameter names are a little clearer than
        "prefix" vs "suffix".  Time and users will tell how wise/clueless
        this was.

2009-10-01  castaglia <castaglia>

        * locale/files.txt: Remove a few duplicates (caused by symlinks and
        a working copy) from the list.

2009-10-01  castaglia <castaglia>

        * locale/Makefile.in, locale/files.txt: Updated locale/files.txt.

2009-10-01  castaglia <castaglia>

        * contrib/mod_rewrite.c: Quell compiler warning.

2009-09-30  castaglia <castaglia>

        * doc/contrib/mod_sql_passwd.html: Provide an example config using a
        salt file in the Usage section.

2009-09-30  castaglia <castaglia>

        * contrib/mod_sql_passwd.c: Fix bad grammar in a comment.

2009-09-30  castaglia <castaglia>

        * contrib/mod_sql_passwd.c, doc/contrib/mod_sql_passwd.html,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Make the use of
        a salt configurable in terms of whether the salt is used as a prefix
        or a suffix of the data to be hashed.

2009-09-30  castaglia <castaglia>

        * doc/contrib/mod_sql_passwd.html: Document the SQLPasswordSaltFile
        directive.

2009-09-30  castaglia <castaglia>

        * contrib/mod_sql_passwd.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Add a
        SQLPasswordSaltFile directive to the new mod_sql_passwd module; it
        is used to configure salts for the hashed passwords that
        mod_sql_passwd handles.  Doc update coming next.

2009-09-30  castaglia <castaglia>

        * contrib/mod_tls.c: Make sure that mod_tls does not cleanup OpenSSL
        if mod_sql_passwd is in use.

2009-09-29  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3296 -
        mod_quotatab should reject an upload via APPE if the quota is
        already exceeded.

2009-09-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/CWD.pm: Update regression test
        function names to match the names listed.

2009-09-29  castaglia <castaglia>

        * NEWS, src/fsio.c: Bug#3297 - Symlinks to directories which end in
        trailing slashes may not be handled properly.

2009-09-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/CWD.pm: Regression tests for
        Bug#3297.

2009-09-29  castaglia <castaglia>

        * doc/howto/Timestamps.html: Attempt to highlight that unexpected
        timestamps in directory listings are affected by the TimesGMT
        directive, not by chrooted processes.

2009-09-28  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#3295 - proftpd segfaults when STAT is
        used with ListOptions "-1".

2009-09-28  castaglia <castaglia>

        * tests/t/commands/stat.t,
        tests/t/lib/ProFTPD/Tests/Commands/STAT.pm, tests/tests.pl: Adding
        unit tests for the STAT command.

2009-09-28  castaglia <castaglia>

        * modules/mod_auth.c: If we have trouble resolving the chroot path,
        make sure we log the reason why.

2009-09-28  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Some SCP clients will quote the paths they
        send in their scp command, on the assumption that the handling
        server will use a shell for the scp command, and that shell will Do
        The Right Thing(tm) with regard to quoting.  This is not the case
        for mod_sftp, so we have to try to detect and remove such quotations
        ourselves.

2009-09-28  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: When handling an OPEN SFTP request,
        mod_sftp was not getting the "best" path for the requested path.
        This meant that mod_sftp was using the relative path provided by the
        client as-is -- and the FSIO API assumes that the requested paths
        will be absolute paths.  (This change is needed for mod_md5 to work
        properly when SFTP is used.)

2009-09-28  castaglia <castaglia>

        * contrib/mod_sftp/crypto.c: Update the 3des-ctr implementation to
        use OpenSSL's DES_encrypt3() function, which does the
        encrypt-decrypt-encrypt cycle in a single function.

2009-09-26  castaglia <castaglia>

        * contrib/mod_sftp/crypto.c: Make the 3des-ctr cipher work properly
        on big-endian machines.  Turns out that OpenSSL's DES_encrypt1()
        function (which seems to be the one necessary to use in order to be
        interoperable with PuTTy's 3des-ctr cipher implementation) expects
        to operate on *little-endian data*.  On a little-endian machine,
        this happens automatically.  But on big-endian machines, we need to
        swap the bytes of the data -- and the usual ntohl() functions don't
        work on big-endian machines (they're no-ops).  So I had to use my
        own byte-swapping function, and add a test for the machine
        endian-ness.

2009-09-25  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Mention the 3des-ctr cipher in the
        SFTPCiphers doc.

2009-09-25  castaglia <castaglia>

        * contrib/mod_sftp/crypto.c, contrib/mod_sftp/mod_sftp.h.in: Add
        support for the 3des-ctr cipher; tested using PuTTy-0.60.

2009-09-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Add unit test for the
        MLST command using an example of Greek letters, from one of the
        online forums threads.

2009-09-23  castaglia <castaglia>

        * RELEASE_NOTES: Mention custom HiddenStores prefixes in the release
        notes.

2009-09-23  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c,
        tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Bug#3294 - Support
        configurable HiddenStores prefixes.

2009-09-22  castaglia <castaglia>

        * contrib/mod_sftp/crypto.c: Fixed the Blowfish CTR code to handle
        endianness issues; now I can use the "blowfish-ctr" cipher using
        PuTTy-0.60 on my Intel machine.

2009-09-21  castaglia <castaglia>

        * src/inet.c: Pre-emptively update the code for Mac OSX 10.6
        machines.

2009-09-21  castaglia <castaglia>

        * modules/mod_facts.c: Use pr_response_add() instead of
        pr_response_send_raw(), and let the Response API handle the
        multi-line formatting of the response, rather than having to do it
        ourselves in mod_facts.

2009-09-21  castaglia <castaglia>

        * src/main.c: In the `proftpd -V' output, use two different strings
        to differentiate between the cases where uname(2) is not available
        on the platform, and where uname(2) returns an error for some reason
        (e.g. EPERM on virtualized servers).

2009-09-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: Cut-n-pasto.

2009-09-17  castaglia <castaglia>

        * tests/t/config/limit/anonymous.t,
        tests/t/lib/ProFTPD/Tests/Config/Limit/Anonymous.pm, tests/tests.pl: 
        Add some unit tests for an <Anonymous> configuration using <Limit
        WRITE>; a forums post suggested that the limit might not be being
        applied as expected.

2009-09-17  castaglia <castaglia>

        * doc/howto/Chroot.html: Add FAQ about using multiple DefaultRoot
        directives at the same time.

2009-09-17  castaglia <castaglia>

        * contrib/mod_sftp/crypto.c: Disable the blowfish-ctr cipher for
        now.  It appeared to work properly last night on my PPC Mac OSX 10.4
        box, but this morning on my Ubuntu 9.04 Intel machine, it doesn't.
        I suspect endian-ness issues.

2009-09-17  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.h.in: Forgot to include the blowfish
        header.

2009-09-17  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Make sure that blowfish-ctr is listed
        in the docs.

2009-09-17  castaglia <castaglia>

        * contrib/mod_sftp/crypto.c: Add support for the blowfish-ctr cipher
        from RFC4344.

2009-09-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: Add support for issuing the
        HOST command in the testsuite client.

2009-09-16  castaglia <castaglia>

        * contrib/mod_sftp/cipher.c, contrib/mod_sftp/keys.c,
        contrib/mod_sftp/mac.c: Clean up some minor compiler warnings.

2009-09-16  castaglia <castaglia>

        * contrib/mod_sftp/cipher.c: Some ciphers do not have IVs (e.g.
        RC4); make sure to handle this case properly.  (Without this, I was
        seeing strange memory corruption/errors.)

2009-09-16  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/cipher.c, contrib/mod_sftp/crypto.c,
        contrib/mod_sftp/crypto.h, contrib/mod_sftp/mod_sftp.c: Bug#3293 -
        SFTPCipher arcfour256 does not work properly.

2009-09-16  castaglia <castaglia>

        * src/privs.c: Make the "SETUP PRIVS" log message be at DEBUG9, like
        the other debug log messages generated when manipulating privs.

2009-09-16  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/crypto.c: Fix bug in mod_sftp's handling of
        AES CTR ciphers when an OpenSSL version between 0.9.7a and 0.9.7d is
        used; those versions of OpenSSL had buggy handling of the IV for the
        AES CTR (i.e. the IV was not handled in a big-endian fashion).

2009-09-16  castaglia <castaglia>

        * contrib/mod_sftp/crypto.c: Pedantic comment typo correction.

2009-09-16  castaglia <castaglia>

        * configure: Updated configure.

2009-09-16  castaglia <castaglia>

        * Make.rules.in, configure.in, contrib/mod_sftp/Makefile.in: Create
        an ADDL_CPPFLAGS variable in Make.rules, specifically so that
        contrib modules' Makefiles (for those contrib modules which have
        their own Makefile) can use any CPPFLAGS that may have been
        specified via environment variable.  Without this new variable, a
        contrib module Makefile would end up having duplicated/redundant
        CPPFLAGS values, or wouldn't have those CPPFLAGS propagated properly
        for the contrib module code.

2009-09-16  castaglia <castaglia>

        * contrib/mod_sftp/cipher.c, contrib/mod_sftp/mac.c: Minor
        adjustment to the debug logging of packet dumps, so that they are
        easier to pick out of the SFTPLog file.

2009-09-15  castaglia <castaglia>

        * modules/mod_core.c, src/dirtree.c, src/modules.c: Various
        stylistic cleanups generated while pursuing strange segfault.

2009-09-15  castaglia <castaglia>

        * src/auth.c: The previous change to populate the pool and tmp_pool
        fields for the cmd_rec that's dispatched to Auth callbacks had
        subtle and bad side effects.  Instead of using the given pool as
        that pool, create a subpool.

2009-09-15  castaglia <castaglia>

        * src/auth.c: Make sure that cmd->pool and cmd->tmp_pool are not
        NULL for the cmd_rec that is dispatched for the Auth callbacks.

2009-09-15  castaglia <castaglia>

        * tests/t/commands/host.t,
        tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Start working on unit
        tests for the HOST command, as part of Bug#3289.

2009-09-14  castaglia <castaglia>

        * src/session.c: When marking a session as idle, make sure that
        session.user is non-NULL; if not, using "(authenticating)".

2009-09-14  castaglia <castaglia>

        * src/dirtree.c, tests/t/lib/ProFTPD/Tests/Config/Limit/Filters.pm: 
        Set the errno appropriately for implicit denies.

2009-09-14  castaglia <castaglia>

        * doc/howto/Filters.html: Add example config for using AllowFilter
        to only allow specific filename extensions in a directory.

2009-09-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Limit/Filters.pm: Fix the broken
        AllowFilter unit test.  To make this particular config work, the
        Order directive is needed.

2009-09-12  castaglia <castaglia>

        * modules/mod_dso.c: Add more trace logging to help debug failed
        loading of DSO modules where the module symbol does not match the
        expected symbol name.

2009-09-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Limit/Filters.pm: Add a unit test
        for the AllowFilter functionality that is <Limit>-section specific.
        This unit test tests the STOR command, and a <Limit> section within
        a <Directory> section -- and the test fails.  So I still need to fix
        this before releasing 1.3.3rc2.

2009-09-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Looks like newer
        libssh2 versions have addressed some issues, though not all.

2009-09-09  castaglia <castaglia>

        * doc/contrib/mod_sql_passwd.html: Be sure to list the additional
        SQLAuthTypes provided by mod_sql_passwd.

2009-09-09  castaglia <castaglia>

        * RELEASE_NOTES, doc/contrib/mod_sql_passwd.html: Adding
        documentation for mod_sql_passwd.

2009-09-09  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Adding the required notice for using
        OpenSSL.

2009-09-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm,
        tests/t/modules/mod_sql_passwd.t, tests/tests.pl: Added unit tests
        for the mod_sql_passwd module.

2009-09-09  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sql.c, contrib/mod_sql.h,
        contrib/mod_sql_passwd.c: Bug#2368 -  Allow contrib modules to
        extend mod_sql's SQLAuthTypes.  This also includes a new
        mod_sql_passwd contrib module which can handle hex- and
        base64-encoded MD5 and SHA1 passwords, without the leading
        "{digest}" prefix required by the mod_sql OpenSSL SQLAuthType.

2009-09-08  castaglia <castaglia>

        * contrib/mod_sftp/auth.c: Add trace logging of the list of SSH2
        authentication methods that are offered to the client.

2009-09-08  castaglia <castaglia>

        * contrib/mod_sftp_pam.c: Remove the mod_auth_pam module from the
        auth-only module list before we add mod_sftp_pam to that list, to
        ensure that mod_sftp_pam is the module that is used.

2009-09-08  castaglia <castaglia>

        * modules/mod_auth.c: Clear the auth-only module list after
        authentication has succeeded.

2009-09-08  castaglia <castaglia>

        * include/auth.h, src/auth.c: Add functions for removing a module
        from the auth-only module list, and for clearing the entire
        auth-only module list.

2009-09-08  castaglia <castaglia>

        * src/bindings.c: The fix for Bug#2680 checks for DefaultServer too
        early; we want to check for any INADDR_ANY vhosts first, before
        resorting to using the DefaultServer (if configured).

2009-09-08  castaglia <castaglia>

        * contrib/mod_sftp/utf8.c: Simply mod_sftp's UTF8 handling code,
        bringing it in sync with the recent changes to the core Encode API.
        Specifically, do NOT call setlocale(), as it is already done
        elsewhere.  Also, use the new pr_encode_get_local_charset() instead
        of duplicating code from the Encode API.

2009-09-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Add unit tests to
        ensure than the use of ".UTF-8" aliases work properly for the
        LangDefault directive (and thus, by extension, for the LANG
        command).

2009-09-08  castaglia <castaglia>

        * modules/mod_lang.c: Skip the "." and ".." directory entries when
        scanning the LangPath directory.

2009-09-07  castaglia <castaglia>

        * NEWS: Forgot to update the NEWS file.

2009-09-07  castaglia <castaglia>

        * src/inet.c: Don't re-declare a variable that's already in scope.  Be paranoid, and only avoid ENOPROTOOPT errors if that errno is
        actually defined on the system.

2009-09-07  castaglia <castaglia>

        * src/inet.c: Needed to revert the fix for Bug#3237, as it was
        causing a regression on FreeBSD.  Instead, I opted to ignore the
        ENOPROTOOPT error, which was the original cause of the reporting of
        Bug#3237.

2009-09-07  castaglia <castaglia>

        * contrib/mod_quotatab.c: Quell a few compiler printf warnings by
        using explicit typecasts.

2009-09-07  castaglia <castaglia>

        * include/encode.h, modules/mod_lang.c, src/encode.c, src/main.c: 
        Bug#3229 - LangDefault does not accept any setting on FreeBSD.  There were multiple issues involved in this one.  First, mod_lang
        needed to handle setlocale(3) where the translated files shipped
        with proftpd (which do not have ".UTF-8" in their names) did not
        match the languages accepted by setlocale() on the platform (e.g.
        where setlocale() expected names which *did* end in ".UTF-8"); this
        is handled by populating a table of language aliases.  Second, the initial setlocale(LC_ALL, "") call, to pick up/honor the
        various environment variables as one would expect from a Unix
        program, was happening in quite a few places in mod_lang.  Not good.
        So this was moved into the main() function, as part of the initial
        startup.  And yes, it does check that the setlocale() function call
        succeeds, and warns about badly configured environment variables if
        not.  Last, we had to always set the LANG environment variable, in order
        to ensure that gettext used the translated files of the language to
        which we had switched.  While the old code would work on Linux (and
        on Solaris...I think), it would NOT work on FreeBSD (and possibly
        other BSD-related platforms).  It was a long arduous slog to finding
        that using LANG was required.  Ugh.

2009-09-07  castaglia <castaglia>

        * contrib/mod_sql_mysql.c: In the midst of investigating/fixing
        Bug#3229, I found out why MySQL never seemed to use anything other
        than 'latin1' as its character set name.  Mostly it was due to bugs
        in the proftpd Encode API, but it was also partly caused by an API
        impedance mismatch in mod_sql_mysql.  This change fixes that (and
        yes, I've tested it using a UTF-8 language setting, and saw that
        MySQL reported using a 'utf8' character set).

2009-09-05  castaglia <castaglia>

        * src/encode.c: Need to set the LC_NUMERIC locale back to "C" after
        calling setlocale() using LC_ALL.

2009-09-05  castaglia <castaglia>

        * src/encode.c: Make sure we do an explicit setlocale() call before
        calling nl_langinfo().  This needs to happen in the parent/daemon
        process (i.e. when encode_init() is first called), since the child
        processes will inherit the pointers in memory to the retrieved
        nl_langinfo string.

2009-09-04  castaglia <castaglia>

        * doc/howto/ConfigFile.html: Specifically mention that proftpd
        switches to the UID/GID of the logged-in user.

2009-09-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Add unit test
        proving that the FEAT output does not include UTF8 if the LangEngine
        directive is set to 'off'.

2009-09-04  castaglia <castaglia>

        * src/encode.c: Fix segfault found by the mod_lang unit tests.

2009-09-04  castaglia <castaglia>

        * RELEASE_NOTES: Update release notes with note about scoreboard
        format change; need to expand on this at release time, of course.

2009-09-04  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/auth.c, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_sftp/scp.c, include/scoreboard.h, modules/mod_auth.c,
        src/scoreboard.c, src/session.c, utils/ftptop.1.in, utils/ftptop.c,
        utils/ftpwho.c, utils/utils.h: Bug#2013 - Track RFC2228 sessions in
        scoreboard.  The scoreboard entry format now has a 'protocol' field,
        for tracking 'ftp' and 'ftps'.  Bug#3286 - Client command field in scoreboard entry too short for
        SSH2/SFTP commands.  These changes are combined in one change, in order to rev the
        scoreboard format version only once for these format changes.

2009-09-02  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: When handling SCP uploads/downloads, be
        sure to update the scorboard entry appropriately.  Since SCP doesn't
        have "commands" or "requests" (unlike FTP and SFTP), the scoreboard
        entry is updated with the quasi-commands "SCP_RETR" and "SCP_STOR".

2009-09-02  castaglia <castaglia>

        * contrib/mod_sftp/packet.c: Fix the logic for determining the
        random length of data to read, after a packet has been determined to
        be malformed.

2009-09-02  castaglia <castaglia>

        * contrib/mod_sftp/auth.c, contrib/mod_sftp/packet.c,
        include/proftpd.h, include/session.h, modules/mod_auth.c,
        src/data.c, src/main.c, src/session.c: Move the session_set_idle()
        into the session.c file, and make it a pr_ function.  This also
        updates mod_sftp to automatically mark the session as "idle"
        whenever it is waiting to read the next SSH2 message.

2009-09-01  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#3287 - MaxTransfersPerHost,
        MaxTransfersPerUser directives not supported properly.

2009-09-01  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Add SFTP FAQ about CBC cipher mode
        attacks.

2009-09-01  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/packet.c,
        contrib/mod_sftp/ssh2.h: Implement the recommended countermeasure
        for mitigating the SSH2 plaintext recovery attack against CBC mode
        ciphers described in CPNI-957037:   http://www.cpni.gov.uk/Docs/Vulnerability_Advisory_SSH.txt This also fixes a redeclaration of the SFTP_MAX_PACKET_LEN macro (it
        was being defined in both mod_sftp.h and ssh2.h).

2009-08-31  castaglia <castaglia>

        * doc/howto/Controls.html: Updating URLs and such in Controls howto.

2009-08-31  castaglia <castaglia>

        * contrib/mod_sftp/packet.c: Handle ESHUTDOWN, and add a comment
        about why we disconnect the client for these errors, rather than
        sending a DISCONNECT message first.

2009-08-31  castaglia <castaglia>

        * contrib/mod_sftp/packet.c: Handle a few more types of errors that
        we might encounter while reading from a socket.

2009-08-30  castaglia <castaglia>

        * src/session.c: Getting ready to support the "publickey" SSH2
        subsystem (RFC4819).

2009-08-28  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, src/dirtree.c: Bug#3279 - .ftpaccess
        configurations not merged properly with existing configuration.

2009-08-28  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: Be a little clearer in the
        TOO_MANY_CONNECTIONS disconnect message (but do NOT necessarily
        specify exactly whether it is too many connections for the user, or
        the host...we don't want to leak too much information).

2009-08-28  castaglia <castaglia>

        * contrib/mod_sftp/disconnect.c, contrib/mod_sftp/disconnect.h,
        contrib/mod_sftp/mod_sftp.c, modules/mod_auth.c: Make sure that
        mod_sftp registers event listeners for the various MaxClients and
        MaxConnections directive.  That way, just before mod_auth breaks the
        TCP connection, mod_sftp can send an SSH2 message to the client
        about the reason for the disconnection.

2009-08-28  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Typos, updating wording about channel
        window sizes (I now know why SSH2 has its own built-in flow control
        mechanisms, in addition to TCP's flow control).

2009-08-27  castaglia <castaglia>

        * NEWS, src/inet.c: Bug#3284 - Slower transfers of multiple small
        file transfers after upgrade from 1.3.0a to 1.3.2a.

2009-08-26  castaglia <castaglia>

        * contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h: Make sure
        that we do NOT increase the window size above the max possible
        window size of 2^32-1 bytes, as per RFC4254 Section 5.2.

2009-08-26  castaglia <castaglia>

        * contrib/mod_sftp/packet.c, contrib/mod_sftp/tap.c,
        contrib/mod_sftp/tap.h: Make sure that if a TAP packet is sent, it
        appears in the same TCP packet as the following "real" packet when
        possible.  I.e. make sure that the data for both the TAP packet and
        the real packet appear in the same writev(2) call, rather than
        having separate writev(2) calls (which ends up being separate TCP
        packets, which negates the whole purpose of trying to mitigate TCP
        traffic analysis via TAP packets).

2009-08-25  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Add unit test showing
        that using STOR to upload a file whose name contains multiple
        consecutive periods does indeed work as expected.  A user in the
        online forums is having an issue with this scenario; I suspect it is
        due to something in the proftpd.conf.

2009-08-25  castaglia <castaglia>

        * contrib/mod_sftp/kex.c, contrib/mod_sftp/tap.c,
        contrib/mod_sftp/tap.h: Rename the 'cbc-mode' TAP policy to
        'rogaway', to be more clear (and interesting).

2009-08-25  castaglia <castaglia>

        * contrib/mod_sftp/kex.c, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_sftp/tap.c, contrib/mod_sftp/tap.h: Protect against the
        Rogaway CBC mode attack (see RFC4251, Section 9.3.1) by sending
        IGNORE messages before every outgoing message if a CBC mode cipher
        is chosen for server-to-client messages.

2009-08-25  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Adding comment/note to myself for future
        tweaking.

2009-08-24  castaglia <castaglia>

        * contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h,
        contrib/mod_sftp/scp.c: Fix a rather egregious bug in the SCP
        download code.  We were reading the entire file being downloaded
        into memory, and sending (or buffering) the data for it BEFORE
        returning back to handling any messages which may have been sent by
        the client while we were reading.  If the file is larger than the
        default/initial window size, then we end up buffering.  We only
        drain that buffered data once the file had been read in its
        entirety, and we go back and handle any WINDOW_ADJUST messages,
        which then open the window again and we can drain our data.  Now imagine if that file is large, say, >4GB.  The client sends its
        WINDOW_ADJUST messages, but mod_sftp never gets around to listening
        to them for quite a while.  Not good.  The fix, then, is to have the
        SCP download code check the window size periodically.  If the window
        closes, then handle enough messages from the client until the window
        opens again.

2009-08-23  castaglia <castaglia>

        * src/pidfile.c: In the mod_sftp unit test for handling SIGTERM, I
        noticed that one of the configured SFTPHostKey files kept
        disappearing (as in, being deleted) once the server was shut down.
        Another mod_sftp user has reported seeing the same symptoms, only
        intermittently.  I was finally able to track down the cause.  Turns that the PidFile handling code was not being very careful
        about making sure that the static pidfile_path pointer kept pointing
        to the same memory.  The pointer used for looking up the PidFile
        directive was the same pointer; and if the lookup failed/changed,
        the pointer could change.  And, say, point at some other file.
        Then, when the server shut down and deleted its PidFile, well, that
        other file might be deleted.  Not desirable behavior.

2009-08-22  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: When mod_sftp is calculating the
        amount of data it can send in CHANNEL_DATA messages, it was taking
        the 9 bytes of header data (packet type, channel ID, payload len)
        into account when it should not.  For very large data transfers, it
        means that mod_sftp's idea of the open channel window size could get
        out of sync with the client.  And if the client didn't send a
        WINDOW_ADJUST message in time, it could lead to deadlock.  Let's
        hope this fixes that deadlock situation.

2009-08-19  castaglia <castaglia>

        * contrib/mod_sftp/auth.c: The mod_sftp module was looking up any
        DefaultChdir config directive, but was not honoring it properly.

2009-08-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
        DefaultChdir config in mod_sftp.

2009-08-19  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3282 - With
        "SQLNegativeCache on", mod_sql will look up wrong cached user value
        for subsequent USER commands.

2009-08-15  castaglia <castaglia>

        * tests/t/config/ftpaccess/merging.t,
        tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm,
        tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Merging.pm,
        tests/tests.pl: Adding unit tests derived from investigations into
        Bug#3279.

2009-08-15  castaglia <castaglia>

        * src/dirtree.c: Sigh; fix the spacing in these HideFiles log
        messages again.

2009-08-15  castaglia <castaglia>

        * modules/mod_ls.c: The tweaks to mod_ls' option parsing code for
        Bug#3268 were not quite sufficient; they would cause erroneous
        errors (e.g. on PPC machines) in some cases.

2009-08-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Add another unit
        test related to Bug#3276, this one demonstrating that "HideFiles
        none" works as expected.

2009-08-14  castaglia <castaglia>

        * src/dirtree.c: Fix the spacing of the log messages about negated
        (or not) HideFiles directives.

2009-08-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Add another unit
        test for Bug#3276, this one using DefaultRoot and a LIST command
        which doesn't specify the target directory (i.e. list the current
        directory).

2009-08-13  castaglia <castaglia>

        * NEWS, contrib/mod_radius.c, modules/mod_xfer.c, src/data.c: 
        Bug#3278 - Aborted data transfers not reflected in RADIUS
        accounting.

2009-08-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_radius.pm,
        tests/t/modules/mod_radius.t: Add unit tests for mod_radius.  I
        won't add these to the default testsuite (i.e. when mod_radius is
        enabled in the built proftpd), since they currently require that
        you're running a RADIUS server (e.g. FreeRADIUS).  But these help
        for when I need to work on mod_radius.

2009-08-13  castaglia <castaglia>

        * contrib/mod_radius.c: Fix compiler warnings about signedness
        mismatches.

2009-08-12  castaglia <castaglia>

        * modules/mod_core.c, src/dirtree.c: Add some additional debug
        logging of handling of HideFiles directive, and include the negation
        flag in the logging.  (Switched to using 'negated' rather than
        'inverted'; the former is more applicable, I think.)

2009-08-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Add HideFiles test
        using negation; used this test when investigating a HideFiles issue
        reported on forums.proftpd.org which is quite similar to Bug#3276.

2009-08-12  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Remove mention of the GB/MB suffixes
        for channelPacketSize; this size cannot exceed the protocol maximum
        of 35000 bytes.

2009-08-11  castaglia <castaglia>

        * doc/howto/Authentication.html: Orthographic correction.

2009-08-10  castaglia <castaglia>

        * NEWS: Had the bug number wrong; should be Bug#3252, not Bug#3272.

2009-08-10  castaglia <castaglia>

        * NEWS, src/fsio.c: Bug#3272 - %F/%f Display variables can report
        wrong size on 64-bit systems.

2009-08-06  castaglia <castaglia>

        * contrib/mod_sftp/rfc4716.c: Quibble, quibble.

2009-08-06  castaglia <castaglia>

        * contrib/mod_sftp/rfc4716.c: Thinko.

2009-08-06  castaglia <castaglia>

        * contrib/mod_tls.c: Add a function to get a printable version of a
        suspicious dNSName value; related to Bug#3275.

2009-08-06  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c,
        tests/t/etc/modules/mod_tls/ca-nul-subjaltname.pem,
        tests/t/etc/modules/mod_tls/cert-nul-subjaltname.pem,
        tests/t/etc/modules/mod_tls/key-nul-subjaltname.pem,
        tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3275 - Improper
        SSL/TLS certificate subjectAltName verification.

2009-08-05  castaglia <castaglia>

        * src/encode.c: When comparing the local and remote charsets, in
        some cases we don't need to check for null pointers (already checked
        earlier in the function in those cases), and in other cases we *do*
        need to check for null pointers.

2009-08-05  castaglia <castaglia>

        * src/encode.c: [no log message]

2009-08-05  castaglia <castaglia>

        * modules/mod_lang.c: Try to make for better, more informative error
        messages if we fail to set the locale.

2009-08-05  castaglia <castaglia>

        * src/data.c: We handle signals in pr_data_xfer() when writiing; we
        should do the same when reading.

2009-08-05  castaglia <castaglia>

        * modules/mod_lang.c: Declaring the curr_locale variable in the
        right scope helps to make the code actually compile properly.

2009-08-05  castaglia <castaglia>

        * modules/mod_lang.c: When scanning the LangPath directory, we don't
        need to save/restore the current locale on each file found in the
        directory.  Just do the save/restore once for the entire scan loop.

2009-08-04  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Document the new "noReconnect" SQLOption
        added as part of Bug#3270.

2009-08-04  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c, contrib/mod_sql.h,
        contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Bug#3270 - Lost
        connections to databases not correctly handled.

2009-08-04  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/utf8.c, src/encode.c: Bug#3272 - Avoid
        encoding if to/from charsets are the same.

2009-08-04  castaglia <castaglia>

        * NEWS, src/support.c: Bug#3274 - Timestamp formatting in
        TransferLog needs padded day-of-month.

2009-08-02  castaglia <castaglia>

        * contrib/mod_sql_postgres.c: Log the Postgres client version to the
        SQLLogFile, and log it at the same time as we log the server
        version.  This will make finding/reporting these versions easier.

2009-08-02  castaglia <castaglia>

        * contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Report on the
        database client and server versions, when known.

2009-07-30  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Fix compilation error on AIX5.

2009-07-29  castaglia <castaglia>

        * NEWS, modules/mod_ls.c, src/fsio.c,
        tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Bug#3254 - NLST/LIST and
        symbolic link problem.

2009-07-29  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Add unit test for LIST
        command for Bug#3254.

2009-07-28  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Some errno values are defined to be the
        same on AIX, which is causing mod_sftp not to compile properly:   http://forums.proftpd.org/smf/index.php/topic,3971.0.html Hopefully this change works around the issue and still preserves the
        desired functionality.

2009-07-27  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix unit test which
        broke due to changes in mod_sftp's SCP support for the %F variable.
        (The test code was broken, not the source code.)

2009-07-27  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: Missed one change from the weekend's
        mod_sftp hacking.

2009-07-27  castaglia <castaglia>

        * contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h,
        contrib/mod_sftp/fxp.c, contrib/mod_sftp/fxp.h,
        contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/scp.c,
        contrib/mod_sftp/scp.h: Added an API by which a module, outside of
        mod_sftp, can register handlers for an 'exec' command.  This allows
        other modules to use SSH2 as the transport, and to implement
        whatever logic they wish outside of mod_sftp.  (There is an issue of
        code load order and link-time symbol resolution; for now, I'm
        punting on this issue.)

2009-07-26  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: It's possible for an SSH2 client to
        open a channel, and then send an 'exec' request which mod_sftp does
        not support.  We send a failure message in such cases, but the
        channel remains open.  So if the client ignores our error message
        and then sends channel data to the exec'd command, well...the
        process might wander off into the weeds.  Not desirable behavior.
        To catch this case, we simply need to make sure that a channel data
        handler has been registered.  If not, reject the packet.

2009-07-24  castaglia <castaglia>

        * contrib/mod_sql.c: To help find out why configurations may not
        work as expected, log when we search for a SQLNamedQuery and don't
        find it.  I just saw a config which had mismatched names between the
        configured SQLNamedQuery, and the name used in a SQLShowInfo
        parameter.

2009-07-23  castaglia <castaglia>

        * modules/mod_delay.c: Add a long explanatory comment about the
        DELAY_NPROTO value.  Also, the value of 4 was too high; we currently
        only support three protocols in the DelayTable: ftp, ftps, and ssh2.
        No need to allocate empty rows in the table.

2009-07-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Fix the
        broken test for Bug#3164 by adding a slight delay, to give our
        out-of-band update to the SQLite database time to be applied.

2009-07-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Add unit
        test for handling of DELE in mod_quotatab.

2009-07-23  castaglia <castaglia>

        * doc/howto/Quotas.html: Add another quota FAQ.

2009-07-23  castaglia <castaglia>

        * contrib/mod_rewrite.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Clean up dead code
        in mod_rewrite.c.  Check for bad/unknown RewriteCondition flags, and
        handle them as a configuration error.  Add unit test for the "[NC]" RewriteCondition flags.

2009-07-23  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Bug#3269 -
        RewriteCondition OR/ornext flag does not work.

2009-07-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Add a unit test
        showing that mod_rewrite's handling of RewriteConditions's OR flag
        is broken.

2009-07-22  castaglia <castaglia>

        * src/display.c: Fix a regression in the 1.3.3rc1 code, where a
        DisplayConnect file would be sent to the client -- and then an extra
        line with a 220 response code would be sent.  This, in addition to
        the 220 line with the normal banner.  The extra 220 response line
        was confusing some clients (and rightly so).

2009-07-22  castaglia <castaglia>

        * modules/mod_delay.c: Add paranoid check that an array pointer is
        non-null before we use it.

2009-07-21  castaglia <castaglia>

        * contrib/mod_sql.c: Add handling of signals in the loops which
        process the various info directives (e.g. SQLShowInfo, SQLLog, etc).
        Also use check_response() more throughout the code; this function
        checks for unrecoverable backend errors and -- depending on the
        config -- will disconnect the session if such an error occurs.

2009-07-21  castaglia <castaglia>

        * contrib/mod_sql.c: Make sure that mod_sql logs the corresponding
        "leaving func" message in some cases; it wasn't doing so.

2009-07-21  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Update the session.xfer.path field, when
        handling uploads via SCP, when we have received enough information
        from the client to know the full path.

2009-07-21  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: If mod_sftp is built using the RPM
        .spec file, then we need to take into account some of the config
        files that mod_sftp includes (e.g. blacklist.dat and dhparams.pem).

2009-07-21  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.h.in: Bump the mod_sftp version in CVS,
        to differentiate it from the version of mod_sftp available on
        castaglia.org.  The CVS version is vastly improved.

2009-07-21  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: Attempt to add support for mod_sftp
        to the .spec file.

2009-07-21  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, modules/mod_log.c,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#1908 -
        ExtendedLog to work properly in <Anonymous> context.

2009-07-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add a unit test for
        the %f/%F LogFormat variables when used for an SCP upload; I'm
        trying to reproduce a reported issue when using these variables and
        uploading via SCP, but to no avail as yet.

2009-07-21  castaglia <castaglia>

        * NEWS, modules/mod_ls.c,
        tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Bug#3268 - Files whose
        names start with whitespace are not listed properly.

2009-07-21  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: More explanatory comments, for my future
        reference.

2009-07-21  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Add comment describing the implementation
        of the RENAME handler, and how it is technically nonconformant in
        particular cases.

2009-07-21  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Still trying to properly map the V5 OPEN
        flags/bitmasks to open(2) flags.

2009-07-20  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c, doc/contrib/mod_sftp.html: The STAT,
        FSTAT, and LSTAT SFTP requests are no longer limited when using
        <Limit READ>.  Instead, each of these requests can be limited by
        using the request name directly.

2009-07-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add a unit test
        using the %s LogFormat variable for write requests in an SFTP
        session; this complements the existing %s LogFormat variable test
        for SFTP read requests.

2009-07-20  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Clear the response lists before
        dispatching the STOR cmd_rec when handling aborted upload file
        handles in an SFTP session.

2009-07-20  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: If the SFTP client left a directory handle
        open, then we need to handle it as a *directory*, not as a file, in
        the aborted-handles code.  Otherwise, segfaults will happen.

2009-07-20  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Removed duplicated text.

2009-07-20  castaglia <castaglia>

        * contrib/mod_sftp/keys.c: Update the handling of the
        SFTPPassPhraseProvider config with tweaks found from working on
        mod_exec.

2009-07-20  castaglia <castaglia>

        * tests/tests.pl: Add support for a --verbose command-line option to
        the tests.pl testsuite driver.  Using --verbose will set the
        TEST_VERBOSE environment variable.  This is particularly useful when
        running the testsuite (or individual test files) as root using sudo;
        sudo (depending on the version) prevents environment variables from
        being communicated to the executed program.

2009-07-20  castaglia <castaglia>

        * NEWS, src/auth.c: Bug#2070 - AuthAliasOnly off in <Global> section
        kills anonymous logins.

2009-07-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Fix up minor issues
        in the test code found by the Perl interpreter in strict mode.

2009-07-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Limit/SubDirectories.pm,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fix variable
        redeclarations, and soothe the savage Perl interpreter beast.

2009-07-19  castaglia <castaglia>

        * tests/t/config/authaliasonly.t,
        tests/t/lib/ProFTPD/Tests/Config/AuthAliasOnly.pm, tests/tests.pl: 
        Add unit tests for the AuthAliasOnly directive, including a test
        which reproduces Bug#2070.

2009-07-19  castaglia <castaglia>

        * tests/t/config/authusingalias.t,
        tests/t/lib/ProFTPD/Tests/Config/AuthUsingAlias.pm, tests/tests.pl: 
        Add unit tests for the AuthUsingAlias directive.

2009-07-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm,
        tests/t/utils/ftpwho.t, tests/tests.pl: Start adding unit tests for
        the ftpwho utility.

2009-07-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Utils/ftpcount.pm,
        tests/t/utils/ftpcount.t, tests/tests.pl: Start of unit tests for
        the ftpcount utility.

2009-07-19  castaglia <castaglia>

        * contrib/mod_exec.c: When executing the command and the 'useStdin'
        ExecOption has been used, we should at least provide the first
        command-line argument, which, by convention, is the name of the file
        being executed.

2009-07-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Add unit test for
        the ExecOnRestart directive.

2009-07-19  castaglia <castaglia>

        * contrib/mod_exec.c: Add handling of signals to some while() loops.

2009-07-18  castaglia <castaglia>

        * contrib/mod_exec.c, tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: 
        Added unit tests for the various ExecOptions values.  Along the way,
        I found (and fixed) several bugs in mod_exec.  Three cheers for
        testing!

2009-07-18  castaglia <castaglia>

        * doc/contrib/mod_exec.html: Fix typos, update mod_exec doc to point
        to local copy of Logging howto.

2009-07-18  castaglia <castaglia>

        * tests/t/config/useglobbing.t,
        tests/t/lib/ProFTPD/Tests/Config/UseGlobbing.pm, tests/tests.pl: Add
        unit test for the UseGlobbing directive.

2009-07-18  castaglia <castaglia>

        * tests/t/config/userpassword.t,
        tests/t/lib/ProFTPD/Tests/Config/UserPassword.pm, tests/tests.pl: 
        Add unit test for the UserPassword directive.

2009-07-18  castaglia <castaglia>

        * doc/howto/TLS.html: Update the TLS howto FAQ regarding implicit
        FTPS to reflect the addition of implicit FTPS support (in Bug#3266).

2009-07-18  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c, doc/contrib/mod_tls.html,
        tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3266 - Support
        "implicit" FTPS.

2009-07-17  castaglia <castaglia>

        * modules/mod_dso.c: If mod_dso can't load a module because the
        module doesn't exist in the expected ModulePath, it emits a warn.
        Log that at the INFO level, rather than at a DEBUG level.

2009-07-17  castaglia <castaglia>

        * modules/mod_ctrls.c: If ControlsEngine is set to 'off', then we
        should not try to listen on the ControlsSocket.

2009-07-17  castaglia <castaglia>

        * modules/mod_dso.c: Improve on the errors reported by mod_dso when
        a module can't be loaded.  The cause of the infamous "error loading
        ...: Permission denied" error is actually most likely to be a
        ModulePath that is an empty directory, but you would have no way of
        knowing/guessing that from the emitted error.

2009-07-16  castaglia <castaglia>

        * configure: Forgot to check in the updated configure script.

2009-07-16  castaglia <castaglia>

        * doc/howto/Umask.html: Add a FAQ to the Umask howto explaining why
        proftpd does not allow uploading of files with execute permissions.

2009-07-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_shaper.pm,
        tests/t/modules/mod_shaper.t, tests/tests.pl: Start adding
        unit/regression tests for the mod_shaper module.

2009-07-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm: Add unit test for
        CreateHome's 'dirmode' parameter.

2009-07-15  castaglia <castaglia>

        * config.h.in, configure.in, src/main.c: Add an autoconf check for
        the uname() function, in case the platform does not actually provide
        one.  (Handy for older and/or more esoteric platforms).

2009-07-15  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Use the SFTP session's pool, rather than
        the Response API pool, for adding our status codes.

2009-07-15  castaglia <castaglia>

        * src/main.c: Use uname(2) to get more platform details (OS and
        version, machine/CPU type) for the -V settings.  Easier than asking
        people about the platform they're running proftpd on; just ask for
        the -V output.

2009-07-15  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Simplify the obtaining of proper open(2)
        flags when handling version 5 (and higher) SFTP OPEN requests.

2009-07-15  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Add unit test
        demonstrating, via mod_exec, a use of the new %{bytes_xfer}
        variable.

2009-07-15  castaglia <castaglia>

        * modules/mod_core.c: Add support for a %{bytes_xfer} variable.
        Similar to the existing %{total_bytes_xfer} variable, only this new
        variable only shows the number of bytes in the recent data transfer
        (if any), rather than the cumulated count of bytes transferred
        during the lifetime of the session.

2009-07-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
        the %s LogFormat variable in ExtendedLogs for SFTP requests.

2009-07-14  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Dispatch to the correct POST_CMD/LOG_CMD
        (or POST_CMD_ERR/LOG_CMD_ERR) handlers.  Specifically, do NOT
        dispatch EOF errors (when reading) to _ERR handlers; the way that
        SFTP reads work, this is normal.

2009-07-14  castaglia <castaglia>

        * contrib/mod_exec.c: Handle signals/interruptions in the
        potentially long/time-consuming loop as we close any open file
        descriptors before exec'ing the configured command.

2009-07-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: Add a quote() method to the
        TestSuite::FTP class, for quoting raw/arbitrary commands to send to
        the server.

2009-07-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Add unit tests for
        ExecOnError.

2009-07-09  castaglia <castaglia>

        * contrib/mod_exec.c: Guard against having getrlimit(2) return an
        obscenely high number of maximum open file descriptions (e.g.
        RLIMIT_INFINITY); this was causing mod_exec to not work as expected
        on Mac OSX 10.4.

2009-07-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Add unit test for
        ExecOnExit.

2009-07-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Adding more
        mod_exec unit tests, including one for the "%{...}" variable
        support.

2009-07-09  castaglia <castaglia>

        * contrib/mod_exec.c: Add support for the Variables API-style
        "%{...}" variables to mod_exec's variable interpolation.  For
        example, you could now do:   ExecOnExit /bin/bash -c "echo %{total_bytes_out} >>
          bytes-downloaded.txt" and it would work properly.

2009-07-09  castaglia <castaglia>

        * contrib/mod_exec.c: Fix off-by-one error which caused mod_exec to
        log all but the last parameter when calling exec.

2009-07-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm,
        tests/t/modules/mod_exec.t, tests/tests.pl: Start working on unit
        tests for the mod_exec module.

2009-07-08  castaglia <castaglia>

        * lib/sstrncpy.c: Catch a possible null pointer exception in
        sstrncpy(), if the src pointer provided by the caller is null.

2009-07-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Allow the Port that
        appears in the testsuite proftpd.conf files to be settable directly
        by the unit test.

2009-07-08  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Oops.  We only want to set the O_RDONLY
        flag, not to obliterate any other bits/flags set to only have
        O_RDONLY.

2009-07-08  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Attempt to work around bugs in SFTP
        clients using protocol version 5 or higher whose OPEN requests do
        not include the proper bits set for indicating whether O_RDONLY,
        O_RDWR, or O_WRONLY should be used.  The workaround is to attempt to
        infer which of the O_ flags to use from the other bits the client
        might have provided.

2009-07-06  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#2758 - ProFTPD doesn't always pay
        attention to AccessDenyMsg.

2009-07-06  castaglia <castaglia>

        * tests/t/config/accessdenymsg.t,
        tests/t/lib/ProFTPD/Tests/Config/AccessDenyMsg.pm, tests/tests.pl: 
        Add unit tests for the AccessDenyMsg config directive.

2009-07-06  castaglia <castaglia>

        * tests/t/config/accessgrantmsg.t,
        tests/t/lib/ProFTPD/Tests/Config/AccessGrantMsg.pm, tests/tests.pl: 
        Add unit tests for the AccessGrantMsg config directive.

2009-07-06  castaglia <castaglia>

        * tests/t/config/useralias.t,
        tests/t/lib/ProFTPD/Tests/Config/UserAlias.pm, tests/tests.pl: Add
        unit tests for the UserAlias config directive.

2009-07-05  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Handle the NAMED_ATTRS read and write
        flags in a SFTP open request, protocol version 5 or later.  Also be
        sure to handle the case where the client may send desired access
        flags which seem to be read-only, but also send open flags which
        indicate append.

2009-07-05  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Make sure to dispatch {POST,LOG}_CMD_ERR
        commands for aborted SFTP files, so that modules like mod_exec's
        ExecOnError can work properly.

2009-07-05  castaglia <castaglia>

        * contrib/mod_sftp/scp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: The mod_sftp module
        was not honoring a configuration like:   <Limit WRITE>     DenyAll   </Limit>   <Directory ~/*/*>     <Limit STOR>       AllowAll     </Limit>   </Directory> the same way between SFTP and SCP uploads.  SFTP uploads were
        allowed properly, but SCP uploads were not.  Turned out to be a
        problem with the path that was being used in the dir_check() calls
        in the SCP code; the full path was not being used as it should.  Also fixed a problem where an SCP client might send duplicate
        filename info (once in the channel request, once in the fileinfo
        control message).

2009-07-04  castaglia <castaglia>

        * src/main.c: Install our signal handlers earlier in the startup
        process.  The driving force behind this change is to get our SIGSEGV
        handler installed prior to parsing the config file; this way if a
        segfault occurs AND --enable-devel=stacktrace has been used, we can
        get the stack trace for a parsing segfault.  By the time the signal handlers were being installed (i.e. after
        parsing) this would not have been possible.

2009-07-04  castaglia <castaglia>

        * doc/howto/Filters.html: When compiling POSIX regular expressions
        using patterns which include character classes like 'blank' et al,
        you DO need to use two square brackets, not just one.

2009-07-04  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
        contrib/mod_sftp/fxp.c, contrib/mod_sftp/kex.c,
        contrib/mod_sftp/service.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3265 - SFTP
        requests are logged to ExtendedLog without regard to classes.  The cmd_rec.class field needed to be set on the SSH2 and SFTP
        cmd_recs used.

2009-07-03  castaglia <castaglia>

        * NEWS, contrib/mod_sftp/mod_sftp.c: Bug#3263 - Supplying optional
        SFTPRekey timeout parameter causes segmentation fault.

2009-07-01  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Mention that --enable-openssl can be
        used to enable the OpenSSL SQLAuthType.

2009-07-01  castaglia <castaglia>

        * include/version.h: Update the version.h file for the next RC
        release.

2009-07-01  castaglia <castaglia>

        * ChangeLog: Updated ChangeLog.

2009-07-01  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec,
        include/version.h: Updating the files for the release of 1.3.3rc1.

2009-07-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Update mod_tls unit
        tests to reflect behavior of newer Net::FTPSSL Perl module.

2009-07-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Quell Perl
        interpreter warnings about redeclared variables.

2009-07-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: More
        handling of spelling differences across systems.

2009-07-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/TimeoutLogin.pm: Cleanup of these
        older tests.

2009-07-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm: Account for
        spelling differences among different systems.

2009-07-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Fix the use of regexes
        in the unit tests; I was comparing the two operands in the wrong
        order.

2009-07-01  castaglia <castaglia>

        * modules/mod_auth.c,
        tests/t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm: Setting
        "MaxLoginAttempts 1" would cause even the first login to fail, which
        is not the desired behavior.  (The auth_tries variable was
        incremented using a prefix operator, rather than postfix operator.) The code was also not properly honoring the seldom-used
        "MaxLoginAttempts none".  Adjust MaxLoginAttempts unit tests accordingly.

2009-07-01  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Modify ABOR tests to
        handle different response codes/messages depending on the particular
        timing of the handling of the ABOR by proftpd.

2009-07-01  castaglia <castaglia>

        * modules/mod_xfer.c: Fix possible segfault (picked up by a unit
        test) when a data transfer is aborted.

2009-06-30  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Typo.

2009-06-30  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/HELP.pm: Update the HELP unit
        test to work properly in the case where mod_tls is present.

2009-06-30  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Typo.

2009-06-30  castaglia <castaglia>

        * src/help.c: Actually make the code do what the comment (correctly)
        says it does.

2009-06-30  castaglia <castaglia>

        * RELEASE_NOTES: Mention the support for TimeoutLogin for the
        BanOnEvent directive.

2009-06-30  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Correct the
        unit test which defines custom SQLGroupInfo queries; the group
        lookup by member query was incorrect.

2009-06-30  castaglia <castaglia>

        * RELEASE_NOTES, doc/contrib/mod_sql.html: Working on documentation
        for new/changed features for the upcoming 1.3.3rc1 release.

2009-06-30  castaglia <castaglia>

        * NEWS, modules/mod_auth.c, modules/mod_core.c, src/dirtree.c: 
        Bug#3243 - Broken support for AllowOverride per user/group/class
        conditionals.

2009-06-30  castaglia <castaglia>

        * modules/mod_cap.c: Use pr_module_exists() consistently; it more
        accurately describes the check that is being made.

2009-06-30  castaglia <castaglia>

        * NEWS, doc/modules/mod_cap.html, modules/mod_cap.c: Bug#3257 -
        CAP_AUDIT_WRITE capability needed for some PAM modules.

2009-06-30  castaglia <castaglia>

        * contrib/mod_sql_odbc.c: Fix some compiler warnings about shadowed
        variables in mod_sql_odbc.

2009-06-30  castaglia <castaglia>

        * contrib/mod_sql_mysql.c, contrib/mod_sql_odbc.c,
        contrib/mod_sql_postgres.c, contrib/mod_sql_sqlite.c: Bug#3259 -
        Adding second database connection causes segfault.  The array_header
        containing the conn_entry_t objects was allocated using the
        incorrect data size.

2009-06-30  castaglia <castaglia>

        * tests/t/config/limit/subdirs.t,
        tests/t/lib/ProFTPD/Tests/Config/Limit/SubDirectories.pm,
        tests/tests.pl: Add unit test demonstrating how Bug#3077 can cause
        some unexpected <Limit> configurations, due to need to handle the
        X-variant commands.

2009-06-30  castaglia <castaglia>

        * contrib/mod_tls.c: Fix a bug in mod_tls' parsing of the
        TLSRenegotiate directive, as per:   https://bugzilla.redhat.com/show_bug.cgi?id=476847 No one was nice enough to report that bug in the ProFTPD Bugzilla,
        though.

2009-06-29  castaglia <castaglia>

        * contrib/mod_sql.c, contrib/mod_sql_postgres.c: Bug#3251 -
        mod_sql_postgres should be more verbose when failing the "Backend"
        SQLAuthType check.

2009-06-29  castaglia <castaglia>

        * contrib/mod_sql_mysql.c: Stylistic nits; no functional change.

2009-06-29  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#3258 - Log cluttered with "using
        sendfile capability" messages.

2009-06-29  castaglia <castaglia>

        * doc/contrib/mod_sql_sqlite.html: Mention that SQLite-3.6.5 or
        later is required for mod_sql_sqlite to properly support SQLLog
        directives for chrooted processes.

2009-06-29  castaglia <castaglia>

        * contrib/mod_sql_sqlite.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Fix
        mod_sql_sqlite to work properly, with regard to SQLLog updates, in a
        chrooted process.  Note that this only works for SQLite-3.6.5 and
        later.  Also add slightly more information if the database file for
        mod_sql_sqlite cannot be opened, or when the SQLLog query fails
        because the file cannot be opened.  Add an accompanying unit test for the chrooted behavior of
        mod_sql_sqlite.

2009-06-25  castaglia <castaglia>

        * doc/howto/SQL.html: Replace the URLs to castaglia.org with URLs to
        proftpd.org.

2009-06-24  castaglia <castaglia>

        * src/main.c: If --enable-devel=stacktrace is used, then an
        asynchronous handler for SIGSEGV is installed.  That handler doesn't
        go through pr_signals_handle(), so we need to make sure that the
        table code knows that it's still in a signal-handling state for this
        SIGSEGV handler.

2009-06-23  castaglia <castaglia>

        * RELEASE_NOTES: Update the release notes; I still need to flesh out
        the descriptions more before doing the 1.3.3rc1 release.

2009-06-22  castaglia <castaglia>

        * NEWS, src/main.c: Bug#3256 - "SO_OOBINLINE" error occuring again.
        This is a regression of Bug#2332, caused by code movement in 1.3.2.

2009-06-22  castaglia <castaglia>

        * src/fsio.c: The bug in pr_fsio_futimes(), where we were not
        calling the proper futimes() handler, occurred in pr_fsio_faccess()
        as well; it would result in another segfault, if the registered FS
        did not provide a faccess() handler.

2009-06-22  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: If no DeleteAbortedStores appears in the
        proftpd.conf, then the callback which closes any open filehandles
        could segfault, trying to deference a null pointer.  Check for this,
        and handle it appropriately.

2009-06-22  castaglia <castaglia>

        * src/fsio.c: If pr_fsio_utimes() or pr_fsio_futimes() succeeds,
        clear the statcache; the file metadata is now stale, and needs to be
        refreshed.  In pr_fsio_futimes(), we were calling the wrong futimes() handler.
        Use the right one, i.e. the one found by the while() loop.

2009-06-22  castaglia <castaglia>

        * src/fsio.c: Include utimes(2), futimes(3) in the debug output for
        a registered FS object.

2009-06-22  castaglia <castaglia>

        * doc/howto/Limit.html: Mention that the parsing rules for AllowUser
        pertain to DenyUser as well.

2009-06-21  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3247 -
        "TLSRequired auth" and "TLSOptions AllowPerUser" are incompatible.

2009-06-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Turns out that using the
        exit code from the `proftpd' binary for determining
        successful/failure of server startup is not that reliably, sadly.
        So now the PidFile is used for sending a signal to the server; if
        that succeeds, then the server has started successfully.

2009-06-21  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: If the server fails to
        start, throw an exception, rather than letting the caller assume
        that the server started successfully.

2009-06-21  castaglia <castaglia>

        * tests/t/config/ftpaccess/empty.t,
        tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm, tests/tests.pl: 
        Add unit test for an empty .ftpaccess file, for
        investigating/regressing Bug#3240.

2009-06-21  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3253 -
        Support for %S variable in SQL queries.

2009-06-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Allow unit tests to
        specify the User, Group names to use in the generated config file,
        if needs be.

2009-06-20  castaglia <castaglia>

        * src/fsio.c: Check for an ENOSYS errno when using futimes(2), in
        case the platform provides a stub which does not actually do
        anything.  Fallback to using utimes(2) if this happens.

2009-06-20  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: When mod_sftp handles a restart, it
        needs to clear any passphrases held in memory.

2009-06-20  castaglia <castaglia>

        * contrib/mod_sql.c: Adjust the ordering of the custom SQLNamedQuery
        optional queries which can be used for customizing SQLUserInfo.  In
        particular, we need to add the ability to specify the query to look
        up a user given a UID; this is useful for modules like mod_quotatab,
        which may need to find the owner user/group for a file based on that
        file's owner UID/GID.

2009-06-20  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Fix format warning about data type
        mismatches; this warning only occurs on 64-bit machines.  An
        explicit cast to the supported off_t type (or its nearest
        equivalent) is all that's needed here.

2009-06-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm,
        tests/t/modules/mod_cap.t, tests/tests.pl: Start on unit tests for
        the mod_cap module.

2009-06-19  castaglia <castaglia>

        * tests/t/config/allowoverwrite.t,
        tests/t/lib/ProFTPD/Tests/Config/AllowOverwrite.pm, tests/tests.pl: 
        Add unit tests for the AllowOverwrite directive.

2009-06-19  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: When setting attributes on a file, make
        sure that we check the client-sent attribute flags in the same way
        as when we parse those attribute values (i.e. be sure to be protocol
        version-specific when necessary).  Otherwise we might do the wrong
        thing if the client sends a badly flagged request.

2009-06-10  castaglia <castaglia>

        * configure: Updated configure.

2009-06-10  castaglia <castaglia>

        * configure.in: Trying to compile proftpd using "--enable-nls
        --with-shared=mod_lang", in order to build mod_lang as a shared
        module, was causing the configure script to complain of duplicate
        build requests.  Fix this.

2009-06-10  castaglia <castaglia>

        * NEWS, contrib/mod_ban.c, doc/contrib/mod_ban.html: Bug#3249 -
        mod_ban support for TimeoutLogin.

2009-06-09  castaglia <castaglia>

        * modules/mod_core.c: If the SITE CHGRP/CHMOD commands are denied by
        <Limit> sections, set errno to EACCES, so that hopefully the user's
        client can receive a more helpful error response code.

2009-06-09  castaglia <castaglia>

        * modules/mod_core.c: Add debug logging when the SITE CHMOD/CHGRP
        commands are denied because of <Limit> sections in the
        configuration.

2009-06-03  castaglia <castaglia>

        * contrib/mod_sftp/auth.c: Make sure that any configured
        SFTPDisplayBanner is only sent once to the connecting client.

2009-06-03  castaglia <castaglia>

        * contrib/mod_sftp/keys.c: Add a missing PRIVS_RELINQUISH call.
        Adjust spacing in that same area, so that the formatting is
        consistent.

2009-05-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add test case to
        make sure that RootLogin works properly in mod_sftp.

2009-05-27  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Fix typo in
        mod_rewrite PORT rewriting config.

2009-05-27  castaglia <castaglia>

        * doc/howto/Rewrite.html: Fix typo/omission in Rewrite howto.

2009-05-27  castaglia <castaglia>

        * contrib/mod_sftp/auth.c: Properly honor RootLogin (and its
        absence) in mod_sftp.  This includes generating the
        'mod_auth.root-login' event, just as mod_auth does.

2009-05-27  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.logrotate: Bug#3245 - proftpd.logrotate
        assumes location of `kill' command.  Simply rely on PATH to find the
        appropriate location.

2009-05-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Add test showing that
        a file with leading whitespace in its name can be downloaded.

2009-05-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Yet more
        redundant variables removed.

2009-05-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: More redundant
        variables removed.

2009-05-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm: Remove another
        redundant variable declaration.

2009-05-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Remove redundant
        variable declaration.

2009-05-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Add unit test
        demonstrating that upload a file whose name begins with whitespace
        is possible.  Update all tests to use 'tests.log' as the logfile name.

2009-05-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm,
        tests/t/modules/mod_ifsession.t: Start working on unit tests for
        mod_ifsession's functionality.  This first test is inspired/used for
        verifying Bug#3243.

2009-05-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Allow tests to request to
        NOT have default configs used.  This is handy when dealing with
        mod_ifsession tests, for example.

2009-05-19  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: Had a request to use the %{dist}
        variable in the RPM Release tag as well.  Makes no never mind to me.

2009-05-18  castaglia <castaglia>

        * Make.rules.in, Makefile.in, utils/ftpcount.1.in,
        utils/ftpscrub.8.in, utils/ftptop.1.in, utils/ftpwho.1.in: Fix
        Bug#3242, which is a follow-up to Bug#2613.  Modify the utility man
        pages to reflect the changed path to the default scoreboard file,
        and remove the now-redundant $(rundir) Make variable.

2009-05-18  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: Martin Edlman contributed RPM .spec
        patch to handle empty static_modules variable when the mod_facl
        module is not requested.

2009-05-15  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logins.pm: Add regression test showing
        that multiple attempts to send USER (i.e. after the first attempt
        fails) will succeed as expected.

2009-05-15  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: I have no clue how this code was
        compiling/working for my tests earlier today, but it certainly needs
        to be fixed.  Weird.

2009-05-14  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Fix the
        DeleteAbortedStores support.  I did have it such that only
        HiddenStores files would be deleted if DeleteAbortedStores was
        enabled.  Then, for aborted sessions, deleted _all_ open
        filehandles.  Which is not correct either (we don't want to delete
        files that were being downloaded, for example).  This changes the
        DeleteAbortedStores so that we only delete aborted _uploaded_ files.
        Hopefully.

2009-05-14  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: [no log message]

2009-05-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
        HiddenStores directive using SCP.  The test is not as thorough as I
        would like; the Net::SSH2 SCP interface is not as flexible.  Still,
        it does the trick.

2009-05-14  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: This adds support for HiddenStores,
        DeleteAbortedStores, and 'incomplete' TransferLog entries to SCP.

2009-05-14  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Cut-n-paste error.

2009-05-14  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Add a trace message for renaming of a
        HiddenStores file.

2009-05-14  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: HiddenStores is now supported by
        mod_sftp.

2009-05-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added unit tests
        for 'incomplete' TransferLog entries via SFTP.

2009-05-14  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Write 'incomplete' TransferLog entries for
        downloads/uploads that have been aborted (i.e. not closed by the
        client before the channel was closed/session ended).  Also fixes a bug introduced yesterday with the DeleteAbortedStores
        support, where a config which did not have DeleteAbortedStores would
        segfault (or the process would wander off into the memory weeds,
        depending on your arch).

2009-05-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
        tests for HiddenStores and DeleteAbortedStores via SFTP uploads.

2009-05-13  castaglia <castaglia>

        * contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h,
        contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c: Added support
        for the HiddenStores and DeleteAbortedStores directives for SFTP.

2009-05-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add tests for
        TransferLog entries generated from downloading/uploading via SCP.

2009-05-13  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Make sure that the TransferLog entry for a
        file deleted via SFTP in a chrooted session is still the absolute
        path of the file, regardless of the chroot.

2009-05-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add test for the
        TransferLog entry generated when deleting a file via SFTP in a
        chrooted session.

2009-05-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Add regression
        test for the 14-digit version of the SITE UTIME command.

2009-05-11  castaglia <castaglia>

        * RELEASE_NOTES: Warn of the change to the values in the
        service-name field of the TransferLog.

2009-05-11  castaglia <castaglia>

        * tests/api/scoreboard.c: If the API testsuite is run with root
        privs, then one of the scoreboard tests will fail with a different
        errno value; check for this, and handle it as appropriate.

2009-05-11  castaglia <castaglia>

        * tests/Makefile.in: Make sure the privs.o code is linked into the
        API tests.

2009-05-11  castaglia <castaglia>

        * tests/Makefile.in: Separate the API and the running tests into two
        separate make targets.

2009-05-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression test
        for the TransferLog delete file entries for SFTP.

2009-05-11  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Make sure that deleting a file via SFTP
        generates the proper TransferLog entry.

2009-05-09  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Wolfgang Breyha correctly pointed out that
        these path-trimming loops should have a "pathlen > 1" check, not
        "pathlen > 0".  This was causing problems when trying to use scp to
        upload to '/'; eventually a segfault would ensue.

2009-05-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added unit test for
        the TransferLog generated by downloading a file via sftp.

2009-05-08  castaglia <castaglia>

        * contrib/mod_sftp/auth.c, src/xferlog.c: Support TransferLogs in
        mod_sftp.  This required a tweak to the TransferLog code so that it
        wrote the proper service name (e.g. "ftp", "sftp", etc); it had been
        hardcoded to "ftp".

2009-05-06  castaglia <castaglia>

        * contrib/mod_sftp/packet.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make sure that
        mod_sftp sends a disconnect message when it does not handle the
        client request.  For example, if a client requests an SSH2 channel
        before it has authenticated, mod_sftp considers it an "unsupported
        protocol sequence".  But it was not sending the disconnect message
        to the client when this happened; this has been fixed. Added a unit
        test to prevent regressions.

2009-05-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Add regression test
        demonstrating that downloading a file from a directory whose name
        contains a space works as expected.

2009-05-03  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Fix the handling of recursive uploads of
        directories via SCP; it was completely broken.

2009-05-03  castaglia <castaglia>

        * contrib/mod_sftp/auth.c: Be sure to dispatch the USER cmd_rec to
        the POST_CMD/LOG_CMD handlers *before* calling the PASS PRE_CMD
        handler.  Otherwise, mod_delay might see longer delays for both USER
        and PASS commands when handling SSH2 connections when it isn't
        necessary.

2009-05-02  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: If we receive an EOF while reading
        the banner, don't try to use strerror(), as it will result in a
        misleading log message.

2009-05-02  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Added unit
        tests for the 'OpenSSL' SQLAuthType.

2009-05-01  castaglia <castaglia>

        * doc/howto/ListOptions.html: Mention the new -B ListOption.

2009-05-01  castaglia <castaglia>

        * modules/mod_ls.c, tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Modify the fix for
        Bug#3032 even more.  Instead of replacing non-printable characters
        with '?' in the non-NLS case, add support for a -B ListOption
        (defaults to off).  Some users noted that the previous fix broke
        things for them, as they _assumed_ that proftpd would not alter a
        UTF8 path (even for the non-NLS case).  By supporting a -B
        ListOption, sites which do want to see the non-printable characters
        can request that behavior.  The -B ListOption is not supported if
        NLS support is enabled.

2009-04-30  castaglia <castaglia>

        * src/main.c: Add trace logging for when the 'requires_auth' check
        fails.

2009-04-30  castaglia <castaglia>

        * modules/mod_cap.c, src/main.c: Make mod_cap's POST_CMD PASS
        handler be like every other modules, and NOT require that the client
        be authenticated.  That particular check is handled earlier in the
        session lifecycle.

2009-04-30  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: A proftpd user in the
        forums mentioned encountering the "Cannot assign requested address"
        error when attempting active data transfers.  Add a unit test which
        demonstrates how this error can occur (usually because of badly
        behaved FTP clients which do not cleanly close the data connection
        once done with it).

2009-04-30  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: If we need to explicitly
        specify the PORT argument, then make sure that we open an
        appropriate listening socket based on that argument; Net::FTP does
        not do this for us.  Sigh.

2009-04-29  castaglia <castaglia>

        * contrib/mod_tls.c: OpenSSL-0.9.8j enables TLS extensions by
        default.  This includes, among other things, SSL/TLS tickets.
        However, some older clients do not interoperate well with TLS
        extensions like this enabled.  So to preserve the principle of least
        surprise, disable the use of SSL/TLS tickets.

2009-04-29  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: After a restart,
        mod_sftp needs to re-allocate and re-compile the regexes for known
        client versions with bugs; the compiled regex memory pool is cleared
        during a restart.  Failure to do this can result in a segfault after
        the restart.  Add an accompanying unit test.

2009-04-29  castaglia <castaglia>

        * modules/mod_ls.c: Quell compiler warnings about unused variables
        when --enable-nls is used.

2009-04-28  castaglia <castaglia>

        * doc/contrib/mod_exec.html: Include the %w variable in the
        mentioned list of supported variables.

2009-04-28  castaglia <castaglia>

        * doc/contrib/mod_exec.html, doc/contrib/mod_shaper.html: Update the
        mod_exec and mod_shaper docs.

2009-04-28  castaglia <castaglia>

        * contrib/mod_exec.c: The mod_exec module was not registering for
        the proper event name for handling the unloading of the module.

2009-04-28  castaglia <castaglia>

        * NEWS, README.modules, RELEASE_NOTES, contrib/mod_exec.c,
        doc/contrib/mod_exec.html: Added mod_exec to contrib modules.

2009-04-28  castaglia <castaglia>

        * doc/howto/TLS.html: Add TLS FAQ about whether FTPS protects both
        control and data connections (it does).

2009-04-28  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Added SFTP FAQ about having an
        SFTP-only proftpd.

2009-04-28  castaglia <castaglia>

        * tests/tests.pl: Run the DisplayQuit tests as part of the
        testsuite.

2009-04-28  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DisplayQuit.pm: Adding tests for
        the DisplayQuit directive.

2009-04-27  castaglia <castaglia>

        * NEWS, README.modules, RELEASE_NOTES, contrib/mod_shaper.c,
        doc/contrib/mod_shaper.html: Add mod_shaper to the contrib/ modules.

2009-04-25  castaglia <castaglia>

        * contrib/mod_rewrite.c: Fix rewrite_log() so that it uses
        pr_log_vwritefile().  Make rewrite_openlog() handle the WRITABLE_DIR
        and SYMLINK return values from pr_log_openfile().

2009-04-25  castaglia <castaglia>

        * modules/mod_xfer.c, src/display.c, tests/t/config/displayquit.t,
        tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm,
        tests/t/lib/ProFTPD/Tests/Config/DisplayFileTransfer.pm,
        tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm: Fix handling of
        multiline Display files.  Update the handling of DisplayFileTransfer
        files such that they replace the 226 response message, rather than
        prepending to it.

2009-04-24  castaglia <castaglia>

        * modules/mod_core.c: Fix another unsafe use of sizeof() on a
        pointer.

2009-04-24  castaglia <castaglia>

        * src/dirtree.c: Fix unsafe sizeof(); it was being used on a
        pointer, not on a static buffer.

2009-04-24  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Increase the allocated buffer size for a
        READDIR response, and try to be smarter about the buffer size.

2009-04-24  castaglia <castaglia>

        * modules/mod_cap.c: Refine the criteria for using
        CAP_SETUID/CAP_SETGID.  In addition to checking for the mod_sftp and
        mod_exec modules, make sure that those modules are enabled via their
        respective Engine directives.  This is to handle cases where the
        modules might be present in the executable but not enabled via
        config.

2009-04-24  castaglia <castaglia>

        * contrib/mod_sftp/utf8.c: If UTF8 encoding/decoding of a string
        fails, log the error and return the original string (instead of
        returning NULL).

2009-04-24  castaglia <castaglia>

        * contrib/mod_sftp/auth.c: No need to acquire root privs explicitly
        before dropping them.

2009-04-24  castaglia <castaglia>

        * modules/mod_cap.c: On Linux, the mod_cap module will interfere
        with modules/code that wishes to drop root privs completely, e.g.
        mod_exec (when executing scripts), mod_sftp (after authenticating),
        or when the RootRevoke directive is used.  The problem is that the
        CAP_SETUID and CAP_SETGID capabilties, needed for dropping root
        privs, are not enabled by mod_cap.  This change adds the CAP_SETUID and CAP_SETGID capabilities if
        mod_exec or mod_sftp is present, or if "RootRevoke on" is found in
        the config.  Minor stylistic cleanup is also part of this change.

2009-04-24  castaglia <castaglia>

        * modules/mod_ls.c: When generating directory listings, set the
        ASCII flag after the data connection has been successfully opened
        consistently.  Some places were setting the flag before the data
        connection open, some after.

2009-04-24  castaglia <castaglia>

        * configure: Updated configure.

2009-04-24  castaglia <castaglia>

        * configure.in: Automatically set the PR_USE_OPENSSL define if
        mod_sftp is requested, just as we do when mod_tls is requested.

2009-04-23  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: Quell a compiler warning about a
        declared but not used variable.

2009-04-23  castaglia <castaglia>

        * contrib/mod_quotatab.c: The mod_quotatab module really should
        report when it fails to open the configured QuotaLog for any reason.

2009-04-23  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Fix minor case in the handling of the
        'sftpUTF8ProtocolVersion' SFTPClientMatch attribute where the path
        description for a READDIR request may need to be encoded, depending
        on the chosen SFTP UTF8 protocol version.

2009-04-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Update the unit tests
        for Bug#3032 to only run if NLS support is not enabled.

2009-04-23  castaglia <castaglia>

        * modules/mod_ls.c: Forgot to add the NLS conditional to the
        handling of NLST as well.

2009-04-23  castaglia <castaglia>

        * modules/mod_ls.c: Modify the fix for Bug#3032 so that it is only
        used of NLS support is not being used; the encoding can cause
        problems for the isprint(3) function.

2009-04-23  castaglia <castaglia>

        * NEWS, src/inet.c: Bug#3237 - "error setting IPV6_V6ONLY: Protocol
        not available" message filling up log file.  The change was to not try to set the IPV6_V6ONLY socket option on an
        IPv4-mapped IPv6 address.

2009-04-21  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Quell more compiler warnings about
        possbily using variables before they have been initialized.

2009-04-21  castaglia <castaglia>

        * contrib/mod_quotatab.c: Make sure that the trace message is based
        on the actual lock type, not on the type as passed in by the caller.

2009-04-21  castaglia <castaglia>

        * contrib/mod_quotatab.c: Actually use the lock type given by the
        caller.  Ouch.

2009-04-21  castaglia <castaglia>

        * contrib/mod_sftp/kex.c: Handle "SFTPCompression off" properly.

2009-04-21  castaglia <castaglia>

        * contrib/mod_quotatab.c: More changes to the QuotaLock lock
        operation handling, trying to avoid spinning in a loop too tightly.

2009-04-21  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Make sure that the variables are
        initialised, when handling REALPATH requests, before a permissions
        check.

2009-04-21  castaglia <castaglia>

        * contrib/mod_quotatab.c: Retry the lock operation on the QuotaLock
        for EAGAIN as well.

2009-04-21  castaglia <castaglia>

        * tests/t/config/displayfiletransfer.t,
        tests/t/lib/ProFTPD/Tests/Config/DisplayFileTransfer.pm,
        tests/tests.pl: Add unit tests for the DisplayFileTransfer
        directive.

2009-04-20  castaglia <castaglia>

        * src/dirtree.c: Make sure that we ONLY use the
        PR_TUNABLE_XFER_BUFFER_SIZE (which IS set in include/options.h) in
        the case where we cannot determine the best sizes automatically from
        the kernel.

2009-04-20  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Document the sftpUTF8ProtocolVersion
        SFTPClientMatch attribute.

2009-04-20  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c, contrib/mod_sftp/fxp.h,
        contrib/mod_sftp/interop.c, contrib/mod_sftp/mod_sftp.c: Added
        support for a 'sftpUTF8ProtcolVersion' SFTPClientMatch attribute.
        This attribute can be used to switch the SFTP protocol version at
        which mod_sftp uses UTF8 encoding; the normal protocol version at
        which this happens is 4 (and above).  Some clients may need the UTF8
        encoding when using protocol version 3, however.

2009-04-17  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Clarify when the various SSH2
        authentication methods are offered.  Fix a typo.

2009-04-17  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: Update the trace log message about the
        size of the CHANNEL_DATA sent to use just the payload size, not the
        packet size.

2009-04-17  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: Fix the calculation of the remote
        channel window size by NOT including the length of the "header"
        fields (9 bytes) in the amount to decrement for the remote window
        size.  This was causing mod_sftp to see the remote window "close"
        prematurely (depending on the amount of data transferred and the
        initial client window size).

2009-04-15  castaglia <castaglia>

        * doc/howto/Filters.html: Add the example PathAllowFilter that only
        allows printable characters.

2009-04-15  castaglia <castaglia>

        * doc/howto/Filters.html,
        tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Update the doc,
        and unit test, to reflect the proper pattern to use.

2009-04-15  castaglia <castaglia>

        * doc/howto/Filters.html: Give an example of using PathDenyFilter to
        prevent filenames which contain non-printable characters.

2009-04-15  castaglia <castaglia>

        * NEWS, modules/mod_ls.c,
        tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MLST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
        tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Bug#3032 - CR
        character allowed in filename but not shown.

2009-04-14  castaglia <castaglia>

        * doc/howto/Tracing.html, src/trace.c: Remove the 'privs' channel
        from the default channels; it is not as productive to see the privs
        messages as the other channels in the default group.

2009-04-14  castaglia <castaglia>

        * modules/mod_delay.c: Make sure a pointer is initialized to NULL,
        so that if a matching protocol row is not found, a segfault will
        occur.  (It's better than reading off into some random stack memory
        address.)

2009-04-14  castaglia <castaglia>

        * NEWS, modules/mod_delay.c: Bug#3230 - Differentiate among protocol
        connections in DelayTable.

2009-04-14  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Update the list of config directives
        that are not supported by mod_sftp.

2009-04-14  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add SFTP unit tests
        to ensure that mod_sftp honors the AllowOverwrite, HideFiles, and
        Path*Filter directives.  Note that similar tests are needed for the
        SCP code paths as well.

2009-04-13  castaglia <castaglia>

        * configure: Updated configure.

2009-04-13  castaglia <castaglia>

        * configure.in: Add a check for --with-modules=mod_dso, and warn the
        admin to use --enable-dso instead.

2009-04-10  castaglia <castaglia>

        * configure: Updated configure.

2009-04-10  castaglia <castaglia>

        * configure.in: Typo.

2009-04-09  castaglia <castaglia>

        * modules/mod_facts.c: Use cmd->arg, rather than concatenating
        cmd->argv[] ourselves, in order to deal with paths with spaces.
        This is a better approach, given that NLS encoding of paths might
        cause the concatenation we were doing to do the wrong thing.

2009-04-09  castaglia <castaglia>

        * modules/mod_facts.c: Clean up some of the logging when opendir(3)
        fails when handling MLSD.

2009-04-09  castaglia <castaglia>

        * src/timers.c: Add trace logging when timers are reset.

2009-04-09  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: mod_sftp now honors
        DirFakeMode.

2009-04-09  castaglia <castaglia>

        * tests/t/config/dirfakemode.t,
        tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm, tests/tests.pl: Add
        unit test for the DirFakeMode directive.

2009-04-09  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Set the
        session.xfer.direction variable when using SFTP or SCP.

2009-04-08  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make mod_sftp honor
        HideNoAccess (and other <Directory> config directives).

2009-04-08  castaglia <castaglia>

        * contrib/mod_sftp/scp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add the checking for
        valid paths, handling of open() failures, PRE_CMD errors, etc when
        uploading via SCP into the recv_finfo() function.  The problem was
        that those checks were happening *after* recv_finfo() had sent the
        "OK" message back to the SCP client; the client would then commence
        uploading.  Any errors of these sorts need to send a "NOT OK"
        message to the SCP client before the upload occurs.

2009-04-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm,
        tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Fix more unit
        tests to run properly as root.

2009-04-07  castaglia <castaglia>

        * contrib/mod_tls.c: Typo/bug.

2009-04-07  castaglia <castaglia>

        * src/ftpdctl.c: Include the privs.h header so as to avoid compiler
        warnings about the pr_privs* functions not being previously
        declared.

2009-04-07  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: Use the proper number of arguments for
        pr_ctrls_log(), and avoid pedantic compiler warnings/errors.

2009-04-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Another set of
        tests to clean up so that they run properly when root.

2009-04-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm,
        tests/t/lib/ProFTPD/Tests/Config/Limit/XMKD.pm: More cleanup of unit
        tests that don't work properly when run as root.

2009-04-07  castaglia <castaglia>

        * modules/mod_core.c: Fix bug introduced by the patch for Bug#2067.
        Style cleanup there, too.

2009-04-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Order.pm,
        tests/t/lib/ProFTPD/Tests/Config/PathAllowFilter.pm,
        tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm,
        tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm: Fixup more test
        cases so run properly when run as root.

2009-04-06  castaglia <castaglia>

        * src/privs.c: The testsuite found that the privs.c code was
        blocking signals, and then not unblocking them in certain cases.
        This is a Bad Thing.  Fix the bug.

2009-04-06  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: Make sure that the max data payload we
        can send is larger than the header length.  Otherwise, we would have
        bombed out due to bad logic on my part.

2009-04-06  castaglia <castaglia>

        * doc/howto/Tracing.html, src/trace.c: Add the "privs" logging
        channel to the default list of channels.

2009-04-06  castaglia <castaglia>

        * Make.rules.in, include/privs.h, modules/mod_ctrls.c,
        modules/mod_delay.c, modules/mod_log.c, src/ftpdctl.c, src/privs.c: 
        Do what should have been done long ago, and move the PRIVS macros
        into functions, and into their own .c file.  The main driving reason for this is that the PRIVS macros need to be
        nestable, to avoid recurrences of bugs like Bug#2242.  The privs.c
        file adds nestable PRIVS invocations, and so far everything looks
        like it's still working properly.

2009-04-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_ctrls.pm: Fix a few more tests
        which fail when run with root privs.

2009-04-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MFF.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm: Add some unit tests for
        the MFF and MFMT commands, proving that using relative paths in the
        commands in a chrooted session work as expected.

2009-04-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/HELP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MFF.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm,
        tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
        tests/t/lib/ProFTPD/Tests/Logins.pm: Fix some of the unit tests
        which fail when run with root privs.  Update some that simply needed
        to be updated to match the current code.  Quell Perl warnings about
        redeclared variables in some cases.

2009-04-05  castaglia <castaglia>

        * contrib/mod_sftp/auth.c: Update mod_sftp to use session.notes for
        the original user name sent by the client, just as the mod_auth
        module does.

2009-04-05  castaglia <castaglia>

        * RELEASE_NOTES, contrib/mod_ban.c, contrib/mod_radius.c,
        contrib/mod_rewrite.c, contrib/mod_sql.c, contrib/mod_wrap.c,
        contrib/mod_wrap2/mod_wrap2.c, modules/mod_auth.c,
        modules/mod_log.c, src/display.c, src/main.c,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Finish Bug#2715,
        and have the original USER value stashed in, and retrieved from, the
        session.notes table.  Make note of this change in the release notes
        as well, as it could impact module developers.

2009-04-05  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_rewrite.c, contrib/mod_sql.c,
        modules/mod_core.c, modules/mod_log.c,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3029 -
        Support a RewriteCondition variable for renames.  Add a %w variable for the source path of a rename (mnemonic:
        "whence" the rename came); this variable is only valid for the RNTO
        command.  Support for the %w variable is also in LogFormat and the
        SQLLog directives; the mod_exec module will support it as well.

2009-04-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Added a
        mod_quotatab_sql unit test for Bug#3086.  The generated log file
        shows that the use of QuotaLock does indeed protect the calls to
        quotatab_lookup() and quotatab_create().  In fact, this use of
        QuotaLock perfectly exercises the fixed quotatab locking in terms of
        lock nesting, as the quotatab_create() function itself uses
        write-locks (and, in the case of mod_quotatab_sql, uses the same fd
        for locking).

2009-04-04  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c, contrib/mod_quotatab.h,
        contrib/mod_quotatab_sql.c: Bug#3086 - mod_quotatab write locking is
        ineffective.

2009-04-03  castaglia <castaglia>

        * contrib/mod_ban.c, contrib/mod_sftp/scp.c, contrib/mod_tls.c: If
        we are calling getopt(3) again in a proftpd process (i.e. after the
        initial call to getopt(3) when the daemon starts up), then we need
        make sure that the POSIXLY_CORRECT environment variable is set.  A segfault in mod_sftp was occurring because of getopt(3)
        rearranging the array of strings; on a 64-bit machine whose pointer
        sizes are different than what is expected, strange things happen.
        Setting POSIXLY_CORRECT tells getopt(3) not to rearrange the array
        of strings.

2009-04-03  castaglia <castaglia>

        * doc/howto/Compiling.html: Mention the --with-lastlog configure
        option, and use an unordered list for the main/popular configure
        options.

2009-04-03  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: Stupid Solaris prints "Not owner",
        instead of "Operation not permitted", for the EPERM errno.  Grr.  So
        instead of using EPERM, switch to using EACCES.

2009-04-03  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Catch a few places in the SCP upload code
        where confirmation errors were not being properly written back to
        the client at the right times.

2009-04-03  castaglia <castaglia>

        * modules/mod_auth_unix.c: Fix compilation errors when
        HAVE_LOGINRESTRICTIONS (AIX platform, mostly) is defined.

2009-04-01  castaglia <castaglia>

        * NEWS, src/dirtree.c: Bug#3233 - Dynamic config causes many copies
        of static configs to be merged.

2009-04-01  castaglia <castaglia>

        * contrib/mod_tls.c: Actually match the code to the comment, and
        return the connection to blocking mode if it had been so prior to
        the SSL_accept() call.

2009-04-01  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3234 - SSL connections can cause 100%
        CPU usage.  In a nonblocking loop around SSL_accept(), make sure we delay a bit
        (using select()) before retrying the SSL_accept() call.  Without the
        delay, the loop spins too quickly, consuming CPU.

2009-03-31  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Make the SCP uploading code use
        dir_canonical_vpath(), just as the SFTP code does (specifically the
        REALPATH SFTP request handler), to be consistent.  (And, hopefully, to fix some reported segfaults seen when uploading
        via SCP.)

2009-03-31  castaglia <castaglia>

        * Make.rules.in: Fix a link ordering problem on Mac OSX; if the GNU
        gettext library is used (e.g. using --enable-nls), then libc is
        linked before libsupp.  This causes a problem for proftpd, since
        libsupp contains, among other things, our own particular glob(3)
        implementation.  If we use our glibc-glob.h header, but use the
        system glob(3) implementation, strange things happen.  So make sure
        that our libraries are linked before the other libraries.  Hopefully this does not cause other strange library/link
        order-related issues.

2009-03-31  castaglia <castaglia>

        * modules/mod_lang.c: Missed a dir_check() call which needs to pass
        the cmd_rec pointer, not just the command name.

2009-03-30  castaglia <castaglia>

        * src/log.c: Add some sane errno values if pr_log_openfile() fails
        in some cases.

2009-03-30  castaglia <castaglia>

        * NEWS, include/fsio.h, modules/mod_ctrls.c, src/fsio.c,
        src/ftpdctl.c, src/log.c, src/trace.c: Bug#3225 - Opening of files
        during restart can inappropriately use stdin/stdout/stderr
        descriptors, leading to bad behavior.  This patch adds a new pr_fsio_get_usable_fd() function, for
        obtaining an fd (via dup(2)) which is NOT stdin/stdout/stderr.  It
        is to be used by functions which can be called in the daemon process
        during startup/restart to ensure that the obtained descriptor will
        not cause other issues (i.e.  with other code which assumes the use
        of stdin/stdout/stderr).  I suspect that this has been the
        underlying cause of several inexplicable crashes/ log messages
        during restarts.

2009-03-30  castaglia <castaglia>

        * doc/howto/Rewrite.html: Another good mod_rewrite example.

2009-03-29  castaglia <castaglia>

        * NEWS, contrib/mod_wrap.c, contrib/mod_wrap2/mod_wrap2.c: Bug#3209
        - mod_wrap2 should support the 'spawn' feature (or equivalent) of
        tcpwrappers.  Add event generation to the mod_wrap and mod_wrap2 modules when a
        connection is refused.  The mod_exec module can register listeners
        for this event, and execute a command (e.g.
        blockhosts/denyhosts/fail2ban) in response.

2009-03-29  castaglia <castaglia>

        * doc/contrib/mod_wrap.html: Add mod_wrap FAQ about Bugs #2629,
        #2787, #3209.

2009-03-28  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_tls.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#2178 - Extend
        TLSRequired for <Directory> and .ftpaccess contexts.

2009-03-27  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: More futzing with the path resolution for
        SCP uploading.

2009-03-27  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sql.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3043 -
        SQLGroupInfo should allow custom queries.

2009-03-27  castaglia <castaglia>

        * configure: Updated configure.

2009-03-27  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, modules/mod_auth_unix.c: Bug#3231
        - Use getgrset(3) on AIX to emulate getgrouplist(3).

2009-03-26  castaglia <castaglia>

        * NEWS, modules/mod_ls.c, src/dirtree.c,
        tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Bug#3226 - HideFiles
        directive not working properly in <Anonymous> sections.

2009-03-26  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Typo.

2009-03-26  castaglia <castaglia>

        * RELEASE_NOTES: Another note about use of the %{protocol} variable.

2009-03-26  castaglia <castaglia>

        * contrib/mod_sftp/scp.c: Fix SCP uploading to handle an OpenSSH scp
        client invocations like:   scp <file> <addr>:   scp <file> <addr>:.  These were being blocked on the STOR PRE_CMD handler because
        mod_xfer only saw '.' as the file being uploaded, and would complain
        about "not a regular file".

2009-03-25  castaglia <castaglia>

        * doc/howto/SQL.html: Mention that the discussion about
        userset/usersetfast holds true for groupset/groupsetfast as well.

2009-03-25  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Update the mod_tls
        unit tests to reflect changes in the recently released
        Net::FTPSSL-0.08.  Still can't reuse the SSL session from the
        control connection on a data connection, though.  (It's a limitation
        in the fact that Net::FTPSSL uses Net::SSLeay::Handle for the data
        connections, and Net::SSLeay::Handle does not have a way to pass in
        a SSL_CTX to use.  Sigh.)

2009-03-25  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Fix the test
        case for Bug#3149 slightly, to avoid any DNS issues.

2009-03-25  castaglia <castaglia>

        * src/bindings.c: Modify the fix for Bug#2680 slightly, to avoid
        breaking configurations which rely on the current behavior regarding
        "DefaultServer on".  Now, if there is a vhost with "DefaultServer
        on", that will be used in favor of a vhost listening on the wildcard
        address.

2009-03-25  castaglia <castaglia>

        * doc/howto/SQL.html: Add a SQL FAQ about the 'userset' and
        'usersetfast' SQLAuthenticate options.

2009-03-25  castaglia <castaglia>

        * RELEASE_NOTES, doc/contrib/mod_sql.html: Update the SQLUserInfo
        docs to mention the fix for Bug#2434.  Mention this in the release
        notes as well.

2009-03-25  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#2434 -
        Buggy interaction between custom SQLUserInfo and 'userset'
        SQLAuthenticate parameter.  Fixing this required supporting a couple of other SQLNamedQuery
        names, optional, to handle the 'userset' and 'usersetfast' cases.

2009-03-24  castaglia <castaglia>

        * RELEASE_NOTES: Don't forget to mention the new %{protocol}
        variable in the release notes.

2009-03-24  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c, contrib/mod_ratio.c,
        contrib/mod_sftp/auth.c, contrib/mod_sftp/fxp.c,
        contrib/mod_sftp/scp.c, contrib/mod_site_misc.c, contrib/mod_tls.c,
        include/dirtree.h, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_facts.c, modules/mod_ls.c, modules/mod_xfer.c,
        src/dirtree.c, tests/t/config/limit/filters.t,
        tests/t/lib/ProFTPD/Tests/Config/Limit/Filters.pm, tests/tests.pl: 
        Bug#2067 - Allow/Deny Filters should be supported in the <Limit>
        context.

2009-03-23  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c, contrib/mod_quotatab.h,
        contrib/mod_quotatab_file.c, contrib/mod_quotatab_ldap.c,
        contrib/mod_quotatab_radius.c, contrib/mod_quotatab_sql.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3161 -
        Updating tallies for deleted files should occur based on file
        ownership.  Fixing this bug required changing the mod_quotatab API such that the
        limit and tally objects into which data is read/written (from the
        backend modules) are part of the API calls, rather than using
        globals.  That's why there's so much code churn for this particular
        fix.  But it's a Good Thing; these changes make fixing other types
        of quota bugs much easier now.

2009-03-23  castaglia <castaglia>

        * doc/contrib/mod_rewrite.html: Update the mod_rewrite docs to
        mention the Bug#3028 fix.

2009-03-23  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Bug#3028 - Unable
        to escape special characters in RewriteRule substitution string.

2009-03-23  castaglia <castaglia>

        * modules/mod_ls.c: When handling the LIST output, the outputfiles()
        function used to do 4 sorts, linearly scanning the list of files
        built up using addfile().  Ostensibly this list is used for sorting
        1) a la -t or -S, and 2) for supporting -C.  These 4 sorts are
        needed only for -C, which is not used that often.  Thus it is now
        conditional.  In the future, the entire use of the struct filename structure (and
        the allocations out of the fpool pool which need to be freed after
        all of the sorting) can be avoided for every case _except_ when -C,
        -S, or -t is used.  This too can add some performance gains to the
        perceived LIST response time.

2009-03-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Add a unit test for
        Bug#2821 for the LIST command as well.  It is/can be useful for
        diagnosing/tuning the performance of the time needed to free all of
        the struct filename structures allocated for LIST entries (needed
        for the potential -C sorting).  Further gains can be done by *only
        allocating* these structures if the -C option is used.  Add a unit test using LIST -C, also for such tests.

2009-03-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Directory/Lookups.pm: More work
        on the <Directory>-related performance tests.

2009-03-22  castaglia <castaglia>

        * src/cmd.c, src/main.c: Fix the code in
        pr_cmd_get_displayable_str() to be a little easier to follow in my
        head.  (Also easier to debug.) If we are going to be truncating an incoming FTP command because of
        the CommandBufferSize, log about this.  Silent truncations are
        annoying to track down.

2009-03-22  castaglia <castaglia>

        * modules/mod_core.c: There is no reason to mark absolute paths in
        <Directory> sections for deferred resolution; it only adds to the
        login time (due to the running time of the resolve_deferred_dirs()
        function) needlessly.

2009-03-22  castaglia <castaglia>

        * src/main.c: Quell compiler warning.

2009-03-22  castaglia <castaglia>

        * doc/howto/Globbing.html: Updating the Globbing howto to mention
        the tunable name changes/additions.

2009-03-22  castaglia <castaglia>

        * include/options.h, lib/glibc-glob.c, src/main.c: Add new
        PR_TUNABLE_GLOBBING_MAX_MATCHES tunable, as part of Bug#2821.

2009-03-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NLST.pm, tests/tests.pl: Add a
        test case used for tracking down part of Bug#2821.  It's a slow
        test, so make sure that it is not run as part of the default
        testsuite.

2009-03-22  castaglia <castaglia>

        * modules/mod_ls.c: Set the GLOB_NOSORT flag, by default, for NLST
        globs.  This can help to speed up the glob(3) call by not requiring
        that the results be sorted.  This can be changed via NLST options
        (and the ListOptions directive).  Add some debug logging on the number of matched paths found by
        glob(3), to aid in debugging cases where glibc's glob limits are
        encountered, e.g. Bug#2821.

2009-03-21  castaglia <castaglia>

        * modules/mod_ls.c: Improve NLST performance by NOT telling
        sendline() to flush _after each NLST line added_.  That defeats the
        whole purpose of having a buffer for sending lines in batches.

2009-03-21  castaglia <castaglia>

        * src/pool.c: Optimize for the most common case; this is frequently
        called function.

2009-03-20  castaglia <castaglia>

        * contrib/mod_sftp/scp.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make sure that scp
        uploading a file into a nonexistent subdir a) fails, and b) does NOT cause a disconnect.

2009-03-20  castaglia <castaglia>

        * contrib/mod_sftp/disconnect.c, contrib/mod_sftp/disconnect.h: 
        Clean up the disconnect trace log message a little when the __FUNC__
        (or equivalent) macro is not supported by the compiler.

2009-03-20  castaglia <castaglia>

        * NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c,
        src/main.c: Bug#3221 - Command line defines (-D/--define) are lost
        on SIGHUP.

2009-03-20  castaglia <castaglia>

        * doc/howto/ASCII.html: Add a FAQ about why the ASCII mode
        restriction was placed on the SIZE command.

2009-03-20  castaglia <castaglia>

        * modules/mod_core.c: Make sure that any stat cache is cleared when
        answering a SIZE command.

2009-03-19  castaglia <castaglia>

        * contrib/mod_sftp/configure: Updated mod_sftp's configure.

2009-03-19  castaglia <castaglia>

        * contrib/mod_sftp/configure.in, contrib/mod_sftp/crypto.c,
        contrib/mod_sftp/mod_sftp.h.in: Add an autoconf check for the
        EVP_aes_{192,256}_cbc() symbols in OpenSSL.  Solaris 10 shipped a
        crippled OpenSSL for a while, where AES support for bit lengths
        greater than 128 were removed.

2009-03-19  castaglia <castaglia>

        * contrib/mod_sftp/auth-hostbased.c,
        contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
        contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
        contrib/mod_sftp/auth.h: Rewriting the user name in SSH2
        authentication is a little bit trickier, since we need to track both
        the original user name sent by the client (for signature
        verification and such) as well as the (possibly rewritten) user
        name, for authentication/authorization.

2009-03-19  castaglia <castaglia>

        * contrib/mod_sftp/auth.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make sure that
        mod_rewrite can be used to rewrite the user names given during SSH2
        authentication as well.

2009-03-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit tests for
        the SCP+mod_rewrite cases.

2009-03-19  castaglia <castaglia>

        * contrib/mod_sftp/channel.c, contrib/mod_sftp/fxp.c,
        contrib/mod_sftp/scp.c: Make sure that mod_rewrite can be applied to
        SCP commands as well.

2009-03-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Unit tests
        validating the use of mod_rewrite to rewrite SFTP requests.

2009-03-19  castaglia <castaglia>

        * contrib/mod_rewrite.c: Add a comment about why there's a test for
        a SYMLINK command in mod_rewrite.

2009-03-19  castaglia <castaglia>

        * contrib/mod_rewrite.c, contrib/mod_sftp/fxp.c: The handling of
        SFTP requests now honors PRE_CMD handlers such as mod_rewrite; this
        means you can use mod_rewrite on SFTP requests, just like you would
        on FTP commands.

2009-03-19  castaglia <castaglia>

        * doc/howto/Compiling.html: Match the example configure options to
        their surrounding text.

2009-03-18  castaglia <castaglia>

        * doc/contrib/mod_rewrite.html: Updated mod_rewrite docs to cover
        the %{ENV:var} syntax.

2009-03-18  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_rewrite.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Bug#3219 - Support
        environment variable substitutions in mod_rewrite rules.

2009-03-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Add unit test
        for globbing <Directory> with Umask, trying unsuccessfully to
        reproduce an issue reported on the users mailing list.

2009-03-18  castaglia <castaglia>

        * NEWS, contrib/mod_ban.c: Bug#3187 - Inconsistent mod_ban logging
        and display when using "BanEngine off" in an <IfClass>
        configuration.

2009-03-18  castaglia <castaglia>

        * contrib/mod_sftp/rfc4716.c: Add a reminder comment for admins,
        should there be trouble parsing an AuthorizedKeys file, to make sure
        that the file is in the correct format.

2009-03-18  castaglia <castaglia>

        * src/bindings.c: Enhance the patch for Bug#2680 even further, to
        properly handle connections to an IPv6 socket, and still looking for
        vhosts configured for the IPv4 wildcard address before finally
        falling back to DefaultServer.

2009-03-18  castaglia <castaglia>

        * doc/howto/Limit.html: Should include the EPRT and EPSV commands in
        the example for specifying only one kind of data transfer (active or
        passive).

2009-03-17  castaglia <castaglia>

        * doc/howto/Limit.html: Update the Limit docs to mention MLSD and
        MLST.

2009-03-17  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: The reading of ATTRS for SFTP protocol
        versions greater than 3 was using the old file attribute flag
        values.

2009-03-17  castaglia <castaglia>

        * src/dirtree.c: Fix another possible cause of Bug#3184: rewind to
        the start of the /etc/protocols file via a call to setprotoent(3),
        if available.

2009-03-17  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, src/bindings.c: Bug#2680 - Add support for
        <VirtualHost 0.0.0.0>.

2009-03-16  castaglia <castaglia>

        * contrib/mod_sql.c, modules/mod_log.c: Make sure that %V gets
        resolved to the DNS name of the IP address to which the client
        connected.  This can differ from what is expected, e.g. when
        DefaultServer marks a vhost (which is for a different IP address)
        that handles the connection.

2009-03-16  castaglia <castaglia>

        * modules/mod_facts.c, tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: 
        The MLSD command, as per RFC, does not support glob characters.
        However, this does not mean that we should error out on an MLSD
        command which does contain glob characters; there could be a valid
        directory with such characters in the path.

2009-03-14  castaglia <castaglia>

        * contrib/mod_sftp/rfc4716.c: When parsing RFC4716 formatted keys,
        make sure the input buffer is large enough to handle the longest
        allowable line: 72 bytes + CRLF + NUL = 75 bytes.  And if the line
        is "too long", log that length.

2009-03-13  castaglia <castaglia>

        * doc/howto/Quotas.html: Another common cause of quota tallies not
        being updated.

2009-03-13  castaglia <castaglia>

        * src/inet.c: Jesús Alastruey pointed out there was an off-by-one
        bug in the handling of the PassivePorts port selection code.  The
        highest port number was not being properly shuffled.

2009-03-12  castaglia <castaglia>

        * configure: Updated configure.

2009-03-12  castaglia <castaglia>

        * configure.in: Guard against empty --with-FOO arguments; these lead
        to strange build failures such as:   configure: error: source file './modules/d_ident.c' cannot be
          found -- aborting

2009-03-12  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: Return the %preun RPM build state
        to its previous implementation; no need to futz with it for
        Bug#2613.

2009-03-12  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: Updating the proftpd.spec to match
        Bug#2613.

2009-03-12  castaglia <castaglia>

        * configure: Updated configure.

2009-03-12  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, configure.in: Bug#2613 - Configure script
        should not append '/proftpd' to the --localstatedir.

2009-03-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add unit tests for
        the SSL session reuse requirement for data transfers, and that using
        the NoSessionReuseRequired TLSOption does in fact relax this
        requirement properly.

2009-03-12  castaglia <castaglia>

        * modules/mod_xfer.c: If pr_data_sendfile() fails because of
        EOVERFLOW, fall back to transmitting the data normally.  Less
        distracting for admins this way.

2009-03-12  castaglia <castaglia>

        * contrib/mod_tls.c: Fix stale pointer segfault caused when an FTPS
        client fails to reuse the SSL session from the control connection
        for a data transfer, and the SSL session has to be shut down.

2009-03-11  castaglia <castaglia>

        * contrib/mod_tls.c: Stylistic cleanups in tls_verify_crl().

2009-03-11  castaglia <castaglia>

        * tests/t/etc/modules/mod_tls/ca-crl.pem,
        tests/t/etc/modules/mod_tls/client-cert.pem,
        tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add a unit test for
        TLSCARevocationFile.  Note that this currently requires a hacked
        version of Net::FTPSSL; I am contributing the patch to the upstream
        author.  (The patch is necessary to configure the client cert that a
        Net::FTPSSL client will present when talking to an FTPS server.)

2009-03-11  castaglia <castaglia>

        * doc/howto/Compiling.html: Note the additional behavior when
        --enable-devel=coredump is used (and emphasis why this is a Bad Idea
        unless you really know what you're doing).

2009-03-11  castaglia <castaglia>

        * doc/contrib/mod_wrap2_sql.html: Fix the mod_wrap2_sql
        documentation, thanks to Szymon Juraszczyk.

2009-03-11  castaglia <castaglia>

        * contrib/mod_wrap2_file.c, contrib/mod_wrap2_sql.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Further
        improvements to the fix for Bug#3048 and Bug#3215 from Szymon
        Juraszczyk.

2009-03-10  castaglia <castaglia>

        * NEWS, contrib/mod_wrap2_sql.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Bug#3215 -
        mod_wrap2_sql should support comma-delimited lists of clients.

2009-03-10  castaglia <castaglia>

        * contrib/mod_ban.c, contrib/mod_ctrls_admin.c, contrib/mod_tls.c,
        include/compat.h, include/ctrls.h, include/mod_ctrls.h,
        modules/mod_ctrls.c, modules/mod_delay.c, modules/mod_dso.c,
        src/ctrls.c, src/ftpdctl.c: Bug#3211 - Compile error when using
        --enable-ctrls --with-shared=mod_ctrls.

2009-03-10  castaglia <castaglia>

        * RELEASE_NOTES, doc/contrib/mod_tls_shmcache.html: Added docs for
        mod_tls_shmcache.html.

2009-03-10  castaglia <castaglia>

        * contrib/mod_tls_shmcache.c: Forgot to include the $Libraries$ hint
        for mod_tls_shmcache.c.  Useful for when it is compiled as a shared
        modulel via prxs.

2009-03-10  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Typo.

2009-03-10  castaglia <castaglia>

        * RELEASE_NOTES, doc/contrib/mod_tls.html: Add docs for the
        NoSessionReuseRequired TLSOption added in Bug#3210.

2009-03-10  castaglia <castaglia>

        * contrib/mod_tls.c: Typo.

2009-03-10  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3210 - Data transfers
        protected by SSL/TLS should reuse the control connection SSL
        session.

2009-03-10  castaglia <castaglia>

        * RELEASE_NOTES: Mention the new directives and module.  Fuller
        descriptions will be added later.

2009-03-10  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Update the mod_tls docs to include
        TLSControlsACLs, TLSSessionCache, and the new mod_tls ftpdctl
        actions.

2009-03-10  castaglia <castaglia>

        * contrib/mod_tls.c: Include the name of the external session cache
        in the 'clear' and 'remove' action outputs.

2009-03-10  castaglia <castaglia>

        * contrib/mod_tls_shmcache.c: Add some identifying information about
        the module itself in the status output.

2009-03-10  castaglia <castaglia>

        * contrib/mod_tls.c: Make the default external SSL session cache
        timeout 30 minutes.  FTPS sessions are longer than HTTPS requests,
        hence why our default session timeout is longer than OpenSSL's
        default (which is 5 minutes).

2009-03-10  castaglia <castaglia>

        * contrib/mod_tls_shmcache.c: Add new contrib module,
        mod_tls_shmcache, which provides a shared-memory (SysV IPC shared
        memory) implementation for SSL session caching among multiple
        processes.  Need at least one implementation of an external SSL
        session cache for Bug#3207.

2009-03-10  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c, contrib/mod_tls.h: Bug#3207 - Support for
        SSL/TLS session caching across processes/machines.

2009-03-10  castaglia <castaglia>

        * contrib/mod_tls.c: Once we know the vhost handling the connection,
        use that vhost pointer as the "session ID context" for SSL/TLS
        sessions.  This ensures that SSL sessions to different vhosts (which
        may have different SSL security policies configured) end up in
        different groups (i.e. no chance of session ID collision between
        sessions to two different vhosts).

2009-03-10  castaglia <castaglia>

        * doc/howto/Limit.html: Add another example <Limit> config, for a
        read-only account.

2009-03-09  castaglia <castaglia>

        * contrib/mod_ban.c: Pedantic ANSI C compilers might complain about
        the trailing comma.

2009-03-09  castaglia <castaglia>

        * contrib/mod_tls.c: If TLSCACertificatePath is configured, properly
        skip the "." and ".." directories.  The code was there, but it was
        not doing this properly (it was trying to read "." and ".." as
        filenames in that directory, and thus littering the TLSLog with
        ugly, unnecessary messages).

2009-03-09  castaglia <castaglia>

        * doc/howto/Limit.html: Example <Limit> config of making a directory
        undeletable, but allowing its subdirectories to be deletable.

2009-03-09  castaglia <castaglia>

        * src/proftpd.8.in, utils/ftpcount.1.in, utils/ftpscrub.8.in,
        utils/ftptop.1.in, utils/ftpwho.1.in: Bug#3212 - Duplicate '/run/'
        in manpages.

2009-03-09  castaglia <castaglia>

        * contrib/mod_tls.c: Typo.

2009-03-09  castaglia <castaglia>

        * contrib/mod_tls.c: If the EnableDiags TLSOption is enabled, log
        some SSL session stats when the session ends.

2009-03-08  castaglia <castaglia>

        * contrib/mod_ban.c: Typo.

2009-03-07  castaglia <castaglia>

        * contrib/mod_sftp/kbdint.c: Need to return -1, not zero, if we fail
        to unregister a 'keyboard-interactive' driver for some reason.

2009-03-07  castaglia <castaglia>

        * contrib/mod_sftp_pam.c: Add the same macro for const-ness (or not)
        for the pam_conv function prototype as done in mod_auth_pam to
        mod_sftp_pam.

2009-03-07  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: Bug#2652 - Installing standard RPM
        fails when /home mounted from NFS filesystem on root_squashed host.
        Add support for `rpmbuild --define 'nohome 1' ...' in the provided
        proftpd.spec.

2009-03-07  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec: Bug#2985 -
        Newest .spec file requires relatively current version of RPM.

2009-03-06  castaglia <castaglia>

        * contrib/mod_tls.c: If we get to the point that we need to generate
        our own random seed data for OpenSSL's PRNG, then allocate some
        uninitialized memory off the heap and use that for the seed.  This
        complements the existing use of uninitialized stack data as part of
        the generated seed.

2009-03-05  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added a unit test
        for the case where mod_sftp and mod_vroot are used, and the SFTP
        client sends an OPENDIR request to a path which happens to be a
        symlink to a path which lies outside of the vroot area.  What a
        mess.

2009-03-05  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: The mod_sftp modules DOES support
        UseLastlog now.

2009-03-05  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: When handling an OPENDIR request, resolve
        the given path to the best local path before calling
        pr_fsio_opendir().  In most cases, this is not important.  But when
        using mod_vroot and the path being opened is a symlink to another
        directory, it IS important.  Also log to the "fileperms" log channel if pr_fsio_readlink() fails
        when handling a READLINK request.

2009-03-05  castaglia <castaglia>

        * src/dirtree.c: Minor stylistic cleanups.

2009-03-05  castaglia <castaglia>

        * contrib/mod_sftp/auth.c, modules/mod_auth.c: Update mod_sftp to
        use the new pr_auth_get_home() function (for honoring any
        RewriteHome configuration).  Change the timing of the call to pr_auth_get_home() in mod_auth, so
        that it happens *before* any substitution of variables (e.g. '%u')
        in the home dir.  This allows the rewritten home directory to
        contain variables like '%u'.

2009-03-05  castaglia <castaglia>

        * RELEASE_NOTES: Updated release notes with info about RewriteHome.

2009-03-05  castaglia <castaglia>

        * tests/t/config/rewritehome.t,
        tests/t/lib/ProFTPD/Tests/Config/RewriteHome.pm, tests/tests.pl: 
        Added unit test for the new RewriteHome configuration directive.

2009-03-05  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c, include/auth.h, modules/mod_auth.c,
        src/auth.c: Bug#3167 - Support rewriting of home directories.

2009-03-05  castaglia <castaglia>

        * modules/mod_core.c: Tell the admin to allocate a larger
        PassivePorts range, when we encounter the case where a port in the
        defined PassivePorts range cannot be used because all PassivePorts
        ports are in use.

2009-03-05  castaglia <castaglia>

        * contrib/mod_rewrite.c, contrib/mod_sftp/rfc4716.c,
        contrib/mod_wrap2_file.c, include/fsio.h, modules/mod_facts.c,
        modules/mod_ls.c, src/display.c, src/fsio.c, src/netio.c,
        src/parser.c: Replace the use of static buffers of size
        PR_TUNABLE_BUFFER_SIZE in many placese with dynamically allocated
        buffers of more optimal sizes.  See Bug#3206 for more details.

2009-03-05  castaglia <castaglia>

        * modules/mod_auth_pam.c: Make extra sure that our PAM_CONST macro
        doesn't collide with any system macro of the same name by calling it
        PR_PAM_CONST.

2009-03-05  castaglia <castaglia>

        * modules/mod_auth_pam.c: I finally got tired of seeing this
        compiler warning:   mod_auth_pam.c:88: warning: function declaration isn't a prototype because mod_auth_pam used K&R style (for some reason) in one place.
        So fix it up to be ANSI style, and deal with the platform-specific
        const-ness of one of the arguments.

2009-03-05  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Clients using later SFTP protocol versions
        can include attribute flags in the stat (STAT, FSTAT, LSTAT)
        requests to indicate the specific attributes in which the client is
        interested.  Even though mod_sftp does not honor these hints, it now
        logs the text version of those flags; previously it was simply
        logging the raw value.  As a bitmask, this logged number was not
        especially enlightening.  Also added logging of the textified flags which are unsupported, in
        the case of an OPEN request which is rejected because of unsupported
        flags in the request.

2009-03-04  castaglia <castaglia>

        * src/dirtree.c: Corrected stale/misleading comment.

2009-03-04  castaglia <castaglia>

        * modules/mod_auth_unix.c, src/auth.c: Fix the implementation of
        pr_auth_authorize().  Now, mod_auth_unix (the only known 'authorize'
        handler at present) will explicitly return ERROR to the 'authorize'
        call if the user is not authorized.  This way, an 'authorize'
        dispatch which gets a result of HANDLED or DECLINED treats the user
        as "authorized".  The DECLINED case means that a user can be
        authenticated via e.g. mod_sql (which does NOT provide an
        'authorize' handler), and be successfully authorized as well.

2009-03-04  castaglia <castaglia>

        * contrib/mod_sftp/interop.c: Include the SSH2 client version info
        in the TraceLog.

2009-03-04  castaglia <castaglia>

        * contrib/mod_sftp/keys.c: Add trace logging for channel "ssh2",
        level 17, of reasons why key mismatches occur.

2009-03-04  castaglia <castaglia>

        * contrib/mod_sftp_sql.c: Be a little more clear when logging why a
        key comparison failed (i.e.  differentiate between "comparison
        failure" and "key mismatch").

2009-03-04  castaglia <castaglia>

        * contrib/mod_sftp/crypto.c, contrib/mod_sftp/kex.c,
        contrib/mod_sftp/mac.c: Make mod_sftp compile properly when dealing
        with older versions of OpenSSL (e.g. OpenSSL versions older than
        0.9.7).

2009-03-04  castaglia <castaglia>

        * NEWS, src/prxs.in: Bug#3204 - Better support for installation and
        libs in prxs.

2009-03-04  castaglia <castaglia>

        * contrib/mod_sftp/channel.c, contrib/mod_sftp/fxp.c: Include more
        info in the dispatched cmd_recs, e.g. channel IDs.

2009-03-04  castaglia <castaglia>

        * doc/howto/ServerType.html: Add a real xinetd config example to the
        ServerType howto, rather than having the broken UserGuide link.

2009-03-04  castaglia <castaglia>

        * contrib/mod_sql.c, modules/mod_auth.c, modules/mod_log.c: More
        work towards Bug#2715.  This moves the storage of the anonymous
        password to the session.notes table, and out of the config tree.

2009-03-04  castaglia <castaglia>

        * doc/modules/mod_delay.html: Add some mod_delay FAQs.

2009-03-03  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#3203 - Missing SQL backend modules
        can lead to null pointer segfault in mod_sql.

2009-03-03  castaglia <castaglia>

        * src/Makefile.in, utils/Makefile.in: Turns out that deleting files
        (via 'make clean) generated at configure time, rather than at
        compile time, is a bad idea.  You can do several 'make clean && make
        install' invocations with one configure invocation; the install step
        complains about missing files (i.e. the generated ones) after
        they've been deleted unnecessarily.

2009-03-03  castaglia <castaglia>

        * contrib/mod_wrap2/mod_wrap2.c: String formatting fixed, as per
        Bug#3197.

2009-03-03  castaglia <castaglia>

        * contrib/mod_quotatab_file.c: Remove the log messages about EOF;
        they proved to be too annoying and not as helpful as one would like.

2009-03-03  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c: Bug#3196 - mod_quotatab does not
        honor last group in supplemental group list.

2009-03-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm,
        tests/t/modules/mod_quotatab_file.t, tests/tests.pl: Add a unit test
        for mod_quotatab_file.

2009-03-02  castaglia <castaglia>

        * modules/mod_facts.c, tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Make sure that the MLST
        and MLSD command handlers can handle paths with spaces in them.
        This is essentially the same bug as Bug#3142; the fix for that bug
        was not properly extended to the MLST and MLSD commands.

2009-03-02  castaglia <castaglia>

        * include/support.h: Remove the declaration of the now-obsolete
        set_protocol_name() function.

2009-03-02  castaglia <castaglia>

        * RELEASE_NOTES: Mention the Korean translation.

2009-03-02  castaglia <castaglia>

        * locale/Makefile.in, locale/ko_KR.po: Bug#3194 - Add Korean
        translation.

2009-02-27  castaglia <castaglia>

        * contrib/mod_sftp/kex.c: Copy the client-sent language lists out of
        the kex pool, not out of the packet pool.

2009-02-27  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit tests for
        the one-hostkey-only mod_sftp configurations.

2009-02-27  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Update the mod_sftp docs to mention
        that only one SFTPHostKey is now required.

2009-02-27  castaglia <castaglia>

        * contrib/mod_sftp/kex.c, contrib/mod_sftp/keys.c,
        contrib/mod_sftp/keys.h, contrib/mod_sftp/mod_sftp.c: Fix bug when
        handling language lists; I forgot to initialize the server's
        language list, even if it is to the empty string.  Also make mod_sftp more lenient with regard to host keys.  It will
        now function if only one host key, be it RSA or DSA, is configured.

2009-02-26  castaglia <castaglia>

        * contrib/mod_sftp/kex.c: Start implementing support for negotiated
        languages in the key exchange.  For now, actually read (and log) the
        list of languages sent by the client.

2009-02-26  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix the permissions
        on the test hostkey files so that mod_sftp won't complain about
        them.

2009-02-26  castaglia <castaglia>

        * locale/fr_FR.po: Updated French translation from the translator.

2009-02-26  castaglia <castaglia>

        * contrib/mod_sftp/channel.c: When sending WINDOW_ADJUST messages to
        the client, mod_sftp needs to use the (possibly) SFTPClientMatch
        adjusted window size, not the default window size.

2009-02-26  castaglia <castaglia>

        * modules/mod_facts.c: The response to MLST was sending the info,
        and terminating the line with an extra LF, e.g. "dataLFCRLF", rather
        than just a normal CRLF.

2009-02-22  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Update mod_sftp so that it too uses the
        new pr_filter_allow_path() function.

2009-02-22  castaglia <castaglia>

        * contrib/mod_sftp/utf8.c: Fix the compilation of mod_sftp when
        --enable-nls is NOT used.

2009-02-22  castaglia <castaglia>

        * modules/mod_core.c, modules/mod_xfer.c,
        tests/t/lib/ProFTPD/Tests/Config/PathAllowFilter.pm,
        tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Updated mod_core
        so that it uses pr_filter_allow_path(), rather than looking up and
        comparing against the PathAllowFilter/PathDenyFilter directives
        directly.  Provide accompanying tests to show that no functionality
        has been broken in this refactoring.

2009-02-22  castaglia <castaglia>

        * Make.rules.in, include/conf.h, include/filter.h,
        modules/mod_xfer.c, src/filter.c: Consolidate the checking of a path
        against the PathAllowFilter and PathDenyFilter directives into a
        common pr_filter_allow_path() function, rather than having the
        checking of those directives repeatedly done throughout the code.  Right now, only the STOR handler in mod_xfer has been updated to use
        this new pr_filter_allow_path() function; more updates for the rest
        of the core code will be coming.

2009-02-22  castaglia <castaglia>

        * utils/.cvsignore: Ignore the generated ftpscrub.8 man page in CVS
        commands.

2009-02-22  castaglia <castaglia>

        * src/log.c: Implement pr_log_writefile() so that it calls
        pr_log_vwritefile(), just like the other module logging functions
        do.

2009-02-22  castaglia <castaglia>

        * tests/t/config/pathallowfilter.t,
        tests/t/config/pathdenyfilter.t,
        tests/t/lib/ProFTPD/Tests/Config/PathAllowFilter.pm,
        tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm, tests/tests.pl: 
        Added unit tests for the PathAllowFilter and PathDenyFilter
        directives.  Will be adding more tests for this directives,
        involving other FTP commands, soon.

2009-02-21  castaglia <castaglia>

        * contrib/mod_quotatab.c, contrib/mod_quotatab.h,
        contrib/mod_radius.c, contrib/mod_sql.c, contrib/mod_tls.c,
        contrib/mod_wrap2/mod_wrap2.c, contrib/mod_wrap2/mod_wrap2.h.in,
        include/log.h, include/mod_ctrls.h, modules/mod_ctrls.c, src/log.c: 
        The changes to the logging functions made earlier today pointed out
        to me the fact that many of the contrib modules -- and even
        mod_ctrls -- had functionally duplicative logging functions as the
        core pr_log_writefile() function.  And why have duplicated code when
        it isn't necessary? To address this, a new pr_log_vwritefile() function has been added.
        This function, rather than be a varargs-style function like
        pr_log_writefile(), takes a va_list parameter.  This makes it
        suitable for calling by the contrib modules' own logging functions,
        which themselves are varargs-style functions.  While I was at it, I made sure that these logging functions are
        checked via gcc's __attribute__ pragma (where it wasn't already
        being done), and cleaned up the resulting compiler warnings.

2009-02-21  castaglia <castaglia>

        * contrib/mod_sql.c: Fix a stylistic nit in sql_addgroup.  The cnt
        variable had an unnecessarily large scope, and the gr_mem array of
        strings should be terminated with a NULL, not a '\0' (NUL
        character).

2009-02-21  castaglia <castaglia>

        * .cvsignore: Add the new ftpscrub utility to the cvs ignore list.

2009-02-21  castaglia <castaglia>

        * contrib/mod_tls.c: Be a little paranoid, and keep
        X509_NAME_oneline() from using the entire buffer; reserve one
        character for NUL.

2009-02-20  castaglia <castaglia>

        * contrib/mod_quotatab.c, contrib/mod_radius.c, contrib/mod_sql.c,
        contrib/mod_tls.c, contrib/mod_wrap2/mod_wrap2.c,
        modules/mod_ctrls.c, src/log.c: Fix the logging functions to handle
        long log messages properly.

2009-02-20  castaglia <castaglia>

        * NEWS, modules/mod_facts.c,
        tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Bug#3190 - MLSD/MLST do
        not honor <Limit> configurations.

2009-02-19  castaglia <castaglia>

        * utils/ftpscrub.c: Forgot to move the ftpscrub.c source from from
        src/ to utils/, along with the its man pages and build rules.

2009-02-19  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/utf8.c,
        contrib/mod_sftp/utf8.h: Make mod_sftp honor the UseEncoding
        directive iff it has been used in the two-argument form.  In this
        particular case, the client encoding is dictated by the IETF Draft
        for SFTP to be UTF8, but the admin can now use UseEncoding to set
        the local charset that mod_sftp should use.

2009-02-18  castaglia <castaglia>

        * RELEASE_NOTES, doc/howto/Scoreboard.html: Mention the
        ScoreboardScrub directive in the release notes, and update the
        Scoreboard howto to mention this new directive.

2009-02-18  castaglia <castaglia>

        * configure: Updated configure.

2009-02-18  castaglia <castaglia>

        * src/Makefile.in, utils/Makefile.in, utils/ftpscrub.8.in: Put the
        ftpscrub.8.in man page template in the wrong directory; should have
        been in utils/, not in src/.

2009-02-18  castaglia <castaglia>

        * Make.rules.in, Makefile.in, NEWS, configure.in,
        modules/mod_core.c, src/Makefile.in, src/ftpscrub.c,
        utils/Makefile.in, utils/scoreboard.c, utils/utils.h: Bug#3129 -
        Support configurable scoreboard scrubbing.

2009-02-18  castaglia <castaglia>

        * contrib/mod_sql_postgres.c: Minor OCD reordering.

2009-02-18  castaglia <castaglia>

        * contrib/mod_sftp/disconnect.h: Helps if the comment matches the
        code.

2009-02-18  castaglia <castaglia>

        * contrib/mod_sftp/disconnect.h: Handle the lack of __FUNCTION__ (a
        gcc extension) better.  Try to use __func__ if present (Sun
        compilers use this), and have a fallback of "(unknown)" for other
        cases.

2009-02-18  castaglia <castaglia>

        * src/wtmp.c: Finally get rid of these compiler warnings:   wtmp.c:38: warning: unused variable `ut'   wtmp.c:39: warning: unused variable `fd' on Solaris systems.

2009-02-18  castaglia <castaglia>

        * NEWS, contrib/mod_sql_postgres.c: Bug#3176 - Postgres chokes on
        standard charset names.

2009-02-17  castaglia <castaglia>

        * Makefile.in, NEWS: Bug#3189 - Linker errors occur when using "make
        -j" parallel builds.

2009-02-17  castaglia <castaglia>

        * lib/libltdl/Makefile.in: Forgot to re-apply the libltdl
        modifications to disable the actions that try to use autoheader and
        automake.  These aren't installed on every system, and we don't
        really use them.

2009-02-17  castaglia <castaglia>

        * RELEASE_NOTES, doc/contrib/mod_tls.html: Update the docs for the
        new PKCS#12 file support in mod_tls.

2009-02-17  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3111 - Support
        SSL/TLS server certificates stored in PKCS#12 files.

2009-02-17  castaglia <castaglia>

        * NEWS, configure: Bug#3154 - Update bundled libtool version.  The
        bundled libltdl version has been updated to libtool-1.5.26.

2009-02-17  castaglia <castaglia>

        * aclocal.m4, ltmain.sh: More towards Bug#3154.

2009-02-17  castaglia <castaglia>

        * lib/libltdl/configure: Update configure, so that make doesn't
        think it needs to regenerate the configure file.  (The configure
        file needs a newer timestamp than the configure.ac file, otherwise
        the Makefile will try to make a new configure.)

2009-02-17  castaglia <castaglia>

        * lib/libltdl/COPYING.LIB, lib/libltdl/Makefile.am,
        lib/libltdl/Makefile.in, lib/libltdl/acinclude.m4,
        lib/libltdl/aclocal.m4, lib/libltdl/config.guess,
        lib/libltdl/config.sub, lib/libltdl/configure,
        lib/libltdl/configure.ac, lib/libltdl/install-sh,
        lib/libltdl/ltdl.c, lib/libltdl/ltdl.h, lib/libltdl/ltmain.sh,
        lib/libltdl/missing: Bug#3154 - Update bundled libtool version.

2009-02-17  castaglia <castaglia>

        * src/Makefile.in: Clean up the other generated files from the src
        directory (i.e. the man pages).

2009-02-17  castaglia <castaglia>

        * src/Makefile.in: Clean up the generated prxs script.

2009-02-17  castaglia <castaglia>

        * doc/contrib/mod_sftp.html: Add hrefs to the individual SFTP FAQs.  Added FAQ about using mod_sftp as an OpenSSH subsystem.

2009-02-16  castaglia <castaglia>

        * src/prxs.in: Give the prxs tool a --help option.

2009-02-16  castaglia <castaglia>

        * NEWS, src/prxs.in: Bug#3188 - prxs broken due to typo.

2009-02-16  castaglia <castaglia>

        * contrib/mod_load/.cvsignore, contrib/mod_sftp/.cvsignore,
        contrib/mod_wrap2/.cvsignore: Ignore libtool object files (*.lo) in
        CVS commands.

2009-02-16  castaglia <castaglia>

        * contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
        contrib/mod_sftp/fxp.c, contrib/mod_sftp/kex.c,
        contrib/mod_sftp/packet.c, contrib/mod_sftp/scp.c,
        contrib/mod_sftp/service.c, include/cmd.h, src/main.c: Work towards
        supporting the %S/%s LogFormat variables for SFTP responses.  Doing
        so required changing the pr_cmd_dispatch_phase() function so that it
        takes a flag argument, rather than just a Boolean, and updating all
        of the callers (most of which are in mod_sftp).

2009-02-16  castaglia <castaglia>

        * include/support.h: Forgot to remove the old make_arg_str()
        declaration.

2009-02-16  castaglia <castaglia>

        * contrib/mod_sftp/fxp.c: Support use of the TEXT mode flag in SFTP
        OPEN requests from clients using SFTP protocol version 4 and later.
        Since we send the 'newline' extension telling the client that the
        "canonical" newline sequence is a simple LF, supporting TEXT mode
        for files is the same as non-TEXT mode for Unix.  However, against the recommendations of the SFTP Draft, mod_sftp
        will NOT support a "text-seek" request; the computational cost of
        supporting such a thing is not worth it.

2009-02-15  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Add regression tests
        for the BanEngine behavior added in Bug#3186.

2009-02-15  castaglia <castaglia>

        * NEWS, contrib/mod_ban.c: Bug#3186 - Support use of <IfClass>
        directive with mod_ban.

2009-02-15  castaglia <castaglia>

        * NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#3185 - mod_wrap2 does not
        honour partial DNS name in access files.

2009-02-15  castaglia <castaglia>

        * Make.rules.in, contrib/mod_rewrite.c, include/cmd.h,
        include/conf.h, include/dirtree.h, include/inet.h,
        include/modules.h, src/cmd.c, src/dirtree.c, src/main.c,
        src/support.c: Try consolidating some of the pr_cmd_* functions into
        their own file (and give them their own header).  Replaced make_arg_str() with pr_cmd_get_displayable_str(), which
        caches the resulting string of decoded arguments (to avoid needless
        re-decoding on every command dispatch).

2009-02-14  castaglia <castaglia>

        * contrib/mod_sftp/auth-hostbased.c,
        contrib/mod_sftp/auth-publickey.c, include/auth.h,
        modules/mod_auth_unix.c, src/auth.c: Add a new pr_auth_authorize()
        API, for checking that a user is authorized to login.  This is
        different from pr_auth_authenticate(), which authenticates the user
        using the given password.  The authorization checks do not need a
        password.  This function is particularly needed by mod_sftp, which can
        authenticate a client via non-password means (e.g. hostbased,
        keyboard-interactive, and publickey authentication); the
        authorization of the logging-in user still needs to occur in those
        cases.

2009-02-14  castaglia <castaglia>

        * contrib/mod_quotatab.c, contrib/mod_radius.c,
        contrib/mod_sftp/mod_sftp.c, contrib/mod_sql.c, contrib/mod_tls.c,
        contrib/mod_wrap2/mod_wrap2.c: When unloading modules which can have
        their own logs, make sure that those log descriptors are closed.

2009-02-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Add separate
        mod_wrap2 deny table tests for IP addresses and DNS names.

2009-02-14  castaglia <castaglia>

        * src/session.c: Use a plain unadorned "ssh" as the TTY name in case
        of SSH sessions.

2009-02-14  castaglia <castaglia>

        * Make.rules.in, contrib/mod_sftp/auth.c, include/log.h, src/log.c,
        src/wtmp.c: Separate out log_wtmp() into its own source file.  Update mod_sftp to honor WtmpLog and UseLastlog.

2009-02-14  castaglia <castaglia>

        * contrib/mod_sql.c: Constify one of the functions, and deal with
        the consequences.

2009-02-14  castaglia <castaglia>

        * Make.rules.in, contrib/mod_sftp/fxp.c,
        contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/scp.c,
        contrib/mod_sql.c, contrib/mod_tls.c, include/conf.h,
        include/log.h, include/session.h, modules/mod_auth.c,
        modules/mod_log.c, src/log.c, src/main.c, src/session.c,
        tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Added new Session
        API.  The data for the session are stashed in the session.notes
        table, but these accessors can perform some intelligent
        transformation on the stashed value.  Bug#3183 proved that the construction of the pseudo-ttyname, used in
        WtmpLog and PAM authentication, should be consolidated, and this has
        been done.  Also used the Session API to implement a %{protocol} LogFormat (and
        SQLNamedQuery) variable.  This will resolve to "ftp", "ftps",
        "ssh2", "sftp", or "scp" as appropriate.  A unit test for
        regressions of this feature is included.

2009-02-13  castaglia <castaglia>

        * contrib/mod_sftp_pam.c, contrib/mod_sftp_sql.c: Update the
        copyright dates for these modules.

2009-02-13  castaglia <castaglia>

        * contrib/mod_sftp/auth-hostbased.c,
        contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
        contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
        contrib/mod_sftp/auth.h, contrib/mod_sftp/blacklist.c,
        contrib/mod_sftp/blacklist.h, contrib/mod_sftp/channel.c,
        contrib/mod_sftp/channel.h, contrib/mod_sftp/cipher.c,
        contrib/mod_sftp/cipher.h, contrib/mod_sftp/compress.c,
        contrib/mod_sftp/compress.h, contrib/mod_sftp/crypto.c,
        contrib/mod_sftp/crypto.h, contrib/mod_sftp/disconnect.c,
        contrib/mod_sftp/disconnect.h, contrib/mod_sftp/fxp.c,
        contrib/mod_sftp/fxp.h, contrib/mod_sftp/interop.c,
        contrib/mod_sftp/interop.h, contrib/mod_sftp/kbdint.c,
        contrib/mod_sftp/kbdint.h, contrib/mod_sftp/kex.c,
        contrib/mod_sftp/kex.h, contrib/mod_sftp/keys.c,
        contrib/mod_sftp/keys.h, contrib/mod_sftp/keystore.c,
        contrib/mod_sftp/keystore.h, contrib/mod_sftp/mac.c,
        contrib/mod_sftp/mac.h, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/msg.c,
        contrib/mod_sftp/msg.h, contrib/mod_sftp/packet.c,
        contrib/mod_sftp/packet.h, contrib/mod_sftp/rfc4716.c,
        contrib/mod_sftp/rfc4716.h, contrib/mod_sftp/scp.c,
        contrib/mod_sftp/scp.h, contrib/mod_sftp/service.c,
        contrib/mod_sftp/service.h, contrib/mod_sftp/session.c,
        contrib/mod_sftp/session.h, contrib/mod_sftp/ssh2.h,
        contrib/mod_sftp/tap.c, contrib/mod_sftp/tap.h,
        contrib/mod_sftp/utf8.c, contrib/mod_sftp/utf8.h: Add the Id keyword
        to the source files.

2009-02-13  castaglia <castaglia>

        * src/netaddr.c: Quell a compiler warning about const-ness.

2009-02-13  castaglia <castaglia>

        * contrib/mod_sftp/keys.c, contrib/mod_sftp/keys.h: Forgot the
        keys.[ch] files for mod_sftp.

2009-02-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm,
        tests/t/modules/mod_sftp.t, tests/tests.pl: Adding the mod_sftp
        testsuite.

2009-02-13  castaglia <castaglia>

        * tests/t/etc/modules/mod_sftp/authorized_dsa_keys,
        tests/t/etc/modules/mod_sftp/authorized_rsa_keys,
        tests/t/etc/modules/mod_sftp/ssh_host_dsa_key,
        tests/t/etc/modules/mod_sftp/ssh_host_dsa_key.pub,
        tests/t/etc/modules/mod_sftp/ssh_host_rsa_key,
        tests/t/etc/modules/mod_sftp/ssh_host_rsa_key.pub,
        tests/t/etc/modules/mod_sftp/test_dsa_key,
        tests/t/etc/modules/mod_sftp/test_dsa_key.pub,
        tests/t/etc/modules/mod_sftp/test_rsa_key,
        tests/t/etc/modules/mod_sftp/test_rsa_key.pub: Adding some of the
        files used by the mod_sftp unit tests.

2009-02-13  castaglia <castaglia>

        * contrib/mod_sftp/mod_sftp.c: Make sure that, when unloaded,
        mod_sftp unregisters all event handlers, and scrubs any keys from
        memory.

2009-02-13  castaglia <castaglia>

        * NEWS, README.modules, RELEASE_NOTES: Add mention of the added
        mod_sftp et al modules.

2009-02-13  castaglia <castaglia>

        * contrib/mod_sftp_pam.c, contrib/mod_sftp_sql.c,
        doc/contrib/mod_sftp.html, doc/contrib/mod_sftp_pam.html,
        doc/contrib/mod_sftp_sql.html: Adding mod_sftp_pam, mod_sftp_sql to
        the contrib modules.  Adding docs for mod_sftp, mod_sftp_pam, and mod_sftp_sql.

2009-02-13  castaglia <castaglia>

        * contrib/mod_sftp/.cvsignore, contrib/mod_sftp/Makefile.in,
        contrib/mod_sftp/auth-hostbased.c, contrib/mod_sftp/auth-kbdint.c,
        contrib/mod_sftp/auth-password.c,
        contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
        contrib/mod_sftp/auth.h, contrib/mod_sftp/blacklist.c,
        contrib/mod_sftp/blacklist.h, contrib/mod_sftp/channel.c,
        contrib/mod_sftp/channel.h, contrib/mod_sftp/cipher.c,
        contrib/mod_sftp/cipher.h, contrib/mod_sftp/compress.c,
        contrib/mod_sftp/compress.h, contrib/mod_sftp/config.guess,
        contrib/mod_sftp/config.sub, contrib/mod_sftp/configure,
        contrib/mod_sftp/configure.in, contrib/mod_sftp/crypto.c,
        contrib/mod_sftp/crypto.h, contrib/mod_sftp/dhparams.pem,
        contrib/mod_sftp/disconnect.c, contrib/mod_sftp/disconnect.h,
        contrib/mod_sftp/fxp.c, contrib/mod_sftp/fxp.h,
        contrib/mod_sftp/install-sh, contrib/mod_sftp/interop.c,
        contrib/mod_sftp/interop.h, contrib/mod_sftp/kbdint.c,
        contrib/mod_sftp/kbdint.h, contrib/mod_sftp/kex.c,
        contrib/mod_sftp/kex.h, contrib/mod_sftp/keystore.c,
        contrib/mod_sftp/keystore.h, contrib/mod_sftp/mac.c,
        contrib/mod_sftp/mac.h, contrib/mod_sftp/mod_sftp.c,
        contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/msg.c,
        contrib/mod_sftp/msg.h, contrib/mod_sftp/packet.c,
        contrib/mod_sftp/packet.h, contrib/mod_sftp/rfc4716.c,
        contrib/mod_sftp/rfc4716.h, contrib/mod_sftp/scp.c,
        contrib/mod_sftp/scp.h, contrib/mod_sftp/service.c,
        contrib/mod_sftp/service.h, contrib/mod_sftp/session.c,
        contrib/mod_sftp/session.h, contrib/mod_sftp/ssh2.h,
        contrib/mod_sftp/tap.c, contrib/mod_sftp/tap.h,
        contrib/mod_sftp/utf8.c, contrib/mod_sftp/utf8.h: Adding mod_sftp to
        the contrib modules.

2009-02-13  castaglia <castaglia>

        * contrib/mod_tls.c: Move the installation of the control channel
        NetIO handler from the startup event handler to the postparse event
        handler, and make the NetIO handler installer be smarter.  We only
        want to install a NetIO handler for the control channel if we have
        not already done so.  We want to do this at postparse time, so that
        if mod_tls is a DSO module and is unloaded (as during a restart),
        then the NetIO handler will be installed again properly.
        Previously, the NetIO handler was only installed on startup.  If
        mod_tls is a DSO module, and proftpd is restarted, then the unload
        event handler in mod_tls unregisters the control channel NetIO
        handler, and that handler is never reinstalled.  A segfault later
        occurs because of a null pointer dereference.

2009-02-13  castaglia <castaglia>

        * NEWS, src/dirtree.c: Bug#3184 - When started in a chroot, proftpd
        fails to set transfer buffer size.

2009-02-12  castaglia <castaglia>

        * doc/howto/DNS.html: Mention the new -S command-line option in the
        DNS howto's FAQ section.

2009-02-12  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, include/netaddr.h, modules/mod_core.c,
        src/main.c, src/netaddr.c, src/proftpd.8.in: Bug#2608 - DNS should
        not be used for "server config" address discovery.

2009-02-12  castaglia <castaglia>

        * contrib/mod_quotatab_file.c: Handle possible interruptions of
        readv(2) and writev(2) in mod_quotatab_file.

2009-02-12  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c, include/compat.h, include/inet.h,
        modules/mod_core.c, modules/mod_ident.c, src/bindings.c,
        src/data.c, src/dirtree.c, src/inet.c, src/main.c, src/netaddr.c: 
        Renamed the Inet "connection" functions to "conn"; no need to have
        function names that are that verbose.  Updated the attendant
        callers, and added compatibility macros in compat.h.  Removed older compatibility macros for the log functions from
        compat.h.  Added handling of the case where fixup_servers() can return -1 after
        a restart.  One user was somehow encountering a case where proftpd
        could resolve the hostname on startup, but failed to resolve the
        hostname after a restart.  This lead to a segfault because the
        main_server pointer, after this failure, pointed to old/stale
        memory.

2009-02-12  castaglia <castaglia>

        * .cvsignore, contrib/.cvsignore, contrib/mod_load/.cvsignore,
        contrib/mod_wrap2/.cvsignore: Minor refinement of the .libs
        exclusion.

2009-02-12  castaglia <castaglia>

        * .cvsignore, contrib/.cvsignore, contrib/mod_load/.cvsignore,
        contrib/mod_wrap2/.cvsignore: Ignore .la files and the .libs/
        directory.

2009-02-12  castaglia <castaglia>

        * NEWS, modules/mod_auth.c, src/main.c: Bug#3183 - Incorrect logging
        to wtmp.

2009-02-12  castaglia <castaglia>

        * tests/t/config/hidegroup.t, tests/t/config/hideuser.t,
        tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm,
        tests/t/lib/ProFTPD/Tests/Config/HideUser.pm, tests/tests.pl: Adding
        testcases for the HideUser and HideGroup directives.

2009-02-12  castaglia <castaglia>

        * NEWS, modules/mod_core.c, src/dirtree.c: Bug#2720 -
        HideUser/HideGroup should be more flexible.

2009-02-12  castaglia <castaglia>

        * NEWS, src/ctrls.c, src/event.c: Bug#3179 - Restarted proftpd using
        mod_shaper will segfault.

2009-02-12  castaglia <castaglia>

        * src/auth.c: The first id2name lookup was always returning the
        numeric ID, even if the lookup succeed.  Fix this so that the
        looked-up name is properly returned even for the first lookup.

2009-02-11  castaglia <castaglia>

        * contrib/mod_ban.c: Avoid unsightly error messages like this when
        shutting down a proftpd using mod_ban:   mod_ban/0.5.3: error removing shmid -1: No such file or directory by actually checking that the shmid is greater than -1 before
        attempting to remove it.

2009-02-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add a
        testcase for the SQLLog directive and the handling of the %{time}
        variable.

2009-02-11  castaglia <castaglia>

        * NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#3178 - mod_wrap2 does not
        handle IPv4-mapped IPv6 addresses.

2009-02-11  castaglia <castaglia>

        * modules/mod_auth.c, src/display.c,
        tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm: Work towards
        Bug#2715.  With this change, the config tree is no longer used for
        storing client count and class client count using the
        "CURRENT-CLIENTS" and "CURRENT-CLIENTS-CLASS" config_rec names.
        These values are now stored (and retrieved) using the session.notes
        table.

2009-02-11  castaglia <castaglia>

        * NEWS, src/main.c, tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm: 
        Bug#2728 - Support for variables in ServerIdent directive.

2009-02-10  castaglia <castaglia>

        * RELEASE_NOTES, sample-configurations/PFTEST.conf.in,
        sample-configurations/complex-virtual.conf: Update the release notes
        to mention that the IdentLookups directive is handled by the
        mod_ident module, and thus should be appropriately guarded in the
        proftpd.conf using <IfModule>.  Update the distributed sample configs to use <IfModule> guards
        around IdentLookups.

2009-02-10  castaglia <castaglia>

        * contrib/mod_tls.c: If we can't set the certificate-related
        environment variables, log the reason why.

2009-02-10  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c: Bug#3170 - RewriteMap unescape URL
        encoding broken by RewriteCondition backreference handling.

2009-02-10  castaglia <castaglia>

        * src/main.c: Fix a few cases where the signal-presence bit was not
        cleared in pr_signals_handle(), prior to calling some other
        function.  Failure to do so can lead to endless loops, for that
        called function can itself call pr_signals_handle(), which sees the
        signal-presence bit, which then calls the function, etc.  Such a
        loop results in a segfault, when the stack has been exhausted.

2009-02-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Add regression
        test for Bug#3156.

2009-02-09  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#3156 - Allow resumed downloads when
        HiddenStore is in effect.

2009-02-09  castaglia <castaglia>

        * modules/mod_auth.c: In the scoreboard entry for a session, record
        the IP address/port to which the client connected.  In some cases,
        this can be different from the IP address/port on which the server
        config, which handles the connection, is listening.  In the
        DefaultServer case, for example.

2009-02-09  castaglia <castaglia>

        * RELEASE_NOTES, locale/Makefile.in, locale/bg_BG.po: Added
        Bulgarian translation, courtesy of Georgi D. Sotirov.

2009-02-09  castaglia <castaglia>

        * contrib/mod_sql_postgres.c: Fix compile error.

2009-02-05  castaglia <castaglia>

        * locale/en_US.po: Updated English translation.

2009-02-05  castaglia <castaglia>

        * doc/modules/mod_cap.html: Another mod_cap-related FAQ.

2009-02-05  castaglia <castaglia>

        * modules/mod_core.c: Remove vestigal IdentLookups handling left by
        mistake in mod_core.

2009-02-05  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, modules/mod_ident.c: Bug#3155 - Change the
        IdentLookups default to 'off'.

2009-02-05  castaglia <castaglia>

        * NEWS, contrib/mod_sql_sqlite.c, doc/contrib/mod_sql_sqlite.html: 
        Bug#3128 - mod_sql_sqlite should use transactions for INSERT/UPDATE
        statements.

2009-02-05  castaglia <castaglia>

        * NEWS, modules/mod_facts.c: Bug#3133 - mod_facts should advertise
        TVFS support in the FEAT response.

2009-02-05  castaglia <castaglia>

        * NEWS, contrib/mod_sql_postgres.c: Bug#3123 - Use
        PQescapeStringConn() rather than PQescapeString().

2009-02-05  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, modules/mod_auth.c, src/auth.c: Bug#2894 -
        Deprecate the AnonymousGroup directive.

2009-02-05  castaglia <castaglia>

        * NEWS, contrib/mod_sql_mysql.c, contrib/mod_sql_odbc.c,
        contrib/mod_sql_postgres.c, contrib/mod_sql_sqlite.c: Bug#1801 -
        Faulty SQLConnectInfo PERCALL policy - connections not closed after
        each call.

2009-02-05  castaglia <castaglia>

        * locale/Makefile.in, locale/proftpd.pot: Updated the `find' command
        used to create the files.txt input for creating a new .pot.  Updated
        the current proftpd.pot.

2009-02-05  castaglia <castaglia>

        * locale/Makefile.in, locale/fr_FR.po: Added French translation.

2009-02-05  castaglia <castaglia>

        * include/version.h: On to the 1.3.3 release cycle!

2009-02-05  castaglia <castaglia>

        * ChangeLog: Updating ChangeLog for 1.3.2.

2009-02-05  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec, include/version.h: Updating
        versions for the 1.3.2 release.

2009-02-05  castaglia <castaglia>

        * RELEASE_NOTES: Updating release notes.

2009-02-05  castaglia <castaglia>

        * NEWS, contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: 
        Bug#3173 - Encoding-dependent SQL injection vulnerability.

2009-02-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Added testcase
        for Bug#3171.

2009-02-03  castaglia <castaglia>

        * NEWS, modules/mod_log.c: Bug#3171 - ExtendedLog should log full
        SITE command using %m.

2009-02-02  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Added testcase
        for Bug#3170.

2009-02-02  castaglia <castaglia>

        * doc/howto/Rewrite.html: Give examples for handling non-ASCII
        characters in RewriteRule expressions.

2009-02-02  castaglia <castaglia>

        * doc/contrib/mod_rewrite.html: Clarify exactly what type of
        encoding is unescaped by mod_rewrite's unescape RewriteMap.

2009-02-02  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Added testcase
        for Bug#3169.

2009-02-02  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c: Bug#3169 - Multiple RewriteRules for
        the same RewriteCondition not processed properly.

2009-01-30  castaglia <castaglia>

        * contrib/mod_sql.c: Used the wrong pool when retrieving environment
        variables; when handling %{env} tags in a SQLUserWhereClause, this
        would cause the environment variable to not be retrieved properly.

2009-01-30  castaglia <castaglia>

        * tests/api/pool.c: Fix a test that was failing due to a thinko.

2009-01-29  castaglia <castaglia>

        * include/options.h: The changes for Bug#2874 erroneously removed
        the PR_TUNABLE_XFER_BUFFER_SIZE macro.  The transfer buffer sizes
        are now determined at runtime, but we still need a fallback (and
        some contrib modules still use this macro).

2009-01-28  castaglia <castaglia>

        * modules/mod_auth.c: Missed a few places in need of translation.

2009-01-28  castaglia <castaglia>

        * src/encode.c: If the conversion handles are invalid for some
        reason, don't cause segfaults by returning null; just return a dup
        of the input string, and log the error.

2009-01-27  castaglia <castaglia>

        * src/scoreboard.c: Missed a spot.

2009-01-27  castaglia <castaglia>

        * src/scoreboard.c: Cache the errno value when using pr_trace_msg(),
        since that function can change the errno value.

2009-01-26  castaglia <castaglia>

        * modules/mod_lang.c: When "UseEncoding off" is configured, *really*
        disable encoding.

2009-01-26  castaglia <castaglia>

        * doc/howto/TLS.html: Finally got around to adding more substance to
        the "TLS Debugging" section, including examples using openssl
        s_client and ssldump.  Very useful tools.  Added a FAQ about TLSCertificateChainFile, mostly for my own
        reference; it's a bit confusing as to when such a thing is useful.

2009-01-26  castaglia <castaglia>

        * contrib/mod_tls.c: Fix two minor issues in mod_tls: 1. The TLSCACertificateFile can contain multiple certificates to use
           when verifying client certs.  However, when requesting the client's
           cert and sending the list of acceptable client CAs, mod_tls was only
           using the *first* cert contained in the TLSCACertificateFile, rather
           than using *all* certs which might be in this file.  (Usually there
           is only one cert anyway, so this is not a huge problem.) 2. The list of acceptable client CAs, sent to the client when
           requesting the client's cert, is built up from TLSCACertificateFile
           and all of the certs in TLSCACertificatePath.  However, for some
           strange reason, if a TLSCertificateChainFile was configured, mod_tls
           was NOT sending the certs in TLSCACertificatePath.  (I suspect it
           was a misunderstanding on my part about the role that the
           certificate chain file plays in SSL/TLS; now I understand it.)

2009-01-25  jwm <jwm>

        * contrib/mod_ldap.c: mod_ldap bzr r62: * Retrieve all LDAP attributes when calling pr_ldap_user_lookup()
          since it will need various attributes (to perform home directory
          generation, for one). Thanks to Nikos Voutsinas
          <nvoutsin@noc.uoa.gr>.
        http://forums.proftpd.org/smf/index.php/topic,3562.0.html

2009-01-23  castaglia <castaglia>

        * include/version.h: Back to a CVS version.

2009-01-23  castaglia <castaglia>

        * ChangeLog: Updating ChangeLog for 1.3.2rc4.

2009-01-23  castaglia <castaglia>

        * NEWS, RELEASE_NOTES: Updating NEWS, release notes for 1.3.2rc4.

2009-01-23  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec, include/version.h: Preparing for
        1.3.2rc4.

2009-01-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Fixup some tests
        which were failing because the default config changed the value of
        AllowOverride.

2009-01-22  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Add some links for easier
        cross-referencing.

2009-01-22  castaglia <castaglia>

        * src/support.c: Make pr_gmtime() behave like pr_localtime() with
        regard to the use of the given memory pool.  Increase the buffer size used in pr_strtime(), just to be certain
        that we have enough room.

2009-01-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Add a test
        case for reproducing Bug#3164.  I think, however, that it is not
        really a bug -- as long as the admin configures mod_quotatab_sql
        properly.  Hmm.

2009-01-16  castaglia <castaglia>

        * RELEASE_NOTES: Mention the Compiling howto.

2009-01-16  castaglia <castaglia>

        * doc/howto/Compiling.html, doc/howto/index.html: Finally finished a
        howto on compiling proftpd.

2009-01-16  castaglia <castaglia>

        * INSTALL: Typos.

2009-01-14  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Typo.

2009-01-14  castaglia <castaglia>

        * src/main.c: Use "microsecs", as it is less confusing to admins.

2009-01-13  castaglia <castaglia>

        * src/main.c: Copy the signo of a terminating signal a little
        earlierin the handler.

2009-01-12  castaglia <castaglia>

        * doc/howto/Vhost.html: Add another vhost FAQ.

2009-01-12  castaglia <castaglia>

        * src/fsio.c: Add trace logging of any statvfs()/statfs() errors.

2009-01-09  castaglia <castaglia>

        * src/main.c: Log segfaults in the TraceLog using the 'signal'
        channel.

2009-01-08  castaglia <castaglia>

        * src/dirtree.c: Don't forget to append the "*" glob character after
        the path when that path is just "/".  This was an edge case we
        weren't handling.

2009-01-08  castaglia <castaglia>

        * contrib/mod_sql.c: Typo.

2009-01-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ctrls.pm: Add testcase
        showing that AuthOrder does not affect mod_ctrl's ability to
        honor/use system user names in controls ACLs.

2009-01-07  castaglia <castaglia>

        * src/auth.c: Rather than showing "(?)" whenever the uid2name or
        gid2name lookup for an ID fails, show the stringified numeric ID
        value instead.  This makes proftpd behave more like ls(1) et al.

2009-01-06  castaglia <castaglia>

        * src/auth.c: Typo.

2009-01-06  castaglia <castaglia>

        * contrib/mod_tls.c, tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: 
        Do not allow FTPS clients to send AUTH after they have already sent
        AUTH.  If clients wish to change the SSL/TLS session parameters,
        they need to either use the session renegotiation facilities within
        SSL/TLS, or disconnect and start a new session.  This is an
        allowable server behavior according to RFC2228.

2009-01-06  castaglia <castaglia>

        * doc/howto/Vhost.html: I realized that the Vhost howto didn't
        mention the "already in use" warning message, and should.

2009-01-05  castaglia <castaglia>

        * contrib/mod_ldap.c, contrib/mod_sql.c: Initialize the buffer that
        will be used to store the base64-encoded hash value, so that the
        ensuing strcmp(3) will work as expected (just making sure of this).

2009-01-04  castaglia <castaglia>

        * contrib/mod_ldap.c, contrib/mod_sql.c: The RATS code analysis tool
        correctly pointed out that the output buffer for OpenSSL's
        EVP_EncodeBlock() function needs to account for base64-encoding
        expansion.  Specifically, the output buffer should be 4/3 the size
        of the input buffer.  I played it safe, and made the output buffers
        twice the size of the input buffers.

2009-01-04  castaglia <castaglia>

        * contrib/mod_quotatab.c, contrib/mod_sql.c, contrib/mod_tls.c,
        modules/mod_delay.c, modules/mod_xfer.c, src/ctrls.c,
        src/proctitle.c: I ran proftpd through David Wheeler's flawfinder(1)
        script.  Based on that, I replaced the occurrences of sprintf(3)
        with snprintf(3), strcpy(3) with sstrncpy(), and strcat(3) with
        sstrcat().

2009-01-02  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: While
        investigating Bug#3160, I wrote a mod_rewrite unit test which turned
        out to be the regression test for Bug#3027 (as Bug#3160 turned out
        to be a duplicate of Bug#3027).  As such, that test should be added
        to the collection.

2009-01-02  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Added two MKD tests,
        one for directories with spaces in the name, and one for a
        UTF8-encoded directory name.

2008-12-31  castaglia <castaglia>

        * contrib/mod_tls.c: Remove unnecessary character.

2008-12-31  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c: Bug#3159 - mod_rewrite build fails
        due to missing mode argument in open(2) call.

2008-12-31  castaglia <castaglia>

        * modules/mod_xfer.c: Prevent a segfault due to aborted downloads in
        some cases by checking for a non-null session.d value before
        attempting to use it.  Aborting a download can cause that session.d
        value to become null in the middle of the download call stack.

2008-12-30  castaglia <castaglia>

        * doc/howto/NAT.html: Update NAT howto with ipf example.

2008-12-30  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: Since the mem_printf() function is only
        called when --enable-devel is used, guard the mem_printf()
        definition with the same macros (and avoid compiler warnings about
        the unused function).

2008-12-24  castaglia <castaglia>

        * modules/mod_lang.c, src/encode.c: When mod_lang uses the
        environment variables in a setlocale(3) call, it needs to reset the
        Encode API to use the possibly-changed encoding.

2008-12-23  castaglia <castaglia>

        * contrib/mod_tls.c: ERR_get_error() returns a long, not an int.
        Update tls_fatal_error() to take a long error code as a result.
        Also filter out ENOSYS errors on SSL_shutdown(); there's not much we
        can do about them anyway.

2008-12-23  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Add test verifying
        that mod_lang picks up and handles the LANG environment variable
        properly.

2008-12-23  castaglia <castaglia>

        * modules/mod_lang.c: The ANSI C standard says that every process
        starts out in the C locale, regardless of LANG and other environment
        variables.  To switch the process to using the locales specified by
        those environment variables, you need an explicit:   setlocale(LC_ALL, ""); call.  Make sure that mod_lang does this, prior to any other
        setlocale(3) calls.  Also, when using setlocale(3) to query for a
        locale, make a copy of the returned string, instead of just stashing
        the pointer.  The library may return a pointer whose value changes
        later, i.e. by subsequent setlocale(3) calls.

2008-12-23  castaglia <castaglia>

        * contrib/mod_tls.c: Actually mod_sftp_sql can't be used without
        mod_sftp, so having it on the list of OpenSSL-using modules is not
        really useful.

2008-12-23  castaglia <castaglia>

        * contrib/mod_tls.c: Add mod_sftp_sql to the list of OpenSSL-using
        modules.  Also log the OpenSSL error stack to the logs for a
        shutdown issue; it can help shed more light on a particular issue
        one user is seeing.

2008-12-22  castaglia <castaglia>

        * contrib/mod_tls.c: Explicit cast to quell compiler warnings about
        signedness differences.

2008-12-21  castaglia <castaglia>

        * src/encode.c: Try to reduce confusion when we didn't detect
        iconv() (no HAVE_ICONV), but we did detect <iconv.h>.

2008-12-21  castaglia <castaglia>

        * doc/howto/Quotas.html: Add FAQ about how mod_quotatab handles file
        overwrites/appends.

2008-12-21  castaglia <castaglia>

        * src/auth.c: The key comparators for the UID/GID cache tables need
        to return zero if the keys match, not 1.  Oops.

2008-12-21  castaglia <castaglia>

        * src/auth.c: Fixed the caching of UIDs and GIDs in tables in the
        Auth API; the keys were not being copied before stashing in the
        respective tables, which meant that the key comparisons were being
        done on stale pointers, and thus the cached values were never found.
        Also fixed the key comparators to be even more efficient (i.e. no
        need to use memcmp(3) for comparing values like uid_t, gid_t).

2008-12-21  castaglia <castaglia>

        * src/table.c: Fix some edge cases that could lead to segfaults.

2008-12-18  castaglia <castaglia>

        * src/dirtree.c: Make sure that the cmd_rec returned by
        pr_cmd_alloc() has an instantiated cmd->notes table.

2008-12-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Fix typos.

2008-12-17  castaglia <castaglia>

        * src/encode.c: Workaround buggy nl_langinfo(3) implementations
        which return "646" as a way of indicating "US-ASCII".  The former is
        not acceptable to iconv_open(3), but the latter is.  Go figure.

2008-12-17  castaglia <castaglia>

        * contrib/mod_quotatab.c: It's not necessarily safe to use equality
        comparisons with floats; better to use less-than/greater-than
        instead.

2008-12-17  castaglia <castaglia>

        * doc/howto/TLS.html: Add a FAQ about the OpenSSL header/library
        version mismatch warning.

2008-12-17  castaglia <castaglia>

        * NEWS, modules/mod_facl.c: Bug#3150 - mod_facl erroneously assumes
        no permissions, rather than all permissions, in some cases.

2008-12-17  castaglia <castaglia>

        * src/encode.c: Guard the set_supports_telnet_iac() function in
        HAVE_ICONV macros, as that is the only time when the function is
        called.  On systems which have the iconv.h header but NOT the iconv
        function() (though I think this is an autoconf issue), the compiler
        will warn about this function being declared but not used.

2008-12-17  castaglia <castaglia>

        * doc/contrib/mod_wrap2_file.html: Clean up the example
        mod_wrap2_file configs a little.

2008-12-16  castaglia <castaglia>

        * locale/Makefile.in: Use -f instead of -e when checking for .po/.mo
        files.  It's more exact and, better, it works properly in Solaris'
        sh(1).  (I'm still not sure why -e did not work as expected in
        Solaris' sh(1), though.)

2008-12-16  castaglia <castaglia>

        * src/log.c, src/trace.c: Quell some compiler warnings on Solaris by
        using explicit casts, and by explicitly encompassing the tertiary
        expressions for those casts.

2008-12-16  castaglia <castaglia>

        * src/dirtree.c: Forgot to handle the case, in build_dyn_config(),
        where the path was just "/".

2008-12-16  castaglia <castaglia>

        * src/dirtree.c: A better fix for build_dyn_config()'s sending of
        empty strings to dir_match_path(); the previous solution could
        easily lead to segfaults.

2008-12-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm: Add unit test for the
        handling of decimal point (i.e. unsupported precision) in an MFMT
        command.

2008-12-16  castaglia <castaglia>

        * modules/mod_facts.c: Make sure that we restore the original
        timestamp argument of an MFMT command if we have changed it.  This
        is necessary for any POST_CMD/LOG_CMD handlers which may want to log
        the full argument sent by the client.

2008-12-14  castaglia <castaglia>

        * doc/howto/Tracing.html: Mention the trick of disabling some of the
        default trace channels.

2008-12-14  castaglia <castaglia>

        * modules/mod_facts.c: Fix the response strings in some cases such
        that the original input parameter is reflected in the response
        message.  Make sure that if we change the value of a character in a
        string (say from ';' to '\0'), we change it back before returning.

2008-12-14  castaglia <castaglia>

        * doc/howto/Sendfile.html: Correct the grammar.

2008-12-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Directory/Lookups.pm: Add another
        test, one for a creating deep directory layout (with corresponding
        <Directory> sections).  Like the wide layout, this test fails,
        timing out during the login process.  But I wanted to get this
        checked in, for future research.

2008-12-13  castaglia <castaglia>

        * src/auth.c: Make a note for my future self, when researching slow
        logins with configs with many <Directory> sections, where the
        slowness occurs (and why).

2008-12-13  castaglia <castaglia>

        * src/dirtree.c: Add handling of signals in a potentially
        long-running while loop (especially if recursion is requested).

2008-12-13  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3149 - Bad
        handling of %p, %V, and %v variables in mod_sql.

2008-12-12  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Fix the text for better legibility.

2008-12-12  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Mention that the
        SQL{Group,User}WhereClause directives support the same variables as
        SQLNamedQuery.

2008-12-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Added test
        for the SQLUserWhereClause directive.

2008-12-12  castaglia <castaglia>

        * contrib/mod_tls.c: The SSL_library_init() function registers SSL
        algorithms, but we might want to deal with other algorithms (as when
        dealing with PKCS#12 files).  Thus we need to
        OpenSSL_add_all_algorithms() to get the remaining algorithms
        registered.

2008-12-12  castaglia <castaglia>

        * tests/t/config/directory/lookups.t,
        tests/t/lib/ProFTPD/Tests/Config/Directory/Lookups.pm: Renamed the
        <Directory> lookups test code to Directory::Lookups.

2008-12-12  castaglia <castaglia>

        * tests/t/config/directory.t,
        tests/t/lib/ProFTPD/Tests/Config/Directory.pm: Starting a collection
        of cases that I'll be using for testing proftpd's <Directory> lookup
        code, particularly in the case of many (i.e. hundreds) of
        <Directory> sections and wide and/or deep directory layouts.  (I
        suspect there's quite a bit of lookup speed performance to be gained
        in this part of the code.)

2008-12-11  castaglia <castaglia>

        * src/dirtree.c: Add more commentary to build_dyn_config(), and add
        a paranoia check, in case we should be dealing with a path with
        absolutely no path separators.

2008-12-11  castaglia <castaglia>

        * src/dirtree.c: When build_dyn_config() is walking up the
        components of the given path (assuming the recurse flag is 'true'),
        it has a problem when it gets to "/".  Specifically, it will send
        the empty string to dir_match_path(), rather than "/".  Fix this
        case.

2008-12-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Fix Perl
        warnings about redeclared variables.

2008-12-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm,
        tests/t/lib/ProFTPD/Tests/Config/FTPAccess/DELE.pm,
        tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Disable handling
        of .ftpaccess files by default in the testsuite; those tests which
        handle .ftpaccess files need to use "AllowOverride on" explicitly in
        their configs.

2008-12-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Update the
        code here.  (By the way, it looks like Bug#2677 may still be present
        in the code, and fixing it involves a fair amount of code change.)

2008-12-11  castaglia <castaglia>

        * modules/mod_core.c: Style cleanups in the <Directory> config
        handler.

2008-12-11  castaglia <castaglia>

        * modules/mod_lang.c: Correct a few more LANG issues (mostly dealing
        with transformations of hyphens to underscores, population of the
        current and default languages everywhere, etc).

2008-12-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Quell some
        Perl warnings about redeclared variables.

2008-12-11  castaglia <castaglia>

        * modules/mod_lang.c: Stupid thinko: If "OPTS UTF8 on" is sent, do
        not disable encoding by the FS functions.

2008-12-11  castaglia <castaglia>

        * modules/mod_lang.c: Fix some of the problems found in mod_lang
        using the testsuite.

2008-12-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm,
        tests/t/modules/mod_lang.t, tests/tests.pl: Added tests for the
        commands provided by mod_lang.  This involved adding the lang() and
        opts() methods to the testsuite FTP class, and in fixing up the FEAT
        tests.

2008-12-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm: Make sure that the
        FEAT test can handle subtle differences in the underlying
        iconv/setlocale implementations.

2008-12-11  castaglia <castaglia>

        * modules/mod_core.c: Stylistic nit cleanup.

2008-12-11  castaglia <castaglia>

        * modules/mod_delay.c: Clean up some stylistic nits in mod_delay.

2008-12-11  castaglia <castaglia>

        * modules/mod_core.c, src/main.c: Fixed a bug with the handling of
        RLimitMemory: any 'hard' memory limits were not actually being set.  Set session resource limits _before_ module session init, not after.
        This means that session resource limits will apply to the modules
        during session init (as they should).  Favor RLIMIT_DATA over RLIMIT_AS.

2008-12-10  castaglia <castaglia>

        * doc/howto/Directory.html: Add another FAQ for the Directory howto,
        covering preventing a directory from being renamed.

2008-12-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Some cases
        where directory/file renaming works (as expected) or is denied (as
        expected).

2008-12-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Add a couple of
        test cases for HideFiles, using the per-user parameters.

2008-12-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_unique_id.pm,
        tests/t/modules/mod_unique_id.t, tests/tests.pl: Added test for the
        mod_unique_id module.

2008-12-10  castaglia <castaglia>

        * doc/howto/Chroot.html: Add FAQ about DefaultRoot and NFS mounts.

2008-12-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/GroupOwner.pm,
        tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm: Switch these tests to
        use the new 'norootprivs' test class, rather than having the tests
        do that check themselves.

2008-12-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add a 'norootprivs' test
        class, similar to the 'rootprivs' test class: any test marked as a
        'norootprivs' class will be skipped if the testsuite is being run
        with root privs.

2008-12-10  castaglia <castaglia>

        * tests/t/config/order.t,
        tests/t/lib/ProFTPD/Tests/Config/Order.pm, tests/tests.pl: Added
        tests for the Order directive.

2008-12-10  castaglia <castaglia>

        * tests/t/config/storeuniqueprefix.t,
        tests/t/lib/ProFTPD/Tests/Config/StoreUniquePrefix.pm,
        tests/tests.pl: Added test for the StoreUniquePrefix directive.

2008-12-10  castaglia <castaglia>

        * doc/howto/Scoreboard.html: Mention the "ScoreboardFile /dev/null"
        trick.

2008-12-10  castaglia <castaglia>

        * tests/t/config/deleteabortedstores.t,
        tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm,
        tests/tests.pl: Added test for the DeleteAbortedStores directive.

2008-12-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Remove debugging
        cruft.

2008-12-10  castaglia <castaglia>

        * tests/t/config/hiddenstores.t,
        tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm,
        tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm, tests/tests.pl: 
        Added unit test for the HiddenStores functionality.  Added more
        <Limit> cases.

2008-12-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ctrls.pm,
        tests/t/modules/mod_ctrls.t, tests/tests.pl: Start on tests for
        mod_ctrls.

2008-12-10  castaglia <castaglia>

        * contrib/mod_site_misc.c: Avoid descriptor leak by closing the
        directory descriptor before returning from site_misc_delete_dir().

2008-12-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm,
        tests/t/modules/mod_site_misc.t, tests/tests.pl: Added basic tests
        for the various SITE commands offered by mod_site_misc.

2008-12-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: Pass along any other
        arguments for custom SITE commands.

2008-12-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm, tests/tests.pl: With these
        changes, it is now possible to use this tests.pl script, and the
        ProFTPD testsuite library of Perl modules, to run tests for a
        third-party module.  For example:   # cd /path/to/mod_sftp/tests   # perl ~/path/to/proftpd/tests.pl t/modules/mod_sftp.t This will help (me, anyway) when developing new modules, without
        having to write the new module test code in the proftpd source tree.

2008-12-09  castaglia <castaglia>

        * modules/mod_core.c: Remove redundant "<Directory>:" in error
        message displayed when proftpd detects a duplicate <Directory>
        configuration.

2008-12-09  castaglia <castaglia>

        * doc/howto/Directory.html: Add FAQ about matching multiple
        <Directory> sections to the same path, and which section wins.

2008-12-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Regression
        tests for Bug#3147.

2008-12-09  castaglia <castaglia>

        * NEWS, modules/mod_core.c, src/dirtree.c: Bug#3147 -
        Comma-delimited commands in <Limit> sections not handled properly.

2008-12-09  castaglia <castaglia>

        * doc/howto/Tracing.html: Mention the "directory" log channel, added
        as part of the fix for Bug#3146.

2008-12-09  castaglia <castaglia>

        * tests/t/config/directory/limits.t,
        tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm,
        tests/tests.pl: Added regression tests for Bug#3146.

2008-12-09  castaglia <castaglia>

        * NEWS, src/dirtree.c: Bug#3146 - <Directory> paths using glob
        characters may not match as expected.

2008-12-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Add checks
        of the tally values for more of the upload quotatab tests.

2008-12-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Add
        function for checking on the current tally; need to use this in more
        of the existing tests, for ensuring the mod_quotatab is updating the
        tallies properly.

2008-12-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Added
        mod_quotatab_sql tests for uploads and the 'all' limit.

2008-12-09  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Added
        mod_quotatab_sql tests for uploads and class quota.

2008-12-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Added
        mod_quotatab_sql tests for uploads and group quota.

2008-12-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm,
        tests/t/modules/mod_quotatab_sql.t, tests/tests.pl: Start of some
        tests for mod_quotatab_sql; there are *many* more tests for this
        module to come.

2008-12-08  castaglia <castaglia>

        * tests/t/config/groupowner.t,
        tests/t/lib/ProFTPD/Tests/Config/GroupOwner.pm, tests/tests.pl: 
        Added tests for the GroupOwner directive.

2008-12-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Allow zero IDs in the
        AuthUserFile and AuthGroupFile files.

2008-12-08  castaglia <castaglia>

        * tests/t/config/userowner.t,
        tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm, tests/tests.pl: Added
        tests for the UserOwner directive.

2008-12-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: When writing out
        AuthUserFiles and AuthGroupFiles, append to any file which may
        already be present.  This allows for the writing of multiple entries
        in those files.

2008-12-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Handle arrayrefs within
        hashrefs properly when writing out the config.

2008-12-08  castaglia <castaglia>

        * src/main.c: When handling SIGABRT, shut down properly.  Also
        include the signal number (as it can vary across platforms) for each
        signal in the trace logging.

2008-12-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Signals/ABRT.pm,
        tests/t/lib/ProFTPD/Tests/Signals/SEGV.pm, tests/t/signals/abrt.t,
        tests/t/signals/segv.t, tests/tests.pl: Added unit tests for the
        handling of SIGABRT and SIGSEGV in the daemon process.

2008-12-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: Permit empty usernames,
        passwords (useful for certain tests).

2008-12-08  castaglia <castaglia>

        * doc/howto/TLS.html: Update the TLSProtocol example in light of
        Bug#3107.

2008-12-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MLST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/USER.pm,
        tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Cleaning up some test
        cases so that all pass when run as root, and that there are no Perl
        compiler warnings.

2008-12-08  castaglia <castaglia>

        * src/dirtree.c: Loosen the paranoid parameter sanity check in
        dir_hide_file() a little.

2008-12-08  castaglia <castaglia>

        * NEWS, modules/mod_ls.c, src/dirtree.c,
        tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Bug#2020 - HideFiles
        sometimes fails.  The accompanying unit tests prove that the fix
        works as intended.

2008-12-08  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Adding
        regression test for Bug#2461.

2008-12-08  castaglia <castaglia>

        * NEWS, locale/Makefile.in, locale/ru_RU.po: Bug#3065 - Russian
        translation for proftpd.

2008-12-08  castaglia <castaglia>

        * tests/t/config/directory/umask.t,
        tests/t/lib/ProFTPD/TestSuite/Utils.pm,
        tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm, tests/tests.pl: 
        Add regression tests/reproduction cases for Bug#2677.  This involved
        updating the config_write() function so that it can properly handled
        nested <Directory> and <Limit> sections.

2008-12-07  castaglia <castaglia>

        * doc/howto/Directory.html: Update the Directory howto to mention
        that <Directory> sections apply recursively (see Bug#2677).

2008-12-07  castaglia <castaglia>

        * tests/t/config/ftpaccess/dele.t,
        tests/t/lib/ProFTPD/Tests/Config/FTPAccess/DELE.pm, tests/tests.pl: 
        Add regression tests for Bug#2321.

2008-12-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: More
        refinements to the Bug#2038 regression tests, proving that the
        .ftpaccess file is being honored as intended.

2008-12-07  castaglia <castaglia>

        * tests/t/config/ftpaccess/retr.t,
        tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm, tests/tests.pl: 
        Added regression tests for Bug#2038, which doesn't seem to happen
        anymore.

2008-12-07  castaglia <castaglia>

        * contrib/mod_tls.c: Use a better context identifier for cached
        session IDs; the module name and version is much better than a
        simple "1" string.

2008-12-07  castaglia <castaglia>

        * tests/tests.pl: Add the mod_tls testcase to the testsuite.

2008-12-07  castaglia <castaglia>

        * tests/t/etc/modules/mod_tls/ca-cert.pem,
        tests/t/etc/modules/mod_tls/server-cert.pem,
        tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add the required CA
        and server certs for the mod_tls tests.  These certs are good for 5
        years.

2008-12-07  castaglia <castaglia>

        * doc/howto/TLS.html: Fix typos in TLS howto.

2008-12-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm,
        tests/t/modules/mod_tls.t: Start a collection of mod_tls tests.
        This doesn't really work just yet; I need to generate a proper cert
        for use by the testsuite.

2008-12-07  castaglia <castaglia>

        * doc/howto/CreateHome.html: Update the CreateHome howto with an
        example of the feature added by Bug#3040.

2008-12-07  castaglia <castaglia>

        * tests/t/config/createhome.t,
        tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm, tests/tests.pl: Add
        tests verifying the fix for Bug#3040; more CreateHome tests are
        needed.

2008-12-07  castaglia <castaglia>

        * NEWS, modules/mod_auth.c, src/mkhome.c: Bug#3040 - Support for
        CreateHome parent directories owned by user.

2008-12-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql.pm: Update the set_up(),
        tear_down() methods in this file.  Even though it's currently empty,
        I use it as a template for new module testcase files.

2008-12-07  castaglia <castaglia>

        * RELEASE_NOTES: Mention the Sendfile, Rewrite howtos in the release
        notes.

2008-12-07  castaglia <castaglia>

        * doc/howto/Rewrite.html: Remove extraneous header.

2008-12-07  castaglia <castaglia>

        * doc/howto/Rewrite.html: Make the URLs in the doc be relative to
        the rest of the docs.

2008-12-07  castaglia <castaglia>

        * doc/howto/Rewrite.html, doc/howto/index.html: Adding a rewrite
        howto to the collection.

2008-12-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm,
        tests/t/logging/transferlog.t, tests/tests.pl: Added unit tests for
        the TransferLog format.

2008-12-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/Limit/XMKD.pm: Added more test
        cases to try to reproduce Bug#3138, to no avail.  Still useful to
        have these use cases in the testsuite.

2008-12-04  castaglia <castaglia>

        * NEWS, contrib/mod_dynmasq.c: Bug#3144 - mod_dynmasq returns same
        IP address, even though actual IP address has changed.

2008-12-04  castaglia <castaglia>

        * src/inet.c: After closing a connection, make sure the various
        fields are reset to NULL/-1 as appropriate.

2008-12-04  castaglia <castaglia>

        * modules/mod_core.c: Add a little bit of logging for the MKD/XMKD
        command, when it is denied because of a <Limit> config.  Also cache
        an errno value, so that the actual error reason is properly logged.

2008-12-04  castaglia <castaglia>

        * doc/howto/Directory.html: Update the Directory howto with the tip
        about using a <Directory> section to refer to a specific file,
        rather than just to a directory (Bug#3140).

2008-12-04  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm,
        tests/t/lib/ProFTPD/Tests/Config/Limit/XMKD.pm: Add more <Limit>
        test cases from the Bug#3138 investigation.  This involved adding
        support for <Class> sections in the testcase config files.

2008-12-03  castaglia <castaglia>

        * modules/mod_xfer.c: Cache the errno value for an aborted download,
        so that it can be reported properly.  This came out of investigating
        the cause for Bug#3143.

2008-12-03  castaglia <castaglia>

        * tests/t/commands/mff.t, tests/t/commands/mfmt.t,
        tests/t/lib/ProFTPD/Tests/Commands/MFF.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm, tests/tests.pl: Add some
        tests (not exhaustive) for the MFMT and MFF commands.

2008-12-03  castaglia <castaglia>

        * NEWS, modules/mod_facts.c: Bug#3142 - "Invalid number of arguments
        MFMT" due to spaces in path argument.

2008-12-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Support use of <Limit>
        sections in the testcase config files.

2008-12-03  castaglia <castaglia>

        * tests/t/config/limit/xmkd.t,
        tests/t/lib/ProFTPD/Tests/Config/Limit/XMKD.pm, tests/tests.pl: 
        Begin the collection of unit tests for various <Limit>
        configurations.

2008-12-03  castaglia <castaglia>

        * doc/modules/mod_facts.html: Updated URL to Draft for MFF/MFMT
        commands.

2008-12-03  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
        tests/t/logging/extendedlog.t, tests/tests.pl: Add regression tests
        for Bug#3137.

2008-12-03  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c, src/data.c: Bug#3137 - ProFTPD does not
        log filename %f for uploaded files.

2008-11-26  castaglia <castaglia>

        * tests/t/commands/mlsd.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm, tests/tests.pl: Adding
        tests for the MLSD command.

2008-11-26  castaglia <castaglia>

        * modules/mod_facts.c: Be able to distinguish failure responses for
        MLSD for using globs, versus something to do with the file itself
        (e.g. permissions, existence, etc).

2008-11-25  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: Add the methods for the
        MLSD, MLST, MFF, MFMT commands.

2008-11-25  castaglia <castaglia>

        * tests/t/commands/mlst.t,
        tests/t/lib/ProFTPD/Tests/Commands/MLST.pm, tests/tests.pl: Adding
        tests for the MLST command.

2008-11-24  castaglia <castaglia>

        * tests/t/config/maxinstances.t,
        tests/t/lib/ProFTPD/TestSuite/Utils.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxInstances.pm, tests/tests.pl: 
        Added test for the MaxInstances directive.

2008-11-22  castaglia <castaglia>

        * modules/mod_lang.c: Make sure that, if no languages are explicitly
        configured, at least the default one (obtained via environment
        variables) is listed properly in the FEAT response.

2008-11-22  castaglia <castaglia>

        * src/fsio.c: Add signal handling in the potentially long-running
        while loops of the filesystem path resolution functions.

2008-11-22  castaglia <castaglia>

        * NEWS, contrib/mod_ratio.c: Bug#1636 - GroupRatio does not check
        user's supplemental group membership.

2008-11-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm,
        tests/t/modules/mod_rewrite.t, tests/tests.pl: Added some unit tests
        for the mod_rewrite module.  There will be many more to come for
        this module.

2008-11-22  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c: Bug#2915 - mod_rewrite does not work
        well for SITE commands.

2008-11-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: Add a site() method, for
        sending arbitrary SITE commands.

2008-11-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add some nice features to
        the testsuite.  First, configs can be defined using arrayrefs, in
        addition to hashrefs, so that the ordering of config directives in
        the test config file can be detected (important in some cases).
        Second, the location of the `proftpd' being tested can be defined
        using the PROFTPD_TEST_BIN environment variable; useful (though not
        necessarily recommended) if you want to run the testsuite using an
        existing proftpd.

2008-11-22  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Signals/HUP.pm,
        tests/t/lib/ProFTPD/Tests/Signals/TERM.pm, tests/t/signals/hup.t,
        tests/tests.pl: Add unit tests for the HUP signal, at least for the
        daemon process.

2008-11-22  castaglia <castaglia>

        * doc/howto/Sendfile.html, doc/howto/index.html: Adding doc covering
        sendfile and its issues.

2008-11-21  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#2045 -
        SQLShowInfo should not be displayed when query returns no data.

2008-11-20  castaglia <castaglia>

        * include/version.h: Updating version for CVS.

2008-11-20  castaglia <castaglia>

        * ChangeLog: Updated ChangeLog.

2008-11-20  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
        for RC3 release.

2008-11-20  castaglia <castaglia>

        * RELEASE_NOTES: Updating release notes, preparing for release.

2008-11-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: Use the two-argument form of
        the Net::FTP constructor -- it works better with older Perls.

2008-11-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm,
        tests/t/lib/ProFTPD/Tests/Signals/TERM.pm: Get rid of a few places
        where we needed to use sleep() to delay between server shutdown and
        server startup, in order to make sure that the new server's PidFile
        and ScoreboardFile weren't deleted by the previous server while it
        was shutting down.  Instead, the server_stop() function will not
        return until it sees that the PidFile has been deleted.

2008-11-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm, tests/tests.pl: 
        Retrofit the module-specific unit tests to use test-specific scratch
        directories.  That should be all of the existing tests.

2008-11-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Quell Perl warnings
        about redeclared variables.

2008-11-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RETR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STOR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STOU.pm,
        tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm,
        tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm,
        tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm,
        tests/t/lib/ProFTPD/Tests/Config/RequireValidShell.pm,
        tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutLogin.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutNoTransfer.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutSession.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutStalled.pm,
        tests/t/lib/ProFTPD/Tests/Config/UseFtpUsers.pm,
        tests/t/lib/ProFTPD/Tests/Logins.pm,
        tests/t/lib/ProFTPD/Tests/Signals/TERM.pm: Retrofitted more of the
        testsuite to use more individualized per-test scratch directories.

2008-11-20  castaglia <castaglia>

        * contrib/mod_ban.c: Minor nits and improvements to mod_ban; no real
        functional changes.

2008-11-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
        tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm,
        tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/HELP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PASS.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PORT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/REST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm,
        tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STRU.pm,
        tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/USER.pm,
        tests/t/lib/ProFTPD/Tests/Logins.pm: Update some (but not all, yet)
        of the tests to use the new scratch directory function.  Will need
        to finish the rest later tonight.

2008-11-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm,
        tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: By fixing the daemon
        shutdown bug, I introduced some race conditions into the unit tests.
        Each unit test would use the same 'tmp/' directory; and sometimes
        the next test would have started (and used the same path for
        PidFile, ScoreboardFile) before the server may have removed those
        files.  To address this, each unit test will get its own unique scratch
        directory whose name will include the PID and a counter.  This will
        require retrofitting most of the existing tests, but is cleaner in
        the long run.

2008-11-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Signals/TERM.pm: Slight tweak to the
        shutdown test, to ensure that the server has enough time between
        startup and shutdown to write out the appropriate files.

2008-11-19  castaglia <castaglia>

        * NEWS, src/data.c: Bug#3135 - Aborting a download can lead to
        segfault in some cases.

2008-11-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm,
        tests/t/modules/mod_ban.t, tests/tests.pl: Added start of unit tests
        for the mod_ban module.

2008-11-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: Provide a function for
        obtaining the reason, given by the server, why the initial
        connection might be denied.

2008-11-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Signals/TERM.pm,
        tests/t/signals/term.t, tests/tests.pl: Add a test for the SIGTERM
        signal handling of the daemon process, to ensure that the shutdown
        procedures (PidFile removal, ScoreboardFile removal) are indeed
        happening properly.

2008-11-19  castaglia <castaglia>

        * src/main.c: While working on unit tests for mod_ban, I noticed
        that mod_ban's shared memory segments were not being cleaned up.  I
        tracked it down to the fact that the check to see if you're the
        "master" process (assuming a ServerType of 'standalone') was
        failing, because the cached "master PID" value was for the process
        _prior to daemonizing_.  I suspect that many shutdown cleanups, such
        as PidFile removal and such, have not been happening for a while.

2008-11-19  castaglia <castaglia>

        * configure: Updated configure.

2008-11-19  castaglia <castaglia>

        * Make.rules.in, Makefile.in, configure.in, locale/Makefile.in: 
        Properly honor the --localedir configure option.

2008-11-19  castaglia <castaglia>

        * src/encode.c: Comment typo.

2008-11-18  castaglia <castaglia>

        * src/encode.c: Check in some of the fixes found while investigating
        Bug#3134, particularly ones which can cause segfaults (e.g. on
        FreeBSD) when an iconv_t handle is closed multiple times
        erroneously.

2008-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Be sure to clean up
        the generated log file.

2008-11-17  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm, tests/tests.pl: After
        all the work done on Bug#3131, these ABOR unit tests should
        definitely be checked in and added to the testsuite.

2008-11-17  castaglia <castaglia>

        * NEWS: Remove duplicate bug entry.

2008-11-17  castaglia <castaglia>

        * tests/tests.pl: Don't add the 'testsuite_empty_test' to the list
        of files, if that is what is returned by filtering for feature-based
        test files.

2008-11-17  castaglia <castaglia>

        * src/netio.c: Fix uploads; it had been inadvertently broken when
        trace logging of EOF was added.  The testsuite caught this
        regression; the testsuite is coming in handy!

2008-11-16  castaglia <castaglia>

        * NEWS, src/main.c: Bug#3073 - Command arguments not decoded
        properly in some places.

2008-11-15  castaglia <castaglia>

        * configure: Updated configure.

2008-11-15  castaglia <castaglia>

        * RELEASE_NOTES: Mention the change in TimeoutLinger default value
        in the release notes.

2008-11-15  castaglia <castaglia>

        * configure.in, include/options.h: Change the default linger timeout
        from 1.5 minutes (180 secs) to 30 secs.  Many command-line FTP
        clients have a timeout of 60 secs, after which they think the server
        has timed out, and will close the control connection.  We want to
        make sure that proftpd's lingering closes do not linger past that 60
        secs mark.

2008-11-15  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm: Make sure the EPRT tests
        are sensitive to whether the built proftpd supports IPv6.  Did the
        same for the EPSV tests, and added more tests for the optional EPSV
        arguments.

2008-11-15  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: Allow the epsv() method to
        take an optional protocol number, as allowed in the EPSV command.

2008-11-15  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: Apply the same Net::FTP
        internals muck to the epsv() and eprt() methods as used in the
        pasv() and port() methods.

2008-11-15  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Quell Perl warning about
        redeclared variable.

2008-11-15  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: Make the pasv() and port()
        methods actually cause the client to use passive and active data
        transfers, respectively, rather than having to rely on a
        constructor-time setting.  Yuck.

2008-11-15  castaglia <castaglia>

        * NEWS, src/data.c, src/netio.c: Bug#3131 - Session process uses
        100% CPU after aborted transfer.

2008-11-14  castaglia <castaglia>

        * tests/Makefile.in: Fix typo.

2008-11-14  castaglia <castaglia>

        * modules/mod_lang.c: When calling setlocale(3) to get the LANG to
        advertise in the FEAT response, use LC_MESSAGES rather than LC_ALL;
        the latter can result in a string which includes the locales for
        every category when we just want the LC_MESSAGES category.

2008-11-14  castaglia <castaglia>

        * NEWS, src/main.c: Bug#3132 - Handling of SIGABRT signal leads to
        endless loop.

2008-11-14  castaglia <castaglia>

        * src/main.c, src/netio.c: Add trace logging of the handling of EOF,
        i.e. when a client closes (or shuts down) its control connection,
        causing proftpd to close that connection.  Also make the implementation of the poll callback a little nicer;
        rather than calling select(2) on an empty fd_set, pass NULL if that
        fd_set is empty.

2008-11-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Fix the feature-checking
        code so that tests using a "feature_X" class are properly handled.

2008-11-13  castaglia <castaglia>

        * tests/t/commands/abor.t,
        tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Check in some of the
        in-progress unit tests on the ABOR command (being driven by
        investigations for Bug#3131).  The tests are not part of the full
        testsuite yet.

2008-11-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm,
        tests/t/modules/mod_wrap2_sql.t, tests/tests.pl: Added unit tests
        for mod_wrap2_sql.

2008-11-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
        tests/t/modules/mod_wrap2_file.t, tests/tests.pl: Add unit tests for
        mod_wrap2_file.

2008-11-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add routine for checking
        the enabled features in the proftpd build.  Use this for disabling
        IPv6 support in the unit tests, if IPv6 support is enabled, unless
        explicitly requested otherwise in the test.

2008-11-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
        tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm,
        tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/HELP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PASS.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PORT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/REST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STRU.pm,
        tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/USER.pm,
        tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm,
        tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm,
        tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm,
        tests/t/lib/ProFTPD/Tests/Logins.pm: Remove unnecessary import of
        module-related functions.

2008-11-11  castaglia <castaglia>

        * contrib/mod_wrap2/mod_wrap2.c: Fix bug, found by unit tests, with
        evaluation of conditions for applying WrapGroupTables directive.
        The logic was incorrectly inverted.

2008-11-10  castaglia <castaglia>

        * tests/tests.pl: If there are no additional feature/module-specific
        test files to add, then don't add them, not even the
        'testsuite_empty_test' stub test.

2008-11-10  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm: Quell Perl
        compiler warnings about re-declared variables.

2008-11-08  castaglia <castaglia>

        * tests/t/config/maxretrievefilesize.t,
        tests/t/config/maxstorefilesize.t,
        tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
        tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm,
        tests/tests.pl: Added unit tests for the MaxRetrieveFileSize and
        MaxStoreFileSize directives.

2008-11-08  castaglia <castaglia>

        * tests/t/config/requirevalidshell.t, tests/t/config/useftpusers.t,
        tests/t/lib/ProFTPD/Tests/Config/RequireValidShell.pm,
        tests/t/lib/ProFTPD/Tests/Config/UseFtpUsers.pm, tests/tests.pl: 
        Added unit tests for the RequireValidShell and UseFtpUsers
        directives.

2008-11-08  castaglia <castaglia>

        * tests/t/config/timeoutidle.t, tests/t/config/timeoutlogin.t,
        tests/t/config/timeoutnotransfer.t,
        tests/t/config/timeoutsession.t, tests/t/config/timeoutstalled.t,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutLogin.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutNoTransfer.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutSession.pm,
        tests/t/lib/ProFTPD/Tests/Config/TimeoutStalled.pm, tests/tests.pl: 
        Added unit tests for the various Timeout directives.

2008-11-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Minor adjustment to
        make a RETR test pass; the File::Spec::rel2abs() Perl function can
        take *a lot* longer to run, than expected, in some cases.  Not sure
        why yet.

2008-11-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: The STOU tests now
        pass when run both as root and as non-root.

2008-11-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Update the STOR tests
        to pass when run as root and as non-root.

2008-11-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Make sure the RNTO
        tests pass when run as root and as non-root.

2008-11-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/RMD.pm: Adjust the RMD tests to
        pass when run as root and as non-root.

2008-11-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Make the RETR tests
        pass when run as both root and non-root.

2008-11-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Update the NLST tests
        to pass when run as root and as non-root.

2008-11-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Adjust the MKD tests so
        that using root and non-root users work, and the tests pass.

2008-11-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adjust the LIST tests
        so that they pass when run both as root and as non-root.

2008-11-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/DELE.pm: Rework the DELE unit
        tests so that they pass when run both as root and as non-root.

2008-11-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/APPE.pm: Rework the APPE tests
        so that they always pass, whether run as root or not.

2008-11-07  castaglia <castaglia>

        * doc/howto/Testing.html: Mention that some integration tests are
        skipped if not run with root privs.

2008-11-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add a
        regression test for Bug#2922.

2008-11-07  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/TestSuite/Utils.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm,
        tests/t/modules/mod_sql_sqlite.t: Adding some regressions tests for
        Bugs #3116, #3124, and #3126.

2008-11-06  castaglia <castaglia>

        * NEWS, src/dirtree.c: Bug#3130 - HideFiles can cause segfault.

2008-11-06  castaglia <castaglia>

        * tests/t/config/hidefiles.t,
        tests/t/lib/ProFTPD/TestSuite/Utils.pm,
        tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm, tests/tests.pl: Added
        unit test for reproducing Bug#3130 (and preventing regressions).

2008-11-06  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql.pm,
        tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm,
        tests/t/modules/mod_sql.t, tests/t/modules/mod_sql_sqlite.t,
        tests/tests.pl: Make the tests.pl script "interrogate" the compiled
        proftpd, and start adding tests based on the compiled features (e.g.
        modules included, features enabled, etc).  Add stub module files for mod_sql and mod_sql_sqlite; these will be
        the first module-specific test files; they will be
        demonstrations/examples for creating test files for other modules.

2008-11-06  castaglia <castaglia>

        * doc/howto/Testing.html: Update the Testing howto to reflect
        changes made to the 'make check' target.

2008-11-06  castaglia <castaglia>

        * tests/.cvsignore, tests/Makefile.in,
        tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: Run the integration
        tests after the API tests, as part of the 'make check' target.  Fix some Perl warnings in the STOU tests.  Make sure that the cvs
        commands ignore all generated log files (e.g. cvs diff won't
        complain about unknown .log files).

2008-11-06  castaglia <castaglia>

        * doc/howto/index.html: Add a link to the Testing howto in the howto
        index.

2008-11-06  castaglia <castaglia>

        * doc/howto/Testing.html: The Testing howto is now in a mostly
        usable form.

2008-11-06  castaglia <castaglia>

        * modules/mod_xfer.c, src/data.c: Fix a problem with the handling of
        STOU.  This problem was detected by the testsuite, as it should.

2008-11-06  castaglia <castaglia>

        * tests/api/tests.c: Make sure that the testsuite log name is kept
        in sync with what is displayed in the error message.

2008-11-03  castaglia <castaglia>

        * contrib/mod_sql_sqlite.c: Explain why sqlite3_shutdown() is not
        called when the mod_sql_sqlite module is being unloaded.

2008-11-03  castaglia <castaglia>

        * contrib/mod_sql_sqlite.c: Stylistic nits; no functional change.

2008-11-03  castaglia <castaglia>

        * NEWS, contrib/mod_sql_sqlite.c: Bug#3126 - Segfault in
        mod_sql_sqlite when user belongs to multiple groups.

2008-10-31  castaglia <castaglia>

        * NEWS, contrib/mod_ldap.c, contrib/mod_sql.c, src/log.c: Bug#2767 -
        gcc 4.0/amd64 warnings.

2008-10-31  castaglia <castaglia>

        * NEWS, include/fsio.h, src/fsio.c: Bug#3092 - FSIO API needs
        mechanism for allowing registered FS handlers to permit atomic
        renames.

2008-10-30  castaglia <castaglia>

        * modules/mod_xfer.c, src/data.c: Turns out that not _all_ data
        connections are allocated from session.xfer.p; some are allocated
        from session.pool.  The previous changes had inadvertently broken
        passive data transfers.  For passive data transfers, then, use
        session.pool for allocating the connection object (session.d),
        rather than session.xfer.p; thus making consistent the pool that is
        used for allocating session.d.  Also clean up some of the error responses for failed uploads; they
        might have referenced NULL pointers, which would subsequently cause
        segfaults/crashes on platforms whose printf(3) functions don't
        handle the case well.

2008-10-29  castaglia <castaglia>

        * RELEASE_NOTES: Start prepping the RC3 release notes.

2008-10-28  castaglia <castaglia>

        * contrib/mod_sql.c: Add a comment about why the nested
        sql_prepare_where() function calls are the way they are (to prevent
        future developers from regressing Bug#3124).

2008-10-28  castaglia <castaglia>

        * include/data.h, modules/mod_xfer.c, src/data.c: Improve on the fix
        for Bug#3089 by creating a new function specifically to clear the
        session.xfer.p pool and any associated structures; this function
        refactors all of the associated code into a single location.

2008-10-28  castaglia <castaglia>

        * doc/howto/Testing.html: Adding slightly more substance to the
        Testing howto; hopefully I can muster the motivation to finish it
        later tonight.

2008-10-28  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c, src/data.c, src/inet.c: Bug#3089 -
        Memory pool double-free on session exit after aborted data transfer.

2008-10-28  castaglia <castaglia>

        * include/inet.h, src/inet.c: Remove the pr_inet_associate()
        function; nothing was using it.

2008-10-27  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#3124 - mod_sql improperly substitutes
        variables in user/group names.

2008-10-21  castaglia <castaglia>

        * configure: Updated configure.

2008-10-21  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, src/encode.c: Bug#3122: iconv()
        not detected properly on FreeBSD when --enable-nls is used.

2008-10-20  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/PASS.pm: Make sure that the
        PASS unit tests expected the proper response message.

2008-10-20  castaglia <castaglia>

        * include/glibc-glob.h: Fix compiler detection to deal with other
        compilers.

2008-10-20  castaglia <castaglia>

        * tests/t/config/maxloginattempts.t,
        tests/t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm,
        tests/tests.pl: Added unit tests for the MaxLoginAttempts directive.

2008-10-20  castaglia <castaglia>

        * locale/en_US.po, locale/it_IT.po, locale/proftpd.pot,
        locale/zh_CN.po: Removing redundant (and now absent) entry for
        "Login incorrect"; there is already a "Login incorrect." (note the
        period) entry.

2008-10-20  castaglia <castaglia>

        * contrib/mod_ban.c: Make mod_ban use the same "Login incorrect."
        string, including period, like the rest of mod_auth.
        Inconsistencies in responses constitute information leaks, albeit
        minor.

2008-10-19  castaglia <castaglia>

        * modules/mod_auth.c: Fixed failed login message to be consistent
        with other instances of the "Login incorrect" string.

2008-10-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PASV.pm: Make the regexes tigher
        for checking the expected EPSV and PASV responses.

2008-10-19  castaglia <castaglia>

        * tests/t/commands/eprt.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm, tests/tests.pl: Added
        tests for the EPRT command.

2008-10-19  castaglia <castaglia>

        * tests/t/commands/epsv.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm, tests/tests.pl: Added
        tests for the EPSV command.

2008-10-19  castaglia <castaglia>

        * tests/t/commands/feat.t, tests/t/commands/help.t,
        tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/HELP.pm, tests/tests.pl: Added
        tests for the FEAT and HELP commands.

2008-10-19  castaglia <castaglia>

        * tests/t/commands/pass.t, tests/t/commands/user.t,
        tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PASS.pm,
        tests/t/lib/ProFTPD/Tests/Commands/USER.pm, tests/tests.pl: Added
        tests for the USER and PASS commands.

2008-10-19  castaglia <castaglia>

        * tests/t/config/displaylogin.t,
        tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm, tests/tests.pl: 
        Added tests for the DisplayLogin directive.

2008-10-19  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm: Forgot to
        clean up a test file that's outside of the tmp/ directory.

2008-10-19  castaglia <castaglia>

        * tests/t/config/displayconnect.t,
        tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm, tests/tests.pl: 
        Added tests for the DisplayConnect directive.

2008-10-19  castaglia <castaglia>

        * tests/t/config/serverident.t,
        tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm, tests/tests.pl: 
        Added first unit tests for config directives; we're starting with
        ServerIdent.

2008-10-18  castaglia <castaglia>

        * tests/t/commands/appe.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/APPE.pm, tests/tests.pl: Added
        tests for the APPE command.

2008-10-18  castaglia <castaglia>

        * tests/t/commands/stou.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RETR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STOR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STOU.pm, tests/tests.pl: Added
        tests for the STOU command.  Cleaned up handling of FTP response
        messages.

2008-10-18  castaglia <castaglia>

        * tests/t/commands/stor.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STOR.pm, tests/tests.pl: Added
        some tests for the STOR command.

2008-10-18  castaglia <castaglia>

        * modules/mod_xfer.c: Preserve the error code for a failing to open
        the file to be uploaded; errno was being overwritten by subsequent
        function calls before being reported back to the client.

2008-10-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Remove copy-n-pasted
        code from the RETR tests, and make them work more reliably.

2008-10-18  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: Quell some annoying Perl
        warnings (coming from Net::Cmd and Net::FTP) by providing an
        initialized default value.  Makes running the testsuite using
        tests.pl much prettier.

2008-10-18  castaglia <castaglia>

        * tests/t/commands/retr.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RETR.pm, tests/tests.pl: Add some
        basic tests of the RETR command.

2008-10-17  castaglia <castaglia>

        * tests/t/commands/list.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/TestSuite/Utils.pm,
        tests/t/lib/ProFTPD/Tests/Commands/LIST.pm, tests/tests.pl: Start of
        tests for the LIST command; expect more in the future.

2008-10-17  castaglia <castaglia>

        * contrib/mod_wrap2/mod_wrap2.c: Fix Bug#3120 for the
        WrapGroupTables and WrapUserTables directives as well.

2008-10-17  castaglia <castaglia>

        * NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#3120 - WrapTables not
        allowed in <Anonymous> context.

2008-10-16  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
        tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PORT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
        tests/t/lib/ProFTPD/Tests/Commands/REST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STRU.pm,
        tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm,
        tests/t/lib/ProFTPD/Tests/Logins.pm: Updated tests to use
        server_wait().

2008-10-15  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/TestSuite/Utils.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Retrofit some of the
        test classes to use server_wait().  Fixed up some of the NLST tests
        (due to the vagaries of the Perl Net::FTP class).

2008-10-15  castaglia <castaglia>

        * configure: Updated configure.

2008-10-15  castaglia <castaglia>

        * NEWS, config.h.in, configure.in: Bug#3119 - Search for libcap2 in
        addition to libcap for mod_cap support.

2008-10-15  castaglia <castaglia>

        * doc/modules/mod_cap.html: Mention the fact that some Linux distros
        use a package name of "libcap2-dev" as well as (or instead of)
        "libcap2".

2008-10-14  castaglia <castaglia>

        * modules/mod_dso.c: Log, at debug level 7, when we are loading a
        module.  This message is symmetric with the similar message when a
        module is unloaded.

2008-10-14  castaglia <castaglia>

        * contrib/mod_ifsession.c: Fix compilation error.

2008-10-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Revert the response
        message check changes made earlier; the discrepancy was caused by
        stale source code, not by platform/version differences.

2008-10-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: As per the Net::FTP
        documentation, the use of PASV vs PORT is done at instantiation
        time, oddly enough.  Make sure this feature is exposed in the
        testsuite.

2008-10-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add a function that
        encapsulates the server-wait part of the tests, including a timeout.

2008-10-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Looks like some of the
        errno strings differ across platforms and versions.

2008-10-14  castaglia <castaglia>

        * tests/t/commands/nlst.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NLST.pm, tests/tests.pl: Added
        tests for NLST; still more tests to be added.

2008-10-14  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm: Make sure that lingering
        processes, if not killed properly, are timed out quickly.

2008-10-13  castaglia <castaglia>

        * tests/t/commands/rest.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/REST.pm, tests/tests.pl: Added
        tests for the REST command.

2008-10-13  castaglia <castaglia>

        * tests/t/commands/quit.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm, tests/tests.pl: Added
        test for the QUIT command.

2008-10-13  castaglia <castaglia>

        * tests/t/commands/rnfr.t, tests/t/commands/rnto.t,
        tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm, tests/tests.pl: Added
        tests for the RNFR, RNTO commands.

2008-10-13  castaglia <castaglia>

        * modules/mod_core.c: Preserve the actual errno value if the
        renaming fails; it was getting trounced in subsequent function
        calls.

2008-10-13  castaglia <castaglia>

        * tests/t/commands/noop.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm, tests/tests.pl: Added
        test for the NOOP command.

2008-10-13  castaglia <castaglia>

        * tests/t/commands/port.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PORT.pm, tests/tests.pl: Add
        tests for the PORT command.

2008-10-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm: Fixed regex matching of ALLO
        response code leading digit.

2008-10-13  castaglia <castaglia>

        * tests/t/commands/allo.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm, tests/tests.pl: Added
        test for the ALLO command.

2008-10-13  castaglia <castaglia>

        * tests/t/commands/stru.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/STRU.pm, tests/tests.pl: Added
        tests for the STRU command.

2008-10-13  castaglia <castaglia>

        * tests/t/commands/mode.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MODE.pm, tests/tests.pl: Add
        tests for the MODE command.

2008-10-13  castaglia <castaglia>

        * tests/t/commands/pasv.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PASV.pm, tests/tests.pl: Added
        tests for the PASV command.

2008-10-13  castaglia <castaglia>

        * tests/t/commands/cdup.t, tests/t/commands/cwd.t,
        tests/t/commands/dele.t, tests/t/commands/mdtm.t,
        tests/t/commands/mkd.t, tests/t/commands/pwd.t,
        tests/t/commands/rmd.t, tests/t/commands/size.t,
        tests/t/commands/syst.t, tests/t/commands/type.t,
        tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
        tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
        tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
        tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
        tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
        tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm, tests/tests.pl: Split
        the unit tests for FTP commands into separate files, one file per
        set of tests of a command.  The previous files were getting too
        large and unwieldy.

2008-10-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands.pm: Added tests for the TYPE,
        MDTM, and SIZE commands.

2008-10-13  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands.pm: Added tests for the DELE
        command.

2008-10-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands.pm,
        tests/t/lib/ProFTPD/Tests/Logins.pm: Added command test cases where
        failures (for different reasons) are expected.

2008-10-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands.pm: Added tests for the MKD,
        XMKD, RMD, and XRMD commands.

2008-10-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/TestSuite/Utils.pm,
        tests/t/lib/ProFTPD/Tests/Commands.pm,
        tests/t/lib/ProFTPD/Tests/Logins.pm: Added tests for CDUP, XCUP, and
        SYST commands.  Added better error messages (with location now) for
        failed assertions.  Fixed cases where failed login tests might allow
        the server to continue running.

2008-10-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/Tests/Commands.pm: Fixed use of assertions when
        checking response codes and messages.  Added tests for the XPWD, CWD, and XCWD commands.

2008-10-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/Tests/Commands.pm: Fix the PWD test so that it
        actually checks that the FTP response code and message are as
        expected, not just that they exist.

2008-10-12  castaglia <castaglia>

        * tests/t/commands.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/TestSuite/Utils.pm,
        tests/t/lib/ProFTPD/Tests/Commands.pm, tests/tests.pl: Start of test
        cases for the various FTP commands; PWD is simple, so it was first.  Also add support for writing AuthUserFiles and AuthGroupFiles; this
        makes it easier to log into the running proftpd without requiring
        root privs.

2008-10-12  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/TestSuite/Utils.pm: Fix the anonymous login unit
        test such that it passes (requires root privs).  Fix the FTP client
        wrapper so that it properly retrieves the FTP response code and
        message.  Update Utils so that the server identity (User/Group)
        retrieved are always non-root accounts.

2008-10-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Utils.pm,
        tests/t/lib/ProFTPD/Tests/Logins.pm: Fix the anonymous login test
        (it should fail, unless run with root privs).  Have defaults for the common config directives.  Exclude tests which
        require root privs unless we are being run with root privs.

2008-10-11  castaglia <castaglia>

        * tests/t/lib/ProFTPD/TestSuite/Child.pm,
        tests/t/lib/ProFTPD/TestSuite/FTP.pm,
        tests/t/lib/ProFTPD/TestSuite/Utils.pm,
        tests/t/lib/ProFTPD/Tests/Logins.pm, tests/t/logins.t,
        tests/tests.pl: Start of a collection of unit tests against a
        running proftpd server, using Perl.

2008-10-11  castaglia <castaglia>

        * modules/mod_facts.c: Fixed bug handling the MFMT command; found by
        a user in the online forums.

2008-10-08  castaglia <castaglia>

        * doc/howto/Translations.html, doc/howto/index.html: Adding a
        Translation mini-howto.

2008-10-07  castaglia <castaglia>

        * doc/modules/mod_lang.html: Typo.

2008-10-07  castaglia <castaglia>

        * tests/.cvsignore, tests/Makefile.in, tests/api/.cvsignore,
        tests/api/tests.c: Rename the executable used for testing the API
        (and the log file that executable generates) to be "api-tests", to
        differentiate it from the other tests I am working on.

2008-10-07  castaglia <castaglia>

        * tests/api/.cvsignore: Add .cvsignore file for the new tests/api/
        directory.

2008-10-07  castaglia <castaglia>

        * src/main.c: Need to use exit(), rather than end_login().
        Something about the latter makes it impossible to read stdout
        programmatically when using -vv.

2008-10-06  castaglia <castaglia>

        * modules/mod_auth_pam.c: Make mod_auth_pam reject the connection if
        it is unable to register itself as an auth-only module with the Auth
        API.  This check would have caught the Bug#2922 regression much
        earlier.  Ah, hindsight.

2008-10-06  castaglia <castaglia>

        * tests/Makefile.in, tests/api/array.c, tests/api/class.c,
        tests/api/env.c, tests/api/event.c, tests/api/expr.c,
        tests/api/feat.c, tests/api/modules.c, tests/api/netacl.c,
        tests/api/netaddr.c, tests/api/pool.c, tests/api/regexp.c,
        tests/api/scoreboard.c, tests/api/sets.c, tests/api/str.c,
        tests/api/stubs.c, tests/api/table.c, tests/api/tests.c,
        tests/api/tests.h, tests/api/timers.c, tests/api/var.c,
        tests/api/version.c: Moving the current API unit test source files
        into an api/ directory, to make room for a directory for integration
        unit tests (i.e. login tests, command tests, configuration tests,
        etc) which require an FTP client and a running proftpd.

2008-10-06  castaglia <castaglia>

        * NEWS, src/auth.c: Bug#3117 - Authentication improperly allowed
        (Bug#2922 regression).

2008-10-06  castaglia <castaglia>

        * contrib/mod_sql_sqlite.c: Add a header-vs-lib version check to
        mod_sql_sqlite, similar to the one that is in mod_tls.  Hopefully
        any discrepancies will get sysadmins to correct the software
        installations on their system.

2008-10-06  castaglia <castaglia>

        * contrib/mod_ldap.c: When mod_ldap is initialized, print out the
        LDAP vendor and LDAP API version.

2008-10-06  jwm <jwm>

        * contrib/mod_ldap.c: mod_ldap bzr r58:   typo

2008-10-06  jwm <jwm>

        * contrib/mod_ldap.c: mod_ldap bzr r57:   * Prevent the use of LDAPSearchScope or LDAPUseSSL when LDAPServer     specifies a URL. Instead, the desired search scope and SSL
            setting should be specified by the URL.  mod_ldap bzr r56:   - remove extraneous includes   - free the LDAPURLDesc in ldap_getconf(), since we don't attach it
            to the configuration directive any more

2008-10-06  castaglia <castaglia>

        * src/dirtree.c: Reduce the size of the pool allocated for
        config_recs; should reduce the memory footprint more without
        (hopefully) any adverse side effects.

2008-10-05  castaglia <castaglia>

        * modules/mod_auth_pam.c: Correct some of the terms in the trace
        messages from the PAM conversation callback.

2008-10-04  castaglia <castaglia>

        * modules/mod_auth_pam.c: Be less strict about AuthPAMOptions, and
        use case-insensitive checks.

2008-10-04  castaglia <castaglia>

        * modules/mod_core.c: Fix typo which made for a rather confusing
        comment.

2008-10-04  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#3116 - SQLNegativeCache with no group
        info can cause segfault.

2008-10-04  castaglia <castaglia>

        * src/main.c, src/netio.c: Apply a tag to the one unnamed subpool of
        permanent_pool.  Add comments about why that subpool (which isn't
        needed in the daemon process) is allocated.

2008-10-04  castaglia <castaglia>

        * src/class.c: Tag any pools allocated for class definitions.

2008-10-04  castaglia <castaglia>

        * src/pool.c: Fix the mechanism used to count the number of
        sub-pools in a pool; it was not recursing properly.

2008-10-04  castaglia <castaglia>

        * src/timers.c: It's high time the Timers API had its own memory
        pool, rather than using permanent_pool directly.

2008-10-04  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: Check in the control action which helps
        me to find pool use misbehaviors.  If proftpd is compiled using
        --enable-devel, and the mod_ctrs_admin module is used (which itself
        requires --enable-ctrls), then a 'debug memory' control action (via
        ftpdctl) is supported.

2008-10-04  castaglia <castaglia>

        * src/pool.c: Prettify, and update, the messages emitted when
        debugging pool usage.

2008-10-04  castaglia <castaglia>

        * src/main.c: Fix an egregious memory leak in the daemon process
        (but not in session processes).  On startup, proftpd would allocate
        a memory pool for the Netaddr API.  This pool was used, but never
        cleared.  And every restart would cause more allocations (for the
        netaddr objects used in the bindings) from this pool.  Thus a
        long-running proftpd, restarted occasionally (as is done for log
        rolling) would gradually leak quite a bit.  Slowly, to be sure, but
        noticeable for long-lived daemons.

2008-10-04  castaglia <castaglia>

        * src/modules.c: Reduce the size of the sub-pool used for symbols in
        the stash.  This reduces the memory footprint of the proftpd daemon
        process (and session processes) by quite a bit, given that there are
        quite a few symbols allocated.  Hopefully this won't cause any
        issues.

2008-10-04  castaglia <castaglia>

        * src/help.c: Minor label nit.

2008-10-04  castaglia <castaglia>

        * contrib/mod_sql.c: Allow the SQLEngine directive to be processed
        even if, for some reason, the user name config_rec can't be found.

2008-10-03  castaglia <castaglia>

        * doc/modules/mod_lang.html: Add a Usage section containing, for
        now, a description of the Cyrillic/Telnet issue, and how to use
        mod_lang to work around it.

2008-10-02  castaglia <castaglia>

        * modules/mod_auth.c: Minor change to test SourceForge's commit
        mail.

2008-10-02  castaglia <castaglia>

        * modules/mod_auth.c: Generate a few new events: one for when a root
        login is attempted, and one containing the authentication code
        value.  These events are added first for the use by mod_audit, a
        third-party module for auditing certain application events.

2008-10-01  castaglia <castaglia>

        * contrib/mod_tls.c: Minor tweaks to allow TLSPassPhraseProvider to
        work properly on Mac OSX.  Shouldn't harm anything.

2008-10-01  castaglia <castaglia>

        * contrib/mod_tls.c: When handling the exit event in the daemon
        process, the TLSLog is not open.  Thus use pr_log_pri() and
        pr_log_debug() rather than tls_log() there.

2008-09-30  castaglia <castaglia>

        * src/main.c, src/trace.c: Add trace logging of when the various
        signals are handled.  When handling a restart, be sure to close any open trace log fd.
        Also, to prevent issues with Solaris' stupid stdio fd limit of 256,
        make sure that the fallback fd used for the TraceLog is 255.

2008-09-30  castaglia <castaglia>

        * contrib/mod_dynmasq.c: Reduce the log verbosity of mod_dynmasq
        more, as per user request.

2008-09-29  castaglia <castaglia>

        * src/support.c: [no log message]

2008-09-29  castaglia <castaglia>

        * contrib/mod_dynmasq.c: Change the logging of mod_dynmasq slightly,
        so that it does not spam the system log with messages.

2008-09-26  castaglia <castaglia>

        * src/response.c: Add trace logging of the responses that are added,
        not just when the responses are flushed to the client.

2008-09-25  castaglia <castaglia>

        * src/main.c: Include the version status (e.g. "CVS", "devel",
        "stable") in the -V output, as well as the build timestamp.

2008-09-23  castaglia <castaglia>

        * INSTALL: Update the mailing list info in the INSTALL file.

2008-09-23  castaglia <castaglia>

        * tests/array.c: Add unit test for the clear_array() function added
        in 1.3.2rc2.

2008-09-20  castaglia <castaglia>

        * NEWS, src/main.c, src/netio.c: Bug#3115 - Cross-site request
        forgery.

2008-09-19  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#3114 - Bad handling of uid/gid
        parameters for CreateHome.

2008-09-17  castaglia <castaglia>

        * contrib/mod_sql.c: Quell a few more compiler warnings about
        signedness.

2008-09-17  castaglia <castaglia>

        * include/version.h: Bump to RC3 in CVS.

2008-09-17  castaglia <castaglia>

        * ChangeLog: Updated ChangeLog.

2008-09-17  castaglia <castaglia>

        * NEWS: Update release date in NEWS.

2008-09-17  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec, include/version.h: Preparing for
        the release of 1.3.2rc2.

2008-09-17  castaglia <castaglia>

        * RELEASE_NOTES: Update the release notes with the highlights of the
        upcoming RC2 release.

2008-09-12  castaglia <castaglia>

        * modules/mod_auth.c: Minor formatting nit; I prefer to have strings
        from clients (e.g. user names) enclosed in quotes.

2008-09-12  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#3112 - Uploaded files are not
        removed if close() fails.

2008-09-11  castaglia <castaglia>

        * contrib/mod_tls.c: Stir in some additional entropy, using the
        secret passphrases of certs as sources.

2008-09-11  castaglia <castaglia>

        * src/mkhome.c: When scanning a skel directory, there's no need to
        build up the full paths (and using memory from the pool) if we're
        going to skip those paths.

2008-09-11  castaglia <castaglia>

        * contrib/mod_ban.c: Turns out that Mac OSX has the same semantics,
        with regard to reuse of getopt(3), as FreeBSD.

2008-09-09  castaglia <castaglia>

        * modules/Makefile.in: Cycle through a single combined list of
        subdirectories in which to invoke the `install' target, rather than
        two separate lists.

2008-09-09  castaglia <castaglia>

        * doc/howto/DSO.html: Update the example Makefile in the DSO howto,
        since the `install' target may be called even if the module is built
        as a static module (i.e. no .la file produced).

2008-09-08  castaglia <castaglia>

        * src/data.c: With the fix for Bug#2920 comes the possibility that
        clients can send NOOP commands on the control connection, while a
        data transfer is occurring.  This would cause the data transfer
        initiating command recorded in the scoreboard to be overwritten with
        the NOOP command.  While technically correct, this is probably not
        what the admins want.  So make proftpd handle such commands
        politely, responding 200 to them, without actually dispatching the
        command through the handlers.

2008-09-08  castaglia <castaglia>

        * Makefile.in, contrib/mod_load/Makefile.in,
        contrib/mod_wrap2/Makefile.in, modules/Makefile.in: Make sure that
        the `install' target is called for static modules that are built in
        their own directories, just as is done for shared modules.

2008-09-08  castaglia <castaglia>

        * contrib/mod_tls.c: Avoid cleaning up OpenSSL state if mod_sftp is
        present as well.

2008-09-08  jwm <jwm>

        * contrib/mod_ldap.c: mod_ldap bzr r55:   high time for a 2.8.19 release

2008-09-08  jwm <jwm>

        * contrib/mod_ldap.c: mod_ldap bzr r54:   log message wording fix

2008-09-08  jwm <jwm>

        * contrib/mod_ldap.c: mod_ldap bzr r53: * Fixed missing ldap_init() -> ldap_initialize() when updating for
          latest LDAP C API. Fixes segfaults on (some?) 64-bit systems. (Bug
        #3046)

2008-09-08  castaglia <castaglia>

        * include/pool.h, src/pool.c: Add a clear_array() function, for
        clearing/resetting an array_header.

2008-09-08  castaglia <castaglia>

        * src/main.c: Try to give different sessions more different random
        seeds by multiplying the system time (was being used) with the PID.
        Bonus points for having the unsigned int value wrap around.

2008-09-07  castaglia <castaglia>

        * contrib/mod_tls.c: Refresh the builtin 2048-bit DH group.

2008-09-07  castaglia <castaglia>

        * contrib/mod_tls.c: Refresh the builtin DH groups in mod_tls.  Note
        that the 2048-bit DH group still needs to be updated.

2008-09-07  castaglia <castaglia>

        * src/main.c: Quell some compiler complaints about formatting.

2008-09-04  castaglia <castaglia>

        * src/encode.c: If the selected locale does not support the Telnet
        IAC character, be sure that the toggled setting is not overwritten.

2008-09-04  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#3109 - Errors with file uploads
        logged but not reported to clients.

2008-09-04  castaglia <castaglia>

        * src/parser.c: Get rid of small function that is only used in one
        place; simply move the code into the calling function.

2008-09-04  castaglia <castaglia>

        * src/inet.c, src/log.c, src/main.c, src/scoreboard.c, src/trace.c: 
        Change a few more places to using the cached session.pid, if
        available.

2008-09-03  castaglia <castaglia>

        * include/fsio.h, src/fsio.c: Remove the pr_find_fs() function; it
        was a bad idea.  Even if a caller could retrieve a registered FS
        object by name, that caller would not be able to do much with the
        FS.  The various callbacks are usually declared as static to the
        file defining them, which means that the caller probably won't have
        access to the memory addresses of the callbacks.

2008-09-03  castaglia <castaglia>

        * include/fsio.h, src/fsio.c: Add a pr_find_fs() function, for
        retrieving a registered FS object by name.

2008-09-02  castaglia <castaglia>

        * configure: Updated configure.

2008-09-02  castaglia <castaglia>

        * config.h.in, configure.in, modules/mod_ls.c: If the dirfd()
        function is available, use that instead of poking around the
        internals of a DIR structure.

2008-09-01  castaglia <castaglia>

        * include/proftpd.h, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_xfer.c, src/data.c, src/main.c, src/throttle.c: Make
        fewer getpid() system calls by caching the values (it's not going to
        change), and using the cached value for the
        pr_scoreboard_entry_update() calls.

2008-09-01  castaglia <castaglia>

        * doc/howto/DSO.html: Updated DSO howto with mention of prxs.

2008-09-01  castaglia <castaglia>

        * NEWS, doc/modules/mod_facts.html, modules/mod_facts.c: Bug#3108 -
        Support removing MLST from FEAT list.

2008-08-30  castaglia <castaglia>

        * contrib/mod_tls.c: Prettify some of the error messages emitted if
        the configuration is not correct.

2008-08-30  castaglia <castaglia>

        * contrib/mod_tls.c: Fix typos in fix for Bug#3107.

2008-08-30  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c, doc/contrib/mod_tls.html: Bug#3107 -
        TLSProtocol supports misleading "SSLv23" parameter.

2008-08-29  castaglia <castaglia>

        * Makefile.in: When installing prxs, do not ever attempt to strip
        it.  It is a Perl script, not a compiled binary, and strip(1) will
        complain about the file type.

2008-08-28  castaglia <castaglia>

        * configure: Updated configure.

2008-08-28  castaglia <castaglia>

        * include/data.h: Update copyright dates in just-modified header.

2008-08-28  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, include/data.h, src/data.c: 
        Bug#3106 - Add support for Mac OSX 10.5 sendfile.

2008-08-27  castaglia <castaglia>

        * locale/Makefile.in: Do not remove the .po files when cleaning the
        locale/ directory.

2008-08-27  jwm <jwm>

        * contrib/mod_ldap.c:   having to hand-edit mod_ldap.c to enable tls support is silly;
          switch based on LDAP_OPT_X_TLS, which is the best thing i've found
          given that i can't find an ldap sdk that support tls other than
          openldap (sun's doesn't; are there any other major players around?)

2008-08-27  jwm <jwm>

        * contrib/mod_ldap.c:   fix LDAPServer url handling by re-parsing the ldap url in each
          session rather than trying to keep track of the LDAPURLDesc struct   proftpd bug 3097

2008-08-27  jwm <jwm>

        * contrib/mod_ldap.c: use the configured ldap_port in "connected..."
        debug message, not LDAP_PORT

2008-08-27  jwm <jwm>

        * contrib/mod_ldap.c:   * Define LDAP_SCOPE_DEFAULT if not defined by the SDK, fixing
            compilation with (recent?) Sun LDAP headers.

2008-08-27  jwm <jwm>

        * contrib/mod_ldap.c:   * Fix compilation with old LDAP SDKs (LDAP_API_VERSION < 2000).
            Thanks to Saju Paul <saju.paul@messageway.com>.

2008-08-26  castaglia <castaglia>

        * src/prxs.in: Add license to prxs.  Support use of LIBTOOL
        environment variable to direct prxs to use a different libtool, if
        necessary.

2008-08-25  castaglia <castaglia>

        * src/inet.c: Extend the hack used for active ports to Mac OS 10.5
        as well.

2008-08-25  castaglia <castaglia>

        * configure: Updated configure.

2008-08-25  castaglia <castaglia>

        * Makefile.in, NEWS, configure.in, src/.cvsignore, src/prxs.in: 
        Bug#2991 - Need a `prxs' (ProFTPD Extensions) command-line tool for
        building shared modules without proftpd source.

2008-08-25  castaglia <castaglia>

        * lib/pr-syslog.c: Extend the fix for Bug#3104 to Mac OS 10.5 (i.e.
        DARWIN9) as well.

2008-08-24  castaglia <castaglia>

        * lib/Makefile.in: Turns out that the libsupp library does NOT need
        to be installed, as part of a proftpd installation, in order to
        support DSO modules built outside of proftpd's source tree.  All of
        the symbols of the libsupp library are statically linked into the
        proftpd binary, thus a dynamically loaded module which uses those
        symbols should have the symbols resolved successfuly at load time,
        without need to explicitly link against libsupp.  The installation
        of libsupp was added as part of Bug #2991.

2008-08-24  castaglia <castaglia>

        * NEWS, lib/pr-syslog.c: Bug#3104 - Syslog logging does not work on
        Mac OS X.

2008-08-24  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#2564 - Improper logging of "max
        connections per host".

2008-08-23  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c, doc/contrib/mod_sql.html: Bug#2537 -
        mod_sql does not support %{...}t variable.

2008-08-23  castaglia <castaglia>

        * NEWS, doc/howto/DisplayFiles.html, src/display.c: Bug#3055 -
        Support Display variable for specifying the timestamp format.  See
        doc/howto/DisplayFiles.html for more details.

2008-08-23  castaglia <castaglia>

        * lib/libcap/libcap.h: Fix typo (missing backslash).

2008-08-23  castaglia <castaglia>

        * src/display.c: A temporary pool was being allocated from
        session.pool for each Display file, and was not being cleaned up.
        Tsk.

2008-08-22  castaglia <castaglia>

        * lib/libcap/libcap.h: Try to handle the change in Linux capability
        version macro names for older kernels (which don't define/use the
        new names).

2008-08-21  castaglia <castaglia>

        * NEWS, src/log.c: Bug#3098 - Socket descriptor leak when using
        syslog logging, especially at SyslogLevel 'notice' or higher.

2008-08-20  castaglia <castaglia>

        * contrib/mod_site_misc.c: Add signal handling to a while() loop.

2008-08-20  castaglia <castaglia>

        * contrib/mod_load/Makefile.in: Make the mod_load Makefile
        consistent with other contrib module Makefiles.

2008-08-20  castaglia <castaglia>

        * NEWS, contrib/mod_load/Makefile.in, contrib/mod_wrap2/Makefile.in: 
        Bug#3101 - mod_wrap2 does not compile on FreeBSD with custom
        includes.  The fix was also needed in the mod_load Makefile.

2008-08-18  castaglia <castaglia>

        * NEWS, modules/mod_core.c, modules/mod_xfer.c: Bug#3030 -
        GroupOwner should work for all groups.

2008-08-18  castaglia <castaglia>

        * contrib/ftpmail: Forgot to add descriptions of the
        --ignore-users/--watch-users command-line options to the --help
        output, as part of the fix for Bug#3100.

2008-08-18  castaglia <castaglia>

        * NEWS, contrib/ftpmail, doc/contrib/ftpmail.html: Bug#3100 -
        Support ftpmail options for sending emails only for specific users.

2008-08-18  castaglia <castaglia>

        * doc/howto/Tracing.html: Mention the new "fileperms" trace log
        channel in the Trace logging howto.

2008-08-18  castaglia <castaglia>

        * NEWS, modules/mod_core.c, modules/mod_xfer.c: Bug#3099 - Add trace
        logging of filesystem permission errors.

2008-08-18  castaglia <castaglia>

        * contrib/mod_wrap2/.cvsignore: Ignore autoconf-generated cache
        file.

2008-08-16  castaglia <castaglia>

        * src/fsio.c: If we are out of memory, then we should exit as soon
        as possible, and skip any sending of events on the topic.

2008-08-16  castaglia <castaglia>

        * modules/mod_xfer.c: If we decline to use sendfile() for any
        reason, log this only once per RETR command.  Otherwise, the debug
        logs get spammed.

2008-08-15  castaglia <castaglia>

        * src/throttle.c: Include signal.h, for the signal-masking function
        declarations.

2008-08-15  castaglia <castaglia>

        * doc/contrib/index.html, doc/contrib/mod_ldap.html: Start a doc
        covering the mod_ldap directives.

2008-08-15  castaglia <castaglia>

        * configure: Updated configure.

2008-08-15  castaglia <castaglia>

        * configure.in: Be sure to include all of the libraries that the
        proftpd executable is linked against in the `proftpd -V' output.

2008-08-15  castaglia <castaglia>

        * contrib/mod_sql_sqlite.c: Log if there was an error closing the
        SQLite database as well.

2008-08-15  castaglia <castaglia>

        * contrib/mod_sql_sqlite.c: Log the error, if there is one, when
        opening the SQLite database file.

2008-08-15  castaglia <castaglia>

        * contrib/mod_sql_sqlite.c: Be sure to log the error string returned
        from SQLite when a query fails.  Otherwise, debugging issues is a
        lot harder.

2008-08-14  castaglia <castaglia>

        * contrib/mod_tls.c: Turns out that prompting for passphrases for
        protected SSL key files MUST happen during the 'core.postparse'
        event, and NOT during the 'core.startup' event.  The passphrase
        prompting requires use of the TTY, and by the time the
        'core.startup' event occurs, the process may have daemonized itself
        away from the TTY.

2008-08-13  castaglia <castaglia>

        * contrib/mod_tls.c: The change of timing of initializing the
        OpenSSL library, in order to better handle FIPS mode, broke the
        TLSPassphraseProvider functionality.  The problem is that using the
        OpenSSL library for loading certs/keys using passphrases, before the
        OpenSSL library has been initialized, does not work so well.  With
        this change, the loading of passphrase-protected certs/keys now
        happens in the 'core.startup' event handler, after OpenSSL has been
        initialized; this means there is no more need for a 'core.postparse'
        event handler.

2008-08-12  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3095 - TLSPassphraseProvider port
        number truncated.  Fixed by using 'sizeof(nbuf)', not 'sizeof(buf)',
        in the snprintf() call.

2008-08-12  castaglia <castaglia>

        * Makefile.in: If using the pkgconfig info to compile and link
        modules, it is not necessary to link against the libsupp library.
        This library is statically linked into the proftpd executable, which
        means that DSO modules that use any libsupp symbols will have those
        symbols successfully resolved at module load time.

2008-08-11  castaglia <castaglia>

        * src/pool.c: Change the "Attempt to free already freed" message,
        when clearing a pool, so that it logs the name of the pool being
        cleared; this will aid in debugging such occurrences.

2008-08-11  castaglia <castaglia>

        * configure: Updated configure.

2008-08-11  castaglia <castaglia>

        * Make.rules.in, Makefile.in, NEWS, configure.in: Bug#3074 - Support
        configure option for pkgconfig .pc file install location.

2008-08-10  castaglia <castaglia>

        * contrib/mod_sql_sqlite.c: Use root privs when opening the file
        configured for SQLite use.

2008-08-10  castaglia <castaglia>

        * configure: Updated configure.

2008-08-10  castaglia <castaglia>

        * configure.in: The use of the -Wno-long-double compiler flag is
        only needed on Mac machines; and using that flag on non-Mac, newer
        gcc versions causes problems.  The configure script thus will only
        check to see if that flag should be used if the compiling platform
        is a Mac.

2008-08-06  castaglia <castaglia>

        * contrib/mod_tls.c: Quell a compiler warning about signedness with
        an explicit cast.

2008-08-06  castaglia <castaglia>

        * NEWS, lib/libcap/cap_alloc.c, lib/libcap/cap_proc.c,
        lib/libcap/libcap.h: Bug#3096 - libcap version errors on newer Linux
        kernel.  Newer Linux kernels have a _LINUX_CAPABILITY_VERSION_2
        macro, and redefine the old _LINUX_CAPABILITY_VERSION macro.  To
        play better with such kernels, redefine the bundled libcap to use
        _LINUX_CAPABILITY_VERSION_1.

2008-08-06  castaglia <castaglia>

        * configure: Updated configure.

2008-08-06  castaglia <castaglia>

        * config.h.in, configure.in: Fix issue where configure script was
        detecting the presence of a linux/capability.h header, but was not
        defining the HAVE_LINUX_CAPABILITY_H macro in the config.h file.
        (It's a matter of using AC_CHECK_HEADERS vs AC_CHECK_HEADER; easy to
        miss, and insidious.)

2008-07-30  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3094 - Perform unidirectional SSL/TLS
        shutdown on data connections.

2008-07-17  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c: Bug#3036 - Quota information not
        persisted if session ends abruptly.

2008-07-17  castaglia <castaglia>

        * contrib/mod_quotatab.h: Remove stale and misleading comment;
        confstreams were an interesting idea, but will not be added.

2008-07-16  castaglia <castaglia>

        * doc/modules/mod_cap.html: Add a FAQ about the libcap1 warning
        (regarding 32-bit capabilities), and how to address the warning.

2008-06-19  castaglia <castaglia>

        * modules/mod_auth.c: Replace the specific "FTP login timed out"
        with the more generic "Session timed out".

2008-06-18  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#3077 - Transparently handle the
        X-variant commands when checking <Limit> permissions.

2008-06-17  castaglia <castaglia>

        * include/compat.h: Minor formatting change, no functional change.

2008-06-16  castaglia <castaglia>

        * src/main.c: If PR_DEVEL_COREDUMP support is enabled, then call
        abort() in the SIGABRT handler, rather than in the
        synchronously-handled handle_abort().  It works much better this
        way.

2008-06-16  castaglia <castaglia>

        * src/main.c: Always remove the scoreboard entry when handling a
        termination signal, not just when we receive SIGSEGV.

2008-06-16  castaglia <castaglia>

        * include/compat.h: Add comments noting when compat macros were
        added; these will be used for determining when the compat macros
        should be dropped.

2008-06-16  castaglia <castaglia>

        * contrib/mod_ban.c: Update to use newer PR_LOG_ macros.

2008-06-14  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c, include/dirtree.h, include/str.h,
        src/dirtree.c, src/str.c, tests/str.c: Refactor the pr_is_boolean()
        function into pr_str_is_boolean(), and place it in str.c with the
        other pr_str_*() functions.  Add an accompanying unit test.

2008-06-14  castaglia <castaglia>

        * tests/str.c: Add unit test for the pr_str_get_word() function.

2008-06-14  castaglia <castaglia>

        * include/dirtree.h, include/str.h, src/dirtree.c, src/str.c: 
        Refactor the pr_str_get_word() function from dirtree.c to str.c,
        along with the other pr_str_*() functions.

2008-06-14  castaglia <castaglia>

        * tests/modules.c, tests/tests.h: Fill in unit tests for the Module
        API functions.

2008-06-14  castaglia <castaglia>

        * src/modules.c: Clean up a few more style nits, and guard against
        bad arguments, in the Module API.

2008-06-13  castaglia <castaglia>

        * tests/modules.c: Add unit tests for the Stash API.

2008-06-13  castaglia <castaglia>

        * src/modules.c: Fix a few minor bugs and nits in the Stash API,
        discovered while writing unit tests for those functions.

2008-06-13  castaglia <castaglia>

        * tests/.cvsignore, tests/Makefile.in: Fix the dependency on the
        core proftpd object files in the Makefile.  Change the name of the
        testsuite executable to 'tests', as it is more accurate.

2008-06-13  castaglia <castaglia>

        * tests/tests.c: Add support for running check in nonforking mode,
        using the PR_TEST_NOFORK environment variable.  This makes tracking
        down of segfaults tickled by unit tests easier (I can use gdb now
        when they happen).

2008-06-13  castaglia <castaglia>

        * tests/Makefile.in, tests/modules.c, tests/stubs.c, tests/tests.c,
        tests/tests.h: Add stubs for units tests for the APIs (stash,
        module) in the modules.c source file.

2008-06-12  castaglia <castaglia>

        * contrib/mod_quotatab_ldap.c, contrib/mod_quotatab_radius.c,
        contrib/mod_quotatab_sql.c, contrib/mod_ratio.c,
        contrib/mod_wrap2_sql.c, include/compat.h, include/modules.h,
        modules/mod_core.c, modules/mod_site.c, src/auth.c, src/main.c,
        src/modules.c, src/parser.c: Since the call_module() function is
        used by contrib modules, it should be placed in the public API
        namespace.  Thus call_module() is now pr_module_call().  A macro
        redefining old code to use the new function has been added to
        compat.h.

2008-06-12  castaglia <castaglia>

        * tests/scoreboard.c: Fill in the remaining unit tests for the
        Scoreboard API.

2008-06-12  castaglia <castaglia>

        * src/scoreboard.c: Prevent errors in the scoreboard by preventing
        multiple entries from being added via pr_scoreboard_entry_add();
        only one entry at a time.  At the same time, make sure that
        pr_scoreboard_entry_del() only removes the active entry (if
        present).

2008-06-12  castaglia <castaglia>

        * contrib/mod_load/.cvsignore, contrib/mod_load/mod_load.c.in: Fix
        function definition.  Add more entries of autogenerated files, to be
        ignored by CVS.

2008-06-11  castaglia <castaglia>

        * tests/.cvsignore: More files to be ignored by CVS in the tests/
        directory.

2008-06-11  castaglia <castaglia>

        * tests/scoreboard.c: Fill in more of the unit tests for the
        Scoreboard API.

2008-06-11  castaglia <castaglia>

        * src/scoreboard.c: Fix some minor bugs found in the Scoreboard API
        while working on unit tests.

2008-06-10  castaglia <castaglia>

        * NEWS, doc/howto/Classes.html: Update the Classes howto to mention
        that "Satisfy all" is needed for Class definitions with multiple
        "not" rules.  Add Bug#3083 to NEWS.

2008-06-06  castaglia <castaglia>

        * src/scoreboard.c: Add better argument checking in
        pr_set_scoreboard().

2008-06-06  castaglia <castaglia>

        * tests/Makefile.in, tests/scoreboard.c, tests/stubs.c,
        tests/tests.c, tests/tests.h: Start writing unit tests for the
        Scoreboard API.

2008-06-06  castaglia <castaglia>

        * tests/sets.c: Avoid a compiler warning about a shadowed variable
        in the testsuite.

2008-06-05  castaglia <castaglia>

        * include/expr.h, src/expr.c, tests/expr.c: Fill in the Expression
        API unit tests, and fix the minor bugs in the API that were
        uncovered during the writing of the tests.

2008-06-05  castaglia <castaglia>

        * tests/stubs.c: Forgot to include these variables for unit tests.

2008-06-05  castaglia <castaglia>

        * tests/str.c: Add unit tests for the newly added functions to the
        String API.

2008-06-05  castaglia <castaglia>

        * Make.rules.in, contrib/mod_ifsession.c, include/conf.h,
        include/dirtree.h, include/expr.h, include/str.h,
        include/support.h, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_ident.c, modules/mod_xfer.c, src/auth.c, src/dirtree.c,
        src/expr.c, src/str.c, src/support.c: Refactoring work.  First, move
        the pr_expr_* functions into their own expr.c file.  Second, move
        some of the string-related functions from support.c into the str.c
        file.

2008-06-05  castaglia <castaglia>

        * src/throttle.c: Make sure to explicit require a TRUE return value
        from the pr_expr_* calls.

2008-06-05  castaglia <castaglia>

        * tests/Makefile.in, tests/expr.c, tests/regexp.c, tests/tests.c,
        tests/tests.h: Add unit tests for the Regexp API, and unit test
        stubs for the Expression API.

2008-06-05  castaglia <castaglia>

        * src/class.c, src/netacl.c: Bug#3083 - Multiple issues with
        handling of <Class> definitions.

2008-06-05  castaglia <castaglia>

        * tests/Makefile.in, tests/class.c, tests/netacl.c, tests/tests.c,
        tests/tests.h: Added unit tests for the NetACL and Class APIs.

2008-06-05  castaglia <castaglia>

        * doc/howto/Classes.html: Add more material to the Classes howto,
        covering the Satisfy directive and giving some examples.

2008-06-05  castaglia <castaglia>

        * tests/Makefile.in: Have different targets for creating the
        testsuite executable, versus running the testsuite executable.  It
        was getting tedious, having the testsuite executable re-linked every
        time I wanted to run a particular suite of tests.

2008-06-05  castaglia <castaglia>

        * src/netacl.c: When destroying the temporary pool in
        pr_netacl_match(), make sure we do it only when we're about to
        return from the function (and not before then).

2008-06-04  castaglia <castaglia>

        * src/netacl.c: Correct several nits in the NetACL API: free up the
        temporary pool that's allocated in pr_netacl_match(), make sure that
        pr_netacl_get_str() returns the same string for ALL/NONE ACLs,
        regardess of the casing of the ALL/NONE strings, clean up some of
        the string representations, etc.

2008-06-02  castaglia <castaglia>

        * NEWS, doc/howto/Tracing.html, src/trace.c: Bug#3082 - Use
        "DEFAULT" keyword instead of "ALL" for Trace directive.

2008-05-20  castaglia <castaglia>

        * contrib/mod_tls.c: Update mod_tls to properly enable FIPS mode
        (see Bug #3050) for both inetd and standalone modes.  The timing of
        when to call FIPS_mode_set() is a little tricky.

2008-05-17  castaglia <castaglia>

        * src/throttle.c: Make sure that the signal-handling functions (e.g.
        sigemptyset()) can be properly found on some platforms (e.g.
        Solaris).

2008-05-15  castaglia <castaglia>

        * modules/mod_core.c: Make sure that we honor the TimeoutIdle
        directive *before* authentication, as well as after.

2008-05-14  castaglia <castaglia>

        * include/auth.h, modules/mod_auth.c, src/auth.c: Move the functions
        which check /etc/ftpusers and /etc/shells out of the mod_auth
        module, and into the Auth API layer.  This makes it possible for
        other modules to use these checks when deciding to let users in.

2008-05-13  castaglia <castaglia>

        * include/table.h, src/main.c, src/table.c: Fix bug where proftpd
        could enter a recursive loop and eventually run out of stack memory.
        Turns out that if errno is EINTR when pr_signals_handle() was
        called, then pr_signals_handle() would call pr_trace_msg(), which
        would lead to a call to pr_signals_handle(), which would call
        pr_trace_msg(), etc etc.  To deal with this, the Table API now has an internal-use-only
        functionn, used by pr_signals_handle(), to indicate whether a signal
        is currently being handled or not.  If a signal is being handled,
        then the Table API code will not call pr_signals_handle().

2008-05-12  castaglia <castaglia>

        * modules/mod_dso.c: Work around compiler warnings about "nested
        extern declaration of lt_preloaded_symbols".  This was caused by the
        use of the LTDL_SET_PRELOADED_SYBMOLS libtool macro.  Instead, use
        the code to which the macro expands, and separate the code so that
        the declaration of the lt_preloaded_symbols is in the proper scope.

2008-05-12  castaglia <castaglia>

        * configure: Updated configure.

2008-05-12  castaglia <castaglia>

        * configure.in, modules/mod_dso.c: Make sure we use the libltdl
        shipped with proftpd, not the system libltdl.

2008-05-12  castaglia <castaglia>

        * modules/mod_xfer.c: Found more while loops without signal
        handling.  Tsk tsk.

2008-05-11  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c,
        src/main.c: Move the setting of the TimeoutIdle timer from
        src/main.c into mod_core.  The issue was that any vhost-specific
        TimeoutIdle timer was not being honored properly.  Another cause of
        this issue was that the handling of the PASS POST_CMD dispatch was
        faulty; the mod_auth and mod_xfer modules were both returning
        HANDLED for those POST_CMD handlers, which prevented other modules
        from receiving the dispatch.  Oops.

2008-05-11  castaglia <castaglia>

        * src/main.c: Make a lowercased version of the protocol name, in
        set_protocol_name(), for use in the WtmpLog entry.

2008-05-08  castaglia <castaglia>

        * modules/mod_core.c: As it turns out, the <Limit> section can
        handles commands for more than just FTP.

2008-05-08  castaglia <castaglia>

        * contrib/mod_load/mod_load.c.in: Mark a string used by mod_load as
        localisable.

2008-05-08  castaglia <castaglia>

        * include/support.h, src/main.c: Make it possible to change the
        protocol name used in some logging messages via a
        set_protocol_name() function.

2008-05-08  castaglia <castaglia>

        * src/main.c: Stylistic nits, no functional change.

2008-05-08  castaglia <castaglia>

        * src/main.c: Always have signal handling in while loops.

2008-05-07  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec: Bug#3076 - RPM build failing
        on 64 bit OS due to incomplete .spec.

2008-05-06  castaglia <castaglia>

        * include/response.h, src/response.c: Add new pr_response_block()
        API, for blocking the normal response chains from being sent to the
        client.  For use by modules which want to send their own data, as
        is, to clients.

2008-05-06  castaglia <castaglia>

        * doc/howto/Authentication.html: Typo.

2008-05-06  castaglia <castaglia>

        * configure: Updated configure.

2008-05-06  castaglia <castaglia>

        * config.h.in, configure.in, contrib/mod_site_misc.c,
        include/fsio.h, modules/mod_facts.c, src/fsio.c: Add two new FSIO
        API functions: pr_fsio_utimes() and pr_fsio_futimes().  These
        functions use the utimes(2) system call, which supercedes the old
        utime(2) system call.  Plus, this allows FSIO modules to provide
        their own implementations of these calls.  Update the mod_facts and mod_site_misc modules, which used utime(2)
        directly, to call these new FSIO APIs.

2008-05-06  castaglia <castaglia>

        * include/fsio.h, src/fsio.c: Add pr_fsio_fchmod() and
        pr_fsio_fchown() functions, for acting on already opened pr_fh_t
        objects rather than always requiring paths.

2008-05-06  castaglia <castaglia>

        * include/response.h, src/response.c: Add a new pr_response_clear()
        function, for clearing a response chain without having to flush that
        chain out to the client first.

2008-05-06  castaglia <castaglia>

        * src/main.c: If sending responses in pr_cmd_dispatch_phase(), be
        sure to flush the correct response chain.

2008-05-06  castaglia <castaglia>

        * Make.rules.in, include/conf.h, include/throttle.h,
        modules/mod_xfer.c, src/throttle.c: More refactoring.  This time,
        move the TransferRate handling out of mod_xfer and into a Throttle
        API.  Again, this is to expose this same functionality to other
        modules that may want throttling capabilities.

2008-05-06  castaglia <castaglia>

        * include/modules.h, src/main.c: Add a new function,
        pr_cmd_dispatch_phase().  This is very similar to pr_cmd_dispatch(),
        except that it allows callers to dispatch a cmd_rec to a specific
        phase of command handlers (e.g. LOG_CMD).  It also supports a flag
        for indicating whether the caller wishes the response chains to be
        flushed to the client.  This API allows modules to dispatch commands to specific handlers as
        needed.  Wondering about the utility?  Well, I have need for such a
        thing in my soon-to-be-released mod_sftp module for proftpd.

2008-05-06  castaglia <castaglia>

        * include/auth.h, modules/mod_auth.c, src/auth.c: Refactor the
        lockdown() function from mod_auth into the pr_auth_chroot()
        function, in the Auth API.  This makes it possible to reuse the same
        code from other modules.

2008-04-28  castaglia <castaglia>

        * NEWS, modules/mod_auth.c, modules/mod_log.c, src/dirtree.c,
        src/support.c: Bug#3073 - Command arguments not decoded properly in
        some places.

2008-04-26  castaglia <castaglia>

        * src/data.c: Apply the fix for Bug#3001 to a similar area of the
        code, this time in a non-Linux code path.

2008-04-25  castaglia <castaglia>

        * NEWS, locale/Makefile.in, locale/zh_CN.po: Adding Chinese
        translation.

2008-04-18  castaglia <castaglia>

        * configure: Updated configure.

2008-04-18  castaglia <castaglia>

        * configure.in: If the PR_USE_OPENSSL macro is defined, then the
        proftpd build would fail when linking the `proftpd' executable, due
        to an unresolved 'OPENSSL_cleanse' symbol.  There was a spot in the
        configure script which was not properly adding the OpenSSL libs to
        the library list.

2008-04-17  castaglia <castaglia>

        * NEWS: Had wrong bug number for IPv6-by-default change.

2008-04-17  castaglia <castaglia>

        * configure: Updating configure.

2008-04-17  castaglia <castaglia>

        * configure.in: Really fix Bug#2755 by making sure that IPv6 support
        is enabled by default.  Previously, it was only enabled *if* the
        --disable-ipv6 configure option was used -- not so helpful as a
        default.

2008-04-16  castaglia <castaglia>

        * NEWS: Forgot to mention the release date for 1.3.2rc1 in the NEWS
        file.

2008-04-16  castaglia <castaglia>

        * include/version.h: Update version for CVS.

2008-04-16  castaglia <castaglia>

        * Makefile.in: Clean up the locale/Makefile when handling the
        'distclean' target.

2008-04-16  castaglia <castaglia>

        * ChangeLog: Updating ChangeLog.

2008-04-16  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec, include/version.h: Preparing to
        release 1.3.2rc1.

2008-04-16  castaglia <castaglia>

        * doc/howto/Tracing.html, src/main.c, src/trace.c: Remove the unused
        "l10n" trace channel, and add a "signal" trace channel.  Update the
        Tracing howto with these channel changes.  Use the "signal" channel,
        rather than debug logging, when logging about EINTR delaying.

2008-04-15  castaglia <castaglia>

        * contrib/ftpmail: Fix issue with handling of binary files as
        attachments.  Such attachments need to be base64-encoded, to protect
        them from CRLF translation/handling by Mail::Sendmail.

2008-04-15  castaglia <castaglia>

        * RELEASE_NOTES: Updating release notes.

2008-04-12  castaglia <castaglia>

        * modules/mod_lang.c: When scanning the LangPath for suitable
        languages, make sure that the languages are acceptable to
        setlocale(3), in addition to having a proftpd.mo file.

2008-04-10  castaglia <castaglia>

        * doc/howto/Limit.html: Mention that within <Limit> sections, limits
        are applied only based on names, not on IDs.

2008-04-09  castaglia <castaglia>

        * include/options.h: Make the default
        PR_TUNABLE_EINTR_RETRY_INTERVAL value be 0.2 secs, rather than 0, in
        order to prevent tightly-spinning EINTR retry loops.

2008-04-08  castaglia <castaglia>

        * locale/it_IT.po: Updated Italian translation.

2008-04-05  castaglia <castaglia>

        * locale/proftpd.pot: Fill in some descriptive details in the .pot
        file header.

2008-04-05  castaglia <castaglia>

        * configure: Updated configure.

2008-04-05  castaglia <castaglia>

        * configure.in: Yet another attempt to fix the writing of the
        PR_LOCALE_DIR string into config.h by the configure script (Bug
        #3066).

2008-04-05  castaglia <castaglia>

        * modules/mod_core.c: Don't set the UTF8 feature in mod_core; it's
        already handled by mod_lang.  Addresses Bug#3070.

2008-04-05  castaglia <castaglia>

        * modules/mod_lang.c: Missed one spot where the language needed to
        specified as "en_US" (to satiate setlocale(3)) instead of just "en".
        While I was at it, I made the fallback "en_US" string be a macro.

2008-04-05  castaglia <castaglia>

        * locale/Makefile.in: Add a `make check' target for the locale/
        directory, to run msgcmp on our .po files to see how out-of-date
        they might become.

2008-04-05  castaglia <castaglia>

        * locale/Makefile.in: Make sure that all .po files pass the msgfmt
        format check.

2008-04-05  castaglia <castaglia>

        * doc/modules/mod_lang.html, modules/mod_lang.c: Mention the
        requirement that the LangDefault language be listed in `locale -a'
        in the docs.  Change the default language from "en" to "en_US", as
        per the `locale -a' requirement.

2008-04-05  castaglia <castaglia>

        * locale/Makefile.in, locale/en_US.po, locale/it_IT.po: Turns out
        that setlocale(3) prefers the language tag to include the country
        code as well, hence "en_US" instead of just "en", "it_IT" instead of
        just "it", etc.  Picky, picky.

2008-04-05  castaglia <castaglia>

        * locale/proftpd.pot: Updated proftpd.pot to reflect changed line
        numbers.

2008-04-05  castaglia <castaglia>

        * modules/mod_lang.c: Add proper provisioning of the LANG FEAT, and
        handling of the LANG command.  Also addresses Bug#3067 with some
        explicit calls to bind_textdomain_codeset().

2008-04-04  castaglia <castaglia>

        * locale/proftpd.pot: Update proftpd.pot with the strings to be
        translated from mod_quotatab.

2008-04-04  castaglia <castaglia>

        * contrib/mod_quotatab.c: Tag a few more strings that need to be
        translated, when displaying quota limit/tallies to clients.

2008-04-04  castaglia <castaglia>

        * locale/Makefile.in: Add it.po (courtesy of Frankie) and en.po for
        default translations.

2008-04-04  castaglia <castaglia>

        * locale/Makefile.in, locale/files.txt, locale/proftpd.pot: Update
        the list of files to include contrib modules, and updated the .pot
        file accordingly.

2008-04-04  castaglia <castaglia>

        * contrib/mod_quotatab.c, contrib/mod_radius.c,
        contrib/mod_readme.c, contrib/mod_site_misc.c, contrib/mod_tls.c,
        contrib/mod_wrap2/mod_wrap2.c: Add tags for the response strings
        which need to be localised/translated in the contrib modules.

2008-04-04  castaglia <castaglia>

        * contrib/mod_wrap2/.cvsignore: More files to be ignored by CVS.

2008-04-04  castaglia <castaglia>

        * modules/mod_lang.c: Delay the call to setlocale() until the
        postparse event, after we have called bindtextdomain().

2008-04-04  castaglia <castaglia>

        * include/conf.h: Use dgettext() instead of gettext() when
        retrieving localised strings, so that we can explicitly specify the
        domain ("proftpd") to use.

2008-04-04  castaglia <castaglia>

        * locale/Makefile.in: When installing locale .mo files, actually do
        the installation into the proper directory structure.

2008-04-04  castaglia <castaglia>

        * modules/mod_lang.c: When requesting a locale change, it helps to
        actually use the locale provided by the caller.  Sheesh.

2008-04-04  castaglia <castaglia>

        * modules/mod_lang.c: Hook up handling of LangPath and LangDefault,
        and start trying to actually use the configured locale message
        catalogs.

2008-04-03  castaglia <castaglia>

        * configure: Updated configure.

2008-04-03  castaglia <castaglia>

        * configure.in: Fix the handling of the PR_LOCALE_DIR macro, so that
        it properly substitutes the variables.

2008-04-03  castaglia <castaglia>

        * locale/Makefile.in, locale/proftpd.pot: Provide a .pot file as a
        starting point for translators.

2008-04-03  castaglia <castaglia>

        * locale/Makefile.in: Older msginit versions do not support the
        --sort-by-file option.  Also, do not run msgfmt if msginit fails.

2008-04-03  castaglia <castaglia>

        * locale/.cvsignore: Ignore a few other generated files in the
        locale/ directory.

2008-04-03  castaglia <castaglia>

        * locale/files.txt: Update the list of files from which to extract
        strings via xgettext.

2008-04-03  castaglia <castaglia>

        * src/encode.c: Fix typo which breaks the solution for Bug#3064.

2008-04-03  castaglia <castaglia>

        * src/encode.c: Add a few more character sets to the list of those
        which override the value of the Telnet IAC value.

2008-04-03  castaglia <castaglia>

        * NEWS, include/encode.h, src/encode.c, src/netio.c: Bug#3064 -
        Better handling of 0xFF character for Cyrillic, non-UTF8 charsets.

2008-04-03  castaglia <castaglia>

        * modules/mod_lang.c: Bug#3063 - proftpd fails to start if LC_ALL
        environment variable is wrong.

2008-04-03  castaglia <castaglia>

        * NEWS: Bug#3056 - Support non-UTF8 encoding and character sets.

2008-04-03  castaglia <castaglia>

        * doc/howto/Tracing.html: The log channel name changed from "utf8"
        to "encode".

2008-04-03  castaglia <castaglia>

        * RELEASE_NOTES, doc/modules/mod_lang.html: Mention the new
        UseEncoding directive in the release notes, and add docs for
        UseEncoding to the mod_lang docs.

2008-04-03  castaglia <castaglia>

        * Make.rules.in, include/conf.h, include/encode.h, include/fsio.h,
        modules/mod_core.c, modules/mod_lang.c, src/encode.c, src/fsio.c,
        src/main.c, src/trace.c: Bug#3056 - Support non-UTF8 encoding and
        character sets.

2008-04-01  castaglia <castaglia>

        * doc/contrib/mod_quotatab.html, doc/howto/Quotas.html: Add more
        description of how mod_quotatab determines which group quota to use,
        when there are multiple applicable group quota to choose from (see
        Bug #3053).

2008-03-27  castaglia <castaglia>

        * src/scoreboard.c: In addition to logging the PID of the blocking
        lock owner, log the type of blocking lock (read/write).

2008-03-27  castaglia <castaglia>

        * src/scoreboard.c: If we're unable to get a read or write lock on
        the ScoreboardFile because some other process (e.g. ftptop) has a
        lock on it, look up the PID of that blocking lock owner, and log it.

2008-03-27  castaglia <castaglia>

        * contrib/mod_wrap2_sql.c: Replace some "magic numbers" with macros,
        and increase legibility.

2008-03-27  castaglia <castaglia>

        * contrib/mod_wrap2_sql.c: Make sure to allocate enough room for the
        SQL query names in the tab_data; the fact that this was working was
        highly dependent on the architecture and just dumb luck.

2008-03-27  castaglia <castaglia>

        * contrib/mod_wrap2_sql.c: Clear up a temporary pool before exiting
        early.

2008-03-27  castaglia <castaglia>

        * contrib/mod_wrap2/mod_wrap2.c: Quell compiler warning about
        partially-declared callback function signature.

2008-03-27  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab_sql.c: Bug#3061 - Segfault in
        mod_quotatab_sql if the SQL query returns NULL bytes/files values.

2008-03-27  castaglia <castaglia>

        * src/scoreboard.c: Further reduce possible race conditions when
        reading the scoreboard by NOT blocking signals while reading the
        scoreboard header.  If signals are blocked while entering a
        potentially endless loop, it's a very bad thing.

2008-03-26  castaglia <castaglia>

        * src/scoreboard.c: Add trace logging of scoreboard locking.

2008-03-26  castaglia <castaglia>

        * src/scoreboard.c, utils/scoreboard.c: Bug#3057 - ftptop can lock
        scoreboard, blocking proftpd.  Try not to lock as aggressively in
        ftptop.

2008-03-25  castaglia <castaglia>

        * NEWS, src/utf8.c: Bug#3059 - Wrong handling of UTF8 conversions.

2008-03-25  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#3058 - Handling of OPTS command
        results in badly set values in code.

2008-03-21  castaglia <castaglia>

        * tests/tests.c: Clarify that the tests.log file can be found in the
        tests/ directory.

2008-03-20  castaglia <castaglia>

        * src/netaddr.c: Unit tests caught regression where a NULL buffer
        was not being checked properly.  Yay unit testing!

2008-03-20  castaglia <castaglia>

        * .cvsignore: Ignore the generated proftpd.pc file.

2008-03-19  castaglia <castaglia>

        * contrib/mod_sql.c: When there is an unrecoverable SQL backend
        error, make sure to log this in the regular proftpd debug logs,
        along with a note prompting the admin to look in the SQLLogFile as
        well, as a reminder.

2008-03-19  castaglia <castaglia>

        * configure: Updated configure.

2008-03-19  castaglia <castaglia>

        * config.h.in, configure.in, modules/mod_auth_unix.c: Add autoconf
        support for checking for login.h and usersec.h; these headers are
        required for the AIX loginrestrictions() support in the
        mod_auth_unix module.

2008-03-17  castaglia <castaglia>

        * contrib/mod_tls.c: Protect some OCSP-specific code with checks
        against the OpenSSL version.

2008-03-17  castaglia <castaglia>

        * contrib/mod_tls.c: Make checking of the verification mechanism
        names (CRL, OCSP) case-insensitive.

2008-03-17  castaglia <castaglia>

        * RELEASE_NOTES: Be sure to mention TLSVerifyOrder in the release
        notes.

2008-03-17  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Add docs for the new TLSVerifyOrder
        directive.

2008-03-17  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#2840 - Online Certificate Status
        Protocol (OCSP) support.

2008-03-17  castaglia <castaglia>

        * contrib/mod_sql_odbc.c: Use the TOP clause when the driver name is
        "FreeTDS", or when the driver name contains "SQL Server".

2008-03-15  castaglia <castaglia>

        * include/inet.h, modules/mod_core.c, src/main.c: Add an API that
        allows a module to take full control of the command handling,
        including IO.  I'm working on a module which requires this ability.

2008-03-14  castaglia <castaglia>

        * contrib/mod_sql_odbc.c: Check for the FreeTDS driver; if so, use
        TOP instead of LIMIT.

2008-03-13  castaglia <castaglia>

        * contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Use pcalloc()
        rather than palloc() in the database backend modules.  Fix some
        inconsistent style while there.

2008-03-13  castaglia <castaglia>

        * contrib/mod_sql_odbc.c: Improve the error logging in mod_sql_odbc
        by calling the SQLGetDiagRec() function repeatedly, retrieving (and
        logging) all of the errors in the diag stack, not just the first
        error.

2008-03-13  castaglia <castaglia>

        * doc/contrib/mod_sql_odbc.html: Update instructions for configuring
        proftpd for using ODBC libraries.

2008-03-13  castaglia <castaglia>

        * contrib/mod_sql_odbc.c: When allocating the conn_t struct in
        mod_sql_odbc, be sure to use pcalloc(), so that the allocated memory
        is zeroed.  Also, add an sqlodbc_strerror() function, for displaying the string
        version of the SQLRETURN value returned by many of the ODBC
        functions.  Makes for slightly more legible logging.

2008-03-11  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c: Bug#3051 - mod_quotatab incorrectly
        reduces file count on rename.

2008-03-11  castaglia <castaglia>

        * configure: Updated configure.

2008-03-11  castaglia <castaglia>

        * RELEASE_NOTES: Mention the pkgconfig file.

2008-03-11  castaglia <castaglia>

        * Make.rules.in, Makefile.in, configure.in, lib/Makefile.in: When
        installing proftpd, be sure to install the libsupp library as well.  Also, supply a pkgconfig file (see
        http://pkgconfig.freedesktop.org/) for proftpd.  The generated
        proftpd.pc file is created during the `make install' step, and is
        installed into lib/pkgconfig/proftpd.pc.  These changes are for Bug #2991.

2008-03-08  castaglia <castaglia>

        * src/support.c: If we are linking with OpenSSL, and that OpenSSL is
        new enough, use its memory-cleansing function rather than our own.

2008-03-08  castaglia <castaglia>

        * contrib/mod_tls.c: If FIPS mode is requested, and the OpenSSL
        installation doesn't support FIPS, log a warning.

2008-03-08  castaglia <castaglia>

        * Makefile.in, NEWS, RELEASE_NOTES, contrib/mod_load/Makefile.in,
        contrib/mod_tls.c, contrib/mod_wrap2/Makefile.in,
        doc/howto/TLS.html, modules/Makefile.in, tests/Makefile.in: Bug#3050
        - Support use of OpenSSL in FIPS mode.

2008-03-06  castaglia <castaglia>

        * NEWS, RELEASE_NOTES: Add mention of ftpmail in the NEWS and in the
        release notes.

2008-03-06  castaglia <castaglia>

        * contrib/ftpmail, doc/contrib/ftpmail.html: Added ftpmail, a Perl
        script which reads a TransferLog FIFO and sends automatic email
        notifications for uploads.

2008-03-04  castaglia <castaglia>

        * doc/contrib/mod_ban.html: Update docs for the BanOnEvent
        directive.

2008-03-04  castaglia <castaglia>

        * NEWS, contrib/mod_ban.c: Bug#3047 - BanOnEvent should support
        optional ban message.

2008-03-03  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c: Bug#3045 - "QuotaOptions
        ScanOnLogin" does not work for 'class' or 'all' limits.

2008-03-03  castaglia <castaglia>

        * NEWS, contrib/mod_wrap2_file.c: Bug#3048 - mod_wrap2_file should
        support comma-delimited lists of clients.

2008-03-03  castaglia <castaglia>

        * modules/mod_core.c: Make the message about an AuthOrder module
        with no auth handlers a little more explicit.

2008-02-25  castaglia <castaglia>

        * src/inet.c: Forgot to remove the old pr_inet_validate() function
        from inet.c.

2008-02-24  castaglia <castaglia>

        * tests/Makefile.in, tests/netaddr.c, tests/stubs.c, tests/tests.c,
        tests/tests.h: Adding unit tests for the Netaddr API.  Note that
        some of the tests still need to be filled in.

2008-02-24  castaglia <castaglia>

        * src/netaddr.c: Fix minor bugs in the Netaddr API.

2008-02-24  castaglia <castaglia>

        * include/compat.h, include/inet.h, include/netaddr.h,
        src/ftpdctl.c, src/log.c, src/netaddr.c: Move the function for
        validating DNS strings from inet.c (pr_inet_validate) to netaddr.c
        (pr_netaddr_validate_dns_str).  Also remove the never-defined
        pr_inet_fqdn() function while I'm at it.

2008-02-24  castaglia <castaglia>

        * src/log.c: Set errno when appropriate, and catch a corner case
        where the caller might provide a null format string.

2008-02-20  castaglia <castaglia>

        * src/log.c: Log if ftruncate(3) fails.

2008-02-20  castaglia <castaglia>

        * modules/mod_delay.c: Add logging of when write() fails for the
        DelayTable, even for a single byte.  Also fix up some of the log
        messages where "warning" would be redundant (the message was already
        logged at the LOG_WARN level).

2008-02-20  castaglia <castaglia>

        * contrib/mod_ban.c: Make sure we provide a printf-like format
        string when necessary, rather than simply sending the intended
        string.  In this case, there is no way for a user to inject their
        own data into the message, but it's better to be paranoid.

2008-02-20  castaglia <castaglia>

        * src/fsio.c: Rather than relying on simple path comparison in
        pr_fs_copy_file(), for detecting when the source and destination
        files are the same, check for same path, same device, same inode,
        same size, and same mtime.

2008-02-20  castaglia <castaglia>

        * src/fsio.c: Make sure the pr_fs_copy_file() function properly
        handles NULL arguments, and detects when the source and destination
        paths are the same.

2008-02-19  castaglia <castaglia>

        * NEWS, modules/mod_delay.c: Bug#3044 - Segfault if mod_delay fails
        to load DelayTable.

2008-02-19  castaglia <castaglia>

        * tests/Makefile.in, tests/tests.c, tests/tests.h, tests/version.c: 
        Add unit tests for the new Version API functions.

2008-02-19  castaglia <castaglia>

        * Make.rules.in, include/version.h, src/version.c: Make it possible
        to get versions (number, string) at runtime, for runtime comparisons
        (e.g. by shared modules at load time).  These functions complement
        the existing buildtime version macros.

2008-02-18  castaglia <castaglia>

        * include/log.h: Use gcc's varargs checking for printf-like
        statements for the pr_log_auth() function.

2008-02-18  castaglia <castaglia>

        * tests/Makefile.in, tests/event.c, tests/tests.c, tests/tests.h: 
        Added unit tests for the Event API.

2008-02-18  castaglia <castaglia>

        * src/event.c: Event API bugfixes: Check for duplicate event
        handlers in pr_event_register().  Return ENOENT if the requested
        event was never registered, in pr_event_unregister().  Make sure the
        caller provides a dump function in pr_event_dump().

2008-02-18  castaglia <castaglia>

        * tests/Makefile.in, tests/feat.c, tests/tests.c, tests/tests.h: Add
        unit tests for the Feat API.

2008-02-18  castaglia <castaglia>

        * src/feat.c: Minor fixes, so that EPERM is returned (before
        EINVAL), if there are not features registered.  Also fix a bug where
        pr_feat_remove() would return ENOENT, even when the feature being
        removed had been registered; it was actually removed, but
        pr_feat_remove() was not doing the right thing.

2008-02-18  castaglia <castaglia>

        * tests/Makefile.in, tests/tests.c, tests/tests.h, tests/var.c: Add
        unit tests for the Var API.

2008-02-18  castaglia <castaglia>

        * include/var.h, src/var.c: Removed the duplicate pr_var_remove()
        function (pr_var_delete() did the same thing).  Fixed some cases
        where the functions would not behave properly if the Var API has not
        been initialized first, specifically pr_var_set().  Handle some bad
        arguments better.

2008-02-17  castaglia <castaglia>

        * tests/tests.c: Slightly more elegant way of iterating over all of
        the testsuites, without needing to use strcmp().

2008-02-17  castaglia <castaglia>

        * tests/Makefile.in, tests/table.c, tests/tests.c, tests/tests.h: 
        Add unit tests for the Table API.

2008-02-17  castaglia <castaglia>

        * src/table.c: Fix a few minor bugs related to checking for improper
        arguments.

2008-02-17  castaglia <castaglia>

        * doc/howto/Testing.html: Start of a doc that will describe
        ProFTPD's burgeoning testsuite, and how to use it.

2008-02-17  castaglia <castaglia>

        * tests/tests.c: Make it possible to specify the name of a single
        testsuite to run using the PR_TEST_SUITE environment variable.
        Makes it much easier when writing new testcases; now I don't have to
        run all previous testcases to get to the one I'm working on.

2008-02-17  castaglia <castaglia>

        * tests/tests.c: Emit a message to the user, asking them to send
        their tests.log and their configure info, whenever the testsuite
        fails for them.

2008-02-17  castaglia <castaglia>

        * tests/Makefile.in, tests/stubs.c, tests/tests.c, tests/tests.h,
        tests/timers.c: Adding unit tests for the Timers API.

2008-02-17  castaglia <castaglia>

        * src/timers.c: Fixing some issues found in the Timers API by unit
        testing.  Handle some null arguments better, and handle the case
        where there may be no registered timers when pr_timer_reset() is
        called.  Fixed up style in a few places.

2008-02-17  castaglia <castaglia>

        * tests/Makefile.in, tests/sets.c, tests/tests.c, tests/tests.h: 
        Adding unit tests for the Sets API.

2008-02-17  castaglia <castaglia>

        * include/sets.h, src/sets.c: Cleanup of the Sets API.  Removed the
        unused xaset_union() and xaset_subtract() functions.  Clean up the
        style/formatting of the sets.c file.  Make sure that the functions
        can properly handle NULL/bad arguments.  Have them return -1 on
        error, not zero on error.

2008-02-16  castaglia <castaglia>

        * Makefile.in: If --enable-tests has not been used, the
        tests/Makefile will not have been created.  Thus do not try to use
        this Makefile for the 'make clean' target unless --enable-tests has
        been used.

2008-02-16  castaglia <castaglia>

        * tests/str.c: Fill in the unit test for the sstrncpy() function.

2008-02-16  castaglia <castaglia>

        * tests/.cvsignore, tests/array.c, tests/env.c, tests/str.c,
        tests/tests.c: Capture testsuite output in `tests.log' file.  Make
        sure this file is ignored by CVS.  Use fixtures for the very common
        task of allocating and destroying the pool used by tests.

2008-02-16  castaglia <castaglia>

        * doc/contrib/mod_quotatab.html: Properly close the line item.

2008-02-16  castaglia <castaglia>

        * doc/contrib/mod_quotatab.html: Mention that mod_quotatab's
        ScanOnLogin behavior only kicks in if the quota limit for the user
        includes non-zero bytes-in or files-in.

2008-02-15  castaglia <castaglia>

        * doc/howto/CreateHome.html: Start a FAQ for CreateHome questions.

2008-02-14  castaglia <castaglia>

        * doc/howto/CreateHome.html: List the uid and gid parameters of
        CreateHome, and talk about them a little.

2008-02-14  castaglia <castaglia>

        * doc/howto/TLS.html: Add TLS FAQ on removing cert key passphrases.

2008-02-14  castaglia <castaglia>

        * contrib/mod_sql.c: Add logging of when mod_sql decides to use the
        SQLDefaultUID and/or SQLDefaultGID because the uid/gid falls below
        the SQLMinUserUID and/or SQLMinUserGID.

2008-02-13  castaglia <castaglia>

        * tests/.cvsignore: Ignore generated files.

2008-02-13  castaglia <castaglia>

        * configure: Updated configure.

2008-02-13  castaglia <castaglia>

        * config.h.in, configure.in: Update the autoconf support to define a
        PR_USE_TESTS macro, when testsuite support is enabled.  Some of the
        proftpd macro definitions will change when PR_USE_TESTS is true, to
        better support unit testing.

2008-02-13  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, modules/mod_cap.c: Bug#2000 -
        mod_cap should not use bundled libcap.  Updated autoconf to check
        for a system libcap, and to make proftpd NOT build and use the
        bundled libcap if a system libcap is present.

2008-02-13  castaglia <castaglia>

        * tests/str.c: Fill in the unit tests for more of the string
        manipulation functions.

2008-02-13  castaglia <castaglia>

        * src/str.c: Fix up the indentation/style in sreplace().  Guard
        against null/bad arguments.

2008-02-13  castaglia <castaglia>

        * tests/Makefile.in, tests/env.c, tests/tests.c, tests/tests.h: Add
        unit tests for the Env API.

2008-02-13  castaglia <castaglia>

        * include/pool.h, src/pool.c: Guard against bad/null inputs in the
        Array API, and change the signature to prevent negative counts and
        sizes (which would make no sense).

2008-02-13  castaglia <castaglia>

        * tests/Makefile.in, tests/array.c, tests/tests.c, tests/tests.h: 
        Adding unit tests for the Array API.

2008-02-13  castaglia <castaglia>

        * src/str.c: Guard against NULL arguments in sreplace().

2008-02-12  castaglia <castaglia>

        * configure: Updated configure.

2008-02-12  castaglia <castaglia>

        * configure.in: Try to describe the --enable-devel option such that
        packagers won't use it.

2008-02-11  castaglia <castaglia>

        * configure: Updated configure.

2008-02-11  castaglia <castaglia>

        * Make.rules.in, Makefile.in, config.h.in, configure.in: Added
        support for the --enable-tests configure option, autoconf checking
        for the `check' package, and support for a `make check' option.

2008-02-11  castaglia <castaglia>

        * tests/Makefile.in, tests/pool.c, tests/str.c, tests/stubs.c,
        tests/tests.c, tests/tests.h: Start of a testsuite for proftpd.
        Uses the 'check' package; see   http://check.sourceforge.net/ To enable, compile proftpd using --enable-tests.  Then run `make
        check' before installing.  Expect to see a lot of activity here, as proftpd gets the testsuite
        its desperately needed for years.

2008-02-11  castaglia <castaglia>

        * Make.rules.in, include/conf.h, include/pool.h, include/str.h,
        include/support.h, src/ftpdctl.c, src/pool.c, src/str.c,
        src/support.c: Moving some functions out of pool.c and support.c
        into a new str.c object.  This is some necessary refactoring.  "Why
        is it necessary?" you ask.  Good question.  Because I'm about to add
        some testsuite support to proftpd, and writing those unit tests
        required some basic, long-overdue code refactoring.

2008-02-10  castaglia <castaglia>

        * contrib/mod_ban.c, contrib/mod_ctrls_admin.c: Updated mod_ban and
        mod_ctrls_admin to use the re-named scoreboard entry reading
        function.

2008-02-10  castaglia <castaglia>

        * include/compat.h, include/scoreboard.h, modules/mod_auth.c,
        modules/mod_core.c, modules/mod_xfer.c, src/data.c, src/main.c,
        src/scoreboard.c, utils/ftpcount.c, utils/ftptop.c, utils/ftpwho.c,
        utils/scoreboard.c, utils/utils.h: Added a new
        pr_scoreboard_entry_get() function, and renamed some of the other
        scoreboard entry functions to match the naming convention.  This
        also meant adding some compatibility macros in compat.h for other
        modules, for now.  Also updated ftpwho and ftptop to properly display uploading,
        downloading, and listing commands (including handling the MLST and
        MLSD commands properly).  This work fell out of handling the case where dispatched commands on
        the control channel, while a data transfer is occurring, can change
        the scoreboard fields and thus cause erroneous/confusing output in
        ftpwho and ftptop.

2008-02-10  castaglia <castaglia>

        * include/proctitle.h, src/data.c, src/proctitle.c: Be sure to
        restore the previous process title after handling a command from the
        control channel whilst handling a data transfer.

2008-01-30  castaglia <castaglia>

        * include/response.h, src/data.c, src/main.c, src/response.c: Now
        that proftpd can handle commands on the control channel whilst doing
        a data transfer, it needs to be more careful of the memory pool used
        by the Response API.  Specifically, we don't want to lose the memory
        pool from the data-transferring command while handling the command
        from the the control channel.  Also, make sure that proftpd rejects any data transfer command from
        the control channel if we're already doing a data transfer.  The
        amount of re-plumbing that would be needed to support kicking off
        multiple simultaneous data transfers is quite a lot; FTP clients
        already work around this by establishing multiple simultaneous
        separate sessions.

2008-01-28  castaglia <castaglia>

        * contrib/mod_ifsession.c: Use the session.pool, rather than
        main_server->pool, for merging in configurations in mod_ifsession.
        The session.pool is assigned as part of setting up a connection; the
        latter memory pool is not.

2008-01-25  castaglia <castaglia>

        * contrib/mod_wrap.c: Quell some compiler warnings in mod_wrap.

2008-01-25  castaglia <castaglia>

        * src/proctitle.c: Silence a compiler warning about unused variables
        when PR_DEVEL_STACK_TRACE is defined.

2008-01-24  castaglia <castaglia>

        * src/netacl.c: Fix issue when trying to stringify an IP mask ACL;
        pstrcat() was being called with a number, not a string, as an
        argument.

2008-01-23  castaglia <castaglia>

        * src/netio.c: Hmm.  Maybe some of the lingering close changes I
        made yesterday weren't the best.  So, for now, pare it back to
        logging about any read data received during a lingering close.

2008-01-23  castaglia <castaglia>

        * src/netio.c: When performing a lingering close, the select() call
        actually return because there was data to be read on the socket
        being closed.  If that is the case, log the presence of that data
        using Tracing, and continue the lingering.  (Otherwise, such data will cause a premature lingering, which is not
        really what we want either.)

2008-01-21  castaglia <castaglia>

        * src/main.c: Remove some tabs; no functional change.

2008-01-21  castaglia <castaglia>

        * RELEASE_NOTES: Mention the inclusion of IPv6 support in the
        default build.

2008-01-21  castaglia <castaglia>

        * README.IPv6: Updated the IPv6 README.

2008-01-21  castaglia <castaglia>

        * configure: Updated configure.

2008-01-21  castaglia <castaglia>

        * NEWS, configure.in, sample-configurations/basic.conf: Bug#2577 -
        IPv6 support should be enabled by default.

2008-01-18  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c: Bug#3034 - Rewritten command
        parameters need to be set in multiple places.

2008-01-18  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: Silence compiler warning about unused
        variable.

2008-01-18  castaglia <castaglia>

        * NEWS, include/netacl.h, src/class.c, src/netacl.c: Bug#3033 -
        Class rules not honoring '!' negation character.

2008-01-18  castaglia <castaglia>

        * src/main.c: Make sure that the handling of any <Limit LOGIN>
        sections happens after the class of the session has been determined.
        Otherwise, any AllowClass/DenyClass directives within the <Limit>
        section will not be handled properly.

2008-01-17  castaglia <castaglia>

        * modules/mod_facts.c: Fix some issues with the formatting of
        entries for the MLST and MLSD responses.  MLST entries require a
        leading space, as per RFC -- but MLSD entries do not.  (Also add a
        missing newline character in the entries.) The data connection cleanup handler appeared not to be necessary;
        the MLSD command handler appears to be closing the connection
        itself, so no need for a cleanup POST_CMD/POST_CMD_ERR handler for
        that.

2008-01-17  castaglia <castaglia>

        * NEWS, src/netaddr.c: Bug#3031 - IPv4-mapped IPv6 connections not
        matched properly against IPv4 glob ACLs.

2008-01-16  castaglia <castaglia>

        * modules/mod_facts.c: The mod_facts module was not properly
        returning a type of "cdir" if the listed path was indeed the current
        directory.

2008-01-16  castaglia <castaglia>

        * src/main.c: Handle the case where the admin might define the
        tunable EINTR retry interval to be less than a second, e.g.:   ./configure CFLAGS=-DPR_TUNABLE_EINTR_RETRY_INTERVAL=0.5 ...  In the code which handles that value, break the defined value into
        usecs, and Do The Right Thing(tm).  The previous code simply assumed
        that the defined value would be in seconds.  The issue would only be
        noticed if compiler warnings were enabled and scanned; for example:   main.c:1527: warning: unsigned int format, double arg (arg 3)

2008-01-15  castaglia <castaglia>

        * doc/howto/Logging.html: Add more substance to the note about not
        logging to world-writable directories (i.e. mention that proftpd
        will NOT do this).

2008-01-15  castaglia <castaglia>

        * NEWS, include/modules.h, include/netio.h, src/data.c, src/main.c,
        src/netio.c: Bug#2999 - Data transfer not aborted when control
        connection is closed.  This patch adds polling of the control connection while transferring
        data on the data connection.  Commands sent on the control
        connection will be dispatched (thus delaying the data transfer);
        this allows handling of commands like ABOR during data transfer.  If
        the control connection closes during the data transfer, the data
        transfer is aborted.  Hopefully this will address quite a few issues
        related to aborting data transfers.

2008-01-15  castaglia <castaglia>

        * contrib/mod_ratio.c: Silence some compiler warnings about
        uninitialized variables.

2008-01-15  castaglia <castaglia>

        * src/data.c: Found a few more places where text needs to be marked
        for localisation.

2008-01-14  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Update TLSLog description to note
        requirement about parent directory permissions.

2008-01-14  castaglia <castaglia>

        * include/ftp.h, modules/mod_facts.c: Add definitions of the MLSD,
        MLST commands to ftp.h.

2008-01-12  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c: Bug#3027 - Unmatched backreferences
        are not handled properly in RewriteRules.

2008-01-12  castaglia <castaglia>

        * contrib/mod_rewrite.c: Additional changes needed for the full fix
        for Bug #3026.

2008-01-12  castaglia <castaglia>

        * configure: Updated configure.

2008-01-12  castaglia <castaglia>

        * configure.in: Copy-n-paste error in configure.in added erroneous
        line break.

2008-01-12  castaglia <castaglia>

        * modules/mod_xfer.c: The PRIO_MIN and PRIO_MAX macros may not be
        defined on some platforms (e.g.  Solaris 9), so define suitable
        values in such cases.

2008-01-12  castaglia <castaglia>

        * configure: Updated configure.

2008-01-12  castaglia <castaglia>

        * configure.in: Avoid an autoconf warning when checking for
        <security/pam_modules.h> by including <security/pam_appl.h>, if
        detected.  Without this, the configure script would throw an ugly
        warning (e.g. on Solaris 9) about not being able to compile
        <security/pam_modules.h>.

2008-01-11  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c: Bug#3026 - RewriteCondition does not
        negate -d -f -s tests.

2008-01-11  castaglia <castaglia>

        * contrib/mod_sql.c: Fix off-by-one error in mod_sql, which only
        cropped up in the case where a) a custom SQLUserInfo query was used, and b) that query neglected
        to provide a shell value.  This would lead to a segfault.

2008-01-10  castaglia <castaglia>

        * contrib/mod_ifsession.c: Add signal handling to mod_ifsession's
        while loops, as proper.  Some style cleanup.  Bump the mod_ifsession
        version number to 1.0; there have been few bugs reported with this
        module, showing that it's stable.

2008-01-10  castaglia <castaglia>

        * contrib/mod_sql.c: Remove the mod_sql code which used to support
        the (deprecated and removed) SQLHomedirOnDemand feature.

2008-01-10  castaglia <castaglia>

        * configure: Updated configure.

2008-01-10  castaglia <castaglia>

        * configure.in: Remove $0 from the PR_BUILD_OPTS; the
        $ac_configure_args variable already contains the string "configure",
        thus using $0 is redundant.

2008-01-09  castaglia <castaglia>

        * modules/mod_log.c: Copy the improvements in mod_sql for handling
        of certain SQLNamedQuery variables (Bug#2889, Bug#3025) into
        mod_log, so that ExtendedLogs benefit from the improvements as well.

2008-01-09  castaglia <castaglia>

        * contrib/mod_sql.c: Expand %F in SQLNamedQuery, for DELE, using
        dir_best_path(), rather than simply logging the name of the file as
        sent by the client.  (Do the same for %F and RNTO as well.)

2008-01-09  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#3025 - Using %b in a SQLNamedQuery
        does not properly log the file size for DELE.

2008-01-09  castaglia <castaglia>

        * contrib/mod_sql_odbc.c: Removed "IMHO" from comment describing
        Oracle library bug; it's been confirmed by Oracle.

2008-01-09  castaglia <castaglia>

        * contrib/mod_quotatab.c: If the DELE command fails, make sure to
        still clear the cached file size by registerting a POST_CMD_ERR
        handler.  And in the PRE_CMD handler for DELE, be sure to a) UTF8 decode any
        path the client might be sending, and b) be sure to cache the size
        of the symlink file, not the pointed-to file, if the file being
        deleted is indeed a symlink.

2008-01-09  castaglia <castaglia>

        * modules/mod_core.c: Explicit cast to avoid compiler warning.

2008-01-08  castaglia <castaglia>

        * modules/mod_core.c: If multiple addresses are given using the
        DefaultAddress directive, make sure the log message emitted reflects
        this, otherwise it can be confusing (see Bug#3024).

2008-01-08  castaglia <castaglia>

        * contrib/mod_sql_odbc.c: Work around an Oracle library bug in
        mod_sql_odbc, rather than in the core proftpd code, by using square
        brackets instead of parentheses in the process title.  More details
        on the issue can be found as comments in the mod_sql_odbc code.

2008-01-08  castaglia <castaglia>

        * src/main.c: Revert back to using parentheses in the process title;
        the Oracle bug workaround can be done, I think, from mod_sql_odbc
        rather than from the core code.

2008-01-08  castaglia <castaglia>

        * src/main.c: Change the name to which the process title is set when
        the daemon process is waiting to accept connections.  It's a hack, a
        workaround of an Oracle library bug.  Yuck.

2008-01-08  castaglia <castaglia>

        * README.modules, RELEASE_NOTES: Mention the new database backend
        modules: mod_sql_odbc and mod_sql_sqlite.

2008-01-08  castaglia <castaglia>

        * doc/contrib/mod_sql_odbc.html: Update the installation
        instructions for mod_sql_odbc; they are slightly different, and no
        longer require the use of an extra configure script.

2008-01-08  castaglia <castaglia>

        * contrib/mod_sql_sqlite.c: Turns out there's no need to guard the
        definition and registration of an event handler for the
        'core.module-unload' event; none of the other mod_sql backend
        modules have guards for their module-unload event handlers.

2008-01-08  castaglia <castaglia>

        * NEWS, contrib/mod_sql_odbc.c, doc/contrib/mod_sql_odbc.html: Add
        the mod_sql_odbc module to the contrib area.

2008-01-08  castaglia <castaglia>

        * configure: Updated configure.

2008-01-08  castaglia <castaglia>

        * configure.in: When checking for module-specific header files (and
        then creating symlinks to those header files into the include/
        area), test for existence of a file, rather than requiring both that
        the path exist AND be a regular file.  The difference is that a
        simple existence check allows for the header files to themselves be
        symlinks (for whatever reason).

2008-01-08  castaglia <castaglia>

        * contrib/mod_sql_sqlite.c, doc/contrib/mod_sql_sqlite.html: Make
        sure that mod_sql_sqlite acts properly when built as a shared
        module.  Update docs to mention the SQLBackend name provided by
        mod_sql_sqlite.

2008-01-08  castaglia <castaglia>

        * NEWS, contrib/mod_sql_sqlite.c, doc/contrib/mod_sql_sqlite.html: 
        Add the mod_sql_sqlite module to the contrib area.

2008-01-08  castaglia <castaglia>

        * contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Typo.

2008-01-08  castaglia <castaglia>

        * configure: Updated configure.

2008-01-08  castaglia <castaglia>

        * configure.in: Decided I do not need the leading '$' character in
        the configure invocation string, for I am capricious that way.

2008-01-08  castaglia <castaglia>

        * configure.in: I don't know why, but on this Ubuntu box, the
        configure arguments were not being properly written out to the
        generated config.h file.  I had to poke around a bit with the
        autoconf variables, but finally found a magic incantation to make it
        work.  Of course, this means it will probably stop working on some other
        platform; will check once this change propagates to the anon CVS
        server.

2008-01-07  castaglia <castaglia>

        * configure: Update configure.

2008-01-07  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Make clearer the distinction between
        Unix domain sockets and TCP sockets when discussing chroot() and its
        effects on database connection re-opening.  Remove any mention of long-deprecated directives; they will only
        serve to confuse people at this point in time.

2008-01-07  castaglia <castaglia>

        * NEWS, contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: 
        Bug#3022 - Timed SQL connections don't reconnect to database.

2008-01-05  castaglia <castaglia>

        * README.modules: Update README.modules to mention the new modules.

2008-01-05  castaglia <castaglia>

        * configure.in: Fix issue with configure script where the
        command-line options were not being properly captured (before being
        processed to find the system name), and thus not being preserved for
        -V output.  Also remove any occurrence of "your" in the configure
        output.

2008-01-05  castaglia <castaglia>

        * modules/mod_auth.c: There is no longer a need to stash the current
        class name in the config tree using the "CURRENT-CLASS" key; the
        current class information is available via the session.class
        pointer.

2008-01-05  castaglia <castaglia>

        * contrib/mod_sql.c: Remove the unused add_virtualbool() function.

2008-01-05  castaglia <castaglia>

        * Make.rules.in: Yet another place where we need to teach proftpd
        not to build the ident code as part of the core engine anymore.

2008-01-05  castaglia <castaglia>

        * include/conf.h: Delete the now unused core ident lookup code; this
        functionality has been moved to the mod_ident module, as per
        Bug#2453.

2008-01-05  castaglia <castaglia>

        * src/xferlog.c: Forgot to check in the changes for this file,
        relating to Bug#2453.  Without these, the build fails.

2008-01-05  castaglia <castaglia>

        * contrib/mod_ban.c, contrib/mod_wrap.c, modules/mod_auth.c: Fix a
        few more places where text needs to be localised.

2008-01-05  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#3023 - Allow uploading to /dev/null.

2008-01-05  castaglia <castaglia>

        * configure: Updated configure.

2008-01-05  castaglia <castaglia>

        * RELEASE_NOTES, doc/modules/mod_ident.html: Update documentation
        for the new mod_ident module.

2008-01-05  castaglia <castaglia>

        * NEWS, configure.in, contrib/mod_sql.c,
        contrib/mod_wrap2/mod_wrap2.c, include/proftpd.h,
        modules/mod_ident.c, modules/mod_log.c, src/display.c, src/main.c: 
        Bug#2453 - Separate RFC1413 code into mod_ident module.

2008-01-05  castaglia <castaglia>

        * src/table.c: Calling pr_table_add_dup() and supplying a
        zero-length value data size should Do The Right Thing(tm) by
        treating the value as a string, and automatically calculating the
        string length, just as pr_table_add() does.

2008-01-04  castaglia <castaglia>

        * configure: Updated configure.  (Upgraded to autoconf-2.61 as
        well.)

2008-01-04  castaglia <castaglia>

        * Make.rules.in, config.h.in, configure.in, contrib/mod_tls.c,
        include/conf.h, modules/mod_core.c, src/main.c: Add an autoconf
        check for the sys/resource.h header file; this is the file which, on
        BSD, defines the getpriority(2) and setpriority(2) functions.  This
        should help the current proftpd sources in CVS to compile properly
        on FreeBSD.

2008-01-04  castaglia <castaglia>

        * modules/mod_auth_unix.c: Fix compiler warning about using the
        wrong datatype when calling getgrouplist(2).

2008-01-04  castaglia <castaglia>

        * src/dirtree.c: Use socklen_t, not int, for getsockopt(2) calls.

2008-01-03  castaglia <castaglia>

        * configure: Updated configure.

2008-01-03  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, modules/mod_auth_unix.c: Bug#1896
        - Check AIX account status.

2008-01-03  castaglia <castaglia>

        * NEWS, contrib/mod_ratio.c: Bug#1973 - mod_ratio uses the too-small
        int datatype for tracking bytes.

2008-01-03  castaglia <castaglia>

        * NEWS, contrib/mod_ratio.c: Bug#1771 - mod_ratio compile warnings.  Add better formatting, error checking, function definition, etc.

2008-01-03  castaglia <castaglia>

        * utils/ftpcount.c, utils/ftpwho.c, utils/misc.c,
        utils/scoreboard.c, utils/utils.h: Clean up some unused function
        prototypes in the utils code, and consolidate all of the utils to
        use the same sstrncpy() implementation.

2008-01-03  castaglia <castaglia>

        * modules/mod_facts.c: Fix printf(3) format warning in mod_facts.

2008-01-03  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#3020 - Server replies to NLST with 450
        at the wrong time.  Only open a data connection, when handling NLST,
        when we know that we will most likely be sending some data.

2008-01-02  castaglia <castaglia>

        * RELEASE_NOTES: Mention the new TransferPriority directive.

2008-01-02  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2731 - Add ability to set process
        priority for file transfers.

2008-01-02  castaglia <castaglia>

        * modules/mod_xfer.c: Need to add the name of the timer added, as
        per the changed Timer API.

2008-01-02  castaglia <castaglia>

        * configure: Updated configure.

2008-01-02  castaglia <castaglia>

        * configure.in: Missing quotation mark broke the configure script.

2008-01-02  castaglia <castaglia>

        * contrib/mod_tls.c: Pay attention to the TLSRandomSeed file, if
        configured, and log whenever mod_tls does not have sufficient PRNG
        seed data (as per the RAND_status() OpenSSL API).

2008-01-02  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#2889 - Update SQLLog so that RNTO
        stores the path when using the %F variable.

2008-01-02  castaglia <castaglia>

        * NEWS, modules/mod_auth.c, src/auth.c: Bug#2997 - Uploading files
        with "~" causes harmless but annoying log message.

2008-01-01  jwm <jwm>

        * contrib/mod_ldap.c: happy new year

2008-01-01  jwm <jwm>

        * contrib/mod_ldap.c: release v2.8.18: * Remove all local caching code in favor of the recently added
          caching in the ProFTPD Auth layer.  * Silence some compiler warnings.

2007-12-31  castaglia <castaglia>

        * include/proftpd.h, modules/mod_auth.c, modules/mod_xfer.c,
        src/data.c, src/main.c: Move the TIMER_ macros into the PR_
        namespace, for cleanliness.

2007-12-31  castaglia <castaglia>

        * NEWS, include/data.h, include/dirtree.h, modules/mod_core.c,
        modules/mod_xfer.c, src/data.c, src/dirtree.c, src/main.c: Bug#2741
        - Apply TimeoutNoTransfer, TimeoutStalled, TimeoutIdle to
        <Anonymous> section.

2007-12-31  castaglia <castaglia>

        * RELEASE_NOTES, doc/modules/mod_auth_pam.html: Updated
        documentation.

2007-12-31  castaglia <castaglia>

        * NEWS, modules/mod_auth_pam.c: Bug#3014 - Optionally set PAM_TTY
        item when using PAM.

2007-12-31  castaglia <castaglia>

        * doc/rfc/rfc2640.txt: Add RFC2640 to the docs collection.

2007-12-31  castaglia <castaglia>

        * configure: Updated configure.

2007-12-31  castaglia <castaglia>

        * modules/mod_facts.c: No need to include the URLs to the RFC and
        Draft implemented by this module; they are in the mod_facts module
        documentation now.

2007-12-31  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, include/dirtree.h,
        include/options.h, modules/mod_xfer.c, src/data.c, src/dirtree.c,
        src/main.c: Bug#2874 - Data transfer buffers should be allocated at
        startup, not at compile time.

2007-12-31  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#3003 - Fallback to normal
        transmission in case of sendfile EOVERFLOW error missing.

2007-12-31  castaglia <castaglia>

        * RELEASE_NOTES: Updating the release notes.

2007-12-31  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#2894 - Mark the AnonymousGroup
        directive as deprecated, to be removed in a future release.

2007-12-31  castaglia <castaglia>

        * doc/modules/mod_facts.html: Adding documentation (though brief)
        for the new mod_facts module.

2007-12-31  castaglia <castaglia>

        * doc/rfc/draft-somers-ftp-mfxx-03.txt, doc/rfc/rfc3659.txt: Adding
        RFC3659 (which supercedes an Internet Draft on MLST), and adding an
        Internet Draft defining the MFF and MFMT commands.

2007-12-31  castaglia <castaglia>

        * configure: Updated configure.

2007-12-31  castaglia <castaglia>

        * NEWS, configure.in, modules/mod_facts.c: Bug#3015 - Support for
        RFC3659.  The mod_facts module is now part of the default proftpd
        build, providing the MLSD, MLST commands from RFC3659 as well as the
        MFF and MFMT commands from an Internet Draft.

2007-12-31  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#3019 - DisplayLogin in <Anonymous>
        section not displayed properly.

2007-12-22  castaglia <castaglia>

        * modules/mod_lang.c: Pedantic correction of indentation, so that it
        is consistent with the style of the rest of the file.

2007-12-22  castaglia <castaglia>

        * src/inet.c: Enable the SO_KEEPALIVE option on sockets used by
        proftpd.  This will enable the TCP keepalive messages which help to
        determine if the peer host (as opposed to the peer program) have
        crashed.

2007-12-18  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#3013 - "TLSOptions AllowPerUser" not
        working as expected.

2007-12-18  castaglia <castaglia>

        * modules/mod_site.c: Typo.

2007-12-18  castaglia <castaglia>

        * modules/mod_auth.c: Make sure to localise strings sent via
        pr_response_send().

2007-12-15  castaglia <castaglia>

        * modules/mod_core.c: Update the comments for the MDTM handler,
        noting that it is an official command as per RFC3659.  Also make
        sure to initialize the entire buffer used to construct the response
        timestamp.

2007-12-12  castaglia <castaglia>

        * NEWS, contrib/mod_site_misc.c, doc/contrib/mod_site_misc.html: 
        Bug#3012 - SITE UTIME should support YYYYMMDDhhmmss format.

2007-12-10  castaglia <castaglia>

        * contrib/mod_tls.c: Bug#3011: "TLSRequired !data" configuration
        does not allow PROT C.  If the TLSRequired directive policy does not explicitly require
        SSL/TLS protection on the data channel, then allow any PROT C
        requests from clients.

2007-11-16  castaglia <castaglia>

        * NEWS, src/data.c: Bug#3001 - Incomplete downloads not logged
        properly in TransferLog if sendfile is used.

2007-11-16  castaglia <castaglia>

        * contrib/mod_site_misc.c: Thomas L. Shinnick rightly pointed out
        the bugs involved here, when using <Limit> configurations for the
        SITE commands provided by the mod_site_misc module.

2007-11-15  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c: Bug#3006 - 'ScanOnLogin' QuotaOption
        may try to update a nonexistent tally record.

2007-11-15  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c: Bug#3004 - 'ScanOnLogin' QuotaOption
        does not honor QuotaDirectoryTally directive.

2007-11-15  castaglia <castaglia>

        * src/main.c: Use REG_RIP for 64-bit machines, rather than REG_EIP,
        if the 'stacktrace' --enable-devel configure option is used.

2007-11-15  castaglia <castaglia>

        * NEWS, src/data.c, src/netio.c: Bug#3005 - OOB abort closes the
        control connection.

2007-10-26  castaglia <castaglia>

        * doc/modules/mod_lang.html: Update the LangEngine docs to mention
        that that is the directive which governs the appearance of "UTF8" in
        response to a FEAT command -- not the UseUTF8 directive.

2007-10-25  castaglia <castaglia>

        * modules/Makefile.in: Be sure to clean up any .a archive files
        around as well.

2007-10-22  castaglia <castaglia>

        * contrib/mod_ban.c, contrib/mod_dynmasq.c,
        contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c,
        contrib/mod_tls.c, include/timers.h, modules/mod_auth.c,
        modules/mod_core.c, modules/mod_ctrls.c, modules/mod_xfer.c,
        src/data.c, src/ident.c, src/main.c, src/timers.c: Changed the
        pr_timer_add() function to take a 'desc' string, for describing the
        timer being added.  This description is logged in the trace logging
        of timers.

2007-10-18  castaglia <castaglia>

        * NEWS: Typo.

2007-10-17  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#2996 - Requirement for same OpenSSL
        header, library version in mod_tls too restrictive.

2007-10-16  castaglia <castaglia>

        * RELEASE_NOTES: Add more release notes fragments, to be filled in
        more detail later.

2007-10-16  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2995 - The %f LogFormat variable
        expanded to same file for RNFR and RNTO.

2007-10-16  castaglia <castaglia>

        * src/main.c: Add some missing (albeit sometimes unnecessary)
        'break' statements.

2007-10-16  castaglia <castaglia>

        * src/main.c: Remove crufty unused ElectricFence code.

2007-10-15  castaglia <castaglia>

        * configure: Updated configure.

2007-10-15  castaglia <castaglia>

        * config.h.in, configure.in, src/main.c: Enhance the proftpd -V
        output to include the directory where the proftpd header files are
        installed, for DSO-enabled proftpds.  This will be used by the prxs
        tool (see Bug#2991).

2007-10-15  castaglia <castaglia>

        * NEWS, modules/mod_log.c: Bug#2992 - The %f LogFormat variable
        expanded improperly to "-" for SITE CHMOD.

2007-10-15  castaglia <castaglia>

        * configure: Updated configure.

2007-10-15  castaglia <castaglia>

        * NEWS, acconfig.h, config.h.in, configure.in: Bug#2993 - Unable to
        compile 1.3.1 on Debian unstable/amd64.

2007-10-15  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, include/modules.h, src/main.c, src/modules.c: 
        Bug#2937 - Should list modules (with versions) for modules loaded as
        DSOs.

2007-10-15  castaglia <castaglia>

        * doc/howto/DSO.html: Update the DSO doc with better instructions,
        after having run through them myself.

2007-10-14  castaglia <castaglia>

        * Make.rules.in, utils/ftpcount.c, utils/ftptop.c, utils/ftpwho.c,
        utils/misc.c, utils/utils.h: Factor out the function used to scan
        the config file for the ScoreboardFile directive from three of the
        utilities into a single common location.  This is groundwork for
        making it possible to scan the config file for other directives as
        well.

2007-10-14  castaglia <castaglia>

        * contrib/mod_tls.c: Explicitly cast one of the tls_log() arguments
        to an unsigned int, to silence compilers warning of mismatched
        printf arguments.

2007-10-14  castaglia <castaglia>

        * src/auth.c: Refactor the code for creating and adding to the
        idcache tables into separate functions.  This makes it easier to add
        to those caches in the auth_getpwnam() and auth_getgrnam()
        functions.

2007-10-13  castaglia <castaglia>

        * contrib/mod_tls.c: If the TLSCryptoDevice handling code is in the
        session initialization code path, then the directive can once again
        be vhost-specific.

2007-10-13  castaglia <castaglia>

        * configure: Update configure.

2007-10-13  castaglia <castaglia>

        * config.h.in, configure.in, modules/mod_ctrls.c, src/ctrls.c: More
        work towards Bug #2386.  In this, I found that Solaris 10 has a
        getpeerucred(3) function, which can be used for obtaining
        kernel-enforced credentials for the peer on the other end of a Unix
        domain socket.

2007-10-13  castaglia <castaglia>

        * contrib/mod_radius.c, include/auth.h, modules/mod_auth_pam.c,
        src/auth.c: More work towards Bug #2989.  Adds a new
        pr_auth_add_auth_only_module() function, to be used by modules that
        are auth-only "yes/no" style of modules (e.g. mod_auth_pam).  This
        presents a better solution for the issue.

2007-10-12  castaglia <castaglia>

        * NEWS, contrib/mod_radius.c, include/auth.h, src/auth.c: Bug#2989 -
        Unable to authenticate users if RadiusUserInfo is not configured.

2007-10-12  castaglia <castaglia>

        * contrib/mod_tls.c: Style cleanup; no functional changes.

2007-10-12  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#2990 - TLSCryptoDevice does not work.

2007-10-11  castaglia <castaglia>

        * doc/howto/ConfigurationTricks.html: Add note about how different
        PassivePorts are not needed for different proftpd instances.

2007-10-11  castaglia <castaglia>

        * RELEASE_NOTES: Mention mod_unique_id in the release notes.

2007-10-11  castaglia <castaglia>

        * doc/contrib/mod_unique_id.html: Update the mod_unique_id for its
        new home, and add an example of using the UNIQUE_ID environment
        variable in a SQL table.

2007-10-11  castaglia <castaglia>

        * NEWS, contrib/mod_unique_id.c, doc/contrib/index.html,
        doc/contrib/mod_unique_id.html: Added the mod_unique_id contrib
        module.

2007-10-11  castaglia <castaglia>

        * contrib/mod_dynmasq.c: Use the PR_ macro namespace.

2007-10-11  castaglia <castaglia>

        * contrib/mod_tls.c: Had checking for <Limit> on PROT command in the
        wrong place.  Oops.

2007-10-11  castaglia <castaglia>

        * RELEASE_NOTES, doc/contrib/mod_tls.html: Document the new
        TLSRequired policy configurations.

2007-10-11  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#2968 - Ability to allow protection on
        control channel, but reject protection on data channel.

2007-10-11  castaglia <castaglia>

        * RELEASE_NOTES: Start of a new release notes doc for the 1.3.2
        series.

2007-10-11  castaglia <castaglia>

        * doc/contrib/index.html: The mod_ban module was not in the contrib
        index list.  Oops.

2007-10-11  castaglia <castaglia>

        * doc/contrib/mod_dynmasq.html: Updating the mod_dynmasq docs for
        their new home.

2007-10-11  castaglia <castaglia>

        * NEWS, contrib/mod_dynmasq.c, doc/contrib/index.html,
        doc/contrib/mod_dynmasq.html: Adding the mod_dynmasq module to the
        source distribution.

2007-10-11  castaglia <castaglia>

        * doc/howto/ConfigurationTricks.html, doc/howto/index.html: Adding
        ConfigurationTricks doc to source distribution.

2007-10-11  castaglia <castaglia>

        * src/ctrls.c: Use "credentials" consistently, not the lazy "creds",
        in log messages.

2007-10-11  castaglia <castaglia>

        * configure: Updating configure.

2007-10-11  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, include/ctrls.h,
        modules/mod_ctrls.c, src/ctrls.c: Bug#2386 - Controls should use
        kernel-enforced credentials where possible.

2007-10-10  castaglia <castaglia>

        * src/ctrls.c: Revert back to using debug logging, rather than trace
        logging, for the Unix socket detection tests.  Trace logging will
        not have been initialized when Controls are initialized, so any
        trace logging done in init_ctrls() was being ignored/lost.

2007-10-10  castaglia <castaglia>

        * contrib/mod_ban.c: Turns out that testing for the _POSIX_SOURCE
        macro is a better way of knowing which typecast to use for shmdt(2).

2007-10-10  castaglia <castaglia>

        * contrib/mod_ban.c: Solaris' shmdt(2) wants a char *, not a const
        void * -- and the compiler complains every time mod_ban is compiled.
        Easy enough to fix that with a proper cast, but just for Solaris.

2007-10-10  castaglia <castaglia>

        * contrib/mod_ban.c: Seems that Solaris' getopt implementation
        prefers resetting the optind variable to 1, rather than zero, in
        order to reset the getopt(3) function.

2007-10-10  castaglia <castaglia>

        * modules/mod_auth_unix.c: Remove the caching that mod_auth_unix
        did, for the ID-to-name lookups.  This caching is now being handled
        at a higher layer, in the Auth API.

2007-10-09  castaglia <castaglia>

        * src/netaddr.c: Make sure that trace logging is done *before* the
        temporary pool (from which one of the netaddr objects may have been
        allocated) is freed.  Otherwise we might log garbage day, or trigger
        a segfault.

2007-10-09  castaglia <castaglia>

        * src/netaddr.c: Add trace logging for when comparing netaddrs
        yields no match, for completeness.

2007-10-09  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2982 - Support limit on number of
        simultaneous file transfers from one client.

2007-10-09  castaglia <castaglia>

        * NEWS, contrib/mod_wrap2_file.c: Bug#2988 - mod_wrap2_file ignores
        "ALL" keyword.

2007-10-08  castaglia <castaglia>

        * NEWS, src/auth.c: Bug#2986 - Authoritative PAM is not honored.

2007-10-08  castaglia <castaglia>

        * NEWS, contrib/mod_ban.c: Bug#2987 - Verbose ban information (i.e.
        'ftpdctl ban info -v') not working on FreeBSD.

2007-10-05  castaglia <castaglia>

        * doc/contrib/mod_ban.html: Document the new ClientConnectRate
        BanOnEvent rule.

2007-10-05  castaglia <castaglia>

        * NEWS, contrib/mod_ban.c: Bug#2979 - Ability to ban clients which
        connect too often.

2007-10-05  castaglia <castaglia>

        * modules/mod_core.c: Removing support for the deprecated
        DisplayFirstChdir directive; it has been replaced with the
        DisplayChdir directive.

2007-10-05  castaglia <castaglia>

        * contrib/mod_sql.c: Removing deprecated SQLHomedirOnDemand
        directive; it has been superceded by the CreateHome directive.

2007-10-05  castaglia <castaglia>

        * modules/mod_xfer.c: Removing support for the deprecated HiddenStor
        directive; it has been superceded by the HiddenStores directive.

2007-10-05  castaglia <castaglia>

        * doc/contrib/mod_ctrls_admin.html: Document the new 'dns clear
        cache' ftpdctl command.

2007-10-05  castaglia <castaglia>

        * NEWS, contrib/mod_ctrls_admin.c, include/netaddr.h,
        src/ftpdctl.c, src/main.c, src/netaddr.c: Bug#2925 - Add caching of
        IP address and DNS name lookups.

2007-10-05  castaglia <castaglia>

        * src/auth.c: Forgot semicolon.

2007-10-05  castaglia <castaglia>

        * NEWS, include/auth.h, src/auth.c, src/table.c: Bug#2984 -
        mod_auth_file uid2name() does not cache results causing slow LIST
        response.

2007-10-05  castaglia <castaglia>

        * configure: Updating configure.

2007-10-05  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, modules/mod_auth_unix.c: Bug#2983
        - Use getgrouplist(3) for group lookup, if available.

2007-10-05  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2969 - Allow APPE after REST.

2007-10-05  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Document the new EnableDiags TLSOption.

2007-10-05  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#2978 - Support more verbose OpenSSL
        diagnostic logging.

2007-10-05  castaglia <castaglia>

        * include/version.h: Start of a new release cycle (1.3.2).

2007-10-05  castaglia <castaglia>

        * NEWS: Forgot to update NEWS with the release time.

2007-10-05  castaglia <castaglia>

        * ChangeLog: Updating the ChangeLog.

2007-10-05  castaglia <castaglia>

        * doc/Configuration.html: Updating the HTML page with the
        configuration directives.  Also added a PDF copy of the same
        information (thanks Sven!).

2007-10-05  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec, include/version.h: Updating version
        for 1.3.1-stable.

2007-10-04  castaglia <castaglia>

        * contrib/mod_tls.c: Log a PID as an explicit unsigned int, not an
        implicit int.  Quells a compiler warning about mismatched printf
        arguments.

2007-10-04  castaglia <castaglia>

        * src/env.c: Quell a compiler warning about casting away the const
        qualifier, on systems which support the putenv(3) function.

2007-10-04  castaglia <castaglia>

        * RELEASE_NOTES: Updating the release notes, preparing for a
        release.

2007-10-04  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/ftp.pamd, contrib/dist/rpm/proftpd.spec: 
        Bug#2795 - Improvements to RPM .spec file to build more of the
        modules, plus better optional packaging organization.

2007-10-04  castaglia <castaglia>

        * include/table.h: Correct comment in table.h.

2007-10-02  castaglia <castaglia>

        * doc/howto/TLS.html: Add mention of RFC 2228, and URL, to TLS doc.

2007-10-01  castaglia <castaglia>

        * modules/mod_delay.c: Update the trace message for the other
        location in mod_delay where the DelayTable is mapped into memory.

2007-10-01  castaglia <castaglia>

        * modules/mod_delay.c: Log the table size, and the table fd, when
        attempting to map a DelayTable into memory.

2007-10-01  castaglia <castaglia>

        * doc/modules/mod_delay.html: Change to using relative URLs, so that
        the documentation can be used outside of a network connection.

2007-10-01  castaglia <castaglia>

        * doc/modules/mod_delay.html: Add notes about mod_delay usage to the
        mod_delay documentation.

2007-09-30  castaglia <castaglia>

        * src/timers.c: Catch edge case where the timers list may be
        empty/null.

2007-09-30  castaglia <castaglia>

        * NEWS, src/main.c: Bug#2981 - Command-line long options --ipv4 and
        --ipv6 do not work.

2007-09-28  castaglia <castaglia>

        * modules/mod_ls.c: If an FTP client aborted the data transfer
        during a directory listing, then a 226 response would be sent
        *twice*, e.g.:   226 Transfer complete   226 Abort successful would be seen, using the ftp(1) client.  The problem was that
        mod_ls, when closing its data connection, did not check to see if
        the transfer had been aborted.  Aborted transfers should cause the
        data connection to be closed "quietly", i.e. no sending of the
        "Transfer complete" message.  With this change, mod_ls now checks for an aborted transfer, and
        will close the data connection "quietly" when appropriate, thus
        eliminating the duplicate 226 responses.

2007-09-28  castaglia <castaglia>

        * modules/mod_ls.c: Cut down on logging an error if errno indicates
        "success"; usually this happens when the client aborted the
        directory listing.

2007-09-27  castaglia <castaglia>

        * modules/mod_xfer.c: Add some tracing to aborted transfers.

2007-09-27  castaglia <castaglia>

        * src/trace.c: Add the 'xfer' channel to the list of default trace
        channels.

2007-09-25  castaglia <castaglia>

        * contrib/mod_tls.c: No need to report on system call errors of
        "Success".

2007-09-25  castaglia <castaglia>

        * contrib/mod_tls.c: Allow handling of the PROT command after the
        CCC command has been used.  One particular FTPS client (lftp) is
        known to send PROT (again) after CCC.

2007-09-19  castaglia <castaglia>

        * doc/howto/TLS.html: Minor formatting tweak.

2007-09-19  castaglia <castaglia>

        * doc/howto/TLS.html: Add FAQ about a commonly-seen error in the
        TLSLog, and how using the NoCertRequest TLSOption may help.

2007-09-17  castaglia <castaglia>

        * NEWS, modules/Makefile.in: Bug#2974 - Install error if multiple
        modules, using their own build script, are built as shared modules.

2007-09-14  castaglia <castaglia>

        * modules/mod_core.c: When handling an EPSV command, close any
        existing data connection first.  Related to Bug #2900.

2007-09-13  castaglia <castaglia>

        * contrib/mod_tls.c: Just as we don't want to call EVP_cleanup(3) at
        session initialization time if there are other OpenSSL-using modules
        around, we don't want to unload the human-readable OpenSSL error
        strings, either.

2007-09-13  castaglia <castaglia>

        * contrib/mod_tls.c: Alter the conditions under which mod_tls calls
        EVP_cleanup(3).  Call the function when mod_tls is being unloaded,
        or when the session is exiting, without reservation.  If however the
        FTP session is being initialized, and mod_tls has been compiled but
        not enabled (i.e. the TLSEngine is off or not present), *and* any
        other known OpenSSL using modules (i.e.  mod_ldap and mod_sql) are
        present, do NOT call EVP_cleanup().  Doing so might deprive those
        other modules of OpenSSL functionality unnecessarily.  Patch suggested by Nigel Kukard a while ago.

2007-09-13  castaglia <castaglia>

        * contrib/mod_sql.c: Adding some logging about various error cases
        when using OpenSSL digests for authentication; these were
        contributed by Nigel Kukard a while ago.

2007-09-13  castaglia <castaglia>

        * modules/mod_dso.c: Fix compiler warning about redeclaring a
        variable if Controls support is enabled.

2007-09-12  castaglia <castaglia>

        * doc/howto/Vhost.html: Remove mention of the now-deprecated Bind
        directive.

2007-09-12  castaglia <castaglia>

        * contrib/mod_tls.c: When initializing mod_tls, check the version of
        the OpenSSL headers used against the version of the OpenSSL library
        used.  Refuse to load the module unless the versions match properly.
        (This will help catch systems where mismatched versions of headers
        and libraries are used inadvertently.)

2007-09-11  castaglia <castaglia>

        * modules/mod_dso.c: Add trace logging of the succesful loading of
        modules/files.

2007-09-11  castaglia <castaglia>

        * modules/mod_core.c: If the admin has specified "UseUTF8 off" in
        the proftpd.conf file, be sure to remove the UTF8 listing from the
        FEAT output.  Otherwise, clients might be a little confused.

2007-09-11  castaglia <castaglia>

        * contrib/mod_sql.c: Cast the off_t value of total_xfer_bytes
        properly, and quell warnings from picky compilers.

2007-09-11  castaglia <castaglia>

        * src/log.c: When writing to utmp/wtmp logs, we're really not
        concerned if we fail to truncate the file as requested.

2007-09-11  castaglia <castaglia>

        * modules/mod_log.c: If there was a problem writing to the
        ExtendedLog fd, be sure to log it using proftpd's logging (and hope
        that that write() succeeds).

2007-09-11  castaglia <castaglia>

        * modules/mod_delay.c: Inform picky compilers that we will be
        ignoring the return value from write(2).  This may not be the best
        behavior, but it is what we are doing.

2007-09-11  castaglia <castaglia>

        * modules/mod_xfer.c: Make sure to cast the restart_pos value (an
        off_t), in order to satisfy picky compilers.

2007-09-10  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: Fix syntax of RPM options for some
        modules.

2007-09-08  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: Update the RPM spec file to include
        the mod_wrap2 modules, mod_ban, mod_ctrls_admin, mod_site_misc, and
        the NLS capability.

2007-09-07  jwm <jwm>

        * contrib/mod_ldap.c: Fix anonymous binds when
        draft-ietf-ldapext-ldap-c-api-04 functions are used.  Submitted by: Quentin Garnier <cube@cubidou.net>

2007-09-04  castaglia <castaglia>

        * contrib/mod_tls.c: The implementation of the fix for Bug #2686
        missed a few places where we need to lookup one of the TLSRequired
        settings.

2007-08-30  castaglia <castaglia>

        * modules/mod_xfer.c: Clean up the code style in the xfer_stor()
        function.  Also add logging of the case where an lseek() fails for
        some reason.

2007-08-29  castaglia <castaglia>

        * doc/howto/SQL.html: Added SQL FAQ about shared library loader
        errors.

2007-08-24  castaglia <castaglia>

        * doc/howto/Debugging.html: Mention using `proftpd -V' in the
        Debugging howto.

2007-08-22  castaglia <castaglia>

        * src/fsio.c, src/netio.c: Surround the invocation of function
        pointers with parentheses, to help some (broken, IMHO) code
        introspection tools to be able to read the code better.

2007-08-22  jwm <jwm>

        * contrib/mod_ldap.c: missed version number

2007-08-21  castaglia <castaglia>

        * NEWS, lib/sstrncpy.c: Bug#2964 - Building RPM fails because of
        *snprintf trying to be redefined.

2007-08-17  jwm <jwm>

        * contrib/mod_ldap.c: release 2.8.17

2007-08-09  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#2963 - Use of -A option for LIST/NLST
        commands not cleared for subsequent commands.

2007-08-09  castaglia <castaglia>

        * README.facl: Remove extraneous whitespace.

2007-08-03  castaglia <castaglia>

        * NEWS, contrib/mod_wrap2/mod_wrap2.c,
        contrib/mod_wrap2/mod_wrap2.h.in, contrib/mod_wrap2_file.c,
        contrib/mod_wrap2_sql.c: Bug#2958 - mod_wrap2 does not handle
        multiple rules in access files.

2007-07-31  castaglia <castaglia>

        * modules/mod_auth.c: Coding style changes; no functional change.

2007-07-31  castaglia <castaglia>

        * NEWS, modules/mod_delay.c: Bug#2955 - Undeclared identifier
        MAP_FAILED for mod_delay on AIX.

2007-07-24  castaglia <castaglia>

        * NEWS, src/dirtree.c: Bug#2950 - Hostname with multiple IP
        addresses might cause "ai_family not supported" error if IPv6
        support enabled.

2007-07-19  castaglia <castaglia>

        * NEWS, src/proctitle.c: Bug#2947 - SIGBUS on Mac OS X when
        dynamically loading shared libs.  The solution is to set argv
        elements to the empty string, rather than NULL, so that stupid
        libraries which grovel around in argv without checking for NULL
        pointers don't crash.  Silly libraries.

2007-07-18  castaglia <castaglia>

        * NEWS, modules/mod_facl.c: Bug#2946 - Anonymous logins fail if the
        mod_facl module is enabled.

2007-07-07  jwm <jwm>

        * contrib/mod_ldap.c:   mod_ldap 2.8.17-20070707:     fix LDAPServer handling; config_rec argv arrays don't contain
            the directive name in index 0.

2007-07-06  castaglia <castaglia>

        * contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Correct
        misspellings.

2007-07-06  castaglia <castaglia>

        * NEWS, contrib/mod_sql_mysql.c: Bug#2944 - mod_sql_mysql fails to
        compile due to missing quotation.

2007-07-05  castaglia <castaglia>

        * NEWS, include/version.h: Reset files for 1.3.1rc4.

2007-07-04  castaglia <castaglia>

        * ChangeLog: Updating ChangeLog.

2007-07-04  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec, include/version.h: Preparing for
        1.3.1rc3 release.

2007-07-04  castaglia <castaglia>

        * RELEASE_NOTES: Updating the release notes, getting ready for a
        release.

2007-07-04  castaglia <castaglia>

        * contrib/mod_wrap2_file.c: A recent innocuous change to
        mod_wrap2_file turned out to be not so innocuous; a static buffer
        was made non-static, and terror and madness ensued.  To fix this
        (and avoid the distasteful static buffer), mod_wrap2_file now makes
        duplicates of the parsed buffers using the table pool (for just such
        purposes).  This patch also cleans up the handling of the service
        and client lists in the file.

2007-07-02  jwm <jwm>

        * contrib/mod_ldap.c: 2.8.17-20070701:   don't use a separate directive (LDAPURL) to specify LDAP URLs;
          support them in LDAPServer instead - add ldap url support, via the LDAPURL directive - add ldaps (ldap over ssl) support, via the LDAPUseSSL directive
          and ldaps:// scheme to LDAPURL - refine tls debugging statement

2007-07-02  castaglia <castaglia>

        * RELEASE_NOTES: Updating release notes.

2007-07-02  castaglia <castaglia>

        * contrib/mod_wrap2/mod_wrap2.c: Make sure that mod_wrap2 honors the
        runtime UseIPv6 configuration directive.

2007-06-28  castaglia <castaglia>

        * doc/howto/Timestamps.html: Add a little more substance to the
        Timestamps howto, to remind readers that they need to think for
        themselves a little, and read their system docs.

2007-06-28  castaglia <castaglia>

        * modules/mod_auth.c: The clearing of any cached directory config
        pointers, as a fix for Bug #2939, was a little too aggressive.  We
        only need to clear those pointers once, prior to calling
        setup_env().

2007-06-25  castaglia <castaglia>

        * contrib/mod_wrap2_file.c: Attempt to log a more informative
        message if a too-long multiline is found.  Also add support for
        allocating a larger buffer for such lines at compile time.

2007-06-25  castaglia <castaglia>

        * NEWS, contrib/mod_ban.c: Bug#2942 - BanLog directive does not
        accept "none" parameter.

2007-06-25  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#2939 - Anonymous restrictions apply
        after a failed anonymous login followed by a successful normal user
        login.

2007-06-19  castaglia <castaglia>

        * NEWS: Fix typos.

2007-06-18  castaglia <castaglia>

        * doc/howto/Quotas.html: Add a FAQ about group quota determination.

2007-06-12  castaglia <castaglia>

        * src/auth.c: Yet another patch, working on the PAM-related fallout
        from Bug #2922.

2007-06-12  castaglia <castaglia>

        * modules/mod_auth_file.c: Remove some debug logging which
        inadvertently crept into mod_auth_file.

2007-06-12  castaglia <castaglia>

        * contrib/mod_sql.c: For symmetry, log a message in the SQLLogFile
        when a particular SQLAuthType handler fails.  This complements the
        log message already written when the handler indicates success.

2007-06-11  castaglia <castaglia>

        * NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#2938 - mod_wrap2 does not
        honor WrapTables for <Anonymous> logins.

2007-06-07  castaglia <castaglia>

        * contrib/mod_ifsession.c, contrib/mod_rewrite.c: Add reporting of
        the module version for the mod_ifsession and mod_rewrite modules.

2007-06-04  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2935 - DELE command doesn't check
        file stat result before logging.

2007-06-04  jwm <jwm>

        * contrib/mod_ldap.c: 2.8.17-20070603: * Use non-deprecated LDAP API functions if the LDAP SDK is new
          enough to comply with draft-ietf-ldapext-ldap-c-api-04.

2007-05-30  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2900 - Some kernels incorrectly
        reuse IPv6 ports for EPSV command.  Rather than relying on untrusted
        kernel behavior (i.e. assigning a random _unused_ port if port zero
        is used in a bind() call), proftpd now explicitly chooses a random
        port (using the same technique as used for PassivePorts) when
        handling the EPSV command.  Note that the PassivePorts directive
        still works properly for this port selection.

2007-05-26  castaglia <castaglia>

        * doc/howto/Quotas.html: Add a FAQ about the QuotaExcludeFilter
        directive.

2007-05-24  castaglia <castaglia>

        * doc/howto/Tracing.html: No need for the quotations -- they're a
        bit much.

2007-05-24  castaglia <castaglia>

        * RELEASE_NOTES, doc/howto/Tracing.html, doc/howto/index.html: 
        Adding tracing howto.

2007-05-24  castaglia <castaglia>

        * src/help.c: The list of commands displayed for the HELP command
        was being truncated.  Fix suggested by Richard Gray.

2007-05-23  castaglia <castaglia>

        * README.PAM: Update the PAM readme with notes for Linux, per
        Bug#2907.

2007-05-22  castaglia <castaglia>

        * NEWS, utils/ftptop.1.in, utils/ftptop.c: Bug#2923 - ftptop display
        flickers if delay is greater than 25 seconds.  Simply accept only
        delay values between zero and 15 seconds.

2007-05-22  castaglia <castaglia>

        * configure: Updating configure.

2007-05-22  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, src/fsio.c: Bug#2934 - Function
        perm_copy_fd() not in older Linux libacl versions.  Test for that
        function, and use acl_get_fd(3) and acl_set_fd(3) if not present.

2007-05-22  castaglia <castaglia>

        * include/options.h: Minor style nit.  No functional change.

2007-05-21  castaglia <castaglia>

        * src/inet.c: Use tracing to log if there was a problem using
        getsockopt() to get the IPV6_V6ONLY option.

2007-05-21  castaglia <castaglia>

        * NEWS, src/inet.c: Bug#2932 - Syslog contains "error setting
        IPV6_V6ONLY: Protocol not available".

2007-05-21  castaglia <castaglia>

        * doc/howto/Directory.html: Include RNTO in the list of FTP commands
        affected by trailing "/*" suffixes in <Directory> lines.

2007-05-21  castaglia <castaglia>

        * src/auth.c: Additional patch for Bug#2922, to check for and use
        mod_auth_pam for authentication, if present (and usable).

2007-05-21  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#2890 - SystemLog permission errors on
        SIGHUP when mod_tls is enabled.

2007-05-19  castaglia <castaglia>

        * modules/mod_facl.c: Use the event handler defined for the
        "core.module-unload" event, when compiled as a DSO module.

2007-05-16  castaglia <castaglia>

        * modules/mod_facl.c: Declare the facl_module variable before using
        it.  This isn't a problem for most builds, but for proftpds built
        with DSO support and with a DSO mod_facl, it's a compilation error.

2007-05-15  castaglia <castaglia>

        * src/netio.c: More work towards Bug#2920.  Hopefully this will be
        the last of that particular issue.

2007-05-15  castaglia <castaglia>

        * modules/mod_xfer.c: Short-circuit out of xfer_rate_throttle()
        early, if the transfer has already been aborted.

2007-05-15  castaglia <castaglia>

        * doc/howto/Timestamps.html: Adjust link to mod_site_misc docs to
        use the local copy.

2007-05-15  castaglia <castaglia>

        * doc/howto/Timestamps.html: Start adding a FAQ section about
        timezones and timestamps.

2007-05-15  castaglia <castaglia>

        * modules/mod_xfer.c, src/data.c: More checks of XFER_ABORTED, in
        pursuit of a solution for Bug#2920.

2007-05-14  castaglia <castaglia>

        * modules/mod_xfer.c: Attempt to handle aborted transfers that were
        in the midst of being throttled.

2007-05-14  castaglia <castaglia>

        * modules/mod_xfer.c: Do not block SIGURG (used to abort transfers)
        when handling throttled transfers.

2007-05-10  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c, src/data.c, src/inet.c, src/netio.c: 
        Bug#2920 - ABOR command not handled during data transfer.  Bug#2924
        - DeleteAbortedStores doesn't work when the ABOR command is used.

2007-05-10  castaglia <castaglia>

        * src/inet.c, src/netio.c: Add tracing of aborted connections.  Also
        corrects an issue where a lingering close was happening *twice*,
        once per stream (input and output), whereas only one lingering close
        (or lingering abort) is needed.  Came out of investigating Bug#2920.

2007-05-10  castaglia <castaglia>

        * src/main.c: Add tracing of received FTP commands.

2007-05-09  castaglia <castaglia>

        * contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Check to see
        if the SQL backend module (either MySQL or Postgres) has been
        properly initialized, prior to attempting to use the connection
        pool.  Failure to do so, in inadvertently misconfigured proftpds,
        was leading to NULL pointer dereference segfaults.

2007-05-07  castaglia <castaglia>

        * NEWS, modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c: 
        Bug#2864 - DisplayLogin should work regardless of chroot.  This
        feature includes DisplayQuit and DisplayTransferFiles as well.  To make this work, the configured Display files must use absolute
        paths.  ProFTPD will then open an fd on those files, prior to
        chroot(2), such that the fds, on paths outside of the chroot(), are
        accessible once the process has been chrooted.

2007-05-04  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#2921 - NLST fails if using POSIX ACLs.

2007-05-04  castaglia <castaglia>

        * modules/mod_facl.c: Add more tracing of POSIX ACL functions,
        particularly on BSD and Linux, in order to get better views of
        errors.  Fix some stupid printf format thinkos.  Add function to
        convert between a mode_t, used for access(2), to an acl_perm_t, used
        for acl_get_perm(2) on BSD and Linux.  Hopefully this clears up some of the issues for Bug #2661.

2007-04-30  castaglia <castaglia>

        * modules/mod_facl.c: Fix the initialization of mod_facl's
        configuration directives.  Oops.

2007-04-24  castaglia <castaglia>

        * src/netio.c: Guard against using negative numbers when calling
        FD_SET.  The FD_SET macro expects an fd, and if that fd is less than
        zero, the results are unpredictable (crashes, silent failures, just
        works, hangs, etc).

2007-04-18  castaglia <castaglia>

        * modules/mod_facl.c: More tracing of POSIX ACLs on Solaris.  Looks
        like the implementation changed on Solaris 10 for certain
        filesystems (ZFS, NFSv4).

2007-04-17  castaglia <castaglia>

        * NEWS, include/auth.h, modules/mod_core.c, src/auth.c: Bug#2922 -
        Auth API allows one auth module to authenticate user data provided
        by a different auth module.

2007-04-17  castaglia <castaglia>

        * src/fsio.c: Include the paths in the trace messages about which FS
        is used for a given filesystem access call.  This will be useful in
        developing and debugging FSIO modules, e.g. mod_facl.

2007-04-16  castaglia <castaglia>

        * sample-configurations/mod_sql.conf: Do not use 'Plaintext' as a
        example SQLAuthTypes parameter, since too many people blindly copy
        examples as-is, then blame you for the consequences.

2007-04-02  castaglia <castaglia>

        * src/inet.c: Allow data transfers on low-numbered sockets to work
        on SCO Unix.

2007-04-02  castaglia <castaglia>

        * NEWS, modules/mod_ls.c, src/data.c: Bug#2911 - NLST on a
        nonexistent path, followed by an NLST on an existing file, causes
        segfault.

2007-03-28  castaglia <castaglia>

        * src/parser.c: Cleanup pr_parser_cleanup().  First, return EPERM if
        the parser stack is not in a state when it can be properly cleaned
        up.  Second, reset stack pointers to NULL even when there is no
        parser pool provided.

2007-03-28  castaglia <castaglia>

        * src/parser.c: Tag the temporary pool right after its creation, not
        after it has been used.

2007-03-28  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2913 - TYPE command does not clear
        ASCII flag from LIST/NLST commands.

2007-03-28  castaglia <castaglia>

        * contrib/mod_rewrite.c: Updating coding style in a few places.  No
        functional change.

2007-03-27  castaglia <castaglia>

        * config.guess, config.sub, contrib/mod_load/config.guess,
        contrib/mod_load/config.sub, lib/libltdl/config.guess: Updated the
        config.guess and config.sub scripts, used by the configure script
        for platform detection, to the versions shipped with autoconf-2.61.

2007-03-22  castaglia <castaglia>

        * src/dirtree.c: Formatting tweaks, no functional change.

2007-03-09  castaglia <castaglia>

        * sample-configurations/anonymous.conf,
        sample-configurations/basic.conf,
        sample-configurations/complex-virtual.conf,
        sample-configurations/mod_sql.conf: Update the example config files
        to use DisplayChdir, rather than the deprecated DisplayFirstChdir
        directive.

2007-03-09  castaglia <castaglia>

        * modules/mod_core.c: Bar configurations like:   PassivePorts 2222 2222 where the max and min port numbers are the same; it's a useless
        configuration.

2007-03-06  castaglia <castaglia>

        * doc/contrib/mod_ban.html: Add a FAQ about using a delay, rather
        than session termination, for banned clients, and why that is a bad
        idea.

2007-03-06  castaglia <castaglia>

        * README.PAM: Typo.

2007-03-01  castaglia <castaglia>

        * NEWS: Fix typo noted by Sven.

2007-02-21  jwm <jwm>

        * contrib/mod_ldap.c: - bump version - previous commit wrt LDAPAttr fetching was submitted by TJ Saunders   <tj@castaglia.org>; got a little fresh with my editor and missed
          the paste

2007-02-21  jwm <jwm>

        * contrib/mod_ldap.c: fetch attribute redefinitions (LDAPAttr)
        before using any attribute names, such as when generating the
        default search filters

2007-02-21  jwm <jwm>

        * contrib/mod_ldap.c: wordwrap, error message tweak

2007-02-20  castaglia <castaglia>

        * doc/contrib/mod_quotatab_radius.html, doc/contrib/mod_radius.html: 
        Fix the documentation for the RadiusQuotaInfo.

2007-02-20  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c: Bug#2906 - RewriteCondition
        backreferences not properly substituted.

2007-02-20  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2902 - Stack read overrun in
        mod_xfer on 32bit platform.  Use an explicit compiler cast to ensure
        that the proper data type size is used in the arguments for a
        variadic function.

2007-02-20  castaglia <castaglia>

        * contrib/mod_quotatab_radius.c: Need to include mod_quotatab.h,
        which includes the ProFTPD headers, before doing the ProFTPD version
        check.

2007-02-16  castaglia <castaglia>

        * doc/howto/TLS.html: Add FAQ about SSL/TLS renegotiations, and how
        some FTPS clients do not handle them well.

2007-02-15  castaglia <castaglia>

        * RELEASE_NOTES: Note new doc for 1.3.1rc3 release, whenever that
        is.

2007-02-15  castaglia <castaglia>

        * doc/howto/Timestamps.html, doc/howto/index.html: Add a document
        talking about timestamps and chroots (see Bug #2717, Bug #2896).

2007-02-15  castaglia <castaglia>

        * configure: Updated configure.

2007-02-15  castaglia <castaglia>

        * lib/pr-syslog.c, src/support.c: Use the feature macro to determine
        if tzname is actually present to be guarded.

2007-02-15  castaglia <castaglia>

        * config.h.in, configure.in: We're really only concerned with the
        tzname global variable, not with the timezone and daylight global
        variables.  For now, anyway.

2007-02-15  castaglia <castaglia>

        * config.h.in, configure.in: Be defensive, and add autoconf
        detection for the tzname, timezone, and daylight global variables.

2007-02-15  castaglia <castaglia>

        * contrib/mod_quotatab.c, contrib/mod_radius.c,
        contrib/mod_rewrite.c, contrib/mod_sql.c, contrib/mod_tls.c,
        contrib/mod_wrap2/mod_wrap2.c, modules/mod_ctrls.c, src/support.c,
        src/trace.c: Replace calls to localtime(3) throughout the proftpd
        code with calls to pr_localtime().

2007-02-15  castaglia <castaglia>

        * src/log.c: Missed a call to localtime(3) that needs to replaced
        with pr_localtime().

2007-02-15  castaglia <castaglia>

        * modules/mod_log.c, src/ftpdctl.c, src/log.c: Update mod_log and
        the core logging to use pr_localtime(), which guards against
        localtime(3) resetting the tzname global variable to an
        unexpected/wrong timezone (i.e. GMT) in a chrooted process.

2007-02-15  castaglia <castaglia>

        * src/support.c: Update pr_localtime() so that it no longer requires
        a pool.  If a pool is provided, it will be used, otherwise, the
        struct tm * from localtime(3) will be returned as is.

2007-02-15  castaglia <castaglia>

        * src/support.c: For functions which use pr_localtime() (and there
        should be more of them), protect the tzname global variable values,
        to guard against localtime(3) twiddling with the tzname variable.
        This twiddling causes weird values once the process is chrooted.

2007-02-15  castaglia <castaglia>

        * modules/mod_log.c: Remove a section of code which relies on a
        macro, HAVE_GMTOFF, which has not be defined by proftpd's configure
        script in who knows how long.  This investigation was prompted by looking into Bug #2896.

2007-02-15  castaglia <castaglia>

        * src/ftpdctl.c, src/log.c: When writing to the log fd, check for
        errors, and specifically try the write(2) call again if the call was
        interrupted.

2007-02-13  castaglia <castaglia>

        * modules/mod_xfer.c: Forgot to log one of the reasons for not using
        sendfile(): UseSendfile set to 'off'.

2007-02-13  castaglia <castaglia>

        * modules/mod_xfer.c: Add debug logging, level 10, showing when
        sendfile is used, or isn't used.  And if sendfile isn't used, log
        the reason.

2007-02-13  castaglia <castaglia>

        * src/dirtree.c: Fix typo.

2007-02-12  castaglia <castaglia>

        * src/dirtree.c: A further optimization, suggested by Glenn Nielsen.
        In the find_best_dir() function, the paths being compared always
        come from c->name, which means that it's actually OK to do direct
        pointer comparison, rather than using strcmp().  Only time will tell
        whether this is a too-clever optimization.

2007-02-12  castaglia <castaglia>

        * src/dirtree.c: Make some minor optimizations to the
        dir_match_path() function.  Specifically, call strlen() only once
        when necessary (rather than multiple times), and reorder checks such
        that strcmp() checks, the most expensive of the checks, are done
        *last*, rather than first.  The goal is to scan the directory path
        string as few times as possible; given many such directory path
        strings, each scan adds up.

2007-02-12  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c: Bug#2897 - mod_quotatab subtracts
        size of deleted file from bytes-transferred tally.

2007-02-08  castaglia <castaglia>

        * modules/mod_auth.c: Add explanatory comment about checks for
        session.gids, session.groups.

2007-02-08  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#2893 - ProFTPD can use the wrong
        group data if the user name changes.

2007-01-19  castaglia <castaglia>

        * NEWS, modules/mod_lang.c: Bug#2883 - Problem with locale and SQL
        database queries.

2007-01-19  castaglia <castaglia>

        * locale/files.txt: Update the list of source files in
        locale/files.txt.

2007-01-19  castaglia <castaglia>

        * locale/Makefile.in: Fixed typos in command used to generate
        files.txt.

2007-01-19  castaglia <castaglia>

        * NEWS, include/modules.h, modules/mod_core.c, modules/mod_lang.c,
        src/main.c, src/modules.c: Bug#2881 - ProFTPD does not support OPTS
        UTF8 command when --enable-nls is used.

2007-01-18  castaglia <castaglia>

        * src/trace.c: The list of channel names should be named
        'trace_channels', not 'trace_levels'.  What was I thinking?

2007-01-18  castaglia <castaglia>

        * NEWS, include/conf.h, include/log.h: Bug#2878 - Error compiling
        proftpd on Solaris 2.9 using --with-lastlog.

2007-01-18  castaglia <castaglia>

        * contrib/mod_tls.c: Update mod_tls to use the pr_env_* functions.
        This also eliminates a lot of #ifdef PR_USE_DEVEL checks in the
        mod_tls code -- hooray!

2007-01-18  castaglia <castaglia>

        * include/env.h, src/env.c: Add some documentation to the pr_env_*
        functions in the header.  Also beef up the code in env.c, such that
        it is prepared for memory checker programs (e.g. Valgrind) in cases
        where --enable-devel is used.  This makes it possible to clean up
        some ugly #ifdef checks elsewhere (e.g.  mod_tls).

2007-01-17  castaglia <castaglia>

        * contrib/mod_sql.c: Update mod_sql.c to use pr_env_get() rather
        than getenv(3).

2007-01-17  castaglia <castaglia>

        * configure: Updated configure.

2007-01-17  castaglia <castaglia>

        * configure.in, contrib/mod_tls.c, src/main.c, src/proctitle.c: The
        proper macro to use is PR_USE_DEVEL, not PR_DEVEL.

2007-01-17  castaglia <castaglia>

        * configure: Updated configure.

2007-01-17  castaglia <castaglia>

        * configure.in: Add printing of "checking for" messages when
        scanning for the list of usual suspects of lastlog locations.  Related to Bug #2878.

2007-01-17  castaglia <castaglia>

        * configure: Updated configure.

2007-01-17  castaglia <castaglia>

        * configure.in: Fix the configure script to properly use the
        pr_lastlog_path variable (it was using spaces around the '='
        operator, which the shell may not like).  Part of Bug #2878.

2007-01-17  castaglia <castaglia>

        * NEWS, src/inet.c: Bug#2877 - ServerType 'inetd' results in
        "getnameinfo error: ai_family not supported" errors in log.

2007-01-17  castaglia <castaglia>

        * src/main.c: Remove the redundant is_standalone variable; it can be
        replaced with checks against the global variable ServerType.

2007-01-16  castaglia <castaglia>

        * Makefile.in: The -lsupp LIBS flag is now populated in the
        UTILS_LIBS variable, so there is no need for the hardcoded flag as
        well.

2007-01-16  castaglia <castaglia>

        * src/main.c: A bad patch mixed up the ordering of settings
        displayed via show_settings().

2007-01-16  castaglia <castaglia>

        * src/env.c: Fix bug in pr_env_set() on systems that have putenv(3)
        rather than setenv(3).

2007-01-15  castaglia <castaglia>

        * configure: Updated configure.

2007-01-15  castaglia <castaglia>

        * configure.in: Do not scan a mod_foo.h.in file, assuming a
        module-specific subdirectory, for build system hints.  A .in file
        needs to be processed (as via the module's own configure script),
        and should not be scanned until after that processing.

2007-01-15  castaglia <castaglia>

        * NEWS: Forgot to list Bug #2875 in the NEWS file.

2007-01-15  castaglia <castaglia>

        * modules/mod_ctrls.c: Use a socklen_t, rather than a size_t, for
        accept(2).

2007-01-15  castaglia <castaglia>

        * configure: Updated configure.

2007-01-15  castaglia <castaglia>

        * configure.in: Bug#2875 - Malformed getopt checks cause compilation
        errors in getopt.c.

2007-01-14  castaglia <castaglia>

        * configure: Updated configure.

2007-01-14  castaglia <castaglia>

        * configure.in: There's no need to define PR_USE_SENDFILE as zero.

2007-01-13  castaglia <castaglia>

        * include/proctitle.h, src/main.c, src/proctitle.c: Move the
        proctitle functions into the 'pr_' namespace, just to be safe (and
        consistent).

2007-01-13  castaglia <castaglia>

        * doc/contrib/mod_quotatab.html: Specify what I mean when I say
        "groups" and "classes".

2007-01-13  castaglia <castaglia>

        * include/pidfile.h, src/main.c, src/pidfile.c: Move the pidfile
        functions into the 'pr_' namespace, so that they don't collide with
        functions of the same names on systems whose <libutil.h> system
        header defines them (with conflicting prototypes).  Yay portability.

2007-01-13  castaglia <castaglia>

        * locale/.cvsignore: Another .cvsignore file for locale/.

2007-01-12  castaglia <castaglia>

        * contrib/mod_load/.cvsignore, contrib/mod_wrap2/.cvsignore: Add
        .cvsignore files for the mod_load/ and mod_wrap2/ directories.

2007-01-12  castaglia <castaglia>

        * include/version.h: Back to CVS status, for the next RC release.

2007-01-12  castaglia <castaglia>

        * ChangeLog: Updated ChangeLog.

2007-01-12  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
        for 1.3.1rc2 release.

2007-01-12  castaglia <castaglia>

        * RELEASE_NOTES: Adding release notes for 1.3.1rc2.

2007-01-12  castaglia <castaglia>

        * doc/howto/TLS.html: Add a mod_tls FAQ about the "no shared cipher"
        error.

2007-01-12  castaglia <castaglia>

        * src/fsio.c: In the case of successful chown() and chmod() calls,
        clear the statcache, as the cached data may now be stale.

2007-01-12  castaglia <castaglia>

        * src/env.c, src/pidfile.c, src/proctitle.c: Correct the license
        wording to mention The ProFTPD Project as primary copyright holder.

2007-01-12  castaglia <castaglia>

        * Make.rules.in, include/conf.h, include/env.h, include/support.h,
        src/env.c, src/support.c: Refactored the pr_env_* routines into
        their own source and header files.

2007-01-11  castaglia <castaglia>

        * src/ftpdctl.c: Since src/ftpdctl.c has its own copy of sstrcat()
        and sstrncpy() (itself a bad sign), it needs to have the same
        paranoid checks added to those functions as were added to the core
        implementations.

2007-01-11  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: When 'ftpdctl shutdown' is used,
        include the number of sessions being summarily terminated (after a
        grace period) in the ControlsLog message.

2007-01-11  castaglia <castaglia>

        * Make.rules.in, include/conf.h, include/pidfile.h, src/main.c,
        src/pidfile.c: More refactoring of src/main.c.  Now the PID file
        routines (writing and removing the pidfile) are separated out.

2007-01-11  castaglia <castaglia>

        * Make.rules.in, include/conf.h, include/proctitle.h, src/main.c,
        src/proctitle.c: The src/main.c file is a bit hairy mess, and in
        desperate need of refactoring.  This moves the process title
        functions into their own proctitle.c file, with accompanying header.

2007-01-11  castaglia <castaglia>

        * contrib/mod_sql.c: Another in the series of patches for Bug#2869,
        this one makes sure that sites which use the 'fast' parameter in
        SQLAuthenticate still operate properly.

2007-01-11  castaglia <castaglia>

        * src/pool.c: The bytes_in_block_list() function should be #ifdef'd
        as well behind PR_USE_DEVEL.

2007-01-11  castaglia <castaglia>

        * include/compat.h, include/dirtree.h, include/fsio.h,
        include/pool.h, src/dirtree.c, src/fsio.c, src/main.c, src/pool.c: 
        Move a lot of functions, either existing or new, behind PR_USE_DEVEL
        checks, since a lot of functions are meant only for the debugging
        purposes of proftpd developers.  (Hopefully this will make the
        resulting proftpd executable slightly smaller.)  There will be more
        such debugging functions added; they are meant as hooks utilized by
        a mod_debug module (again, only for developer use).  The only user-visible change in this is that the SIGUSR2 signal,
        when sent to a proftpd process, would cause that process to print
        out a trace of its memory pool usage.  Now, a SIGUSR2 signal will
        cause an event to be generated -- but the printing of the memory
        pool usage is gone.  I may add that back at some point, if/when
        there is a hue and cry raised.

2007-01-10  castaglia <castaglia>

        * configure: Updated configure.

2007-01-10  castaglia <castaglia>

        * configure.in: Thinko.

2007-01-10  castaglia <castaglia>

        * Make.rules.in, lib/Makefile.in: Put the declarations for ar and
        ranlib in a place that's visible to contrib modules (namely,
        Make.rules).  Update the lib/Makefile to use that location; while
        I'm at it, remove the stale dependency listings from lib/Makefile.

2007-01-10  castaglia <castaglia>

        * configure: Updated configure.

2007-01-10  castaglia <castaglia>

        * contrib/mod_load/config.guess, contrib/mod_load/config.sub: The
        configure script for the mod_load module requires the config.sub and
        config.guess helper scripts.

2007-01-10  castaglia <castaglia>

        * configure.in: Check for the existence of the file before trying to
        cat it.

2007-01-10  castaglia <castaglia>

        * configure: Updated configure.

2007-01-10  castaglia <castaglia>

        * Make.rules.in, Makefile.in, configure.in: Even more build system
        magic.  With this change, we add support for a new "hint" tag:
        $Archive$.  This particular tag is *only* honored in a very
        particular situation: the contrib module uses its own subdirectory
        (e.g.  contrib/mod_foo/) *and* that module is being built as a
        static module.  Contrib modules built as shared modules fall into
        different linking rules.  The purpose of this $Archive$ tag is to allow the Makefile for that
        mod_foo module to be built from multiple source files, which would
        result in multiple object files.  All of those object files would
        need to be part of the command to link the final `proftpd'
        executable.  (A shared module would not need to present for this
        link step.) Rather than have multiple object files from contrib modules, it
        involves less files (though at the cost of more complexity) to use a
        single archive file, e.g. mod_foo.a.  The Makefile for the contrib
        module, for its "static" target, will thus need to assemble a
        mod_foo.a archive from the various .o files.  When this happens, the
        contrib module uses the $Archive$ hint (similar to the $Libraries$
        hint) to let proftpd's module build system know to expect that
        archive file.

2007-01-09  castaglia <castaglia>

        * configure: Updating configure.

2007-01-09  castaglia <castaglia>

        * configure.in: More build system magic.  This allows contrib module
        developers, who use their own module-specific subdirectory e.g.
        contrib/mod_foo/, to have the $Libraries$ tags in their mod_foo.c,
        mod_foo.h, or mod_foo.h.in files be properly picked up by proftpd's
        build system, just as happens for a module in contrib/mod_foo.c.

2007-01-09  castaglia <castaglia>

        * configure: Updating configure.

2007-01-09  castaglia <castaglia>

        * contrib/mod_load/Makefile.in, contrib/mod_wrap2/Makefile.in: 
        There's no need to redefine LIBS, then use it in the link command.
        Just use SHARED_MODULE_LIBS directly, and don't obfuscate the
        matter.

2007-01-09  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: Add DSO and lastlog support to the
        RPM spec.

2007-01-09  castaglia <castaglia>

        * Make.rules.in, configure.in, contrib/mod_load/Makefile.in,
        contrib/mod_wrap2/Makefile.in: Tweak the build system so that any
        LIBS specified on the command-line are picked up when building
        shared modules whose sources are in their own directory (e.g.
        mod_load, mod_wrap2).  This may sound like a bit of an edge case,
        but I suspect that it will become a necessity once proftpd supports
        having contrib modules that come with their own message catalogs
        (i.e. NLS support), and thus may need to be linked against the
        libintl library (which provides gettext() support).

2007-01-09  castaglia <castaglia>

        * src/modules.c: Set errno to EINVAL, when appropriate, in a few
        places.

2007-01-09  castaglia <castaglia>

        * src/parser.c: Paranoid checking of signals within a while loop, in
        case the loop should decide to continue endlessly.

2007-01-08  castaglia <castaglia>

        * src/auth.c: Make sure that dispatch_auth() does not loop
        endlessly, if there are never any ERROR or HANDLED returns from the
        auth module handlers.  Simply keep track of the starting table, and
        watch the iterator table; when the two match, we have looped through
        the auth handlers, and will assume that the entire auth command has
        been DECLINED.

2007-01-08  castaglia <castaglia>

        * modules/Makefile.in, src/Makefile.in, utils/Makefile.in: Remove
        crufty, outdated, and unnecessary dependency listings.

2007-01-08  castaglia <castaglia>

        * configure: Updated configure.

2007-01-08  castaglia <castaglia>

        * config.h.in, configure.in, include/support.h, lib/getopt.h: I
        discovered last night that proftpd's build system was not doing as
        advertised.  Specifically, it continued to build the bundled getopt
        implementation regardless of whether the host system had its own
        getopt support.  (I discovered this on Mac OS X, whose linker is
        apparently more picky that the one on my Linux machine, and which
        was complaining of multiply defined _opt* symbols.) This changes updates the build system so that it does as stated: if
        the host system does not have getopt support, we use our own.

2007-01-08  castaglia <castaglia>

        * src/auth.c: Yet another while loop in need of signal handling.

2007-01-07  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: Add controls support to the RPM
        spec.

2007-01-07  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: Include the installed header files
        in the RPM spec.  Add ability for specifying mod_quotatab_file.

2007-01-06  castaglia <castaglia>

        * doc/howto/TLS.html: Add documentation mentioning the CCC command,
        and how to configure mod_tls such that command is allowed for FTPS
        clients.

2007-01-06  castaglia <castaglia>

        * contrib/mod_tls.c: If the TLSRequired setting is such that the
        control connection *cannot* be unprotected, then be sure to deny any
        CCC commands.

2007-01-04  castaglia <castaglia>

        * src/support.c: Fix dir_abs_path() such that it does not tack on
        redundant directories to the end of a relative path.

2007-01-03  castaglia <castaglia>

        * modules/mod_auth_file.c: Remember to use PR_DECLINED rather than
        DECLINED.

2007-01-03  castaglia <castaglia>

        * modules/mod_auth_file.c: Paranoid checking for a NULL return value
        from crypt(3), just in case.  One user's debug logs suggest a
        segfault in mod_auth_file's "check" routine.  Might end up be a red
        herring, but this code is still useful.

2007-01-03  castaglia <castaglia>

        * contrib/mod_sql.c: Make sure that "SQLAuthenticate groupset" works
        properly.

2007-01-03  castaglia <castaglia>

        * Make.rules.in: Make sure the LIBS environment variable is honored
        when linking the utility programs (i.e. ftptop, ftpwho).

2007-01-02  castaglia <castaglia>

        * doc/contrib/mod_quotatab_ldap.html: Minor clarification.

2006-12-28  castaglia <castaglia>

        * NEWS, src/mkhome.c: Bug#2872 - CreateHome doesn't recreate
        symlinks from skeleton properly.

2006-12-27  castaglia <castaglia>

        * src/parser.c: Fix a nasty bug where a <Directory> section which
        contained a <Limit> section, but no other directives, e.g.:   <Directory /path>     <Limit LIST>       DenyAll     </Limit>   </Directory> was handled as being "empty", and thus ignored; the <Limit> would
        not take effect.

2006-12-22  castaglia <castaglia>

        * contrib/mod_sql.c: Paranoid NULL termination of vararg lists to
        the sql_prepare_where() variadic function.

2006-12-22  castaglia <castaglia>

        * contrib/mod_sql.c: Additional work toward Bug #2869, trying to
        preserve the functionality added for Bug #2828.  (That is, make sure
        that variables within the user-defined SQLGroupWhereClause are still
        processed/resolved properly.)

2006-12-22  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#2869 - mod_sql botches WHERE clauses.

2006-12-21  castaglia <castaglia>

        * contrib/mod_ratio.c, include/dirtree.h, src/dirtree.c: It's past
        time to get rid of get_param_int().  This function was very naught,
        and used the size of a void * for storing int values.  The rest of
        the proftpd code has been cleansed of its use (replaced with
        get_param_ptr()); mod_ratio was the last holdout.

2006-12-21  castaglia <castaglia>

        * src/dirtree.c: "Temporary" fix has been in place for years; remove
        the misleading comment and commented-out code, since it's proven
        itself to not be needed.

2006-12-20  castaglia <castaglia>

        * contrib/mod_load/install-sh, contrib/mod_wrap2/install-sh,
        include/install-sh, locale/install-sh, modules/install-sh: For
        platforms which don't have a standard `install' program, we provide
        the install-sh script.  On those platforms, though, this script
        needs to be in the same directories as the Makefiles which use
        install, rather than just in the top-level directory.

2006-12-20  castaglia <castaglia>

        * modules/mod_core.c, src/trace.c: Fixing two issues with this
        change: 1) Once set in a config file, the Trace/TraceLog directives were
           always being honored, even after those directives had been removed
           from the config file and proftpd restarted.  2) After a restart, the TraceLog fd would often be the same as used
           for connected clients, with the result that the clients would
           receive some of the trace log messages.  To address this, we need to
           ensure that the TraceLog fd is never one of the major three (stdin,
           stdout, or stderr).

2006-12-19  castaglia <castaglia>

        * src/parser.c, src/trace.c: Adding tracing of the parser, using the
        'config' trace channel.

2006-12-19  castaglia <castaglia>

        * src/netaddr.c: More tracing of netaddr functions, particularly in
        the reverse DNS resolution code.

2006-12-19  castaglia <castaglia>

        * modules/mod_auth_pam.c: Adding tracing of PAM.

2006-12-19  castaglia <castaglia>

        * src/netaddr.c: Adding tracing of netaddr functions, using the
        trace channel name 'dns'.

2006-12-19  castaglia <castaglia>

        * modules/mod_facl.c, src/trace.c: Adding tracing of POSIX ACLs.

2006-12-19  castaglia <castaglia>

        * contrib/mod_quotatab.c: Make sure we remove mod_quotatab's custom
        FS, if registered, when the module is being unloaded (as a shared
        module).

2006-12-19  castaglia <castaglia>

        * NEWS, src/event.c: Bug#2857 - Failure to properly unregister event
        handlers leads to segfault after restarts.  When scanning the lists of event handlers to find the handlers to
        remove, we need to make sure we cover all lists, not short-circuit
        out when we don't find any matching handlers on the first list
        examined.

2006-12-18  castaglia <castaglia>

        * src/netacl.c: Adding tracing of NetACLs.

2006-12-18  castaglia <castaglia>

        * src/ident.c: Add tracing of ident lookups.

2006-12-18  castaglia <castaglia>

        * contrib/mod_ban.c: Get in the habit of setting pools to NULL after
        destroying them.  Update to use newer Timer API.

2006-12-18  castaglia <castaglia>

        * modules/mod_core.c: The handling of TraceLog was done well; after
        a restart, the TraceLog might very well have opened on a
        low-numbered fd, one assumed to be used for a connecting client.
        This means that after a restart, connecting clients might
        inadvertently receive TraceLog messages on their client, as if they
        were FTP response messages from proftpd.  Oops.

2006-12-18  castaglia <castaglia>

        * src/inet.c: FreeBSD 7 on its way.

2006-12-18  castaglia <castaglia>

        * src/support.c: The pickier compiler on my Linux laptop caught this
        thinko.

2006-12-17  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_log.c, src/parser.c: Use
        pr_env_get() rather than getenv(3).

2006-12-17  castaglia <castaglia>

        * contrib/mod_wrap2/mod_wrap2.c, modules/mod_auth.c,
        modules/mod_core.c: Update modules to use pr_env_set() rather than
        setenv().  This is mostly for the benefit of systems which may
        provide putenv() rather than setenv().

2006-12-17  castaglia <castaglia>

        * configure: Updated configure.

2006-12-17  castaglia <castaglia>

        * config.h.in, configure.in, include/support.h, src/support.c: 
        Rather than using setenv(3) and unsetenv(3) directly, provide
        pr_env() wrappers.  This is particularly useful for Solaris systems,
        which may not provide setenv(3) but *do* provide putenv(3);
        pr_env_set() handles this transparently.  (If present, setenv(3) is
        used, otherwise if putenv(3) is present, that is used, otherwise
        ENOSYS.)

2006-12-16  castaglia <castaglia>

        * modules/mod_ctrls.c, src/ctrls.c: Add tracing of controls.

2006-12-15  castaglia <castaglia>

        * modules/mod_dso.c: Adding tracing of DSO modules.

2006-12-15  castaglia <castaglia>

        * doc/contrib/mod_ctrls_admin.html: Documentation for the 'trace
        info' ftpctl action.

2006-12-15  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: Fix the handling of a 'trace info'
        control action, so that the list of trace channels and their
        respective log levels is comprehensibly displayed.

2006-12-15  castaglia <castaglia>

        * src/fsio.c: Add more handling of possible signals within while()
        loops.

2006-12-15  castaglia <castaglia>

        * modules/mod_ls.c: Style changes, and some additional
        pr_signals_handle() calls in while() loops.

2006-12-15  castaglia <castaglia>

        * src/event.c: Use tracing for logging of events, rather than debug
        logging.

2006-12-15  castaglia <castaglia>

        * src/fsio.c: Add tracing of the FSIO API, no longer using
        pr_log_debug().

2006-12-15  castaglia <castaglia>

        * src/auth.c: Moving more logging out of the main error log, and
        into the TraceLog.  A lot of this level detail isn't always
        necessary.

2006-12-15  castaglia <castaglia>

        * doc/contrib/mod_ctrls_admin.html: Add docs for the 'trace' control
        action.

2006-12-15  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2849 - Error msg "Not owner"
        returned by "SIZE in ASCII mode" is misleading.

2006-12-15  castaglia <castaglia>

        * src/utf8.c: Make sure that utf8_init() and utf8_free() are present
        for use by the linker, even if they return ENOSYS.

2006-12-15  castaglia <castaglia>

        * lib/getopt.c: Make sure to reference the gettext() function only
        when NLS support has been requested.  Otherwise, confusing linker
        errors result.

2006-12-15  castaglia <castaglia>

        * src/timers.c: Add timer tracing.

2006-12-15  castaglia <castaglia>

        * include/compat.h, include/timers.h: Compatibility macros should
        all be collected in compat.h.

2006-12-14  castaglia <castaglia>

        * locale/Makefile.in: Using the --sort-by-file option when
        generating message catalogs.

2006-12-14  castaglia <castaglia>

        * modules/mod_delay.c: Move a lot of the debug logging in mod_delay
        out of proftpd's main error log into the TraceLog using tracing.

2006-12-14  castaglia <castaglia>

        * src/inet.c: Use tracing to log when we have successfully bound an
        address/port to a socket.

2006-12-14  castaglia <castaglia>

        * configure: Updated configure.

2006-12-14  castaglia <castaglia>

        * Make.rules.in, Makefile.in, configure.in: The utilities (ftptop,
        ftpwho, etc) also need to be linked with libintl, if NLS support is
        enabled and libintl is present.

2006-12-13  castaglia <castaglia>

        * NEWS, contrib/mod_radius.c, doc/contrib/mod_radius.html: Bug#2856
        - Support for RADIUS NAS-Identifier attribute.

2006-12-13  castaglia <castaglia>

        * configure: Updated configure.

2006-12-13  castaglia <castaglia>

        * configure.in: Better checking for the required libintl support
        when --enable-nls is selected.  If the requisite functions (e.g.
        bindtextdomain(), gettext()) aren't found in libintl, then libc is
        checked.  If not there either, then configure will abort.

2006-12-13  castaglia <castaglia>

        * modules/mod_ls.c: Use strcoll(3) both when NLS is enabled and when
        strcoll(3) is actually present.

2006-12-13  castaglia <castaglia>

        * modules/mod_lang.c: Make sure that mod_lang can compile if libintl
        support is absent.

2006-12-13  castaglia <castaglia>

        * src/utf8.c: Make sure utf8.c can compile and run, even when iconv
        support is lacking.

2006-12-12  castaglia <castaglia>

        * doc/modules/mod_delay.html: Typo.

2006-12-12  castaglia <castaglia>

        * include/version.h: Back to CVS mode, for the next RC release.

2006-12-12  castaglia <castaglia>

        * ChangeLog: Updated ChangeLog.

2006-12-12  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
        for 1.3.1rc1 release.

2006-12-12  castaglia <castaglia>

        * RELEASE_NOTES: Finish polishing up these release notes.

2006-12-12  castaglia <castaglia>

        * NEWS, src/ctrls.c: Bug#2867 - Local authorized user buffer
        overflow in Controls request handling.

2006-12-11  castaglia <castaglia>

        * src/var.c: Handle the case where the retrieved variable is NULL.

2006-12-11  castaglia <castaglia>

        * modules/mod_ls.c: More pedantic checks for NULL pointers.

2006-12-11  castaglia <castaglia>

        * contrib/mod_sql.c: Use pr_log_debug() to handle cases where the
        database-specific SQL backend module is chosen, as a SQLLogFile may
        not have been opened at the time of backend selection.

2006-12-11  castaglia <castaglia>

        * doc/howto/TLS.html: Add a mod_tls FAQ about linker errors related
        to libdl.

2006-12-11  castaglia <castaglia>

        * modules/mod_core.c: More safety checking of possibly NULL return
        values.

2006-12-11  castaglia <castaglia>

        * modules/mod_core.c: Move the check for a NULL path earlier, before
        we actually try to use path by calling pr_fsio_fstat() on it.

2006-12-11  castaglia <castaglia>

        * src/log.c: Handle a possible return value of NULL from
        localtime(3).

2006-12-11  castaglia <castaglia>

        * src/fsio.c: Check for NULL return values from strdup(3).

2006-12-11  castaglia <castaglia>

        * src/dirtree.c: Paranoid checks for NULL pointers, to ensure we
        don't accidentally pass them to library functions (e.g. strstr(3) or
        substr(3)).

2006-12-11  castaglia <castaglia>

        * modules/mod_ls.c, modules/mod_site.c, src/fsio.c, src/trace.c: Off
        by one.

2006-12-11  castaglia <castaglia>

        * lib/glibc-glob.c: Paranoid null pointer check.  Useful, since we
        do use the ALTDIRFUNC flag.

2006-12-11  castaglia <castaglia>

        * src/fsio.c: Make sure pr_fs_dircat() doesn't attempt to operate on
        NULL pointers.

2006-12-11  castaglia <castaglia>

        * modules/mod_log.c: More insurance that a possible NULL value isn't
        passed to a library call, e.g. strftime(3).

2006-12-11  castaglia <castaglia>

        * modules/mod_log.c: Ensure we don't inadvertently attempt to lookup
        a NULL environment variable name, or copy a NULL environment
        variable value.

2006-12-11  castaglia <castaglia>

        * src/trace.c: Paranoid check for improper indices into the
        allocated buffer.

2006-12-11  castaglia <castaglia>

        * src/support.c: Ensure that we don't accidentally go past the end
        of the allocated array.

2006-12-11  castaglia <castaglia>

        * modules/mod_site.c: Another possible negative array index catch.

2006-12-11  castaglia <castaglia>

        * modules/mod_ls.c: Catch another possible situation where the index
        used may inadvertently be -1.

2006-12-11  castaglia <castaglia>

        * src/fsio.c: Pedantically fix some edge cases where an index of -1
        might accidentally be used.

2006-12-07  castaglia <castaglia>

        * src/main.c: I think that the majority of sites don't use Classes
        so much, so move the log message about connections from unknown
        classes up a few debug log levels.

2006-12-07  castaglia <castaglia>

        * modules/mod_ls.c: If sorting of directory listings by file name is
        requested, and NLS support is enabled, be sure to use the
        locale-sensitive strcoll(3) function for comparison, rather than
        strcmp(3).

2006-12-06  castaglia <castaglia>

        * configure: Updated configure.

2006-12-06  castaglia <castaglia>

        * config.h.in, configure.in, include/conf.h: NLS support requires
        checking for the locale.h header, and including it if necessary.

2006-12-06  castaglia <castaglia>

        * doc/howto/DisplayFiles.html: Renamed DisplayFirstChdir to
        DisplayChdir, and added mention of the new DisplayFileTransfer.

2006-12-06  castaglia <castaglia>

        * include/display.h, src/display.c: Add the ability to display files
        via filehandles, using pr_display_fh(), in addition to displaying
        files via paths using pr_display_file().  Why would we want pr_display_fh()?  Many sites, especially those
        with lots of users, like DisplayLogin, but they also want to chroot
        their users.  The handling of DisplayLogin could be changed to open
        a filehandle prior to the chroot, if necessary, and thus continue to
        display a file whilst allowing chrooted users.  That's the goal,
        anyway.

2006-12-06  castaglia <castaglia>

        * src/display.c: Use tracing, rather than debug level 10, for
        logging about unresolved variables in Display files.

2006-12-06  castaglia <castaglia>

        * src/trace.c: Add a default trace channel for logging from the
        Variables API layer.

2006-12-06  castaglia <castaglia>

        * lib/sstrncpy.c: Include the library support header libsupp.h, at
        least, since that is what its purpose is.

2006-12-06  castaglia <castaglia>

        * lib/sstrncpy.c: No need to pull in all of proftpd's configuration
        for sstrncpy().

2006-12-05  castaglia <castaglia>

        * contrib/mod_wrap2/mod_wrap2.c: More updates to the current APIs.

2006-12-05  castaglia <castaglia>

        * contrib/mod_ban.c, contrib/mod_wrap2/mod_wrap2.c: Updating
        mod_ban, mod_wrap2 to use newer module API names and macros.

2006-12-05  castaglia <castaglia>

        * include/log.h: Use GCC pragmas for checking callers of
        pr_log_writefile() as well.

2006-12-05  castaglia <castaglia>

        * modules/mod_ls.c: Since the sendline() arguments were giving us
        such trouble, I decided to make use of GCC's attribute pragma to
        warn about printf-like functions, as is done in other places in the
        proftpd code (e.g. the Response API header).

2006-12-05  castaglia <castaglia>

        * src/support.c: Typo.

2006-12-05  castaglia <castaglia>

        * src/trace.c: Add 'data' as one of the built-in trace channel
        names.

2006-12-05  castaglia <castaglia>

        * contrib/mod_tls.c: Add some comments reminding me why I see
        gibberish in the debug logging, depending on the mod_tls
        configuration.

2006-12-04  castaglia <castaglia>

        * contrib/mod_tls.c: Rather than logging when CRLs have not been
        configured, log when CRLs *are* present and being used.

2006-12-04  castaglia <castaglia>

        * contrib/mod_tls.c: More paranoia.  Also some minor style changes.

2006-12-04  castaglia <castaglia>

        * contrib/mod_tls.c: Increase the size of the buffer used to log
        X509 names from the client cert to 1KB If the client certificate cannot be verified because of an invalid
        purpose, log the purposes of the client certificate.

2006-12-04  castaglia <castaglia>

        * contrib/mod_tls.c: X509_STORE_CTX_init() did not return a value in
        versions of OpenSSL prior to 0.9.7.  Also conditionalize the use of the tls_crypto_device variable as per
        supporting OpenSSL version.

2006-12-04  castaglia <castaglia>

        * modules/mod_ls.c: Correct one case where sendline() was being
        called with two format parameters but only one argument (led to
        garbage being sent to client in directory listing).  Also, make sure
        that all callers of sendline() use NULL as the last argument, as is
        proper for any variadic function.

2006-12-04  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#2862 - NLST / returns a listing of the
        current directory.

2006-12-04  castaglia <castaglia>

        * modules/mod_ls.c: More paranoia.  Make sure that the length
        returned from readlink() isn't too large for our buffers.

2006-12-04  castaglia <castaglia>

        * src/support.c: More defensive checking of input arguments, in
        pr_memscrub() and sstrcat().

2006-12-04  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#2863 - LIST of nonexistent file causes
        RST on data channel.  As with a similar issue with the NLST command,
        make sure the data channel is opened before closing it, lest the
        client receive a RST on their end of the data channel.

2006-12-04  castaglia <castaglia>

        * locale/Makefile.in: Be more specific about the language support
        right now: en_US instead of en.

2006-12-02  castaglia <castaglia>

        * RELEASE_NOTES: More release notes.

2006-12-02  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Document the SQLOptions directive.

2006-12-02  castaglia <castaglia>

        * locale/Makefile.in: Don't forget to include the step that actually
        compiles a .po into a machine-readable .mo file.  The .mo file is
        what will be installed into the locale/ directory, and used by the
        gettext library.

2006-12-02  castaglia <castaglia>

        * modules/mod_lang.c: Call bindtextdomain(3), using the configured
        LangPath (or PR_LOCALE_DIR if not configured), in order to use the
        translated message catalogs for proftpd there.

2006-12-02  castaglia <castaglia>

        * RELEASE_NOTES: More documentation for the release notes.

2006-12-02  castaglia <castaglia>

        * configure: Updating configure.

2006-12-01  castaglia <castaglia>

        * Make.rules.in, Makefile.in, configure.in: Only try to build the
        locale-related message catalogs etc if the --enable-nls configure
        option is used.

2006-12-01  castaglia <castaglia>

        * RELEASE_NOTES: Start adding more substance to the release notes,
        in preparation for a release.

2006-12-01  castaglia <castaglia>

        * locale/Makefile.in: Make errors with creating translation catalogs
        non-fatal during the build process.

2006-12-01  castaglia <castaglia>

        * locale/Makefile.in, locale/files.txt: More work on the Makefile
        for generating the template message catalog for translation.

2006-11-30  castaglia <castaglia>

        * contrib/ftpquota: If opening a quota table for displaying records
        only, open the table in read-only mode, rather than read-append
        mode.

2006-11-30  castaglia <castaglia>

        * src/ftpdctl.c: Return a value, since the function definition
        requires it.

2006-11-29  castaglia <castaglia>

        * contrib/mod_radius.c: Make sure that the attribute length for UIDs
        and GIDs does not exceed the size of the variable used for holding
        the UID and GID.

2006-11-29  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#2860 - Failure to check for data
        length in mod_tls could lead to remote buffer overwriting.  (Also add entry for Bug #2858.)

2006-11-29  castaglia <castaglia>

        * contrib/mod_tls.c: Prevent some possible NULL pointer dereferences
        by checking for tls_pkey before using it.  Use root privileges when checking for the existence of certificate
        and key files, during the config handler runs.  These files are
        opened with root privs later in the module, so the checks for the
        existence should also use root privs.

2006-11-29  castaglia <castaglia>

        * contrib/mod_radius.c: Fix typo in declaration of static
        MD5_Update() function.  Also add paranoid check for size of attribute length, in RADIUS
        packet, which exceeds the maximum size of the data type.

2006-11-28  jwm <jwm>

        * src/support.c: use the version that was released as part of
        1.3.0a; these integer "overflows" aren't exploitable, so there is no
        prophylactic difference

2006-11-27  jwm <jwm>

        * src/support.c: Bug #2858 - CVE-2006-5815: remote code execution in
        ProFTPD

2006-11-17  jwm <jwm>

        * src/main.c: - avoid passing a NULL pointer to pr_log_pri() as it can causes
          segfaults on some platforms.  - make the 'invalid CommandBufSize' error message a litle  clearer

2006-11-01  castaglia <castaglia>

        * lib/glibc-glob.c: Catch a few cases, from code borrowed from
        glibc, where the return value from realloc(3) was not being checked
        to see if it's NULL before using it.

2006-11-01  castaglia <castaglia>

        * lib/sstrncpy.c, src/support.c, utils/misc.c: Prevent sstrcat() and
        sstrncpy() from working on buffers if the length argument is zero.

2006-11-01  castaglia <castaglia>

        * modules/mod_ls.c: Since readlink(2) is not guaranteed to
        NUL-terminate the provided buffer, we need to save space for the NUL
        terminator.

2006-11-01  castaglia <castaglia>

        * src/netio.c: Require that callers of pr_netio_gets() and
        pr_netio_telnet_gets() specify a non-zero buffer length.

2006-11-01  castaglia <castaglia>

        * lib/pwgrent.c, modules/mod_auth_file.c: Check if realloc(3)
        returned NULL or not before blindly assigning the return value to
        our pointer.

2006-10-31  castaglia <castaglia>

        * src/main.c: Fix an issue where the cmd_buf_size variable, for the
        size of the buffer used for reading FTP commands sent by clients,
        was not being properly set to the size configured via the
        CommandBufferSize directive.

2006-10-30  castaglia <castaglia>

        * doc/howto/SQL.html: Add an example of using Python to generate an
        OpenSSL-encoded mod_sql password string.

2006-10-25  castaglia <castaglia>

        * src/ftpdctl.c: Add stub for pr_trace_msg(), so that linking
        ftpdctl does not fail.

2006-10-24  castaglia <castaglia>

        * src/event.c: Allocate a larger event pool (ref Bug #2850).

2006-10-24  castaglia <castaglia>

        * NEWS, src/pool.c: Bug#2850 - Small event pool allocation on 64-bit
        machine leads to segfault on startup.  See the bug report for an
        excellent analysis of the issue.

2006-10-24  castaglia <castaglia>

        * src/ctrls.c, src/event.c: Add tracing of when control action
        handlers and event handlers are registered and unregistered.

2006-10-24  castaglia <castaglia>

        * contrib/mod_ban.c: Update the mod_ban module to be better behaved
        as a shared module.

2006-10-24  castaglia <castaglia>

        * src/trace.c: Be sure to set the trace table pointer to NULL after
        clearing the pool from which it was allocated.

2006-10-24  castaglia <castaglia>

        * contrib/mod_wrap2/mod_wrap2.c, contrib/mod_wrap2/mod_wrap2.h.in: 
        Updated mod_wrap2 to be better behaved when compiled as a shared
        module.

2006-10-20  jwm <jwm>

        * contrib/mod_ldap.c: add much more extensive debugging output

2006-10-13  castaglia <castaglia>

        * src/parser.c: Treat a trailing LF as the eol marker; no need to
        treat any CRs before that LF as eol markers.

2006-10-13  castaglia <castaglia>

        * src/parser.c: Typo.

2006-10-13  castaglia <castaglia>

        * src/parser.c: If we don't find an end-of-line marker (LF or CRLF)
        in the line of configuration data read in, issue a warning, so that
        the admin knows that any configuration error may be caused by data
        truncation.

2006-10-11  castaglia <castaglia>

        * doc/modules/mod_facl.html: Add small doc for the mod_facl module.

2006-10-11  castaglia <castaglia>

        * RELEASE_NOTES, modules/mod_facl.c: Add a runtime directive for
        disabling mod_facl, if needed.

2006-10-05  castaglia <castaglia>

        * src/parser.c: Style cleanup.  Sprinkle more "pr_signals_handle()"
        around within the while loops, too.

2006-10-05  castaglia <castaglia>

        * NEWS, src/parser.c: Bug#2848 - Unable to properly parse config
        files using Windows-style line endings.

2006-10-04  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2847 - HiddenStores files not
        properly removed if data transfer times out.

2006-09-29  castaglia <castaglia>

        * RELEASE_NOTES: A little more about UseIPv6, and the command-line
        options.

2006-09-29  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, include/netaddr.h, modules/mod_core.c,
        src/bindings.c, src/dirtree.c, src/inet.c, src/main.c,
        src/netacl.c, src/netaddr.c, src/proftpd.8.in: Bug#2817 - Ability to
        disable IPv6 support at runtime.

2006-09-27  castaglia <castaglia>

        * src/main.c: Reset the handler for the SIGUSR2 signal (and NOT the
        SIGHUP signal) in the sig_evnt() handler.

2006-09-18  castaglia <castaglia>

        * configure: Updating configure.

2006-09-18  castaglia <castaglia>

        * Makefile.in, configure.in, locale/Makefile.in: Renaming the po/
        directory to locale/.

2006-09-14  castaglia <castaglia>

        * NEWS, src/fsio.c: Bug#2842 - Filesystem statcache is not correctly
        caching return value of stat().

2006-09-13  castaglia <castaglia>

        * configure: Updated configure.

2006-09-13  castaglia <castaglia>

        * Makefile.in, configure.in, po/Makefile.in: Start of a po/Makefile,
        for building .po files (localised message strings).  Part of the
        support for RFC2640.

2006-09-12  castaglia <castaglia>

        * modules/mod_auth.c: If MaxLoginAttempts is exceeded, mention in
        the generated log message that we are refusing the client's
        connection.

2006-09-12  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Remove mention of SQLHomedirOnDemand, as
        that directive is now deprecated.

2006-09-12  castaglia <castaglia>

        * NEWS, RELEASE_NOTES: There is no 'SQLWhereClause' directive.
        Oops.

2006-09-12  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#2828 - Support
        variables in SQL Where directives.

2006-09-11  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Document the syntax for refering to
        environment variables in a SQLNamedQuery.

2006-09-11  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#2799 - SQLNamedQuery
        should support environment variables.

2006-09-11  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Add documentation for the new
        TLSPassPhraseProvider directive.

2006-09-11  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#2756 - Support for
        TLSPassPhraseProvider.

2006-09-11  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2839 - ProFTPD seems to re-read the
        file two times in RETR command.

2006-09-11  castaglia <castaglia>

        * configure: Updating configure.

2006-09-11  castaglia <castaglia>

        * Make.rules.in, Makefile.in, config.h.in, configure.in: Add support
        for a PR_LOCALE_DIR, which will contain the localised string files
        for different locales.  The location of this directory can be set,
        at compile-time, using the --datadir configure option.  Run-time
        configuration of this path is done using mod_lang's LangPath
        directive.

2006-09-09  castaglia <castaglia>

        * README.modules, doc/modules/mod_lang.html: Add mostly-done
        documentation for mod_lang module, and mention mod_lang in the
        README.modules file.  (Note that I still need to write README.NLS.)

2006-09-09  castaglia <castaglia>

        * configure: Updated configure.

2006-09-09  castaglia <castaglia>

        * RELEASE_NOTES, configure.in, modules/mod_lang.c: Adding mod_lang
        to the mix, for supporting the LANG command, as part of implementing
        RFC2640.

2006-09-08  castaglia <castaglia>

        * NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c,
        src/main.c: Bug#2837 - Defines improperly persist across daemon
        restarts.

2006-09-08  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c: Bug#2835 - Group quotas not honored
        for supplemental group membership.

2006-09-07  castaglia <castaglia>

        * RELEASE_NOTES: Typo.

2006-09-07  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#2825 - SSL/TLS CRLs are not working
        properly.

2006-09-07  castaglia <castaglia>

        * contrib/mod_ldap.c: Check for PR_USE_OPENSSL as well as
        HAVE_OPENSSL.

2006-09-07  castaglia <castaglia>

        * contrib/mod_sql.c: Correct the checks for HAVE_OPENSSL and
        PR_USE_OPENSSL in mod_sql.

2006-09-07  castaglia <castaglia>

        * contrib/mod_radius.c: Make the ordering of OpenSSL header
        inclusion a little more legible.

2006-09-07  castaglia <castaglia>

        * contrib/mod_radius.c: When proftpd has been compiled to use
        OpenSSL, then mod_radius has no need for using it's own MD5
        routines; we can use those from OpenSSL instead.

2006-09-07  castaglia <castaglia>

        * configure: Updated configure.

2006-09-07  castaglia <castaglia>

        * configure.in: Make sure the USE_OPENSSL macro is set if mod_tls is
        compiled in.

2006-09-07  castaglia <castaglia>

        * src/bindings.c: Style changes; no functional change.

2006-09-07  castaglia <castaglia>

        * NEWS: Added mod_wrap2 to the distro.

2006-09-07  castaglia <castaglia>

        * README.modules, RELEASE_NOTES: Updating docs for mention of
        mod_wrap2.  Needs to fleshed out more.

2006-09-07  castaglia <castaglia>

        * contrib/mod_wrap2/configure: Adding configure script for
        mod_wrap2.

2006-09-07  castaglia <castaglia>

        * contrib/mod_wrap2_file.c, contrib/mod_wrap2_sql.c: Adding
        mod_wrap2 submodules.

2006-09-06  castaglia <castaglia>

        * contrib/mod_wrap2/Makefile.in, contrib/mod_wrap2/configure.in,
        contrib/mod_wrap2/mod_wrap2.c, contrib/mod_wrap2/mod_wrap2.h.in: 
        Adding mod_wrap2 to the contrib/ area.

2006-09-06  castaglia <castaglia>

        * doc/contrib/index.html, doc/contrib/mod_wrap2.html,
        doc/contrib/mod_wrap2_file.html, doc/contrib/mod_wrap2_sql.html: 
        Adding documentation for the mod_wrap2 et al modules.

2006-09-05  castaglia <castaglia>

        * include/modules.h: The privdata structure is no longer used.

2006-08-24  castaglia <castaglia>

        * contrib/mod_sql.c: When determining the backend database module to
        use, mod_sql was using the *first* entry in the list of backends,
        rather than the *last*, as is documented.  Updated the default
        behavior to properly use the last entry (which is the first module
        loaded).

2006-08-17  castaglia <castaglia>

        * modules/mod_ls.c: Fix an issue noticed by Daniel, using lftp (but
        not ftp).  When handling an NLST command on an empty directory, lftp would
        receive a TCP RST from proftpd, rather than the more polite FIN.
        This would happen because proftpd did a lazy opening of the data
        connection; the connection would be opened only when proftpd, when
        listing the contents of the directory, encountered something to
        list.  In the case of an empty directory, there would be nothing to
        list.  Hence no accept(2) for the client's data connection, followed
        by a close() on the socket.  In the TCP world, this is "slamming the
        connection closed", and hence the client would receive a RST -- the
        initial handshake was not completed before the socket was closed.  The fix, then, is trivial: always open the data connection,
        regardless of whether there is data to be sent, when handling NLST
        commands.  (For some reason this issue does not seem to affect the
        LIST command.)

2006-08-16  jwm <jwm>

        * contrib/mod_ldap.c: fix debug message format (thanks to mathew
        <meta@pobox.com>)

2006-08-09  castaglia <castaglia>

        * modules/mod_core.c: Prevent users from misconfiguring their
        servers silently by trying to use something like "<Global ~user>" in
        their proftpd.conf.

2006-08-04  castaglia <castaglia>

        * doc/howto/Limit.html: Mention that <Limit LOGIN> does not work as
        expected within <Directory> sections.

2006-08-02  castaglia <castaglia>

        * NEWS, include/options.h, src/main.c: Bug#2774 - Idle clients
        exhibit excessive usage of system resources.

2006-07-20  castaglia <castaglia>

        * RELEASE_NOTES, include/fsio.h, modules/mod_core.c, src/fsio.c: At
        Michael's suggestion, add a UseUTF8 directive, for run-time
        disabling of UTF8 support.

2006-06-29  castaglia <castaglia>

        * modules/mod_auth_unix.c: Not only was the persistent_passwdf
        variable never used, neither was the _get_ppw_info() function.

2006-06-29  castaglia <castaglia>

        * Makefile.in: Fix missing dependency of the `install-proftpd'
        target on the $(includedir).  There was a dependency already on
        $(includedir)/proftpd -- but that is not the same.

2006-06-28  castaglia <castaglia>

        * NEWS, contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: 
        Bug#2809 - conf.h should be included before mysql.h in
        mod_sql_mysql.c.  The mod_sql_postgres module was similarly updated.

2006-06-28  castaglia <castaglia>

        * NEWS, modules/mod_auth_file.c: Bug#2803 - mod_auth_file does not
        properly iterate through AuthUserFile entries.  The issue was one of
        rewinding an already open AuthUserFile, every time
        pr_auth_getpwent() was called.  The mod_auth_file module has been
        restructured to avoid this.  The code was also substantially
        changed, removing a lot of dead code for a never-used feature (that
        of supporting multiple AuthUserFiles within the same server
        context).

2006-06-28  castaglia <castaglia>

        * NEWS, contrib/mod_wrap.c: Bug#2810 - Incorrect use of assignment
        instead of comparison in mod_wrap.

2006-06-22  castaglia <castaglia>

        * include/lastlog.h, src/lastlog.c: Oops.  Forgot to check these
        files in.  They're for Bug #2610.

2006-06-22  jwm <jwm>

        * modules/mod_ctrls.c: auth_(uid|gid)2name have become
        pr_auth_(uid|gid)2name

2006-06-22  castaglia <castaglia>

        * include/proftpd.h, modules/mod_auth_unix.c: There's absolutely no
        reason for the pwdfname and grpfname variables to be visible outside
        of mod_auth_unix.

2006-06-22  castaglia <castaglia>

        * modules/mod_auth_pam.c: Explicitly set the size of the authtable
        array.  Some picky compilers apparently don't like array
        declarations without the size.

2006-06-20  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#2807 - mod_sql processes SQLLog QUIT
        query twice.

2006-06-16  castaglia <castaglia>

        * modules/mod_auth_unix.c: Remove unused variables and simplify the
        code.

2006-06-16  castaglia <castaglia>

        * contrib/mod_ldap.c: auth_check() -> pr_auth_check()

2006-06-16  castaglia <castaglia>

        * contrib/mod_sql.c: Style cleanup.

2006-06-16  castaglia <castaglia>

        * configure: Updating configure.

2006-06-16  castaglia <castaglia>

        * config.h.in, configure.in, src/main.c: Enhance the -V output to
        include the CFLAGS, LDFLAGS, and LIBS used to compile proftpd.

2006-06-16  castaglia <castaglia>

        * contrib/mod_site_misc.c: Updating mod_site_misc to handle
        UTF8-encoded paths.

2006-06-16  castaglia <castaglia>

        * NEWS: Bug#2626 - "ERROR" macro collision can cause compiler errors
        on HP-UX.

2006-06-16  castaglia <castaglia>

        * Makefile.in: There is no real need to clean the include/
        directory.

2006-06-16  castaglia <castaglia>

        * contrib/mod_ban.c, contrib/mod_ctrls_admin.c,
        contrib/mod_ifsession.c, contrib/mod_ldap.c,
        contrib/mod_quotatab.c, contrib/mod_radius.c, contrib/mod_ratio.c,
        contrib/mod_readme.c, contrib/mod_rewrite.c,
        contrib/mod_site_misc.c, contrib/mod_sql.c,
        contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c,
        contrib/mod_tls.c, contrib/mod_wrap.c: Updating contrib modules to
        use PR_ERROR, PR_DECLINED, and PR_HANDLED.

2006-06-16  castaglia <castaglia>

        * contrib/mod_load/mod_load.c.in: Update mod_load to use PR_HANDLED.

2006-06-16  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_auth_file.c,
        modules/mod_auth_pam.c, modules/mod_auth_unix.c, modules/mod_cap.c,
        modules/mod_core.c, modules/mod_ctrls.c, modules/mod_delay.c,
        modules/mod_dso.c, modules/mod_log.c, modules/mod_ls.c,
        modules/mod_site.c, modules/mod_xfer.c: Updating the core modules to
        use the PR_ERROR, PR_DECLINED, and PR_HANDLED macros.  Also includes
        style changes.

2006-06-16  castaglia <castaglia>

        * doc/mod_sample.c: Updating the sample module to reflect ongoing
        changes in the core code.

2006-06-16  castaglia <castaglia>

        * modules/mod_auth.c: To enable lastlog support requires
        --with-lastlog, not --enable-lastlog.

2006-06-16  castaglia <castaglia>

        * include/compat.h, include/dirtree.h, include/modules.h: Start work
        towards Bug #2626 -- renaming the ERROR macro to PR_ERROR, to avoid
        namespace collisions on some platforms (i.e. HP-UX).  The DECLINED
        and HANDLED macros will be similarly renamed to PR_DECLINED and
        PR_HANDLED.  Compatibility redefines in compat.h will help to make the transition
        transparent (hopefully).

2006-06-16  castaglia <castaglia>

        * src/main.c: Forgot a few places where SIG_REHASH was renamed to
        SIG_RESTART.

2006-06-16  castaglia <castaglia>

        * configure: Updating configure.

2006-06-16  castaglia <castaglia>

        * include/proftpd.h, src/main.c: Remove all the old "struct rehash"
        callback stuff.  Replace mention of "rehash" with "restart".

2006-06-16  castaglia <castaglia>

        * include/proftpd.h, src/main.c: Remove the deprecated
        pr_rehash_register_handler() function.  This functionality is now
        available via the Events API, by registering an event handler for
        the 'core.restart' event.

2006-06-16  castaglia <castaglia>

        * Make.rules.in, Makefile.in, NEWS, configure.in,
        include/Makefile.in: Bug#2719 - ProFTPD should install its header
        files into the installation location.

2006-06-15  castaglia <castaglia>

        * include/.cvsignore: Preparing to ignore the generated Makefile
        that will appear in the include/ directory.

2006-06-15  castaglia <castaglia>

        * configure: Updating configure.

2006-06-15  castaglia <castaglia>

        * Make.rules.in, NEWS, RELEASE_NOTES, config.h.in, configure.in,
        include/conf.h, modules/mod_auth.c, src/main.c: Bug#2610 - Support
        for logging to /var/log/lastlog.

2006-06-15  castaglia <castaglia>

        * src/dirtree.c: Change fixup_globals() so that it operates on the
        same list as given to fixup_servers(), rather than using the global
        server_list variable.  (There are cases where the two lists may not
        be the same.)

2006-06-15  castaglia <castaglia>

        * include/pool.h, src/pool.c: Removing unused pool code.

2006-06-15  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Update the mod_sql docs, as per changes
        for Bug #2784.  Remove the list of deprecated directives from ancient mod_sql
        versions.

2006-06-15  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sql_mysql.c: Bug#2784 - Ability
        to specify MySQL Unix domain socket path.

2006-06-15  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, modules/mod_core.c: Bug#2798 - MDTM should
        return time in GMT.

2006-06-14  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#2687 - Support for
        more efficient group table schema.

2006-06-14  castaglia <castaglia>

        * src/utf8.c: Use "C" as a default local character set, if we cannot
        determine a better one.

2006-06-14  castaglia <castaglia>

        * src/utf8.c: Add a trace message of the character set to which UTF8
        conversion will be done.

2006-06-14  castaglia <castaglia>

        * src/netaddr.c: Use separate log messages for the cases where
        getaddrinfo(3) and getnameinfo(3) fail, to differentiate between
        syscall errors (in which case, log errno) and errors with the
        functions themselves (in which case, use gai_strerror(3)).

2006-06-14  castaglia <castaglia>

        * NEWS, src/log.c: Bug#2801 - Error compiling proftpd on NetBSD
        3.0/sparc64.

2006-06-14  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#2800 - free_proc_title() in developer
        build tries to free strings from pool allocated by mod_tls.

2006-06-13  castaglia <castaglia>

        * src/scoreboard.c: Silence compiler warning (seen under
        --enable-devel) by renaming variable.

2006-06-12  castaglia <castaglia>

        * doc/howto/DSO.html: Update example Makefile to include DESTDIR.

2006-06-12  castaglia <castaglia>

        * contrib/mod_load/Makefile.in: Make sure that mod_load's Makefile
        honors DESTDIR.  Thanks to Ken Zalewski for pointing this out.

2006-06-09  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Typo.

2006-06-09  castaglia <castaglia>

        * RELEASE_NOTES: Updating the release notes.

2006-06-09  castaglia <castaglia>

        * NEWS, contrib/mod_ctrls_admin.c,
        doc/contrib/mod_ctrls_admin.html, include/scoreboard.h,
        modules/mod_core.c, src/scoreboard.c: Bug#2797 - Add ability to
        force cleaning the scoreboard.

2006-06-08  castaglia <castaglia>

        * contrib/mod_sql.c: Restore the use of CF_MERGEDOWN_MULTI on SQLLog
        and SQLShowInfo directives, but only when mod_ifsession is in use.

2006-06-08  castaglia <castaglia>

        * contrib/mod_sql.c: No need to set CF_MERGEDOWN_MULTI on directives
        that cannot appear in <Directory> sections, i.e. SQLLog and
        SQLShowInfo.

2006-06-08  castaglia <castaglia>

        * configure: Updating configure.

2006-06-08  castaglia <castaglia>

        * configure.in: Fixing typo in handling of --enable-devel=profile
        configure option.

2006-06-07  castaglia <castaglia>

        * doc/howto/Chroot.html: Bug#1323: DefaultRoot not working with nfs
        root squash + protected directories.

2006-05-26  castaglia <castaglia>

        * configure: Updated configure script.

2006-05-26  castaglia <castaglia>

        * modules/mod_core.c: Modify mod_core for handling UTF8 paths, and
        mark it for i18n.

2006-05-26  castaglia <castaglia>

        * config.h.in, configure.in, include/fsio.h, modules/mod_ls.c,
        modules/mod_site.c, modules/mod_xfer.c, src/fsio.c, src/main.c,
        src/netio.c: Marking more places in the source for gettext
        manipulation.  Added two new functions, pr_fs_decode_path() and
        pr_fs_encode_path(), which are to be used for encoding to/from UTF8
        paths (or not).

2006-05-26  castaglia <castaglia>

        * src/trace.c: Change the format of the TraceLog: The log entry does
        not need to contain any server information.

2006-05-26  castaglia <castaglia>

        * src/table.c, src/trace.c: Miscellaneous improvements: when dumping
        a table, include the length of the value data (for cases where the
        value is binary, and not a string); when adding new trace channels,
        make a copy of the channel name, as callers will not do so.

2006-05-26  castaglia <castaglia>

        * NEWS: Correct a bug number.

2006-05-25  castaglia <castaglia>

        * configure: Updating configure.

2006-05-25  castaglia <castaglia>

        * Make.rules.in, config.h.in, configure.in, include/conf.h,
        include/dirtree.h, include/utf8.h, modules/mod_auth.c,
        modules/mod_core.c, modules/mod_ls.c, modules/mod_site.c,
        modules/mod_xfer.c, src/data.c, src/help.c, src/main.c, src/utf8.c: 
        Adding UTF8 encoding/decoding functions.  Marking source, preparing
        it for use with the gettext utilities.  Part of the work towards making the proftpd source i18n/l10n ready.

2006-05-25  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, modules/mod_log.c: Bug#2793 - LogFormat
        variable for the ProFTPD version.

2006-05-25  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, modules/mod_xfer.c: Bug#2775 - Support for
        DisplayFileTransfer directive.

2006-05-24  castaglia <castaglia>

        * README.AIX: Updating the AIX notes with remarks about gcc versions
        which do and don't work.

2006-05-23  castaglia <castaglia>

        * NEWS, modules/mod_ctrls.c: Bug#2792 - ProFTPD fails after SIGHUP
        signal when Controls support is enabled.

2006-05-23  castaglia <castaglia>

        * src/dirtree.c: Style tweaks.  Add handling of signals to a while()
        loop.

2006-05-23  castaglia <castaglia>

        * configure: Updating configure script.

2006-05-23  castaglia <castaglia>

        * configure.in: Fix the --without-getopt configure option so that it
        properly disables checks for the getopt_long() function and getopt.h
        header, in addition to disabling the check for the getopt()
        function.  This was causing a problem on FreeBSD 4.x builds, where
        the libgnugetopt package would install a getopt.h header (picked up
        by proftpd's configure script) that had a conflicting redefinition
        of the getopt struct.

2006-05-23  castaglia <castaglia>

        * configure.in: Fix a bug, reported via the Debian bug system, where
        the paths from which proftpd would look for shared libraries
        included the --sbindir.  The issue was the use of the -rpath linker parameter when linking
        the proftpd executable; it is not necessary.  Loading of DSO modules
        does not seem to be affected by the removal of that -rpath.

2006-05-22  castaglia <castaglia>

        * contrib/mod_tls.c: Remove Perlism causing a broken module.  Add
        handling of signals to a potentially long-running while loop.

2006-05-22  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#2514 - Trouble with mod_tls and DSA
        certificates.

2006-05-19  castaglia <castaglia>

        * src/netaddr.c: Fix some compiler warnings, and a syntax error.

2006-05-18  castaglia <castaglia>

        * src/trace.c: If pr_trace_msg() is used with an unknown channel,
        return -1 rather than 0.

2006-05-18  castaglia <castaglia>

        * configure: Updating configure script.

2006-05-18  castaglia <castaglia>

        * Make.rules.in, NEWS, RELEASE_NOTES, config.h.in, configure.in,
        contrib/mod_ctrls_admin.c, include/conf.h, include/trace.h,
        modules/mod_core.c, src/main.c, src/response.c, src/trace.c: 
        Bug#2506 - Better ability to configure what sort of debug output to
        generate.

2006-05-18  castaglia <castaglia>

        * src/netaddr.c: Add debug logging (level 10) of when the ACL
        comparison functions pr_netaddr_cmp() and pr_netaddr_ncmp() are
        comparing an IPv4 address against an IPv4-mapped IPv6 address.

2006-05-17  castaglia <castaglia>

        * NEWS, README.IPv6, src/netacl.c, src/netaddr.c: More work on
        Bug#2785.

2006-05-15  castaglia <castaglia>

        * doc/howto/DSO.html: Make note of some of the errors you might
        encounter when using DSO modules.

2006-05-15  castaglia <castaglia>

        * NEWS, README.IPv6, README.PAM, README.classes, RELEASE_NOTES,
        modules/mod_core.c, modules/mod_xfer.c, src/netacl.c: Getting the
        restored SourceForge devel CVS repository back up to sync, after
        their hard disk failure.  Joy.

2006-05-12  castaglia <castaglia>

        * README.AIX: Document that some versions of AIX have sendfile
        issues.

2006-05-05  castaglia <castaglia>

        * contrib/mod_tls.c: Clean up the handling of the
        TLSCACertificatePath directive.

2006-04-21  castaglia <castaglia>

        * contrib/mod_quotatab.c, doc/contrib/mod_quotatab.html: Forgot to
        add the description for the QuotaExcludeFilter directive.

2006-04-21  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_quotatab.c,
        contrib/mod_quotatab.h, doc/contrib/mod_quotatab.html,
        doc/howto/Quotas.html: Bug#2713 - Ability to check a user's existing
        disk bytes/files usage and update tally accordingly.

2006-04-21  castaglia <castaglia>

        * contrib/mod_sql.h: Update the mod_sql header.  Crufty information,
        and a typo.

2006-04-21  castaglia <castaglia>

        * include/feat.h, src/feat.c: Change the way the Feat API stores
        features to be listed, from using an array to using a table.  This
        makes it much easier to remove features from the listing.

2006-04-21  castaglia <castaglia>

        * contrib/mod_sql.c, contrib/mod_sql_mysql.c,
        contrib/mod_sql_postgres.c: Expanding the HOOKs exposed by mod_sql,
        so that other contrib modules can run their own SQL statements
        without having to reinvent mod_sql's wheel.

2006-04-21  castaglia <castaglia>

        * NEWS, README.modules, RELEASE_NOTES, contrib/mod_ban.c,
        doc/contrib/mod_ban.html: Adding mod_ban.

2006-04-20  castaglia <castaglia>

        * NEWS, src/inet.c: Bug#2733 - IP TOS not being set for data
        transfers.

2006-04-20  castaglia <castaglia>

        * src/parser.c: Adding some sanity checks for NULL pointers, pointed
        out by Coverity scans.  Also remove some unnecessary conditionals.

2006-04-20  castaglia <castaglia>

        * modules/mod_log.c: "writeable" -> "writable".

2006-04-20  castaglia <castaglia>

        * modules/mod_xfer.c: Clean up dead code spotted by Coverity scan.

2006-04-20  castaglia <castaglia>

        * modules/mod_auth.c: Clean up dead code spotted by Coverity scan.
        Also fixup some formatting issues while I'm here.

2006-04-20  castaglia <castaglia>

        * modules/mod_auth_file.c, src/data.c: Clean up dead code spotted by
        Coverity scan.

2006-04-20  castaglia <castaglia>

        * contrib/mod_sql.c: Clean up dead code spotted by Coverity.

2006-04-19  castaglia <castaglia>

        * RELEASE_NOTES, modules/mod_xfer.c: Get the ball rolling on
        deprecating HiddenStor, in favor of HiddenStores.

2006-04-19  castaglia <castaglia>

        * configure: Updating configure.

2006-04-19  castaglia <castaglia>

        * NEWS, configure.in: As part of addressing Bug #2447, make use of
        the --enable-openssl autoconf option automatically add libssl and
        libcrypto to the library list.

2006-04-19  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, contrib/mod_ldap.c,
        contrib/mod_sql.c, src/main.c: Bug#2447 - HAVE_OPENSSL should be
        managed in configure.

2006-04-17  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, modules/mod_log.c: Bug#2651 - LogFormat
        should support variable for logging the response message.

2006-04-17  castaglia <castaglia>

        * doc/contrib/mod_quotatab.html,
        doc/contrib/mod_quotatab_radius.html: Update mod_quotatab docs with
        links to RADIUS submodule.

2006-04-17  castaglia <castaglia>

        * NEWS, README.modules, RELEASE_NOTES,
        contrib/mod_quotatab_radius.c, contrib/mod_radius.c,
        doc/contrib/mod_quotatab_radius.html: Bug#2627 - Support for RADIUS
        quotatab module.

2006-04-17  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Mention in NEWS that CreateHome should be
        used instead of SQLHomedirOnDemand.  Mark the SQLHomedirOnDemand
        config handler as deprecated in the mod_sql source.

2006-04-17  castaglia <castaglia>

        * modules/mod_core.c: As per the warnings in the 1.3.0 release
        cycle, the Bind directive was deprecated, and is now removed.

2006-04-17  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#2628 -
        SQLHomedirOnDemand should be deprecated.

2006-04-17  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_tls.c, doc/contrib/mod_tls.html: 
        Bug#2686 - Allow CCC command but still require SSL/TLS protection
        during authentication.

2006-04-17  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, doc/howto/CreateHome.html,
        doc/howto/index.html, modules/mod_auth.c, src/mkhome.c: Bug#2611 -
        CreateHome should allow non-root-owned parent directories.

2006-04-17  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_tls.c, doc/contrib/mod_tls.html: 
        Bug#2599 - Support for using OpenSSL "engines".

2006-04-17  castaglia <castaglia>

        * configure: Updating configure.

2006-04-17  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, modules/mod_auth_pam.c: Bug#2769
        - mod_auth_pam needs a patch to allow pam_group to work.

2006-04-17  castaglia <castaglia>

        * NEWS, doc/modules/mod_delay.html, modules/mod_delay.c: Bug#2664 -
        Add 'delay info' ftpdctl action for showing DelayTable values.

2006-04-17  castaglia <castaglia>

        * NEWS, src/inet.c: Bug#2777 - ProFTPD does handle data sockets
        properly on FreeBSD 6.

2006-04-16  castaglia <castaglia>

        * modules/mod_xfer.c: At some point in the future, proftpd will
        support the MODE Z command.  When that happens, mod_xfer will need
        to not use sendfile() if MODE Z has been requested.

2006-04-16  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2740 - TYPE command not allowed
        before USER/PASS, causes problem for `ftp -n'.

2006-04-16  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2654 - FEAT command should be
        subject to <Limit>.

2006-04-16  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#2753 - CCC not closing SSL/TLS
        connection correctly.

2006-04-16  castaglia <castaglia>

        * NEWS, include/dirtree.h, include/table.h, src/dirtree.c,
        src/table.c: Bug#2535 - Compare directives using integer comparisons
        when possible to improve performance.

2006-04-16  castaglia <castaglia>

        * NEWS, modules/mod_auth_unix.c: Bug#2721 - mod_auth_unix does not
        behave properly when first in AuthOrder.

2006-04-16  castaglia <castaglia>

        * NEWS, modules/mod_auth_file.c, modules/mod_auth_unix.c: Bug#2714 -
        mod_auth_file munges AuthUserFile, AuthGroupFile records.

2006-04-16  castaglia <castaglia>

        * doc/howto/Debugging.html: Adding mention of the stack trace
        logging to the Debugging howto.

2006-04-16  castaglia <castaglia>

        * configure: Updating configure.

2006-04-16  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, config.h.in, configure.in,
        include/options.h, src/main.c: Bug#2766 - Support for automatic
        stack trace if SIGSEGV is received.

2006-04-16  castaglia <castaglia>

        * include/version.h: Now that 1.3.0 is out, we can start on 1.3.1.

2006-04-16  castaglia <castaglia>

        * ChangeLog: Updating the ChangeLog.

2006-04-16  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
        for release of 1.3.0-final.

2006-04-10  castaglia <castaglia>

        * lib/glibc-mkstemp.c: Fix typo in mkstemp() implementation, noted
        by Charles Seeger.

2006-04-08  castaglia <castaglia>

        * doc/howto/ConfigFile.html: Update the description of the
        User/Group directives to mention effective versus real privs, and
        how some programs report on real instead of effective privs.

2006-03-22  castaglia <castaglia>

        * NEWS, lib/glibc-glob.c, lib/pwgrent.c, src/fsio.c: Quell several
        compiler warnings: Bug#2770 - FreeBSD compiler warning that "__GLIBC__" is not defined.
        Bug#2771 - FreeBSD compiler warning about undeclared
                   fgetpwent/fgetgrent functions.  Bug#2772 - FreeBSD compiler warning
        that "_FILE_OFFSET_BITS" is not defined.

2006-03-22  castaglia <castaglia>

        * Make.rules.in, NEWS: Bug#2733 - libtool requires sh/bash.

2006-03-22  castaglia <castaglia>

        * utils/ftptop.c, utils/scoreboard.c: Minor fixes to ftptop: use
        snprintf(3) rather than sprintf(3), and make sure that any
        scoreboard path set via the -f command-line option actually exists.

2006-03-18  castaglia <castaglia>

        * ChangeLog: Updated ChangeLog.

2006-03-18  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec,
        include/version.h: Rolling up RC5 release.

2006-03-17  castaglia <castaglia>

        * NEWS, modules/mod_delay.c: Bug#2723 - mod_delay causes process to
        hang on OS X when proftpd exits.

2006-03-17  castaglia <castaglia>

        * RELEASE_NOTES: Updating the release notes for the RC5 release.

2006-03-16  castaglia <castaglia>

        * README.controls, doc/howto/Controls.html: Make notes about how
        Controls are affected by ServerType.

2006-03-15  castaglia <castaglia>

        * src/main.c: We need to copy the session addresses into memory
        after any reverse DNS resolution is performed, not before.

2006-03-15  castaglia <castaglia>

        * NEWS, modules/mod_log.c, modules/mod_xfer.c, src/main.c: Bug#2765
        - Child process segfaults while handling a SIGTERM.  A field from a
        structure whose memory had been freed by the time the field was
        referenced was tickling the segfault.

2006-03-15  castaglia <castaglia>

        * modules/mod_auth.c: Remove slightly misleading (and outdated)
        comment.

2006-03-15  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Make the workaround for Bug#2717 be
        specific to glibc-2.3 or greater, not to Linux in general.

2006-03-15  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#2717 - Wrong timestamp in logs for
        chrooted processes.

2006-03-14  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2764 - REST command does not return
        an error for negative numbers.

2006-03-12  castaglia <castaglia>

        * include/privs.h: Remove some duplicating logging in the
        PRIVS_RELINQUISH macro definition.

2006-03-11  castaglia <castaglia>

        * include/version.h: Forgot to change the status back to "CVS", for
        now.

2006-03-09  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Add description of the SQLBackend
        directive.

2006-03-09  castaglia <castaglia>

        * configure: Updating configure.

2006-03-09  castaglia <castaglia>

        * configure.in: Updating changes made for fixing Bug#2759 so that
        the libsupp library can be found.

2006-03-08  castaglia <castaglia>

        * configure: Updating configure.

2006-03-08  castaglia <castaglia>

        * NEWS, configure.in: Bug#2759 - Adding --with-includes to configure
        can cause problems when building with other packages.

2006-03-06  castaglia <castaglia>

        * doc/howto/NAT.html: Add a description of what can happen if the
        configured PassivePorts range is too small.

2006-03-06  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec: Bug#2757 - Add support for
        quota modules to RPM spec.

2006-03-01  castaglia <castaglia>

        * RELEASE_NOTES: Updating release notes.

2006-03-01  castaglia <castaglia>

        * ChangeLog, NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: 
        Preparing for release of 1.3.0rc4.

2006-02-23  castaglia <castaglia>

        * doc/rfc/rfc4217.txt: The old IETF Draft which defined FTPS was
        finally upgraded to a full-fledged RFC in Nov 2005, as RFC4217.

2006-02-23  castaglia <castaglia>

        * doc/howto/SQL.html: Added FAQ about libz linker errors to SQL
        howto.

2006-02-21  castaglia <castaglia>

        * modules/mod_delay.c: Add more debug logging, level 10, for when
        mod_delay mmaps or munmaps.  This is for tracking down Bug #2723.
        Also handle the case where munmap(2) fails.

2006-02-21  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2752 - FEAT reply not RFC 2389
        compliant.

2006-02-08  castaglia <castaglia>

        * NEWS, src/data.c: Bug#2746 - Data transfer function does not
        return error condition in case of read errors.  Now the
        pr_data_xfer() loop will error out if there is an error returned by
        pr_netio_read(), just as is already done if there is an error
        returned by pr_netio_write().

2006-01-11  castaglia <castaglia>

        * doc/howto/AuthFiles.html, doc/howto/index.html: Added the
        AuthFiles howto (it was referenced by the ConfigFile howto).

2006-01-04  castaglia <castaglia>

        * modules/mod_xfer.c: Fix a warning about an unused variable.  The
        tcp_level variable is really only used if TCP_CORK is defined; thus
        it should be declared within an #ifdef TCP_CORK block.

2005-12-27  castaglia <castaglia>

        * RELEASE_NOTES: Mention the OSX tweaks in the Release Notes.

2005-12-27  castaglia <castaglia>

        * src/main.c: Initialise the session.proc_prefix string upon client
        connection.  There was a strange edge case, involving
        mod_wrap-2.0.x, where proftpd was calling set_proc_title() using a
        NULL session.proc_prefix.  GNU libc handles printfs of NULLs
        gracefully, but other libc implementations (e.g. Solaris) are not as
        forgiving; this edge case was leading to segfaults on those
        platforms.

2005-12-19  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2735 - Allow REST 0 in ASCII mode.

2005-12-13  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#2709 - mod_sql improperly strips
        spaces from names, allowing for confusing authentication.

2005-12-07  castaglia <castaglia>

        * NEWS, modules/mod_auth_pam.c: Bug#2729 - Authorative PAM
        authentication doesn't work.

2005-12-05  castaglia <castaglia>

        * RELEASE_NOTES, doc/howto/Quotas.html, doc/howto/index.html: Adding
        Quotas howto to doc/ area.

2005-12-02  jwm <jwm>

        * contrib/mod_ldap.c: some overdue cleanup: - use braces everywhere. honestly, i don't know why i wrote code
        this way.  - now that we're using strtoul() sanity checking on default [UG]IDs,
          we don't need the isdigit() checking - use get_param_ptr for single-argument directives instead of
        find_config() - if a directive is present (get_param_ptr() returns non-NULL),
          assign its value to the config variable; we don't want to assume
          default values in the variable initialization as well as the getconf
        handler.

2005-12-02  jwm <jwm>

        * contrib/mod_ldap.c: - complain about invalid default [UG]IDs - only allocate enough arguments in the config_rec for LDAPDoAuth
          and LDAPDoUIDLookups to cover the arguments specified

2005-12-02  jwm <jwm>

        * contrib/mod_ldap.c: - remove get_param_int() usage; store values in an allocated pointer
        intsead - config handlers now take their directive name from c->argv[0],
          saving a few bytes of static strings

2005-11-29  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Adding more specific instructions for
        what a TLSCertificateChainFile should contain.

2005-11-29  castaglia <castaglia>

        * NEWS, src/inet.c: Bug#2374 revisited, for the sake of updated Mac
        OSX releases.  When is a regression not a regression?  When it's the
        fault of the host system, not the application code.  Sigh.

2005-11-19  castaglia <castaglia>

        * doc/howto/DSO.html: Adding more comments to the DSO howto, based
        on user feedback/questions.

2005-11-16  jwm <jwm>

        * contrib/mod_ldap.c: release 2.8.16

2005-11-15  castaglia <castaglia>

        * doc/contrib/mod_quotatab.html: Formatting changes.

2005-11-15  castaglia <castaglia>

        * doc/contrib/mod_quotatab.html: Improve the mod_quotatab doc,
        emphasizing the definitions of limit and tally tables.  Also add
        HTML anchors, for easier referencing from the upcoming Quotas howto.

2005-11-14  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Update description of AllowDotLogin
        TLSOption, as proftpd now will not prompt for a password if none is
        required.

2005-11-14  castaglia <castaglia>

        * NEWS, include/pr-syslog.h, lib/pr-syslog.c, src/log.c: Bug#2705 -
        proftpd fails to log anything to syslog after dropping privs on
        Solaris.  Since proftpd has custom syslog routines, we can simply add an
        accessor function for setting the static log_facility variable.
        libc-based syslogging cannot do this; proftpd used libc syslog
        routines in the past, hence the need to call openlog() again if the
        facility changed.  Thanks to Kostantinos Koukopoulos for the patch.

2005-11-12  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2712 - DisplayFirstChdir directive
        does not work.

2005-11-11  castaglia <castaglia>

        * NEWS, include/ctrls.h, modules/mod_ctrls.c, src/ctrls.c: Bug#2711
        - Controls socket detection broken.

2005-11-10  castaglia <castaglia>

        * src/ctrls.c: Copy the full length of the socket path, including
        the terminating NUL.

2005-11-08  castaglia <castaglia>

        * contrib/mod_tls.c: Make the log messages generated during
        certificate verification a little cleaner.  Also add explicit
        handling of the INVALID_PURPOSE error case.

2005-11-08  castaglia <castaglia>

        * configure: Updating configure.

2005-11-08  castaglia <castaglia>

        * NEWS, configure.in: Bug#2708 - configure cannot detect some
        headers.

2005-11-04  castaglia <castaglia>

        * NEWS, src/log.c: Bug#2706 - utmp/wtmp logging on NetBSD needs some
        tweaks.

2005-11-04  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2703 - Disk quota exceeded for small
        files not being triggered.

2005-10-31  castaglia <castaglia>

        * include/version.h: Bump version to 1.3.0rc4 (hopefully will turn
        out to be 1.3.0-stable).

2005-10-31  castaglia <castaglia>

        * ChangeLog: One more update.

2005-10-31  castaglia <castaglia>

        * src/fsio.c: Correct usage of pr_fsio_readlink().

2005-10-31  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
        for 1.3.0rc3 roll.

2005-10-31  castaglia <castaglia>

        * ChangeLog: Updating ChangeLog.

2005-10-28  castaglia <castaglia>

        * RELEASE_NOTES: Updating release notes.

2005-10-26  castaglia <castaglia>

        * src/fsio.c: Drat.  Forgot to replace all occurrences of
        ->readlink() with pr_fsio_readlink().

2005-10-26  castaglia <castaglia>

        * modules/mod_facl.c: Use direct pointer assignment rather than
        acl_copy_entry(); the latter is not needed.  Patch supplied by
        Patrick McHardy.

2005-10-26  castaglia <castaglia>

        * src/fsio.c: When cleaning the path in pr_insert_fs(), only add a
        trailing path separator if the original path had one _and_ the
        current cleaned path does _not_ have one.  Thanks to Patrick McHardy
        for pointing this out.

2005-10-26  castaglia <castaglia>

        * src/fsio.c: Patrick McHardy pointed out that in a couple of
        places, the FSIO API uses the readlink function pointer, registered
        for an fs_t, directly.  However, it is not required for registered
        fs_ts to provide any particular FSIO function.  Thus
        pr_fsio_readlink(), which iterates through the fs layers in order to
        find the first that does provide a readlink function, should be
        used.

2005-10-23  castaglia <castaglia>

        * contrib/mod_sql.c: Fix a segfault expanding the '%h' sequence for
        an SQLLog EXIT command by using the proper API.  Related to Bug
        #2695.

2005-10-20  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Fixed example installation instructions
        for mod_tls.

2005-10-19  castaglia <castaglia>

        * configure: Updating configure.

2005-10-19  castaglia <castaglia>

        * config.h.in, configure.in, include/ctrls.h, modules/mod_ctrls.c,
        src/ctrls.c: Change the location of the logic used to determine
        whether the platform prefers S_ISFIFO or S_ISSOCK for detecting Unix
        domain sockets.  Rather than using a test program as part of the
        configure script, move the check into the init_ctrls() code, so that
        it can be done at run-time.

2005-10-18  castaglia <castaglia>

        * contrib/mod_sql.c, modules/mod_log.c: Fix handling of the %f log
        variable for the RNTO command.  Both mod_log and mod_sql were using
        session.xfer.path for %f, when in the case of RNTO, the %f that is
        desired is actually the argument of the command, cmd->arg, not
        session.xfer.path.

2005-10-18  castaglia <castaglia>

        * contrib/mod_sql.c, modules/mod_log.c: When expanding the %J log
        variable (for command arguments), be sure to hide the arguments for
        the PASS command.

2005-10-10  castaglia <castaglia>

        * README.IPv6, src/netacl.c: Only use the full range of characters
        which appear in an IPv6 (and IPv4) address when IPv6 support is
        enabled.  Also, document the case where, when IPv6 support *is* enabled,
        certain DNS names are not handled as one would expect, due to the
        heuristics used by the ACL parser.

2005-10-08  castaglia <castaglia>

        * RELEASE_NOTES, doc/howto/Filters.html, doc/howto/Regex.html,
        doc/howto/index.html: Add the regular expression tutorial to the
        doc/howto/ area.

2005-10-08  castaglia <castaglia>

        * RELEASE_NOTES: Add some notes to the RELEASE_NOTES file for the
        upcoming 1.3.0rc3 release.

2005-10-08  castaglia <castaglia>

        * configure: Updating configure.

2005-10-08  castaglia <castaglia>

        * config.h.in, configure.in, modules/mod_ctrls.c: Add an autoconf
        check to see if the platform prefers S_ISFIFO or S_ISSOCK for Unix
        domain sockets.  It seems that some systems (e.g. UnixWare) prefer
        S_ISFIFO, even though the file is created/bound using
        socket(2)/bind(2) rather than mknod(2).  Isn't portability grand.  The added test defines a PR_ISSOCK_UNIX macro, defined to the
        appropriate S_IS* macro, for use in proftpd code.

2005-09-28  castaglia <castaglia>

        * doc/howto/Limit.html: Style.

2005-09-28  castaglia <castaglia>

        * src/dirtree.c, src/support.c: Style.

2005-09-27  castaglia <castaglia>

        * src/response.c: Style.

2005-09-27  castaglia <castaglia>

        * NEWS, src/response.c: Bug#2692 - R_DUP response messages can break
        the FTP protocol responses.

2005-09-27  castaglia <castaglia>

        * NEWS, include/privs.h: Bug#2682 - Signals can interrupt privilege
        switching.  To guard against this, the PRIVS macros now all contain
        pr_signals_block()/pr_signals_unblock() guards.

2005-09-26  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#2697 - Improper SSL session shutdown
        sequence used for some FTPS clients.

2005-09-21  castaglia <castaglia>

        * modules/mod_core.c: Clean up the debug logging done when handling
        config directive regexes.  No need to report on the memory location
        for the allocated regex.

2005-09-21  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Typo.

2005-09-21  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Use of the StdEnvVars TLSOption does not
        necessarily increase the process memory footprint; it depends on the
        various memory allocator caching strategies involved.

2005-09-20  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Enhancing the explanations of the
        TLSCACertificateFile and TLSRandomSeed directives.

2005-09-20  castaglia <castaglia>

        * doc/contrib/mod_tls.html: Minor updates to mod_tls doc.

2005-09-19  castaglia <castaglia>

        * NEWS, contrib/mod_radius.c, contrib/mod_sql.c, include/netaddr.h,
        src/log.c, src/main.c, src/netaddr.c: Bug#2695 - Client IP/host is
        not logged when client exits.

2005-09-19  castaglia <castaglia>

        * modules/mod_xfer.c: Style.

2005-09-08  castaglia <castaglia>

        * README.modules: Minor corrections to the location of contrib
        module documentation, thanks to Sven Hoexter.

2005-09-08  castaglia <castaglia>

        * contrib/mod_tls.c: Log in the TLSLog when mod_tls denies FTP
        commands because of the configured security policy.

2005-09-05  castaglia <castaglia>

        * src/netaddr.c: When reporting DNS resolution errors, report the
        type of address requested, i.e. IPv4 or IPv6.

2005-09-04  castaglia <castaglia>

        * NEWS, include/parser.h, src/main.c, src/parser.c: Bug#2689 -
        Parser does not complain about unclosed configuration sections.

2005-08-30  castaglia <castaglia>

        * RELEASE_NOTES: Fix typo.

2005-08-28  castaglia <castaglia>

        * src/fsio.c: After cleaning the path given to pr_insert_fs(), we
        make sure it has a trailing '/' path separator character.  However,
        this is only necessary if the path being inserted is not '/' itself.
        Check for that case, and make sure to not add the trailing '/' if it
        is not needed.

2005-08-25  castaglia <castaglia>

        * contrib/mod_tls.c: The mod_tls version information was missing
        from a couple of log messages.

2005-08-24  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#2685 - ListOptions' max parameters
        cannot be set higher than 255.

2005-08-23  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_core.c, src/main.c: Log, at debug
        level 6, if there was an error displaying a Display file.

2005-08-23  castaglia <castaglia>

        * src/dirtree.c: Add explanatory comment.  When researching a
        problem earlier, I was a bit confused by the reuse of a pool
        variable; the comment is a reminder of what is going on.

2005-08-16  castaglia <castaglia>

        * INSTALL: Update the section of the INSTALL doc that talks about
        xinetd configuration; as of xinetd-2.3.11, the 'RECORD' logging
        option has been deprecated.

2005-08-10  jwm <jwm>

        * README.LDAP: update README.LDAP; oops, i've been forgetting about
        this

2005-08-07  castaglia <castaglia>

        * modules/mod_core.c: When reporting on use or nonuse of <IfModule>
        and <IfDefine> sections, correctly report the "!" character.
        Otherwise, the reporting is confusing.

2005-08-07  castaglia <castaglia>

        * contrib/mod_tls.c: When handling any error returned by
        SSL_shutdown(3) (after it has been called the second time), and the
        error is not explicitly handled by the switch statement, log the
        error code.  This will help in debugging certain cases where
        tls_get_error() returns "(unknown)", which possibly indicates no
        error occurred.

2005-08-07  castaglia <castaglia>

        * configure: Updating configure.

2005-08-07  castaglia <castaglia>

        * NEWS, configure.in: Bug#2676 - configure option --disable-ipv6
        enables IPv6.

2005-08-04  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#2674 - mod_sql string escape problem
        during group lookups.

2005-08-03  castaglia <castaglia>

        * contrib/mod_radius.c: Pad the size of the radius_packet_t
        structure.

2005-08-03  castaglia <castaglia>

        * NEWS, contrib/mod_radius.c: Bug#2669 - mod_radius segfaults if
        PASS command sent with no USER command.

2005-08-02  castaglia <castaglia>

        * doc/howto/ListOptions.html: Fix documentation for "-a" ListOption.

2005-08-02  castaglia <castaglia>

        * NEWS, modules/mod_ctrls.c: Bug#2668 - mod_ctrls fails to open
        socket during SIGHUP.

2005-08-02  castaglia <castaglia>

        * modules/mod_facl.c: Add debugging output, level 6, showing when
        mod_facl has successfully registered its FS handler.

2005-08-01  castaglia <castaglia>

        * modules/mod_ctrls.c: Display the mod_ctrls version when using
        `proftpd -vv'.

2005-08-01  castaglia <castaglia>

        * src/ftpdctl.c: Display the name of the socket path being contacted
        when `ftpdctl -v' is used.

2005-08-01  castaglia <castaglia>

        * NEWS: Bug#2667 - mod_tls handles SIGHUP badly.  Stop registering
        the handler for the "core.postparse" event in the "core.restart"
        event handler; such multiple registrations cause the
        "core.postparse" event handler to be invoked multiple times.

2005-07-31  castaglia <castaglia>

        * contrib/mod_tls.c: The "core.restart" event handler for mod_tls
        was registering a handler for the "core.postparse" event; however,
        one was already being registered.  The duplicate "core.postparse"
        registrations would cause the handler to be called repeatedly,
        leading to locking of key passphrases into memory multiple times and
        other unintended funniness.

2005-07-27  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2662 - OpenSolaris/Solaris 11 has
        TCP_CORK but not SOL_TCP.

2005-07-27  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec: Bug#2660 - Add mod_facl in
        rpm spec file.

2005-07-27  castaglia <castaglia>

        * contrib/mod_tls.c: Explicitly mention that $SSL_CERT_DIR is an
        environment variable.

2005-07-24  castaglia <castaglia>

        * include/version.h: Updating version.

2005-07-24  castaglia <castaglia>

        * ChangeLog: Updating ChangeLog.

2005-07-24  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
        for release of 1.3.0rc2.

2005-07-24  castaglia <castaglia>

        * NEWS, contrib/mod_radius.c: Bug#2658 - Segfault in mod_radius when
        using long password.

2005-07-21  castaglia <castaglia>

        * RELEASE_NOTES: Fix typo.

2005-07-21  castaglia <castaglia>

        * contrib/mod_tls.c: Slight paranoia about calling BIO_free() on
        possibly NULL pointer.

2005-07-21  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#2657 - Segfault in tls_get_error()
        function in mod_tls.

2005-07-19  castaglia <castaglia>

        * doc/howto/Classes.html, doc/howto/SQL.html: Updating Class and SQL
        howtos.

2005-07-15  castaglia <castaglia>

        * NEWS: Minor rewording of NEWS, with respect to POSIX ACLs.

2005-07-08  castaglia <castaglia>

        * RELEASE_NOTES: Updating the release notes.

2005-07-08  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2653 - When MaxStoreFileSize is
        reached, error should be EDQUOT rather than EPERM.

2005-07-07  castaglia <castaglia>

        * NEWS, src/data.c: Bug#2560 - Reporting errors when user filesystem
        quota is exceeded.

2005-07-07  castaglia <castaglia>

        * modules/mod_log.c: With the fixing of Bug #1965, the mod_log
        module no longer needs a PRE_CMD handler in order to properly log
        the QUIT command; the POST_CMD C_ANY handler suffices.  In fact, the
        PRE_CMD C_QUIT handler currently in place means that the QUIT
        command would be logged twice in an ExtendedLog.

2005-07-05  castaglia <castaglia>

        * doc/howto/DNS.html, doc/howto/VirtualUsers.html,
        doc/howto/index.html: Adding DNS, VirtualUsers howtos.

2005-07-05  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#2645 - SQLShowInfo format string
        vulnerability.

2005-07-05  castaglia <castaglia>

        * NEWS, src/response.c: Bug#2646 - ftpshut format string
        vulnerability.

2005-07-03  castaglia <castaglia>

        * contrib/mod_ldap.c, contrib/mod_radius.c, contrib/mod_sql.c,
        contrib/mod_tls.c, modules/mod_auth.c, modules/mod_auth_file.c,
        modules/mod_auth_pam.c, modules/mod_auth_unix.c: Update the auth
        modules to set the session.auth_mech member with the name of the
        module which successfully authenticates a user.

2005-07-03  castaglia <castaglia>

        * NEWS: Bug#2375 - Slow directory listing with several blank
        .ftpaccess files.

2005-07-03  castaglia <castaglia>

        * src/dirtree.c: When parsing .ftpaccess files, check that the size
        of the .ftpaccess file is non-zero before handling it.  This is
        related to Bug #2375, if not _the_ culprit.  I suspect that there
        are more improvements to be made with regards to .ftpaccess file
        processing, though.

2005-07-02  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Fix segfault where using SQLLog to
        execute a SQLNamedQuery (which uses %L or %a) for the EXIT command
        would attempt to use freed memory.

2005-07-02  castaglia <castaglia>

        * modules/mod_xfer.c: Set the current working directory, in the FSIO
        layer, before an open() call.  This may be the cause of some strange
        behaviors seen with some of my FSIO modules (i.e. mod_md5).

2005-07-02  castaglia <castaglia>

        * modules/mod_delay.c: More bounds checking in mod_delay, as part of
        an investigation into Bug #2621 using valgrind.

2005-06-30  castaglia <castaglia>

        * NEWS, include/conf.h: Bug#2647 - Improper "socklen_t" redefine for
        HP-UX when using X/Open.

2005-06-29  castaglia <castaglia>

        * doc/modules/mod_delay.html: This document covers mod_delay, not
        mod_dso.  Fix typo.

2005-06-27  castaglia <castaglia>

        * NEWS, contrib/mod_sql_mysql.c: Bug#2644 - mod_sql_mysql should
        handle old MySQL password format more gracefully.

2005-06-27  castaglia <castaglia>

        * configure: Updating configure.

2005-06-27  castaglia <castaglia>

        * config.h.in, configure.in: Check for the size of a time_t.  We do
        not need this immediately, but we will soon.

2005-06-23  castaglia <castaglia>

        * contrib/mod_quotatab_sql.c: Fix a rather broken assignment.  Newer
        versions of gcc, being less lenient, choke on this assignment
        whereas older versions of gcc let it pass.

2005-06-22  castaglia <castaglia>

        * contrib/mod_tls.c: Always set the tls_pkey_list pointer to NULL
        after scrubbing the list.  Also, be sure to scrub that list at
        session initialization time if TLSEngine is not on for the session.

2005-06-22  castaglia <castaglia>

        * src/fsio.c: The changes in the FSIO API to support chained FS
        objects changed some things; the lookup_file_fs() function made
        assumptions which were broken by those changes.  Update
        lookup_file_fs() to properly deal with FS objects whose stat or
        lstat function pointers may be NULL.

2005-06-22  castaglia <castaglia>

        * src/fsio.c: Off by one in my calculation; PR_TUNABLE_PATH_MAX-1 is
        the last usable index in the buffer.  Of course, I may still be
        wrong here, but I'd rather be wrong by too large of a difference,
        rather than too small.

2005-06-21  castaglia <castaglia>

        * src/fsio.c: Tracking down a bug in my crufty mod_md5fs module
        revealed the cause to be a subtle bug in pr_insert_fs().  The path
        provided by the caller was being cleaned via pr_fs_clean_path(),
        which would remove any trailing path separators.  However, in the
        case of FSIO FS objects, that trailing separator is important.
        Re-add it if it was there.

2005-06-21  castaglia <castaglia>

        * configure: Update configure.

2005-06-21  castaglia <castaglia>

        * src/bindings.c: The ipv6_supported variable need only be defined
        if --enable-ipv6 is used.

2005-06-21  castaglia <castaglia>

        * configure.in: If the --enable-ctrls configure option is used,
        mod_ctrls will be built as a static module.  To get mod_ctrls to be
        built as a shared module, use --enable-ctrls and list mod_ctrls in
        the --with-shared list.  However, I have not tested how well
        mod_ctrls behaves as a shared module...

2005-06-21  castaglia <castaglia>

        * src/main.c: Display the default libexec/ directory for the -V
        option, if DSO support is enabled.

2005-06-21  castaglia <castaglia>

        * configure: Updating configure.

2005-06-21  castaglia <castaglia>

        * configure.in, src/bindings.c: Undo yesterday's autoconf change for
        IPv6 support detection.  Instead, move that detection into
        init_bindings(), although I suspect that it will be needed in other
        places of the code as well.  At least this way, though, a proftpd
        compiled using --enable-ipv6 on an IPv4 box will still start up
        properly and accept connections.

2005-06-21  castaglia <castaglia>

        * NEWS: Update the description of Bug #2573, making note of the
        changed behavior and how to address it (as per Bug #2640).

2005-06-20  castaglia <castaglia>

        * configure: Updating configure.

2005-06-20  castaglia <castaglia>

        * configure.in: Have autoconf check for IPv6 support when the
        --enable-ipv6 configure option is used.  It is completely possible
        for an IPv4-only box to be used to compile a proftpd configured
        using --enable-ipv6.  When that proftpd is started on the IPv4-only
        box, it would choke inexplicably.  This is due to changes made for
        Bug #2758.

2005-06-20  castaglia <castaglia>

        * src/netaddr.c: Log when we are looking for IPv4 addresses via DNS,
        and when we're looking for IPv6 addresses.

2005-06-20  castaglia <castaglia>

        * src/mkhome.c: Make sure to reset the umask in the case where
        mkdir() could fail.  Otherwise, the umask of the process will be
        left in the wrong state.

2005-06-20  castaglia <castaglia>

        * doc/contrib/mod_ifsession.html: Updating mod_ifsession docs.

2005-06-18  castaglia <castaglia>

        * contrib/mod_tls.c: OpenSSL 0.9.8 changed some macro names (and did
        not document it *sigh*).  Update mod_tls to use the new names as
        necessary.

2005-06-18  castaglia <castaglia>

        * NEWS, modules/mod_delay.c: Bug#2630 - Use of mmap in mod_delay may
        be problematic on HP-UX.

2005-06-16  castaglia <castaglia>

        * include/table.h, src/table.c: Add a new table flag,
        PR_TABLE_FL_USE_CACHE.  By default, this flag is off.  The caching
        behavior of previously-looked up keys in the table accessors was a
        bit confusing (which itself indicates the need for better table
        documentation).  Make use of that lookup cache disabled by default,
        so that the behavior is least surprising to developers.  Callers
        that require higher performance tables can enable the flag as
        needed.

2005-06-16  castaglia <castaglia>

        * src/table.c: Added some missing pr_signals_handle() calls in while
        loops.

2005-06-15  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2639 - HiddenStores does not work.

2005-06-15  castaglia <castaglia>

        * src/dirtree.c: Set a valid errno for pr_is_boolean().

2005-06-14  castaglia <castaglia>

        * src/auth.c: Add debugging, level 10, of retrieved user/group names
        and UIDs/GIDs, similar to what is done during in
        pr_auth_getgroups().

2005-06-14  castaglia <castaglia>

        * contrib/mod_radius.c, contrib/mod_sql.c, contrib/mod_tls.c,
        include/compat.h, include/log.h, modules/mod_core.c,
        modules/mod_ctrls.c, modules/mod_log.c, src/log.c, src/xferlog.c: 
        Move the LOG_* macros (for indicating writable dirs, symlinks, and
        permission modes) into the PR_ namespace.  Provide compatibility
        macros for source compatibility for other modules, for now.

2005-06-13  castaglia <castaglia>

        * include/log.h, modules/mod_core.c, modules/mod_log.c, src/log.c: 
        Move the log_str2sysloglevel() function into the 'pr_' namespace.

2005-06-13  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c, src/data.c: Bug#2636 - Data connection
        failure when handling STOR does not trigger error response.

2005-06-12  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#2637 - <Limit STAT> does not work.

2005-06-12  castaglia <castaglia>

        * include/compat.h, include/dirtree.h: Moving some macro (name
        redefinitions) into the more appropiate compat.h header.

2005-06-11  castaglia <castaglia>

        * contrib/mod_tls.c: Style consistency and cleanup.

2005-06-11  castaglia <castaglia>

        * contrib/mod_tls.c: Comment typo.

2005-06-10  castaglia <castaglia>

        * contrib/mod_tls.c, include/auth.h, modules/mod_auth.c, src/auth.c: 
        Removing the overloaded use of pr_auth_authenticate() in mod_auth
        for allowing RFC2228 modules to authenticate a user using non-PASS
        means.  Instead, there is a new Auth API function, pr_auth_requires_pass().
        All modules have a chance to provide handlers for this auth command;
        if any module can successfully authenticate the client without
        requiring the PASS command, then pr_auth_requires_pass() will return
        FALSE.  If and only if pr_auth_requires_pass() returns FALSE will
        mod_auth send the 232 response code to the client, indicating that
        no PASS command is required.

2005-06-10  castaglia <castaglia>

        * NEWS, lib/pr-syslog.c: Bug#2632 - Invalid application of `sizeof'
        to an incomplete type on AIX.

2005-06-10  castaglia <castaglia>

        * doc/howto/NAT.html: Provide an example configuration for the
        LAN/WAN MasqueradeAddress issue.

2005-06-09  castaglia <castaglia>

        * doc/howto/SQL.html: Fix typo.

2005-06-08  castaglia <castaglia>

        * NEWS, contrib/mod_radius.c: Bug#2631 - Segfault when using
        RadiusAcctServer.

2005-06-08  castaglia <castaglia>

        * doc/howto/SQL.html: Grégoire COLBERT contributed a snippet of PHP
        code that can be used to generate base64-encoded MD5-digested
        password strings, suitable for use by mod_sql.

2005-06-07  castaglia <castaglia>

        * contrib/mod_radius.c: Minor style cleanup.

2005-06-06  castaglia <castaglia>

        * doc/contrib/mod_rewrite.html: No need for the trailing /, as the
        closing } serves as the delimiter.

2005-06-06  castaglia <castaglia>

        * doc/contrib/mod_rewrite.html: The example RewriteRule directive
        provided had a problem.  One of its parameters contained an embedded
        whitespace, and the example did not enclose that parameter in
        quotations, which meant that the config parser would split that
        parameter incorrectly.

2005-06-05  castaglia <castaglia>

        * NEWS, README.FreeBSD: Bug#2250 - Add ports, compiling info to
        FreeBSD README.

2005-06-05  castaglia <castaglia>

        * README: Updated README to use "1.3.x" as ProFTPD version, rather
        than "1.2.x".

2005-06-03  castaglia <castaglia>

        * NEWS, include/fsio.h: Bug#2624 - "fh_data" macro collision causes
        compiler error on Tru64 V5.1A.

2005-06-02  castaglia <castaglia>

        * contrib/mod_radius.c: Since mod_radius is distributed with the
        proftpd source, it should not have an "RC" version.  It will now be
        officially version 0.8.

2005-06-02  castaglia <castaglia>

        * modules/mod_delay.c: Bug#2622 - Segfault seen randomly in
        mod_delay.  This patch changes the bounds check for the j variable, which is
        decrementing, to be as necessary.

2005-06-01  castaglia <castaglia>

        * modules/mod_core.c: Add better logging of when PORT, PASV, EPRT,
        and EPSV are denied because of <Limit> configurations.  Minor code
        style changes.

2005-06-01  castaglia <castaglia>

        * doc/contrib/mod_radius.html: Remove extraneous space.

2005-06-01  castaglia <castaglia>

        * doc/contrib/mod_radius.html: Updating mod_radius documentation.

2005-06-01  castaglia <castaglia>

        * README.Solaris2.5x: Use "ProFTPD", not "ProFTP".

2005-06-01  castaglia <castaglia>

        * contrib/mod_radius.c: More strict checking of the number of
        parameters for the RadiusLog directive.  In general, this a problem with the CHECK_ARGS macro.  It allows >=
        n parameters, where it should check strictly for == n.

2005-06-01  castaglia <castaglia>

        * NEWS, src/bindings.c, src/netaddr.c: Bug#2578 - ProFTPD does not
        listen on IPv6 addresses on FreeBSD.

2005-05-31  castaglia <castaglia>

        * NEWS, modules/mod_delay.c: Bug#2622 - Segfault seen randomly in
        mod_delay.

2005-05-31  castaglia <castaglia>

        * NEWS, modules/mod_delay.c: Bug#2601 - mod_delay sometimes delays
        for a long time.

2005-05-21  castaglia <castaglia>

        * modules/mod_auth.c: If we are unable to resolve a user's home
        directory, try to interpolate it (as when the home dir is "~"), in
        order to provide a more informative log message to the admin.  This
        will greatly help in debugging.

2005-05-10  castaglia <castaglia>

        * NEWS, lib/pr-syslog.c: Bug#2585 - Proftpd does not write RFC 3164
        compliant messages into /dev/log.

2005-05-08  castaglia <castaglia>

        * configure: Updated configure.

2005-05-08  castaglia <castaglia>

        * NEWS, configure.in: Bug#2598 - Build system should check for
        duplicate module requests.

2005-05-07  castaglia <castaglia>

        * Makefile.in, modules/Makefile.in: Make the use of `test' in the
        Makefiles non-silent, to aid in debugging build issues.

2005-05-07  castaglia <castaglia>

        * contrib/mod_load/Makefile.in: Make mod_load's Makefile portable.
        Related to Bug#2589.

2005-05-07  castaglia <castaglia>

        * NEWS: Wrong bug number.

2005-05-07  castaglia <castaglia>

        * NEWS, modules/Makefile.in: Bug#2589 - Makefile in modules/
        directory is not portable.

2005-05-07  castaglia <castaglia>

        * src/netaddr.c: Typo; we were checking the wrong variable, which
        causes the wrong error message to (possibly) be displayed if there
        were resolver errors.

2005-05-06  castaglia <castaglia>

        * NEWS, modules/mod_core.c, modules/mod_ctrls.c, src/table.c: 
        Bug#2605 - Compiler warnings/errors about missing typecasts on
        HP-UX.

2005-05-06  castaglia <castaglia>

        * contrib/mod_tls.c: Bug#2607 - Compiler warnings about missing
        typecasts in mod_tls on HP-UX.

2005-05-06  castaglia <castaglia>

        * contrib/mod_rewrite.c: Bug#2606 - Compiler warnings about missing
        typecasts in mod_rewrite on HP-UX.

2005-05-01  castaglia <castaglia>

        * src/netaddr.c: Log, at debug level 10, if we're returning an IP
        address when a DNS name was requested because of the UseReverseDNS
        setting.

2005-04-30  castaglia <castaglia>

        * configure: Updating configure.

2005-04-30  castaglia <castaglia>

        * configure.in: Removed --disable-auth-unix configure option.  It
        isn't very useful; trying to actually use a proftpd compiled with
        that option would not work well.  Perhaps it will come back later,
        in a better/more usable fashion.

2005-04-30  castaglia <castaglia>

        * NEWS, contrib/mod_ctrls_admin.c, doc/contrib/mod_ctrls_admin.html: 
        Add new 'dns' control action to mod_ctrls_admin, for setting
        UseReverseDNS at runtime.

2005-04-30  castaglia <castaglia>

        * src/bindings.c: Add debugging denoting when there is no exactly
        matching vhost configured for an incoming connection and we end up
        using the DefaultServer.

2005-04-30  castaglia <castaglia>

        * NEWS, modules/mod_auth_unix.c: Bug#2582 - ProFTPD on Tru64 with
        SIA does not call sia_ses_estab().

2005-04-29  castaglia <castaglia>

        * configure: Updating configure.

2005-04-29  castaglia <castaglia>

        * config.h.in, configure.in, modules/mod_auth_unix.c: Systems with
        shadow library support (e.g. Solaris) may require that the
        setspent(3) function be called prior to calling getspent(3) et al.

2005-04-27  castaglia <castaglia>

        * configure: Updating configure.

2005-04-27  castaglia <castaglia>

        * NEWS, config.h.in, configure.in: Bug#2588 - AIX requires _USE_IRS
        #define to use hstrerror().

2005-04-25  castaglia <castaglia>

        * src/bindings.c: It's possible for pr_ipbind_listen() to be called
        without any calls to pr_ipbind_create().  The ipbind_pool was being
        initialized in pr_ipbind_create() if it didn't already exist.
        pr_ipbind_listen() tries to use ipbind_pool, but did not check to
        see if ipbind_pool was initialized.  So when pr_ipbind_listen() was
        called without any prior calls to pr_ipbind_create(), proftpd would
        segfault.  Oops.

2005-04-24  castaglia <castaglia>

        * config.h.in: Typo.

2005-04-23  castaglia <castaglia>

        * modules/mod_delay.c: Have mod_delay log the random value it adds
        to the delay factor, at debug level 10.  Is this where the
        extra-long delays are coming from?  Perhaps...

2005-04-23  castaglia <castaglia>

        * contrib/mod_quotatab.c: More formatting tweaks for mod_quotatab's
        display in response to a SITE QUOTA command.

2005-04-23  castaglia <castaglia>

        * contrib/mod_quotatab.c: Fix minor formatting/spacing issue seen
        when QuotaDisplayUnits is set to something other than 'b' and the
        number of units to be displayed is not "unlimited".

2005-04-23  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#2596 - STAT command can cause
        segfault.

2005-04-22  castaglia <castaglia>

        * contrib/mod_sql.c: Be consistent in the style/formatting of the
        "cache hit for" messages by quoting the group name, too.

2005-04-21  castaglia <castaglia>

        * NEWS, modules/Makefile.in: Bug#2593 - `make install-modules' does
        not honour DESTDIR enviroment variable.

2005-04-21  jwm <jwm>

        * .cvsignore, lib/libltdl/.cvsignore: update for libtool

2005-04-21  jwm <jwm>

        * modules/.cvsignore: - ignore libtool-generated files - mod_linuxprivs is gone

2005-04-17  castaglia <castaglia>

        * NEWS, modules/mod_delay.c, modules/mod_xfer.c: Bug#2590 - AIX uses
        unsigned int for ULONG_MAX, causing printf format warning Bug#2591 -
        wrong argument type in call to pr_log_debug in mod_delay.c on AIX

2005-04-15  castaglia <castaglia>

        * NEWS, src/dirtree.c: Bug#2587 - HideNoAccess does not work for
        DefaultRoot/<Anonymous> logins.

2005-04-15  castaglia <castaglia>

        * include/auth.h, include/compat.h, include/conf.h, include/log.h: 
        Add a header whose role is to hold preprocessor directives for
        backward compatibility.  Function renames, macro changes, etc, that
        sort of thing.

2005-04-11  castaglia <castaglia>

        * NEWS, contrib/mod_sql_postgres.c: Bug#2584 - mod_sql_postgres
        missing end-of-comment character.

2005-04-11  castaglia <castaglia>

        * include/version.h: Update version.

2005-04-10  castaglia <castaglia>

        * NEWS: Updating release date for 1.3.0rc1.

2005-04-10  castaglia <castaglia>

        * src/data.c: As per comments in Bug #2509, it seems that Linux
        x86_64 environments do not support sendfile() for more than 2^31
        bytes.  I don't know if Solaris suffers from the same design.  Have I ever mentioned how much I find the sendfile API to be broken?

2005-04-10  castaglia <castaglia>

        * NEWS, modules/mod_delay.c: Bug#2554 - mod_delay gets
        segfault-signal on several logins.

2005-04-04  castaglia <castaglia>

        * NEWS, modules/mod_auth_unix.c: Bug#2580 - ProFTPD on Tru64 with
        SIA allows login with blank password.

2005-03-26  castaglia <castaglia>

        * ChangeLog, NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: 
        Preparing for release of 1.3.0rc1.

2005-03-26  jwm <jwm>

        * RELEASE_NOTES: mod_ldap is now 2.8.15

2005-03-26  castaglia <castaglia>

        * RELEASE_NOTES: Updating release notes, preparing for release of
        1.3.0rc1.

2005-03-25  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#2493 - mod_tls should support CCC
        command.

2005-03-18  castaglia <castaglia>

        * NEWS, src/support.c: Bug#2576 - PWD command does not handle "
        character properly.

2005-03-17  castaglia <castaglia>

        * modules/mod_auth.c: Call PRIVS_ROOT before PRIVS_REVOKE, to make
        absolutely sure that the real and effective UIDs are as needed in
        order for privs revocation to work.

2005-03-16  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#2551 - Recursive LIST with symlinked
        directories gives duplicate results.

2005-03-16  castaglia <castaglia>

        * modules/mod_ls.c: Cruft removal.

2005-03-12  castaglia <castaglia>

        * modules/mod_ls.c: Fix an unreported bug where attempting to use
        the -t directory listing option would trigger a segfault.

2005-03-11  jwm <jwm>

        * contrib/mod_ldap.c: [no log message]

2005-03-08  castaglia <castaglia>

        * NEWS, src/pool.c: Bug#2567 - Segmentation fault with 64-bit binary
        due to structure layout difference.

2005-03-06  castaglia <castaglia>

        * contrib/mod_quotatab.c: More consistent log messages.

2005-03-05  castaglia <castaglia>

        * contrib/mod_quotatab.c: Fixed quotatab_fsio_write() to check the
        xfer limit as well as the upload limit.

2005-03-05  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab.c: Bug#2515 - mod_quotatab should
        enforce hard limits at the filesystem level.

2005-03-05  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c, modules/mod_auth.c, src/auth.c: Bug#2164
        - Support non-PASS response codes.

2005-03-05  castaglia <castaglia>

        * NEWS, src/inet.c: Bug#2559 - IPv6 socket option should be set for
        ServerType inetd.

2005-03-04  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug #2573 - TLSProtocol directive in
        proftpd.conf is ignored.

2005-03-02  castaglia <castaglia>

        * modules/mod_delay.c: Allow for <IfClass>-based tweaks of the
        DelayEngine directive.

2005-02-28  castaglia <castaglia>

        * README.DSO: Mention the DSO howto.

2005-02-27  castaglia <castaglia>

        * README.modules: List mod_facl in the modules README.

2005-02-27  castaglia <castaglia>

        * README.facl: Fleshing out the POSIX ACL doc.

2005-02-27  castaglia <castaglia>

        * README.DSO: Update the DSO doc with information on where to find
        more documentation for the mod_dso module.

2005-02-27  castaglia <castaglia>

        * README.DSO: Adding more substance to the DSO doc.

2005-02-26  castaglia <castaglia>

        * RELEASE_NOTES: Mention the new --enable-facl configure option,
        mod_facl module in the release notes.

2005-02-26  castaglia <castaglia>

        * src/fsio.c: Fix missing variable declaration.

2005-02-26  castaglia <castaglia>

        * configure: Updating configure.

2005-02-26  castaglia <castaglia>

        * NEWS, README.facl, config.h.in, configure.in, include/conf.h,
        include/dirtree.h, include/fsio.h, include/privs.h,
        include/proftpd.h, include/support.h, modules/mod_auth.c,
        modules/mod_facl.c, modules/mod_ls.c, src/dirtree.c, src/fsio.c,
        src/main.c, src/support.c: Bug #2331: Proftpd does not honor POSIX
        ACLs.

2005-02-25  castaglia <castaglia>

        * NEWS, contrib/mod_sql_mysql.c: Bug #2563: Linking fails on Solaris
        with libz and libmysqlclient.

2005-02-25  castaglia <castaglia>

        * ChangeLog: Updated ChangeLog.

2005-02-15  jwm <jwm>

        * contrib/dist/rpm/proftpd.spec: i don't have access to red hat
        machines anymore, so i'm no longer maintaining this

2005-02-07  castaglia <castaglia>

        * include/inet.h, src/inet.c: Use "const char *" where appropriate.

2005-02-04  castaglia <castaglia>

        * NEWS, src/fsio.c: Bug#2556: Rename of directory across devices
        fails.

2005-01-25  castaglia <castaglia>

        * NEWS, lib/libcap/cap_sys.c: Bug#2503 - Bundled libcap library does
        not compile on IA64 machine.

2005-01-13  castaglia <castaglia>

        * modules/mod_ls.c: The fix for Bug #2229 (rev 1.119 of
        modules/mod_ls.c) inadvertently broke globbing; it was calling
        globfree(3) on a struct whose members had been allocated from memory
        that was not obtained via glob(3).  This is a bad combination.

2005-01-06  castaglia <castaglia>

        * contrib/mod_load/mod_load.c.in, contrib/mod_radius.c,
        modules/mod_delay.c: Fix compiler warnings (generated by gcc-3.4.2
        on an AMD64 machine running Linux 2.6.9).

2005-01-06  castaglia <castaglia>

        * src/bindings.c: Fix segfault caused by a NULL listener_list.

2005-01-03  castaglia <castaglia>

        * doc/howto/Stopping.html: Updating FAQ URL.

2005-01-03  castaglia <castaglia>

        * INSTALL: Apparently configure scripts don't pass env vars very
        well to sub-configure scripts.

2005-01-02  jwm <jwm>

        * lib/glibc-hstrerror.c: silence ranlib's 'object contains no
        symbols' warning if the host OS already has hstrerror()

2005-01-02  castaglia <castaglia>

        * RELEASE_NOTES: Make a note to describe the addition of mod_delay
        to the module list.

2005-01-01  castaglia <castaglia>

        * doc/contrib/mod_load.html: Updating the mod_load docs to mention
        the provided Display variables.

2005-01-01  castaglia <castaglia>

        * doc/howto/DisplayFiles.html: Mention that other modules can add
        their own Display variables.

2005-01-01  castaglia <castaglia>

        * contrib/mod_load/mod_load.c.in: Enhance mod_load to use the
        Variables API.

2005-01-01  castaglia <castaglia>

        * contrib/mod_load/configure: Updating configure.

2005-01-01  castaglia <castaglia>

        * doc/contrib/mod_load.html: Eliminated the need for Solaris users
        to do anything special when building mod_load; its configure script
        handles everything.

2005-01-01  castaglia <castaglia>

        * contrib/mod_load/configure.in, contrib/mod_load/getloadavg.c,
        contrib/mod_load/mod_load.c, contrib/mod_load/mod_load.c.in: 
        Modified the configure script to detect when additional libraries
        are needed, and to generate mod_load.c from mod_load.c.in, with the
        $Libraries$ tag properly populated.  Note that newer autoconf treatment of the AC_FUNC_GETLOADAVG macro
        requires that a getloadavg.c file be present, even if empty.  How
        annoying.

2005-01-01  castaglia <castaglia>

        * contrib/mod_load/mod_load.c: No need for mod_load's getloadavg()
        function to be visible outside of the source file.

2005-01-01  castaglia <castaglia>

        * contrib/mod_load/mod_load.c: Fix some compiler warnings about
        formats.  Add an empty $Libraries$ tag.  Soon, mod_load's configure script
        will process the mod_load source, and substitute in a list of
        libraries that mod_load conditionally requires (e.g. libkstat on
        Solaris).

2005-01-01  castaglia <castaglia>

        * contrib/mod_load/mod_load.c: Slightly prettier code organization.

2005-01-01  castaglia <castaglia>

        * contrib/mod_load/mod_load.c: Updating mod_load source style.

2005-01-01  castaglia <castaglia>

        * doc/contrib/index.html: Update doc/contrib index to include
        mod_load reference.

2005-01-01  castaglia <castaglia>

        * README.modules, RELEASE_NOTES: Add mod_load to the list of
        modules.

2005-01-01  castaglia <castaglia>

        * NEWS, contrib/mod_load/Makefile.in, contrib/mod_load/configure,
        contrib/mod_load/configure.in, contrib/mod_load/mod_load.c,
        contrib/mod_load/mod_load.h.in, doc/contrib/mod_load.html: Bug#1651
        - Add contrib module to limit connection acceptance based on system
        load.

2005-01-01  castaglia <castaglia>

        * configure: Updating configure.

2005-01-01  castaglia <castaglia>

        * modules/Makefile.in: Fix the install target when handling only
        shared modules that install themselves.

2005-01-01  castaglia <castaglia>

        * .autom4te.cfg, Make.rules.in, Makefile.in, NEWS, configure.in,
        modules/Makefile.in: Bug#2549 - Allow contrib modules to be built
        from multiple source files.

2004-12-31  castaglia <castaglia>

        * doc/howto/FTP.html: Updating the list of SITE commands supported
        by ProFTPD.

2004-12-31  castaglia <castaglia>

        * doc/howto/FTP.html: Updating the list of FTP commands supported by
        ProFTPD.

2004-12-30  castaglia <castaglia>

        * contrib/mod_sql_mysql.c: Log if mod_sql_mysql fails to
        authenticate a password using the 'backend' SQLAuthType because of a
        password mismatch.

2004-12-30  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2541 - <Directory ~user> path
        resolved at startup time, rather than at session time.

2004-12-30  castaglia <castaglia>

        * NEWS, modules/mod_delay.c: Bug#2540 - Fails to disable mod_delay
        if no DelayTable file exists.

2004-12-23  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c: More
        prettification of error messages.

2004-12-23  castaglia <castaglia>

        * contrib/mod_sql.c: Makes for nicer error messages.

2004-12-23  castaglia <castaglia>

        * INSTALL: Updating the installation notes.

2004-12-17  castaglia <castaglia>

        * modules/Makefile.in: Make the Makefile for the modules/ directory
        nicer, so that when developing shared modules within the source
        directory, make picks up on the updated source file and does The
        Right Thing.

2004-12-17  castaglia <castaglia>

        * modules/mod_dso.c: Avoid compiler warning about unused function.

2004-12-17  castaglia <castaglia>

        * NEWS, contrib/mod_ifsession.c: Bug#2536 - mod_ifsession does not
        properly merge in all directives.

2004-12-17  castaglia <castaglia>

        * src/sets.c: Update xaset_insert_end() so that it updates the
        'next' field of the previous member in the set.

2004-12-17  castaglia <castaglia>

        * contrib/mod_ifsession.c: Hide some of the label strings used by
        mod_ifsession by prefacing their names with an underscore.  Such
        names are not displayed by pr_config_dump().

2004-12-17  castaglia <castaglia>

        * contrib/mod_ldap.c: Typo.

2004-12-16  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: Support being unloaded as a shared
        module.

2004-12-16  castaglia <castaglia>

        * contrib/mod_rewrite.c: Support being unloaded as a shared module.

2004-12-16  castaglia <castaglia>

        * contrib/mod_radius.c: Add code to support being unloaded as a
        shared module.

2004-12-16  castaglia <castaglia>

        * contrib/mod_quotatab.c, contrib/mod_quotatab.h,
        contrib/mod_quotatab_file.c, contrib/mod_quotatab_ldap.c,
        contrib/mod_quotatab_sql.c: Add a new quotatab_unregister_backend()
        function to the mod_quotatab API, and rename quotatab_register() to
        quotatab_register_backend().  This makes it consistent with
        mod_sql's backend API, and also makes it possible to unregister a
        quotatab backend module.  Adds support for graceful unloading of mod_quotatab et al as shared
        modules.

2004-12-16  castaglia <castaglia>

        * contrib/mod_tls.c: Add code to mod_tls to support being unloaded
        as a shared module.

2004-12-16  castaglia <castaglia>

        * modules/mod_dso.c, src/main.c: Rather than having the core engine
        unload modules during a restart, have them unloaded by mod_dso.
        That's only fair, since a) mod_dso was responsible for loading the
        modules in the first place, and b) mod_dso also handles the unloaded
        of the handles from libltdl, about which the core engine knows
        nothing.

2004-12-16  castaglia <castaglia>

        * contrib/mod_sql.c, contrib/mod_sql_mysql.c,
        contrib/mod_sql_postgres.c: Tweak the SQL modules to better handle
        being built as shared modules.

2004-12-16  castaglia <castaglia>

        * src/main.c: During a restart (e.g. SIGHUP), unload all non-static
        modules, i.e. all shared modules that have been dynamically loaded.
        This is to handle the case where an admin removes a LoadModule
        directive from proftpd.conf, then issues a SIGHUP.  Note that this requires changes to shared modules, to make sure they
        unload themselves properly.  Such changes for the contrib/ modules
        will follow shortly.

2004-12-16  castaglia <castaglia>

        * include/event.h, src/event.c: Tweak the Event API to allow blanket
        unregistration of all a module's event listeners in one
        pr_event_unregister() call.  Gracefully avoid a possible segfault during pr_event_register().

2004-12-16  castaglia <castaglia>

        * src/auth.c: 'login' is a global variable somewhere, so compiling
        under --enable-devel kicks up compiler warnings.

2004-12-16  castaglia <castaglia>

        * Makefile.in: The shell's test function prefers to operate on
        single strings, so enclose the expanded $SHARED_MODULE_OBJS list
        within quotations.

2004-12-16  castaglia <castaglia>

        * doc/howto/DisplayFiles.html: Updating the DisplayFiles doc with
        the newly added Display variables.

2004-12-16  castaglia <castaglia>

        * doc/howto/DisplayFiles.html, doc/howto/index.html: Adding a doc
        covering the Display directives.

2004-12-12  castaglia <castaglia>

        * doc/howto/DSO.html: Grammatical nicety.

2004-12-12  castaglia <castaglia>

        * doc/howto/ListOptions.html: Updating URL for current location
        under doc/howto/.

2004-12-12  castaglia <castaglia>

        * doc/howto/ListOptions.html, doc/howto/index.html: Adding the
        ListOptions howto to the source distribution.

2004-12-12  castaglia <castaglia>

        * RELEASE_NOTES: Update the release notes.

2004-12-12  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#2534 - Add suport for -S ListOption,
        for sorting files by file size.

2004-12-12  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#2229 - NLST and LIST behave
        differently e.g. when listing an empty directory.  Make the behavior
        between LIST and LIST consistent with respect to empty directories,
        and when listing nonexistent directories.

2004-12-12  castaglia <castaglia>

        * doc/howto/DSO.html, doc/howto/index.html: Adding DSO howto to
        source distribution.

2004-12-12  castaglia <castaglia>

        * doc/contrib/mod_sql.html: Add documentation for the SQLEngine
        directive.

2004-12-12  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#2406 - Add a SQLEngine
        directive.

2004-12-12  castaglia <castaglia>

        * modules/mod_ctrls.c, modules/mod_site.c: Use the Auth API
        functions in the 'pr_' namespace.

2004-12-12  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2027 - Add log message for timed out
        passive transfers.

2004-12-08  castaglia <castaglia>

        * doc/contrib/mod_quotatab.html: Explicitly mention that only one
        type of limit is in effect at a time, and that applicable limits for
        a given user are not combined.

2004-12-05  castaglia <castaglia>

        * src/main.c: Yet another place where main_server needs to be set to
        NULL before calling free_pools().  Only affects servers built using
        the --enable-devel=nodaemon option.

2004-12-05  castaglia <castaglia>

        * src/main.c: If main_server is not set to NULL before freeing all
        of the pools (from which main_server is allocated), segfaults can
        occur if something tries to log a message.  Note that this only
        happens if the --enable-devel configure option is used, so it
        doesn't affect most users.

2004-12-05  castaglia <castaglia>

        * src/main.c: Properly set session.c and session.d to NULL once
        we've closed them.

2004-12-05  castaglia <castaglia>

        * doc/howto/Authentication.html: Correct the RequireValidShell FAQ
        URL.

2004-12-05  castaglia <castaglia>

        * include/auth.h, modules/mod_auth.c, src/auth.c: Move that code
        responsible for looking up the anonymous configuration for a given
        user name, if applicable, out of mod_auth.c and into the Auth API.
        The main reason for this is to allow contrib modules that may need
        to determine whether a given login is to be handled anonymously
        (e.g.  mod_wrap, mod_sql) the ability to use the same code as
        mod_auth, rather than having to duplicate it themselves.  A nice
        side benefit as that the Auth API function added,
        pr_auth_get_anon_config(), more legibly describes what the function
        does.  This will help to make the mod_auth code slightly easier to
        understand (for some value of "easier").

2004-12-05  castaglia <castaglia>

        * doc/howto/Limit.html: Add examples of blocking PORT or PASV
        commands.

2004-12-04  castaglia <castaglia>

        * doc/howto/Upgrade.html, doc/howto/index.html: Add an Upgrade
        mini-HOWTO to doc/howto/.

2004-12-04  castaglia <castaglia>

        * doc/contrib/mod_quotatab.html: Fix up the links to the quotatab
        submodule docs.

2004-12-04  castaglia <castaglia>

        * doc/contrib/mod_quotatab.html: Update the mod_quotatab
        installation instructions.

2004-12-04  castaglia <castaglia>

        * contrib/mod_quotatab.c, contrib/mod_quotatab.h,
        doc/contrib/mod_quotatab.html: Add some Display variables for
        mod_quotatab:   %{mod_quotatab.limit.bytes_in}   %{mod_quotatab.limit.bytes_out}   %{mod_quotatab.limit.bytes_xfer}   %{mod_quotatab.limit.files_in}   %{mod_quotatab.limit.files_out}   %{mod_quotatab.limit.files_xfer}   %{mod_quotatab.tally.bytes_in}   %{mod_quotatab.tally.bytes_out}   %{mod_quotatab.tally.bytes_xfer}   %{mod_quotatab.tally.files_in}   %{mod_quotatab.tally.files_out}   %{mod_quotatab.tally.files_xfer} These are documented in the mod_quotatab documentation under
        doc/contrib/.

2004-12-04  castaglia <castaglia>

        * src/var.c: Pass the exact pointers provided by callers of
        pr_var_set(), rather than copies of the pointed-to data.

2004-12-04  castaglia <castaglia>

        * modules/mod_core.c: Reduce complexity of code needed for
        displaying byte/file Variables by reducing the number of callbacks
        to two (as opposed to six).

2004-12-04  castaglia <castaglia>

        * src/display.c: Fix displaying of variables.

2004-12-04  castaglia <castaglia>

        * RELEASE_NOTES: Mention the new Display variables in the release
        notes.

2004-12-04  castaglia <castaglia>

        * NEWS, include/proftpd.h, modules/mod_core.c, modules/mod_xfer.c,
        src/display.c: Bug#2170 - Add byte count variables, similar to the
        file count Display variables.

2004-12-04  castaglia <castaglia>

        * modules/mod_core.c: Handle the case where there's only one name
        provided in the Allow/Deny rule.

2004-12-02  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2528 - Incorrect username 'and'
        parsing in AllowUser.

2004-12-02  castaglia <castaglia>

        * src/main.c: Close the control and data connections before running
        any registered 'core.exit' event handlers.

2004-12-02  castaglia <castaglia>

        * contrib/mod_tls.c: Unregister the NetIO streams registered by
        mod_tls during its 'core.exit' handler.  This prevents segfaults
        that can happen when a session is exiting (as when ABORting an
        in-progress data transfer).

2004-12-01  castaglia <castaglia>

        * contrib/mod_rewrite.c, modules/mod_core.c, modules/mod_xfer.c: 
        Correct a few lingering cases where pr_log_pri() was being called
        with a log level that wasn't in the PR_ namespace.

2004-11-29  castaglia <castaglia>

        * src/dirtree.c: Style cleanup.

2004-11-29  castaglia <castaglia>

        * doc/howto/Debugging.html: Updating URL.

2004-11-25  jwm <jwm>

        * modules/mod_delay.c: include signal.h to fix the build under
        Solaris 8

2004-11-24  castaglia <castaglia>

        * src/support.c: More old-style exit handler cruft.

2004-11-23  castaglia <castaglia>

        * src/display.c: Extraneous #include (and at the bottom of a file).

2004-11-23  castaglia <castaglia>

        * modules/mod_core.c: We were calling pr_display_file() on
        DisplayQuit files with the arguments in the wrong order.

2004-11-22  castaglia <castaglia>

        * doc/contrib/mod_ctrls_admin.html: Fix the mod_ctrls_admin
        documentation.  First, there was a duplicate entry for the 'down'
        control action.  Second, the 'shutdown' entry had gone completely
        missing.

2004-11-22  castaglia <castaglia>

        * NEWS: Bug#2510 - Use of ExportCertData TLSOption leads to
        segfault.

2004-11-22  castaglia <castaglia>

        * contrib/mod_tls.c: Since we stuff an SSL * in the strm_data slot
        for each NetIO stream, and there are two streams for a connection,
        when closing a connection, we want to call tls_end_session() (which
        ends up freeing that SSL *) only once per connection.  I chose to do
        this always for the write stream of a connection.  Should help with
        some of the OpenSSL reference counter issues we've been seeing.  This patch is also part of the solution for Bug #2313.

2004-11-22  castaglia <castaglia>

        * contrib/mod_tls.c: Adding some missing logic; pointers that have
        been free()'d should always be set to NULL afterwards.

2004-11-22  castaglia <castaglia>

        * Makefile.in: As per Michael's suggestion, remove the .libs/
        directory, and libtool, during the 'distclean' target.

2004-11-22  castaglia <castaglia>

        * src/support.c: More old-style exit handler cruft.

2004-11-22  castaglia <castaglia>

        * src/main.c: Straggler run_exit_handlers() call.  Be gone with ye!

2004-11-22  castaglia <castaglia>

        * include/support.h, src/main.c, src/support.c: No more support for
        the old-style exit handlers.

2004-11-21  castaglia <castaglia>

        * modules/mod_delay.c: Allow SIGTERM to interrupt mod_delay.

2004-11-21  castaglia <castaglia>

        * modules/mod_delay.c: Since mod_delay uses mmap(), any updates it
        makes to the DelayTable won't be reflected in the mtime field of the
        file's metadata.  To help alleviate this perception, add a
        'core.exit' event handler that explicitly writes out the DelayTable
        to disk.  Fix up some memory problems spotted under valgrind.  Also, if the
        expected DelayTable is smaller than the current table, make sure we
        truncate the file.

2004-11-21  castaglia <castaglia>

        * doc/contrib/mod_ifsession.html: Forgot to list MaxInstances as not
        being alterable by mod_ifsession.

2004-11-21  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#2520 - Turning on AuthAliasOnly
        disables MaxClientsPerHost.  ProFTPD was not using the TOPLEVEL_CONF
        macro, as it should have been.

2004-11-20  castaglia <castaglia>

        * NEWS, include/timers.h, src/main.c, src/timers.c: Bug#2516 -
        Getting "421 Login Timeout" immediately upon connect.  The child
        processes were inheriting the values of static Timer API variables,
        including the parent's timer list.  This causes problems when, in
        the parent process, one of those static variables stops being
        properly updated.  I'm not convinced that the root cause of this bug
        has been found, but this patch addresses the problematic behavior,
        so that at least session processes aren't affected so badly.

2004-11-20  castaglia <castaglia>

        * src/timers.c: Be a little more paranoid: don't set the indispatch
        flag until after alarms have been blocked.

2004-11-20  castaglia <castaglia>

        * README.IPv6: Remove mention of the Bind directive.  We want it
        gone.

2004-11-20  castaglia <castaglia>

        * NEWS, README.IPv6, RELEASE_NOTES, include/bindings.h,
        modules/mod_core.c, src/bindings.c, src/dirtree.c: Bug#2454 - Extend
        <VirtualHost> to honor multiple addresses.

2004-11-20  castaglia <castaglia>

        * RELEASE_NOTES: Adding a comment about how use of sendfile() causes
        download transfer speeds not to be displayable.

2004-11-17  castaglia <castaglia>

        * doc/howto/Controls.html: Mention that only primary groups, not
        supplemental groups, are used.

2004-11-17  castaglia <castaglia>

        * configure: Updating configure.

2004-11-17  castaglia <castaglia>

        * configure.in: Tweak the configure script to always use our bundled
        version of getaddrinfo() on HP-UX 11.x, since HP-UX's getaddrinfo()
        (among many other things) is busted.

2004-11-15  castaglia <castaglia>

        * README.modules: Updating README.modules.

2004-11-15  castaglia <castaglia>

        * modules/mod_core.c, modules/mod_xfer.c: Deny the SIZE command if
        we're in ASCII mode, as we do for REST.  Be sure to add debug
        logging for both of these cases.

2004-11-14  castaglia <castaglia>

        * modules/mod_core.c: Check that a scoreboard entry's PID is
        non-zero before sending the zero signal to that PID.

2004-11-14  castaglia <castaglia>

        * NEWS, doc/howto/ASCII.html, doc/howto/index.html,
        modules/mod_xfer.c: Bug#2471 - Restart command (REST) is not working
        correctly for text files.

2004-11-14  castaglia <castaglia>

        * doc/howto/Scoreboard.html, doc/howto/index.html: Adding a
        ScoreboardFile mini-HOWTO.

2004-11-13  castaglia <castaglia>

        * ltmain.sh: Increase the max allowed command line length in the
        libtool script to be 4K.  I'd rather we encounter the system limit
        before an arbitrarily imposed one.

2004-11-13  castaglia <castaglia>

        * include/fsio.h, src/fsio.c: Beginnings of support for stackable
        FSIO layers.  Rather than allowing only a one-to-one mapping between
        paths and FS objects, this patch allows for one-to-many mappings,
        linking FS objects together in a linked list for the same path.  At present, only the top layer on the stack, for a given FSIO
        operation, will be used.  I anticipate that it will be the
        responsibility of the called FSIO handler to decide whether it wants
        to act as a filter handler, and pass the parameters farther down the
        stack, or whether it wants to act as a source/sink handler and
        handle the parameters entirely by itself.  This behavior allows for
        backward compatibility with existing FSIO modules.

2004-11-13  castaglia <castaglia>

        * modules/mod_delay.c: Use proper grammar.

2004-11-11  castaglia <castaglia>

        * RELEASE_NOTES, modules/mod_log.c: Make "SECURE" an alias for "SEC"
        when configuring ExtendedLog logging classes.

2004-11-11  castaglia <castaglia>

        * include/table.h, src/main.c, src/table.c: Add a function,
        pr_table_nalloc(), to the Table API which allows for allocating a
        table with the given number of chains.  Previously, callers would
        need to call pr_table_alloc(), then pr_table_ctl() to resize the
        number of chains, and in doing so there would be a slight memory
        leak.  Now such callers can allocate the number of chains (usually
        smaller than the default of 32) as they need.

2004-11-10  castaglia <castaglia>

        * configure: Updating configure.

2004-11-10  castaglia <castaglia>

        * RELEASE_NOTES: Mention the new UseSendfile directive.

2004-11-10  castaglia <castaglia>

        * NEWS, configure.in, modules/mod_xfer.c: Bug#2507 - Enable use of
        sendfile by default.

2004-11-10  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_tls.c, include/modules.h,
        modules/mod_log.c: Bug#2518 - Ability to log SSL/TLS commands in an
        ExtendedLog.

2004-11-10  castaglia <castaglia>

        * src/timers.c: Prevent callers from providing a negative number of
        seconds when adding a timer.

2004-11-09  castaglia <castaglia>

        * NEWS: Add a header to the NEWS file indicating the Bugzilla URL to
        use for looking up the mentioned bug reports.

2004-11-09  castaglia <castaglia>

        * modules/mod_delay.c: Use PR_RUN_DIR, not RUN_DIR.

2004-11-09  castaglia <castaglia>

        * configure: Updating configure.

2004-11-09  castaglia <castaglia>

        * NEWS: Bug#2480 - Remote users discovery.

2004-11-09  castaglia <castaglia>

        * configure.in: Make mod_delay one of the default modules.

2004-11-09  castaglia <castaglia>

        * doc/modules/mod_delay.html, modules/mod_delay.c: Adding mod_delay
        to the distribution.  Part of Bug #2480.

2004-11-08  castaglia <castaglia>

        * modules/Makefile.in: Found a case where make(1) was not providing
        $(RM).  How annoying.

2004-11-06  castaglia <castaglia>

        * configure: Updating configure.

2004-11-06  castaglia <castaglia>

        * configure.in: I prefer, if possible, to see the functions checked
        in alphabetical order.

2004-11-05  castaglia <castaglia>

        * README.DSO: Adding reminder note.

2004-11-05  castaglia <castaglia>

        * configure: Updated configure.

2004-11-05  castaglia <castaglia>

        * config.h.in, configure.in: Check for the fdatasync(2) function.

2004-11-04  castaglia <castaglia>

        * NEWS, include/data.h, modules/mod_xfer.c, src/data.c: Bug#2509 -
        sendfile() usage fails with > 2GB files.

2004-11-04  castaglia <castaglia>

        * configure: Updating configure.

2004-11-04  castaglia <castaglia>

        * config.h.in, configure.in: Add checks for iconv() and
        nl_langinfo(), which will be needed for i18n support.

2004-11-03  castaglia <castaglia>

        * doc/contrib/index.html: Adding an index to the doc/contrib/
        directory.

2004-11-03  castaglia <castaglia>

        * doc/contrib/ftpasswd.html, doc/contrib/ftpquota.html,
        doc/contrib/mod_ctrls_admin.html, doc/contrib/mod_ifsession.html,
        doc/contrib/mod_quotatab.html, doc/contrib/mod_quotatab_file.html,
        doc/contrib/mod_quotatab_ldap.html,
        doc/contrib/mod_quotatab_sql.html, doc/contrib/mod_radius.html,
        doc/contrib/mod_rewrite.html, doc/contrib/mod_site_misc.html,
        doc/contrib/mod_sql.html, doc/contrib/mod_tls.html,
        doc/contrib/mod_wrap.html: Moving the HTML documentation from
        contrib/ to doc/contrib/.

2004-11-03  castaglia <castaglia>

        * modules/mod_auth_pam.c, modules/mod_core.c, modules/mod_ls.c,
        modules/mod_xfer.c: Removing deprecated directives.

2004-11-03  castaglia <castaglia>

        * contrib/mod_sql.c: Cleaning up the style of code in mod_sql.  It
        still needs work, as it's inconsistent and thus harder to read and
        maintain.

2004-11-03  castaglia <castaglia>

        * config.h.in, configure.in: Check for, and record, the size of a
        size_t.

2004-11-03  castaglia <castaglia>

        * include/table.h, src/table.c: When removing keys and entries from
        the table, rather than destroying their pools, add them to free
        lists, associated with the table itself.  Check these free lists
        when adding new keys and entries.  Thus the total memory for a table
        is proportional to the total number of entries ever used at one
        time, and we don't have as much memory churn from the destroying of
        pools.  The pool members of the key and entry structs have thus been
        removed.  Also handle signals while iterating through the table chains in
        pr_table_empty().

2004-11-03  castaglia <castaglia>

        * include/default_paths.h: Remove an unused macro, and its
        accompanying crufty comment.

2004-11-02  castaglia <castaglia>

        * config.h.in, configure.in, contrib/mod_ctrls_admin.c,
        contrib/mod_radius.c, include/conf.h, include/default_paths.h,
        include/mod_ctrls.h, include/netaddr.h, include/scoreboard.h,
        modules/mod_auth.c, modules/mod_auth_unix.c, modules/mod_core.c,
        modules/mod_ctrls.c, modules/mod_dso.c, src/ctrls.c, src/dirtree.c,
        src/ftpdctl.c, src/inet.c, src/log.c, src/main.c, src/netacl.c,
        src/netaddr.c, src/scoreboard.c, src/support.c, utils/ftpcount.c,
        utils/ftpshut.c, utils/ftptop.c, utils/ftpwho.c,
        utils/scoreboard.c, utils/utils.h: Moving many of the macros
        defining default paths into the 'PR_' namespace.  This isn't an
        issue now, but will become one when proftpd installs its header
        files into the production location, which will allow DSO modules to
        be built outside of the proftpd source tree.  When that happens, the
        likelihood of symbol collisions between ProFTPD macros/names and
        other files increases.

2004-11-02  castaglia <castaglia>

        * Makefile.in: No need to invoke modules/Makefile's 'shared-modules'
        target if there are no shared module to build.

2004-11-02  castaglia <castaglia>

        * Makefile.in, lib/Makefile.in, modules/Makefile.in: More tweaks to
        get builds using just --with-modules to work again.

2004-11-02  castaglia <castaglia>

        * configure: Updating configure.

2004-11-02  castaglia <castaglia>

        * Makefile.in, configure.in, lib/Makefile.in, modules/Makefile.in: 
        Need to properly handle the case where the user might specify
        --with-modules, and no --with-shared.  In this case, the
        $(SHARED_MODULE_OBJS) variable will be empty, which was not being
        handled.

2004-11-01  castaglia <castaglia>

        * NEWS, README.DSO: Mention the addition of DSO support in NEWS, and
        start on an accompanying README.DSO.  There will eventually appear a
        DSO mini-HOWTO as well.

2004-11-01  castaglia <castaglia>

        * configure: Updating configure.

2004-11-01  castaglia <castaglia>

        * Make.rules.in, Makefile.in, configure.in, modules/Makefile.in: 
        Adding support for a --with-shared configure option, for building
        DSO (aka shared) modules.

2004-11-01  castaglia <castaglia>

        * modules/mod_dso.c: Calling lt_dlexit() in a 'core.exit' event
        handler caused proftpd to segfault when shutting down.  All of the
        stashed module *m pointers for dynamically loaded modules become
        invalid after a call to lt_dlexit(), and those pointers can be used
        after mod_dso's exit handler.  The solution (though not clean) is to
        not call lt_dlexit().

2004-11-01  castaglia <castaglia>

        * src/display.c: Bad reuse of variable name.

2004-11-01  castaglia <castaglia>

        * include/var.h: Forgot to declare the pr_var_delete() function.

2004-10-31  castaglia <castaglia>

        * modules/mod_dso.c: The dso_unload_module() function is only used
        if the 'rmmod' control action is used, which means that it requires
        Controls support.  Otherwise, we don't need it.

2004-10-31  castaglia <castaglia>

        * modules/mod_dso.c: Remove an unnecessary function.

2004-10-31  castaglia <castaglia>

        * modules/mod_core.c: Report the line number of the <IfDefine>,
        <IfModule> sections used or skipped.

2004-10-31  castaglia <castaglia>

        * include/parser.h, src/parser.c: Add a function to the Parser API
        for getting the current line number.  This is useful for better
        reporting.

2004-10-31  castaglia <castaglia>

        * modules/mod_dso.c: Some of the loop variables are only used if
        Controls support is enabled.

2004-10-31  castaglia <castaglia>

        * configure: Updating configure.

2004-10-31  castaglia <castaglia>

        * aclocal.m4: Update our local autoconf macros, specifically those
        dealing with libtool.  This should fix the warning:   libtool: link: warning: `AC_LIBTOOL_DLOPEN' not used. Assuming no
          dlopen support.  that I was seeing.

2004-10-31  castaglia <castaglia>

        * src/table.c: Quell a compiler warning about "use of cast
        expressions as lvalues" by being explicit.

2004-10-31  castaglia <castaglia>

        * config.h.in, include/conf.h: The configure script was checking for
        <inttypes.h>, but we were not recording whether it was present or
        not, or including the header if it was present.  Shame on us.

2004-10-31  castaglia <castaglia>

        * modules/Makefile.in: The building of modules should require the
        libltdl header or library.  Just libtool to handle the linking.

2004-10-31  castaglia <castaglia>

        * src/main.c: Add the display of PR_TUNABLE_RCVBUFSZ,
        PR_TUNABLE_SNDBUFSZ to the -V output.

2004-10-31  castaglia <castaglia>

        * configure: Updating configure.

2004-10-31  castaglia <castaglia>

        * Makefile.in, configure.in: Attempting to get a DSO-enabled proftpd
        to link properly on platforms other than Linux by linking with
        libltdl as an object file, rather than linking against it as a
        library.

2004-10-31  castaglia <castaglia>

        * modules/mod_log.c: Since we're using %ld as a format, explicitly
        cast the value as a long int, rather than as a time_t.

2004-10-31  castaglia <castaglia>

        * configure: Updating configure.

2004-10-31  castaglia <castaglia>

        * Make.rules.in, configure.in: Let's move the definition of
        HAVE_CONFIG_H into Make.rules.  The ordering of HAVE_CONFIG_H in the
        flags is therefore nicer.

2004-10-31  castaglia <castaglia>

        * configure: Updating configure.

2004-10-31  castaglia <castaglia>

        * configure.in: Define HAVE_CONFIG_H when compiling proftpd.  Some
        of the files under lib/ require this, in order to pull in
        <config.h>, and subsequently some of the system headers needed.

2004-10-31  castaglia <castaglia>

        * lib/Makefile.in: If LIB_DEPS happens to be the empty string (as
        needed for Solaris), provide a target for it which does nothing.
        Otherwise make will be cranky.

2004-10-31  castaglia <castaglia>

        * configure: Updating configure.

2004-10-31  castaglia <castaglia>

        * src/var.c: Quell a compiler warning about a label with no
        expressions.

2004-10-31  castaglia <castaglia>

        * config.h.in, configure.in: Check for the <string.h> header.

2004-10-31  castaglia <castaglia>

        * configure: Updating configure.

2004-10-31  castaglia <castaglia>

        * configure.in: Initialize the socket buffer sizes, just to be safe.

2004-10-31  castaglia <castaglia>

        * RELEASE_NOTES, include/version.h: As Daniel noted, it should be
        "1.3.0", not just "1.3".

2004-10-31  castaglia <castaglia>

        * configure: Updating configure.

2004-10-31  castaglia <castaglia>

        * configure.in: Bourne shell tests on Solaris don't like testing
        empty values; they prefer the empty string if nothing else.

2004-10-31  castaglia <castaglia>

        * configure: Updating configure.

2004-10-31  castaglia <castaglia>

        * config.h.in, configure.in, include/options.h, src/data.c,
        src/dirtree.c: First, fix a bug where session.xfer.buf was allocated
        as PR_TUNABLE_BUFFER_SIZE, rather than PR_TUNABLE_XFER_BUFFER_SIZE.  Next, try to be smarter about the default value for
        PR_TUNABLE_XFER_BUFFER_SIZE.  The configure script now runs a small
        test program that uses getsockopt(2) to determine the sizes of a TCP
        socket's send and receive buffers.  The smaller of the two buffer
        sizes is used as the default value for PR_TUNABLE_XFER_BUFFER_SIZE;
        the --enable-transfer-buffer-size option will override this test.
        The test program also records those send/receive buffer sizes in
        PR_TUNABLE_RCVBUFSZ and PR_TUNABLE_SNDBUFSZ, which were previously
        hardcoded to be 8K.

2004-10-31  castaglia <castaglia>

        * modules/mod_xfer.c, src/data.c: Style nits: struct stat variables
        should be named 'st', and the 'xlate' name for the ASCII handling
        routines is not appropriate in light of the i18n translation we will
        be needing.  It's more of a transformation, really.

2004-10-31  castaglia <castaglia>

        * NEWS: Updating NEWS.

2004-10-31  castaglia <castaglia>

        * Make.rules.in, include/conf.h, include/display.h,
        include/modules.h, include/var.h, modules/mod_auth.c,
        modules/mod_core.c, src/display.c, src/main.c, src/var.c: Bug#2701 -
        Add Variables API.  This also separates the code used for handling Display* files into
        its own file; src/main.c was calling into modules/mod_core.c for
        that function, which is bad design.  Core code should not be using
        functions implemented in modules.

2004-10-31  castaglia <castaglia>

        * config.h.in, configure.in, src/main.c: Make sure that if
        --enable-dso is used, it shows up when the -V command-line option is
        used.

2004-10-31  castaglia <castaglia>

        * RELEASE_NOTES: Updating the release notes.  These still need some
        work.

2004-10-31  castaglia <castaglia>

        * src/inet.c: Typo.

2004-10-31  castaglia <castaglia>

        * src/parser.c: Update the license to reflect the proper original
        copyright holder(s).

2004-10-31  castaglia <castaglia>

        * Make.rules.in, contrib/mod_ifsession.c, include/conf.h,
        include/dirtree.h, include/parser.h, modules/mod_core.c,
        src/dirtree.c, src/main.c, src/parser.c: Separating the parser code
        out from src/dirtree.c into its own file, src/parser.c, with a
        proper header file documenting the API (include/parser.h).  Update
        the rest of the core code to use the new API as needed.

2004-10-31  castaglia <castaglia>

        * contrib/mod_ifsession.c: There is not enough information to call
        resolve_deferred_dirs() at session init time.  This function is
        usually for expanding the tilde in path names, and at session init
        time, we don't know the user name for expansion.

2004-10-30  castaglia <castaglia>

        * src/main.c: Use pr_auth_getgroups(), not auth_getgroups().

2004-10-30  castaglia <castaglia>

        * contrib/mod_tls.c, contrib/mod_wrap.c, src/dirtree.c, src/fsio.c,
        src/support.c: Use the Auth API functions in the 'pr_' namespace.

2004-10-30  castaglia <castaglia>

        * modules/mod_core.c: Use the Auth API functions in the 'pr_'
        namespace rather than relying on the compatibility macros.

2004-10-30  castaglia <castaglia>

        * configure: Updating configure.

2004-10-30  castaglia <castaglia>

        * configure.in: Tweaking the configure script a bit, providing more
        complete path information in flags, etc.  Not really needed for the
        default build process which we all know and love, but will become
        necessary when building DSO modules.

2004-10-30  castaglia <castaglia>

        * src/timers.c: This struct is no longer typedef'd.

2004-10-30  castaglia <castaglia>

        * include/timers.h: Include some redefines for supporting legacy
        modules that may not have been updated to use the 'pr_' namespace
        Timer API.

2004-10-30  castaglia <castaglia>

        * contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c,
        contrib/mod_tls.c, modules/mod_ctrls.c: Update the contrib/ modules
        to use the Timer API in the 'pr_' namespace (and mod_ctrls, too).

2004-10-30  castaglia <castaglia>

        * include/timers.h, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_xfer.c, src/data.c, src/ident.c, src/inet.c,
        src/main.c, src/timers.c: Moving the Timer API into the 'pr_'
        namespace.

2004-10-30  castaglia <castaglia>

        * include/ftp.h: In the near future, a module will implement support
        for RFC2640's LANG command.

2004-10-30  castaglia <castaglia>

        * include/version.h: With the addition of DSO support, ProFTPD is
        now moving into the 1.3.x series.  Whee!

2004-10-29  castaglia <castaglia>

        * ltmain.sh: Yet another bug in GNU's ltmain.sh script -- yet
        another undeclared variable.

2004-10-29  castaglia <castaglia>

        * doc/modules/mod_dso.html: Typo (spotted by Michael).

2004-10-29  castaglia <castaglia>

        * doc/modules/mod_dso.html: Adding documentation for mod_dso.

2004-10-29  castaglia <castaglia>

        * src/event.c: As a comment to myself indicated, it is necessary to
        pstrdup() the name of the event for which a listener is being
        registered, rather than stashing a pointer to the given name
        directly.  This was causing a segfault when the pointer to the name
        given was part of a dynamically loaded module.

2004-10-29  castaglia <castaglia>

        * modules/mod_core.c: The DebugLevel configuration handler was not
        recognizing 10 as a valid debug level.

2004-10-29  castaglia <castaglia>

        * doc/modules/mod_ctrls.html: Grammar fix.

2004-10-29  castaglia <castaglia>

        * modules/mod_dso.c: Removing debugging cruft.

2004-10-29  castaglia <castaglia>

        * configure: Updating configure.

2004-10-29  castaglia <castaglia>

        * lib/libltdl/Makefile.in: Disable the actions that try to use
        autoheader and automake.  These aren't installed on every system,
        and we don't really use them.

2004-10-29  castaglia <castaglia>

        * configure.in, lib/Makefile.in: Only configure, build, and clean
        the libltdl/ directory if --enable-dso is selected.  Otherwise, let
        the build proceed as usual, and let the normal 'clean' target work
        without throwing an error.

2004-10-29  castaglia <castaglia>

        * configure: Updating configure.

2004-10-29  castaglia <castaglia>

        * Make.rules.in, Makefile.in, config.h.in, configure.in,
        include/default_paths.h, lib/Makefile.in, modules/Makefile.in: More
        DSO support changes.

2004-10-29  castaglia <castaglia>

        * ltmain.sh, modules/mod_dso.c: Adding a (slightly modified) copy of
        ltmain.sh, which is responsible for creating the libtool executable.
        Also adding mod_dso.c.  All part of the preparations for adding DSO
        support to ProFTPD.

2004-10-29  castaglia <castaglia>

        * aclocal.m4: Adding GNU libtool M4 definitions to our aclocal.m4.

2004-10-29  castaglia <castaglia>

        * lib/libltdl/COPYING.LIB, lib/libltdl/Makefile.am,
        lib/libltdl/Makefile.in, lib/libltdl/README,
        lib/libltdl/acinclude.m4, lib/libltdl/aclocal.m4,
        lib/libltdl/config-h.in, lib/libltdl/config.guess,
        lib/libltdl/config.sub, lib/libltdl/configure,
        lib/libltdl/configure.ac, lib/libltdl/install-sh,
        lib/libltdl/ltdl.c, lib/libltdl/ltdl.h, lib/libltdl/ltmain.sh,
        lib/libltdl/missing: Adding GNU libtool's libltdl files to ProFTPD.

2004-10-29  castaglia <castaglia>

        * modules/mod_core.c: The checks for <IfDefine>, </IfDefine>,
        <IfModule>, and </IfModule>, within the respective directive
        handlers, need to be case-insensitive.

2004-10-28  castaglia <castaglia>

        * NEWS, utils/ftptop.c: Bug#2484 - Better ftptop formatting.

2004-10-27  castaglia <castaglia>

        * modules/mod_xfer.c: Typo.

2004-10-26  castaglia <castaglia>

        * include/dirtree.h, include/modules.h, include/proftpd.h,
        modules/mod_site.c, modules/mod_xfer.c, src/main.c, src/modules.c: 
        Removing old privdata_t structures in favor of table entries, using
        the new Table API.

2004-10-26  castaglia <castaglia>

        * configure: Updating configure.

2004-10-26  castaglia <castaglia>

        * config.h.in, configure.in: Define CONFIG_DIR to point to the
        hardcoded directory containing the proftpd.conf file.

2004-10-26  castaglia <castaglia>

        * Make.rules.in, include/conf.h, include/table.h, src/table.c: 
        Adding the Table API source.

2004-10-20  castaglia <castaglia>

        * contrib/mod_tls.c: It is possible for SSL_read() to return
        SSL_ERROR_WANT_WRITE as well, so handle that case the same way as
        handling SSL_ERROR_WANT_READ: select() on the socket until it is
        available for writing, then call SSL_read() again.  Note that this happens (ideally) only when a renegotiation is
        occuring on the underlying SSL session.  So set the
        SSL_MODE_AUTO_RETRY mode too (if the OpenSSL version supports it),
        which will hopefully keep renegotiations from causing SSL_read() to
        return SSL_ERROR_WANT_WRITE.

2004-10-18  castaglia <castaglia>

        * modules/mod_xfer.c: A few cases where log_pri() was being used,
        rather than pr_log_pri().

2004-10-17  castaglia <castaglia>

        * doc/howto/Directory.html: Mention using quotations to enclose
        directory paths that contain spaces.

2004-10-17  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#1965 - Change timing of handling of
        QUIT command.

2004-10-17  castaglia <castaglia>

        * contrib/mod_sql.c: Extraneous redeclaration of a variable.

2004-10-17  castaglia <castaglia>

        * contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Fixing bad
        reuse of variable name from outer scope.

2004-10-17  castaglia <castaglia>

        * RELEASE_NOTES: Mention the new MaxConnectionsPerHost directive in
        the release notes.

2004-10-17  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#2273 - Ability to limit number of
        unauthenticated clients from a single host.

2004-10-16  castaglia <castaglia>

        * NEWS, modules/mod_auth_pam.c: Bug#2497 - Users can login without
        password if pam_start() fails.

2004-10-15  castaglia <castaglia>

        * NEWS, src/auth.c, src/dirtree.c: Bug#2499 - make_cmd() does not
        NULL-terminate cmd->argv[].

2004-10-15  castaglia <castaglia>

        * modules/mod_auth.c: Move the handling of the AccessGrantMsg and
        DisplayLogin directives into the POST_CMD handler for PASS, rather
        than in the CMD handler.  This is aesthetically where such handling
        should occur, and it makes it possible for future enhancements where
        contrib modules can add their own variables to be interpolated into
        the DisplayLogin file.

2004-10-12  castaglia <castaglia>

        * src/inet.c: Nicer error message.

2004-10-11  castaglia <castaglia>

        * src/bindings.c: Avoid an infinite loop problem with Bind is used
        by stashing pointers to the bindings to use, when accepting a client
        connection, in an array_header, rather than overloading the 'next'
        field in the conn_t struct.

2004-10-11  castaglia <castaglia>

        * src/dirtree.c: Fix case where the config tree was not dumped if
        the server_rec had an empty set of config_recs.  The name of the
        server_rec should still be dumped in such cases.

2004-10-09  castaglia <castaglia>

        * doc/howto/TLS.html: Update link to FTPS Draft.

2004-10-09  castaglia <castaglia>

        * src/dirtree.c: The parser internals are crufty, and are in need of
        rewriting and prettification.  Until then, make the code a little
        more legible (to me, at least).

2004-10-09  castaglia <castaglia>

        * NEWS, include/inet.h, include/netio.h, src/data.c, src/inet.c,
        src/netio.c: Bug#2494 - ABOR problem with Cisco routers copy ftp
        flash.

2004-10-09  castaglia <castaglia>

        * src/main.c: Generate a 'core.connect' event after a client has
        connected and we've forked, but before we lookup the server_rec for
        the session.

2004-10-09  jwm <jwm>

        * contrib/mod_ldap.c: release 2.8.14

2004-10-07  castaglia <castaglia>

        * contrib/ftpasswd: Explicitly mention "RequireValidShell off" if
        the given shell is not in /etc/shells.

2004-10-07  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#2496 - NLST off-by-one bug when
        handling relative paths in a chrooted session.

2004-10-07  castaglia <castaglia>

        * modules/mod_ls.c: Use the Auth API in the 'pr_' namespace.

2004-10-02  castaglia <castaglia>

        * contrib/mod_tls.c: Handle signals when in potentially infinite
        gotos, so that the process can be interrupted.  Expand the TLSLog entry for refused PROT commands a little more, to
        explain why the PROT command was refused (e.g. 'PROT C' was sent,
        but TLSRequired setting requires data protection).

2004-10-02  castaglia <castaglia>

        * doc/howto/TLS.html: Adding two more FAQs to the TLS howto.

2004-10-02  castaglia <castaglia>

        * contrib/mod_tls.c: Fix the logic when reporting on syscall errors,
        so that the errors are properly reported.

2004-10-02  castaglia <castaglia>

        * modules/mod_auth.c: Stop sending 232 as a response code to the
        PASS command; it is valid only in response to a USER command.  Part
        of Bug #2164.

2004-10-02  castaglia <castaglia>

        * contrib/mod_tls.c: Remove code that is never compiled.

2004-10-01  castaglia <castaglia>

        * NEWS, modules/mod_auth_pam.c: Bug#2492 - Off-by-one error in
        FreeBSD PAM username length check.

2004-09-29  castaglia <castaglia>

        * NEWS, src/dirtree.c: Bug#2490 - <Limit ALL> affects PORT command.
        The EPRT, EPSV, PORT, and PASV commands are now explicitly excluded
        from the ALL command group.

2004-09-28  jwm <jwm>

        * NEWS, contrib/mod_ldap.c: new mod_ldap 2.8.13

2004-09-27  castaglia <castaglia>

        * contrib/mod_quotatab_ldap.c: mod_ldap now looks for a HOOK, rather
        than a CMD, for the mod_quotatab_ldap lookup symbol, as per John's
        request.

2004-09-26  castaglia <castaglia>

        * modules/mod_auth_file.c, modules/mod_auth_unix.c: Use the 'pr_'
        namespace of the Auth API.

2004-09-26  castaglia <castaglia>

        * modules/mod_auth.c: Removing code that should not have been
        committed.  Oops.

2004-09-26  castaglia <castaglia>

        * include/auth.h, include/conf.h, include/modules.h,
        modules/mod_auth.c, src/auth.c: Moving the Auth API into the 'pr_'
        namespace, and creating a separate header file defining the pr_auth
        function prototypes.

2004-09-26  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
        contrib/mod_sql_postgres.c: Bug#2485 - SQL backend modules close all
        open connections too early.

2004-09-26  castaglia <castaglia>

        * NEWS: Mention the new init.d script for SuSE.

2004-09-26  castaglia <castaglia>

        * NEWS, RELEASE_NOTES, contrib/mod_sql.c, contrib/mod_sql.h,
        contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Bug#2392 -
        mod_sql needs better handling of its backend modules.

2004-09-26  castaglia <castaglia>

        * src/mkhome.c: Generate a 'core.create-home' event when creating a
        home directory; the event_data is currently the name of the user
        whose home is being created.  And correct a typo.

2004-09-25  jwm <jwm>

        * contrib/dist/rpm/proftpd.init.d.suse: suse init script Submitted
        by: Daniel Weuthen <dw@megabit.net>

2004-09-23  castaglia <castaglia>

        * NEWS, include/privs.h: Bug#2488 - Wrong order of privs calls on HP
        generates "unable to setregid()" error.

2004-09-18  castaglia <castaglia>

        * contrib/mod_quotatab.c: When handling the 'core.restart' event, do
        not bounce the log file descriptor.  Restarts are processed by the
        daemon process, and mod_quotatab only logs in session processes;
        bouncing the log descriptor in the daemon process was causing
        mod_quotatab to open a descriptor onto stdout, which then wreaked
        havoc with the rest of the system.

2004-09-18  castaglia <castaglia>

        * src/proftpd.8.in: Document the new -N option in the proftpd(8) man
        page.

2004-09-18  castaglia <castaglia>

        * NEWS, include/proftpd.h, modules/mod_core.c, src/main.c: Bug#2468
        - Ability to disable address/port collision checking.

2004-09-17  castaglia <castaglia>

        * contrib/mod_quotatab.c: Explicitly use the more modern
        'pr_log_openfile' symbol.

2004-09-15  castaglia <castaglia>

        * include/conf.h: Typo (log -> long).

2004-09-14  castaglia <castaglia>

        * NEWS, contrib/mod_ldap.c, contrib/mod_radius.c,
        contrib/mod_sql.c, include/conf.h, include/modules.h,
        modules/mod_auth.c, modules/mod_auth_file.c,
        modules/mod_auth_unix.c, modules/mod_core.c, modules/mod_ctrls.c,
        modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c,
        modules/mod_xfer.c, src/auth.c, src/data.c, src/xferlog.c: Bug#2389
        - 64-bit compilation warnings.

2004-09-13  castaglia <castaglia>

        * src/support.c: Add an explicit typecast to quell warnings on
        64-bit platforms.

2004-09-13  castaglia <castaglia>

        * modules/mod_auth_pam.c: Quell a compiler warning on Solaris with
        an explicit typecast.

2004-09-13  castaglia <castaglia>

        * doc/howto/Limit.html: Add example of using <Class> and
        mod_ifsession to configure a user so that they can only login from a
        certain IP range.

2004-09-12  castaglia <castaglia>

        * doc/howto/FXP.html: Add text noting the ISPs may filter FTP ports,
        blocking FXP.

2004-09-11  castaglia <castaglia>

        * src/main.c: Typo.

2004-09-08  castaglia <castaglia>

        * contrib/mod_quotatab.c: Add logging of the non-ENOENT cases when
        the uploaded file has disappeared.

2004-09-07  castaglia <castaglia>

        * src/main.c: Settings display format tweak.

2004-09-07  castaglia <castaglia>

        * src/main.c: Add --settings option to the long getopt() list.

2004-09-07  castaglia <castaglia>

        * src/main.c: Update the long descriptions for the -n, -d
        command-line parameters.

2004-09-07  castaglia <castaglia>

        * include/proftpd.h: Removing cruft.

2004-09-07  castaglia <castaglia>

        * contrib/mod_quotatab.c: Handle the case where, after an upload,
        the file to which bytes have been added has disappeared (as when
        MaxStoreFileSize and DeleteAbortedStores are in effect).

2004-09-07  castaglia <castaglia>

        * src/proftpd.8.in: Mention debug level 10 in the proftpd(8) man
        page.

2004-09-05  castaglia <castaglia>

        * src/event.c: More graceful handling of NULL evh->module pointers.

2004-09-05  castaglia <castaglia>

        * doc/mod_sample.c: Update the sample module to include registering
        the module version.

2004-09-05  castaglia <castaglia>

        * configure: Updating configure script.

2004-09-05  castaglia <castaglia>

        * src/main.c: Display the --enable-scoreboard-updates setting in the
        -V output.

2004-09-05  castaglia <castaglia>

        * NEWS, config.h.in, configure.in: Add autoconf support for a
        --enable-scoreboard-updates option.

2004-09-05  castaglia <castaglia>

        * NEWS, include/options.h, modules/mod_xfer.c: Bug#2455 - Allow
        fine-tuning of how often mod_xfer updates the scoreboard.

2004-09-05  castaglia <castaglia>

        * RELEASE_NOTES: Update release notes for 1.2.11 release cycle.

2004-09-05  castaglia <castaglia>

        * src/proftpd.8.in: Remove extra space.

2004-09-05  castaglia <castaglia>

        * src/proftpd.8.in: Document the new -V command-line option in the
        proftpd(8) man page.

2004-09-05  castaglia <castaglia>

        * configure: Updating configure script.

2004-09-05  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, src/main.c: Add support for a -V
        command-line option, which displays various compile-time settings, a
        la Apache.

2004-09-05  castaglia <castaglia>

        * config.h.in, include/conf.h: Move the HPUX socklen_t bug fix to
        include/conf.h, a header file that is not preprocessed by autoconf.
        The autoconf preprocessing was causing the #undef in the generated
        config.h header file to be commented out, which would result in
        complaints from stringent compilers.

2004-09-05  castaglia <castaglia>

        * contrib/mod_sql.c, contrib/mod_sql_mysql.c,
        contrib/mod_sql_postgres.c: Remove the _MOD_VERSION #define from
        mod_sql, as it was not doing as was intended, I think.  Much better,
        cleaner, and more explicit to have each module #define its own
        VERSION string, and to use that version string consistently within
        the module.

2004-09-05  castaglia <castaglia>

        * modules/mod_log.c: Convert mod_log to use the Events API.

2004-09-05  castaglia <castaglia>

        * contrib/mod_rewrite.c: Convert mod_rewrite to use the Events API.

2004-09-05  castaglia <castaglia>

        * src/regexp.c: The Regexp API need not use the core_module pointer
        for registering its callbacks; registered events can have a NULL
        module pointer.

2004-09-05  castaglia <castaglia>

        * src/regexp.c: Convert the Regexp API to use the Events API for
        cleanup.

2004-09-05  castaglia <castaglia>

        * modules/mod_xfer.c: Update mod_xfer to use the Events API a little
        more.

2004-09-05  castaglia <castaglia>

        * modules/mod_auth_unix.c: Convert mod_auth_unix to use the Events
        API.

2004-09-05  castaglia <castaglia>

        * modules/mod_auth_pam.c: Convert mod_auth_pam to use the Events
        API.

2004-09-05  castaglia <castaglia>

        * contrib/mod_sql.c: Convert mod_sql to use the Events API.

2004-09-05  castaglia <castaglia>

        * contrib/mod_radius.c: Convert mod_radius to use the Events API.

2004-09-05  castaglia <castaglia>

        * contrib/mod_quotatab.c: Convert mod_quotatab to using the Events
        API.

2004-09-04  castaglia <castaglia>

        * NEWS, src/fsio.c: Bug#2476 - Incorrect detection of symbolic link
        loop across devices.  The algorithm used for loop detection relied
        solely on the inode number, which does not account for the
        possibility that different devices may reuse inode numbers.  This
        patch adds the device number to the detection algorithm.

2004-09-04  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2463 - mod_xfer doesn't check how
        many bytes it has written to disk.

2004-09-04  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#2458 - Bad handling of CreateHome
        parameters.

2004-09-04  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#2457 - Directory listing provides bad
        info when path ends with /.

2004-09-04  castaglia <castaglia>

        * NEWS, src/main.c: Bug#2449 - ProFTPD silently ignores extra
        command-line parameters.

2004-09-04  castaglia <castaglia>

        * include/version.h: Update version, indicating CVS status once
        more.

2004-09-04  castaglia <castaglia>

        * ChangeLog: Updating ChangeLog.

2004-09-04  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
        to release 1.2.10-final.

2004-08-25  castaglia <castaglia>

        * src/data.c: When using sendfile(), only reset the transmission
        timers if bytes have actually been written out.  sendfile() can
        return zero, indicating that it wrote zero bytes -- we do not want
        to reset the timers in this case, for it could indicate other issues
        with the file descriptor from which data are being read.  This fixes an endless loop seen at a particular site involving use
        of sendfile() and NFS/SAN-shared files.

2004-08-24  castaglia <castaglia>

        * modules/mod_xfer.c: Reset the 'have_prot' flag to false when a
        successful PROT C command is processed.

2004-08-12  castaglia <castaglia>

        * modules/mod_xfer.c: Update to patch to mod_xfer for Bug #2444: the
        PROT command is allowed before authentication.  The patch was
        required authentication first, causing issutes for FTPS clients that
        sent PROT before USER.

2004-08-07  castaglia <castaglia>

        * NEWS, src/log.c, src/main.c: Bug#2427 - proftpd gets a memory
        fault when run from ssh batch mode.

2004-08-07  castaglia <castaglia>

        * src/main.c: Two more cases where the IP address contacted by the
        client should be used, if present, rather than the ServerAddress
        field of the relevant server_rec.

2004-08-07  castaglia <castaglia>

        * src/main.c: Fix a minor bug in the reporting of ServerIdent, where
        the wrong IP address may be displayed.  For example, with the
        following configuration:   <VirtualHost 127.0.0.1>     Bind 1.2.3.4     ...    </VirtualHost> a client connecting to 1.2.3.4 should see "[127.0.0.1]" at the tail
        end of the default ServerIdent displayed, rather than the more
        appropriate "[1.2.3.4]".  The fix is to use the IP address to which
        the client connected, rather than the ServerAddress field of the
        server_rec to which the client connected.  As the case with Bind
        shows, multiple IP addresses may be associated with the same
        server_rec, and the IP address displayed to the connecting client
        should not "leak" this fact.

2004-08-06  castaglia <castaglia>

        * src/main.c: Reorder the timing of calling pr_ident_lookup(),
        making it occur after modules have been initialized.  This makes it
        possible for mod_ifsession, for example, to alter if ident lookups
        will be enabled, e.g.:   <IfClass foo>     IdentLookups off   </IfClass> so that ident lookups can be enabled/disabled selectively.

2004-08-06  castaglia <castaglia>

        * doc/howto/Limit.html: Add description of applying <Limit> sections
        to SITE commands.

2004-08-05  castaglia <castaglia>

        * RELEASE_NOTES: Updating the release notes.

2004-08-04  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Add support for automatically scrubbing
        the scoreboard for stale sessions on session init time, for inetd
        proftpds.  Scrubbing is already done periodically for standalone
        proftpds.

2004-08-03  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2444 - Use of sendfile() does not
        interoperate well with RFC2228 security mechanisms.

2004-08-03  castaglia <castaglia>

        * contrib/mod_sql.c: Convert mod_sql to using ProFTPD's sstrcat()
        function, rather than strcat(3).

2004-08-01  castaglia <castaglia>

        * NEWS, modules/mod_auth_file.c: Bug#2445 - AuthUserFile in <Global>
        context overrides <VirtualHost> setting.  Note that this bug will be
        revisited in the next release cycle, and fixed The Right Way(tm).

2004-07-31  castaglia <castaglia>

        * modules/mod_core.c: Store the original name configured by a
        MasqueradeAddress directive in the config_rec, along with the
        resolved netaddr object.  This will make it possible to re-resolve
        the original name at a later date.

2004-07-31  castaglia <castaglia>

        * doc/howto/Limit.html: Add example <Limit LOGIN> configuration that
        allows only anonymous logins.

2004-07-30  castaglia <castaglia>

        * modules/mod_core.c: Make certain that all occurrences of an
        environment variable are removed when handling the UnsetEnv
        directive; a environment variable can appear multiple times in the
        environ array.

2004-07-28  castaglia <castaglia>

        * doc/howto/Authentication.html: Updating the section on "Resolving
        ~", fixing mention of mod_auth_pam.

2004-07-22  castaglia <castaglia>

        * NEWS, modules/mod_auth_pam.c: Bug#2442 - Segfault in FreeBSD PAM
        library with long login names.

2004-07-22  castaglia <castaglia>

        * README.PAM: Update the PAM docs about AuthPAMAuthoritative, and
        add an Issues section.

2004-07-22  castaglia <castaglia>

        * contrib/mod_ldap.c, contrib/mod_sql.c: Apply the same criteria for
        including <crypt.h> to mod_ldap and mod_sql as are used for
        mod_auth_unix and mod_auth_file.

2004-07-21  castaglia <castaglia>

        * NEWS, modules/mod_auth_file.c, modules/mod_auth_unix.c: Bug #2411
        - AIX5 portability bug with mod_auth_unix, mod_auth_file.  Using gcc
        on AIX5, these files compile without complaint.  However, using the
        IBM compiler and following the instructions in README.AIX, they will
        fail on AIX5.  The fix is to extend for AIX5 the portability hack
        that is done for AIX4.

2004-07-20  castaglia <castaglia>

        * NEWS, include/modules.h, modules/mod_core.c, src/auth.c: Bug #2440
        - Unable to use PAM authentication properly.  As explained in the
        bug report, the deprecation of all *Authoritative directives causes
        an issue with modules like mod_auth_pam.  This patch makes use of an
        unused flag variable in the authtable structure in order to
        implement the setting of auth module authoritativeness via the
        AuthOrder directive.

2004-07-15  castaglia <castaglia>

        * modules/mod_ctrls.c: We were forgetting to remove our previous
        timer before adding a new one.

2004-07-15  castaglia <castaglia>

        * src/timers.c: Prevent add_timer() from adding multiple timers that
        use the same timerno.

2004-07-14  castaglia <castaglia>

        * modules/mod_ctrls.c: We don't want child processes handling these
        events for mod_ctrls.

2004-07-14  castaglia <castaglia>

        * include/version.h: Let's try this again.

2004-07-13  castaglia <castaglia>

        * ChangeLog: Updating ChangeLog.

2004-07-13  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: How
        embarassing.  A typo broke 1.2.10rc2, necessitating a release of
        rc3.

2004-07-13  castaglia <castaglia>

        * modules/mod_core.c: Typo.

2004-07-13  castaglia <castaglia>

        * include/version.h: Bump version for CVS checkouts.

2004-07-13  castaglia <castaglia>

        * ChangeLog: Updating ChangeLog.

2004-07-13  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
        for release of 1.2.10rc2.

2004-07-13  castaglia <castaglia>

        * modules/mod_core.c: Variable name collision from different scopes;
        fix to quell a compiler warning.

2004-07-13  castaglia <castaglia>

        * src/support.c: Quell a warning about reusing a global symbol name
        'dup'.

2004-07-13  castaglia <castaglia>

        * modules/mod_core.c: Rest of patch for Bug#2439.

2004-07-11  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2439 - <Limit CWD> doesn't work.

2004-07-09  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2438 - Display variable %z not
        expanded properly.

2004-07-08  castaglia <castaglia>

        * contrib/mod_ifsession.c: Only perform <Limit LOGIN> checks if
        we've actually merged something in.  Also, when performing this
        check, use the TOPLEVEL_CONF macro (which correctly handles
        <Anonymous> contexts) to avoid inadvertently checking the wrong
        <Limit LOGIN> block.

2004-07-06  castaglia <castaglia>

        * doc/howto/TLS.html: Update the link to the most current FTPS
        Draft.

2004-07-01  castaglia <castaglia>

        * src/dirtree.c: Fix pr_expr_eval_class_and() and
        pr_expr_eval_class_or() to properly handle the case where
        session.class may be NULL (as when there is no <Class> definition
        that matches the connecting client).  Previously, if there was no
        matching <Class> for a client, a rule such as:   <IfClass !name> would evaluate to false.  It _should_ evaluate to true; this change
        makes it so.  This fixes a problem Michael was encountering with mod_ifsession and
        Classes.

2004-07-01  castaglia <castaglia>

        * src/dirtree.c: When handling <Global> contexts in fixup_globals(),
        only handle contexts that have both the right config_type
        (CONF_GLOBAL) _and_ the right name ("<Global>").  Contrib modules
        (e.g. mod_ifsession) might create their own contexts that use the
        CONF_GLOBAL flag; in the case of mod_ifsession, the fact that
        fixup_globals() was handling the mod_ifsession-created context
        config_recs was causing a bug when <If*> sections were used within
        <Global> contexts.  This change also includes some style cleanup.

2004-07-01  castaglia <castaglia>

        * src/dirtree.c: Style.

2004-07-01  castaglia <castaglia>

        * contrib/mod_tls.c: Improve mod_tls' error reporting by displaying
        the paths that are given in the configuration data for various
        files, in the cases where mod_tls determines that those paths do not
        exist.

2004-06-30  castaglia <castaglia>

        * doc/howto/TLS.html: Updating the mod_tls docs, and the TLS howto,
        to mention the new AllowPerUser TLSOption, and the risks involved in
        its use.

2004-06-30  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#2419 - Ability to disable TLSRequired
        on per-user basis (e.g. for anonymous logins).

2004-06-30  castaglia <castaglia>

        * NEWS, src/class.c, src/netacl.c, src/netaddr.c: Bug#2303 - Problem
        evaluating multiple <Class> rules.

2004-06-23  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#2431 - mod_sql does not use UID/GID
        properly in cache lookups.  For the most part this is an issue only
        if you define a user account with UID of zero, or a group account
        with GID of zero, in your SQL user tables.

2004-06-17  castaglia <castaglia>

        * NEWS, include/dirtree.h, src/dirtree.c, src/main.c: Bug#2418 -
        chmod returns 550 with filename containing multiple spaces.

2004-06-17  castaglia <castaglia>

        * NEWS: Typo.

2004-06-15  castaglia <castaglia>

        * src/netio.c: Style.

2004-06-12  castaglia <castaglia>

        * src/modules.c: Removal of symbols (e.g. AuthOrder) was not working
        properly without this change.

2004-06-11  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#2422 - %v not working in
        SQLNamedQuery.

2004-06-10  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2411 - Caching effects cause RNTO to
        fail if AllowOverwrite is off and target path does not exist.

2004-06-10  castaglia <castaglia>

        * contrib/mod_sql.c: Remove debugging cruft.

2004-06-10  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#2424 - SQLDefaultHomedir overrides
        column value.

2004-06-08  castaglia <castaglia>

        * doc/howto/ServerType.html: ProFTPD is now IPv6-capable; it simply
        needs the proper configure option.  Update the ServerType howto to
        reflect this (relevant for Solaris users).

2004-06-07  castaglia <castaglia>

        * contrib/mod_quotatab.h, contrib/mod_sql.c: Increment versions of
        mod_quotatab, mod_sql.

2004-06-07  castaglia <castaglia>

        * NEWS, contrib/mod_quotatab_sql.c, contrib/mod_sql.c,
        include/support.h, src/support.c: Bug#2420 - Name field is not
        escaped before querying database.  This patch fixes mod_quotatab_sql to escape the name string used.
        To do this, several changes were made: the _sql_strip_spaces()
        function of mod_sql.c was made a public ProFTPD API string function
        (pr_str_strip), so that that code need not be duplicated in both
        mod_sql.c and mod_quotatab_sql.c, a new HOOK to mod_sql's
        sql_escapestring function was added, under the symbol
        'sql_escapestr', to avoid further code duplication, and
        mod_quotatab_sql was updated to make use of the new API.

2004-06-06  castaglia <castaglia>

        * contrib/mod_tls.c: Fix scrubbing of passphrases when a session
        process exits.

2004-05-31  castaglia <castaglia>

        * include/dirtree.h, include/event.h, src/dirtree.c, src/event.c: 
        Add a pr_event_dump() function, for dumping internal Events info.
        Adjust config-dumping function names to match (i.e.
        pr_config_dump()).

2004-05-31  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: Removing the 'dump' control action from
        mod_ctrls_admin.  A new module, mod_dumper, will implement this
        control action.  I anticipate the audience for mod_dumper to be much
        smaller than for mod_ctrls_admin.

2004-05-31  castaglia <castaglia>

        * src/modules.c: Slightly cleaner structure.

2004-05-31  castaglia <castaglia>

        * src/dirtree.c: Attempting to dump the config for a minimally
        configured server_rec (i.e.  server_rec->conf is NULL) would
        segfault.

2004-05-31  castaglia <castaglia>

        * src/modules.c: When iterating through the stash for removing
        symbols, be sure to pass in the previously-found entry, not NULL.
        Otherwise, symbols can inadvertently be skipped.

2004-05-31  castaglia <castaglia>

        * src/modules.c: Fix removal of a module from the loaded_modules
        list.

2004-05-31  castaglia <castaglia>

        * src/modules.c: Fix a bug introduced in the handling of HOOK vs CMD
        symbols.  Fix handling of loaded_modules pointer when unloading a
        module.  Add signal handling where appropriate.

2004-05-31  castaglia <castaglia>

        * src/modules.c: Missed a case where the PR_SYM_CONF hashing needed
        to be handled differently.

2004-05-31  castaglia <castaglia>

        * src/modules.c: The changes made earlier, to have processing of
        configuration directives use the stash directly, caused a problem.
        The prior structure allowed for case-insensitive comparisons between
        the directive name in the config file and the name defined by the
        processing module.  By switching to doing lookups from the stash
        directly, such case-insensitive comparisons became difficult.  So, for now, whenever a PR_SYM_CONF symbol is added or requested
        from the stash, its hash value is calculated not from the symbol
        name directly, but from a lowercased version of the name (and only
        for PR_SYM_CONF symbols).  In order to make this work, there is now
        special-case handling of PR_SYM_CONF, and the stash_lookup()
        functions use strcasecmp() rather than strcmp().  I hope this
        doesn't cause any problems with other symbols.  In the future, when the proposed Tables API is complete, I'd like to
        have completely separate tables for the different symbol types.
        This will (hopefully) make lookups faster (smaller namespace to search) and
        allow customized hashing/comparison functions (PR_SYM_CONF symbols
        needing different treatment from other symbols in this case) on a
        per-table basis.

2004-05-30  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c, include/modules.h, modules/mod_core.c,
        src/modules.c: Add pr_module_load() and pr_module_unload()
        functions, for loading and unloading modules (and their symbols)
        from the stash.  Rework the rest of the code to work with the
        changes (i.e. removed crufty globals).

2004-05-30  castaglia <castaglia>

        * NEWS: Bug#2125 - -vv command line switch should list versions of
        modules.

2004-05-30  castaglia <castaglia>

        * modules/mod_cap.c, src/main.c: Minor formatting tweak.  Update
        mod_cap to report its version.  Other modules will follow.

2004-05-30  castaglia <castaglia>

        * src/main.c: Typo.

2004-05-30  castaglia <castaglia>

        * src/main.c: Bug#2125 - -vv command line switch should list
        versions of modules.  With this change, modules _can_ report their version (or other short
        descriptor)in such a way that it will be listed if the -vv command
        line option is used.  It is not required for modules to do so; if
        they do not, just the module name is displayed.

2004-05-30  castaglia <castaglia>

        * include/modules.h: Extend the module structure to include fields
        for module version, and an opage handle for the module (for libltdl
        pointers).  This extension do not break the currently-defined module
        structures in module files.

2004-05-30  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c, src/dirtree.c, src/modules.c,
        src/sets.c: More prep work for loadable modules.  This change
        removes use of the m_conftable global variable, shifting the users
        of that variable to using the stash directly, via
        pr_stash_get_symbol().  For example, mod_ctrls_admin was using
        m_conftable for supporting the 'get directives' control action.  Now
        that handler iterates through the stash directly for PR_SYM_CONF
        symbols (which required some adjusting of the stash internals to
        allow for such interating).

2004-05-29  castaglia <castaglia>

        * src/event.c: Make pr_event_unregister() function as documented if
        given a NULL callback argument.

2004-05-29  castaglia <castaglia>

        * include/modules.h, modules/glue.sh, modules/mod_core.c,
        src/modules.c: More fun with the loaded_modules list.  Initially,
        the loaded_modules linked list will be NULL; it is the job of
        modules_init() to initialize the modules in the static_modules list,
        and add a pointer to the loaded module to the loaded_modules list.  More work needs to be done on abstracting the process of loading of
        a module.

2004-05-29  castaglia <castaglia>

        * modules/mod_ctrls.c: Clean up the ControlsLog entries when
        encountering a stale connection: we don't need to know the full
        timestamps, just the difference as compared to the
        ControlsAuthFreshness.

2004-05-29  castaglia <castaglia>

        * include/modules.h, src/main.c, src/modules.c: Use "modules",
        plural, to indicate that the function acts on multiple modules, not
        just one.

2004-05-29  castaglia <castaglia>

        * src/modules.c: Add sane errno values.

2004-05-29  castaglia <castaglia>

        * include/modules.h, modules/glue.sh, modules/mod_core.c,
        modules/mod_ctrls.c, src/main.c, src/modules.c: Beginning work on
        supporting loadable modules.  The modules/glue.sh file autogenerates
        a file that defines the static_modules array, which contains the
        module structure pointers from all the statically compiled modules.
        This list cannot be modified.  For loadable modules, we need a
        modifiable list, which I've added to the script: loaded_modules.
        Initially, loaded_modules is identical to static_modules.  A
        pr_module_get() function has been added, to lookup a module pointer
        given its name.

2004-05-29  castaglia <castaglia>

        * modules/mod_ctrls.c: Add more info to the ControlsLog when the
        ControlsAuthFreshness is exceeded, to help in debugging why this
        happens.

2004-05-29  castaglia <castaglia>

        * contrib/mod_tls.c: Typo (thanks John!).

2004-05-29  castaglia <castaglia>

        * doc/howto/Directory.html: Wording update.

2004-05-29  castaglia <castaglia>

        * contrib/mod_tls.c: Fix handling of memory passed to mlock(2).  It
        seems that mlock(2) is very picky, and wants a page-aligned address
        only.  malloc(3)/calloc(3) do not return page-aligned addresses by
        default (although FreeBSD's man page suggests that for a sufficient
        size request, they will), so we help them along by adding some
        page-alignment code.  We still want to stash the pointer returned by
        malloc(), not the aligned address, so that we can properly free the
        allocated memory later.  Also use pr_log_debug(), rather than logging to the TLSLog, when
        locking passphrases into memory, for at that point in the server
        lifecycle, the TLSLog has not yet been opened.

2004-05-29  castaglia <castaglia>

        * contrib/mod_tls.c: Silence a compiler warning by providing a
        default value.

2004-05-29  castaglia <castaglia>

        * contrib/mod_tls.c: Typo.

2004-05-29  castaglia <castaglia>

        * src/scoreboard.c: Unblock signals properly.

2004-05-28  castaglia <castaglia>

        * README.modules: Update this README.

2004-05-27  castaglia <castaglia>

        * contrib/mod_tls.c: Registering for the wrong event: we want
        'core.postparse', not 'core.restart'.  Close the TLSLog during a
        restart, so that it can be rolled.  The TLSLog will be reopened by
        the next session.

2004-05-26  castaglia <castaglia>

        * src/ctrls.c: Make sure that the destination ctrl object has a
        valid temporary pool from which to copy arguments.

2004-05-26  castaglia <castaglia>

        * src/dirtree.c: Reset the sid (server ID) counter when preparing to
        parse a configuration.

2004-05-26  castaglia <castaglia>

        * configure: Updating configure script.

2004-05-26  castaglia <castaglia>

        * config.h.in, configure.in: Check if intptr_t is defined.

2004-05-25  castaglia <castaglia>

        * modules/mod_ctrls.c: When closing fds, set them to -1, to make
        sure that a cached fd value is not inadvertently used somewhere it
        shouldn't be.  Also, block alarms when handling the 'core.restart'
        event.

2004-05-25  castaglia <castaglia>

        * contrib/mod_tls.c: Check the return value of
        SSL_CTX_set_default_verify_locations(), and log the error (if any).

2004-05-25  castaglia <castaglia>

        * doc/howto/BCP.html: Wording.

2004-05-25  castaglia <castaglia>

        * src/main.c: Make sure that fixup_servers() happens before
        generating the 'core.postparse' event (mod_tls' 'core.postparse'
        handler was tickling a segfault because one of the server_recs had a
        NULL ServerName field; fixup_servers() sets all of the server_rec
        fields appropriately).

2004-05-24  castaglia <castaglia>

        * modules/mod_ctrls.c: Fix a problem when restarting a proftpd with
        mod_ctrls.  Some variables were allocated from the module pool, and
        then being used after that pool had been destroyed/reallocated.
        This meant that different configurations and interactions might (or
        might not) work.

2004-05-24  castaglia <castaglia>

        * lib/pr-syslog.c: Mention the Sun bug number that caused the
        /dev/log kernel memory leak.

2004-05-23  castaglia <castaglia>

        * contrib/mod_quotatab_sql.c: Typo.

2004-05-22  castaglia <castaglia>

        * contrib/mod_quotatab_sql.c: Don't complain about being unable to
        delete a nonexistent QuotaLock.

2004-05-21  castaglia <castaglia>

        * RELEASE_NOTES: Style.

2004-05-21  castaglia <castaglia>

        * RELEASE_NOTES: Update the release notes with mention of
        TimeoutLinger.

2004-05-21  castaglia <castaglia>

        * NEWS, include/data.h, modules/mod_core.c, src/data.c: Add a
        TimeoutLinger option.  It's just simpler to change this value via
        the config file, for those sites that encounter troubles with
        lingering closes, rather than requiring a reconfigure and recompile.

2004-05-20  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: Check for signals while waiting for all
        kids to end when handling a graceful shutdown.

2004-05-20  castaglia <castaglia>

        * doc/howto/Controls.html, doc/howto/index.html: Add a Controls
        howto.

2004-05-19  castaglia <castaglia>

        * modules/mod_auth.c: Make sure a Class has been assigned before
        attempting to use it.

2004-05-19  castaglia <castaglia>

        * NEWS, lib/pr-syslog.c, src/main.c: Bug#2336 - Use of /dev/log on
        Solaris leads to kernel memory leak.

2004-05-19  castaglia <castaglia>

        * src/dirtree.c: Style.

2004-05-17  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_xfer.c, src/data.c, src/main.c: 
        Generate events when the Timeout* callbacks cause the session to
        time out.

2004-05-15  castaglia <castaglia>

        * src/data.c: Fix an edge case when handling ASCII translation: if
        this buffer ends in a CR, and the next buffer starts with an LF, we
        need not add a CR in front of the LF.  Prior to this change, though,
        proftpd would forget about that dangling CR in the previous buffer,
        treat the LF as a bare LF, and add a CR, resulting in a CR-CR-LF
        sequence in the output stream rather than the proper CR-LF.

2004-05-13  castaglia <castaglia>

        * contrib/mod_tls.c, include/modules.h, src/main.c, src/modules.c: 
        Remove the explicit postparse callback registration code in favor of
        the new Events API.

2004-05-13  castaglia <castaglia>

        * contrib/mod_tls.c: Use more future-proof APIs to access the X509v3
        subjectAltNames in the client cert.  Properly NUL-terminate strings
        obtained from memory BIOs.

2004-05-13  castaglia <castaglia>

        * NEWS, modules/mod_auth.c, src/mkhome.c: Bug#2410 - CreateHome
        always copies skel directory.

2004-05-12  castaglia <castaglia>

        * src/main.c: I don't think this is valid anymore, if it ever was.
        The IPV6_ADDRFORM socket option is not supported on FreeBSD or
        Solaris, and looks to be deprecated (if not removed entirely) in
        later Linux kernels.

2004-05-11  castaglia <castaglia>

        * NEWS, modules/mod_auth_file.c, modules/mod_auth_unix.c: Bug#2407 -
        mod_auth_file does not allow for proper cascading of "end" and "set"
        auth requests

2004-05-11  castaglia <castaglia>

        * include/modules.h, src/main.c, src/modules.c: Removing the daemon
        startup registration handlers; these have been superceded by Events
        (e.g. the "core.startup" event).

2004-05-10  castaglia <castaglia>

        * NEWS, src/main.c: Bug#2332 - SO_OOBINLINE error after upgrading
        proftpd from 1.2.6 to 1.2.9.  Attempt to fix by moving the setting
        of these socket options to happen earlier in the session.

2004-05-09  castaglia <castaglia>

        * src/data.c: When opening a data connection, check for the ESPV ALL
        mode as well.

2004-05-09  castaglia <castaglia>

        * src/fsio.c: When looking up the FS to use for a path, always start
        with the root FS ("/") as the best FS to handle the path.  This
        fixes a bug where the FS handlers registered by modules like
        mod_md5fs or mod_gzipfs were being used for paths other than those
        for which they were registered.  Also fix a bug where an FS that did not start with a '/', such as
        one used by mod_conf_sql, would cause the FSIO API to prepend the
        current location when it shouldn't have; the FSIO API simply needed
        to use the proper check for whether the given path was an absolute
        path or not.

2004-05-08  castaglia <castaglia>

        * contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Style cleanup
        of the SQL backend modules.  Also updating them to use an event
        handler for the "core.exit" event.  Fixed their session initialization routines to always allocate a new
        conn_pool and a new conn_cache.  Eventually the mod_sql API will be
        revamped to handle these structures a little better.

2004-05-07  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#2366 - Add support for -h list option.

2004-05-07  castaglia <castaglia>

        * modules/mod_ls.c: Redeclaring a variable isn't a good thing to do.

2004-05-07  castaglia <castaglia>

        * src/child.c: Include <signal.h> so that the kill(2) function
        prototype is visible.

2004-05-06  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#2405 - "LIST *" should not list
        dotfiles.

2004-05-05  castaglia <castaglia>

        * src/child.c: Fix the logic determining when to create a new child
        list.  Also, when creating that list, use a subpool of the
        child_pool, rather than passing child_pool itself; the list
        allocator assigns the given pool into the list's 'pool' member,
        rather than creating a subpool from the given pool and allocating
        the list from what (which is how I would expect it to be done).

2004-05-04  castaglia <castaglia>

        * lib/glibc-glob.c: The buffer length should be PR_TUNABLE_LOGIN_MAX
        + 1.

2004-05-04  castaglia <castaglia>

        * lib/glibc-glob.c: Patch the bundled glob implementation to use
        PR_TUNABLE_LOGIN_MAX when the _SC_LOGIN_MAX sysconf variable is not
        available.  This brings the implementation more in line with the
        rest of proftpd.

2004-05-03  castaglia <castaglia>

        * NEWS, include/class.h, src/class.c, src/main.c: Bug#2403 - Sending
        SIGHUP to proftpd stops it when using Classes.

2004-05-02  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c: Bug#2082 - Add mod_rewrite
        "replaceall" builtin function.

2004-05-02  castaglia <castaglia>

        * NEWS, contrib/mod_ctrls_admin.c: Bug#2399 - Rename start/stop
        control actions to up/down.

2004-05-02  castaglia <castaglia>

        * include/glibc-glob.h: Quell some warnings seen on FreeBSD by
        checking that a preprocessor symbol (_FILE_OFFSET_BITS) is defined
        before using its value in a comparison.

2004-05-01  castaglia <castaglia>

        * contrib/mod_tls.c: Only report the version of OpenSSL being used
        at debug level 2 or higher.

2004-05-01  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#2401 - MaxClientsPerClass only
        checks first directive in config file.

2004-05-01  castaglia <castaglia>

        * NEWS, src/class.c: Bug#2400 - <Class> search order is wrong.

2004-04-30  castaglia <castaglia>

        * NEWS, contrib/mod_ctrls_admin.c, include/child.h, src/child.c,
        src/main.c: Bug#2034 - Add support for a "graceful shutdown" signal.
        Includes adding a convenience function to the Child API,
        child_signal(), for sending a given signal to all child processes.

2004-04-29  castaglia <castaglia>

        * Make.rules.in, include/child.h, include/conf.h, src/child.c,
        src/main.c: Move the handling of child objects into their own file.
        This will help by letting modules be able to know how many existing
        sessions there are.  However, the child list routines will not be in
        the public "pr_" namespace, as they are not currently suitable for
        general consumption.

2004-04-29  castaglia <castaglia>

        * contrib/mod_ldap.c, include/sets.h, modules/mod_auth_unix.c,
        src/dirtree.c, src/main.c, src/sets.c, src/support.c: Rename crufty
        'mempool' symbol to be 'pool', which is more consistent with the
        pool members of other proftpd structures.

2004-04-29  castaglia <castaglia>

        * README.IPv6: Note the sysctl names that affect handling of
        wildcard sockets and IPv6 binds.  The current code should override
        these sysctl settings, but it is still good to have the sysctl names
        noted for reference.

2004-04-29  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#2396 - NLST command doesn't understand
        options.

2004-04-28  castaglia <castaglia>

        * modules/mod_core.c: When using pr_fs_copy_file() to handle
        RNFR/RNTO across device mounts, make sure to unlink the source path.

2004-04-28  castaglia <castaglia>

        * include/version.h: Set version back to CVS status for rc2.

2004-04-28  castaglia <castaglia>

        * ChangeLog: Updating ChangeLog.

2004-04-28  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
        to roll 1.2.10rc1 tarball.

2004-04-28  castaglia <castaglia>

        * README, RELEASE_NOTES: Add a RELEASE_NOTES file (name may change
        in the future) that will track the sort of comments usually
        mentioned in the release announcement email, including new and
        deprecated configuration directives, new and deprecated modules,
        upgrade notes, etc.  Add a note about RELEASE_NOTES to the README.

2004-04-27  castaglia <castaglia>

        * modules/mod_xfer.c: Make the error message returned here
        consistent with the other occurrences of 500 responses in mod_xfer.

2004-04-26  castaglia <castaglia>

        * include/dirtree.h, src/dirtree.c: Split the Boolean checking code
        into a public function, so that it can be used for checking strings
        from sources other than cmd_recs.

2004-04-24  castaglia <castaglia>

        * modules/mod_auth.c: Do not warn about a successful root login
        until after root has indeed successfully logged in.

2004-04-24  castaglia <castaglia>

        * doc/modules/mod_auth_pam.html: Add HTML docs for mod_auth_pam.

2004-04-23  castaglia <castaglia>

        * modules/mod_ls.c: The prior fix for Bug#2367 has some unintended
        (i.e. _bad_) consequence, spotted by Michael.  This fixes it up
        properly (hopefully for good).

2004-04-23  castaglia <castaglia>

        * src/netacl.c: The '{' character is also used in globs.

2004-04-23  castaglia <castaglia>

        * modules/mod_ls.c: Write a debug message, level 1, when NLST
        commands with options (as from ncftp) are received.

2004-04-23  castaglia <castaglia>

        * contrib/mod_sql.c: Protect against a possible segfault that occurs
        when mod_sql assumes that a query has data, by checking for a valid
        data pointed in the returned modret_t object.

2004-04-22  castaglia <castaglia>

        * src/inet.c: Only set the TOS (Type Of Service) flags on IPv4
        sockets; IPv6 sockets don't support TOS flags, as far as I know.
        This should fix the   error setting write fd IP_TOS: Option not supported by protocol errors seen on some platforms (e.g. Solaris).

2004-04-21  castaglia <castaglia>

        * doc/howto/Classes.html, doc/howto/index.html: Add a howto for the
        new <Class> format.

2004-04-21  castaglia <castaglia>

        * src/main.c: Style cleanup.

2004-04-21  castaglia <castaglia>

        * src/main.c: Capture the actual errno value, rather than assuming
        that intervening functions will not change errno.

2004-04-20  castaglia <castaglia>

        * doc/howto/Limit.html: Consistency of style is a Good Thing.

2004-04-20  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: If the 'dump classes' control action is
        requested, make sure that the Class dump output includes the Satisfy
        setting.

2004-04-20  castaglia <castaglia>

        * src/log.c: Fix the logging of IP addresses in the utmp/wtmp log on
        Linux.  Formatting cleanup.

2004-04-19  castaglia <castaglia>

        * include/class.h, modules/mod_core.c, src/class.c: Add a Satisfy
        directive.  Note that this directive does NOT function like Apache's
        Satisfy directive.  This current implementation is to be used when
        defining a class, to specify how to evaluate all of the rules of the
        class: any, or all.  Future work will overload this directive to work as users would like
        (see Bug#1898) for the <Limit> context.

2004-04-19  castaglia <castaglia>

        * src/dirtree.c: Report line numbers when parsing .ftpaccess files,
        too.

2004-04-18  castaglia <castaglia>

        * src/dirtree.c: Have the fatal messages reported during
        configuration parsing report the line number and configuration file,
        for easier fixing of broken configs.

2004-04-16  castaglia <castaglia>

        * NEWS, include/privs.h: Bug#2317 - Wrong order of privs calls on HP
        generates "unable to setregid()".  error.  The problem turned out to
        be a call to setregid() before a call to setreuid(), but only in the
        HP privs code (non-seteuid() case).  The fix was trivial: call
        setreuid() first, to make sure the proper UIDs are set, then call
        setregid().

2004-04-16  castaglia <castaglia>

        * NEWS: Mention in NEWS the new doc/modules/ directory.

2004-04-16  castaglia <castaglia>

        * doc/modules/mod_ctrls.html: Updating mod_ctrls' installation
        instructions.

2004-04-16  castaglia <castaglia>

        * doc/modules/mod_auth_file.html, doc/modules/mod_cap.html,
        doc/modules/mod_ctrls.html: Add a 'doc/modules/' directory, for core
        module documentation.  Add the docs for mod_auth_file, mod_cap, and
        mod_ctrls.

2004-04-15  castaglia <castaglia>

        * include/ctrls.h: These changes should've been part of an earlier
        commit.

2004-04-15  castaglia <castaglia>

        * contrib/mod_tls.c: Much improved handling of OpenSSL's error
        queue, so that the TLSLog can properly show all of the errors in the
        queue (rather than just the top error, which is usually not too
        helpful in pinpointing the actual problem).

2004-04-15  castaglia <castaglia>

        * sample-configurations/basic.conf: The default configuration file
        should not allow use of SITE CHMOD.

2004-04-15  castaglia <castaglia>

        * src/main.c: Cleanup the error reported if the PidFile cannot be
        opened.

2004-04-14  castaglia <castaglia>

        * modules/mod_core.c: Michael suggested that this log message be at
        the INFO level.

2004-04-14  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c, modules/mod_ctrls.c, src/ctrls.c: 
        Remove the unused 'set' control action from mod_ctrls_admin.  Make
        the 'lsctrl' control action list only enabled control actions.
        Initialize the ControlsSocketACL such that access to the socket is
        allowed to everyone by default; access to individual control actions
        still defaults to "deny" unless access is explicitly granted via
        configuration.

2004-04-13  castaglia <castaglia>

        * doc/howto/Filters.html: Emphasize _not_ using both an Allow and a
        Deny Filter at the same time.

2004-04-13  castaglia <castaglia>

        * include/privs.h: Revert part of my previous update to privs.h; it
        included a possible fix for Bug#2317, but that fix is not ready to
        be committed just yet.

2004-04-13  castaglia <castaglia>

        * NEWS, include/privs.h: Bug#2387 - PRIVS_USER macro should set
        effective GID to user's primary GID.

2004-04-13  castaglia <castaglia>

        * include/dirtree.h, src/dirtree.c: Add a SID (Server ID) to every
        server_rec.  This SID is a unique ID that is automatically assigned
        to each generated server_rec when proftpd parses its configuration.
        SIDs are useful for tracking purposes, particularly for contrib
        modules that want to track which vhost caused something to happen.  Format/style cleanups, removed unused CLASS_USER #define.

2004-04-13  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: Update the proftpd version required by
        mod_ctrls_admin.

2004-04-12  castaglia <castaglia>

        * modules/mod_auth.c: Have AnonRejectPasswords generate an event.

2004-04-12  castaglia <castaglia>

        * modules/mod_ctrls.c: Consistent use of strcmp().  Use ANY_MODULE
        where appropriate, rather than NULL.

2004-04-12  castaglia <castaglia>

        * src/fsio.c: Fix pr_fsio_getline() to handle the case where a
        config line, broken across several lines in the config file using
        line continuations, has one of the lines commented out, e.g.:    SomeDirective \      foo \    #  bar \      baz Without this patch, pr_fsio_getline() would return the '#'
        character, which is not what most people would think would happen.

2004-04-12  castaglia <castaglia>

        * src/dirtree.c: Be a little more strict when checking for
        "${env:...}" strings in the config file.  Format/style cleanup.

2004-04-11  castaglia <castaglia>

        * doc/howto/BCP.html, doc/howto/Globbing.html, doc/howto/index.html: 
        Add the Globbing and BCP howtos.

2004-04-11  castaglia <castaglia>

        * include/options.h: Updating outdated comments.

2004-04-11  castaglia <castaglia>

        * modules/mod_xfer.c: Typo.

2004-04-11  castaglia <castaglia>

        * modules/mod_xfer.c: Make the 'core.signal.USR2' event handler
        check for new TransferRates when involved in any of the file data
        transfer commands (APPE, RETR, STOR, STOU), not just RETR.  Update
        comments as well.

2004-04-11  castaglia <castaglia>

        * NEWS, modules/mod_ctrls.c, src/ctrls.c: Bug#2383 - mod_ctrls.c:
        ctrls_listen(): Invalid size in bind() argument.

2004-04-11  castaglia <castaglia>

        * modules/mod_xfer.c: Add a handler for the event 'core.signal.USR2'
        to mod_xfer.  The handler causes mod_xfer, if and only if the RETR
        command is currently being handled, to rescan the config tree for
        TransferRate entries.  The 'core.signal.USR2' event is only generated when Controls have
        been enabled, so in most cases this won't change anything.  Its
        purpose is mainly to help the mod_shaper module be able to change
        the TransferRate for a session in mid-transfer.

2004-04-11  castaglia <castaglia>

        * include/dirtree.h, src/dirtree.c: Add a new merge flag, CF_SILENT.
        Unlike the rest of the CF_ flags, this flag is handled by
        fixup_dirs(); the other CF_ flags are handled by the internal
        _reorder_dirs() function.  When fixup_dirs() sees CF_SILENT, it will
        not print a debug configuration dump, which is its default behavior.

2004-04-11  castaglia <castaglia>

        * src/event.c: Make sure that the order of event registration
        matches module load order.  This helps when the same event may be
        handled by multiple modules, and the order of handling is important.

2004-04-11  castaglia <castaglia>

        * modules/mod_core.c: This copy of copy_file() is no longer needed.

2004-04-10  castaglia <castaglia>

        * doc/howto/FXP.html, doc/howto/index.html: Add FXP howto.

2004-04-10  castaglia <castaglia>

        * doc/howto/NAT.html, doc/howto/index.html: Add NAT howto.

2004-04-10  castaglia <castaglia>

        * doc/howto/SQL.html: Update the SQL howto to mention using
        SQLLogFile.

2004-04-10  castaglia <castaglia>

        * doc/howto/index.html: Add an index page for these howtos.

2004-04-10  castaglia <castaglia>

        * doc/howto/Directory.html: Typo.

2004-04-10  castaglia <castaglia>

        * doc/howto/Directory.html: Add paragraph describing how the * glob
        within a path is matched (i.e.  only for single directory level, not
        multiple directory levels).

2004-04-10  castaglia <castaglia>

        * doc/howto/Authentication.html, doc/howto/Chroot.html,
        doc/howto/ConfigFile.html, doc/howto/Debugging.html,
        doc/howto/Directory.html, doc/howto/FTP.html,
        doc/howto/Filters.html, doc/howto/Limit.html, doc/howto/SQL.html,
        doc/howto/ServerType.html, doc/howto/Stopping.html,
        doc/howto/TLS.html, doc/howto/Umask.html, doc/howto/Vhost.html: 
        Standardize on "Last Updated" in the footer.

2004-04-10  castaglia <castaglia>

        * doc/howto/Logging.html: Add Logging doc.

2004-04-10  castaglia <castaglia>

        * doc/howto/Authentication.html, doc/howto/ConfigFile.html,
        doc/howto/Filters.html, doc/howto/Limit.html,
        doc/howto/ServerType.html, doc/howto/Stopping.html,
        doc/howto/Vhost.html: Modifying links in docs to reference other
        docs in this area, rather than the pages on www.castaglia.org.

2004-04-10  castaglia <castaglia>

        * doc/howto/Stopping.html: Add doc for starting/stopping proftpd.

2004-04-10  castaglia <castaglia>

        * doc/howto/FTP.html: Add doc covering FTP commands supported by
        proftpd.

2004-04-10  castaglia <castaglia>

        * doc/howto/ServerType.html: Adding ServerType doc.

2004-04-10  castaglia <castaglia>

        * modules/mod_auth_unix.c: When compiling on a HP-UX box which
        supports bigcrypt(), the following warning is seen:   passing arg 1 of `bigcrypt' discards qualifiers from pointer
          target type Quell this warning by explicitly casting the arguments to bigcrypt()
        to be char *.

2004-04-10  castaglia <castaglia>

        * doc/howto/SSH.html: Add FTP-over-SSH mini-HOWTO.

2004-04-10  castaglia <castaglia>

        * doc/howto/Authentication.html, doc/howto/Chroot.html,
        doc/howto/ConfigFile.html, doc/howto/Debugging.html,
        doc/howto/Directory.html, doc/howto/Filters.html,
        doc/howto/Limit.html, doc/howto/SQL.html, doc/howto/TLS.html,
        doc/howto/Umask.html, doc/howto/Vhost.html: Adjusting footers for
        consistency.

2004-04-10  castaglia <castaglia>

        * doc/howto/Umask.html: Add the Umask mini-HOWTO.

2004-04-09  castaglia <castaglia>

        * doc/howto/Filters.html: Add the Filters mini-HOWTO to the source
        distro.

2004-04-09  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: Add ability to kick entire Classes via
        the 'kick' action.

2004-04-09  castaglia <castaglia>

        * include/fsio.h, modules/mod_core.c, src/fsio.c, src/mkhome.c: The
        CreateHome code also included a static copy_file() function.  This
        change refactors the code so that both CreateHome and the
        rename-across-mount-points code both use the same function, added to
        the FSIO code as pr_fs_copy_file().  Code reuse good.

2004-04-09  castaglia <castaglia>

        * contrib/mod_ifsession.c: Removing this HOOK, as it won't work as
        intended.  May re-add in the future.

2004-04-09  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2385 - Renames fail with error
        "Invalid cross-device link".  In the case of EXDEV from rename(2),
        mod_core now manually copies the file from the source to the
        destination location.  Any content existing at the destination
        location is lost.

2004-04-08  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: Add the 'kick' action to
        mod_ctrls_admin, for disconnecting clients by user or host names.

2004-04-07  castaglia <castaglia>

        * doc/howto/Authentication.html: Add note about avoiding use of
        mod_auth.c and mod_auth_pam.c in AuthOrder directives.

2004-04-07  castaglia <castaglia>

        * contrib/mod_quotatab.c: Add a QuotaLog message warning that when
        per_session is true, the QuotaTallyTable will not be updated.

2004-04-06  castaglia <castaglia>

        * NEWS, config.h.in: Bug#2221 - proftpd on hp-ux 11.22.  Override
        the default socklen_t detection on HP-UX 11 to be an int.  APR
        suffers from this same problem (the bug is ultimately an HP-UX
        problem).

2004-04-06  castaglia <castaglia>

        * src/ctrls.c: Fix a format warning on Solaris.

2004-04-05  castaglia <castaglia>

        * contrib/mod_tls.c: Make sure and clear the relevant bits in
        tls_flags when the control and data channels are closed.

2004-04-05  castaglia <castaglia>

        * src/ctrls.c: Remove a hardcoded maximum limit on the size of
        request strings that can be sent using the Controls API.  Uncovered
        when trying to send messages larger than 8 Kb via SysV message
        queues.

2004-04-05  castaglia <castaglia>

        * modules/mod_auth.c, src/scoreboard.c: Check for an error return
        value from pr_rewind_scoreboard().  Keep track of the process which opened the cached scoreboard fd.
        It's possible to have the daemon process open the fd, and then fork,
        which means the child will have that same fd.  However, the child
        may fdopen() another file onto that fd (e.g. if the fd is 0), thus
        losing the scoreboard fd.  This patch also prevents the possibility
        of a file descriptor leak by having the same process open the
        scoreboard multiple times (e.g. when multiple modules call
        pr_open_scoreboard()).

2004-04-05  castaglia <castaglia>

        * NEWS: Mention the adding of mini-HOWTOs in NEWS.

2004-03-25  castaglia <castaglia>

        * configure: Updating configure.

2004-03-25  castaglia <castaglia>

        * configure.in: Remove checks for README.mod_sql from configure.

2004-03-25  castaglia <castaglia>

        * contrib/mod_tls.c: Report the version of OpenSSL used in server
        debugging output.

2004-03-24  castaglia <castaglia>

        * NEWS, contrib/ftpasswd: Bug#2371 - ftpasswd should have option to
        compare password against value in passwd file.

2004-03-23  castaglia <castaglia>

        * contrib/mod_tls.c: Be more explicit about the expected return
        value from SSL_CTX_load_verify_locations(3).  Handle the cases where
        the pointers to the CA file or CA path may be NULL, as some libcs do
        not handling printing of NULL pointers gracefully, unlike glibc.

2004-03-23  castaglia <castaglia>

        * modules/mod_ls.c: Add a comment explaining the fix for Bug#2367.

2004-03-23  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#2367 - LIST *.* strange behaviour.

2004-03-22  castaglia <castaglia>

        * doc/howto/Authentication.html, doc/howto/Chroot.html,
        doc/howto/ConfigFile.html, doc/howto/Debugging.html,
        doc/howto/Directory.html, doc/howto/Limit.html, doc/howto/TLS.html,
        doc/howto/Vhost.html: Adding more howtos.

2004-03-22  castaglia <castaglia>

        * doc/howto/SQL.html: Adding an HTML SQL howto to the doc/ area, to
        replace the README.mod_sql (which is now terribly outdated).

2004-03-19  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2369 - EPSV should not send network
        address when MasqueradeAddress is used.  RFC 2428 is not very clear
        on this point, for it introduces a discrepancy in the possible
        responses to PASV versus EPSV.  Until this can be cleared up, do not
        honor MasqueradeAddress when EPSV is used by the client.

2004-03-16  castaglia <castaglia>

        * contrib/mod_sql.c: Mark the SQLLog and SQLShowInfo config_recs as
        CF_MERGEDOWN_MULTI.  This doesn't affect how mod_sql processes these
        directives, but it does make them work properly within mod_ifsession
        blocks.

2004-03-11  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2363 - ABOR response RFC 959
        compliance.

2004-03-11  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#2361 - Second USER command causes
        problems with chrooted session.  The PRE_CMD handler for C_USER
        should check to see if a user is already logged in before doing any
        processing.

2004-03-11  castaglia <castaglia>

        * NEWS: Typos.

2004-03-10  castaglia <castaglia>

        * include/privs.h: Typo.

2004-03-09  castaglia <castaglia>

        * src/netaddr.c: Add some debug logging, level 10, showing when a
        name is being resolved to its IP addresses, including when DNS is
        used.  At debug level 10, things are getting quite verbose; we should start
        looking into debugging output masks.

2004-03-08  castaglia <castaglia>

        * README.controls: Clarify that using --enable-ctrls means not using
        --with-modules=mod_ctrls.

2004-03-05  castaglia <castaglia>

        * modules/mod_core.c: On second thought, setting errno to ENOENT in
        these cases may not be the best idea.

2004-03-05  castaglia <castaglia>

        * modules/mod_core.c: Make sure that errno has an appropriate value
        in the case where a resolved path may actually be NULL.  Also,
        report on failed paths using cmd->arg, rather than cmd->argv[1], to
        handle the case where the client may have specified a path
        containing whitespace characters.

2004-03-05  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2321 - FTP permission checks
        inconsistent for DELE and RMD when symlink in directory path.  For
        future reference, if dir_canonical_path() is used to obtain a path,
        use dir_check_canon() for checking <Limit> permissions on that
        returned path, instead of using dir_check().  The dir_* namespace
        could use some cleaning up, to make this sort of relationship a
        little clearer.

2004-03-05  castaglia <castaglia>

        * NEWS, utils/ftptop.c: Bug#2357 - ftptop should use COLS for
        determining display width.

2004-03-05  castaglia <castaglia>

        * configure: Updating configure.

2004-03-05  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, modules/mod_xfer.c: Bug#2353 -
        REST doesn't handle offsets greater than 2 GB.

2004-03-04  castaglia <castaglia>

        * modules/mod_core.c: Change handling of the SetEnv, UnsetEnv
        directives so that that they can be set on a per-vhost basis.

2004-03-04  castaglia <castaglia>

        * contrib/mod_tls.c: Didn't mean to commit those debugging changes.
        Oops.

2004-03-04  castaglia <castaglia>

        * contrib/mod_tls.c: No need to be that verbose.

2004-03-03  castaglia <castaglia>

        * contrib/mod_tls.c: Handle the case where mod_tls has been
        configured to set environment variables but the client does not
        present a certificate (e.g. when not verifying clients).
        Previously, this would cause a segfault.

2004-03-03  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#2355 - Send error message to client
        when 'TLSRequired both' is in effect.

2004-03-02  castaglia <castaglia>

        * contrib/mod_tls.c: Typo.

2004-03-01  castaglia <castaglia>

        * include/conf.h: Doesn't help to check for <utime.h> if we don't
        include it.

2004-03-01  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: Typo.  Eventually, mod_ctrls_admin's
        dump control will handling list of variables in the (as yet
        uncommitted) Variables API.

2004-03-01  castaglia <castaglia>

        * configure: Updating configure.

2004-03-01  castaglia <castaglia>

        * config.h.in, configure.in: Check for the <utime.h> system header.

2004-03-01  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c, src/netacl.c: Complete the 'dump
        classes' control for mod_ctrls_admin.  Also adds the missing
        pr_netacl_get_type() function.

2004-03-01  castaglia <castaglia>

        * src/event.c: Add some basic caching of the last valid event
        generated, as a minor optimization.

2004-02-27  castaglia <castaglia>

        * modules/mod_ls.c: STAT is an INFO command more than it is a DIRS
        command (for logging purposes).

2004-02-27  castaglia <castaglia>

        * contrib/mod_sql.c: Add handling of the %L (local IP address) and
        %V (local DNS name) tags.  Fix formatting.

2004-02-27  castaglia <castaglia>

        * modules/mod_cap.c: Bug#2348 prompted this addition of handling
        CAP_DAC_OVERRIDE and CAP_DAC_READ_SEARCH, in addition to CAP_CHOWN.

2004-02-27  castaglia <castaglia>

        * NEWS, README.modules: Bug#2257 - Add SITE SYMLINK command to
        mod_site.  Added a new contrib module, mod_site_misc, instead.

2004-02-27  castaglia <castaglia>

        * contrib/mod_site_misc.c: New contrib module that implements
        miscellaneous SITE commands (e.g. SITE SYMLINK, SITE UTIME, etc)
        that other ftpds may recognize (e.g. ncftpd).

2004-02-24  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#2339 - STAT command doesn't follow
        RFC959.

2004-02-24  castaglia <castaglia>

        * sample-configurations/basic.conf: It's a little more efficient to
        have AllowOverwrite in the server config context, rather than in a
        <Directory> context that covers the entire filesystem.

2004-02-24  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#2311 - MaxClients counts
        unauthenticated users.

2004-02-24  castaglia <castaglia>

        * contrib/mod_sql.c: Oops.  My previous commit included my
        work-in-progress patch for SQLShowInfo, which isn't ready yet.

2004-02-24  castaglia <castaglia>

        * contrib/mod_sql.c: Fixed a bug in mod_sql in the show_group()
        function, where a large list of users that belonged to a single
        group could tickle a segfault.  There was a hardcoded buffer size of
        2K that was being exceeded.  Better to use pstrcat() and build up
        the needed string.  Also add some typecasts to unsigned longs for reporting IDs.

2004-02-24  castaglia <castaglia>

        * modules/mod_core.c: Typos.

2004-02-24  castaglia <castaglia>

        * modules/mod_xfer.c: Allow uploading to FIFOs.  Should we allow
        uploading to symlinks, too?

2004-02-23  castaglia <castaglia>

        * modules/mod_site.c: mod_site no longer uses a configuration
        handler table.

2004-02-23  castaglia <castaglia>

        * src/dirtree.c: Quell a minor compiler warning on OSX.

2004-02-23  castaglia <castaglia>

        * README.modules: Adding mod_quotatab et al to the list of modules
        that accompany proftpd.

2004-02-20  castaglia <castaglia>

        * NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c,
        src/main.c: Bug#1696 - Include directive should support directories.

2004-02-20  castaglia <castaglia>

        * contrib/ftpasswd: When the --not-system-password option is used,
        it's possible for there to be no entry in the system password files
        for the user being created, in which case $hash and $syspasswd will
        both be the empty string -- and will match, making ftpasswd think
        that a different password is needed.  Fix this by checking for the
        empty strings.

2004-02-19  castaglia <castaglia>

        * README.IPv6: Updating the IPv6 notes.

2004-02-19  castaglia <castaglia>

        * contrib/mod_ifsession.c: Add a check for <Limit LOGIN> to
        mod_ifsession, after all the configuration merging is done.  This
        allows for configurations like:   <IfUser foo>     <Limit LOGIN>       DenyAll     </Limit>   </IfUser>

2004-02-17  castaglia <castaglia>

        * NEWS, modules/mod_auth_pam.c: Bug#2105 - Remove Authoritative
        directives.

2004-02-17  castaglia <castaglia>

        * NEWS, contrib/ftpasswd: Bug#2171 - Add delete options to ftpasswd.

2004-02-17  castaglia <castaglia>

        * Make.rules.in, contrib/mod_tls.c, include/conf.h, include/help.h,
        modules/mod_auth.c, modules/mod_core.c, modules/mod_ls.c,
        modules/mod_site.c, modules/mod_xfer.c, src/help.c: Adding a new API
        so that modules can declare, for the HELP response list, which FTP
        commands they support.  This makes it easier/cleaner for contrib
        modules, e.g. mod_tls, to declare their support for FTP commands
        that may not be handled by the core code.

2004-02-16  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2237 - HiddenStores does not check
        for existing file in edge case.

2004-02-15  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#2327 - SQLNegativeCache causes
        unnecessary errors in server logging.

2004-02-15  castaglia <castaglia>

        * contrib/mod_sql.c: Note the directive name when warning of
        deprecated * usage.

2004-02-15  castaglia <castaglia>

        * contrib/mod_sql.c: Disable the "*" functionality in
        SQLAuthenticate, which was used to configure mod_sql to be
        authoritative.  This conflicts with the AuthOrder configuration
        directive, which should be used instead.

2004-02-15  castaglia <castaglia>

        * NEWS: Mention in the NEWS file that Class and Classes are now
        deprecated.

2004-02-13  castaglia <castaglia>

        * contrib/mod_quotatab.h: Update mod_quotatab's
        PROFTPD_VERSION_NUMBER check.

2004-02-13  castaglia <castaglia>

        * contrib/mod_ifsession.c: Update the PROFTPD_VERSION_NUMBER check.

2004-02-13  castaglia <castaglia>

        * contrib/mod_rewrite.c: Updating mod_rewrite for Class code
        changes.

2004-02-13  castaglia <castaglia>

        * contrib/mod_quotatab.c: Updating mod_quotatab for Class code
        changes.

2004-02-13  castaglia <castaglia>

        * contrib/mod_ifsession.c: Updating mod_ifsession to reflect Class
        changes.

2004-02-12  castaglia <castaglia>

        * Makefile.in, NEWS: Bug#2340 - Problem with parallel builds.

2004-02-10  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#2337 - TLSRenegotiate parameters not
        processed correctly.

2004-02-10  castaglia <castaglia>

        * contrib/mod_tls.c: When walking the server_list list, we need to
        start with server_list->xas_list, not just server_list.  This is a
        subtle and easy to miss bug, and was causing the list-walking code
        to attempt to access inaccessible memories (not good).  This highlights a need for a good list/set-iterating API, rather
        than relying on details of the actual structures.

2004-02-08  castaglia <castaglia>

        * contrib/mod_readme.c: Update mod_readme to use the new pr_gmtime()
        function.

2004-02-08  castaglia <castaglia>

        * NEWS, utils/ftpcount.c: Bug#2306 - ftpcount output should handle
        case of no users.

2004-02-08  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2324 - Directories whose names
        contain whitespace are inaccessible.  The problem was that the
        dir_check() call was using cmd->argv[0], rather than cmd->arg; the
        former is the first parameter of the command (where the parameters
        are assumed to be whitespace-separated) whereas the latter is the
        entire parameter list as a single string.  The rest of the patch
        cleans up the formatting in the chdir() handling code.

2004-02-04  castaglia <castaglia>

        * src/xferlog.5.in: Document in the xferlog(5) man page that any
        space or control characters in a filename will be converted to an
        underscore in TransferLogs.

2004-02-03  castaglia <castaglia>

        * NEWS, modules/mod_core.c, src/dirtree.c: Bug#2315 - Overlapping
        virtual server causes error.  Also changes the collision check log messages to say "warning"
        rather than "error".

2004-02-01  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#2322 - NLST -a returns listing
        formatted for LIST -a.

2004-01-31  castaglia <castaglia>

        * src/log.c: Addition of PID was redundant.  Oops.

2004-01-30  castaglia <castaglia>

        * src/netaddr.c: "dup" is an already used global variable in some
        system headers.  How annoying.

2004-01-30  castaglia <castaglia>

        * src/main.c: Remove an annoying "FTP session closed." message from
        being logged when doing a simple syntax check of a proftpd.conf
        whose ServerType is inetd.

2004-01-30  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#2295 - mod_tls returns multi-line
        response to AUTH commands.

2004-01-30  castaglia <castaglia>

        * README.classes: Explicitly mention that the Class and Classes
        directives are deprecated.

2004-01-29  castaglia <castaglia>

        * Make.rules.in, NEWS, contrib/mod_sql.c, include/class.h,
        include/conf.h, include/dirtree.h, include/netacl.h,
        include/proftpd.h, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_log.c, src/class.c, src/dirtree.c, src/main.c,
        src/netacl.c: Bug#1925 - Clean up of Class code.

2004-01-29  castaglia <castaglia>

        * src/log.c: If --enable-devel is used, add the PID to the server
        debugging lines.  This might be useful enough to use all of the
        time, but for now it'll be restricted to developer use.

2004-01-29  castaglia <castaglia>

        * include/netaddr.h, src/netaddr.c: Add a new function,
        pr_netaddr_dup(), for convenience.

2004-01-29  castaglia <castaglia>

        * contrib/mod_quotatab.c: The SITE QUOTA command should be marked as
        a CL_MISC class command, so that ExtendedLogs that wish to log MISC
        commands record it.

2004-01-21  cyberrobo <cyberrobo>

        * .cvsignore: adding ftpdctl to the ignorelist

2004-01-19  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c, modules/mod_ctrls.c: No need to
        re-register the controls themselves, just reallocate the ACLs from
        the new module pools.

2004-01-19  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c, modules/mod_ctrls.c: When handling the
        "core.restart" event, the module pools for both mod_ctrls and
        mod_ctrls_admin are destroyed/recreated.  Since the ACLs for the
        registered controls are allocated from these module pools, the ACLs
        need to be recreated as well.  Also, when building mod_ctrls_admin, make sure that Controls support
        has been enabled.

2004-01-19  castaglia <castaglia>

        * src/log.c: Make pr_log_writefile() a little more robust, by
        checking whether the given fd is valid before doing any work.

2004-01-18  castaglia <castaglia>

        * utils/ftptop.c, utils/utils.h: No need to include <sys/types.h> in
        these files, as it is already included in config.h.

2004-01-18  castaglia <castaglia>

        * modules/mod_ctrls.c: Change the usage of PRIVS macros in some of
        mod_ctrls' config handlers.  Michael found that this was causing
        problems when restarting a proftpd with Controls enabled (see
        Bug#2242).

2004-01-18  castaglia <castaglia>

        * modules/mod_ctrls.c: No need to log the error using root privs.

2004-01-18  cyberrobo <cyberrobo>

        * src/.cvsignore: added ftpdctl manpage to ignore list

2004-01-17  castaglia <castaglia>

        * configure: Updating configure script.

2004-01-17  castaglia <castaglia>

        * NEWS, configure.in: Bug#2320 - autoconf check for socklen_t
        doesn't work on FreeBSD 4.8-RELEASE.

2004-01-17  castaglia <castaglia>

        * Makefile.in, NEWS: Bug#2319 - Build scripts have owner-only
        execute permission.

2004-01-17  castaglia <castaglia>

        * config.sub: No, that didn't work.

2004-01-17  castaglia <castaglia>

        * config.sub: Checking to see how to get permissions changed in CVS.
        I think CVS requires that the file itself (not just the mode)
        differ.

2004-01-16  castaglia <castaglia>

        * README.classes: First draft of a README describing the new <Class>
        syntax.  Edits/additions welcome.

2004-01-16  castaglia <castaglia>

        * modules/mod_core.c: Have the emitted vhost collision message say
        "warning", rather than "error".

2004-01-16  castaglia <castaglia>

        * modules/mod_auth.c: The current CreateHome description has the
        following examples:   CreateHome on skel /etc/ftpd/skel   CreateHome on dirmode 755   CreateHome on skel /etc/ftpd/skel dirmode 700 However, the current CreateHome implementation assumes that the
        parameter after the Boolean will always be the mode.  This change
        makes the config handler check for any preceding 'skel' or 'dirmode'
        keywords before trying to process that parameter as the mode.
        Hopefully now the examples will work properly.

2004-01-15  castaglia <castaglia>

        * contrib/mod_quotatab.c: Christian Schulte <cs@schulte.it> noticed
        that the handling of locks by mod_quotatab is not right.  The
        quotatab_write() function would obtain a write-lock, then call
        quotatab_read() to refresh its data, and quotatab_read() would
        degrade that write-lock to a read-lock, then release it completely,
        leaving the actual write operation unprotected by a lock.  This
        patch fixes the contention in the locking routinese by having them
        check and set a static variable.

2004-01-15  castaglia <castaglia>

        * README.controls: Updating/fixing this document.

2004-01-14  castaglia <castaglia>

        * README.controls: Add a README describing the new Controls code.
        It's a work in progress.

2004-01-14  castaglia <castaglia>

        * modules/mod_auth.c: Fix compiler warning.

2004-01-13  castaglia <castaglia>

        * NEWS: Add comment that bug 2183 is the same as bug 2165.

2004-01-12  castaglia <castaglia>

        * modules/mod_xfer.c: Consistency.

2004-01-12  castaglia <castaglia>

        * modules/mod_xfer.c: Report errors when closing a file that has
        been written.  Such errors normally don't occur, but can happen with
        a disk is full.  Fix a typo.

2004-01-11  castaglia <castaglia>

        * NEWS, contrib/mod_sql_mysql.c: Bug#2307 - MySQL 4.1.1 API change
        causes mod_sql_mysql compilation failure.

2004-01-09  castaglia <castaglia>

        * src/pool.c: The logic for handling new_block()'s exact argument
        was accidentally inverted.

2004-01-09  castaglia <castaglia>

        * include/pool.h, src/pool.c: Be consistent with the argument data
        types.  These probably should be size_ts, but ints suffice.

2004-01-09  castaglia <castaglia>

        * include/pool.h, src/pool.c: Adding some new functions to the Pool
        API.  These new functions allow for pools to be allocated for a
        specific size, rather than always having the requested size be
        rounded up to the nearest BLOCK_MINFREE (usu. 512 bytes).  These
        will be handy in cases where pools smaller than 512 bytes can be
        used (e.g. stash pools).

2004-01-02  jwm <jwm>

        * NEWS: - Bug 2267 - Broken IP subnet matching. Added new ACL
        parsing/matching code.

2003-12-30  castaglia <castaglia>

        * contrib/mod_sql.c: Make mod_sql a little less noisy.  This "no
        SQLAuthTypes" message would be logged for every connection to a
        vhost that has not been configured for mod_sql (when mod_sql is
        present), which can be very annoying for those configurations where
        only some vhosts, not all, need to authenticate using SQL.

2003-12-30  castaglia <castaglia>

        * src/main.c: Style.

2003-12-26  jwm <jwm>

        * Makefile.in, NEWS: Bug 2305 - Compile Problems since > 1.2.9 Link
        ftpdctl against libsocket and libnsl to pick up dependency functions

2003-12-19  castaglia <castaglia>

        * contrib/mod_quotatab.c: Don't subtract xfer bytes when deleting a
        directory.  Found and fixed by Christian Schulte <cs@schulte.it>

2003-12-16  castaglia <castaglia>

        * NEWS, src/netio.c: Bug#2300 - poll() returns 1 and read returns 0,
        inifinite loop.

2003-12-14  jwm <jwm>

        * contrib/dist/rpm/proftpd.spec: [Bug 2301] New: (s)rpms should
        require "/sbin/chkconfig" instead of package "chkconfig"

2003-12-11  castaglia <castaglia>

        * contrib/mod_quotatab.h: Bump the mod_quotatab version, for
        clarity.

2003-12-11  castaglia <castaglia>

        * modules/mod_auth.c: Forgot to add strerror() to the DefaultRoot
        resolution debugging.

2003-12-11  castaglia <castaglia>

        * modules/mod_auth.c: Add some debugging to the function which
        determines the actual path to use for DefaultRoot.

2003-12-09  castaglia <castaglia>

        * contrib/mod_quotatab.c: More minor quotatab bugs fixed by
        Christian Schulte <cs@schulte.it>.

2003-12-09  castaglia <castaglia>

        * contrib/mod_quotatab_sql.c: Bug found by Christian Schulte
        <cs@schulte.it>: delta values are signed, and can be negative.

2003-12-03  castaglia <castaglia>

        * NEWS, contrib/ftpquota, contrib/mod_quotatab.c,
        contrib/mod_quotatab.h, contrib/mod_quotatab_file.c,
        contrib/mod_quotatab_ldap.c, contrib/mod_quotatab_sql.c: Adding
        mod_quotatab to the contrib area.

2003-12-03  castaglia <castaglia>

        * NEWS, src/netaddr.c: Bug#2288 - ServerFQDN set to 255.255.255.255
        and not hostname.  This was due to the bundled inet_ntop()
        implementation not correctly handling the INADDR_NONE return value.

2003-12-02  castaglia <castaglia>

        * modules/mod_core.c: Adjust mod_core.c to use the pr_* wrappers for
        gmtime(), localtime().

2003-12-02  castaglia <castaglia>

        * NEWS, include/support.h, modules/mod_ls.c, src/support.c: Bug#2290
        - gmtime() static storage may be overwritten by modules.  A portable
        solution is to use wrappers that memcpy() the gmtime() and
        localtime() results.

2003-11-19  castaglia <castaglia>

        * include/inet.h, include/netaddr.h, src/inet.c, src/netaddr.c: 
        Moving the declaration and definition of pr_get{addr,name}info,
        pr_freeadrinfo, pr_inet_{ntop,pton} from inet to netaddr, as netaddr
        is the file that uses those functions most.  Also, it solves some
        linking problems on older systems that do not have the
        get{addr,name}info(2) functions.

2003-11-19  castaglia <castaglia>

        * Makefile.in, NEWS: Bug#1635 - Older systems' chown(1) does not
        support -h option.

2003-11-17  castaglia <castaglia>

        * src/netaddr.c: Adding comments to clarify the purpose/usage of the
        get_v4inaddr() function.

2003-11-16  castaglia <castaglia>

        * src/netacl.c: Forgot to change this function name.

2003-11-16  castaglia <castaglia>

        * src/netacl.c: Typo.

2003-11-16  castaglia <castaglia>

        * include/netacl.h, src/dirtree.c, src/netacl.c: Making the ACL type
        publically available via an accessor.

2003-11-16  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: Split the 'debug config|memory' stuff
        into a new control action, 'dump'.  In the future, the 'dump' action
        will also support dumping of <Class> and <Directory> information.

2003-11-15  castaglia <castaglia>

        * Make.rules.in, include/conf.h, include/dirtree.h,
        include/netacl.h, include/netaddr.h, modules/mod_core.c,
        src/dirtree.c, src/netacl.c, src/netaddr.c: Adding new ACL
        parsing/matching code.  This is flexible enough to handle IPv6
        addresses, and will be used in the new <Class> definition code
        (coming soon).  This should also fix the ACL checking that was
        broken (Bug#2267) in 1.2.9's IPv6 changes.

2003-11-15  castaglia <castaglia>

        * modules/mod_core.c: Need to set the ServerAddress field of the
        main_server as well when handling the DefaultAddress directive,
        because fixup_servers() later checks that field.

2003-11-15  castaglia <castaglia>

        * src/dirtree.c: Bad grammar.

2003-11-15  castaglia <castaglia>

        * NEWS, src/dirtree.c: Bug#2048 - Add ability to get configuration
        file values from environment.

2003-11-15  castaglia <castaglia>

        * NEWS, include/dirtree.h, src/dirtree.c: Bug#2274 - Default server
        only binds to one IP address of host if --enable-ipv6 is used.

2003-11-15  castaglia <castaglia>

        * modules/mod_core.c: Handle IPv4 address Binds properly for
        DefaultAddress when IPv6 is in use.

2003-11-15  castaglia <castaglia>

        * configure: Updating configure.

2003-11-15  castaglia <castaglia>

        * configure.in: When checking for the security and sec libs on Tru64
        Unix, we need to check for the libs before checking for the
        functions via AC_CHECK_FUNC, not after.

2003-11-13  castaglia <castaglia>

        * src/netaddr.c: Should be using pcalloc() not palloc().

2003-11-12  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: Use '#' as the address/port delimiter,
        rather than '/'.

2003-11-12  castaglia <castaglia>

        * NEWS, src/inet.c: Updating code for Mac OS X 10.3 (Darwin 7).

2003-11-10  castaglia <castaglia>

        * configure: Updating configure.

2003-11-10  castaglia <castaglia>

        * config.h.in, configure.in: Add a check for the getenv(3) function.

2003-11-10  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c, include/dirtree.h, src/dirtree.c: 
        Rearrange the config-dumping code a little and provide a public
        function for it, so that mod_ctrls_admin can support a 'debug
        config' action.

2003-11-10  castaglia <castaglia>

        * src/pool.c: Better name for this printf-like function pointer
        variable.

2003-11-10  castaglia <castaglia>

        * configure: Updating configure.

2003-11-10  castaglia <castaglia>

        * configure.in: Some systems (e.g. FreeBSD) declare getaddrinfo(2)
        in <sys/socket.h>.

2003-11-10  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: Update mod_ctrls_admin to use events.

2003-11-10  castaglia <castaglia>

        * contrib/mod_ctrls_admin.c: Controls are useless without something
        implementing some control actions; add the mod_ctrls_admin module
        (was mod_ctrls_common) to contrib.

2003-11-09  castaglia <castaglia>

        * src/auth.c, src/ctrls.c, src/data.c, src/dirtree.c, src/event.c,
        src/fsio.c, src/ident.c, src/log.c, src/main.c, src/mkhome.c,
        src/netaddr.c, src/scoreboard.c, src/support.c: Updating the source
        code to use pr_log_debug() rather than log_debug().

2003-11-09  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_auth_file.c, modules/mod_cap.c,
        modules/mod_core.c, modules/mod_ctrls.c, modules/mod_log.c,
        modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c: Updating
        modules to use pr_log_debug() rather than log_debug().

2003-11-09  castaglia <castaglia>

        * include/privs.h: Use pr_log_debug() rather than log_debug().

2003-11-09  castaglia <castaglia>

        * doc/mod_sample.c: Updating the sample module mod_sample.c to use
        pr_log_*() rather than log_*().

2003-11-09  castaglia <castaglia>

        * modules/mod_core.c: unsetenv(3) returns void, not int.

2003-11-09  castaglia <castaglia>

        * src/main.c: Typo.

2003-11-09  castaglia <castaglia>

        * src/main.c: Forgot to cleanup one sig_debug() reference.

2003-11-09  castaglia <castaglia>

        * include/proftpd.h, src/main.c: Tweak the handling of SIGUSR2 a
        little.  If controls are not enabled, keep the current behavior: the
        proftpd process will print a memory dump.  If controls are enabled,
        generate a "core.signal.USR2" event, which will allow modules to
        register multiple handlers for this same event.  This way,
        mod_ctrls_common can use SIGUSR2 to get other proftpd processes to
        print memory dumps, and thus keeping the ability to get memory dumps
        from any proftpd process.  Without this change, if controls are
        enabled, we can only get a memory dump of the daemon process (and
        most of the time, it is the session processes in which we are
        interested).

2003-11-09  castaglia <castaglia>

        * Make.rules.in, include/conf.h, include/log.h, include/support.h,
        include/xferlog.h, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_xfer.c, src/log.c, src/main.c, src/support.c,
        src/xferlog.c: Splitting the TransferLog routines into their own
        source file, and moving the functions into a nonpublic xferlog_
        namespace.

2003-11-09  castaglia <castaglia>

        * contrib/mod_ldap.c: Updating mod_ldap.c to use pr_log_*() rather
        than log_*().

2003-11-09  castaglia <castaglia>

        * contrib/mod_ratio.c: Updating mod_ratio.c to use pr_log_*() rather
        than log_*().

2003-11-09  castaglia <castaglia>

        * contrib/mod_wrap.c: Updating mod_wrap.c to use pr_log_*() rather
        than log_*().

2003-11-09  castaglia <castaglia>

        * contrib/mod_tls.c: Updating mod_tls.c to use pr_log_*() rather
        than log_*().

2003-11-09  castaglia <castaglia>

        * contrib/mod_sql_postgres.c: Updating mod_sql_postgres to use
        pr_log_*() rather than log_*().

2003-11-09  castaglia <castaglia>

        * modules/mod_core.c, src/main.c: The function is now
        pr_log_setdebuglevel(), not log_setdebuglevel().

2003-11-09  castaglia <castaglia>

        * contrib/mod_sql_mysql.c: Updating mod_sql_mysql.c to use
        pr_log_*() rather than log_*().

2003-11-09  castaglia <castaglia>

        * contrib/mod_sql.c: Updating mod_sql.c to use pr_log_*() rather
        than log_*().

2003-11-09  castaglia <castaglia>

        * contrib/mod_rewrite.c: Updating mod_rewrite.c to use pr_log_*()
        rather than log_*().

2003-11-09  castaglia <castaglia>

        * contrib/mod_readme.c: Updating mod_readme to use pr_log_debug()
        rather than log_debug().

2003-11-09  castaglia <castaglia>

        * contrib/mod_radius.c: Updating mod_radius.c to use pr_log_pri()
        rather than log_pri().

2003-11-09  castaglia <castaglia>

        * contrib/mod_ifsession.c: Updating mod_ifsession to use
        pr_log_debug() rather than log_debug().

2003-11-09  castaglia <castaglia>

        * include/privs.h: Updating privs.h to use the pr_log_* functions.
        Also cleans up some cruft related to checking of when
        session.login_uid is set.

2003-11-09  castaglia <castaglia>

        * include/bindings.h, include/log.h, lib/pwgrent.c,
        modules/mod_auth.c, modules/mod_auth_file.c,
        modules/mod_auth_pam.c, modules/mod_auth_unix.c, modules/mod_cap.c,
        modules/mod_core.c, modules/mod_ctrls.c, modules/mod_log.c,
        modules/mod_ls.c, modules/mod_xfer.c, src/auth.c, src/bindings.c,
        src/ctrls.c, src/data.c, src/dirtree.c, src/fsio.c, src/inet.c,
        src/log.c, src/main.c, src/mkhome.c, src/modules.c, src/netaddr.c,
        src/pool.c, src/regexp.c, src/scoreboard.c, src/support.c: Moving
        the log_*() functions into the pr_ namespace.  Let the terror and
        madness begin!  Actually, log.h includes some transitional macros,
        so that the old symbols will be redefined properly.

2003-11-09  castaglia <castaglia>

        * NEWS: Note the affect of the logging class change for RNFR and
        RNTO.

2003-11-09  castaglia <castaglia>

        * src/ftpdctl.8.in: Still not quite right.  Trying to get the
        action-parameters to be properly shown as optional parameters to the
        action part of the command.

2003-11-09  castaglia <castaglia>

        * src/ftpdctl.8.in: Tweak the ftpdctl man page a little.

2003-11-09  castaglia <castaglia>

        * configure: Updating configure.

2003-11-09  castaglia <castaglia>

        * Makefile.in, configure.in, src/ftpdctl.8.in: Adding ftpdctl man
        page.

2003-11-09  castaglia <castaglia>

        * src/ctrls.c: Tag pools allocated in the Controls API.  Style
        cleanup.

2003-11-09  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2046 - Change RFNR and RNTO logging
        class to WRITE.

2003-11-09  castaglia <castaglia>

        * contrib/mod_wrap.c: Wrong function name.

2003-11-09  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c: 
        Updating the rest of the core code to use the newer Expressions API.

2003-11-09  castaglia <castaglia>

        * contrib/mod_wrap.c: Updating mod_wrap for the newer Expressions
        API.

2003-11-09  castaglia <castaglia>

        * contrib/mod_ifsession.c: Updating mod_ifsession to use the new
        Expressions API.  Fixed a compiler warning issued under
        --enable-devel.

2003-11-09  castaglia <castaglia>

        * include/dirtree.h, src/dirtree.c: Cleaning up the API for
        evaluating user, group, and class expressions.  This commit gives
        the API a consistent pr_expr_ prefix.  It also provides some
        transitional macros.

2003-11-09  castaglia <castaglia>

        * configure: Updating configure.

2003-11-09  castaglia <castaglia>

        * contrib/mod_ifsession.c: Adjust mod_ifsession to use the same
        expression indicator values as the core code.

2003-11-09  castaglia <castaglia>

        * NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c: 
        Bug#2015 - Add AND, OR keywords to Allow/DenyUser directives.  This
        affects the AllowGroup and DenyGroup directives as well.

2003-11-09  castaglia <castaglia>

        * modules/mod_ctrls.c: Register a handler for the "core.exit" event,
        rather than using pr_exit_register_handler().  The latter function
        will be being phased out.

2003-11-09  castaglia <castaglia>

        * modules/mod_auth.c: Generate events when the MaxClients* and
        MaxHostsPerUser limits are hit.

2003-11-09  castaglia <castaglia>

        * include/event.h, src/event.c, src/main.c: Add generation of
        "core.exit" event.  Adjust the event unregistration function to
        handle the needs of the core code when doing exit handler
        processing.

2003-11-09  castaglia <castaglia>

        * modules/mod_ctrls.c: Modify mod_ctrls to use the new Event API (as
        all new modules should).

2003-11-09  castaglia <castaglia>

        * Make.rules.in, Makefile.in, NEWS, config.h.in, configure.in,
        include/bindings.h, include/conf.h, include/ctrls.h,
        include/mod_ctrls.h, include/pool.h, modules/mod_ctrls.c,
        src/Makefile.in, src/bindings.c, src/ctrls.c, src/ftpdctl.c,
        src/main.c, src/modules.c, src/pool.c: Bug#2072 - Add Controls API.
        Still to be done: a man page for ftpdctl, better documentation for
        mod_ctrls.

2003-11-09  castaglia <castaglia>

        * src/bindings.c: Remove (now) unused variable.

2003-11-08  castaglia <castaglia>

        * NEWS, modules/mod_core.c, src/bindings.c: Bug#2272 - Address/port
        collision check needs to handle DefaultAddress. The problem was that
        the address assigned by DefaultAddress was being assigned _after_
        the addr/port collision check.

2003-11-08  castaglia <castaglia>

        * include/fsio.h, src/fsio.c: Cleanup the FSIO API a little:   + some of the directory operation flags were improperly
            overloading file operation flags   + change the prototype of the open/creat handlers to take a
            pointer to a pr_fh_t (filehandle) rather than a pointer to a
            pr_fs_t (filesystem), which allows the open/creat handlers to store
            file-specific data in the handle (fh->fh_data), which was not
            possible when using the filesystem pointer.    + added a new function, pr_remove_fs(), for removing a filesystem
            from the map without explicitly destroying that filesystem object
            (as pr_unregister_fs() will do automatically).    + some internal function stylistic renaming, which does not affect
            any code outside of this file.

2003-11-08  castaglia <castaglia>

        * modules/mod_auth.c, src/main.c: Using the new Event API, generate
        some events when key limits are exceeded.  Modules that register
        handlers for these events can now take appropriate action (such as
        blacklisting a client that has exceeded the MaxLoginAttempts).

2003-11-08  castaglia <castaglia>

        * src/event.c: When unregistering an event handler, be sure to honor
        the module argument, if any.

2003-11-08  castaglia <castaglia>

        * Make.rules.in, NEWS, include/conf.h, include/event.h,
        modules/mod_core.c, src/event.c, src/main.c: Adding Event API.

2003-11-08  castaglia <castaglia>

        * NEWS, contrib/mod_radius.c: Bug#2255 - RADIUS Service-Type should
        reflect attribute expectations.

2003-11-08  castaglia <castaglia>

        * configure: Updating configure.

2003-11-08  castaglia <castaglia>

        * NEWS, configure.in: Bug#2271 - Improper autoconf check for
        getaddrinfo() on Tru64 UNIX 5.1.

2003-11-08  castaglia <castaglia>

        * Make.rules.in: Bug#2270 - Linkers can be quite picky about the
        order in which flags appear.

2003-11-06  castaglia <castaglia>

        * modules/mod_auth_file.c: The new group membership debugging found
        a bug: mod_auth_file, when scanning an AuthGroupFile, would only add
        the group name if the ID for the group was different from the user's
        primary GID.  For GID stuff, this is fine; however, for group
        expressions in proftpd.conf that may rely on those group names, it's
        a bug.  This allows for an interesting situation: assign a user to multiple
        groups with different names, but the same GID.  Thus you can
        workaround the NGROUPS_MAX system limit using a long list of group
        names; the operating system won't notice, and proftpd will happily
        check the names.  Nice.

2003-11-06  castaglia <castaglia>

        * src/auth.c: Add debugging output for group name/ID retrieval.

2003-11-06  castaglia <castaglia>

        * src/auth.c: Add debugging that shows the group IDs that end up
        being set via setgroups().

2003-11-06  castaglia <castaglia>

        * configure: Updating configure.

2003-11-06  castaglia <castaglia>

        * config.h.in, configure.in, modules/mod_core.c: Some platforms
        don't have setenv()/unsetenv().  Bummer.

2003-11-04  castaglia <castaglia>

        * src/scoreboard.c: When deleting the scoreboard file (usu. when a
        standalone proftpd starts up), log a message if there is an existing
        scoreboard file that is being unlinked.

2003-11-03  jwm <jwm>

        * contrib/dist/rpm/proftpd.spec: - Bug 2265 - correct path to mysql headers   Submitted by: ncroiset@vdldiffusion.com (Nicolas Croiset) - note in the %changelog that it isn't updated often - use the CVS   revision history

2003-11-01  castaglia <castaglia>

        * Makefile.in: When preparing a distribution using the 'dist'
        target, be sure to clean up the .bak files generated by the 'clean'
        target.

2003-11-01  castaglia <castaglia>

        * include/pool.h, modules/mod_core.c, modules/mod_log.c,
        modules/mod_ls.c, src/auth.c, src/bindings.c, src/data.c,
        src/dirtree.c, src/feat.c, src/fsio.c, src/inet.c, src/log.c,
        src/main.c, src/modules.c, src/pool.c, src/regexp.c, src/support.c: 
        Introduce a new function, pr_pool_tag().  This function is used to
        "tag" a given pool with an arbitrary label (given as a string
        constant).  The pool tags are shown in a pool dump (currently
        triggered using SIGUSR2).

2003-11-01  castaglia <castaglia>

        * include/log.h: Add 10 as a debugging level.  I plan to use this
        level for debugging output about DNS resolution and supplemental
        group membership issues.

2003-10-31  castaglia <castaglia>

        * src/dirtree.c: Add to proftpd's debugging verbosity by showing the
        dispatch/handling of configuration directives to the modules which
        handle that directive.

2003-10-31  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2098 - Add SetEnv, UnsetEnv
        directives.

2003-10-31  castaglia <castaglia>

        * NEWS, modules/mod_auth_unix.c: Bug#2174 - mod_auth_unix should not
        act authoritatively.

2003-10-31  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2086 - Add <Limit> support for PORT,
        PASV, EPRT, EPSV.

2003-10-31  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#2135 - Add ability to handle
        passphrase-protected server keys.

2003-10-31  castaglia <castaglia>

        * src/data.c, src/dirtree.c, src/fsio.c, src/main.c, src/netio.c: 
        Silencing some valgrind complaints.  Style fixups.

2003-10-31  castaglia <castaglia>

        * include/version.h: Woohoo! The start of a new release cycle...

2003-10-31  castaglia <castaglia>

        * ChangeLog: Preparing for 1.2.9 release.

2003-10-31  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
        for the release of 1.2.9.

2003-10-31  castaglia <castaglia>

        * NEWS: Mention the memory leak fixes.

2003-10-31  castaglia <castaglia>

        * contrib/mod_sql.c: Always expand %U to the USER name given, not
        just when session.user is NULL.

2003-10-31  castaglia <castaglia>

        * modules/mod_auth.c: Undoing part of change made earlier: rather
        than removing a C_USER config_rec during both the LOG_CMD (success)
        and LOG_CMD_ERR (failure) command phases of the PASS command, only
        do the removal in LOG_CMD_ERR, which was the originally intended
        effect.  Doing the removal in the LOG_CMD handler causes trouble for
        modules that may want to use %U (e.g. mod_rewrite).

2003-10-30  flyhmstr <flyhmstr>

        * doc/Configuration.html, doc/Configuration.sgml, doc/faq.html: ML:
            New userguide (html & sgml) and faq built from current pdd sources
        committed.

2003-10-28  castaglia <castaglia>

        * README.FreeBSD: Adding FreeBSD package installation docs from
        Bug#2250.

2003-10-22  castaglia <castaglia>

        * src/main.c: Removing duplicate sanity check.

2003-10-22  castaglia <castaglia>

        * src/fsio.c: Fixing comments.  Have pr_insert_fs() set errno on
        error, for reporting purposes.

2003-10-21  castaglia <castaglia>

        * utils/utils.h: It helps to make sure that the utils (ftpcount,
        ftpwho, ftptop) expect that the scoreboard entry has the same format
        as the core code (cf. size of the sce_client_addr field).

2003-10-20  castaglia <castaglia>

        * include/scoreboard.h: Forgot to increase the size of the IP
        address buffer in the scoreboard if --enable-ipv6 is used.

2003-10-20  castaglia <castaglia>

        * modules/mod_log.c: More paranoid checking of snprintf() usage.

2003-10-20  castaglia <castaglia>

        * contrib/mod_radius.c, contrib/mod_sql.c, contrib/mod_tls.c: Minor
        paranoia changes: make certain the buffer is NUL-terminated before
        calling strlen() on its contents.

2003-10-20  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Check for excessive length of symlink
        directory listing entries, when ShowSymlinks is on.  This also
        requires that the platform _not_ provide MAXPATHLEN.  Added some
        style/spacing changes as well.

2003-10-19  jwm <jwm>

        * NEWS, contrib/dist/rpm/proftpd.spec: Bug 2197 - The RPM .spec has
        been updated for easy RPM builds from CVS snapshots.

2003-10-19  jwm <jwm>

        * contrib/dist/rpm/proftpd.spec: rpm doesn't like empty
        BuildPreReqs, add a static dep on pam-devel

2003-10-18  castaglia <castaglia>

        * src/fsio.c: Fixing a memory leak in the handling of structures
        used for tracking open directories.

2003-10-18  castaglia <castaglia>

        * src/dirtree.c: Fixing a rather major memory pool leak.  A
        temporary pool was being allocated in dir_hide_file() (which is
        called rather often), but in the case where no HideFiles directive
        was configured (very common), that pool was not being destroyed.
        Oops.

2003-10-17  castaglia <castaglia>

        * NEWS, include/netaddr.h, modules/mod_core.c, modules/mod_log.c,
        src/netaddr.c: Bug#2204 - More reverse DNS resolutions problems.  A
        previous fix for systems that use gethostbyname2() (e.g. the BSDs,
        some Linux distributions) was not properly checking the return value
        from pr_netaddr_is_v4mapped(), and thus IPv4 addresses were not
        being resolved to their names.  Bug#2242 - Parsing during rehashing was failing with an EPERM.  The
        problem was that configuration directive handlers (specifically,
        SyslogFacility and SystemLog) were using PRIVS_RELINQUISH, which
        caused later Includes to fail.  Configuration handlers should not
        use the PRIVS macros.

2003-10-17  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2181: fixing this bug (again) to
        work correctly in all cases.

2003-10-17  castaglia <castaglia>

        * include/fsio.h, include/inet.h, include/netio.h, src/fsio.c,
        src/inet.c, src/main.c, src/netio.c: Removing the pr_ prefix from
        some API initialization functions; they are not really appropriate
        for module use.

2003-10-16  castaglia <castaglia>

        * include/version.h: Updating the version for CVS status.

2003-10-15  castaglia <castaglia>

        * ChangeLog: Updating ChangeLog.

2003-10-15  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
        for release of 1.2.9rc3.

2003-10-15  jwm <jwm>

        * contrib/dist/rpm/proftpd.spec: only include xinetd support in the
        -xinetd RPM

2003-10-14  castaglia <castaglia>

        * src/netaddr.c: Fixed pr_netaddr_get_dnsstr() to use the right
        family value when calling gethostbyname2().

2003-10-14  castaglia <castaglia>

        * src/main.c: The free_proc_title() function is currently only used
        when --enable-devel has been configured.

2003-10-14  jwm <jwm>

        * contrib/dist/rpm/proftpd.spec: we're "The ProFTPD Project"

2003-10-13  castaglia <castaglia>

        * configure: Updating configure.

2003-10-13  castaglia <castaglia>

        * configure.in, include/libsupp.h, lib/glibc-hstrerror.c: Adding
        bundled glibc implementation of hsterror(), for those systems that
        don't have it already.

2003-10-13  castaglia <castaglia>

        * configure: Updating configure.

2003-10-13  castaglia <castaglia>

        * config.h.in, configure.in: Not all systems have the hsterror()
        function, for converting resolver error codes (h_errno) to strings.
        Thus, we need to check for it, and provide a bundled replacement if
        it is not present.  I'll be adding the glibc implementation of
        hstrerror() soon.

2003-10-13  castaglia <castaglia>

        * src/netaddr.c: This get_v4inaddr() function is only called from
        one place (at present), and all the necessary sanity checks have
        already been performed, so there is no need to do them again.

2003-10-11  castaglia <castaglia>

        * src/netaddr.c: Typo.

2003-10-11  castaglia <castaglia>

        * src/netaddr.c: The retrieval of the IPv4 portion of an IPv4-mapped
        IPv6 address is only necessary when gethostbyname2() is being used,
        rather than gethostbyname() (I think...this may need to change in
        the future).

2003-10-11  castaglia <castaglia>

        * src/netaddr.c: When performing reverse DNS lookups on IPv4-mapped
        IPv6 addresses, we need to be a little more careful about which
        checks are performed.  This change alters the call to
        gethostbyname2() (when it is present) to be AF_INET if the netaddr
        is an IPv4-mapped IPv6 address, rather than using AF_INET6 as was
        done previously.  The subsequent memcmps need to be adjusted
        accordingly.  This should hopefully resolve Bug#2204.

2003-10-11  castaglia <castaglia>

        * src/netaddr.c: The BSDs are not the only systems that might
        provide gethostbyname2().  It seems that some Linux kernels have
        been patched to have that function as well.

2003-10-11  castaglia <castaglia>

        * include/netaddr.h, modules/mod_core.c, src/netaddr.c: Since
        pr_netaddr_v4mappedv6() returns TRUE or FALSE (or -1 on error), I've
        renamed it to be pr_netaddr_is_v4mappedv6().

2003-10-10  castaglia <castaglia>

        * src/main.c: Report the cause of error if configuration parsing
        fails.

2003-10-10  castaglia <castaglia>

        * modules/mod_core.c: If processing an Included file fails, log the
        reason.

2003-10-10  castaglia <castaglia>

        * src/netaddr.c: Adding note about a use of gethostbyname() that may
        need to be gethostbyname2() in the future.

2003-10-10  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2222 - Overlapping vhosts should
        warn instead of die.

2003-10-10  castaglia <castaglia>

        * src/dirtree.c: No need to keep the server_recs of vhosts that
        cannot be resolved.

2003-10-10  castaglia <castaglia>

        * include/netaddr.h, src/dirtree.c, src/netaddr.c: Removing the
        pr_netaddr_get_fqdn() function.  It was only being used in one
        place: to set the main_server->ServerFQDN member.  ServerFQDN is
        used in the logging prefix, and for vhosts, was usually the IP
        address.  With this change, the log prefix for entries generated by
        vhosts will be their DNS names (if possible).  It also removes a
        call to gethostbyname() which on *BSDs might not have performed as
        expected for IPv6 strings.

2003-10-10  castaglia <castaglia>

        * src/netaddr.c: Make the logging of badly configured DNS name/IP
        address mappings a little less noisy.

2003-10-09  castaglia <castaglia>

        * configure: Updating configure.

2003-10-09  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, src/netaddr.c: Bug#2204 - Reverse
        DNS lookups not happening properly on connected clients on FreeBSD.
        We need to use gethostbyname2() on FreeBSD (and possibly the other
        BSDs).

2003-10-09  castaglia <castaglia>

        * NEWS, configure.in, src/netaddr.c: Bug#2188 - Wildcard sockets not
        properly handled on FreeBSD.  Need to set sin_len/sin6_len struct
        sockaddr members, if present, for wildcard sockets.

2003-10-08  castaglia <castaglia>

        * NEWS, src/log.c: Bug#2202 - AllowLogSymlinks check is flawed.

2003-10-08  castaglia <castaglia>

        * modules/mod_core.c: Style cleanup (whitespace).

2003-10-08  castaglia <castaglia>

        * src/inet.c: Adding note to pr_inet_set_proto_opts() about
        setsockopt() problems on IPv6 sockets.

2003-10-08  castaglia <castaglia>

        * configure: Updating configure.

2003-10-08  castaglia <castaglia>

        * configure.in: autoconf on FreeBSD was not properly reporting the
        headers it detected (or didn't): specifically, <netinet/in_systm.h>
        and <netinet/ip.h> were not being reported as found and useable in
        config.h.  The fix is to include a few more header dependencies in
        autoconf, so that autoconf's tests pass and the headers are properly
        reported as found.

2003-10-06  castaglia <castaglia>

        * contrib/mod_tls.c: Be a little more careful in tls_blinding_on():
        it's possible that SSL_get_privatekey() returns NULL, which I didn't
        check for.  This, I think, is causing segfaults on some systems
        (depending on the certificates used).

2003-10-06  castaglia <castaglia>

        * include/netaddr.h, src/data.c, src/main.c, src/netaddr.c: Change
        pr_netaddr_reverse_dns() to be pr_netaddr_set_reverse_dns(), so that
        it has a verb in the function name (style nit, I know).  Also
        includes some capitalization and spacing cleanup in data.c.

2003-10-06  castaglia <castaglia>

        * NEWS: Updating NEWS so that people can see that Bug#2183 (and all
        its friends) has been fixed.

2003-10-03  castaglia <castaglia>

        * Makefile.in: Remove the generated 'stamp-h' file as well for the
        distclean target.

2003-10-01  castaglia <castaglia>

        * NEWS, contrib/mod_sql_mysql.c: Bug#2191 - Segfault in
        mod_sql_mysql when using 'Backend' SQLAuthType.  This only happens
        for MySQL 4.1.  The MySQL make_scrambled_password() function changed
        in 4.1, and the wrong variable value was being used.

2003-10-01  castaglia <castaglia>

        * configure: Updating configure.

2003-10-01  castaglia <castaglia>

        * config.h.in, configure.in: Style cleanup in config.h.  Add check
        for <sys/mman.h> header file (will be needed if/when something wants
        to use the mmap(2) system call).

2003-10-01  castaglia <castaglia>

        * src/main.c: Style cleanup, comment correction.  Also removed a
        double signal(SIGIO) call; first one set a handler for the signal,
        the second one caused the signal to be ignored.  Weird.

2003-10-01  castaglia <castaglia>

        * src/main.c: Style cleanup.  Add a comment about needing PRIVS (or
        not) when disconnecting sessions.

2003-09-29  castaglia <castaglia>

        * src/bindings.c: Fixed thinko highlighted by Bug#2188.

2003-09-29  castaglia <castaglia>

        * include/bindings.h, src/bindings.c, src/main.c: The
        init_bindings() and free_bindings() functions are not suitable for
        use in modules, and so should not be in the pr_ namespace.

2003-09-28  castaglia <castaglia>

        * modules/mod_auth_unix.c: It's possible for UID/GID lookups to
        occur outside of a session.  When this happens, session.pool is not
        valid.  Check for and handle this situation.  (This was causing
        segfaults when I attempt to use mod_ctrls.)

2003-09-28  castaglia <castaglia>

        * include/regexp.h, src/main.c, src/regexp.c: The regexp init
        function shouldn't be in the pr_ namespace, as it is not suitable
        for use in module code.

2003-09-28  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_auth_unix.c: Style cleanup.

2003-09-28  castaglia <castaglia>

        * src/dirtree.c: One of the changes I made to quell a valgrind
        warning (something about reading possibly uninitialized memory,
        probably due to a zero-length path variable in this case) had
        disastrous side effects on directive lookups.  This highlights that
        the build_dyn_config() function needs comments and/or to be
        rewritten entirely.  Also includes some style cleanup.

2003-09-27  castaglia <castaglia>

        * configure: Updating configure.

2003-09-27  castaglia <castaglia>

        * configure.in, src/main.c: Some of the pedantic memory cleanups
        added in 1.2.9rc2, after some time spent under valgrind, turn out to
        affect performance, when a session exits, particularly on busy
        machines.  So I've made these checks enabled only when proftpd is
        compiled using the --enable-devel flag.

2003-09-27  castaglia <castaglia>

        * NEWS, src/bindings.c: Bug#2024 - DefaultServer not functioning
        properly.  The addition of the Bindings API in 1.2.8rc1 broke the
        DefaultServer directive in many configurations.  For inetd-run
        proftpds, all configured <VirtualHost> servers were being treated
        like they had "DefaultServer on", which meant that the last such
        configured server would be used, instead of the true DefaultServer.
        For both inetd- and standalone-run proftpds, if no exactly matching
        vhost was found for a client, the localhost server (i.e. the "server
        config" vhost) would be used before the DefaultServer vhost.  Both
        problems are fixed by this change.

2003-09-27  castaglia <castaglia>

        * NEWS, src/data.c: Bug#2200 - Correct segfaults with
        xlate_ascii_write() on IRIX.  Some of the last of the remaining code
        (whose I understood only partially, such as the session.xfer.buf++
        increment) is now removed, as well as a potentially dangerous
        NUL-termination statement.

2003-09-26  jwm <jwm>

        * contrib/dist/rpm/proftpd.spec: Bug 2197 - Spec file enhancements
        and fixes Submitted by: pb@bieringer.de (Dr. Peter Bieringer)

2003-09-26  castaglia <castaglia>

        * modules/mod_core.c: Correcting a misleading/outdated comment.

2003-09-23  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2181 - Active IPv4 ftp doesn't work
        when using --enable-ipv6.  The fix was to build up an IPv6 netaddr
        from the PORT argument, rather than an IPv4 netaddr, in the case of
        --enable-ipv6.

2003-09-23  castaglia <castaglia>

        * NEWS: Mention fixing of ASCII handling exploit.

2003-09-23  castaglia <castaglia>

        * src/data.c: Fixing remote exploit in ASCII handling, discovered by
        X-Force at ISS:   http://xforce.iss.net/xforce/alerts/id/154

2003-09-23  jwm <jwm>

        * contrib/dist/rpm/proftpd.spec: * Tue Sep 23 2003 Daniel Roesen <dr@proftpd.org> - Added "--with ipv6" to enable IPv6 support while building the RPM

2003-09-22  castaglia <castaglia>

        * README.IPv6: Daniel has confirmed that IPv6 and FTP over SSL/TLS
        works just fine, for both active and passive transfers.

2003-09-19  castaglia <castaglia>

        * NEWS, include/privs.h: Bug#2179 - ROOT_UID instead of ROOT_GID
        used in setegid() call.  This affects Cygwin installations.

2003-09-18  castaglia <castaglia>

        * src/netaddr.c: Using EPERM makes more sense, I think, than EACCES
        in most of the pr_netaddr* cases.

2003-09-18  castaglia <castaglia>

        * NEWS, src/netaddr.c: Bug#2176 - getnameinfo() error on Cygwin
        during startup.  The sa_family member of some addresses was not
        being properly initialized in some instances.

2003-09-14  castaglia <castaglia>

        * src/scoreboard.c: Actually check for error return values when
        locking the scoreboard.  A recently reported issue with the
        scoreboard on Solaris, under high load, may be related to this:
        fcntl() on Solaris is known to return ENOLCK under high load, if the
        requested lock hits the system lock limit.  By checking for the
        return values, proftpd can at least log if this ENOLCK is indeed the
        case.

2003-09-13  castaglia <castaglia>

        * configure: Updating configure.

2003-09-13  castaglia <castaglia>

        * NEWS, README.IPv6, config.h.in, configure.in, src/netaddr.c: 
        Bug#2167 - getnameinfo() on FreeBSD doesn't support IP address
        lookups.  FreeBSD's struct sockaddr_in and struct sockaddr_in6 have the
        sin_len and sin6_len members.  The code in pr_netaddr_get_addr() was
        not properly initializing these members, and so when those structs
        were given to getnameinfo(), getnameinfo() didn't handle them well.
        Solaris and Linux don't have these _len members, so the problem
        didn't crop up there.  IPv6 systems whose structs have these _len members are supposed to
        define the SIN6_LEN symbol, by RFC design.  However, it's possible
        that a system not support IPv6 and yet have the sin_len member and
        the getnameinfo() function.  So rather than just rely on SIN6_LEN
        being present, I added an autoconf check for the sin_len member, and
        an IPv4 SIN_LEN symbol.

2003-09-12  castaglia <castaglia>

        * README: Just some pointers/notes about user questions.

2003-09-12  castaglia <castaglia>

        * README.IPv6: Seems that perhaps FreeBSD's getnameinfo(3) doesn't
        like IP addresses, but it does handle DNS names correctly.
        Interesting.

2003-09-11  castaglia <castaglia>

        * configure: Updating configure.

2003-09-11  castaglia <castaglia>

        * configure.in: Add another --enable-devel option: 'profile'.  When
        this option is used, compiler and linker flags for generating
        profile output (as for gprof(1)) are generated.  For this to work
        properly, one also needs to use the 'nodaemon' and 'nofork' options
        as well, e.g.:   ./configure --enable-devel=nodaemon:nofork:profile ...

2003-09-11  castaglia <castaglia>

        * include/version.h: Updating version for CVS snapshots.

2003-09-11  castaglia <castaglia>

        * ChangeLog: Updating ChangeLog.

2003-09-11  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Let's get
        this rc2 show on the road.

2003-09-11  castaglia <castaglia>

        * include/conf.h: Add note about possibly using sockaddr_storage in
        the future.

2003-09-10  castaglia <castaglia>

        * src/main.c: Fixing PR_DEVEL_NO_DAEMON.

2003-09-09  castaglia <castaglia>

        * src/log.c: Log the client's IP address in the brackets, not the
        DNS name.

2003-09-09  castaglia <castaglia>

        * src/netaddr.c: When doing reverse DNS lookups, actually use the
        looked up name.  Oops.

2003-09-09  castaglia <castaglia>

        * utils/ftpshut.c: Fix grammar in comment.

2003-09-09  castaglia <castaglia>

        * NEWS: ftpshut's option -R (for remove), not -D (for delete).

2003-09-09  castaglia <castaglia>

        * NEWS, src/netio.c: Bug#2122 - EAGAIN on Solaris can cause an
        infinite loop.

2003-09-09  castaglia <castaglia>

        * include/netaddr.h, modules/mod_core.c, src/inet.c, src/netaddr.c: 
        Rename pr_netaddr_initialize() to be pr_netaddr_clear(), as that is
        what is really happening.

2003-09-09  castaglia <castaglia>

        * src/inet.c: Remove duplicate comment.

2003-09-09  castaglia <castaglia>

        * src/inet.c: Use the netaddr allocator where appropriate.

2003-09-09  castaglia <castaglia>

        * src/dirtree.c: Remove cruft.  The multiple addresses for a server
        are handled elsewhere.

2003-09-09  castaglia <castaglia>

        * include/netaddr.h, src/netaddr.c: Provide a netaddr allocator.

2003-09-09  castaglia <castaglia>

        * include/netaddr.h, modules/mod_core.c, src/inet.c, src/netaddr.c: 
        Forgot to properly initialize pr_netaddr_t structs declared on the
        stack.  Provide a wrapper function for this, in case any of the
        default settings for a pr_netaddr_t need to change (in which case,
        providing an allocator as well, for pr_netaddr_t * declarations,
        will be necessary).  Also fixed some tabs that crept into inet.c.

2003-09-08  castaglia <castaglia>

        * configure: Updating configure.

2003-09-08  castaglia <castaglia>

        * include/inet.h, modules/mod_core.c, src/inet.c, src/netaddr.c: 
        Bug#2162 - Move pr_inet_ntop definition to include/inet.h.  Code
        cleanup.

2003-09-08  castaglia <castaglia>

        * configure.in: Clean up configure.in a little, and just use
        LIB_OBJS (rather than both pr_lib_objs and LIB_OBJS).

2003-09-08  castaglia <castaglia>

        * configure: Updating configure.

2003-09-08  castaglia <castaglia>

        * NEWS, configure.in: Bug#2161 - Duplicate autoconf check for sia.h.

2003-09-08  castaglia <castaglia>

        * src/main.c: Add a function to free up the memory allocated when
        moving the environment "out of the way" for use by setproctitle() et
        al; valgrind was complaining about this lost memory.  Also free up
        the permanent pool, and the free block list, when the daemon shuts
        down.

2003-09-08  castaglia <castaglia>

        * modules/mod_auth_unix.c: Changing permanent_pool to session.pool
        where appropriate.  Also add a session exit callback that will call
        endpwent()/endgrent(), freeing up any memory that may have been
        allocated via setpwent()/setgrent().  Symmetry is a Good Thing.

2003-09-08  castaglia <castaglia>

        * modules/mod_auth_pam.c: Removed an unnecessary check for a NULL
        pointer that will be given to free(3): the POSIX standard says that
        free() can handle a NULL pointer without choking.  Also, since
        mod_auth_pam handles the password, when the buffer which holds the
        password is freed, it should be scrubbed, rather than just using
        memset().

2003-09-08  castaglia <castaglia>

        * src/main.c: Removing cruft, updating calls to subsystem
        initializers.

2003-09-08  castaglia <castaglia>

        * include/dirtree.h, src/dirtree.c: Cleanup.  Fixed some timing and
        usages of sub pools, particularly in get_dir_ctxt().  Changed
        permanent_pool to be session.pool where appropriate.  Changed
        !strcmp() to be strcmp() == 0, and added some checks for paths of
        zero length (spotted by valgrind).

2003-09-08  castaglia <castaglia>

        * src/auth.c: Removing cruft.  Also added some comments on the
        difference between the static make_cmd() function in this file, and
        the public pr_cmd_alloc() function.

2003-09-08  castaglia <castaglia>

        * src/fsio.c: Style cleanup, mostly.  Using strcmp() == 0 rather
        than !strcmp() is a little clearer to most people.  Also fixed a bug
        where a pool was not being destroyed at the proper time.

2003-09-08  castaglia <castaglia>

        * src/data.c: Use memcpy() rather than memmove(), as memcpy() is a
        little more efficient (it doesn't have to check the overlapping
        buffers).  Also, allocate one space for one more character, to
        account for the possibility of a LF as the first character in the
        buffer being adjusted (it would then need to be prefaced by a CR).

2003-09-08  castaglia <castaglia>

        * modules/mod_auth_file.c, modules/mod_core.c, modules/mod_log.c: 
        Changed uses of permanent_pool to session.pool, as is more
        appropriate in most module code.

2003-09-08  castaglia <castaglia>

        * modules/mod_auth.c: Changed some uses of permanent_pool here to be
        session.pool, as is more appropriate in most module code.

2003-09-08  castaglia <castaglia>

        * include/modules.h, src/modules.c: Removing cruft.  The
        call_module_auth() and call_module_cmd() functions were duplicates
        of call_module(), so there is no need to keep them around.  Also
        fixed some of the pools being used when adding symbols to the stash.
        Fixed a bug where the stash pool was not being properly allocated
        from permanent_pool (valgrind found this).

2003-09-08  castaglia <castaglia>

        * include/pool.h, src/pool.c: Cleaning up the pool interface.  The
        pr_ prefix for initializing the pool code, as many of the subsystem
        initializers are not meant to be called by module code; the pr_
        suffix is meant to denote the API for use by module authors.  Also
        fixed a possible alarm-blocking bug in destroy_pool().

2003-09-08  castaglia <castaglia>

        * include/inet.h, src/inet.c: Removing cruft.  The iplist/niplist
        members of the conn_t struct were not being used anymore.  Also
        removed some unnecessary complexities (a macro, a cleanup handler).

2003-09-08  castaglia <castaglia>

        * contrib/mod_ratio.c: Removing some cruft from the source code,
        which involves removing mod_ratio's use of one of the crufty
        functions.

2003-09-07  castaglia <castaglia>

        * modules/mod_cap.c: A weekend with valgrind proved very
        enlightening.  This patch corrects several small leaks that were
        occurring when handling POSIX capabilities.

2003-09-07  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#2154 - SQL query loses shell
        information.

2003-09-06  castaglia <castaglia>

        * modules/mod_ls.c: Another leak fixed.  In this case, listdir() was
        (inappropriately) setting pointers in the array--allocated and
        returned by sreaddir()--to NULL.  Those pointers were allocated
        using calloc() in sreaddir(), which meant that later, when listdir()
        went to free the memory, it couldn't -- the address was lost.  All
        better now.

2003-09-06  castaglia <castaglia>

        * src/data.c: Fixing subtle off-by-one bug (thank you valgrind!).

2003-09-05  castaglia <castaglia>

        * src/pool.c: Rename xmalloc, xcalloc, and xrealloc to be smalloc,
        scalloc, and srealloc ("s" for "safe", just like sstrncpy and
        sstrcat).  This moves these functions out of the way of dmalloc's
        symbols (and doesn't hurt proftpd at all).

2003-09-05  castaglia <castaglia>

        * include/conf.h: Add conditional include for <dmalloc.h>, for use
        when using dmalloc to track memory usage.

2003-09-05  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#2153 - Small error in handling
        PR_AUTH_RFC2228 authentication code.

2003-09-03  castaglia <castaglia>

        * configure: Updating configure.

2003-09-03  castaglia <castaglia>

        * NEWS, configure.in: Bug#2007 - autoconf header detection problem.

2003-08-30  castaglia <castaglia>

        * configure: Updating configure.

2003-08-30  castaglia <castaglia>

        * configure.in, include/libsupp.h, lib/glibc-gai_strerror.c,
        src/netaddr.c: Partial fix for issues mentioned in Bug#2143:
        bundling gai_strerror(3) implementation (from glibc) in libsupp.a,
        to be used if the system does not provide a gai_strerror(3) function
        itself.

2003-08-29  castaglia <castaglia>

        * include/bindings.h, include/dirtree.h, src/bindings.c: Add
        comments about the duplicate
        ipbind->ib_server->listen/ipbind->ib_listener pointers.  Also,
        correct the patch for Bug#2146 so that ib_server->listen is still
        handled properly (as it prior to the patch) in the Bindings API.

2003-08-29  castaglia <castaglia>

        * NEWS, include/bindings.h, src/bindings.c: Bug#2146 - DNS names not
        handled properly when --enable-ipv6 is used.  As mentioned in the
        report, this was caused by a design assumption revealed by the
        addition of IPv6 support: that of a one-to-one association between a
        server_rec and its listening connection.  For DNS names resolving to
        A and AAAA records, there can be two listening connections for a
        given server_rec.  The fix occurs in the Bindings API, where a
        server_rec's listeners are now associated with the bindings for the
        server_rec, rather than with the server_rec itself.  Multiple
        bindings can point to the same server_rec.

2003-08-29  castaglia <castaglia>

        * src/netaddr.c: Using uninitialized memory can be bad.

2003-08-29  castaglia <castaglia>

        * src/inet.c: Only one type of IPv4 service at time: either
        IPTOS_LOWDELAY or IPTOS_THROUGHPUT but not both.  Some discussion on IPng mailing list archives mention that using
        IP_TOS may be a problem on IPv6 connections...

2003-08-28  castaglia <castaglia>

        * README.ports: Adding FreeBSD 4.9-PRERELEASE to the list.
        Apparently the source works out-of-the-box.

2003-08-28  jwm <jwm>

        * NEWS: - Bug 2108 - IgnoreHidden should not hide dotfiles   Dotfiles are now displayed when the -a argument is supplied, even
          when the IgnoreHidden directive is enabled. To replicate the old
          behavior of hiding dotfiles no matter what, use either of the
            following directives: ListOptions "" strict     HideFiles ^\..*

2003-08-28  jwm <jwm>

        * modules/mod_ls.c: Bug 2108 - IgnoreHidden should not hide dotfiles

2003-08-28  jwm <jwm>

        * NEWS: - Bug 1804 - RPM spec file improvements   The spec file now has xinetd support, builds under newer version
          of RPM, installs standalone support with the main proftpd RPM, and
          accepts --with mod_modname arguments during the build process.  - Bug 2127 - Entry in the file section   The RPM spec's %files section now honors the install prefix.

2003-08-28  jwm <jwm>

        * contrib/dist/rpm/proftpd.spec: Bug 2127 - Entry in the file
        section

2003-08-28  jwm <jwm>

        * contrib/dist/rpm/xinetd: add xinetd configuration to go with new
        .spec

2003-08-28  jwm <jwm>

        * contrib/dist/rpm/proftpd.spec: - don't reset servertype on upgrade - don't explicitly install docs - %doc should include them submitted by: Ivan F. Martinez <ivanfm@os2brasil.com.br> Peter
        Bieringer <pb@bieringer.de>

2003-08-22  castaglia <castaglia>

        * README.ports: Adding NetBSD 1.6.1 to the list.

2003-08-20  castaglia <castaglia>

        * README.IPv6: Add note about FreeBSD 4.8 and getnameinfo(3).

2003-08-18  castaglia <castaglia>

        * NEWS, src/dirtree.c: Bug#2141 - Glob Allow/Deny parameters cause
        extraneous log messages when comparing addresses.

2003-08-16  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#2148 - Enforce PR_TUNABLE_LOGIN_MAX.

2003-08-16  castaglia <castaglia>

        * sample-configurations/mod_sql.conf: Add comment in mod_sql sample
        config about SQLAuthTypes being required.

2003-08-16  castaglia <castaglia>

        * contrib/mod_sql.c: Add log messages to session init if no
        SQLAuthTypes configured.

2003-08-16  castaglia <castaglia>

        * contrib/mod_sql.c: Using mod_sql for authentication, but not
        configuring a SQLAuthTypes directive, would result in a segfault in
        the session process.  This patch catches the segfault, and adds a
        log message concerning the problem.

2003-08-15  castaglia <castaglia>

        * NEWS, contrib/mod_ifsession.c: Fixed mod_ifsession's handling of
        multiple configuration sets.  The problem was that mod_ifsession,
        after merging in the configuration from a config_rec, would call
        xaset_remove() and remove that config_rec from the main server's
        configuration sets.  This had the side effect of making other
        config_recs in the set, in the set after the removed config_rec, no
        longer visible by the iterating function.  As in Perl: don't change
        the items in a list while iterating over it.  Instead, queue up the
        changes you want to make while iterating, wait until finished
        iterating, and then change the list.

2003-08-14  castaglia <castaglia>

        * include/netaddr.h, src/netaddr.c: Rather than using typecasts to
        silence the compiler warnings about loss of the 'const' modifier in
        pr_netaddr_fnmatch(), simply remove the 'const' from the function
        signature.

2003-08-14  castaglia <castaglia>

        * NEWS, src/data.c: Bug#2147 - Segmentation fault processing file in
        ASCII mode.

2003-08-13  castaglia <castaglia>

        * src/netaddr.c: Silence some compiler warnings.

2003-08-13  castaglia <castaglia>

        * configure: Updating configure script.

2003-08-13  castaglia <castaglia>

        * NEWS, configure.in: Bug#2144 - Rework autoconf handling of
        --enable-sia option.

2003-08-13  castaglia <castaglia>

        * configure: Updating configure script.

2003-08-13  castaglia <castaglia>

        * config.h.in, configure.in: Check for gai_strerror(3).  We'll also
        need to provide an implementation if gai_strerror() is not present.

2003-08-13  castaglia <castaglia>

        * configure: Updating configure script.

2003-08-13  castaglia <castaglia>

        * NEWS, configure.in, include/libsupp.h, include/support.h,
        lib/sstrncpy.c, src/support.c: Bug#2142 - sstrncpy() not available
        to lib/vsnprintf.c.

2003-08-13  castaglia <castaglia>

        * src/inet.c: It seems the 'sa_family' symbol is a macro on IRIX.

2003-08-12  castaglia <castaglia>

        * include/conf.h, include/inet.h: Move the conditional definitions
        of INET(6)_ADDRSTRLEN to conf.h, so that the definition of
        pr_netaddr_t can use them.  Sigh.

2003-08-12  castaglia <castaglia>

        * include/conf.h: Can't use INET6_ADDRSTRLEN until include/inet.h is
        included, but the pr_netaddr_t needs to be typedef'd before then.
        So we do it manually.

2003-08-11  castaglia <castaglia>

        * contrib/mod_sql.c: Removing use of get_param_int() from mod_sql.

2003-08-11  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#2137 - NLST and IgnoreHidden causes
        segfault.

2003-08-11  castaglia <castaglia>

        * src/main.c: Oops.  Calling of the postparse callbacks should
        happen after all the servers have been fixed up, in order to make
        sure that the modules see the "correct" server configuration data.

2003-08-11  castaglia <castaglia>

        * src/main.c: Postparse callbacks should be called after the
        configuration has been parsed during a rehash, too.  Modules that
        wish to have postparse callbacks invoked during a rehash will need
        to have rehash handlers that register the postparse callback.

2003-08-09  castaglia <castaglia>

        * modules/mod_auth.c: Previous changes to auth_scan_scoreboard()
        removed some checks that really needed to be there, to prevent
        segfaults when using configurations that did not use Classes.

2003-08-09  castaglia <castaglia>

        * src/inet.c: Fixed function signature to match declared prototype.
        Fixed variable name.

2003-08-09  castaglia <castaglia>

        * contrib/mod_ifsession.c, include/dirtree.h, modules/mod_auth.c,
        src/dirtree.c: Spelling correction.

2003-08-09  castaglia <castaglia>

        * src/bindings.c: Removed debugging cruft.

2003-08-09  castaglia <castaglia>

        * include/proftpd.h, src/netaddr.c: Comment clarification, style
        fixups, fixing compiler warnings.

2003-08-08  castaglia <castaglia>

        * modules/mod_auth_file.c: Fixed position of use of pr_signals()
        handle, so as not to occur before variable declaration in the case
        where HAVE_FGETPWENT is false/undef.

2003-08-08  castaglia <castaglia>

        * NEWS: Fixed wrong bug report number.

2003-08-08  castaglia <castaglia>

        * include/netaddr.h: Complete the description of
        pr_netaddr_fnmatch().

2003-08-07  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#2130 - %y in DisplayLogin is not
        updated correctly.  The problem was that the auth_scan_scoreboard()
        function, which scanned the scoreboard and tallied up the variables
        used when filling in %y/%N, was only being called if the
        DisplayConnect directive was used.  Instead, auth_scan_scoreboard()
        should always be called, to handle any of the Display* directives.

2003-08-07  castaglia <castaglia>

        * src/netaddr.c: Added implementation of pr_netaddr_fnmatch().

2003-08-07  castaglia <castaglia>

        * include/netaddr.h, src/netaddr.c: Added implementation (untested)
        of pr_netaddr_ncmp().  Changed the pr_netaddr*() routines to return
          EACCES if for some reason the netaddrs on which they operate do not
          have a recognizable family (AF_INET or AF_INET6).

2003-08-07  castaglia <castaglia>

        * include/netaddr.h, src/bindings.c, src/netaddr.c: Added a
        pr_netaddr_get_inaddr_len(), to provide sizes of struct in{6}_addr,
        matching the pr_netaddr_get_sockaddr_len() function.  Added a stub for pr_netaddr_fnmatch(), to be implemented soon.

2003-08-07  castaglia <castaglia>

        * include/netaddr.h, src/inet.c, src/netaddr.c: Changed
        pr_netaddr_get_addrlen() to pr_netaddr_get_sockaddr_len(), to more
        clearly reflect the length returned.  Added stub for pr_netaddr_ncmp(), to be implemented shortly.

2003-08-07  castaglia <castaglia>

        * README.IPv6: Clarifying that IPv6 sockets handling IPv4 packets
        only occurs when it is an wildcard IPv6 socket.

2003-08-07  castaglia <castaglia>

        * NEWS: Mention the --enable-ipv6 configure option.

2003-08-07  castaglia <castaglia>

        * include/netaddr.h: Adding descriptions of the netaddr API
        functions.

2003-08-06  castaglia <castaglia>

        * include/inet.h: Add some comments about the handling of
        get{addr,name}info symbols.  I'm not quite sure I have all the
        preprocessor logic for these symbols done correctly yet.

2003-08-06  castaglia <castaglia>

        * src/netaddr.c: Typos.

2003-08-06  castaglia <castaglia>

        * configure: Updating configure.

2003-08-06  castaglia <castaglia>

        * ChangeLog, Make.rules.in, NEWS, README.IPv6, config.h.in,
        configure.in, contrib/mod_ifsession.c, contrib/mod_radius.c,
        contrib/mod_ratio.c, contrib/mod_rewrite.c, contrib/mod_sql.c,
        contrib/mod_tls.c, include/bindings.h, include/conf.h,
        include/dirtree.h, include/ftp.h, include/inet.h, include/log.h,
        include/netaddr.h, include/proftpd.h, modules/mod_auth.c,
        modules/mod_core.c, modules/mod_log.c, src/bindings.c, src/data.c,
        src/dirtree.c, src/ident.c, src/inet.c, src/log.c, src/main.c,
        src/netaddr.c, src/scoreboard.c, utils/misc.c: Bug#1711 - IPv6
        support.  Let the IPv6 fun begin.

2003-08-06  castaglia <castaglia>

        * modules/mod_auth_file.c: Fix code in case where fgetgrent(3) is
        not present on the system.

2003-08-02  castaglia <castaglia>

        * contrib/mod_sql_mysql.c: MySQL-4.1.0 changed the signature for the
        make_scrambled_password() function, so we handle it by checking the
        MySQL version.  This commit also includes some style changes.

2003-08-01  castaglia <castaglia>

        * modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c,
        src/data.c, src/dirtree.c, src/main.c, src/pool.c, src/support.c: 
        Style.

2003-08-01  castaglia <castaglia>

        * contrib/mod_radius.c, contrib/mod_rewrite.c, modules/mod_auth.c,
        modules/mod_auth_file.c, src/netio.c: Adding signal handling in
        while() loops.

2003-07-30  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#2118 - %F doesn't work for DELE
        command; %f is inconsistent.  This is exactly the reason why we
        really need a unified cookie/variable handling interface.  Too much
        code duplicated around in modules leads to out-of-sync code bugs
        like this.

2003-07-30  castaglia <castaglia>

        * contrib/mod_tls.c: Removing unused code.

2003-07-30  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Close files that have been fopen()'d
        always, not just when conditions mean that no errors are
        encountered.

2003-07-29  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2119 - FEAT response format does not
        conform to RFC2389.

2003-07-29  castaglia <castaglia>

        * doc/rfc/rfc2228.txt, doc/rfc/rfc2389.txt, doc/rfc/rfc2428.txt: 
        Style.

2003-07-28  castaglia <castaglia>

        * NEWS: Mention fix of mod_tls directives.

2003-07-28  castaglia <castaglia>

        * contrib/mod_tls.c: TLSCACertificateFile and TLSCACertificatePath
        are documented to be allowed in all server contexts, not just
        "server config"; the code was wrong.

2003-07-25  castaglia <castaglia>

        * sample-configurations/anonymous.conf,
        sample-configurations/complex-virtual.conf,
        sample-configurations/mod_sql.conf,
        sample-configurations/virtual.conf: Style.

2003-07-25  jwm <jwm>

        * include/pr-syslog.h: silence warning

2003-07-24  castaglia <castaglia>

        * Makefile.in, NEWS: Bug#2115 - ftptop depends on snprintf but
        doesn't link in lib/libsupp.a

2003-07-24  castaglia <castaglia>

        * doc/rfc/rfc2428.txt: IPv6 support _is_ going to be added Real Soon
        Now(tm), so we might as well as the relevant RFC.

2003-07-21  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#2113 - mod_sql default uses mysql
        keyword.

2003-07-18  castaglia <castaglia>

        * include/proftpd.h, src/main.c: Add two new members to the session
        struct: curr_cmd and curr_phase.  These are for storing pointers to
        the current FTP command name and current command handler phase,
        respectively.  They are useful for places like the FSIO API, where
        callbacks may want to take conditional action depending on the FTP
        command/phase at the time.

2003-07-16  castaglia <castaglia>

        * NEWS, include/dirtree.h, src/dirtree.c, src/main.c: Bug#2110 -
        Segfault if gethostname(2) returns NULL.  When code was added to
        simply remove a server_rec whose name could not be resolved from the
        list, rather than halting the process there (which allows a more
        Apache-like handling of badly configured vhosts by logging/skipping,
        rather than choking), an edge case became possible where, after
        looping through all the server_recs, _none_ remained in the list.
        This case was not being handled, and lead to a segfault later in the
        processing.  This patch checks for the case where no valid
        server_recs remain in the list.

2003-07-16  castaglia <castaglia>

        * contrib/mod_sql_mysql.c: Spacing nit.

2003-07-15  castaglia <castaglia>

        * modules/mod_xfer.c: Cruft.

2003-07-11  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#2103 - AuthAliasOnly in server
        context causes hang.

2003-07-10  jwm <jwm>

        * contrib/mod_ldap.c: release 2.8.12

2003-07-07  castaglia <castaglia>

        * contrib/mod_sql_mysql.c: Typo.

2003-07-07  castaglia <castaglia>

        * contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Updating
        module names in comments.

2003-07-07  castaglia <castaglia>

        * NEWS: Correcting handling of mod_tls TLSCertificateChainFile
        directive.

2003-07-07  castaglia <castaglia>

        * contrib/mod_tls.c: Change the semantics of TLSCertificateChainFile
        slightly.  Now, this directive can be used to explicitly configure
        the chain of certs given to a peer during the TLS handshake.  Any
        server certs, configured using either CertificateFile or
        CertificatePath, are added to the list of CAs allowed for clients,
        but not for servers.

2003-07-07  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#2100 - Invalid domain in
        <VirtualHost> tag causes segmentation fault.

2003-07-03  castaglia <castaglia>

        * sample-configurations/anonymous.conf,
        sample-configurations/complex-virtual.conf: Don't forget the
        X-variants of FTP commands in <Limit> examples.

2003-06-28  castaglia <castaglia>

        * contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Add comments
        about provide proper escapestring implementations.  Failure to do so
        allows SQL injection.

2003-06-27  castaglia <castaglia>

        * modules/mod_core.c: Be a little more verbose about the exact error
        cause of log_opensyslog() fails.

2003-06-27  castaglia <castaglia>

        * lib/pr-syslog.c: Fix some inadvertently inverted #ifdefs.

2003-06-24  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c, include/conf.h: Bug#2090 -
        mod_rewrite doesn't compile on Solaris 8.

2003-06-23  castaglia <castaglia>

        * contrib/mod_radius.c: Use USHRT_MAX rather than 65535 (and fix a
        typo).

2003-06-17  castaglia <castaglia>

        * contrib/mod_sql_postgres.c: Removing POSTGRES_NO_ESCAPESTRING
        #define from mod_sql_postgres.  See Bug#2087.

2003-06-17  castaglia <castaglia>

        * configure: Updating configure.

2003-06-17  castaglia <castaglia>

        * config.h.in, configure.in, include/conf.h: Configure detection/use
        for <netinet/in_systm.h> header; this fixes compile errors on BSD
        platforms.  Patch contributed by Daniel Svensson.

2003-06-16  castaglia <castaglia>

        * NEWS, src/dirtree.c, src/sets.c: Bug#2088: proftpd -t segfault.
        The functional change of this patch is using parent_pool, rather
        than c_pool, in start_sub_config() when allocating a new xaset *.
        The rest of the patch is style cleanup.

2003-06-12  castaglia <castaglia>

        * contrib/mod_tls.c: Better handling of too long certificate
        verification chains.

2003-06-12  castaglia <castaglia>

        * src/inet.c, src/modules.c: Missing $Id$ keyword.

2003-06-11  castaglia <castaglia>

        * src/ident.c: Match debug levels with what's in main.c for ident
        lookups.

2003-06-11  castaglia <castaglia>

        * src/ident.c, src/main.c: Add some debugging routines to the ident
        lookups.

2003-06-11  castaglia <castaglia>

        * config.h.in: Missing entry for <netinet/ip.h> header file, checked
        by configure.

2003-06-10  castaglia <castaglia>

        * contrib/mod_tls.c: Need to be consistent about names of variables
        used.

2003-06-10  castaglia <castaglia>

        * contrib/mod_tls.c: Better handling of possible errors when loading
        certs from a CertificateChainFile.

2003-06-10  castaglia <castaglia>

        * contrib/mod_tls.c: Fixed typo that prevent TLSCertificateChainFile
        from working properly.

2003-06-09  castaglia <castaglia>

        * NEWS, modules/mod_auth_file.c: Bug#2083 - "550 Access denied" on
        group permission with AuthGroupFile.

2003-06-06  castaglia <castaglia>

        * src/main.c: Add debug output (level 6) for use/nonuse of RFC1413
        lookups.

2003-06-05  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_core.c: Match variable data types.

2003-06-05  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Some inappropriate/ill-timed Class
        functionality check was preventing %N/%y from being properly counted
        for DisplayConnect files.

2003-06-04  castaglia <castaglia>

        * include/options.h: Increase default PR_TUNABLE_LOGIN_MAX size (and
        don't use _POSIX_LOGIN_NAME_MAX, even if it is defined).  Should fix
        Bug#2079.

2003-06-04  castaglia <castaglia>

        * configure: Updating configure.

2003-06-04  castaglia <castaglia>

        * config.h.in, configure.in: Add autoconf checks for mlock(2),
        mlockall(2), munlock(2), and munlockall(2).

2003-06-04  castaglia <castaglia>

        * src/inet.c: Typo in inet_setnonblock() (Bug#2077).

2003-06-03  castaglia <castaglia>

        * modules/mod_log.c, src/log.c, src/main.c: Changing variable names
        to avoid pedantic compiler warnings emitted by gcc-3.3.

2003-06-03  castaglia <castaglia>

        * NEWS, include/conf.h, include/fsio.h, include/options.h,
        include/proftpd.h, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_ls.c, modules/mod_xfer.c, src/dirtree.c, src/fsio.c,
        src/log.c, src/netio.c, src/response.c, src/scoreboard.c,
        src/support.c, utils/scoreboard.c, utils/utils.h: Bug#2069: Long MKD
        path causes truncated server response.

2003-06-03  castaglia <castaglia>

        * src/fsio.c: Change related to Bug#2043: files always need to be
        opened using the O_BINARY flag on Cygwin, not just for ASCII
        transfers.

2003-06-03  castaglia <castaglia>

        * configure: Updating configure.

2003-06-03  castaglia <castaglia>

        * NEWS, config.h.in, configure.in: Bug#2076 - The
        --enable-transfer-buffer-size configure option doesn't work
        properly.

2003-06-02  castaglia <castaglia>

        * NEWS, src/fsio.c: Bug#2075 - ls / fails under Cygwin.

2003-06-02  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2074: MaxStoreFileSize restriction
        capabilities ignored.  The find_maxnbytes() function in
        modules/mod_xfer.c was not checking the argc of the configured
        config_recs properly, and so was ignoring any configured classifiers
        on Max{Retrieve,Store}FileSize directives.  This also fixes the
        handling of a single "*" configuration parameter, which is
        documented as being allowed.

2003-05-31  castaglia <castaglia>

        * contrib/mod_rewrite.c: Changed referenced to deprecated
        make_named_sub_pool() to make_sub_pool().

2003-05-31  castaglia <castaglia>

        * contrib/mod_sql.c, modules/mod_log.c: Adding new LogFormat
        variable, %J (and mod_sql support for it).  This variable expands to
        the arguments given in an FTP command.  Currently, there is %m for
        just the command, %r for the full command (command + arguments), but
        nothing for just the arguments.  Hence the need for a new variable.

2003-05-31  castaglia <castaglia>

        * modules/mod_core.c: Changed handling of RNTO slightly.  It would
        clear session.xfer.p at the end of the CMD phase.  Unfortunately,
        this meant that for ExtendedLog/SQLLog, which might want to use %f
        for RNTO, the path allocated from that pool would be gone.  Now, a
        LOG_CMD/LOG_CMD_ERR handler for RNTO does the clearing of
        session.xfer.p for RNTO, thus letting mod_log/mod_sql have a chance
        to do their stuff.

2003-05-29  castaglia <castaglia>

        * README.cygwin: Adding note to Cygwin README to use Cygwin 1.3.22
        or later, in order to prevent/quell ENOTSOCK errors (Bug#2064).

2003-05-29  castaglia <castaglia>

        * contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Add some
        sanity checks to the backend init handlers. (Note: this actually
        makes a difference for a different module I'm working on, but the
        logic is still worthwhile for the existing code.)

2003-05-28  jwm <jwm>

        * contrib/dist/rpm/proftpd.spec: build fixup from Ivan Martinez
        <ivanfm@os2brasil.com.br>

2003-05-28  castaglia <castaglia>

        * Makefile.in: Add an 'all' dependency to the install target, to
        catch those unsuspecting admins that might skip the 'make' and go
        straight for the 'make install'.

2003-05-27  castaglia <castaglia>

        * lib/pr-syslog.c: UnixWare 7.1 seems to have STREAMS support for
        /dev/log, similar to Solaris and IRIX.  It's not quite the same,
        though.  Patch contributed by Olivier PRENANT.

2003-05-27  jwm <jwm>

        * contrib/dist/rpm/proftpd.spec: logrotate script should be
        config(noreplace)

2003-05-27  jwm <jwm>

        * contrib/dist/rpm/proftpd.spec: Apparently RPM doesn't like
        user-defined options with dashes in them (--with-module -> --with)

2003-05-26  castaglia <castaglia>

        * src/data.c: Style/spacing.

2003-05-26  jwm <jwm>

        * NEWS: I really should pay attention to what I'm doing when I
        resolve conflicts...

2003-05-26  jwm <jwm>

        * NEWS: Bug 1804 - Permit selection of additional contrib modules
        when building the RPM

2003-05-26  jwm <jwm>

        * contrib/dist/rpm/proftpd.spec: change the flag name

2003-05-26  jwm <jwm>

        * contrib/dist/rpm/proftpd.spec: Bug 1804 - RPM spec file
        improvements

2003-05-23  castaglia <castaglia>

        * src/log.c: Make the error about logging to world-writeable
        directories a little more prominent.

2003-05-22  castaglia <castaglia>

        * NEWS, src/fsio.c: Bug#2043 - Proftpd converts LF to CRLF on PUT
        (Cygwin)

2003-05-22  castaglia <castaglia>

        * modules/mod_xfer.c: Fix missing case for .ftpaccess files bearing
        Max{Retrieve,Store}FileSize directives.

2003-05-20  castaglia <castaglia>

        * contrib/mod_sql.c: Correcting thinko in mod_sql that affected
        proper lookup of shell values.  Minor log message correction.

2003-05-19  castaglia <castaglia>

        * modules/mod_xfer.c: Make sure that for the TransferRate, when
        updating the scoreboard, the actual number of bytes sent (not
        adjusted for free bytes) is used.

2003-05-19  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2051 - freebytes in TransferRate
        does not work properly.

2003-05-16  castaglia <castaglia>

        * include/version.h: Bumping the version for CVS.

2003-05-16  castaglia <castaglia>

        * ChangeLog: Updating ChangeLog.

2003-05-16  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
        for 1.2.9rc1 release.

2003-05-15  castaglia <castaglia>

        * lib/libcap/Makefile, lib/libcap/cap_alloc.c,
        lib/libcap/cap_text.c, lib/libcap/include/sys/capability.h,
        lib/libcap/libcap.h, modules/mod_cap.c: Bug#2000 - mod_cap should
        not use bundled libcap.  This patch updates the bundled libcap; I
        won't be closing the bug report just yet.

2003-05-14  castaglia <castaglia>

        * modules/mod_xfer.c: We don't want to call regerror(3) when
        regexec(3) matches -- we want to call regerror() when it _doesn't_
        match.  Seeing "Success" in the debugging output is not very useful.

2003-05-14  castaglia <castaglia>

        * NEWS: Wrong bug report number.

2003-05-14  castaglia <castaglia>

        * NEWS, include/dirtree.h, modules/mod_auth.c, modules/mod_core.c,
        src/dirtree.c: Bug#1977 - Add %u variable support in configuration
        file.

2003-05-14  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c: Bug#2031 - Add support for flags for
        RewriteCondition, RewriteRule (a la Apache's mod_rewrite)

2003-05-14  castaglia <castaglia>

        * NEWS, src/dirtree.c, src/fsio.c: Bug#2047 - 1024 or more chars in
        .ftpaccess causes lockup.

2003-05-12  castaglia <castaglia>

        * lib/pr-syslog.c: Fix logic.

2003-05-12  castaglia <castaglia>

        * lib/pr-syslog.c: Add an Id tag.

2003-05-09  jwm <jwm>

        * lib/pr-syslog.c: centralize STREAMS defines

2003-05-09  castaglia <castaglia>

        * configure: Updating.

2003-05-09  castaglia <castaglia>

        * configure.in: Minor wording correction/change.

2003-05-08  castaglia <castaglia>

        * configure: Updating configure.

2003-05-08  castaglia <castaglia>

        * configure.in: Cygwin installation patch (contributed by Jason
        Tishler <jason@tishler.net>).

2003-05-02  castaglia <castaglia>

        * README.cygwin: Add note about Cygwin's lack of largefile support
        (sizeof(off_t) is only 4, rather than 8, on Cygwin).

2003-05-02  castaglia <castaglia>

        * configure: Updating configure.

2003-05-02  castaglia <castaglia>

        * config.h.in, configure.in, include/conf.h: Adjusting the check for
        %llu support a little: we only want to use %llu if a) printf(3)
        supports it _and b) the size of off_t (hopefully defined to be an
        unsigned long long) is 8 bytes.  Otherwise, use %lu.

2003-04-30  castaglia <castaglia>

        * include/dirtree.h, include/support.h, modules/mod_auth.c,
        modules/mod_auth_unix.c, src/dirtree.c, src/support.c: Moving the
        handling of authentication for Cygwin from mod_auth to
        mod_auth_unix.

2003-04-30  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_core.c: get_param_ptr() lookup
        logic thinkos.

2003-04-30  castaglia <castaglia>

        * contrib/mod_rewrite.c: More explicit handling of RewriteEngine
        lookup.

2003-04-30  castaglia <castaglia>

        * modules/mod_auth_file.c: Style/placement.

2003-04-30  castaglia <castaglia>

        * NEWS, modules/mod_auth_file.c: Bug#2032 - AuthOrder not working
        when first option is mod_auth_file.c.

2003-04-30  castaglia <castaglia>

        * configure: Updating.

2003-04-30  castaglia <castaglia>

        * config.h.in, configure.in, include/conf.h: Try to determine
        whether %llu or %lu should be used in the configure script by
        actually testing use of printf(3), rather than relying on
        _FILE_OFFSET_BITS (which some platforms don't use) or
        SIZEOF_OFFSET_T (which doesn't convey the host printf()'s ability to
        support %llu).

2003-04-30  castaglia <castaglia>

        * contrib/mod_tls.c: Forgot to decrement the reference count to the
        peer cert properly.

2003-04-30  castaglia <castaglia>

        * modules/mod_xfer.c: Fix some cases where a filehandle was not
        being closed properly, or the wrong filehandle was being closed.  In
        all honesty, I think this patch may be a bit paranoid, as these
        cases are probably caught by xfer_err_cleanup().  Still, at least
        the code will be more consistent (and less confusing if you don't
        know where to look) with these changes.

2003-04-29  castaglia <castaglia>

        * NEWS: Oops...wrong credit. =/

2003-04-29  castaglia <castaglia>

        * NEWS: Add credit for AllowForeignAddress fix.

2003-04-29  castaglia <castaglia>

        * modules/mod_core.c, src/inet.c: Transition to using
        get_param_ptr() instead of get_param_int() resulted in bad logic
        when handling AllowForeignAddress.

2003-04-26  jwm <jwm>

        * src/.cvsignore, utils/.cvsignore: ignore autogenerated man pages

2003-04-25  castaglia <castaglia>

        * NEWS, README.cygwin, include/privs.h, modules/mod_auth.c,
        src/main.c: Cygwin portability fixes: on Cygwin, the root UID/GID is
        not 0/0, but 18/544:   http://cygwin.com/ml/cygwin/2003-04/msg01918.html Also updating the Cygwin README with feedback from Jason Tishler
        <jason at tishler.net>.

2003-04-25  castaglia <castaglia>

        * NEWS, include/bindings.h, src/bindings.c, src/main.c: Fixed minor
        fd leak/messiness where listening fds were not being properly closed
        in a session process, when the session is first starting.  Michael
        noticed symptoms of this manifesting as a problem handling HUPs.  (I
        can't believe this behavior has gone on for so long in the code with
        no one noticing...oh well).

2003-04-24  castaglia <castaglia>

        * contrib/mod_rewrite.c: Fixing bug where a RewriteRule with no
        conditions was not being executed properly.

2003-04-24  castaglia <castaglia>

        * INSTALL, README.modules: Module name changes.

2003-04-24  castaglia <castaglia>

        * README.modules: Updating the module list.

2003-04-23  castaglia <castaglia>

        * contrib/mod_rewrite.c: Pedantic change -- bad grammar in variable
        name.

2003-04-23  castaglia <castaglia>

        * configure: Updating.

2003-04-23  castaglia <castaglia>

        * configure.in, include/privs.h, modules/mod_auth.c,
        modules/mod_cap.c, modules/mod_core.c, src/auth.c, src/main.c: 
        Adding more stuff to the --enable-devel option: first, the ability
        to generate core dumps (thank you, Michael!) Second, the ability to
        specify developer options in the configure --enable-devel parameter,
        rather than using CFLAGS.  For example, rather than doing:   CFLAGS="-DPR_DEVEL_NO_FORK -DPR_DEVEL_COREDUMP" ./configure
          --enable-devel ...  you can now do:   ./configure --enable-devel=nofork:coredump ...  At present, only three developer options are supported: nodaemon,
        nofork, and coredump.

2003-04-23  castaglia <castaglia>

        * src/pool.c: Sanity checking.

2003-04-23  castaglia <castaglia>

        * lib/glibc-glob.c: Fixing compiler warning.

2003-04-23  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c: Bug#2029 - Rewrite rule may execute
        more than once if multiple rewrite conditions exist.

2003-04-22  castaglia <castaglia>

        * NEWS: Bug#2003 - mod_auth.c does not compile for cygwin on W2K.

2003-04-22  castaglia <castaglia>

        * modules/mod_auth.c: Slight modification of Cygwin stuff, as per
        Bug#2003.  Cygwin doesn't/shouldn't use the normal proftpd auth
        handlers for checking passwords (it's done by Cygwin's
        cygwin_logon_user() function).

2003-04-22  castaglia <castaglia>

        * include/proftpd.h, lib/pr_fnmatch_loop.c, modules/mod_auth.c,
        modules/mod_auth_unix.c: Bug#2003 - mod_auth.c does not compile for
        cygwin on W2K.  There may be more work needed on this bug, but this
        patch at least compiles correctly.

2003-04-18  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#1532 - [patch] Human readable disk
        free.

2003-04-17  castaglia <castaglia>

        * src/inet.c: Cruft removal.

2003-04-16  castaglia <castaglia>

        * src/fsio.c: Add Solaris 2.5.1 to the list of Solaris versions that
        use struct statvfs for its statvfs(2) call.

2003-04-16  castaglia <castaglia>

        * src/fsio.c: Typo.

2003-04-16  castaglia <castaglia>

        * configure: Updating configure script.

2003-04-16  castaglia <castaglia>

        * configure.in: Tweaking the configure.in file to fix some things
        that cause trouble on Tru64 Unix (and probably other picky
        platforms).

2003-04-16  castaglia <castaglia>

        * src/fsio.c: Reworking the #ifdefs around statvfs a little; now, if
        we're a Solaris 2.6 or 2.7 box, we'll use struct statvfs, otherwise,
        statvfs_t.  We'll deal with those poor souls still using 2.5.1 or
        older later.  (Thanks for the info about statvfs64 on Solaris 2.7,
        Noah).

2003-04-16  castaglia <castaglia>

        * src/fsio.c: Silencing compiler warnings about statvfs64(2) on
        LFS-enabled Solaris.

2003-04-15  castaglia <castaglia>

        * modules/mod_core.c: "HideFiles none" config_recs did not contain
        the proper CF_MERGEDOWN_MULTI flag, unlike their regex-bearing
        config_rec siblings.

2003-04-15  castaglia <castaglia>

        * NEWS, src/main.c: Bug#2021 - Inetd mode and scoreboard format
        changes.  Now, if ServerType is inetd and the server encounters a
        scoreboard version mismatch on startup, the old scoreboard file will
        be unlinked and a new blank one written.

2003-04-15  castaglia <castaglia>

        * NEWS, modules/mod_auth.c, modules/mod_core.c: Added RootRevoke
        configuration directive.

2003-04-15  castaglia <castaglia>

        * src/modules.c: Minor adjustment, to make sure that PRE_CMD,
        POST_CMD et al are not inadvertently forgotten.

2003-04-14  castaglia <castaglia>

        * src/modules.c: HOOK commands need to be properly inserted into the
        stash if they are to be later looked up.

2003-04-14  castaglia <castaglia>

        * modules/mod_xfer.c: Michael found a bug where the REST position
        was not properly being cleared between uploads/downloads.

2003-04-09  castaglia <castaglia>

        * src/inet.c: Typo.

2003-04-09  castaglia <castaglia>

        * src/inet.c: IRIX doesn't need this ioctl(2) call, it seems.

2003-04-09  castaglia <castaglia>

        * NEWS, modules/mod_core.c, modules/mod_site.c, modules/mod_xfer.c: 
        Bug#2002 - Per-<Directory> PathAllowFilter/PathDenyFilter.

2003-04-08  castaglia <castaglia>

        * contrib/mod_ifsession.c: Fixing bug with mod_ifsession's
        searching/handling of multiple <If*> contexts.

2003-04-08  castaglia <castaglia>

        * configure: Updating configure.

2003-04-08  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, include/data.h, src/data.c: 
        Bug#1813 - configure code: mistake in BSD sendfile semantic
        detection. The autoconf test for Linux simply needed to #include
        <sys/sendfile.h>.  Bug#2019 - proftpd support for Solaris 8/9 native sendfile.  A
        native Solaris sendfile() implementation became available via patch
        for Solaris 8, and is included by default in Solaris 9.  I don't
        know how stable or esoteric the implementation is, so this may have
        bugs lurking.

2003-04-08  castaglia <castaglia>

        * modules/mod_ls.c: Fix segfault in NLST.

2003-04-07  castaglia <castaglia>

        * src/main.c: Minor buglet: actually honor RLIM_INFINITY if
        USE_DEVEL is defined when setting the RLIMIT_CORE rlimit.

2003-04-07  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#2018: Incorrect caching of
        TransferRate values.

2003-04-04  castaglia <castaglia>

        * lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: Quell some compiler
        warnings when --enable-devel flags are used.

2003-04-04  castaglia <castaglia>

        * configure: Updating.

2003-04-04  castaglia <castaglia>

        * configure.in: Oops...forgot an important part. =P

2003-04-04  castaglia <castaglia>

        * configure: Updating.

2003-04-04  castaglia <castaglia>

        * NEWS, configure.in, src/proftpd.8.in, src/xferlog.5.in,
        utils/ftpcount.1.in, utils/ftpshut.8.in, utils/ftptop.1.in,
        utils/ftpwho.1.in: Bug#2016 - man pages should be autogenerated to
        reflect the --prefix used.  The man pages are now generated by the
        configure script.

2003-04-03  castaglia <castaglia>

        * modules/mod_core.c: Scrub the scoreboard during a rehash (SIGHUP),
        too.

2003-04-03  castaglia <castaglia>

        * configure: Updating configure script for curses/ncurses library
        detection changes.

2003-04-03  castaglia <castaglia>

        * configure.in: Bug#2009: ncurses/ftptop linker problem on Solaris.
        The system in question has curses.h, libcurses, and libncurses.  The
        configure script used libncurses when linking ftptop (as ncurses is
        preferred if we can get it) without checking to see if ncurses.h was
        present.  Now, the library is checked only if the corresponding
        header is present.

2003-04-03  castaglia <castaglia>

        * configure: Updating configure script.

2003-04-03  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, utils/ftptop.c: Added new
        --disable-{curses,ncurses} configure options.

2003-04-02  castaglia <castaglia>

        * README.PAM: Updating Linux PAM configuration examples.

2003-04-02  castaglia <castaglia>

        * NEWS, src/main.c: Bug#2011 - No "FTP session closed." msgs written
        to logfile.  The check for when to write the message ("!is_master")
        only checks if the current process is a child process, not an
        existing daemon process.  This works well for standalone daemons,
        but not inetd-run daemons, which have no "master" process.  The fix,
        then, is to log the message if either !is_master or if the
        servertype is inetd.

2003-04-01  castaglia <castaglia>

        * include/modules.h, src/modules.c: Removing crufty auth_priority
        variable.

2003-04-01  castaglia <castaglia>

        * contrib/mod_sql.c: Pedantic orthography correction.

2003-04-01  castaglia <castaglia>

        * contrib/mod_sql.c: Add typecasting, to quell compiler warnings.

2003-04-01  castaglia <castaglia>

        * modules/mod_core.c: This module needs to include signal.h, so that
        it picks up the prototype for kill(2).

2003-03-29  castaglia <castaglia>

        * src/scoreboard.c: Be a little more careful about interrupted
        system calls.  In some cases, we wrap the system calls in while()
        loops, handling EINTRs.  In others, we simply block all signals that
        might interrupt the system call.  Also, lock the scoreboard when
        writing a new header for it (this was not being done).

2003-03-29  castaglia <castaglia>

        * modules/mod_auth.c: Remove spurious logged complaints about the
        scoreboard, causing by logging on any return value from
        pr_open_scoreboard(), not just the error return values.  Oops.

2003-03-29  castaglia <castaglia>

        * modules/mod_ls.c: Prevent a segfault in some situations by making
        sure the pointer exists before dereferencing it.

2003-03-29  castaglia <castaglia>

        * src/fsio.c: Be a little more accurate when reporting the name of
        the FS whose callback is being invoked.

2003-03-28  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#1998 - Add ListOptions for setting
        limits on -R listings.

2003-03-28  castaglia <castaglia>

        * src/main.c: Every command needs to have its logging class, unless
        otherwise explicitly set, default to CL_ALL.

2003-03-28  castaglia <castaglia>

        * contrib/ftpasswd: Make explicit the fact that --group --member
        parameters are user names.

2003-03-26  castaglia <castaglia>

        * src/mkhome.c: Quell compiler warnings on Solaris by explicitly
        casting mode_t to an unsigned int.

2003-03-25  cyberrobo <cyberrobo>

        * modules/mod_ls.c: small typo

2003-03-25  castaglia <castaglia>

        * NEWS, src/inet.c: Bug#1997 - UnixWare 7.1.3 & port 20.

2003-03-24  castaglia <castaglia>

        * src/inet.c: Typo.

2003-03-24  castaglia <castaglia>

        * src/inet.c: More setsockopt(2) fun: *BSD want IPPROTO_IP for
        setting IP_TOS options, Linux wants SOL_IP.

2003-03-24  castaglia <castaglia>

        * modules/mod_auth.c, src/main.c, src/scoreboard.c,
        utils/ftpcount.c, utils/ftptop.c: Fixing the messages reported when
        opening the scoreboard (and making all such messages consistent).  Note: we'll need to document, probably in the release announcement,
        when the scoreboard format (include/scoreboard.h's
        PR_SCOREBOARD_VERSION) is increment.  For standalone-run daemons,
        there is no problem; for inetd-run daemons, though, the old
        scoreboard file will need to be deleted before the new daemon is
        started, else the new daemon will complain of the scoreboard being
        too old.  (I think this is what we are seeing now with people
        upgrading from 1.2.7 to 1.2.8; it's the first time in who knows how
        long that the scoreboard version number was increment.)

2003-03-24  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#1935 - mod_ls memory leak.

2003-03-24  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Fixing mod_tls' use of SSL_shutdown() to
        properly shutdown an SSL session when talking to some clients that
        don't want to shutdown properly.

2003-03-23  castaglia <castaglia>

        * src/netio.c: A shutdown() is not a close(); shutdown should not be
        freeing the netio stream's pool.

2003-03-23  castaglia <castaglia>

        * contrib/mod_sql.c: More error checking when a custom SQLUserInfo
        query is used.

2003-03-22  castaglia <castaglia>

        * utils/utils.h: Cruft.

2003-03-22  castaglia <castaglia>

        * configure: Updating.

2003-03-22  castaglia <castaglia>

        * configure.in: For now, require that --enable-ipv6 be used at
        configure time.  Once IPv6 support has had all its bugs worked out,
        then we can make IPv6 support the default.

2003-03-22  castaglia <castaglia>

        * configure: Updating.

2003-03-22  castaglia <castaglia>

        * config.h.in, configure.in, modules/mod_auth_unix.c: Change
        AUTO_SHADOW to be USE_AUTO_SHADOW, to be more consistent.  Add a --disable-ipv6 configure option, and a corresponding USE_IPV6
        define.  Add check for getnameinfo(3) function.

2003-03-22  castaglia <castaglia>

        * configure: Updating.

2003-03-22  castaglia <castaglia>

        * aclocal.m4, config.h.in, configure.in: Check for a defined struct
        sockaddr_storage.  I don't know if this is really necessary, or if
        we can assume that all platforms will define this struct.  I think
        it better to have the check, just in case.

2003-03-22  castaglia <castaglia>

        * contrib/mod_sql.c: Check the number of fields in the returned set
        of a SQLUserInfo query.  Hopefully this will quell some
        mod_sql/shell-related segfaults.

2003-03-21  castaglia <castaglia>

        * NEWS: Should mention mod_radius changes here.

2003-03-21  castaglia <castaglia>

        * contrib/mod_radius.c: Changing way mod_radius looks up custom
        attributes in response packets; now, rather than using RADIUS
        attribute type IDs, mod_radius will use VSA IDs.  The new
        RadiusVendor directive is used to configure the vendor for which
        mod_radius will search.  The new RadiusGroupInfo complements the
        existing RadiusUserInfo directive; as expected, RadiusGroupInfo is
        used to configure RADIUS user group membership information.

2003-03-21  castaglia <castaglia>

        * src/scoreboard.c: Report the scoreboard path anyway.

2003-03-21  castaglia <castaglia>

        * src/scoreboard.c: Add debug logging of the path used if opening
        the scoreboard file fails.

2003-03-21  castaglia <castaglia>

        * src/fsio.c, src/main.c: Making the checking of the configuration
        file path actually work.  Getting rid of #PR_HACK_DISABLE_MEM_VHOST_FREE, and commenting out
        the freeing code completely.  Copy-on-write semantics means that
        that freeing of memory, which would not be used or changed anyway,
        probably adds load unnecessarily.  I doubt anyone will miss that
        code.

2003-03-20  castaglia <castaglia>

        * contrib/mod_sql.c, contrib/mod_sql.h, contrib/mod_sql_mysql.c,
        contrib/mod_sql_postgres.c: Added the ability to construct custom
        user information queries with mod_sql.  The mod_sql docs will be
        updated accordingly.  Various style cleanups included in this patch.

2003-03-20  castaglia <castaglia>

        * NEWS: Typo.

2003-03-20  castaglia <castaglia>

        * src/fsio.c: Minor correction of bug introduced by last night's
        pr_fs_valid_path() addition (forgot to handle case where no modules
        registered an FS).

2003-03-20  castaglia <castaglia>

        * NEWS, utils/ftptop.c: Bug#1995 - ftptop: no curses or ncurses
        library on this system.

2003-03-20  castaglia <castaglia>

        * contrib/mod_sql_mysql.c: One minor cast needed to compile/link
        without warnings against MySQL-4.0 client libraries.

2003-03-20  castaglia <castaglia>

        * include/fsio.h, modules/mod_core.c, src/fsio.c, src/main.c: 
        Modifying the checking of configuration paths slightly.  Rather than
        now only accepting absolute paths (criterion: string begins with
        '/'), paths that start with any of the paths registered with the
        FSIO layer will be accepted.  This allows FSIO modules to register
        handlers for paths that may not necessarily be local filesystem
        paths (e.g. "sql://" paths).  This change affects the paths accepted
        by the Include configuration directive as well.

2003-03-19  castaglia <castaglia>

        * configure: Updating.

2003-03-19  castaglia <castaglia>

        * aclocal.m4, config.h.in, configure.in: More IPv6-related autoconf
        detection.

2003-03-19  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Patching mod_tls to use RSA blinding in
        installations of OpenSSL older than 0.9.7b, in order to prevent
          certain RSA-based timing attacks:
        http://www.openssl.org/news/secadv_20030317.txt

2003-03-19  castaglia <castaglia>

        * modules/mod_auth.c: Another off-by-one bug, this time afflicting
        MaxClientsPerUser.

2003-03-18  castaglia <castaglia>

        * src/inet.c: Portability fun with socket options. =P

2003-03-18  castaglia <castaglia>

        * configure: Updating.

2003-03-18  castaglia <castaglia>

        * config.h.in, configure.in: Start autoconf checks for some
        functions we'll need for IPv6 support.

2003-03-18  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c: Bug#1987 - mod_rewrite seems not to
        handle more than one backreference (only $1).

2003-03-18  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c: Bug#1986 - mod_rewrite backreferences
        not zero-based (use $1 not $0?).

2003-03-17  castaglia <castaglia>

        * src/data.c: Trying to make sure that an interrupted sendfile(2) on
        Linux has its signals handled properly.

2003-03-17  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#1989 - SQLLog '*' doesn't match any
        commands.

2003-03-17  castaglia <castaglia>

        * modules/mod_xfer.c: Add handling of signals if sendfile() is
        interrupted.

2003-03-15  castaglia <castaglia>

        * NEWS, contrib/mod_sql_mysql.c: Bug#1730 - mod_mysql logging of
        long transfers fails.

2003-03-15  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c: Bug#1985 - mod_rewrite fails to build
        on platforms without flock().

2003-03-14  castaglia <castaglia>

        * contrib/mod_sql.c, contrib/mod_sql.h, contrib/mod_sql_mysql.c,
        contrib/mod_sql_postgres.c: Adding $Id$ tags to the mod_sql files.

2003-03-14  castaglia <castaglia>

        * src/dirtree.c: Be a little more thorough in checking how to handle
        the given path in get_dir_ctxt().

2003-03-14  castaglia <castaglia>

        * src/dirtree.c: Correct get_dir_ctxt() when operating within a
        chroot.

2003-03-14  jwm <jwm>

        * README.LDAP: forgot to update this for 2.8.11

2003-03-13  castaglia <castaglia>

        * NEWS, include/dirtree.h, src/dirtree.c, src/main.c: Bug#1983 -
        filenames beginning with # fail to upload / download.

2003-03-13  castaglia <castaglia>

        * include/fsio.h, src/fsio.c: Changing a few of the FSIO functions
        (close, read, write, lseek) so that they operate on file handles,
        rather than on filesystem objects.  This is done primarily so that
        they can get access to the newly-added fh_data member of a file
        handle, used for storing file-specific data.  Also added two new FSIO functions, for fstat and ftruncate.

2003-03-12  castaglia <castaglia>

        * NEWS, contrib/mod_sql_mysql.c: Bug#1982: fixing how mod_sql_mysql
        reads MySQL .cnf files.  Looks like there's a bug in MySQL's
        (undocumented) load_defaults() functions.  Hrmf.

2003-03-12  castaglia <castaglia>

        * modules/mod_auth.c: Change the timing of when C_USER is removed
        from the config tree; this allows modules that want to lookup the
        USER name sent by the client (e.g.  for substituting %U) a chance to
        do so.

2003-03-12  castaglia <castaglia>

        * Makefile.in: Pass LDFLAGS on to ftpcount and ftpshut, too.

2003-03-12  castaglia <castaglia>

        * contrib/mod_ifsession.c, include/dirtree.h, modules/mod_core.c,
        src/dirtree.c, src/sets.c: Updating code that checks for empty
        configuration contexts, and removes them.  (Empty contexts within
        another context were causing segfaults).  Also, add code to report,
        upon ending of a configuration context, if the ended context is
        being ignored (at debug level 3).

2003-03-09  castaglia <castaglia>

        * NEWS, include/scoreboard.h, modules/mod_auth.c,
        modules/mod_core.c, src/scoreboard.c, utils/utils.h: Bug#1915 -
        Unsafe pointer usage in scoreboard file format.

2003-03-09  castaglia <castaglia>

        * NEWS, contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: 
        Bug#1849 - Compile can have trouble finding mysql.h.

2003-03-09  castaglia <castaglia>

        * configure: Updating the configure script.

2003-03-09  castaglia <castaglia>

        * NEWS, configure.in, include/conf.h, include/dirtree.h,
        include/inet.h, include/options.h, modules/mod_core.c,
        modules/mod_xfer.c, src/bindings.c, src/data.c, src/dirtree.c,
        src/inet.c, src/main.c: Bug#1921 - Socket-level performance tweaks.

2003-03-09  castaglia <castaglia>

        * src/inet.c: Portability fix for letting active/inetd function
        properly on Mac OSX (Darwin).

2003-03-09  castaglia <castaglia>

        * src/main.c, utils/ftpcount.c, utils/ftpwho.c: Minor change: list
        the short form of options first, then the long form.

2003-03-09  castaglia <castaglia>

        * NEWS, include/options.h, modules/mod_core.c: Bug#1969 - Add
        scoreboard-scrubbing timer.

2003-03-09  castaglia <castaglia>

        * src/main.c: Oops.  Had these function calls, for running through
        the registered daemon startup callbacks, in the inetd startup code
        -- not too useful there.  Now in the standalone startup code, where
        they belong.

2003-03-09  castaglia <castaglia>

        * modules/mod_core.c: Actually, let's hold off on the idea of
        barring use of 0.0.0.0, for now.  We can revisit it later.

2003-03-09  castaglia <castaglia>

        * include/modules.h, src/main.c, src/modules.c: Adding yet another
        module callback registration set of functions.  This set is for
        allowing modules to register callbacks that are invoked just before
        the daemon starts up, after it has (possibly) daemonized.  One would
        want to have something done at this point when you want to make sure
        that the daemon process is affected, e.g. adding a timer.  Calling
        alarm(3) in a module_init function won't work for standalone
        daemons, for part of the daemonizing process involves forking()
        twice (to dissociate the process completely from the terminal), and
        all pending alarms are cleared for a child process.

2003-03-09  castaglia <castaglia>

        * NEWS: Making note of new handling/checking for IP address/port
        collisions.

2003-03-09  castaglia <castaglia>

        * modules/mod_core.c: This patch prevents two specific vhost
        misconfigurations: 1) trying to use "0.0.0.0", which no client could
        ever reach, and 2) IP address/port collisions.  The second is the
        more likely of the misconfigurations, particularly when DNS names,
        rather than IP addresses, are used in <VirtualHost> lines (as when
        new proftpd uses think to configure name-based vhosts).

2003-03-09  castaglia <castaglia>

        * contrib/mod_tls.c, include/feat.h, modules/mod_core.c, src/feat.c: 
        Pedantic namespace change: pr_{add,get}_feat -> pr_feat_{add,get}.
        This provides consistency in the pr_* function namespace.

2003-03-09  castaglia <castaglia>

        * README.ports: Updating.

2003-03-09  castaglia <castaglia>

        * include/modules.h: Cruft.

2003-03-09  castaglia <castaglia>

        * include/proftpd.h: Cruft.

2003-03-07  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#1932 - Make Max* checks a PASS
        POST_CMD handler.

2003-03-06  castaglia <castaglia>

        * contrib/mod_sql_postgres.c: Postgres added a string-escaping
        function at some point, so just as mod_sql_mysql does, now
        mod_sql_postgres will make use of its library-provided function.  Note that a manual #define had to be used, to ensure backward
        compatibility with Postgres installations that don't have the escape
        function.  Ideally a configure script could check for the function;
        this is yet another case for having proftpd's build system support
        per-module build directories and scripts.

2003-03-06  jwm <jwm>

        * contrib/mod_ldap.c: upgrade to 2.8.11

2003-03-06  castaglia <castaglia>

        * NEWS, contrib/mod_ifsession.c: Bug#1933 - Add mod_ifsession
        contrib module.

2003-03-06  castaglia <castaglia>

        * NEWS, contrib/mod_radius.c: Bug#1980 - Login with incorrect
        password POSSIBLE when using mod_radius.

2003-03-05  castaglia <castaglia>

        * NEWS, utils/ftpcount.c, utils/ftptop.c, utils/ftpwho.c: Bug#1869 -
        Add option "--server/-s" to ftpwho&ftpcount&ftptop.

2003-03-05  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#1979 - Add TLSTimeoutHandshake
        directive.

2003-03-05  castaglia <castaglia>

        * NEWS, include/scoreboard.h, src/main.c, src/scoreboard.c,
        utils/ftptop.c, utils/ftpwho.c, utils/utils.h: Bug#1794 - Scoreboard
        format changes.  This commit splits the cmd (i.e. the FTP command
        used) from the command arguments in the scoreboard.

2003-03-05  castaglia <castaglia>

        * modules/mod_auth.c: Fixing shadowing variable name.

2003-03-05  castaglia <castaglia>

        * include/privs.h: Make the PRIVS_ROOT macro change the egid to 0 as
        well as the euid, to be consistent.

2003-03-04  castaglia <castaglia>

        * modules/mod_xfer.c: Re-add the missing setsockopt(TCP_CORK) to
        uncork the socket after sending data.

2003-03-04  castaglia <castaglia>

        * modules/mod_xfer.c: Still working on this.

2003-03-04  castaglia <castaglia>

        * modules/mod_xfer.c: Fixing use of TCP_CORK.

2003-03-04  castaglia <castaglia>

        * NEWS, modules/mod_log.c: Bug#1972 - %T not correctly shows time at
        performance of a command "rename".

2003-03-04  castaglia <castaglia>

        * NEWS, utils/ftpshut.c: Added -D option to ftpshut, to be used to
        delete the /etc/shutmsg file (rather than having to manually remove
        it).

2003-03-04  castaglia <castaglia>

        * modules/mod_xfer.c, src/inet.c: Add use of TCP_CORK setsockopt(2)
        option on platforms that define it (e.g.  Linux).

2003-03-04  castaglia <castaglia>

        * contrib/mod_sql.c, include/modules.h, src/modules.c: Formalizing
        the use of "hooks", which are custom cmdtable entries that contrib
        modules can add.  mod_sql started the trend with its "sql_lookup"
        and "sql_change" hooks.  This patch makes sure that any such hooks
        will not be accidentally used; it was possible, if a custom hook was
        entered that has an all uppercase name, for a client to send an FTP
        command that matched that name, leading to a possible bad
        interaction.  This patch avoids the above scenario by defining a new symbol tag,
        PR_SYM_HOOK, to be used for "hook" cmdtable entries.  I'll add
        documentation about this in the Developer's Guide as appropriate.

2003-03-04  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Added AnonRejectPasswords.

2003-03-04  castaglia <castaglia>

        * NEWS, include/scoreboard.h, modules/mod_auth.c,
        modules/mod_auth_unix.c, src/main.c, src/scoreboard.c,
        utils/ftpcount.c, utils/ftptop.c, utils/ftpwho.c,
        utils/scoreboard.c, utils/utils.h: Bug#1967: Add display of uptime
        to ftpwho, ftptop.

2003-03-04  castaglia <castaglia>

        * NEWS, contrib/mod_sql_mysql.c, include/version.h,
        modules/mod_core.c: Bugs 1828 and 1960.

2003-03-04  castaglia <castaglia>

        * ChangeLog: Updating.

2003-03-04  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
        for release of 1.2.8.

2003-03-04  castaglia <castaglia>

        * README.PAM: Updating PAM information for FreeBSD.

2003-03-03  castaglia <castaglia>

        * src/inet.c: Fixed #if check.

2003-03-03  castaglia <castaglia>

        * src/main.c: Changing code back to its original setting; when doing
        the modifications for mod_unixpw -> mod_auth_unix, this code was
        incorrectly modified.

2003-03-03  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#1976 - Login hangs, spawned process
        runs in endless loop in mod_auth.

2003-03-03  castaglia <castaglia>

        * NEWS, src/inet.c: Adding FreeBSD-5.0 to the #defines for the
        socket/privs fun.

2003-03-01  castaglia <castaglia>

        * contrib/mod_tls.c: Playing with logged messages...

2003-03-01  castaglia <castaglia>

        * contrib/mod_tls.c: Bad grammar.

2003-03-01  castaglia <castaglia>

        * contrib/mod_tls.c: Pedantic changes of "SSL" to "TLS" adding
        logging for when mod_tls starts a TLS handshake on the data
        connection

2003-02-26  castaglia <castaglia>

        * src/inet.c: Modify the use of ioctl() such that it will be used on
        platforms known to use STREAMS (i.e. Solaris and IRIX, at present).

2003-02-26  castaglia <castaglia>

        * include/dirtree.h, src/dirtree.c: Added pr_class_and_expression(),
        for symmetry (and yes, there are cases where having a list of class
        names evaluated in a Boolean AND fashion can be useful).

2003-02-25  castaglia <castaglia>

        * configure: Updating configure script.

2003-02-25  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, include/conf.h, lib/pr-syslog.c,
        src/inet.c, src/netio.c: Bug#1964 - When uploading to an NFS mounted
        file system in passive mode read() get EAGAIN and closes connection.

2003-02-25  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#1937 - transfer hangs when using
        transferrate limits on a resumed download.

2003-02-24  castaglia <castaglia>

        * modules/mod_xfer.c: Cleanup of missed code for Bug#1970.

2003-02-24  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c, utils/ftptop.c, utils/ftpwho.c: Bug#1970
        - Transfer time wraps around and causes problems with transfer speed
        calculation.

2003-02-24  castaglia <castaglia>

        * modules/mod_ls.c: Removing unused cruft.

2003-02-24  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#1953 - STAT -R does not work.

2003-02-24  castaglia <castaglia>

        * NEWS, src/inet.c: Bug#1966 - SCO OpenServer 5.0.5 and inetd (not
        passive mode).

2003-02-24  castaglia <castaglia>

        * NEWS, modules/mod_log.c, src/dirtree.c: Bug#1908 - ExtendedLog to
        work properly in <Anonymous> context.

2003-02-20  castaglia <castaglia>

        * NEWS, utils/ftpwho.c: Bug#1958 - ftpwho -o oneline has newlines
        when client is idle.

2003-02-19  castaglia <castaglia>

        * modules/mod_xfer.c: Minor variable name change; seems to collide
        with variable used in Tru64 5.1b's headers.

2003-02-18  castaglia <castaglia>

        * configure: Updating configure script.

2003-02-18  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, modules/mod_auth_unix.c,
        modules/mod_ls.c: Bug#1941 - SCO OpenServer 5.0.5

2003-02-18  castaglia <castaglia>

        * sample-configurations/basic.conf: Adding some comments to the
        default config file.  Hopefully this will stem some of the more
        common questions on the users mailing list.

2003-02-18  jwm <jwm>

        * configure: update

2003-02-18  jwm <jwm>

        * configure.in: typo

2003-02-18  jwm <jwm>

        * configure: update

2003-02-18  jwm <jwm>

        * configure.in: expend as little effort as possible if mod_cap is
        explicitly disabled

2003-02-17  castaglia <castaglia>

        * configure: Updating configure script.

2003-02-17  castaglia <castaglia>

        * configure.in: Add to output at end of configure --help
        instructions describing LIBS environment variable.

2003-02-17  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#1956 - Upload transfer rate broken.

2003-02-14  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Added FTPS FEAT responses, as per the
        Draft.

2003-02-13  castaglia <castaglia>

        * modules/mod_xfer.c: Helps if I get the variable names right...

2003-02-12  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#1948 - mod_xfer relinquishes privs
        before chmod takes place.

2003-02-12  castaglia <castaglia>

        * NEWS, include/log.h, modules/mod_xfer.c, src/data.c, src/log.c: 
        Bug#1916 - Transfers hang with strange transfertime in logfile.

2003-02-12  castaglia <castaglia>

        * include/ident.h, include/timers.h, src/netio.c, src/pool.c,
        src/sets.c: Adding more $Id$ keywords.

2003-02-12  castaglia <castaglia>

        * src/feat.c: Added $Id$ keyword.

2003-02-10  castaglia <castaglia>

        * contrib/mod_sql.c, modules/mod_auth.c: Add logging of the problem
        if an admin configured a valid shell column in a SQL table, but the
        value of the shell in the table was NULL.

2003-02-10  castaglia <castaglia>

        * NEWS, src/dirtree.c: Bug#1952 - Umask Bug: Server Not Honoring
        VirtualHost Umask.

2003-02-10  castaglia <castaglia>

        * configure: Updating configure script.

2003-02-10  castaglia <castaglia>

        * NEWS, aclocal.m4, configure.in, modules/mod_xfer.c: Bug#1949 -
        Compiler warns of 'long double' usage on OSX.

2003-02-07  castaglia <castaglia>

        * README: Add a line to the REAME pointing out the doc/ directory.
        Not that anyone will notice.  *sigh*

2003-02-06  castaglia <castaglia>

        * configure: Updated configure script.

2003-02-06  castaglia <castaglia>

        * NEWS, aclocal.m4, config.h.in, configure.in,
        modules/mod_auth_unix.c: Bug#1950 - OSX setgrent(3) returns int,
        causing compiler warning.

2003-02-05  castaglia <castaglia>

        * include/privs.h: Oops.  I said DEBUG9, but had DEBUG0.  Should've
        been DEBUG9 in code.  Fixed.

2003-02-05  castaglia <castaglia>

        * include/privs.h: Add debug output, level 9, for PRIVS macros when
        they are disabled (will help cut down on confusion when proftpd is
        built on Linux, and admins forget that mod_cap is now enabled by
        default, and that mod_cap will disable id switching).

2003-02-01  castaglia <castaglia>

        * NEWS, include/glibc-glob.h: Bug#1943 - Unable to install on
        FreeBSD 5.0.

2003-01-31  castaglia <castaglia>

        * configure: Updating configure script.

2003-01-31  castaglia <castaglia>

        * configure.in: Only check for the linux/capability.h header if
        mod_cap has not already been explicitly disabled in the configure
        options.

2003-01-30  jwm <jwm>

        * NEWS, configure, configure.in: Bug 1863 - Unable to build under
        UnixWare 7

2003-01-30  castaglia <castaglia>

        * modules/mod_xfer.c: Changed TransferRate handler to use strtod()
        rather than strtoul() when parsing the kbps rate parameter.
        strtold() would be better...but FreeBSD doesn't seem to have
        strtold().  *sigh*

2003-01-30  castaglia <castaglia>

        * include/version.h: Updating version.h for CVS status.

2003-01-30  jwm <jwm>

        * Makefile.in: build deps before we get rid of the Makefiles we need
        to generate them :-)

2003-01-29  flyhmstr <flyhmstr>

        * doc/Configuration.html: ML: updated build of configuration.html

2003-01-29  castaglia <castaglia>

        * NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Marking
        Bug#1911 fixed (I think the fix was committed when I was working on
        Bug#1931).  Also updating the version and spec files, preparing for
        rc2 release.

2003-01-28  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#1939 - RLimitMemory seems broken.

2003-01-25  castaglia <castaglia>

        * src/dirtree.c: Michael noticed that the parse_config_file()
        function was failing to close the opened configuration file handle,
        leaking descriptors.  This started happening in 1.2.8rc1, with the
        introduction of the FSIO patch.  Fixed.  Good catch, Michael!

2003-01-25  castaglia <castaglia>

        * NEWS, src/support.c: Bug#1938 - upload to root directory fails.

2003-01-24  castaglia <castaglia>

        * contrib/mod_radius.c: Fixed misordered parameters to
        pr_rehash_register_handler() call.

2003-01-23  castaglia <castaglia>

        * src/modules.c: Actually check for a negative return value from the
        module initialization callback, if one is provided, and report an
        error if the initialization failed.  Previously, the code would only
        check for a -1 return value, and would silently load the module to
        the internal lists if the returned value was not -1; just as
        silently would -1 returns be handled.

2003-01-23  castaglia <castaglia>

        * include/conf.h: Wrapping _GNU_SOURCE definition in an #ifndef.
        It's possible that, depending on the CFLAGS options given, some
        other included file may already define it, in which case the
        compiler will throw an "already defined" warning.

2003-01-22  castaglia <castaglia>

        * modules/mod_ls.c: As discovered when looking into Bug#1931, some
        of the response codes used when handling NLST are not legal viz.
        RFC959.  This patch changes the 550s to 450s.

2003-01-21  castaglia <castaglia>

        * src/inet.c: Fixing inet_getname() so that, when doing reverse DNS
        checks, the two related calls, gethostbyaddr() and gethostbyname(),
        don't overwrite the same data.  This was happening under Tru64 Unix,
        and could have happened under Linux.

2003-01-20  jwm <jwm>

        * NEWS, modules/mod_auth.c: Bug 1734 - Cygwin - Unable to set uid

2003-01-18  castaglia <castaglia>

        * Make.rules.in, NEWS, include/conf.h, include/mkhome.h,
        modules/mod_auth.c, src/mkhome.c: Bug#1241 - Additional
        functionality: HomedirOnDemand.  Added as CreateHome directive.

2003-01-18  castaglia <castaglia>

        * configure: Updating configure, again. =P

2003-01-18  castaglia <castaglia>

        * configure.in: Argh.  John had it right the first time.  My
        mistake. =P

2003-01-18  castaglia <castaglia>

        * configure: Updating configure script.

2003-01-18  castaglia <castaglia>

        * configure.in: Changing check of UnixWare's libgen a little, to add
        -lgen to LIBS if libgen is present.

2003-01-18  castaglia <castaglia>

        * config.h.in: Adding HAVE_LIBGEN to config.h, corresponding to
        added AC_CHECK_LIB(gen) in configure.in.

2003-01-18  castaglia <castaglia>

        * modules/mod_auth_file.c, src/auth.c: Adding proper UID/GID->name
        translation to mod_auth_file.c

2003-01-18  castaglia <castaglia>

        * NEWS, modules/mod_auth_file.c: Bug#1918 - AuthUserFile not works
        normally.

2003-01-18  castaglia <castaglia>

        * src/fsio.c: Some of the FSIO routines are manually returning
        ENOENT, rather than letting errno propagate up properly.

2003-01-17  castaglia <castaglia>

        * modules/mod_auth_file.c, modules/mod_core.c, src/modules.c: Fixed
        broken pr_stash_remove_symbol() (AuthOrder still wasn't working
        quite right).  Removed devel cruft from mod_auth_file, and added
        some more debugging output to it.

2003-01-17  castaglia <castaglia>

        * NEWS, contrib/mod_ratio.c, contrib/mod_sql.c, include/dirtree.h,
        include/modules.h, modules/mod_core.c, src/auth.c, src/main.c,
        src/modules.c: Bug#1926 - AuthOrder doesn't work.  Also did a lot of style cleanup along the way.

2003-01-17  castaglia <castaglia>

        * NEWS, utils/ftptop.c: Adding displaying of transfer rates to
        ftptop.

2003-01-16  castaglia <castaglia>

        * Make.rules.in: The patch for Bug#1904 added building of
        utils/misc.o for ftpwho rather than ftptop.  ftptop may need it, but
        it doesn't link against -lsupp, whereas ftpwho does.

2003-01-16  castaglia <castaglia>

        * src/regexp.c: Missing Id keyword.

2003-01-16  castaglia <castaglia>

        * NEWS, contrib/mod_sql_mysql.c, include/support.h,
        modules/mod_core.c, modules/mod_log.c, src/dirtree.c,
        src/support.c, utils/misc.c: Bug#1922 - Server allows RNTO an
        existing file even with AllowOverwrite turned off Some logging bugs in mod_log also corrected.

2003-01-14  castaglia <castaglia>

        * include/inet.h, src/data.c, src/inet.c, src/main.c: Adding
        checking for, and logging of, errors when calling setsockopt(2).

2003-01-14  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#1923 - %N magic cookie reports
        incorrectly.

2003-01-14  castaglia <castaglia>

        * NEWS, modules/mod_log.c: Fixing problem with using %f for DELE
        logging, as mentioned on -user.

2003-01-13  castaglia <castaglia>

        * NEWS: Forgot to mention tcp{Receive,Send}Window fix in NEWS.

2003-01-13  castaglia <castaglia>

        * src/data.c: Fixing the timing of setting of socket options.  The
        tcpReceiveWindow and tcpSendWindow configuration directives were not
        taking effect properly because setsockopt(2) was being called, for
        the data connection, _after_ the TCP handshake was done.  As it is
        during the handshake when such things as window sizes are
        negotiated, this timing rendered any configuration settings useless.

2003-01-13  castaglia <castaglia>

        * src/main.c: As John pointed out, it's better to have run-time
        generated files, much like coredumps, to be under RUN_DIR
        (/var/run/proftpd), or CORE_DIR (although CORE_DIR is #defined to be
        RUN_DIR).  So now, the profiling gmon.out and bb.out files will be
        found there, rather than /tmp.  Thanks, John! =)

2003-01-13  castaglia <castaglia>

        * Make.rules.in, modules/mod_core.c, src/main.c: Added
        DEVEL_NO_DAEMON define, and changed other DEBUG_* defines to match.
        The purpose for these is to be able to build a proftpd daemon that
        can be profiled.  Now, one can have a configure statement such as:   CFLAGS="-DDEVEL_NO_DAEMON -DDEVEL_NO_FORK -g -pg -a" \     LIBS="-pg" ./configure ...  The resulting daemon will only handle one session.  The bb.out and
        gmon.out profiling files will be written to /tmp.

2003-01-13  castaglia <castaglia>

        * configure: Updating configure script.

2003-01-13  castaglia <castaglia>

        * configure.in: Removing -Wfloat-equal, for now.  This warning flag
        was introduced with gcc-3.0, and so we'll need to check the gcc
        version being used (if indeed it is gcc being used) before using
        this flag.

2003-01-13  castaglia <castaglia>

        * modules/mod_xfer.c: Floating point numbers are best compared using
        greater/less than, not equals.  Thanks to Steve Grubb for pointing
        this out.

2003-01-13  jwm <jwm>

        * NEWS: Add -Wundef and -Wfloat-equal to CFLAGS (Suggested by Steve
        Grubb <linux_4ever@yahoo.com>)

2003-01-13  jwm <jwm>

        * configure: update with autoconf 2.57; I'm curious if this changes
        the LFS problems I'm currently working on

2003-01-13  castaglia <castaglia>

        * configure.in: Add -Wfloat-equal and -Wundef to the warning flags
        enabled by using the --enable-devel configure option.

2003-01-13  jwm <jwm>

        * configure: update

2003-01-13  castaglia <castaglia>

        * NEWS, modules/mod_core.c, src/main.c: Bug#1910 - ProFTPD hangs on
        SIGHUP.

2003-01-11  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#1919 - <Directory> section already
        configured for $dir needs clarification.

2003-01-09  jwm <jwm>

        * configure: update

2003-01-09  jwm <jwm>

        * modules/mod_cap.c: EnableCapabilities -> CapabilitiesSet

2003-01-09  jwm <jwm>

        * README.capabilities, configure.in: OS-neutrality

2003-01-08  castaglia <castaglia>

        * contrib/mod_radius.c: Corrected typo in session accouting
        variables.  Bumped version number.

2003-01-08  castaglia <castaglia>

        * NEWS, lib/pr-syslog.c: Bug#1891 - SGI syslog isn't being written
        to.

2003-01-07  castaglia <castaglia>

        * contrib/mod_radius.c: Use cmd->arg, rather than cmd->argv[1], from
        the C_PASS command.

2003-01-07  castaglia <castaglia>

        * modules/mod_core.c, src/timers.c: Correcting minor bugs.

2003-01-07  castaglia <castaglia>

        * configure: Updated configure script.

2003-01-07  castaglia <castaglia>

        * configure.in: Add enable/disable configure option, for excluding
        mod_cap from Linux builds, for those sites that wish to have
        minimalist builds (e.g. every automatic inclusion should have an
        optional switch for disabling that inclusion).

2003-01-05  jwm <jwm>

        * NEWS: style nit

2003-01-05  jwm <jwm>

        * Make.rules.in, NEWS: Bug 1904 - Tru64 UNIX 4.0D and sstrncpy()

2003-01-05  jwm <jwm>

        * modules/glue.sh: style

2003-01-05  jwm <jwm>

        * configure: update

2003-01-05  jwm <jwm>

        * Make.rules.in, Makefile.in, NEWS, configure.in, lib/Makefile.in,
        modules/Makefile.in, src/Makefile.in, utils/Makefile.in: Bug 1826 -
        Makefiles are a bit icky. This gives the build system a nice tidying
        up; I don't seem to have broken anything.  The only noticable change is that the dist/distclean/cvsclean
        targets have been cleaned up: cvsclean: is no more. Use distclean instead.  distclean: return the
                   source tree to its pristine condition (don't touch CVS state
        directories).  dist: prepare the source tree for distribution. Move
              the RPM spec file into place and blow away any CVS state
        directories.

2003-01-05  jwm <jwm>

        * config.guess, config.sub: part of Bug 1826 - Makefiles are a bit
        icky: updated config.{guess,sub}

2003-01-05  jwm <jwm>

        * Makefile.in: Part of #1826 - ftptop doesn't need to link against
        $(LIBS)

2003-01-05  jwm <jwm>

        * configure: update

2003-01-05  jwm <jwm>

        * NEWS: credit for #1893

2003-01-05  jwm <jwm>

        * NEWS, configure.in: Bug 1893 - Apple likes to move things

2003-01-05  jwm <jwm>

        * lib/glibc-mkstemp.c, lib/pr-syslog.c, lib/pwgrent.c,
        lib/strsep.c, lib/vsnprintf.c, modules/mod_auth.c,
        modules/mod_auth_file.c, modules/mod_core.c, modules/mod_ls.c,
        modules/mod_site.c, utils/ftpcount.c, utils/ftpshut.c,
        utils/ftptop.c, utils/ftpwho.c, utils/misc.c, utils/scoreboard.c: 
        nuke trailing whitespace

2003-01-03  jwm <jwm>

        * NEWS: credit where credit is due

2003-01-03  jwm <jwm>

        * src/Makefile.in: utils.c doesn't seem to be needed anymore...

2003-01-03  jwm <jwm>

        * NEWS: mod_cap announcement

2003-01-03  jwm <jwm>

        * README.capabilities, contrib/dist/rpm/proftpd.spec: mod_linuxprivs
        -> mod_cap

2003-01-03  jwm <jwm>

        * README.modules: mod_linuxprivs is now the official module mod_cap

2003-01-03  jwm <jwm>

        * contrib/dist/rpm/proftpd.spec: we don't have to explicitly include
        mod_linuxprivs anymore; mod_cap will be included automatically

2003-01-03  jwm <jwm>

        * configure: update

2003-01-03  jwm <jwm>

        * config.h.in, configure.in, modules/mod_cap.c: fix the build :-)
        This now autodetects and cleanly builds mod_cap into proftpd if the
        host OS (Linux) supports it

2003-01-03  jwm <jwm>

        * configure: update

2003-01-03  jwm <jwm>

        * config.h.in, configure.in: fixing linux/capability.h detection

2003-01-03  jwm <jwm>

        * configure: update

2003-01-03  jwm <jwm>

        * modules/mod_cap.c: removing debugging cruft

2003-01-03  jwm <jwm>

        * configure.in, modules/mod_cap.c: removing last Linux-specific bits
        of mod_cap

2003-01-03  jwm <jwm>

        * modules/mod_cap.c: getting rid of some linux references

2003-01-03  jwm <jwm>

        * configure: update

2003-01-03  jwm <jwm>

        * configure.in, contrib/README, modules/mod_cap.c: mod_linuxprivs ->
        mod_cap

2003-01-03  jwm <jwm>

        * configure.in, lib/libcap/.cvsignore, lib/libcap/Makefile,
        lib/libcap/_makenames.c, lib/libcap/cap_alloc.c,
        lib/libcap/cap_extint.c, lib/libcap/cap_file.c,
        lib/libcap/cap_flag.c, lib/libcap/cap_proc.c, lib/libcap/cap_sys.c,
        lib/libcap/cap_text.c, lib/libcap/include/sys/capability.h,
        lib/libcap/libcap.h: Turning mod_linuxprivs into a core module,
        mod_cap. This is by no means complete.

2003-01-02  castaglia <castaglia>

        * contrib/mod_sql.c: Added handling of %U to mod_sql, so that it can
        be used in SQLNamedQuery directives; part of the addition of
        Bug#1482.

2003-01-02  jwm <jwm>

        * doc/license.txt: update copyright year

2003-01-02  castaglia <castaglia>

        * configure: Updated configure script.

2003-01-02  castaglia <castaglia>

        * config.h.in, configure.in, contrib/mod_radius.c,
        contrib/mod_rewrite.c, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
        contrib/mod_sql_postgres.c, contrib/mod_tls.c, include/data.h,
        include/ident.h, include/pool.h, include/proftpd.h,
        include/response.h, include/support.h, modules/mod_auth.c,
        modules/mod_auth_pam.c, modules/mod_core.c, modules/mod_log.c,
        modules/mod_ls.c, modules/mod_xfer.c, src/bindings.c, src/data.c,
        src/ident.c, src/inet.c, src/main.c, src/netio.c, src/pool.c,
        src/regexp.c, src/response.c, src/scoreboard.c, src/support.c,
        src/timers.c: More namespace/API changes, for consistency:   data_*() -> pr_data_*()   register_rehash() ->  pr_rehash_register_handler()   add_exit_handler() -> pr_exit_register_handler()   (un)block_alarms() -> pr_alarms_(un)block()   (un)block_signals() -> pr_signals_(un)block()   pr_handle_signals() -> pr_signals_handle() The distinction for which I am striving is to have all the functions
        that module developers should use to be prefixed with pr_; public
        functions may be available without a pr_ prefix, but such functions
        will be intended for use by the core code only.  Also, more in the RFC2228 support department:   session_t has a new field, rfc2228_mech.  This is to be filled in
          by the RFC2228 module that handles an AUTH command, so that other   RFC2228 modules, should they be higher in the module load order,
          know not to process RFC2228 commands meant for the handling
        module.    The response formatting callback function now takes an additional   parameter, a pool pointer, as the first argument.  The pool that
          will be passed to that function will be the same pool used by the
          other response functions.

2003-01-02  castaglia <castaglia>

        * configure.in, contrib/ftpasswd, contrib/mod_radius.c,
        contrib/mod_readme.c, contrib/mod_rewrite.c, contrib/mod_tls.c,
        contrib/mod_wrap.c, doc/mod_sample.c, include/bindings.h,
        include/conf.h, include/data.h, include/default_paths.h,
        include/dirtree.h, include/feat.h, include/fsio.h, include/ftp.h,
        include/ident.h, include/inet.h, include/libsupp.h, include/log.h,
        include/modules.h, include/netio.h, include/options.h,
        include/pool.h, include/pr-syslog.h, include/privs.h,
        include/proftpd.h, include/regexp.h, include/response.h,
        include/scoreboard.h, include/sets.h, include/support.h,
        include/timers.h, modules/mod_auth.c, modules/mod_auth_file.c,
        modules/mod_auth_unix.c, modules/mod_core.c, modules/mod_log.c,
        modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c,
        src/auth.c, src/bindings.c, src/data.c, src/dirtree.c, src/feat.c,
        src/fsio.c, src/ident.c, src/inet.c, src/log.c, src/main.c,
        src/modules.c, src/netio.c, src/pool.c, src/regexp.c,
        src/response.c, src/scoreboard.c, src/sets.c, src/support.c,
        src/timers.c, utils/ftpcount.c, utils/ftpshut.c, utils/ftptop.c,
        utils/ftpwho.c, utils/misc.c, utils/scoreboard.c, utils/utils.h: 
        Updating the copyright notice in the file headers for the new year.

2003-01-02  castaglia <castaglia>

        * Makefile.in: Adding man page for ftptop.

2003-01-01  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c, contrib/mod_sql.h,
        contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Bug#1671 - new
        directive SQLLogFile.

2003-01-01  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#1272 - Requested Addition:
        DenyFilter by User or DenyFilter by Directory.

2002-12-31  castaglia <castaglia>

        * utils/ftptop.c: Actually calculate and display the TIME value
        (duration of session, in seconds).

2002-12-31  castaglia <castaglia>

        * src/main.c: Make sure that the configuration file specified using
        the -c command-line option is an absolute path.  Bug noted by
        Michael Renner.

2002-12-31  castaglia <castaglia>

        * NEWS, src/fsio.c: Bug#1894 - Double chdir into self-referencing
        symlink fails with "No such file or directory".

2002-12-31  castaglia <castaglia>

        * include/scoreboard.h, modules/mod_auth.c, src/scoreboard.c,
        utils/ftptop.c, utils/ftpwho.c, utils/utils.h: Portion of changes
        requested in Bug#1794.

2002-12-31  castaglia <castaglia>

        * modules/mod_auth.c: Yet another missing word ("the").

2002-12-31  castaglia <castaglia>

        * modules/mod_auth.c: Missing "of" in message string (noted by
        Michael).

2002-12-28  castaglia <castaglia>

        * include/version.h: Updating version for CVS.

2002-12-28  castaglia <castaglia>

        * ChangeLog, NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: 
        Preparing for 1.2.8rc1 release.

2002-12-27  castaglia <castaglia>

        * configure: Updating configure script.

2002-12-27  castaglia <castaglia>

        * NEWS, configure.in: Bug#1906 - Add description strings to
        AC_DEFINE

2002-12-27  jwm <jwm>

        * NEWS: style, date formatting

2002-12-27  jwm <jwm>

        * src/auth.c, src/data.c, src/dirtree.c, src/inet.c, src/log.c,
        src/main.c, src/modules.c, src/pool.c, src/support.c, src/timers.c: 
        style

2002-12-27  jwm <jwm>

        * NEWS: whitespace cleanup

2002-12-27  jwm <jwm>

        * configure: update

2002-12-27  jwm <jwm>

        * NEWS, configure.in: Bug 1863 - Unable to build under UnixWare 7

2002-12-27  jwm <jwm>

        * Makefile.in, NEWS: Bug 1903 - ftpwho depends on snprintf but
        doesn't link in lib/libsupp.a

2002-12-27  jwm <jwm>

        * NEWS, src/timers.c, utils/ftptop.c: Bug 1905 - AIX needs
        "config.h" included before *anything* else.

2002-12-27  castaglia <castaglia>

        * src/main.c: Removing the internal_abort() code, which was only
        enabled by using the --enable-devel switch.  It's more useful to use
        gdb in this case.

2002-12-27  jwm <jwm>

        * contrib/README: cruft removal, cleanup, style, grammar

2002-12-27  castaglia <castaglia>

        * NEWS: Bug#1888: Increase mod_linuxprivs configurability.

2002-12-27  castaglia <castaglia>

        * src/main.c: Change the reporting of "Invalid argument" when
        deleting a scoreboard slot to be DEBUG1.  This message can appear
        for reasons other than scoreboard issues (e.g. a module bars a
        client from completely connecting, misconfigurations, etc).

2002-12-26  jwm <jwm>

        * modules/mod_auth_file.c: silence compiler warning about crypt()

2002-12-26  castaglia <castaglia>

        * NEWS, utils/ftpwho.c: Bug#1900 - ftpwho's output on uploads.

2002-12-26  castaglia <castaglia>

        * modules/mod_xfer.c: Add debug call when failing to open a file for
        writing/uploading.  This should help pinpoint upload failures.

2002-12-20  castaglia <castaglia>

        * modules/mod_auth_file.c, modules/mod_core.c, modules/mod_xfer.c: 
        Style cleanups.

2002-12-19  castaglia <castaglia>

        * configure: Updating configure script.

2002-12-19  castaglia <castaglia>

        * modules/mod_auth_file.c: Putting the copyright in the project's
        name.

2002-12-19  castaglia <castaglia>

        * NEWS: Forgot to update NEWS with description of
        Bug#1837/mod_auth_file addition.

2002-12-19  castaglia <castaglia>

        * config.h.in, configure.in, modules/mod_auth_file.c,
        modules/mod_auth_pam.c, modules/mod_auth_unix.c,
        modules/mod_core.c, src/main.c: Bug#1837 - Add module specifically
        for handling Auth*Files, providing finer-grained control.  This
        patch also renames mod_unixpw.c to mod_auth_unix.c, and mod_pam.c to
        mod_auth_pam.c.  Configure options have --disable-auth-file,
        --disable-auth-unix, --enable-auth-pam, as appropriate.

2002-12-19  castaglia <castaglia>

        * contrib/mod_sql.c, contrib/mod_sql_mysql.c,
        contrib/mod_sql_postgres.c, contrib/mod_tls.c: Cleaning up some
        warnings, seen under --enable-devel, in some contrib modules.
        Pointed out by Michael.  Just to note: a lot of the warnings generated by mod_tls
        (specifically, by the OpenSSL files #include'd by mod_tls) cannot be
        fixed by us.  Quite a few of the warnings are about function
        prototypes; the OpenSSL developers don't have complete prototype
        declarations for a lot of the function pointer callback struct
        slots.  Oh well.

2002-12-19  castaglia <castaglia>

        * src/dirtree.c: In tracking down an unrelated bug last night, I
        discovered that, at present, proftpd's parser will gladly handle
        empty contexts, such as when:   <Directory blah>   </Directory> or   <Global>   </Global> appear in the configuration file.  These empty sets are useless, and
        serve only to use up memory unnecessarily; that memory usage is
        compounded when directives are merged down into these sets.  This patch checks for such empty contexts (in end_sub_config()), and
        removes them from the configuration tree.

2002-12-19  castaglia <castaglia>

        * contrib/mod_tls.c: Forgot a parameter to tls_log().

2002-12-19  castaglia <castaglia>

        * contrib/mod_tls.c: Change handling of PROT in tls_prot() slightly.

2002-12-19  castaglia <castaglia>

        * contrib/mod_tls.c: More instances where mod_tls was being
        impolite, and returning ERROR where it should be returning DECLINED,
        in order to allow other modules a chance at handling some of the
        RFC2228 commands.

2002-12-19  castaglia <castaglia>

        * contrib/mod_tls.c: Changed mod_tls' handling of AUTH command to
        allow other RFC2228 modules a change at processing that command.

2002-12-19  castaglia <castaglia>

        * modules/mod_ls.c, src/dirtree.c, src/main.c: Minor
        style/formatting changes.

2002-12-18  castaglia <castaglia>

        * configure: Updating configure script.

2002-12-18  castaglia <castaglia>

        * NEWS, config.h.in, configure.in: Bug#1667 - Integrate ProFTPD with
        C2/SIA on Tru64 Unix.

2002-12-18  castaglia <castaglia>

        * contrib/mod_radius.c: Fixing several bugs in mod_radius'
        accounting code.

2002-12-18  jwm <jwm>

        * NEWS, src/main.c: Bug 1885 - -q/--quiet option for use with the
        -n/--nodaemon flag. Useful for running proftpd from inittab or with
        daemontools.

2002-12-17  castaglia <castaglia>

        * modules/mod_auth.c: The cleanup of variable names done by the
        adding of the --enable-devel option caused a problem here, where a
        variable "c" was used a little too often, causing
        MaxClients/MaxHosts* lookups to fail.  Thanks to Michael Renner for
        the help in tracking this one down.

2002-12-17  castaglia <castaglia>

        * include/modules.h, include/privs.h, src/main.c, src/modules.c: The
        module init dispatch functions aren't public, and hence do not need
        the pr_ prefix.  Change the debug level for privs changes to 9 (was 8).

2002-12-17  jwm <jwm>

        * include/conf.h, include/data.h, include/default_paths.h,
        include/dirtree.h, include/ftp.h, include/ident.h, include/inet.h,
        include/libsupp.h, include/modules.h, include/netio.h,
        include/options.h, include/privs.h, include/proftpd.h,
        include/sets.h: nuke trailing whitespace

2002-12-17  castaglia <castaglia>

        * modules/mod_core.c: Add the RFC2228 commands to the HELP output,
        but listed as "not supported".  A means for RFC2228 modules (e.g.
        mod_tls, mod_gss) to change the supported flag from FALSE to TRUE
        for these commands is needed.

2002-12-17  castaglia <castaglia>

        * modules/mod_core.c: Oops.  Not quite ready to commit these changes
        yet.

2002-12-17  castaglia <castaglia>

        * contrib/mod_rewrite.c, modules/mod_core.c, modules/mod_ls.c,
        src/dirtree.c, src/support.c, utils/ftpcount.c, utils/ftptop.c,
        utils/ftpwho.c: Changed some buffers to use PR_TUNABLE_BUFFER_SIZE
        (and not to use hardcoded numbers).

2002-12-16  castaglia <castaglia>

        * include/modules.h: Returning ERROR from an auth handler
        (specifically, in an "auth" or a "check" auth handler) will not
        produce the desired result; the ERROR macro sets a value of 1, and
        the switch() case in mod_auth looks for negative values.  So, to
        handle this case, I've added PR_AUTH_ERROR return value (-1) for
        auth handlers that encounter errors, and adjusted the other
        PR_AUTH_* values accordingly.

2002-12-16  castaglia <castaglia>

        * include/modules.h, src/main.c: Make the function for dispatching
        commands a public function: pr_cmd_dispatch().  Some RFC2228 modules
        may need to "unwrap" encrypted commands and then dispatch the
        unwrapped commands themselves.  (This also allows for greater games
        to be played by third-party modules...muahahaha...) *grin*

2002-12-16  castaglia <castaglia>

        * src/main.c: Changing buffer used for storing commands read in from
        client to be of PR_TUNABLE_BUFFER_SIZE, rather than hardcoded to
        1024.

2002-12-16  jwm <jwm>

        * src/main.c: er, yeah. pointer and all that.

2002-12-16  jwm <jwm>

        * src/main.c: cleanup

2002-12-15  jwm <jwm>

        * configure: updated configure

2002-12-15  jwm <jwm>

        * NEWS, acconfig.h, config.h.in, configure.in, src/inet.c: Bug 1883
        - socklen_t patch. Thanks to Andy Igoshin <ai@vsu.ru> for the patch.

2002-12-13  castaglia <castaglia>

        * src/dirtree.c, src/fsio.c, src/inet.c, src/modules.c: Being
        pedantic, and making sure that pcalloc() is used, to make sure that
        memory is zeroed before use (helps to cut down on heap bugs).

2002-12-13  castaglia <castaglia>

        * utils/ftpwho.c: Correcting placement of newline (from Bug#1886).

2002-12-13  castaglia <castaglia>

        * Make.rules.in, contrib/mod_ratio.c, contrib/mod_readme.c,
        contrib/mod_sql.c, contrib/mod_tls.c, doc/mod_sample.c,
        include/conf.h, include/dirtree.h, include/proftpd.h,
        include/response.h, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c,
        modules/mod_xfer.c, src/data.c, src/main.c, src/response.c: 
        Reworking of response functions.

2002-12-12  castaglia <castaglia>

        * NEWS, contrib/mod_radius.c: Bug#1875 - same radius packet id for
        start- and stop-accounting record.

2002-12-12  jwm <jwm>

        * utils/ftptop.c: make the display a bit prettier and make the best
        use of an 80-column screen

2002-12-12  castaglia <castaglia>

        * NEWS, utils/ftpwho.c: Bug#1886 - Ftpwho uses too many lines when
        authenticating.

2002-12-12  castaglia <castaglia>

        * include/options.h, lib/glibc-glob.c: These changes make it
        possible to tune the maximum number of recursion levels supported
        when globbing.  A better way of dealing with possible DoS attacks
        via globbing is via the RLimit* directives, or to disable globbing
        support altogether by using the UseGlobbing directive.  However, in
        some cases it may be necessary to support globbing, but to do so in
        as restrictive a manner as possible.  The default maximum number of levels supported by GNU's globbing is
        8.  This patch keeps that default, but allows the administrator, if
        need be, to tune that level lower by means of the
        PR_TUNABLE_GLOBBING_MAX macro, defined in include/options.h.  When
        compiling proftpd, it can be defined to some lower value, e.g.:   CFLAGS="-DPR_TUNABLE_GLOBBING_MAX=2" ./configure ...

2002-12-12  castaglia <castaglia>

        * include/modules.h: Set PR_AUTH_RFC2228_OK to be 2, to avoid the
        value 1 (that is used by the ERROR macro).

2002-12-12  castaglia <castaglia>

        * contrib/mod_tls.c, include/netio.h, src/netio.c: Added a shutdown
        callback to the NetIO API, allowed netio modules (e.g.  mod_gss) to
        perform a shutdown as they needed, rather than simply calling
        shutdown(2).

2002-12-12  jwm <jwm>

        * modules/mod_auth.c: typo Noticed by: Mihai RUSU <dizzy@roedu.net>

2002-12-11  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#1881 - Bug in Function MaxClients.

2002-12-11  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_core.c, src/support.c: Some of
        these files' handling of configuration parameters was not thorough
        with respect to get_param_int() to get_param_ptr() changes (shame on
        me), and it was causing a segfault when handling some Display*
        files.

2002-12-11  castaglia <castaglia>

        * contrib/mod_wrap.c, include/dirtree.h, modules/mod_auth.c,
        modules/mod_core.c, modules/mod_xfer.c, src/dirtree.c: Forgot to
        prefix the expression functions with pr_.

2002-12-11  castaglia <castaglia>

        * NEWS, modules/mod_site.c: Bug#1882 - SITE chmod 777
        file<space>name.

2002-12-11  castaglia <castaglia>

        * NEWS, contrib/mod_wrap.c, include/dirtree.h, include/modules.h,
        modules/mod_auth.c, modules/mod_core.c, modules/mod_site.c,
        modules/mod_xfer.c, src/dirtree.c: Bug#1507 - regex pattern matching
        in [Allow/Deny][User/Group].  This patch also adjusts the handling
        of user- and class-expressions, so that they are evaluated as OR
        expression, rather than as AND expression (AND evaluation for users
        and classes do not make sense).

2002-12-11  jwm <jwm>

        * doc/Configuration.html, doc/Configuration.sgml: updated docs

2002-12-10  castaglia <castaglia>

        * configure: Updating configure script.

2002-12-10  castaglia <castaglia>

        * configure.in: Forgot a comma.

2002-12-10  castaglia <castaglia>

        * configure: Updating configure script.

2002-12-10  castaglia <castaglia>

        * Makefile.in, NEWS, config.h.in, configure.in, include/dirtree.h,
        include/fsio.h, include/libsupp.h, include/log.h,
        include/modules.h, include/netio.h, include/pool.h,
        include/support.h, include/timers.h, lib/glibc-glob.c,
        lib/glibc-mkstemp.c, lib/pr_fnmatch.c, lib/vsnprintf.c,
        modules/mod_auth.c, modules/mod_log.c, modules/mod_ls.c,
        modules/mod_site.c, modules/mod_xfer.c, src/bindings.c,
        src/dirtree.c, src/fsio.c, src/inet.c, src/log.c, src/main.c,
        src/modules.c, src/netio.c, src/regexp.c, src/scoreboard.c,
        src/sets.c, src/support.c, utils/ftpwho.c, utils/utils.h: This patch
        adds an --enable-devel configure option, which does the following:   install won't use -s, so that object files aren't stripped   core dumps should be allowed (although I'm having trouble
            producing them...I'm sure I'm missing something obvious)   CFLAGS is changed to use quite a few of the -W options The rest of the patch is code cleanup, fixing things brought to
        light by the -W options.  The one remaining warning is about the K&R
        style pam function in mod_pam.c -- I think that may be required.

2002-12-10  castaglia <castaglia>

        * configure: Updating configure script.

2002-12-10  castaglia <castaglia>

        * NEWS, modules/mod_core.c, src/main.c: Bug#1858 - move "session
        closed" logging from graceful quit to child exit sequence.

2002-12-09  jwm <jwm>

        * lib/vsnprintf.c: silence compiler warning

2002-12-09  jwm <jwm>

        * lib/vsnprintf.c: style

2002-12-09  jwm <jwm>

        * lib/vsnprintf.c: need ctype.h for is*()

2002-12-09  jwm <jwm>

        * lib/pr_fnmatch_loop.c: need to include ctype.h for is*()

2002-12-07  jwm <jwm>

        * NEWS: credit where credit is due

2002-12-07  jwm <jwm>

        * modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c,
        src/auth.c, src/dirtree.c, src/inet.c, src/main.c, src/modules.c,
        src/pool.c, src/sets.c, src/support.c: style

2002-12-07  jwm <jwm>

        * modules/mod_auth.c, modules/mod_core.c, src/dirtree.c, src/main.c: 
        style

2002-12-07  jwm <jwm>

        * NEWS, acconfig.h, config.h.in, configure.in, include/data.h,
        src/data.c: AIX sendfile support

2002-12-07  jwm <jwm>

        * contrib/dist/rpm/proftpd.init.d: * add /usr/local/sbin/ to $PATH * don't assume ftpshut is in /usr/sbin/, let the shell's PATH figure
        it out * style

2002-12-07  jwm <jwm>

        * src/auth.c, src/bindings.c, src/data.c, src/dirtree.c,
        src/feat.c, src/fsio.c, src/ident.c, src/inet.c, src/log.c,
        src/main.c, src/modules.c, src/netio.c, src/pool.c, src/regexp.c,
        src/scoreboard.c, src/sets.c, src/support.c, src/timers.c: style

2002-12-07  jwm <jwm>

        * modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c,
        modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c: nuke
        trailing whitespace, style

2002-12-07  jwm <jwm>

        * src/bindings.c: trailing whitespace

2002-12-07  castaglia <castaglia>

        * modules/mod_xfer.c: Inadvertently changed the default handling of
        AllowRetrieveRestart in the get_param_int() -> get_param_ptr()
        changes.

2002-12-07  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c, include/log.h, modules/mod_core.c,
        modules/mod_log.c, src/log.c, src/main.c: Bug#1515 - Enable mod_log
        to log into default log / syslog.

2002-12-07  jwm <jwm>

        * src/bindings.c: Fix bidings for DefaultServer-affected and
        localhost connections.  pr_ipbind_get_server() would never find the default server because
        it was hashing an address (say, 127.0.0.1) different from the
        address used by the main server (0.0.0.0). Instead, store a pointer
        to the default and localhost bindings and fall back to them if the
        explicit lookup fails.

2002-12-07  castaglia <castaglia>

        * src/dirtree.c: Removing a get_param_int() that crept back in
        (probably from the Bindings patch).

2002-12-07  castaglia <castaglia>

        * Make.rules.in, NEWS, include/bindings.h, include/conf.h,
        include/dirtree.h, include/inet.h, modules/mod_core.c,
        src/bindings.c, src/dirtree.c, src/main.c: Committing the Bindings
        API.

2002-12-06  castaglia <castaglia>

        * include/ftp.h, include/proftpd.h, modules/mod_auth.c,
        modules/mod_core.c, modules/mod_ls.c, modules/mod_xfer.c,
        src/data.c, src/main.c: More RFC2228 support.

2002-12-06  castaglia <castaglia>

        * modules/mod_core.c, modules/mod_xfer.c: Provide configuration
        handlers that remark on deprecated directives, rather than simply
        having those directives removed (for now).

2002-12-06  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#1789 - Add ability to block recursive
        directory listings.

2002-12-06  jwm <jwm>

        * include/proftpd.h: tabs -> spaces

2002-12-06  castaglia <castaglia>

        * src/fsio.c: *sigh* One of these days I'll get this correct. =P

2002-12-06  castaglia <castaglia>

        * src/fsio.c: The FS API patch had some of the older, broken code
        w.r.t BSD and statfs().

2002-12-06  castaglia <castaglia>

        * NEWS, include/scoreboard.h, modules/mod_xfer.c, src/scoreboard.c,
        utils/ftpwho.c, utils/utils.h: Committing TransferRate patch to CVS.

2002-12-06  castaglia <castaglia>

        * contrib/mod_radius.c, contrib/mod_sql.c, include/proftpd.h,
        modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c,
        modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c,
        src/data.c, src/dirtree.c, src/inet.c, src/log.c, src/main.c: A
        stack of changes, related to removing get_param_int() from the core
        code, in favor of get_param_ptr().  I tried to test each affected
        directive as I went, but, of course, there may be bugs still
        lingering...

2002-12-06  castaglia <castaglia>

        * contrib/mod_sql.c: Removed erroneous/extraneous #include "fs.h"

2002-12-06  jwm <jwm>

        * lib/pwgrent.c: fix the build (PR_LOG_ERR isn't defined here
        because this is in libsupp)

2002-12-06  castaglia <castaglia>

        * modules/mod_log.c: Use C_* command macros.

2002-12-06  castaglia <castaglia>

        * NEWS, modules/mod_log.c: Bug#1605 - MKD and RMD do not log
        filepaths with %f or %F option in ExtendedLog.

2002-12-05  castaglia <castaglia>

        * NEWS, modules/mod_log.c: Bug#1403 - per-server system logs via
        ServerLog directive.

2002-12-05  castaglia <castaglia>

        * NEWS, contrib/mod_rewrite.c: Adding mod_rewrite to the mix.

2002-12-05  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#1205 - Add debug option to
        SystemLog.

2002-12-05  castaglia <castaglia>

        * NEWS, include/modules.h, include/options.h, modules/mod_core.c,
        src/main.c, src/modules.c: Bug#1788 - Add ability to configure auth
        module checking order.

2002-12-05  castaglia <castaglia>

        * configure: Updated configure script.

2002-12-05  castaglia <castaglia>

        * configure.in: Update configure.in to use AC_HELP_STRING macro for
        pretty-printing of --enable and --with options.

2002-12-05  castaglia <castaglia>

        * NEWS: Adding thanks (well deserved!) to Peter Runestig for his
        work on mod_tls.

2002-12-05  castaglia <castaglia>

        * NEWS, contrib/mod_tls.c: Bug#1712 - TLS support.

2002-12-05  castaglia <castaglia>

        * Make.rules.in, NEWS, contrib/mod_ldap.c, contrib/mod_ratio.c,
        contrib/mod_readme.c, contrib/mod_sql.c, contrib/mod_wrap.c,
        include/conf.h, include/dirtree.h, include/fsio.h, include/netio.h,
        include/proftpd.h, include/support.h, lib/Makefile.in,
        modules/Makefile.in, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c,
        src/Makefile.in, src/dirtree.c, src/fsio.c, src/main.c,
        src/netio.c, src/support.c, utils/Makefile.in: Bug#1653 - Complete
        the FS API abstraction implementation.

2002-12-05  castaglia <castaglia>

        * NEWS, include/proftpd.h, modules/mod_core.c, modules/mod_xfer.c: 
        Bug#1743 - No magic cookie for number of files transfered.

2002-12-05  castaglia <castaglia>

        * NEWS, include/modules.h, include/version.h, src/main.c,
        src/modules.c, src/support.c: Bug#1833 - Add ability to have add'l
        module initialization callback.

2002-12-05  castaglia <castaglia>

        * Make.rules.in, NEWS, doc/rfc/rfc2389.txt, include/conf.h,
        include/dirtree.h, include/feat.h, include/ftp.h,
        include/modules.h, include/regexp.h, lib/Makefile.in,
        modules/Makefile.in, modules/mod_core.c, src/Makefile.in,
        src/dirtree.c, src/feat.c, src/main.c, src/modules.c: Bug#1806 - Add
        RFC2389 support.

2002-12-05  castaglia <castaglia>

        * NEWS, contrib/mod_ldap.c, contrib/mod_radius.c,
        contrib/mod_sql.c, contrib/mod_sql_mysql.c,
        contrib/mod_sql_postgres.c, include/modules.h, modules/mod_auth.c,
        src/auth.c: Bug#1825 - AUTH macro namespace cleanup.

2002-12-05  castaglia <castaglia>

        * contrib/mod_radius.c, contrib/mod_sql.c, contrib/mod_wrap.c,
        include/privs.h, lib/pwgrent.c, modules/mod_auth.c,
        modules/mod_core.c, modules/mod_log.c, modules/mod_xfer.c,
        src/main.c: Making sure that all LOG_* macros have PR_ prefix, for
        consistency.

2002-12-05  castaglia <castaglia>

        * NEWS, src/dirtree.c: Bug#1683 - Handling of VirtualHosts on
        startup.

2002-12-05  castaglia <castaglia>

        * NEWS, modules/mod_log.c: Bug#1482 - Add new %U meta to LogFormat,
        for logging original username.

2002-12-05  castaglia <castaglia>

        * configure: Updated configure script.

2002-12-05  castaglia <castaglia>

        * NEWS, config.h.in, configure.in: Bug#1597 - Problems with HP-UX
        10/11 trusted systems, mod_pam, and mod_unixpw.

2002-12-05  castaglia <castaglia>

        * include/version.h: Now that 1.2.7 has been released, update the
        version info in CVS.

2002-12-05  castaglia <castaglia>

        * doc/mod_sample.c: Correcting typos.

2002-12-05  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.spec: Updating version for 1.2.7 release.

2002-12-05  castaglia <castaglia>

        * ChangeLog, NEWS, include/version.h: Preparing for release of
        1.2.7.

2002-12-04  castaglia <castaglia>

        * modules/mod_auth.c: Patching to fix off-by-one bug in
        MaxHostsPerUser directive handling.

2002-12-04  castaglia <castaglia>

        * NEWS, include/support.h, modules/mod_auth.c, src/support.c: Adding
        memory scrubber for memset() issue mentioned here:   http://online.securityfocus.com/archive/1/298598

2002-12-03  castaglia <castaglia>

        * NEWS, utils/ftpcount.c: Bug#1868 - Wrong cmdopts in ftpcount.c

2002-12-02  castaglia <castaglia>

        * NEWS, utils/ftpwho.c: Bug#1861 - 'ftpwho -v -o oneline' print all
        connections in one line.

2002-12-02  castaglia <castaglia>

        * src/dirtree.c: Minor preprocessor changes.

2002-12-02  castaglia <castaglia>

        * src/dirtree.c: Removed unused variable.

2002-12-02  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c, src/pool.c: Bug#1846 - File overwrites
        fail.  Thanks to Sergei Rozinov for tracking down this bug.

2002-11-26  castaglia <castaglia>

        * src/support.c: Minor style change: use macros for FTP commands.

2002-11-26  castaglia <castaglia>

        * NEWS, lib/pr-syslog.c: Bug#1853 - SyslogFacility: unable to open
        syslog.

2002-11-25  castaglia <castaglia>

        * modules/mod_auth.c: Moving hcur increment to a more appropriate
        location.  There still seems to be lingering issues with these
        limits, though.  Yay.

2002-11-25  castaglia <castaglia>

        * modules/mod_core.c: Oops.  A little too zealous on the previous
        change -- mg_size should always be filled, even if get_fs_size() is
        not supported on the host.

2002-11-25  castaglia <castaglia>

        * modules/mod_core.c: Adjust core_display_file() to use
        get_param_ptr() when looking up a MaxClients setting to display.
        The MaxClients configuration handler had been changed to storing a
        pointer, but this function hadn't been updated to reflect that
        configuration handler change.

2002-11-25  castaglia <castaglia>

        * include/dirtree.h: Removing unused struct members.

2002-11-25  castaglia <castaglia>

        * contrib/mod_radius.c, modules/mod_auth.c, modules/mod_ls.c,
        src/dirtree.c, src/ident.c, src/support.c, utils/ftpshut.c: Removed
        use of UCHAR cast from core code.  It is meant specifically for the
        fnmatch code, and is a #define to an unsigned char -- but the ANSI C
        standards define the parameter to many of the is*() functions to be
        an int, and the UCHAR cast was being used with those is*()
        functions.  Instead, those UCHAR casts have been replaced with int
        casts.

2002-11-25  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#1856 - TimesGMT acts like default is
        'off'.

2002-11-25  castaglia <castaglia>

        * modules/mod_xfer.c: %lu crept back in when PR_LU is needed...

2002-11-25  castaglia <castaglia>

        * NEWS, modules/mod_site.c: Bug#1852 - Proftpd gets signal 11 on
        "quote site".

2002-11-25  castaglia <castaglia>

        * doc/mod_sample.c, include/netio.h, src/ident.c, src/netio.c: 
        Updating my documentation this weekend,  and came across some minor
        inconsistencies...

2002-11-25  castaglia <castaglia>

        * modules/mod_xfer.c: Datatype overflow.

2002-11-23  jwm <jwm>

        * modules/mod_ls.c, utils/ftpshut.c, utils/ftptop.c: Silence
        remaining compiler warnings under Solaris 8 (save for the utmp code,
        bug Bug 1824 will address that).  The nlink_t/pid_t casts will be unnecessary once the Solaris _LP64
        ABI is the default (see sys/isa_defs.h for more info on the Solaris
        ABIs). I didn't want to move from _ILP32 (the historical default) to
        _LP64 because I wasn't sure of the ramifications. We don't have any
        DSOs to worry about, but I'm not sure what else would change/break.

2002-11-23  jwm <jwm>

        * NEWS, contrib/dist/rpm/proftpd.init.d: Bug 1680 - Error in startup
        script

2002-11-22  jwm <jwm>

        * configure: updated configure

2002-11-22  jwm <jwm>

        * NEWS, config.h.in, configure.in, src/support.c: Bug 1839 -
        undefined reference to `get_fs_size'

2002-11-22  castaglia <castaglia>

        * NEWS, utils/ftptop.c: Bug#1848 - undefined reference to
        `halfdelay'.

2002-11-21  castaglia <castaglia>

        * NEWS, modules/mod_log.c: Bug#1812 - Double logging lines for
        ExtendedLog.

2002-11-19  castaglia <castaglia>

        * NEWS, include/dirtree.h, modules/mod_auth.c, modules/mod_core.c,
        src/dirtree.c: Bug#1838 - Since 1.2.6: in add_useralias() setting
        flag CF_MERGEDOWN breaks aliased anonymous functionality.

2002-11-18  castaglia <castaglia>

        * modules/mod_xfer.c: Minor problem with HiddenStores (related to
        the making of HiddenStores a synonym for HiddenStor, with the
        eventual goal of deprecating HiddenStor in favor of HiddenStores).

2002-11-18  castaglia <castaglia>

        * modules/mod_auth.c: Handling of ShowSymlinks in this module still
        used get_param_int() rather than get_param_ptr().

2002-11-18  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Bug#1844 - DisplayLogin %y macro is off
        by 1.

2002-11-18  castaglia <castaglia>

        * NEWS, include/pr-syslog.h: Bug#1840 - Problem with syslog default
        destination on HP-UX.

2002-11-17  jwm <jwm>

        * utils/.cvsignore: ignore ftptop

2002-11-17  jwm <jwm>

        * lib/pr-syslog.c: cast the return value from getpid() to silence a
        compiler warning under solaris

2002-11-15  jwm <jwm>

        * contrib/dist/rpm/proftpd.spec: d'oh - /etc/logrotate.d/ should
        exist in $RPM_BUILD_ROOT before I try to put stuff in it...

2002-11-15  castaglia <castaglia>

        * ChangeLog, NEWS, include/version.h: Ramping up for 1.2.7rc3
        release.

2002-11-15  castaglia <castaglia>

        * utils/ftptop.c: Portability/compiler warning hack.  *sigh*

2002-11-15  castaglia <castaglia>

        * modules/mod_xfer.c: Necessary typecasts to avoid compiler warnings
        (seen on Solaris 2.8).

2002-11-15  castaglia <castaglia>

        * modules/mod_log.c: Style cleanup.

2002-11-14  castaglia <castaglia>

        * modules/mod_auth.c: More hassle/work with MaxClientsPerHost (see
        Bug#1830, Bug#1831).

2002-11-14  castaglia <castaglia>

        * contrib/ftpasswd: Forgot to increment the displayed $version.

2002-11-14  castaglia <castaglia>

        * NEWS: Attributing proper credit. =)

2002-11-14  castaglia <castaglia>

        * contrib/ftpasswd: Minor doc change.

2002-11-14  castaglia <castaglia>

        * NEWS, contrib/ftpasswd: Adding/changing ftpasswd error exit
        values.

2002-11-14  jwm <jwm>

        * Makefile.in: we don't need to worry about removing the
        autoconf-processed proftpd.spec anymore (this wasn't even the right
        path to it, anyway)

2002-11-13  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#1830 - MaxClientsPerHost (small)
        Bug.

2002-11-13  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#1810 - Wrong permissions assigned to
        uploaded file

2002-11-13  castaglia <castaglia>

        * NEWS, utils/ftpwho.c: Bug#1815 - Patch to add class information to
        ftpwho (with verbose on)

2002-11-13  castaglia <castaglia>

        * src/dirtree.c: Add debugging output mentioning the configuration
        file being parsed at debug level 2.

2002-11-12  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c: Fix
        handling/lookup of Timeouts.

2002-11-12  castaglia <castaglia>

        * configure: Updating configure script.

2002-11-12  castaglia <castaglia>

        * configure.in: Minor whitespace quibble.

2002-11-12  jwm <jwm>

        * .cvsignore: ignore ftptop, autom4te.cache

2002-11-12  jwm <jwm>

        * configure: updated configure

2002-11-12  jwm <jwm>

        * Make.rules.in, configure.in: oops, accidentally reverted TJ's
        changes

2002-11-12  jwm <jwm>

        * Make.rules.in, Makefile.in, NEWS, configure.in: Only link ftptop
        with lib{n,}curses - it isn't needed in any other binaries

2002-11-12  castaglia <castaglia>

        * configure: Updating the configure script.

2002-11-12  castaglia <castaglia>

        * Make.rules.in, NEWS, configure.in: Bug#1703 - mod_sql_mysql
        compile error.

2002-11-12  castaglia <castaglia>

        * NEWS, modules/mod_core.c, modules/mod_xfer.c: Bug#1760 -
        AllowOverwrite not operational.

2002-11-11  jwm <jwm>

        * utils/.cvsignore: ignore Makefile, object and editor backup files

2002-11-05  jwm <jwm>

        * NEWS, include/modules.h, modules/mod_auth.c, src/auth.c: Bug 1818
        - proftpd doesn't compile on hpux11

2002-11-04  jwm <jwm>

        * configure: updated configure

2002-11-04  jwm <jwm>

        * NEWS, config.h.in, configure.in, utils/ftptop.c: ftptop can now
        use either curses or ncurses Based on a submission by: Ayamura KIKUCHI <ayamura@ayamura.org>

2002-11-03  jwm <jwm>

        * NEWS, src/scoreboard.c: Bug 1814 - class names are truncated in
        scoreboard entry

2002-11-02  jwm <jwm>

        * contrib/dist/rpm/proftpd.spec: forgot to add logrotate to %files

2002-11-02  jwm <jwm>

        * NEWS: update

2002-11-02  jwm <jwm>

        * contrib/dist/rpm/proftpd.logrotate, contrib/dist/rpm/proftpd.spec: 
        Bug 1398 - there is no log rotate for /var/log/xferlog

2002-11-02  jwm <jwm>

        * modules/mod_auth.c: style, whitespace

2002-11-02  jwm <jwm>

        * contrib/mod_ratio.c: clean up compiler warnings

2002-11-02  jwm <jwm>

        * NEWS, contrib/dist/rpm/proftpd.spec: Bug 1772 - Docs fixup in RPM
        spec file

2002-11-02  jwm <jwm>

        * configure: update configure

2002-11-02  jwm <jwm>

        * configure.in: don't preprocess the rpm spec

2002-11-02  jwm <jwm>

        * contrib/dist/rpm/proftpd.spec: having autoconf process
        proftpd.spec.in is silly - it's only that way to substitute the
        @VERSION@ tag.

2002-11-02  jwm <jwm>

        * NEWS: update

2002-11-02  jwm <jwm>

        * README.PAM, config.h.in: Bug 1805 - PAM support under Mac OS X

2002-11-02  jwm <jwm>

        * README.PAM: style

2002-11-02  jwm <jwm>

        * NEWS, config.h.in, configure.in, include/conf.h: Bug 1803 - Check
        for SIZEOF_UNSIGNED_LONG_LONG to determine LFS support breaks some
        Linux installations

2002-10-30  castaglia <castaglia>

        * NEWS: Typo.

2002-10-30  castaglia <castaglia>

        * NEWS, contrib/mod_wrap.c: Bug#1800 - Proftpd child segfaults when
        ussing a PASS without no USER first.

2002-10-30  castaglia <castaglia>

        * NEWS: Typos.

2002-10-30  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Fixing broken AuthAliasOnly, so that it
        does as described in the docs (it had been broken by Bug#1567).

2002-10-29  castaglia <castaglia>

        * utils/ftpcount.c, utils/ftpwho.c, utils/utils.h: Modifying the
        handling of struct option in these files.  A change had been made
        earlier in CVS to get these utilities to compile properly under IRIX
        (which has a <getopt.h> that does not define struct option);
        unfortunately, that change made it such that on Solaris, the
        utilities did not compile.  The modifications committed bring the
        handling of struct option in the utilities to be like that of the
        main proftpd binary, which consequently is handled properly under
        Solaris, IRIX, BSD, and Linux.  Hopefully this concludes this getopt
        issue in the utilities.

2002-10-29  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_core.c: More get_param_int()
        cleanup (this function will cause grief on LP64 architectures, where
        pointer sizes are different and passing pointers to stack values is
        a Bad Thing).  This patch moves all the MaxClients*/MaxHosts*
        directives into mod_auth, makes them all consistently use pointers,
        and corrects a small datatype underflow bug that crept in with the
        introduction of MaxClientsPerUser (oops).

2002-10-29  jwm <jwm>

        * src/data.c: * style * Make sure session.xfer uses cleared memory so unset structure
          members won't contain random values.

2002-10-29  jwm <jwm>

        * NEWS: Make sure session.xfer uses cleared memory so unset
        structure members won't contain random values.

2002-10-28  castaglia <castaglia>

        * configure: Updating configure script.

2002-10-28  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, include/support.h,
        modules/mod_core.c, src/support.c: Bug#1722 - Can't work magic
        cookie %F on FreeBSD.

2002-10-28  castaglia <castaglia>

        * src/data.c: Removed unnecessary log_debug() calls from
        data_sendfile().  Part of this is because of the headache involved
        with getting the proper format specifiers into the log_debug() calls
        -- too much effort for little return.

2002-10-28  castaglia <castaglia>

        * modules/mod_xfer.c, src/dirtree.c, src/inet.c, src/log.c,
        src/main.c, utils/ftpcount.c, utils/ftptop.c, utils/ftpwho.c: Added
        typecast to int in is*() functions for picky Solaris.

2002-10-28  castaglia <castaglia>

        * include/conf.h: Adding some necessary function prototypes for AIX,
        when compiled using -D_NO_PROTO.

2002-10-26  castaglia <castaglia>

        * modules/mod_auth.c, utils/utils.h: Fixing signedness variable
        check in mod_auth Fixed a missing definition in utils/utils.h which
        afflicted systems that don't have the getopt_long() function.

2002-10-25  castaglia <castaglia>

        * include/modules.h, modules/mod_log.c, src/main.c,
        utils/ftpcount.c: Fixing some function pointer scopes, removing
        unused variables -- general cleanup due to compiler complaints on
        IRIX.

2002-10-25  castaglia <castaglia>

        * src/main.c: Re-adding logging of SIGSEGVs.

2002-10-24  castaglia <castaglia>

        * modules/mod_auth.c: Correcting an off-by-one error concerning the
        enforcement of MaxClients.

2002-10-24  castaglia <castaglia>

        * NEWS: Forgot to note that Bug#1745 was fixed in 1.2.7rc1.

2002-10-24  castaglia <castaglia>

        * configure: Updating configure script.

2002-10-24  castaglia <castaglia>

        * NEWS, configure.in: Bug#1287 - Error compile with autoshadow
        option

2002-10-24  castaglia <castaglia>

        * configure: Updating configure script.

2002-10-24  castaglia <castaglia>

        * configure.in: Fixing up the configure script to handle the case
        where the admin forgets to (or just plain doesn't) provide a value
        for the new --enable-* tunable configure options.  It was simply
        writing the "yes"/"no" strings into the headers -- not what I
        wanted.  Now, configure will emit a warning if no values are
        explicitly provided, and will use the default numbers.  Otherwise,
        it will use the value provided.

2002-10-24  castaglia <castaglia>

        * README.AIX: Adding remark reminding AIX users to avoid use of
        --enable-autoshadow and --enable-shadow in their configure options.

2002-10-23  castaglia <castaglia>

        * configure: Updating configure script to match changes/fixes to
        configure.in.

2002-10-23  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, include/options.h,
        include/scoreboard.h, utils/utils.h: Fixed configure script handling
          of ncurses detection (was not #define'ing HAVE_LIBNCURSES properly)
        Added --enable-scoreboard-buffer-size option to the other "tunable"
          configure options, for tuning the size of sce_cmd, sce_cwd.

2002-10-23  castaglia <castaglia>

        * modules/mod_site.c: Fixing requirement of auth chk for SITE
        commands CHGRP and CHMOD.

2002-10-22  castaglia <castaglia>

        * include/version.h: Making CVS look ready for rc3.

2002-10-22  castaglia <castaglia>

        * ChangeLog, NEWS, include/version.h: Preparing for release of
        1.2.7rc2.

2002-10-21  castaglia <castaglia>

        * contrib/mod_wrap.c: Fixed a minor file descriptor leak in mod_wrap
        (affects only the child process, not the daemon process).

2002-10-21  castaglia <castaglia>

        * configure: Updating configure script for added --enable* options.

2002-10-21  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, contrib/mod_radius.c,
        contrib/mod_ratio.c, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
        contrib/mod_sql_postgres.c, doc/license.txt, include/dirtree.h,
        include/options.h, include/pool.h, lib/pr-syslog.c, lib/pwgrent.c,
        modules/mod_auth.c, modules/mod_core.c, modules/mod_ls.c,
        modules/mod_site.c, modules/mod_xfer.c, src/data.c, src/dirtree.c,
        src/ident.c, src/inet.c, src/log.c, src/main.c, src/modules.c,
        src/netio.c, src/pool.c, src/regexp.c, src/support.c: Large style
          cleanup: - added PR_ prefix to TUNABLE_ macros   - renamed command handlers in some modules (from cmd_* to
            <module-name>_*) in order to better exemplify module namespace
          conventions - removed extraneous make_named_sub_pool() (added macro for backward     compatibility for contrib modules)   - lots of trivial whitespace changes Hopefully I didn't break anything too major with this.

2002-10-19  flyhmstr <flyhmstr>

        * doc/faq.html: ML: new FAQ issue

2002-10-18  castaglia <castaglia>

        * src/auth.c: Fixed a bad bug, introduced with the Cygwin changes (I
        think).  setgid() will not be called if the platform doesn't have
        setgroups() due to the placement of the HAVE_SETGROUPS #ifdefs.  I
        don't know if this change will break stuff under Cygwin, but the
        current placement of those #ifdefs won't do.

2002-10-18  castaglia <castaglia>

        * NEWS, modules/mod_core.c: Fixed typo in NEWS Added handler for
         ScoreboardPath directive, which will report on the deprecated nature
         of the directive, and inform the admin of using the newer
         ScoreboardFile instead.  Hopefully this will help ease (somewhat)
        the upgrade to 1.2.7.

2002-10-18  castaglia <castaglia>

        * NEWS, utils/ftptop.c: Bug#1778 - 1.2.7rc1 fails to link on OpenBSD
        3.2-current

2002-10-18  flyhmstr <flyhmstr>

        * doc/Configuration.html: ML: updated to include mod_radius stuff

2002-10-18  flyhmstr <flyhmstr>

        * doc/Configuration.html, doc/faq.html: ML: updated directivelist
        and faq

2002-10-18  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#1785 - Bad handling of symlinks

2002-10-17  castaglia <castaglia>

        * src/auth.c, src/data.c, src/dirtree.c, src/inet.c, src/log.c,
        src/main.c, src/modules.c, src/pool.c, src/regexp.c,
        src/scoreboard.c, src/support.c: Cleanliness/style: changing core
        code to use PR_LOG_* instead of LOG_*.  Contrib modules may need to
        be changed to use PR_LOG_* in the future.

2002-10-16  castaglia <castaglia>

        * NEWS, modules/mod_log.c: Bug#1644 - LogFormat local IP and FQDN
        tags missing

2002-10-15  castaglia <castaglia>

        * README.AIX: Updating this README with the CFLAGS that seem to work
        with the newer proftpd versions.

2002-10-15  castaglia <castaglia>

        * modules/mod_xfer.c: Missed the assignment of session.xfer.path in
        cmd_stor() in the previous commit.

2002-10-15  castaglia <castaglia>

        * include/proftpd.h, modules/mod_xfer.c, src/data.c: Removing some
        cruft from session.xfer, fixing some whitespace styling.
        Significant change is moving session.xfer.path so that it is not
        allocated from session.xfer.p (a pool with a bad name =P), but
        rather is the string originally allocated in the PRE_CMD handler,
        from cmd->pool.  There is no reason for the path to be reallocated
        again from session.xfer.p (unless any functions manipulate that
        buffer, which they shouldn't, and which none currently do), and, in
        some cases, ASCII CRLF handling was causing corruption of that
        buffer.

2002-10-15  castaglia <castaglia>

        * src/log.c: Make sure log_openfile() returns the same error values
        as #defined in include/log.h.

2002-10-15  castaglia <castaglia>

        * src/auth.c: Need to handle case in set_groups() where suppl_gids
        might be non-NULL, but the contained number of gids
        (suppl_gids->nelts) is zero.  This was causing a segfault, for
        memory was being allocated (of length zero) which was then being
        cleared.

2002-10-14  castaglia <castaglia>

        * NEWS, modules/mod_auth.c, src/main.c, src/modules.c: Changing
        place in code where switching to the User/Group for a vhost occurs,
        so that it happens prior to the calling of any modules' session
        initialization callbacks.

2002-10-10  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#1770 - Forgetting to check for no IP
        in string

2002-10-09  castaglia <castaglia>

        * NEWS, modules/mod_auth.c, src/auth.c, src/dirtree.c,
        src/support.c: Bug#1769 - Lack of supplemental groups can cause
        segfault.

2002-10-09  flyhmstr <flyhmstr>

        * doc/Configuration.html: ML: updated directive list ready for
        1.2.7rc2

2002-10-08  castaglia <castaglia>

        * modules/mod_xfer.c: Oops.  Should always use the FS API functions
        for FS operations.

2002-10-08  castaglia <castaglia>

        * modules/mod_xfer.c: Clean up files created by mkstemp(3) if other
        checks (e.g. <Limit>) fail.  Discrepancy noticed by Joao Gouveia
        <tharbad@kaotik.org>.

2002-10-08  castaglia <castaglia>

        * NEWS, src/main.c: Bug#1759 - ftpwho shows much more connections
        than realy is.

2002-10-08  jwm <jwm>

        * README, README.AIX, README.modules: style nit

2002-10-08  castaglia <castaglia>

        * CREDITS, INSTALL, Makefile.in, README, README.AIX,
        README.modules, README.ports: Updating documentation, fixing 'make
        clean' target.  Thanks to Michael Renner for these patches.

2002-10-07  castaglia <castaglia>

        * INSTALL, README.modules: Removing references to crufty old
        mod_test.

2002-10-07  castaglia <castaglia>

        * INSTALL: Changing mention of ScoreboardPath to ScoreboardFile.

2002-10-07  castaglia <castaglia>

        * sample-configurations/complex-virtual.conf: Updating more example
        configs.

2002-10-07  castaglia <castaglia>

        * sample-configurations/PFTEST.shadow: Match username 'proftpd' in
        the test passwd file.

2002-10-07  castaglia <castaglia>

        * sample-configurations/PFTEST.conf.in: Updating config for 1.2.7
        release cycle (ScoreboardPath -> ScoreboardFile).

2002-10-04  castaglia <castaglia>

        * utils/ftptop.c: Adding kludge to ftptop that scans the config file
        for a non-default ScoreboardFile directive.

2002-10-04  castaglia <castaglia>

        * src/scoreboard.c: Amend the addition of using fchmod() on the
        scoreboard to make the mode 0644, rather than 0444.  This allows for
        non-root daemons to still be able to use the scoreboard.  Thanks to
        Michael Renner for noting this.

2002-10-04  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#1735 - Proftpd 1.2.6 compiled on
        FreeBSD 4.6.2 exits on signal 11

2002-10-04  castaglia <castaglia>

        * src/scoreboard.c: Addition borne of paranoia inspired by recent
        Apache scoreboarding vulnerability.

2002-10-03  castaglia <castaglia>

        * modules/mod_auth.c: Fixing off-by-one error in MaxClientsPerHost
        check.

2002-10-03  castaglia <castaglia>

        * CREDITS: Adding thanks/credits for unnamed users who contribute to
        the project.

2002-10-03  castaglia <castaglia>

        * modules/mod_site.c, src/main.c: Some style-related cleanups.
        Still working on that HELP SITE code - had the tertiary operator
        parameters in the wrong order (and it was apparently causing a
        segfault).

2002-10-02  castaglia <castaglia>

        * NEWS, src/netio.c: Bug#1757 - non-ANSI Syntax in netio.c

2002-10-02  castaglia <castaglia>

        * include/version.h: Updating the version, preparing for the next
        CVS/release.

2002-10-02  castaglia <castaglia>

        * modules/mod_site.c: Fixing support for 'HELP SITE' (common) in
        addition to 'SITE HELP' (proper).

2002-10-02  castaglia <castaglia>

        * src/main.c: Cleaning up a badly-written preprocessor directive (my
        fault).

2002-10-02  castaglia <castaglia>

        * utils/scoreboard.c: Prevent egregious ENOENT error when reading
        the scoreboard.

2002-10-01  castaglia <castaglia>

        * ChangeLog, NEWS, include/version.h: Preparing for release of
        1.2.7rc1.

2002-10-01  castaglia <castaglia>

        * modules/mod_auth.c: Minor wording correction for default
        MaxClientsPerUser message.

2002-10-01  castaglia <castaglia>

        * NEWS, modules/mod_auth.c: Bug#1675 - add new MaxClientsPerUser
                   configuration option.  Works just like MaxHostsPerUser.

2002-10-01  jwm <jwm>

        * configure: updated configure

2002-10-01  jwm <jwm>

        * configure.in: Fix for broken headers in OS X 10.1 Submitted by:
        Thomas Ganter <tganter@mac.com>

2002-09-30  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#1694 - SQLLog QUIT doesn't execute on
        connection close.  With the various changes to mod_sql (SQLNegativeCache, etc), I'm
        bumping its version to 4.10.

2002-09-30  castaglia <castaglia>

        * NEWS: Forgot to note that Bug#1748 had been fixed.

2002-09-30  castaglia <castaglia>

        * NEWS, include/modules.h, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_site.c, src/main.c: Bug#1475 - Minor changes to SITE
        command handling.

2002-09-28  castaglia <castaglia>

        * modules/mod_site.c: Helps if I put the full code from the fix in
        CVS, doesn't it?

2002-09-28  castaglia <castaglia>

        * include/privs.h, modules/mod_site.c: Casting and variable type fun
        (based on compiler complaints).

2002-09-28  castaglia <castaglia>

        * utils/ftptop.c: With the addition of the sce_server_addr field to
        the scoreboard entry struct, ftptop no longer needs to use
        inet_ntoa(3) to stringify the server IP address.

2002-09-27  castaglia <castaglia>

        * NEWS: Bug#1572 - Need to use pam_end() to close session on Solaris
        8.  The cause turned out to be a need to always call pam_end() after
        pam_authenticate().

2002-09-27  castaglia <castaglia>

        * include/scoreboard.h, src/scoreboard.c, utils/utils.h: Seems that
        gcc-3 has some quirks when it comes to variadic functions.
        Adjusting to compensate.

2002-09-27  castaglia <castaglia>

        * src/scoreboard.c: Try to handle cases where NULLs might be
        (inappropriately) sent to pr_scoreboard_update_entry().

2002-09-27  castaglia <castaglia>

        * utils/ftptop.c, utils/utils.h: Make sure that the utils compile on
        platforms that don't have <getopt.h>

2002-09-26  castaglia <castaglia>

        * include/scoreboard.h, modules/mod_auth.c, src/scoreboard.c,
        utils/ftptop.c, utils/ftpwho.c, utils/utils.h: Adding display of
        server (IP address/port) string to ftpwho (when -v is used).

2002-09-26  castaglia <castaglia>

        * utils/ftptop.c: Removed an unused variable.

2002-09-26  castaglia <castaglia>

        * utils/utils.h: Keeping this in sync with include/scoreboard.h

2002-09-26  castaglia <castaglia>

        * src/main.c: Make clearing the scoreboard slot one of the first
        things that happens when a child exits.

2002-09-26  castaglia <castaglia>

        * utils/ftpwho.c: Adjusting the spacing of ftpwho fields, trying to
        make the output prettier.

2002-09-26  castaglia <castaglia>

        * include/scoreboard.h, src/main.c, src/scoreboard.c: Adjusting some
        of the scoreboard entry sizes to be smaller (we can always make them
        larger later, if need be).  Also adding the clearing of a scoreboard
        slot in the case of a SIGSEGV in the signal handler itself.

2002-09-26  castaglia <castaglia>

        * NEWS, contrib/mod_radius.c: Bug#1687 - Add contrib module for
        RADIUS authentication, accounting

2002-09-26  castaglia <castaglia>

        * NEWS, src/dirtree.c: Bug#1732 - No checking for NULL at inet_ascii
        and pr_fnmatch.  The fix for this now allows for "inline" comments
        in the lines of a proftpd.conf file, e.g.:     Port 21 # Some comment here whereas before, that "# Some comment here" would be tokenized and
        treated as normal input into the configuration directive handler.

2002-09-26  castaglia <castaglia>

        * NEWS, include/privs.h: Bug#1395 - Check return values in PRIVS
        calls

2002-09-26  castaglia <castaglia>

        * src/main.c: No need to complain of scoreboard slot cleaning error
        when we're not a child process (e.g. when the daemon is shutting
        down).

2002-09-25  castaglia <castaglia>

        * configure: And the necessary delayed commit of the new configure
        script, to match the configure.in tweaks.

2002-09-25  castaglia <castaglia>

        * configure.in: Needing to tweak this, in order to get the
        timestamps on configure.in and configure files in the CVS repository
        to be what we need them to be.

2002-09-25  castaglia <castaglia>

        * utils/Makefile.in, utils/ftpcount.c, utils/ftpshut.c,
        utils/ftptop.c, utils/ftpwho.c, utils/misc.c, utils/scoreboard.c,
        utils/utils.h: Populating the new utils/ sub-directory with the
        source code files for the ftpcount, ftpwho, ftptop, ftpshut
        utilities.

2002-09-25  castaglia <castaglia>

        * NEWS: Forgot to update the NEWS file for the scoreboard changes.

2002-09-25  castaglia <castaglia>

        * Make.rules.in, Makefile.in, config.h.in, configure, configure.in,
        contrib/mod_sql.c, include/conf.h, include/log.h, include/privs.h,
        include/scoreboard.h, include/version.h, lib/Makefile.in,
        modules/Makefile.in, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_xfer.c, src/Makefile.in, src/log.c, src/main.c,
        src/scoreboard.c, src/support.c: Bug#1713 - Scoreboard changes.
        This simple statement covers quite a few changes.

2002-09-25  jwm <jwm>

        * modules/mod_xfer.c: * style * silence a compiler warning with a cast (the Cast Nazi yields
          ground: film at eleven)

2002-09-25  jwm <jwm>

        * src/sets.c: style

2002-09-25  jwm <jwm>

        * lib/glibc-mkstemp.c, lib/strsep.c, lib/vsnprintf.c: * style * silence ranlib warnings if the host OS already has the appropriate   functions

2002-09-23  castaglia <castaglia>

        * src/main.c: Corrections in comments.

2002-09-23  castaglia <castaglia>

        * src/main.c: Make necessary modification to handling of SIGCHLD, in
        order to prevent nasty segfaults under non-POSIX, SVR4 systems (e.g.
        IRIX).  Explanatory comments in sig_child() handler.

2002-09-21  jwm <jwm>

        * README.LDAP: * update for 2.8.10 * postcard-ware

2002-09-21  jwm <jwm>

        * contrib/mod_ldap.c: mod_ldap is now postcard-ware

2002-09-19  castaglia <castaglia>

        * sample-configurations/basic.conf: Fix the grammar in the default
        configuration file a little, and make a minor optimization:
        <Directory /*> is not really needed, as <Directory /> suffices.

2002-09-16  castaglia <castaglia>

        * contrib/mod_sql.c: Changed this logging level, so that it does not
        show up at DEBUG0 (which is the default log level, or at least
        included in the default logging levels).

2002-09-15  jwm <jwm>

        * Makefile.in, NEWS: Bug 1726 - Cygwin's Makefile inconsistency

2002-09-13  castaglia <castaglia>

        * Make.rules.in, NEWS, include/conf.h, include/inet.h,
        include/netio.h, lib/Makefile.in, modules/Makefile.in,
        modules/mod_core.c, modules/mod_ls.c, modules/mod_xfer.c,
        src/Makefile.in, src/data.c, src/ident.c, src/inet.c, src/main.c,
        src/netio.c: Adding the NetIO API.

2002-09-13  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#1736 - RETR does not handle an
        inappropriate REST

2002-09-13  castaglia <castaglia>

        * NEWS, include/dirtree.h, modules/mod_core.c, modules/mod_ls.c,
        src/dirtree.c: Bug#1737 - Enhance file hiding via regular
        expressions

2002-09-13  castaglia <castaglia>

        * contrib/mod_sql.c: Make this particular mod_sql log message a
        little less urgent.

2002-09-13  castaglia <castaglia>

        * modules/mod_auth.c: Slight correction in the config context used
        for looking up any configured TimeoutSession.

2002-09-13  castaglia <castaglia>

        * NEWS, modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c,
        src/data.c, src/dirtree.c: Bug#1436 - Feature Enhancement: Timeouts
        on a <Virtualhost> basis

2002-09-13  castaglia <castaglia>

        * modules/mod_auth.c: When unable to chdir to a directory, when
        logging in, add reporting of errno.

2002-09-13  castaglia <castaglia>

        * NEWS, include/proftpd.h, modules/mod_core.c, src/main.c: Bug#1658
        - Separate session/daemon resource limit settings.

2002-09-13  jwm <jwm>

        * configure: Updated configure from last configure.in commit

2002-09-13  jwm <jwm>

        * configure.in: You can't explicitly include sys/sendfile.h when
        compiling with large file support.  Submitted by: Jan Kasprzak <kas@informatics.muni.cz>
        http://www.geocrawler.com/lists/3/SourceForge/9189/0/9566710/

2002-09-13  jwm <jwm>

        * contrib/mod_ratio.c: * anonymous ratios are now looked up by the e-mail address used * make sure g.user is defined so the ratio is recorded for
        *something* Submitted by: Benjamin Schieder <bs1544@bingo-ev.de>
        http://www.geocrawler.com/lists/3/SourceForge/9190/75/9539913/

2002-09-12  castaglia <castaglia>

        * modules/mod_log.c: Missed a Boolean...

2002-09-12  castaglia <castaglia>

        * modules/mod_log.c: Fixed minor problem with duplicate logging:
        mod_log was a) looking in the wrong context, and b) recursing
        through configuration subsets in an attempt to fix its wrong context
        starting point.  Should be remedied now.

2002-09-11  castaglia <castaglia>

        * doc/mod_sample.c: Updating the code in the mod_sample.c file to
        demonstrate things a little better.

2002-09-10  castaglia <castaglia>

        * modules/mod_xfer.c: Helps if uploads/downloads actually
        work...oops. =P

2002-09-10  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#1065 - Added MaxRetrieveFileSize,
        MaxStoreFileSize directives.

2002-09-10  castaglia <castaglia>

        * NEWS, modules/mod_log.c: Bug#1669 - Filename meta (%f) not
                   correctly expanded for some commands in WRITE logging class.  This
                   will necessitate discussion on the current state of proftpd's
        logging variables.

2002-09-10  castaglia <castaglia>

        * src/main.c: Removed an unused variable.

2002-09-10  jwm <jwm>

        * modules/mod_xfer.c: fixup

2002-09-10  castaglia <castaglia>

        * NEWS, modules/mod_core.c, modules/mod_ls.c, src/data.c,
        src/support.c: Bug#1486 - lots of changes made to code, adding
                   buffers in an attempt to optimize directory listings and ASCII file
                   translation.  We'll see how many bugs are added with this commit =).

2002-09-10  castaglia <castaglia>

        * NEWS, include/conf.h: Bug#1662 - #define _GNU_SOURCE, which will
                   quell some compiler warnings (e.g. the crypt() warning when using
        mod_sql).

2002-09-10  jwm <jwm>

        * modules/mod_xfer.c: minor format-type fixups

2002-09-09  jwm <jwm>

        * src/main.c: style

2002-09-09  castaglia <castaglia>

        * src/main.c: No comment.

2002-09-09  castaglia <castaglia>

        * src/main.c: Spoke too soon. =P

2002-09-09  castaglia <castaglia>

        * src/main.c: Don't forget to append the "proftpd: " prefix for
        non-setproctitle(2) platforms.  Hopefully this ends our fun with
        Bug#1649.

2002-09-09  uid43859 <uid43859>

        * lib/pr-syslog.c: Solaris doesn't have the macro LOG_PRI()

2002-09-09  uid43859 <uid43859>

        * src/main.c: fixed & cleaned up #defines

2002-09-09  jwm <jwm>

        * src/main.c: Fixing the fix for Bug#1649 - the #ifdefs didn't
        actually change anything

2002-09-07  castaglia <castaglia>

        * lib/pr-syslog.c: Forgot to bracket use of __progname in #ifdefs,
        as not every platform's libc supports __progname.

2002-09-07  castaglia <castaglia>

        * src/main.c: Need to match datatypes for the unixpw_persistent
        variable in main.c and mod_unixpw.c

2002-09-07  castaglia <castaglia>

        * NEWS: Oops.  Wrong bug number.

2002-09-07  castaglia <castaglia>

        * modules/mod_core.c: Oops.  Forgot to cleanup my debugging/logging.

2002-09-06  castaglia <castaglia>

        * NEWS, modules/mod_core.c, src/main.c: Bug#1652 - add a
                   MaxConnectionRate directive, for configuration a connection rate
                   limiting mechanism.  This mechanism is really only effective when
                   running proftpd in standalone mode; if using inet/xinetd, those
                   daemons have their own connection rate limiting mechanisms.

2002-09-06  castaglia <castaglia>

        * NEWS, src/main.c: Bug#1432 - adding check to function handling FTP
                   commands received from clients to be more strictly RFC959-compliant:
                   leading whitespace before the FTP command is now not allowed.

2002-09-06  castaglia <castaglia>

        * NEWS, modules/mod_core.c, src/main.c: Bug#1253 - added a
                   DefaultAddress directive, for explicitly configuring the IP address
        to which the "default" server listens.

2002-09-06  castaglia <castaglia>

        * NEWS, src/dirtree.c: Bug#1725 - Still fixing the bugs I introduced
                   into match_ip() as a consequence of Bug#1701.  This particular bug
                   was caused by an assumption; I'd forgotten to take into account
                   globbing characters attached to address strings in the case of a '.'
                   suffix/prefix.  The manipulated string was used as an argument to
                   inet_getaddr(), which returns a pointer.  I forgot to check for that
                   pointer being NULL.

2002-09-06  castaglia <castaglia>

        * NEWS, modules/mod_core.c, modules/mod_site.c: Bug#1663 - Add SITE
        CHGRP command

2002-09-06  castaglia <castaglia>

        * NEWS, include/ftp.h, include/modules.h, modules/mod_auth.c,
        src/auth.c: Bug#1719 - Adding RFC2228-defined FTP commands and
                   response codes; made minor adjustments to allow future RFC2228
                   modules (will not change current/default behavior).

2002-09-06  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#1593 - added a new mod_sql directive,
                   SQLNegativeCache, to toggle whether mod_sql caches negative lookups.
        Documentation to be forthcoming.

2002-09-06  castaglia <castaglia>

        * contrib/mod_sql.c, contrib/mod_sql.h, contrib/mod_sql_mysql.c,
        contrib/mod_sql_postgres.c: Correcting the OpenSSL exemption clause
        to list the proper copyright holder for these files.

2002-09-05  castaglia <castaglia>

        * NEWS: Bug#1724 - The AuthPAM* directive lookups were using
          TOPLEVEL_CONF as their config context lookup, but the directives
          themselves were only allowed in the server config contexts ("server
          config", <VirtualHost>, and <Globa>).  This had the consequence of
          those directives not being properly seen when doing <Anonymous>
          logins.  The fix was to use main_server->conf as the lookup context,
        rather than TOPLEVEL_CONF.

2002-09-05  castaglia <castaglia>

        * NEWS, modules/mod_auth.c, modules/mod_core.c, src/dirtree.c: 
        Bug#1076 - Adding an AllowOverride directive, to provide
                   finer-grained control over which users, if any, have their
                   .ftpaccess files parsed/honored.

2002-09-05  castaglia <castaglia>

        * Make.rules.in, NEWS, include/conf.h, include/log.h,
        include/pr-syslog.h, lib/pr-syslog.c, modules/mod_core.c,
        src/log.c, src/main.c: Bug#1682 - Use of chroot(2) and external
                   libraries made necessary the implementing of an internal syslog
                   client routine for use by proftpd.

2002-09-04  castaglia <castaglia>

        * Makefile.in, NEWS: Bug#1654 - Add DESTDIR in Makefile

2002-09-04  castaglia <castaglia>

        * NEWS, include/version.h, src/auth.c, src/main.c: Starting in on
        the work for the 1.2.7 version: Bug#1649 - setproctitle() prepends and appends process name. This is
                   a FreeBSD-specific bug (yay portability).  Bug#1666 - Auth modules
        can return duplicate supplemental groups

2002-09-04  flyhmstr <flyhmstr>

        * doc/Configuration.html: ML: more fixme's gone

2002-09-04  castaglia <castaglia>

        * ChangeLog, NEWS, include/version.h: Ramping up for the release of
        1.2.6.

2002-09-04  flyhmstr <flyhmstr>

        * doc/Configuration.html: ML: updated directive list

2002-09-02  castaglia <castaglia>

        * NEWS: Note version increment of mod_ldap; add processing of
        signals in the io_poll() loop.

2002-08-31  jwm <jwm>

        * contrib/mod_ratio.c: openssl exemption

2002-08-31  jwm <jwm>

        * contrib/mod_ldap.c: 2.8.10 - replacement for ldap_build_filter()

2002-08-31  jwm <jwm>

        * src/main.c: would someone please give me an elementary lesson in
        checking what exactly i'm committing before committing it?

2002-08-31  jwm <jwm>

        * src/main.c, src/pool.c: style, removing cruft

2002-08-29  castaglia <castaglia>

        * contrib/mod_readme.c: Added OpenSSL exemption clause to this
        contrib module's license.

2002-08-28  castaglia <castaglia>

        * NEWS, src/dirtree.c: Fixed bug introduced by bad use of
        inet_ntoa(3) in fix for Bug#1701.

2002-08-24  jwm <jwm>

        * contrib/mod_ldap.c: * openssl exemption * version bump to 2.8.9

2002-08-19  jwm <jwm>

        * doc/Configuration.sgml: adding the sgml version of the directive
        docs

2002-08-15  castaglia <castaglia>

        * ChangeLog, NEWS, include/version.h: Preparing to release 1.2.6rc2

2002-08-15  castaglia <castaglia>

        * NEWS, src/dirtree.c: Bug#1701 - Reverse lookups not working

2002-08-14  castaglia <castaglia>

        * modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c: Updating
        copyright notices.

2002-08-14  castaglia <castaglia>

        * include/inet.h, include/proftpd.h, modules/mod_core.c,
        modules/mod_ls.c, modules/mod_xfer.c, src/data.c, src/inet.c,
        src/main.c, src/support.c: Code cleanup:  - moved ShowSymlinks from mod_core to mod_ls  - changed PassivePorts, AllowForeignAddress, ShowSymlinks, TimesGMT
           to not use get_param_int() (which uses addresses of stack variables
           instead of heap variables), and using get_param_ptr() instead.   - minor renaming

2002-08-13  castaglia <castaglia>

        * src/log.c: Added minor, but necessary check when reading the
        scoreboard header on AIX platforms.  Portability is a PITA.

2002-08-12  castaglia <castaglia>

        * modules/mod_ls.c, src/main.c: Added signal processing for
        recursive directory listings Added masking of SIGCHLD in the SIGCHLD
        processing function Added debug logging, at level 7, of module
        session initialization callbacks

2002-08-05  castaglia <castaglia>

        * config.sub: Added case to handle ELF NetBSD on a shark.

2002-08-01  castaglia <castaglia>

        * src/log.c: Added logging of TransferLog file opening at level 6;
        this will aid in debugging errors involving the default TransferLog
        ("/var/log/xferlog") on systems which may have troubles (e.g. no
        /var/log directory, which shows up in the logs as "unable to stat()
        /var/log" -- not indicative of the culprit [TransferLog]).

2002-08-01  castaglia <castaglia>

        * include/dirtree.h, src/dirtree.c: Minor fix, matching up datatypes
        in function declaration to actual datatype used (caused a complaint
        under AIX's xlc).

2002-07-26  castaglia <castaglia>

        * src/main.c: Minor cleanup from previous commit.

2002-07-26  castaglia <castaglia>

        * src/dirtree.c, src/main.c, src/support.c: Fixed minor HUP memory
        leak, caused by use of schedule() to schedule an invocation of
        main_rehash().  A sched_t object is allocated for the scheduling
        from permanent_pool, but that object is never freed.  The fix was to
        add a pool member to the sched_t struct, allocated a subpool from
        permanent_pool, allocate the sched_t struct from that subpool, and
        assign the subpool to the struct's pool member.  That way, the
        sched_t object can be destroyed once the scheduled callback has been
        invoked.  Also cleaned up some of the main_rehash() code, to make it
        more legible.

2002-07-25  jwm <jwm>

        * include/regexp.h: typo/style

2002-07-24  castaglia <castaglia>

        * Make.rules.in, NEWS, include/conf.h, include/pool.h,
        include/regexp.h, modules/mod_core.c, src/inet.c, src/main.c,
        src/pool.c, src/regexp.c: Bug#1697 - Memory leak involving regexp
        and SIGHUP

2002-07-22  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_core.c: Oops.  Realized that
        DeferWelcome should've stayed in mod_core.

2002-07-22  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c: 
        Rearranging the placement of several configuration directive
        handlers, placing the handler functions in the module that actually
        uses the configured directive (many were bunched into mod_core).

2002-07-19  castaglia <castaglia>

        * NEWS, lib/pwgrent.c: Bug#1674 - fgetbufline passes NULL pointer to
        fgets()

2002-07-18  castaglia <castaglia>

        * modules/mod_core.c, src/main.c: Miscellaneous configuration
        handler cleanup.

2002-07-15  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: Bug#1645 - HiddenStor should close file
        before renaming

2002-07-15  castaglia <castaglia>

        * NEWS, modules/mod_core.c, src/dirtree.c: Bug#1681 - Multiple
        Include directives in a single file do not get parsed

2002-07-09  castaglia <castaglia>

        * include/proftpd.h, include/support.h, include/timers.h,
        src/main.c, src/support.c, src/timers.c: Committed the latest patch
        attached to Bug#1556.

2002-07-03  jwm <jwm>

        * configure: new configure

2002-07-03  jwm <jwm>

        * Makefile.in, README.cygwin, configure.in: attach 1428 to bug 1569
        - cygwin EXEEXT fixups

2002-07-02  castaglia <castaglia>

        * ChangeLog, NEWS, include/version.h: Preparing for release of
        1.2.6rc1

2002-07-02  castaglia <castaglia>

        * include/inet.h, include/options.h, src/data.c, src/inet.c: Fixing
        consequences of Bug#1502 and ABOR causing some clients to wait
        indefinitely.

2002-07-01  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#1543 - Usernames with spaces,
        problems to authenticate

2002-07-01  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#1628 - group mods (DefaultRoot) only
        work for primary group w/mysql

2002-06-30  castaglia <castaglia>

        * src/inet.c: Fixed potential loop problem I inadvertently
        introduced in the previous check-in.  Oops.

2002-06-28  castaglia <castaglia>

        * include/proftpd.h, modules/mod_xfer.c, src/data.c, src/inet.c,
        src/main.c: Fixing consequences of signal handler changes of
        Bug#1556, allowing for child processes to process their received
        signals as well (all noted in the bug report).

2002-06-28  castaglia <castaglia>

        * contrib/mod_sql.c: Correctly check cmap.grpgidfield, rather than
        cmap.gidfield, when looking up groups by ID.  This was my fault.

2002-06-27  castaglia <castaglia>

        * configure: Updated configure script

2002-06-27  castaglia <castaglia>

        * NEWS, config.h.in, configure.in: Bug#1667 - Move USESHADOW,
        AUTOSHADOW defines from command line into config.h

2002-06-27  castaglia <castaglia>

        * contrib/mod_sql.c: Convert some of the configuration handlers to
        allocating memory for passing numeric values, rather than squeezing
        them into void *.  This fixes a border case where using 0 as the
        value for SQLDefault{UID,GID} or SQLMinUser{ID,UID,GID} would cause
        that directive setting to not be honored; a value of zero cast as a
        void * means that that void * would most likely be interpreted as
        NULL upon retrieval.

2002-06-27  castaglia <castaglia>

        * contrib/mod_sql.c: Removed extraneous parameters from logging
        calls (caught by __attribute__).

2002-06-27  castaglia <castaglia>

        * NEWS: Removed mod_quota.c due to lack of maintainership, bugs.

2002-06-27  flyhmstr <flyhmstr>

        * doc/Configuration.html: ML:   Updated directive list

2002-06-27  flyhmstr <flyhmstr>

        * modules/mod_core.c: ML: fixing minor typo :)

2002-06-27  castaglia <castaglia>

        * include/log.h, include/proftpd.h, modules/mod_auth.c,
        modules/mod_xfer.c: Committed the use of gcc's __attribute__ pragma
        for printf-style function argument checking from Bug#1643.  Fixed
        the minor printf issues this pragma subsequently found in the
        TimeoutSession code, throttling code.

2002-06-27  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Bug#1664 - mod_sql segfaults on cache
        miss for bogus user.

2002-06-26  castaglia <castaglia>

        * src/inet.c: Use the IPPROTO_TCP macro (that's what it's there
        for!) for initializing the value of tcp_proto, instead of manually
        setting it to 6.

2002-06-26  jwm <jwm>

        * Makefile.in: #1569 - EXEEXT support

2002-06-26  castaglia <castaglia>

        * NEWS, include/inet.h, src/data.c, src/inet.c: Bug#1502 - 226
        Transfer Complete sent out before data connection is closed

2002-06-25  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#1655 - Add -n listing option to mod_ls

2002-06-25  castaglia <castaglia>

        * config.h.in: Solaris already defines _FILE_OFFSET_BITS in its
        system headers (at least 2.8 does); check for a defined
        _FILE_OFFSET_BITS before redefining it.

2002-06-25  castaglia <castaglia>

        * src/main.c, src/support.c: Put proper #ifdefs around things to
        avoid some compiler warnings.

2002-06-25  castaglia <castaglia>

        * config.h.in: Added lines for endprotoent, setgroups, setprotoent
        detection performed by autoconf, removed duplicate HAVE_SETPROCTITLE
        line.

2002-06-25  castaglia <castaglia>

        * include/conf.h: Add checking of SIZEOF_UNSIGNED_LONG_LONG to the
        list of macros used for determining when to use %lu and when to use
        %llu.  FreeBSD does not require the other macros used
        (_FILE_OFFSET_BITS or _LARGE_FILES), and so this additional check
        (which assumes that if the size of an unsigned long long is 8 bytes,
        the underlying platform will support use of %llu -- and we all know
        what happens when one assumes) is required for proper LFS detection
        and support on FreeBSD (and perhaps other platforms?).

2002-06-25  castaglia <castaglia>

        * contrib/mod_sql.c: Added LFS-specific format macro, fixed
        NULL/'\0' comparison (was causing a compiler warning).

2002-06-25  castaglia <castaglia>

        * modules/mod_xfer.c: One more minor LFS-related modification.

2002-06-25  castaglia <castaglia>

        * src/auth.c: Fixed minor indentation/spacing.

2002-06-25  jwm <jwm>

        * contrib/mod_ldap.c: #1659 - LDAP config handlers should use
        c->pool instead of permanent_pool

2002-06-24  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_core.c: Changed use of
        permanent_pool to c->pool in configuration handlers where
        appropriate.

2002-06-24  castaglia <castaglia>

        * modules/mod_ls.c: Forgot to remove the ShowDotFiles configuration
        handler function.

2002-06-24  castaglia <castaglia>

        * NEWS, modules/mod_ls.c, modules/mod_site.c: Removed the deprecated
        AllowChmod and ShowDotFiles directives.

2002-06-23  castaglia <castaglia>

        * NEWS, include/dirtree.h, src/dirtree.c: Bug#1171 - Add ability to
        handle backslash-escaped lines in configuration file

2002-06-23  jwm <jwm>

        * NEWS: where the hell did I get 1304? this is #1569...

2002-06-23  jwm <jwm>

        * NEWS: updates

2002-06-23  castaglia <castaglia>

        * NEWS: Noting addition/work on Cygwin stuff.

2002-06-23  castaglia <castaglia>

        * README.cygwin: Minor spelling correction.

2002-06-23  jwm <jwm>

        * configure: updated configure for #1304 - Cygwin support

2002-06-23  jwm <jwm>

        * README.cygwin: #1304 - README.cygwin Thanks to Stanislav Sinyagin
        <ssinyagin@yahoo.com>

2002-06-23  castaglia <castaglia>

        * include/conf.h, include/data.h, include/default_paths.h,
        include/dirtree.h, include/ident.h, include/inet.h,
        include/libsupp.h, include/log.h, include/modules.h,
        include/options.h, include/pool.h, include/privs.h,
        include/proftpd.h, include/sets.h, include/support.h,
        include/timers.h, src/auth.c, src/data.c, src/dirtree.c,
        src/ident.c, src/inet.c, src/log.c, src/main.c, src/modules.c,
        src/pool.c, src/sets.c, src/support.c, src/timers.c: Updated
        copyrights.

2002-06-23  jwm <jwm>

        * configure.in, src/auth.c, src/inet.c, src/log.c: cleaned up
        versions of #1304 - Cygwin support

2002-06-22  jwm <jwm>

        * modules/mod_xfer.c: minor LFS fix

2002-06-22  jwm <jwm>

        * config.guess, config.sub: update config.guess and config.sub from
        http://subversions.gnu.org/cgi-bin/viewcvs/config/config/;
        parisc-linux support wasn't in our copies

2002-06-22  castaglia <castaglia>

        * NEWS, lib/Makefile.in, lib/glibc-glob.c, src/data.c,
        src/dirtree.c, src/log.c, src/main.c, src/pool.c, src/timers.c: 
        Bug#1650 - Code cleanup

2002-06-22  castaglia <castaglia>

        * modules/mod_auth.c: Fixed bad patching of the new TimeoutSession
        code.

2002-06-22  castaglia <castaglia>

        * NEWS, include/proftpd.h, modules/mod_auth.c: Bug#1306 - Add
        timeout for entire session

2002-06-22  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c,
        modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c,
        src/dirtree.c: In the aftermath of Bug#1650, I went through most of
        the configuration directive handlers, looking for similar possible
        mergedown bugs.  I corrected the lurking mergedown bugs I saw, and
        fixed other cases where merging down was inappropriately being
        requested.  More cleanup and code consolidation is possible, and
        indeed recommended.

2002-06-21  castaglia <castaglia>

        * modules/mod_core.c: Fixed instance of pstrcat() call that did not
        properly have NULL as the last argument.

2002-06-21  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#1650 - LsDefaultOptions doesn't work
        inside anon context

2002-06-21  castaglia <castaglia>

        * NEWS, modules/mod_ls.c: Bug#1647 - Unnecessary use of umode_t in
        mod_ls

2002-06-14  jwm <jwm>

        * Makefile.in: these symlinks aren't needed

2002-06-14  jwm <jwm>

        * contrib/mod_ldap.c: LDAPHomedirOnDemand cleanup/fixes

2002-06-14  castaglia <castaglia>

        * Makefile.in: Added .cvsignore files to the list of files cleaned
        up by 'make distclean'

2002-06-12  castaglia <castaglia>

        * modules/mod_ls.c: Corrected spacing

2002-06-11  castaglia <castaglia>

        * configure: Updated configure script for LFS support detection.

2002-06-11  castaglia <castaglia>

        * NEWS, config.h.in, configure.in, include/conf.h, include/data.h,
        include/log.h, include/proftpd.h, include/support.h,
        modules/mod_core.c, modules/mod_log.c, modules/mod_ls.c,
        modules/mod_xfer.c, src/data.c, src/log.c, src/support.c: Bug#1534 -
        Large File Support

2002-06-11  castaglia <castaglia>

        * configure: Updated configure script

2002-06-11  castaglia <castaglia>

        * Make.rules.in, NEWS, config.h.in, configure.in,
        include/libsupp.h, include/proftpd.h, lib/glibc-mkstemp.c,
        modules/mod_core.c, modules/mod_xfer.c, src/data.c: Bug#1258 - STOU
        not implemented

2002-06-11  castaglia <castaglia>

        * NEWS, src/auth.c: Bug#1463 - Add auth handler dispatch reporting
        at new debug level (level 6)

2002-06-11  castaglia <castaglia>

        * src/main.c: Removed relic function prototype (not needed).

2002-06-11  castaglia <castaglia>

        * NEWS, include/options.h, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_ls.c, modules/mod_xfer.c, src/dirtree.c, src/log.c,
        src/main.c, src/pool.c: Bug#1556 - Signal handlers use unsafe
        functions

2002-06-11  castaglia <castaglia>

        * NEWS, include/dirtree.h, include/modules.h, modules/mod_core.c,
        src/dirtree.c, src/main.c, src/modules.c: Added Define, <IfDefine>,
        <IfModule> configuration directives, -D command-line option

2002-06-11  castaglia <castaglia>

        * NEWS, include/version.h, modules/mod_xfer.c, src/data.c: Bug#1407
        - ftp protocol differences

2002-06-09  castaglia <castaglia>

        * NEWS: Fixed version number.  Sheesh.

2002-06-09  castaglia <castaglia>

        * ChangeLog: Updated ChangeLog

2002-06-09  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
        include/version.h: Bug#1379 - Replace bzero/bcopy with memset/memcpy
        Bug#1576 - SQLHomedirOnDemand segfaults in certain circumstances
        Bug#1586 - Bad row count assumption in _sql_getgroup() Bug#1625 -
        Compile problem with mod_sql module Preparing for release of 1.2.5 (stable).

2002-06-06  castaglia <castaglia>

        * NEWS, contrib/mod_sql.c: Added the mod_sql-4.08 from Andrew's site

2002-05-30  castaglia <castaglia>

        * NEWS: Updated NEWS

2002-05-30  castaglia <castaglia>

        * include/version.h: Damn, I forgot to update this file.

2002-05-30  castaglia <castaglia>

        * ChangeLog: Updating ChangeLog

2002-05-30  castaglia <castaglia>

        * NEWS, contrib/xferstats.holger-preiss: Bug#1394: ftpstats program
                  is not working, cust says "There was no data to process."

2002-05-30  jwm <jwm>

        * contrib/mod_ldap.c: a few memory management fixes

2002-05-29  jwm <jwm>

        * doc/rfc/draft-ietf-ftpext-mlst-15.txt: new version of mlst draft.
        the changes don't appear to change anything we currently implement.

2002-05-27  jwm <jwm>

        * contrib/README.ratio, contrib/mod_ratio.c: new mod_ratio from
        James Dogopoulos

2002-05-22  flyhmstr <flyhmstr>

        * doc/Configuration.html: ML: replacing the directive guide

2002-05-21  castaglia <castaglia>

        * NEWS, contrib/mod_readme.c, include/data.h, include/dirtree.h,
        include/ident.h, include/inet.h, include/libsupp.h, include/log.h,
        include/modules.h, include/pool.h, include/proftpd.h,
        include/sets.h, include/support.h, include/timers.h,
        lib/glibc-glob.c, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c,
        modules/mod_xfer.c, src/data.c, src/dirtree.c, src/inet.c,
        src/log.c, src/main.c, src/modules.c, src/pool.c, src/support.c,
        src/timers.c: Bug#1379 - Replace bzero/bcopy with memset/memcpy
        Bug#1521 - Function prototype cleanup

2002-05-21  castaglia <castaglia>

        * NEWS, src/timers.c: Bug#1627 - Sessions not timing out

2002-05-21  castaglia <castaglia>

        * configure: TJ: updated configure script to match configure.in
            (necessary delay in commits *sigh*)

2002-05-21  castaglia <castaglia>

        * configure.in: TJ: changing configure script to check for
            $Libraries$ line in mod_<name>.h files, if present, as well as
            mod_<name>.c files (which are currently scanned)

2002-05-19  castaglia <castaglia>

        * NEWS, modules/mod_xfer.c: TJ: Bug#1595 - ProFTPD closes connection
        when accessed from Lynx browser

2002-05-19  castaglia <castaglia>

        * NEWS, include/proftpd.h, src/log.c, src/main.c: TJ: Bug#1612 -
        missing/broken ident logging

2002-05-19  jwm <jwm>

        * Makefile.in, contrib/mod_ldap.c: #1626 - install_user is not used
        everywhere

2002-05-18  jwm <jwm>

        * contrib/dist/rpm/ftp.pamd: language cleanup/clarification

2002-05-18  jwm <jwm>

        * contrib/dist/rpm/proftpd.init.d: cleanup

2002-05-15  jwm <jwm>

        * contrib/mod_ldap.c: 2.8.4: fix for segfaults when optional
        arguments are omitted from LDAPDoGIDLookups directive

2002-05-13  castaglia <castaglia>

        * ChangeLog: TJ: latest ChangeLog

2002-05-13  castaglia <castaglia>

        * NEWS, include/version.h: TJ: updated NEWS, version.h with date of
        1.2.5rc2 release

2002-05-13  castaglia <castaglia>

        * configure: TJ: here's the new configure to go with the
        configure.in

2002-05-13  castaglia <castaglia>

        * configure.in: TJ: being pedantic, changing the order of functions
            check to be alphabetical.  Also, I need to check configure.in
            separately from, and before, configure.  This is so that when users
            download from CVS, and run ./configure && make, the make program's
            check of the timestamp on configure.in shows an earlier date on
            configure.in than on configure (if both configure.in and configure
            are checked into CVS simultaneously, they will have the same
        timestamps, and make will cause the configure script to be run
            again).  What a pain.

2002-05-13  castaglia <castaglia>

        * configure.in: TJ: updated configure.in's copyright information

2002-05-12  castaglia <castaglia>

        * contrib/README.mod_wrap: TJ: updated README for mod_wrap-1.2.3.

2002-05-12  castaglia <castaglia>

        * CREDITS: TJ: updated PGP key fingerprint

2002-05-12  flyhmstr <flyhmstr>

        * doc/Configuration.html, doc/faq.html: ML: updated directive list
        and FAQ for rc2

2002-05-12  castaglia <castaglia>

        * config.h.in, configure, configure.in, include/proftpd.h,
        modules/mod_xfer.c: TJ: Added missing checks for functions/headers
            to configure, needed/used by include/glibc-glob.c.  Also made small
            amendments to code (volatility of flag variables and minor spacing).

2002-05-11  flyhmstr <flyhmstr>

        * doc/Configuration.html: ML: updated directive list

2002-05-11  flyhmstr <flyhmstr>

        * CREDITS, NEWS: ML: updated NEWS and CREDITS

2002-05-11  flyhmstr <flyhmstr>

        * NEWS: ML: news update

2002-05-11  flyhmstr <flyhmstr>

        * doc/faq.html: ML: adding new format FAQ

2002-05-10  castaglia <castaglia>

        * NEWS: Bug#1580 - RPM can't be built by non-root user

2002-05-10  flyhmstr <flyhmstr>

        * CREDITS, NEWS: ML: updated credits and news

2002-05-10  castaglia <castaglia>

        * NEWS, configure, configure.in: Bug#1546 - PF_ARGV_WRITABLE,
        PF_ARGV_WRITEABLE are used mixed.

2002-05-10  castaglia <castaglia>

        * NEWS, modules/mod_core.c, src/dirtree.c: Bug#1608 - src/dirtree.c
        produces two unnecessary warnings Bug#1610 - compiling mod_core.c
        gives an unneeded/dazzling msg

2002-05-10  flyhmstr <flyhmstr>

        * NEWS: ML: updating NEWS

2002-05-10  flyhmstr <flyhmstr>

        * include/ftp.h: ML: updating licence

2002-05-10  flyhmstr <flyhmstr>

        * doc/license.txt, doc/mod_sample.c: ML:   Removed legacy files   The FAQ is removed because it's superceed by the main FAQ.    Updated the base licence text with additional copyright info,   consistancy typo and the SSL exclusion clause.

2002-05-10  jwm <jwm>

        * NEWS: updating for mod_ldap 2.8.3 release

2002-05-10  jwm <jwm>

        * ChangeLog: updating changelog

2002-05-10  jwm <jwm>

        * contrib/mod_ldap.c: updating to 2.8.3

2002-05-10  jwm <jwm>

        * README.LDAP: new mod_ldap README

2002-05-10  castaglia <castaglia>

        * src/ident.c, src/inet.c: TJ: dealing with consequences of Bug#1588
            fix, which happens to affect identd lookups.  Hopefully these
            changes clear up any remaining difficulties while still retaining
        the efficacy of Bug#1588's patch.

2002-05-09  castaglia <castaglia>

        * src/ident.c: TJ: cleaned up get_ident(), adding proper
            cleanup/resource-freeing code at various exit points from the
        function

2002-05-09  castaglia <castaglia>

        * src/ident.c: TJ: fixed get_ident() to check for NULL return value
            from inet_openrw(); this was causing segfaults in the case where an
            identd server was not returning a response

2002-05-09  castaglia <castaglia>

        * src/main.c: TJ: mistakenly changed default setting of IdentLookups
            to "off" with prior changes, setting default back to "on"

2002-05-09  castaglia <castaglia>

        * modules/mod_auth.c, modules/mod_core.c, src/main.c, src/timers.c: 
        TJ: fixed remove_timer() call to check for NULL timers list before
              cycling through the list     changed IdentLookups handler to use pointers (and thus avoid
              compiler warnings about typecasts)     minor reformatting

2002-05-09  castaglia <castaglia>

        * NEWS: TJ: updated NEWS

2002-05-09  castaglia <castaglia>

        * configure, configure.in, include/log.h, include/modules.h,
        include/privs.h, modules/mod_auth.c, modules/mod_core.c,
        src/dirtree.c, src/main.c: #1544 - Daemon does not switch to
                configured User/Group identity in <VirtualHost> as documented #1581
        - uid_t and get_param_int result size

2002-05-08  flyhmstr <flyhmstr>

        * NEWS: ML: news update

2002-05-08  flyhmstr <flyhmstr>

        * doc/Configuration.html: ML: adding new version of the directive
        list

2002-05-08  flyhmstr <flyhmstr>

        * doc/Configuration.html: ML: removing old version of directive list

2002-05-08  castaglia <castaglia>

        * ChangeLog: Updated ChangeLog

2002-05-08  castaglia <castaglia>

        * NEWS: TJ: added NEWS entries for recently committed patches for
            (fixed?) bug reports

2002-05-08  castaglia <castaglia>

        * modules/mod_auth.c, src/dirtree.c, src/inet.c, src/main.c,
        src/pool.c: #1523 - "Umask" presented in <Global> block messes up
        file permissions #1566 - FXP not working properly #1578 - RootLogin
        directive does not mergedown properly

2002-05-08  castaglia <castaglia>

        * contrib/dist/rpm/proftpd.init.d, modules/mod_auth.c,
        modules/mod_core.c, src/dirtree.c, src/inet.c: #1563 - Proftpd
        1.2.4. keeps core dumping sig11 on start #1567 - AuthAliasOnly
        parsed incorrectly #1570 - MasqueradeAddress contexts do not match
        documentation #1579 - Contrib init.d script makes inappropriate use
        of ftpshut #1588 - Port scan of TCP/21 causes segmentation fault
        #1601 - Rename terminates ProFTPD (signal 11)

2002-03-06  flood <flood>

        * ChangeLog: Updated ChangeLog.

2002-03-06  flood <flood>

        * NEWS, doc/Configuration.html, modules/mod_core.c, src/main.c: 
        #1445: PID file contents change when attempting to start        the daemon a second time #1539: losing SGID bit on created
               directories w/ {User,Group}Owner in effect #1537: doc update

2002-03-01  flood <flood>

        * src/log.c: possible sigsegv introduced by patch for bug 1520

2002-02-28  flood <flood>

        * NEWS, src/dirtree.c: #1468 - segfault with empty .ftpaccess

2002-02-28  flood <flood>

        * ChangeLog: Updated ChangeLog.

2002-02-28  flood <flood>

        * NEWS, doc/Configuration.html, include/privs.h, lib/getopt.c,
        lib/getopt.h, lib/getopt1.c, modules/mod_auth.c,
        modules/mod_core.c, src/dirtree.c, src/main.c, src/support.c: #1459
        - server fails to send response in some cases #1533 - use memset
        correctly #1517 - doc update #1461 - modules/mod_unixpw.c
        pw_getgroups() makes dangerous assumption #1512 - Minor credentials
        cleanups #1516 - wrong response to CDUP/XCUP/XCWD #1451 -
        add_config_param_str() no longer uses permanent_pool #1523 - umask
        allocation in <Global> moved to permanent_pool #1380 - updated
        getopt library for Tru64/AIX

2002-02-28  flood <flood>

        * NEWS, doc/Configuration.html, include/dirtree.h, include/log.h,
        lib/pwgrent.c, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_log.c, modules/mod_xfer.c, src/dirtree.c, src/log.c: 
        #1476 doc updates #1520 security checks for TransferLogs #1435
        AccessDenyMsg for <Anonymous> not working #1492 Bad interaction
        between HiddenStor and UserOwner #1493 incorrect parsing of
        AuthUserFile #1485 Adds CF_MERGEDOWN_MULTI config_rec flag

2002-02-26  flood <flood>

        * NEWS, include/glibc-glob.h, lib/glibc-glob.c, modules/mod_auth.c,
        src/data.c, src/dirtree.c, src/inet.c, src/log.c, src/main.c,
        src/support.c: #1378 Replace alloca stuff in glibc-glob.c with
        something more standard #1498 <Limit LOGIN> block failing with
        mod_ldap #1381 include/glibc-glob.h fix for Tru64 UNIX #1465 can't
              bind to port that hasn't been closed by forked child process #1379
        replace bzero/bcopy with memset/memcpy

2002-02-14  flood <flood>

        * NEWS, contrib/ftpasswd: added contrib/ftpasswd utility script
        (contributed by TJ)

2002-02-14  flood <flood>

        * NEWS, contrib/INSTALL.mod_wrap, contrib/README.mod_wrap,
        contrib/mod_wrap.c: New mod_wrap (1.2.3) removed contrib/genuser.pl
        (per TJ)

2002-01-24  flood <flood>

        * ChangeLog: Updated ChangeLog.

2002-01-24  flood <flood>

        * NEWS, src/data.c, src/dirtree.c, src/timers.c: #1318 sendfile()
        semantics incorrect under Linux #1450 Timers removed
        immediately/alarm() return no longer used for timing #1446
        DefaultServer overrides SocketBindTight

2001-12-18  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-12-18  flood <flood>

        * NEWS, include/version.h: bumped version

2001-12-18  flood <flood>

        * NEWS, doc/Configuration.html, modules/mod_ls.c: New Directive:
        UseGlobbing, allows glibc-based filepath globbing to be disabled.

2001-12-17  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-12-17  flood <flood>

        * ChangeLog, NEWS, modules/mod_xfer.c: - Check retr_file for validity when RESToring

2001-12-17  flood <flood>

        * NEWS, modules/mod_xfer.c: - Bug 1391 - ABOR handler now clears session.xfer

2001-12-17  flood <flood>

        * NEWS, modules/mod_ls.c, modules/mod_xfer.c, src/data.c: - Bug 1392 - Added LOG_CMD_ERR cleanup handler for LIST/NLST/RETR/              STOR/APPE/STOU, to defer clearing of transfer counters.

2001-12-17  flood <flood>

        * NEWS, README.LDAP, contrib/mod_ldap.c: New mod_ldap (2.8.1)

2001-12-13  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-12-13  flood <flood>

        * NEWS, configure, configure.in, doc/Configuration.html,
        include/modules.h, include/support.h, modules/mod_auth.c,
        modules/mod_core.c, modules/mod_log.c, modules/mod_ls.c,
        modules/mod_xfer.c, src/auth.c, src/dirtree.c, src/inet.c,
        src/main.c, src/support.c, src/timers.c: - Bug 1364 - Immediate chown() after file creation - Bug 1415 - Change allowed contexts for Include - Bug 1430 - Possible bad handling of Directory contexts - Bug 1426 - sigsegv on `ls ///////////' - Bug 1360 - Add getgroups abstraction for auth modules - Bug 1289 - Increase information passed to timer callbacks - Bug 1341 - Bad tracking of forked processes - Bug 1400 - Improper use of MODRET_HASDATA macro - Bug 1416 - PidFile in <Global> context is unnecessary, even
        wasteful - Bug 1429 - Trivial fixes to dispatch reporting - Bug 1419 - Remove unnecessary colons from PRIVS_ macros - Bug 1418 - Slight change to exithandler handling to allow module              finalization slot

2001-12-13  flood <flood>

        * contrib/mod_sql.h: forgot to add contrib/mod_sql.h in previous
        commit

2001-11-30  flood <flood>

        * ChangeLog: updated ChangeLog

2001-11-30  flood <flood>

        * NEWS, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
        contrib/mod_sql_postgres.c, sample-configurations/mod_sql.conf: new
        mod_sql (4.07)

2001-11-29  flood <flood>

        * NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c,
        src/main.c, src/support.c: #1396 DenyFilter works only in server
        config scope #1410 SIGIO now conditionally compiled #1281 Improper
        checking of server context

2001-11-29  flood <flood>

        * ChangeLog: updated ChangeLog

2001-11-29  flood <flood>

        * NEWS, include/modules.h, modules/mod_core.c, src/dirtree.c,
        src/main.c: #1368 umask bug hopefully squashed for good #1389 fixed
        hang on PWD #1355 added POST_CMD_ERR handler to API

2001-11-08  flood <flood>

        * NEWS, configure, configure.in: #1113-Make.rules for HPUX
        incorrectly generated

2001-11-08  flood <flood>

        * NEWS, contrib/README.mod_wrap, contrib/mod_wrap.c: new mod_wrap
        (1.2.2) from tj

2001-11-08  flood <flood>

        * NEWS, modules/mod_auth.c: #1334-MaxClients none forbids connect

2001-10-19  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-10-19  flood <flood>

        * include/version.h: 1.2.4

2001-10-19  flood <flood>

        * NEWS, modules/mod_core.c, src/dirtree.c: 1348-umask argument not
        stored correctly

2001-10-18  flood <flood>

        * ChangeLog: Updated ChangeLog

2001-10-18  flood <flood>

        * NEWS, include/version.h: 1.2.3-release

2001-10-18  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-10-18  flood <flood>

        * NEWS, doc/Configuration.html, modules/mod_core.c,
        modules/mod_log.c, modules/mod_site.c, src/main.c: 1344-ExtendedLog
        now logs QUIT command 1332-Doc patch 1335-Doc patch 1334-Max* none
        fix 1343-better reporting of command dispatching 1242-more verbose
        logging of regex

2001-10-18  flood <flood>

        * NEWS, src/dirtree.c: #1247 - Fix Allow/Deny boolean logic.

2001-09-26  flood <flood>

        * NEWS, modules/mod_core.c: #1327 AllowForeignAddress mergedown

2001-09-26  flood <flood>

        * NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c: #1280
        datatype fixups

2001-09-26  flood <flood>

        * NEWS, modules/mod_ls.c: #1311 - sigsegv under DirFake* directives

2001-09-26  flood <flood>

        * NEWS, include/conf.h: #1305 - limits.h now included

2001-09-26  flood <flood>

        * NEWS, src/inet.c: #1331 - forward-resolve reverse dns

2001-08-24  flood <flood>

        * src/main.c: patched to not display PASS password on proctitle

2001-08-17  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-08-17  flood <flood>

        * NEWS, include/version.h: 1.2.2-final

2001-08-16  flood <flood>

        * include/conf.h: Double license in header conf.h

2001-08-16  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-08-16  flood <flood>

        * ChangeLog, NEWS, doc/Configuration.html: Updated docs, moved
        mod_test.c to attic

2001-08-16  flood <flood>

        * NEWS, modules/mod_ls.c, modules/mod_xfer.c, src/support.c: 1273 -
        DirFakeGroup merges down 1286 - mod_ls displays set[ug]id bits 1266
        - APPE could corrupt files 1278 - access_check() does not set errno
        properly

2001-08-16  flood <flood>

        * NEWS, contrib/mod_sql.c: new mod_sql

2001-08-01  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-08-01  flood <flood>

        * NEWS: README.mod_sql update from author

2001-08-01  flood <flood>

        * INSTALL, NEWS, doc/Configuration.html, modules/mod_ls.c: #1187
        Upstream update to mod_quota #1217,1262,1111,1216 Documentation
        updates #1145 DirFakeUser now applies to STAT as well as LIST/NLST

2001-08-01  flood <flood>

        * NEWS, include/proftpd.h, modules/mod_core.c, modules/mod_xfer.c,
        src/dirtree.c, src/main.c: #1219 - gcc 3.0 fix #1232 - UserOwner
        changes both uid and gid

2001-07-04  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-07-04  flood <flood>

        * NEWS, src/log.c: #1230 - size mismatch struct utmpx in Solaris 8
        (sparcv9)

2001-07-03  flood <flood>

        * NEWS, modules/mod_auth.c: #1098 - Non~* DefaultRoot bug

2001-07-03  flood <flood>

        * NEWS, modules/mod_xfer.c: #1234 ABOR must always return 226

2001-07-02  flood <flood>

        * NEWS, contrib/mod_sql.c: New mod_sql

2001-06-20  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-06-20  flood <flood>

        * NEWS, include/version.h: Bump version, final commit for 1.2.2rc3

2001-06-20  flood <flood>

        * NEWS, src/main.c: #1215 - Removes setpgid from fork_server

2001-06-20  flood <flood>

        * NEWS, modules/mod_ls.c: #1145 - DirFakeUser can display currently
        logged in user

2001-06-20  flood <flood>

        * NEWS, doc/Configuration.html: #1164,1020,1134,1190,1207 - Doc
        updates

2001-06-19  flood <flood>

        * NEWS, src/data.c: #1210 Possible silent truncation in net-ascii
        mode

2001-06-18  flood <flood>

        * NEWS, modules/mod_ls.c, src/dirtree.c: #1212 Special files in
        directory listings

2001-06-18  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-06-18  flood <flood>

        * NEWS, modules/mod_core.c: #1189 Directory dups allowed in
        Anonymous

2001-06-18  flood <flood>

        * NEWS, modules/mod_auth.c, modules/mod_core.c, modules/mod_ls.c,
        src/dirtree.c, src/main.c, src/support.c: #1155 - non rfc behavior
        #1193 ~ files not handled correctly #1203 - '!' ACL negation logic
        changed #1161 - %F displays free space on CWD #1151 - <Limit>
        searching fix for Anon/Vhost root

2001-06-18  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-06-18  flood <flood>

        * NEWS, include/conf.h, include/data.h, include/default_paths.h,
        include/dirtree.h, include/ident.h, include/inet.h,
        include/libsupp.h, include/log.h, include/modules.h,
        include/options.h, include/pool.h, include/privs.h,
        include/proftpd.h, include/sets.h, include/support.h,
        include/timers.h, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c,
        modules/mod_xfer.c, src/auth.c, src/data.c, src/dirtree.c,
        src/ident.c, src/inet.c, src/log.c, src/main.c, src/modules.c,
        src/pool.c, src/sets.c, src/support.c, src/timers.c: Updated
        Copyright/License to allow linking to OpenSSL

2001-06-03  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-06-03  flood <flood>

        * NEWS, modules/mod_auth.c, modules/mod_core.c, src/main.c: #1185 -
        homedir symlink dereference #1189 - duplicated <Directory> contexts
        not allowed #1183 - removed redundant find_class()

2001-06-03  flood <flood>

        * NEWS, contrib/dist/rpm/proftpd.init.d,
        contrib/xferstats.holger-preiss, include/glibc-glob.h,
        modules/mod_core.c, src/main.c: #1201 - Feature addition to
        contrib/xferstats.holger-preiss #1132 - glibc2.0 compilation #1090 -
        ExtendedLog not reporting errors on all events #1149 - Modification
        in rpm init script

2001-05-31  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-05-31  flood <flood>

        * NEWS, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
        contrib/mod_sql_postgres.c: New mod_sql and friends

2001-05-21  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-05-21  flood <flood>

        * NEWS, contrib/mod_readme.c, include/conf.h, modules/mod_core.c: 
        Bug 1175 - GNU HURD portability Bug 1177 - mod_readme.c moved to
        contrib/ Bug 1176 - PWD/XPWD now G_DIRS and limitable

2001-05-21  flood <flood>

        * NEWS, lib/glibc-glob.c: Bug 1155 - conditional HPUX headers in
        glibc-glob.c

2001-05-17  flood <flood>

        * ChangeLog: Updated ChangeLog

2001-05-17  flood <flood>

        * NEWS, include/proftpd.h, lib/getopt.c, lib/pr_fnmatch.c,
        lib/pr_fnmatch_loop.c, modules/mod_auth.c, src/inet.c, src/main.c: 
        #1156 - usernames w/ spaces #1160 - svr4.2mp;UX/4800 has bsd root
        socket semantics #1168 - cleanup #1169 - DefaultRoot/DefaultChdir no
        longer mutually exclusive #1170 - cleanup #1172 - cleanup

2001-05-16  flood <flood>

        * NEWS, src/inet.c: Bug #1152 - integer array overflow w.r.t.
        PassivePorts

2001-04-24  flood <flood>

        * NEWS, modules/mod_ls.c: Bug 1137 - NLST displayed hidden files

2001-04-23  flood <flood>

        * NEWS: Final NEWS update for 1.2.2rc2 (old)

2001-04-20  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-04-20  flood <flood>

        * NEWS, include/version.h, src/main.c: Bug 1112 - removed in_addr
        cast for better compilation on IRIX 6.2.

2001-04-20  flood <flood>

        * NEWS, modules/mod_site.c: Log warning when AllowChmod is used.

2001-04-18  flood <flood>

        * src/data.c: Ooops.  sendfile() Linux subtraction was backwards. ;)

2001-04-18  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-04-18  flood <flood>

        * NEWS, src/data.c: Bug #1128 - Incorrect sendfile() semantics.

2001-04-13  flood <flood>

        * modules/mod_core.c: Fixed sigsegv on SITE bug, only in cvs
        versions.

2001-04-11  flood <flood>

        * modules/mod_log.c, src/dirtree.c, src/log.c: small fixes to dr's
        case insensitivity patch.  case sensitivity is actually required in
        some places. ;)

2001-04-11  flood <flood>

        * NEWS, lib/glibc-glob.c, src/main.c: Bug 1119 - IRIX6 fix for
        glibc-glob.c Bug 1090 - logging now works with PRE_CMD failed
        handlers

2001-04-11  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-04-11  flood <flood>

        * src/dirtree.c: MasqueradeAddress now prints LOG_INFO message.

2001-04-11  flood <flood>

        * NEWS, include/log.h, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_log.c, modules/mod_ls.c, src/dirtree.c, src/log.c: Bug
        #1093 - world writable log/symlinked log files Bug #1094 -
        Auth{User,Group}File disallow relative paths Bug #1096 - Case
        insensitivity/RLimit* args

2001-03-27  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-03-27  flood <flood>

        * doc/Configuration.html: Bugs #1088, 1058 & 1041 - Doc updates for
        1.2.2.

2001-03-27  flood <flood>

        * NEWS: Updated NEWS version

2001-03-24  flood <flood>

        * ChangeLog: Final commit for 1.2.2rc1.

2001-03-24  flood <flood>

        * include/version.h: Bumped version number to 1.2.2rc1.

2001-03-24  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-03-24  flood <flood>

        * NEWS, modules/mod_auth.c: Bug #1085: better logging of two auth
        messages in mod_auth.

2001-03-24  flood <flood>

        * NEWS, doc/Configuration.html, modules/mod_xfer.c: Bug #1043:
        Possible inf. loop in throttle code.  Bug #1074: Doc fixes Bug
        #1070: Doc fixes

2001-03-23  flood <flood>

        * NEWS, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
        include/proftpd.h, modules/mod_core.c, src/dirtree.c, src/main.c: 
        Bug #1075 - Fix for short copy of sub-contexts from <Global> New
        mod_sql and mod_sql docs from maintainer New RLimit* directives used
        to control resource limits

2001-03-23  flood <flood>

        * modules/mod_core.c, src/auth.c, src/main.c: Slightly better
        handling of uid/gid type casts and conversions.

2001-03-22  flood <flood>

        * NEWS, modules/mod_auth.c: Bug #1049 - passwd/group files are now
        close/re-opened at USER/PASS.

2001-03-22  flood <flood>

        * src/dirtree.c: Added debugging to umask code.

2001-03-22  flood <flood>

        * include/glibc-glob.h: glibc glob header should now be more
        portable

2001-03-17  flood <flood>

        * Make.rules.in, NEWS, acconfig.h, config.h.in, configure,
        configure.in, include/conf.h, include/glibc-glob.h,
        include/libsupp.h, lib/glibc-glob.c: Bug #1066 - new GNU glob which
        protects against DoS attacks.

2001-03-13  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-03-13  flood <flood>

        * contrib/mod_sql.c: New mod_sql from maintainer.

2001-03-11  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-03-11  flood <flood>

        * NEWS, modules/mod_core.c, src/main.c: Added MasqueradeAddress
        feature.

2001-03-09  flood <flood>

        * NEWS, modules/mod_auth.c, modules/mod_core.c: Bug #1044 - New
        directive: AccessDenyMsg

2001-03-09  flood <flood>

        * src/main.c: Bug #1056 (second part) - SIGSEGV is no longer handled
        when inside the SIGSEGV handler.

2001-03-09  flood <flood>

        * NEWS: Bug #1055 - ftpwho/ftpcount scan proftpd.conf for scoreboard
        path.

2001-03-09  flood <flood>

        * NEWS, config.h.in, configure, configure.in, src/pool.c: Bug #1042
        - Directory matching for / Bug #1051 - man pages reference
        proftpd.net instead of .org New proftpd.spec.in from RPM maintainer
        configure now tests for the limits.h header file

2001-03-01  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-03-01  flood <flood>

        * NEWS: New NEWS

2001-03-01  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-03-01  flood <flood>

        * README, README.ports: Updated READMEs.

2001-03-01  flood <flood>

        * NEWS, configure, configure.in, contrib/mod_sql.c,
        contrib/mod_sql_mysql.c, include/version.h, modules/mod_core.c: New
        mod_sql maintainer stuff.  Attempting to use classes without
        "Classes On" emits a warning.

2001-02-28  flood <flood>

        * include/pool.h, modules/mod_auth.c, src/inet.c, src/pool.c: Bug
        #1037 - Fix for netbsd sockets.  Bug #1039 - proper copying of
        session.groups New MLST draft proposal

2001-02-28  flood <flood>

        * NEWS, configure, configure.in, modules/mod_xfer.c: Bug #1036 -
        --disable-shadow now works.  More informative message for REST w/
        HiddenStor.  Default CFLAGS changed from -O6 to -O2

2001-02-27  flood <flood>

        * contrib/mod_ldap.c, contrib/mod_sql.c: Updated RPM spec (again) as
        well as new mod_ldap and mod_sql contrib modules.

2001-02-27  flood <flood>

        * contrib/mod_sql.c, include/version.h: New RPM .spec and mod_sql.c

2001-02-26  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-02-26  flood <flood>

        * Makefile.in, NEWS, include/version.h: Final commit to 1.2.0-final
        release

2001-02-26  flood <flood>

        * src/support.c: access_check() always succeeds for root now.

2001-02-26  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-02-26  flood <flood>

        * contrib/mod_ldap.c: New mod_ldap.c

2001-02-25  flood <flood>

        * contrib/mod_sql.c: Patch from mod_sql maintainer.

2001-02-25  flood <flood>

        * CREDITS, doc/Configuration.html: Bug #1034 - Final clean-up for
        docs.  CREDITS - added Chuck

2001-02-24  flood <flood>

        * Makefile.in, configure, configure.in, modules/mod_auth.c: Bug
        #1033 - access denied text fix Minor tweaks to configure, updates
        distclean rule in Makefile

2001-02-24  flood <flood>

        * configure, configure.in, contrib/mod_sql.c: Bug #1031 - update
        from mod_sql maintainer New README.mod_sql configure no longer
        duplicates additional modules' libraries.

2001-02-24  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-02-24  flood <flood>

        * CREDITS: Removed mod_sql docs per AAH.  New docs will be added
        with more appropriate filenames.

2001-02-23  flood <flood>

        * CREDITS, README, README.ports, configure, configure.in,
        contrib/mod_ratio.c, contrib/mod_sql.c, contrib/mod_sql_postgres.c,
        lib/Makefile.in: Bug #1024 - minor doc changes.  Bug #1025 - stop
        assuming the system has ranlib.  Bug #1028 - mod_sql_postgres.c
        patch from maintainer.  Bug #1029 - mod_sql.c patch from maintainer.
        Bug #1030 - mod_ratio.c should compile again.

2001-02-23  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-02-23  flood <flood>

        * NEWS, config.h.in, configure, configure.in, include/modules.h,
        include/proftpd.h, modules/mod_auth.c, src/auth.c, src/dirtree.c,
        src/main.c: Bug #259 - supplemental groups should now work better
        for anonymous logins.

2001-02-23  flood <flood>

        * include/inet.h, src/inet.c, src/main.c: Bug #370 - race condition
        under heavy load at child startup

2001-02-23  flood <flood>

        * contrib/mod_sql.c: New mod_sql 3.01 from Andrew Houghton
        <aah@acm.org>

2001-02-23  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-02-23  flood <flood>

        * INSTALL, README, README.AIX, README.FreeBSD, README.modules,
        README.ports, configure, configure.in, doc/Configuration.html,
        sample-configurations/PFTEST.conf.in,
        sample-configurations/PFTEST.group,
        sample-configurations/PFTEST.install,
        sample-configurations/PFTEST.passwd,
        sample-configurations/PFTEST.shadow: Bug #1006 - Fixes in
        configure.in  Bug #1022 - Docs updated for mod_sql. Bug #1024 -
        Updated INSTALL, README and new READMEs and PFTEST files.

2001-02-22  flood <flood>

        * modules/mod_ls.c: Bug #1016 - Listing "." files should work again
        + tweak to IgnoreHidden.

2001-02-22  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-02-22  flood <flood>

        * NEWS, include/dirtree.h, modules/mod_core.c, modules/mod_ls.c,
        modules/mod_xfer.c, src/dirtree.c: Bug #1023 - Fix for IgnoreHidden
        boolean patch problem introduced in rc2.

2001-02-22  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-02-22  flood <flood>

        * Make.rules.in, Makefile.in, include/.cvsignore,
        include/version.h, src/main.c: Build timestamp is now reported at
        startup and with --version-status.  Removing includes from CFLAGS
        (CPPFLAGS is enough), changed uid/gid cast from unsigned long long
        to unsigned long.

2001-02-22  flood <flood>

        * configure: configure needs a new timestamp :)

2001-02-22  flood <flood>

        * ChangeLog: Updated ChangeLog, re-ran autoconf

2001-02-22  flood <flood>

        * NEWS, src/log.c: Logging is now done with a single write() syscall

2001-02-22  flood <flood>

        * modules/mod_core.c, src/main.c: Bug #1009 - FTP logins are now
        logged to match logouts.

2001-02-21  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-02-21  flood <flood>

        * CREDITS, src/log.c: Bug #1021 - fix for ftpwho/ftpcount not
        working (_pid_exists() in log.c)

2001-02-21  flood <flood>

        * modules/mod_xfer.c: Bug #1015 - Format string for long long uids.
        REST command now returns failure message if used where HiddenStor is
        enabled.

2001-02-21  flood <flood>

        * ChangeLog, NEWS: Updated NEWS

2001-02-21  flood <flood>

        * NEWS, doc/Configuration.html, include/ftp.h, modules/mod_xfer.c,
        src/log.c: Bug #1003/1017 documentation fixes.  Bug #463 - no longer
        possible to REST past the end of a file.  kill(pid,SIGCONT) in log.c
        switched to kill(pid,0)

2001-02-20  flood <flood>

        * configure, configure.in, include/version.h, src/main.c: Added
        --version-status which displays extended version information.

2001-02-20  flood <flood>

        * src/main.c: Timeout and normal logout syslog messages are now
        logged at LOG_INFO instead of LOG_NOTICE.

2001-02-20  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-02-20  flood <flood>

        * modules/mod_xfer.c: Bug #1012 - Fixed "Unable to throttle
        bandwidth: Interrupted system call" issue.

2001-02-19  flood <flood>

        * contrib/mod_sql.c, contrib/mod_sql_mysql.c,
        contrib/mod_sql_postgres.c: Added AAH's newly-maintained mod_sql 3.0
        back in to CVS.

2001-02-18  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-02-16  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-02-16  flood <flood>

        * modules/mod_core.c, src/dirtree.c: Bug #1008 - Port 21 is now
        default w/out Port directive.

2001-02-15  flood <flood>

        * src/data.c: spurious #ifdef removed, sendfile() should compile
        again

2001-02-14  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-02-14  flood <flood>

        * acconfig.h, config.h.in, configure, configure.in, src/data.c: 
        sendfile configure code fixed, HP/UX support for sendfile removed
        because HP/UX's implementation is just plain wrong.  Might be added
        back in 1.3.

2001-02-14  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-02-14  flood <flood>

        * modules/mod_xfer.c: Bug #462 - sendfile works again on freebsd

2001-02-13  flood <flood>

        * modules/mod_ls.c, src/dirtree.c: Bug #1007 - IgnoreHidden can now
        be turned off.

2001-02-05  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-02-05  flood <flood>

        * CREDITS, INSTALL, NEWS, README, doc/Configuration.html: Minor doc
        changes

2001-02-05  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-02-05  flood <flood>

        * NEWS: moved mod_tar.c, mod_sqlpw.c, mod_mysql.c and mod_pgsql.c to
        attic, mod_test.c to contrib/.  Adjusted README.sqlpw accordingly.

2001-02-05  flood <flood>

        * configure, configure.in, contrib/mod_ratio.c, modules/mod_auth.c,
        modules/mod_xfer.c: Bug #279 - Correct use of sendfile. #29 -
        updated rpm spec. #433 - initial .ftpaccess in cwd. #453 mod_ratio
        now uses new dir_check().  initgroups/getgroups use now requires
        --enable-initgroups.

2001-02-05  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-02-05  flood <flood>

        * src/log.c: Bug #455 - SyslogLevel now works as documented.

2001-02-05  flood <flood>

        * README, configure, configure.in, lib/Makefile.in: Bug #293 -
        Compilation under OSX.

2001-02-03  flood <flood>

        * src/data.c: Minor fixes to bug 399's patch. ;)

2001-02-02  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-02-02  flood <flood>

        * modules/mod_core.c: Bug #407 - Include pathnames must now be
        absolute

2001-02-02  flood <flood>

        * include/options.h, modules/mod_xfer.c, src/data.c: Bug #399 -
        incorrect handling of CRs during ascii transfers, also made default
        buffer size a macron in options.h: TUNABLE_BUFFER_SIZE

2001-02-02  flood <flood>

        * CREDITS, INSTALL, NEWS: Updated minor documentation

2001-02-01  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-02-01  flood <flood>

        * include/version.h, src/auth.c: Bug #435 - uid/gid checking for -1,
        updated version string to 1.2.0rc3

2001-02-01  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-02-01  flood <flood>

        * src/main.c: Bug #451 - check uid/gid after PRIVS_SETUP

2001-01-31  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-01-31  flood <flood>

        * configure, configure.in, modules/mod_xfer.c: Bug #35 - call
        _aborT() funcs in exit handler.  sendfile() support is now disabled
        by default, enable with --enable-sendfile

2001-01-31  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-01-31  flood <flood>

        * include/dirtree.h, modules/mod_core.c, modules/mod_ls.c,
        modules/mod_xfer.c, src/dirtree.c: Bug #410 - IgnoreHidden fix and
        cleanup/changes of hiding code.

2001-01-31  flood <flood>

        * modules/mod_auth.c, modules/mod_core.c: Bug #422 - fixed handling
        of get_boolean() in config handles #410 - HideNoAccess now takes
        boolean argument

2001-01-29  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-01-29  flood <flood>

        * contrib/mod_ldap.c: New mod_ldap.c from jwm@horde.net

2001-01-29  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-01-29  flood <flood>

        * modules/mod_core.c, src/dirtree.c: Bug #353 - Allows use of '!'
        negation operator in Allow/Deny.

2001-01-29  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-01-29  flood <flood>

        * doc/Configuration.html, include/inet.h, modules/mod_core.c,
        src/inet.c, src/main.c: Bug #188 - Removed use of NAME_MAX in
        mod_tar and mod_test.  #349 - Final implementation of PassivePorts.

2001-01-28  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-01-28  flood <flood>

        * modules/mod_core.c: Bug #436 - MaxClients* directives now merge
        downward.

2001-01-28  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-01-28  flood <flood>

        * doc/Configuration.html, modules/mod_auth.c, src/main.c: Bug #350 -
        Enabling classes but not defining a class no longer segfaults. #360
        - Proftpd now logs if passwd/group files cannot be opened. #417 -
        Command filter regexps no longer apply to the PASS command.

2001-01-26  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-01-26  flood <flood>

        * modules/mod_core.c: Bug #390 - Added ifdef to regex code in
        mod_core

2001-01-26  flood <flood>

        * contrib/dist/rpm/proftpd.init.d: Bug #347 - RPM problem in
        contrib/

2001-01-26  flood <flood>

        * src/dirtree.c: Bug #397 - Fixed problem with incorrect config file
        line count

2001-01-26  flood <flood>

        * src/support.c: Bug #441 - off-by-one error when reading month from
        /etc/shutmsg

2001-01-26  flood <flood>

        * doc/Configuration.html: Bug #429 - Documentation changes

2001-01-26  flood <flood>

        * src/inet.c, src/main.c: Bug #398 - overwriting file descriptor in
        inet_openrw()

2001-01-25  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-01-25  flood <flood>

        * ChangeLog, configure: Updated ChangeLog.

2001-01-25  flood <flood>

        * config.h.in, configure.in, modules/mod_auth.c: Bug #365 - Removed
        jail() code from mod_auth.c

2001-01-25  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-01-25  flood <flood>

        * ChangeLog: Updated ChangeLog.

2001-01-25  flood <flood>

        * ChangeLog: [no log message]

2001-01-24  flood <flood>

        * ChangeLog: [no log message]

2001-01-24  flood <flood>

        * ChangeLog, contrib/mod_ratio.c, src/main.c: Bug #430 - format
        string fixes in log_pri and mod_ratio.

2001-01-24  flood <flood>

        * src/dirtree.c, src/log.c, src/main.c: Bug #408 (1) -
        add_config_set fix to prevent USER/pool overwrite DoS Bug #408 (2) -
        scoreboard memory leak in log_open_run fixed Bug #408 (3) - Fixed
        potential format string bug in main.c Bug #434     - Added pool to
        pidrec_t to fix large server memory leak

2000-10-08  macgyver <macgyver>

        * acconfig.h, config.h.in, configure, configure.in,
        include/support.h, modules/mod_ls.c, src/support.c: Correctly use
        NAME_MAX and fpathconf() when appropriate.

2000-10-08  macgyver <macgyver>

        * contrib/README.mod_wrap, contrib/mod_wrap.c: Added in mod_wrap
        into contrib.

2000-10-08  macgyver <macgyver>

        * modules/mod_core.c: Correctly log the full path of deleted files.

2000-10-08  macgyver <macgyver>

        * modules/mod_auth.c, modules/mod_core.c: Added in support for
        MaxHostsPerUser and fixed a problem with AnonRequirePassword.

2000-10-08  macgyver <macgyver>

        * src/inet.c: Lots of little cleanups.

2000-10-08  macgyver <macgyver>

        * contrib/mod_ratio.c: Fixed a bounds issue when checking the SITE
        command.

2000-08-19  macgyver <macgyver>

        * configure, configure.in: Fixed ordering in library duplication
        detection code.

2000-08-18  macgyver <macgyver>

        * NEWS: Updates.

2000-08-18  macgyver <macgyver>

        * ChangeLog: Updated ChangeLog.

2000-08-18  macgyver <macgyver>

        * README.PAM: Updated PAM documentation for FreeBSD.

2000-08-18  macgyver <macgyver>

        * src/dirtree.c: Don't only partially match directory names.  This
        annoying bug allowed for directory-level configurations to sometimes
        not work right.

2000-08-18  macgyver <macgyver>

        * configure, configure.in: Fixed a small typo in PAM detection.

2000-08-18  macgyver <macgyver>

        * acconfig.h, config.h.in, configure, configure.in: PAM and path
        modifications.

2000-08-13  macgyver <macgyver>

        * Make.rules.in, acconfig.h, config.h.in, configure, configure.in,
        include/conf.h: Some configure and compilation cleanups.

2000-08-08  macgyver <macgyver>

        * include/data.h, modules/mod_xfer.c, src/data.c: Cleaned up
        sendfile() implementation to make it simpler and more managable.

2000-08-07  macgyver <macgyver>

        * modules/mod_core.c: Fixed a typo in set_sysloglevel.

2000-08-05  macgyver <macgyver>

        * modules/mod_auth.c: Be a little more anal retentive about cleaning
        up after ourselves when it comes to USER/PASS attempts.

2000-08-05  macgyver <macgyver>

        * src/data.c: Formatting cleanups.

2000-08-05  macgyver <macgyver>

        * modules/mod_xfer.c: Removed spurious #if 0.

2000-08-04  macgyver <macgyver>

        * configure, configure.in: Updated HP/UX sendfile() to only actually
        check on HP/UX platforms. :)

2000-08-04  macgyver <macgyver>

        * ChangeLog: Updated ChangeLog.

2000-08-04  macgyver <macgyver>

        * doc/Configuration.html: Updated documentation.

2000-08-03  macgyver <macgyver>

        * contrib/README.ratio, contrib/mod_ratio.c: Updated to mod_ratio.

2000-08-03  macgyver <macgyver>

        * contrib/mod_ldap.c: Updated to mod_ldap 2.7.3 to remove
        LDAPSearchFilter.

2000-08-03  macgyver <macgyver>

        * modules/mod_auth.c: Oops...more compilation fixes for jail(). :)

2000-08-03  macgyver <macgyver>

        * doc/Configuration.html: Updated documentation.

2000-08-03  macgyver <macgyver>

        * modules/mod_auth.c: Correctly obtain the IP address in jail().

2000-08-03  macgyver <macgyver>

        * modules/mod_auth.c: Typos in jail() support.

2000-08-03  macgyver <macgyver>

        * ChangeLog: Updated ChangeLog.

2000-08-03  macgyver <macgyver>

        * modules/mod_auth.c: Added some debug logging to lockdown().

2000-08-03  macgyver <macgyver>

        * NEWS, config.h.in, configure, configure.in, modules/mod_auth.c: 
        Added in support for jail() on platforms that support it (currently
        FreeBSD 4.x+).

2000-08-03  macgyver <macgyver>

        * ChangeLog, NEWS: Updated ChangeLog and NEWS.

2000-08-02  macgyver <macgyver>

        * doc/Configuration.html: Updated documentation.

2000-08-02  macgyver <macgyver>

        * ChangeLog, NEWS: Updated NEWS and ChangeLog.

2000-08-02  macgyver <macgyver>

        * Make.rules.in, configure, configure.in: Added in --with-libraries
        for posterity.

2000-08-02  macgyver <macgyver>

        * configure.in: Added copyright info to the configure scripts.

2000-08-02  macgyver <macgyver>

        * src/log.c: Only log to WTMP or WTMPX, not both.  Modern systems
        should all use WTMPX.

2000-08-02  macgyver <macgyver>

        * stamp-h.in: Added in stamp-h.in support.

2000-08-02  macgyver <macgyver>

        * .cvsignore, Makefile.in, configure, configure.in: Added support
        for stamp-h.in and automagic rebuilds whenever configure is updated.

2000-08-02  macgyver <macgyver>

        * acconfig.h, config.h.in, configure, configure.in: More sendfile
        detection tweaks. :)

2000-08-02  macgyver <macgyver>

        * modules/mod_core.c: Forgot to return HANDLED in add_sysloglevel.

2000-08-02  macgyver <macgyver>

        * ChangeLog: Updated ChangeLog.

2000-08-02  macgyver <macgyver>

        * configure, configure.in: Reworked sendfile detection to be cleaner
        and better cached.

2000-08-02  macgyver <macgyver>

        * Make.rules.in, NEWS, configure, configure.in: Added in
        --with-includes and made the PAM check for -ldl cache its results.

2000-08-02  macgyver <macgyver>

        * NEWS, include/conf.h, include/data.h, include/default_paths.h,
        include/dirtree.h, include/ftp.h, include/ident.h, include/inet.h,
        include/libsupp.h, include/log.h, include/modules.h,
        include/options.h, include/pool.h, include/privs.h,
        include/proftpd.h, include/sets.h, include/timers.h,
        modules/mod_core.c, src/log.c: Added SyslogLevel directive, and
        cleaned up some header files.

2000-08-01  macgyver <macgyver>

        * modules/mod_core.c, src/main.c: Added support for the PidFile
        directive, to make ProFTPD more Apache-like.

2000-08-01  macgyver <macgyver>

        * ChangeLog: Updated ChangeLog.

2000-08-01  macgyver <macgyver>

        * include/proftpd.h, modules/mod_auth.c, src/main.c: 
        AnonRequirePassword should prevent the password from being displayed
        in ftpwho/ftpcount/ps.

2000-08-01  macgyver <macgyver>

        * ChangeLog: Updated ChangeLog.

2000-08-01  macgyver <macgyver>

        * NEWS, modules/mod_log.c: Honor ExtendedLog NONE.

2000-08-01  macgyver <macgyver>

        * NEWS, doc/Configuration.html, modules/mod_site.c: AllowChmod
        defaults to 'on' now, to be backward compatible.

2000-08-01  macgyver <macgyver>

        * ChangeLog: Updated ChangeLog.

2000-08-01  macgyver <macgyver>

        * NEWS, modules/mod_auth.c: Moved code around to eliminate a race
        with MaxClients.

2000-08-01  macgyver <macgyver>

        * NEWS, contrib/mod_ratio.c, modules/mod_site.c: Fixed a minor bug
        in SITE HELP.

2000-08-01  macgyver <macgyver>

        * NEWS, modules/mod_core.c, modules/mod_xfer.c: Added in
        DeleteAbortedStores and did some minor cleanups.

2000-08-01  macgyver <macgyver>

        * NEWS: Solaris requires you to have PAM_TTY and PAM_RHOST defined
        before you call pam_open_session.  No, it doesn't make sense to me
        either. :)

2000-07-28  macgyver <macgyver>

        * lib/pr_fnmatch.c: Optimizations for fnmatch() implementation.

2000-07-28  macgyver <macgyver>

        * contrib/mod_ldap.c: Updated mod_ldap to 2.7.2.

2000-07-28  macgyver <macgyver>

        * modules/mod_xfer.c: Don't check for PORT in cmd_stor if we're in
        passive mode.

2000-07-28  macgyver <macgyver>

        * NEWS, modules/mod_site.c: AllowChmod now works in almost any
        context.

2000-07-28  macgyver <macgyver>

        * ChangeLog: Updated ChangeLog.

2000-07-28  macgyver <macgyver>

        * NEWS, modules/mod_site.c: AllowChmod works right now.

2000-07-28  macgyver <macgyver>

        * NEWS, acconfig.h, config.h.in, configure, configure.in,
        src/data.c: Added --disable-pam, allowing you to disable PAM at
        configure-time.  Reorganized sendfile detection a bit and added
        support for HP/UX.

2000-07-27  macgyver <macgyver>

        * modules/mod_auth.c: Work around HP/UX's broken compiler in
        _do_user_counts().

2000-07-27  macgyver <macgyver>

        * contrib/mod_ldap.c: Updated mod_ldap to latest/greatest.

2000-07-26  macgyver <macgyver>

        * src/main.c: Remove spurious \r\n from various send_response()s.

2000-07-26  macgyver <macgyver>

        * src/main.c: Be verbose about /etc/shutmsg.

2000-07-26  macgyver <macgyver>

        * include/proftpd.h, modules/mod_core.c, modules/mod_ls.c,
        modules/mod_xfer.c, src/data.c, src/log.c: Fixed a crash when STOR
        called before PORT being issued.  Fixed a crash related to STAT.

2000-07-26  macgyver <macgyver>

        * lib/pwgrent.c: Fixed some warnings on FreeBSD.

2000-07-26  macgyver <macgyver>

        * src/main.c: Better checking for empty strings before attempting to
        call a regex.  Handle empty commands cleaner.

2000-07-26  macgyver <macgyver>

        * README.LDAP, contrib/mod_ldap.c: Updated mod_ldap to 2.7.1.

2000-07-26  macgyver <macgyver>

        * lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: fnmatch.c was renamed to
        pr_fnmatch.c, as well as importing the new fnmatch code from glibc.

2000-07-26  macgyver <macgyver>

        * Make.rules.in, config.h.in, configure, configure.in,
        include/libsupp.h, lib/Makefile.in, modules/Makefile.in,
        src/Makefile.in, src/dirtree.c: New fnmatch code in ProFTPD.
        Updated from the latest and greatest glibc code.  ProFTPD now always
        uses our builtin fnmatch to eliminate problems with incompatible
        implementations as well as namespace collisions.

2000-07-26  macgyver <macgyver>

        * contrib/mod_ratio.c: Transitioned to the new fnmatch() function,
        and corrected an error where hosts were being treated in a
        case-sensitive fashion.

2000-07-26  macgyver <macgyver>

        * configure, configure.in: Made fnmatch check more robust and
        cleaned up gcc detection a bit.

2000-07-26  macgyver <macgyver>

        * configure, configure.in, src/dirtree.c: Hostname checks should be
        case insensitive.  Added FNM_CASEFOLD to fnmatch check.

2000-07-26  macgyver <macgyver>

        * config.guess, config.sub: Updated config.guess and config.sub
        scripts.

2000-07-21  macgyver <macgyver>

        * ChangeLog: Updated changelog.

2000-07-21  macgyver <macgyver>

        * ChangeLog, NEWS, config.h.in, configure, configure.in,
        modules/mod_auth.c: Portability fixes and additions on various
        platforms.  Also corrected a problem in configure where a piece of
        code was completely bypassed.

2000-07-21  macgyver <macgyver>

        * doc/Configuration.html: Updated configuration documentation.

2000-07-21  macgyver <macgyver>

        * src/main.c: Check for getopt_long was backwards.

2000-07-21  macgyver <macgyver>

        * modules/mod_core.c: Removed unused variables thanks to gcc -Wall.

2000-07-21  macgyver <macgyver>

        * src/main.c: Removed 2 printfs that were just plain wrong in a
        situation where a site is administratively shutdown (ala shutmsg,
        etc).  Also corrected a getopt_long related issue in show_usage.

2000-07-21  macgyver <macgyver>

        * NEWS: Updated news.

2000-07-21  macgyver <macgyver>

        * ChangeLog: Updated changelog.

2000-07-21  macgyver <macgyver>

        * src/main.c: Command line options are constants.

2000-07-21  macgyver <macgyver>

        * src/main.c: Be mindful of systems without getopt_long.

2000-07-21  macgyver <macgyver>

        * configure, configure.in: Added in better PAM detection for -ldl.

2000-07-21  macgyver <macgyver>

        * README.LDAP, contrib/mod_ldap.c, doc/Configuration.html: Latest
        LDAP updates (mod_ldap 2.7).

2000-07-21  macgyver <macgyver>

        * src/data.c: Added many more descriptions around various error
        conditions for better RFC compliance.

2000-07-11  macgyver <macgyver>

        * modules/mod_core.c: Fixed a minor typo when there is no regex
        engine around.

2000-07-11  macgyver <macgyver>

        * ChangeLog: Updated ChangeLog.

2000-07-11  macgyver <macgyver>

        * NEWS, src/data.c, src/main.c: Don't ignore ServerUseReverseDNS.

2000-07-11  macgyver <macgyver>

        * ChangeLog, contrib/mod_ldap.c, contrib/mod_ratio.c,
        lib/pwgrent.c, lib/vsnprintf.c, modules/mod_auth.c,
        modules/mod_core.c, modules/mod_log.c, modules/mod_ls.c,
        modules/mod_site.c, modules/mod_xfer.c, src/auth.c, src/dirtree.c,
        src/ident.c, src/inet.c, src/log.c, src/pool.c, src/support.c: Minor
        updates and buffer cleanups.

2000-07-11  macgyver <macgyver>

        * include/default_paths.h, src/main.c: Added in support for core
        file debugging.

2000-07-11  macgyver <macgyver>

        * doc/Configuration.html: Latest and greatest documentation updates.

2000-07-09  macgyver <macgyver>

        * include/log.h, modules/mod_core.c, modules/mod_xfer.c, src/log.c: 
        Added in support for a completion field in xferlog.

2000-07-09  macgyver <macgyver>

        * doc/Configuration.html: Updated LDAP documentation.

2000-07-09  macgyver <macgyver>

        * contrib/mod_ldap.c: Added in -lresolv.

2000-07-09  macgyver <macgyver>

        * src/support.c: Try to address potential memory issues with people
        trying to overflow large path buffers.

2000-07-08  macgyver <macgyver>

        * src/inet.c: Added in some sanity checking so things like
        getsockname() don't crash on Solaris when called with invalid
        descriptors.

2000-07-07  macgyver <macgyver>

        * ChangeLog, include/version.h: Updated ChangeLog as well as
        version.

2000-07-07  macgyver <macgyver>

        * contrib/README.ratio, contrib/mod_ratio.c: Updated to mod_ratio.

2000-07-07  macgyver <macgyver>

        * NEWS, modules/mod_ls.c, src/auth.c, src/data.c, src/log.c,
        src/support.c: Fixed various MAXPATHLEN buffers.

2000-07-07  macgyver <macgyver>

        * modules/mod_ls.c: Use access_check to properly check permissions.
        More consistent handling of '.' and '..'.  I can't wait to rewrite
        this module.

2000-07-07  macgyver <macgyver>

        * modules/mod_core.c, src/support.c: Handle symlinks more
        appropriately...follow the link, not the file.

2000-07-07  macgyver <macgyver>

        * NEWS, include/support.h, src/dirtree.c, src/support.c: Added
        access_check() to handle correct permission checking.

2000-07-07  macgyver <macgyver>

        * src/auth.c: Minor correction to auth_uid_name and auth_gid_name.

2000-07-07  macgyver <macgyver>

        * src/log.c: Documented design decision behind utmp entries and
        strings.

2000-07-06  macgyver <macgyver>

        * doc/Configuration.html: Updates to documentation.

2000-07-06  macgyver <macgyver>

        * modules/Makefile.in: Removed mod_mysql.h dependency.

2000-07-06  macgyver <macgyver>

        * NEWS, doc/Configuration.html, include/proftpd.h,
        modules/mod_core.c, modules/mod_xfer.c: Fixed GroupOwner and added
        UserOwner.

2000-07-06  macgyver <macgyver>

        * NEWS, config.h.in, configure, configure.in, modules/mod_auth.c,
        src/main.c: Added in support to handle large groups efficiently.
        This should take care of the 'hangs forever on login' bug.

2000-07-06  macgyver <macgyver>

        * modules/mod_auth.c: Fixed a bug when classes weren't enabled and
        DisplayConnect is used.

2000-07-06  macgyver <macgyver>

        * include/inet.h, src/data.c, src/inet.c: AllowForeignAddress
        directives now work on passive connections as well.

2000-07-06  macgyver <macgyver>

        * modules/mod_site.c: Typo in AllowChmod implementation. :)

2000-07-06  macgyver <macgyver>

        * Make.rules.in: Minor cleanups.

2000-07-06  macgyver <macgyver>

        * src/main.c: Added in set_proc_title duirng login.

2000-07-06  macgyver <macgyver>

        * modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c: Stubs
        for unimplemented commands.  Bleh...we need to overhaul this
        protocol.

2000-07-06  macgyver <macgyver>

        * doc/Configuration.html: Updated classes documentation.

2000-07-06  macgyver <macgyver>

        * NEWS, modules/mod_xfer.c: Minor typo in cmd_stor.

2000-07-06  macgyver <macgyver>

        * modules/mod_auth.c: Fixed a minor race condition in classes.

2000-07-06  macgyver <macgyver>

        * NEWS, modules/mod_ls.c: Fixed a minor permissions display problem
        when DirFakeMode is not in use.

2000-07-06  macgyver <macgyver>

        * src/main.c: Fixed use of 500 instead of R_500.

2000-07-06  macgyver <macgyver>

        * NEWS, config.h.in, configure, configure.in, lib/vsnprintf.c: Made
        portable *snprintf libraries more so by supporting floating point
        operations and updated ftpcount accordingly.

2000-07-06  macgyver <macgyver>

        * lib/pwgrent.c: A fix for dealing with FreeBSD's (IMO **BROKEN**)
        passwd scheme that allows comments and blank lines in passwd files.

2000-07-06  macgyver <macgyver>

        * NEWS, modules/mod_site.c: Added AllowChmod directive.

2000-07-06  macgyver <macgyver>

        * NEWS, doc/Configuration.html, modules/mod_ls.c: DisplayReadme now
        accepts patterns.

2000-07-06  macgyver <macgyver>

        * Make.rules.in, NEWS, include/default_paths.h, src/main.c: A PID
        file is now created in standalone mode.

2000-07-06  macgyver <macgyver>

        * acconfig.h, config.h.in, configure, configure.in, include/conf.h,
        modules/mod_ls.c: Fixed a POSIX issue regarding NAME_MAX usage.

2000-07-06  macgyver <macgyver>

        * NEWS: Updated news.

2000-07-06  macgyver <macgyver>

        * INSTALL: Updated documentation.

2000-07-03  macgyver <macgyver>

        * modules/mod_ls.c: Fixed potential buffer problem in dolist().

2000-07-03  macgyver <macgyver>

        * modules/mod_log.c: Cleaned up mod_log slightly, and added in some
        comments about potential buffer problems to be fixed after 1.2.0.

2000-07-03  macgyver <macgyver>

        * README.PAM: Updated PAM documentation to reflect AuthPAM.

2000-07-03  macgyver <macgyver>

        * src/main.c: Security fix in setproctitle().

2000-03-06  macgyver <macgyver>

        * CREDITS: Updated CREDITS

2000-03-06  macgyver <macgyver>

        * INSTALL: An even cooler INSTALL file

2000-03-06  macgyver <macgyver>

        * INSTALL, doc/Configuration.html: Documentation updates

2000-03-06  macgyver <macgyver>

        * NEWS, modules/mod_ls.c: Added in -L option for things like mirror
        to work with symlinks

2000-03-06  macgyver <macgyver>

        * configure, configure.in: Fixed a bug in link-testing for -ldl

2000-03-03  macgyver <macgyver>

        * config.h.in, configure, configure.in: Minor cleanups of configure
        scripts to remove dependencies on -ldl

2000-03-01  macgyver <macgyver>

        * NEWS, modules/mod_ls.c: Put in a better optimized sreaddir
        function

2000-03-01  macgyver <macgyver>

        * modules/mod_auth.c: Cleanup of a couple of typos, and removed some
        redundant code

2000-03-01  macgyver <macgyver>

        * include/conf.h: Moved the NAME_MAX stuff into conf.h, for
        portability

2000-03-01  macgyver <macgyver>

        * src/pool.c: Commented out references to symbol information in pool
        allocations

2000-02-29  macgyver <macgyver>

        * NEWS, acconfig.h, config.h.in, configure, configure.in,
        src/main.c: Added in support for tzset, to preserve timezone
        information across a chroot

2000-02-29  macgyver <macgyver>

        * NEWS, lib/vsnprintf.c, src/log.c: Removed spurious alloca calls

2000-02-28  macgyver <macgyver>

        * NEWS, doc/Configuration.html, modules/mod_auth.c,
        modules/mod_log.c: Added in %A, %F, and %m to LogFormat so we can do
        CLF-style logs now

2000-02-28  macgyver <macgyver>

        * ChangeLog, NEWS, src/dirtree.c, src/main.c: Added -t option to
        allow for syntax checking of a config file and made config file
        errors give line and file information on failure

2000-02-28  macgyver <macgyver>

        * modules/mod_auth.c, modules/mod_core.c: Minor cosmetic cleanups

2000-02-28  macgyver <macgyver>

        * NEWS, modules/mod_core.c: Add %k directive to show amount of data
        in a user-friendly way in DisplayQuit

2000-02-28  macgyver <macgyver>

        * modules/mod_auth.c: Make root logins louder

2000-02-28  macgyver <macgyver>

        * NEWS, README.Unixware, config.guess, config.sub: Unixware support
        and updated config.guess, config.sub files

2000-02-28  macgyver <macgyver>

        * NEWS, src/inet.c: FreeBSD 4.0 support added

2000-02-28  macgyver <macgyver>

        * NEWS: Added mod_quota

2000-02-28  macgyver <macgyver>

        * modules/mod_xfer.c: Include sys/sendfile.h

2000-02-28  macgyver <macgyver>

        * modules/mod_core.c: Minor cleanups of unused variables

2000-02-28  macgyver <macgyver>

        * NEWS, modules/mod_log.c: Logging of transfer times is more precise

2000-02-28  macgyver <macgyver>

        * modules/mod_core.c: Fixed a typo that called VirtualHost a
        VirtualServer

2000-02-28  macgyver <macgyver>

        * NEWS, modules/mod_log.c: Add a warning for invalid classes in
        ExtendedLog

2000-02-28  macgyver <macgyver>

        * NEWS, src/main.c: Save environment before doing anything with
        set_proc_title.

2000-02-26  macgyver <macgyver>

        * NEWS, contrib/mod_ldap.c: Updated mod_ldap to 2.5.2.

2000-02-26  macgyver <macgyver>

        * NEWS, modules/mod_xfer.c: Updated bandwidth code to use select
        instead of usleep.

2000-02-16  macgyver <macgyver>

        * NEWS, src/dirtree.c: Fixed Umask handling for directories.

2000-02-16  macgyver <macgyver>

        * NEWS, modules/mod_xfer.c: Correct the case where there is no
        second argument to TYPE L X.

2000-02-15  macgyver <macgyver>

        * src/support.c: Correct calc_fs to actually make the right
        calculation when using statvfs.

2000-02-01  macgyver <macgyver>

        * modules/mod_auth.c: Fixed a NULL dereference when AuthUsingAlias
        is used outside of <Anonymous> directives.

2000-01-24  macgyver <macgyver>

        * NEWS, modules/mod_auth.c: Fixed a small group permissions problem.

2000-01-24  macgyver <macgyver>

        * src/dirtree.c, src/main.c: Removed references to the fastpathing
        of limits.  This topic is too complex to deal with for 1.2.0.

2000-01-24  macgyver <macgyver>

        * src/main.c: This is a stupid message...just disabled my
        fastpath...needs more work, and I need to step out for a while. :)

2000-01-24  macgyver <macgyver>

        * src/main.c: Added a fastpath for denying commands in the dispatch
        loop.

2000-01-24  macgyver <macgyver>

        * include/proftpd.h, modules/mod_auth.c, modules/mod_core.c: Support
        for class listing in ftpcount.  Support for full use of % options in
        DisplayConnect.

2000-01-23  macgyver <macgyver>

        * doc/Configuration.html: Documentation for Include directive.

2000-01-23  macgyver <macgyver>

        * modules/mod_core.c: Added 'Include' directive.

2000-01-23  macgyver <macgyver>

        * modules/mod_core.c: DisplayConnect now supports all the % options.
        Correct a bug with %z printing in classes.

2000-01-23  macgyver <macgyver>

        * modules/mod_ls.c: Added TimesGMT, and made our listing output more
        consistent.

2000-01-23  macgyver <macgyver>

        * doc/Configuration.html: Added documentation for Class/Classes and
        TimeGMT.

2000-01-23  macgyver <macgyver>

        * NEWS, modules/mod_ls.c: Fix a stupid dereference in mod_ls.

2000-01-18  macgyver <macgyver>

        * CREDITS: Added a CREDITS file.

2000-01-18  macgyver <macgyver>

        * README: Updated with new web site.

2000-01-18  macgyver <macgyver>

        * ChangeLog, include/version.h: Updated for pre10.

2000-01-18  macgyver <macgyver>

        * NEWS: Updated for pre10 release.

2000-01-18  macgyver <macgyver>

        * doc/Configuration.html, include/dirtree.h, modules/mod_core.c,
        src/dirtree.c: Corrected some errors in .ftpaccess handling.

2000-01-18  macgyver <macgyver>

        * config.sub: Recognize BSDI on an UltraSPaRC

2000-01-18  macgyver <macgyver>

        * NEWS, src/inet.c: inet_getname no longer returns NULL in bad host
        entry cases.

2000-01-18  macgyver <macgyver>

        * NEWS: Corrected ~ reporting.

2000-01-15  macgyver <macgyver>

        * lib/pwgrent.c: Corrected an allocation error in pwgrent.

2000-01-03  macgyver <macgyver>

        * include/privs.h, include/proftpd.h, modules/mod_auth.c: Added
        Simon's patch to handle chdir-ing properly into user accounts.

2000-01-03  macgyver <macgyver>

        * modules/mod_xfer.c: Handle a case with a zero-length file for BSD.

1999-12-30  macgyver <macgyver>

        * src/data.c: Fixed total calculation.

1999-12-30  macgyver <macgyver>

        * NEWS, include/dirtree.h, modules/mod_auth.c, modules/mod_core.c: 
        Fixed error messages in cases where it's an invalid number of
        arguments.

1999-12-30  macgyver <macgyver>

        * ChangeLog, src/data.c: Added a fix for BSD's strange sendfile
        behavior.

1999-12-29  macgyver <macgyver>

        * src/data.c: Minor correction to sendfile() semantics on FreeBSD.

1999-12-28  macgyver <macgyver>

        * modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c,
        modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c: Ensured
        that cmdtable structs remained static to the files they're defined
        in.

1999-12-28  macgyver <macgyver>

        * ChangeLog: Updated ChangeLog.

1999-12-28  macgyver <macgyver>

        * src/support.c: Cleaned up sstrncpy properly and backed out
        previous incorrect cleanup.

1999-12-28  macgyver <macgyver>

        * NEWS: Updated again.

1999-12-28  macgyver <macgyver>

        * NEWS: Updated NEWS.

1999-12-28  macgyver <macgyver>

        * src/support.c: Cleaned up the implementation of sstrncpy slightly.

1999-12-28  macgyver <macgyver>

        * modules/mod_xfer.c: Disable sendfile() if we're using bandwidth
        control.

1999-12-28  macgyver <macgyver>

        * modules/mod_auth.c: Fixed a missing variable in a log_auth entry.

1999-12-28  macgyver <macgyver>

        * INSTALL, README, doc/Configuration.html: Updated documentation to
        reflect new web site.

1999-12-28  macgyver <macgyver>

        * configure, configure.in: Fixed the detection of hpsecurity.h

1999-12-27  macgyver <macgyver>

        * NEWS, README.LDAP, contrib/mod_ldap.c, doc/Configuration.html: 
        Updated mod_ldap.

1999-12-27  macgyver <macgyver>

        * configure, configure.in: Fixed a minor typo in a test case.

1999-12-27  macgyver <macgyver>

        * modules/mod_auth.c: Group handling fixed for complex groups.

1999-12-27  macgyver <macgyver>

        * modules/mod_xfer.c: Corrected a minor misdefinition in
        xfer_init_parent.

1999-12-23  macgyver <macgyver>

        * NEWS, lib/pwgrent.c: Generate a meaningful error for bad group
        entries.

1999-12-23  macgyver <macgyver>

        * modules/mod_xfer.c: Added more caught cases in sendfile().

1999-12-09  macgyver <macgyver>

        * src/support.c: Small Y2K fix.

1999-11-29  macgyver <macgyver>

        * NEWS, src/data.c: sendfile() doesn't log spurious errors unless in
        debug mode.

1999-10-27  macgyver <macgyver>

        * configure, configure.in: Corrected intall_group handling.

1999-10-27  macgyver <macgyver>

        * modules/mod_xfer.c: Minor optimization in sendfile() detection on
        Linux.

1999-10-27  macgyver <macgyver>

        * modules/mod_xfer.c: Minor log cleanup for data_sendfile.

1999-10-27  macgyver <macgyver>

        * modules/mod_xfer.c: Moved around some logging for data_sendfile.

1999-10-27  macgyver <macgyver>

        * contrib/.cvsignore: Updated for proftpd.spec.

1999-10-27  macgyver <macgyver>

        * modules/mod_xfer.c: sendfile() should take a more graceful and
        tolerant approach to slow connections.  It seems that the problem is
        that its too fast.

1999-10-27  macgyver <macgyver>

        * Makefile.in: Minor path correction for proftpd.spec.

1999-10-27  macgyver <macgyver>

        * ChangeLog: Updated.

1999-10-27  macgyver <macgyver>

        * NEWS: Minor cleanups.

1999-10-27  macgyver <macgyver>

        * NEWS, README.LDAP, doc/Configuration.html, include/version.h: 
        Documentation updates and version bump to pre9.

1999-10-27  macgyver <macgyver>

        * modules/mod_xfer.c: Added support for TYPE L for RFC 959
        compliance.

1999-10-27  macgyver <macgyver>

        * doc/rfc/draft-bonachea-sftp-00.txt,
        doc/rfc/draft-ietf-ftpext-sec-consider-02.txt, doc/rfc/rfc0959.txt,
        doc/rfc/rfc2228.txt: Added RFCs to the documentation.

1999-10-27  macgyver <macgyver>

        * configure, configure.in: Fixed my stupid typo in FreeBSD
        setpassent.

1999-10-27  macgyver <macgyver>

        * doc/Configuration.html: Added more directives.

1999-10-25  macgyver <macgyver>

        * doc/Configuration.html: More additions, courtesy of Ben Ritcey.

1999-10-23  macgyver <macgyver>

        * NEWS: Added AuthUsingAlias.

1999-10-23  macgyver <macgyver>

        * doc/Configuration.html, modules/mod_auth.c, modules/mod_core.c: 
        Added in AuthUsingAlias.

1999-10-23  macgyver <macgyver>

        * configure, configure.in, contrib/dist/rpm/ftp.pamd,
        contrib/dist/rpm/proftpd.init.d: Moved around RPM build files.

1999-10-23  macgyver <macgyver>

        * ChangeLog: Updated.

1999-10-23  macgyver <macgyver>

        * NEWS, modules/mod_xfer.c: Minor updates.

1999-10-23  macgyver <macgyver>

        * NEWS, README, acconfig.h, config.h.in, configure, configure.in,
        modules/mod_auth.c: Updates for FreeBSD's brokenness with respect to
        setpassent.

1999-10-23  macgyver <macgyver>

        * modules/mod_xfer.c: FreeBSD cleanups for sendfile().

1999-10-23  macgyver <macgyver>

        * contrib/mod_ldap.c: Updated mod_ldap.

1999-10-21  macgyver <macgyver>

        * doc/Configuration.html: Updated configuration documentation.

1999-10-18  macgyver <macgyver>

        * NEWS, doc/Configuration.html, include/dirtree.h,
        modules/mod_core.c, src/dirtree.c: Added a second argument to the
        Umask directive to handle directories.

1999-10-18  macgyver <macgyver>

        * modules/mod_xfer.c: sendfile() now deprecates politely on Linux
        2.0.x.

1999-10-17  macgyver <macgyver>

        * doc/Configuration.html: Added in documentation for DisplayReadme.

1999-10-11  macgyver <macgyver>

        * NEWS, config.h.in, configure, configure.in, include/conf.h: Added
        in support for setgroupent.

1999-10-11  macgyver <macgyver>

        * modules/mod_auth.c: Fixed the 'no names, just UIDs' bug.

1999-10-11  macgyver <macgyver>

        * ChangeLog: Updated.

1999-10-11  macgyver <macgyver>

        * Make.rules.in, Makefile.in, NEWS, src/Makefile.in: Corrected a
        couple of grammatical errors in ftpcount/ftpwho, and seperated them
        into their own binaries.

1999-10-11  macgyver <macgyver>

        * NEWS, configure, contrib/mod_ldap.c, contrib/mod_ratio.c,
        modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c,
        modules/mod_ls.c, modules/mod_xfer.c, src/log.c, src/main.c: Updated
        logging to be more consistent, and generally be more informative.

1999-10-11  macgyver <macgyver>

        * README.PAM: Updated some information for FreeBSD, SuSE, and
        others.

1999-10-10  macgyver <macgyver>

        * NEWS, configure.in: install_group slightly more portable.

1999-10-10  macgyver <macgyver>

        * contrib/mod_ldap.c: Updated author/copyright info.

1999-10-10  macgyver <macgyver>

        * contrib/mod_ldap.c, doc/Configuration.html: Added in mod_ldap.

1999-10-07  macgyver <macgyver>

        * NEWS: Updated.

1999-10-07  macgyver <macgyver>

        * modules/mod_auth.c, modules/mod_core.c, src/main.c: Added in some
        better/clearer logging support.

1999-10-06  macgyver <macgyver>

        * NEWS, README.PAM: Fixed FreeBSD documentation.

1999-10-06  macgyver <macgyver>

        * modules/mod_auth.c: Fixed potential segfault in
        group_expression().

1999-10-06  macgyver <macgyver>

        * doc/Configuration.html: Removed Bandwidth from docs.

1999-10-06  macgyver <macgyver>

        * NEWS: Updated.

1999-10-05  macgyver <macgyver>

        * NEWS: Added a news file.

1999-10-05  macgyver <macgyver>

        * acconfig.h, config.h.in, configure, configure.in, include/data.h,
        src/data.c: Added in support for sendfile on BSD platforms.

1999-10-05  macgyver <macgyver>

        * ChangeLog, Makefile.in, doc/mod_sample.c: Miscellaneous
        reshuffling.

1999-10-05  macgyver <macgyver>

        * configure, configure.in: Fixed a small typo.

1999-10-04  macgyver <macgyver>

        * ChangeLog: Updated.

1999-10-04  macgyver <macgyver>

        * ChangeLog: [no log message]

1999-10-04  macgyver <macgyver>

        * ChangeLog: Updated the ChangeLog.

1999-10-04  macgyver <macgyver>

        * contrib/mod_ratio.c: Fixed a typo in an snprintf.

1999-10-04  macgyver <macgyver>

        * include/version.h: Updated to pre8.

1999-10-04  macgyver <macgyver>

        * configure, configure.in: Enhanced configure to automagically
        create the necessary symlinks.

1999-10-04  macgyver <macgyver>

        * contrib/mod_ratio.c: Added in Johnie Ingram's latest mod_*sql
        patches, along with some slight buffer fixes of my own.

1999-10-01  macgyver <macgyver>

        * src/support.c: Fixed a typo with statvfs.

1999-10-01  macgyver <macgyver>

        * ChangeLog: Moved to cvs2cl generation of ChangeLogs.

1999-10-01  macgyver <macgyver>

        * ChangeLog: Updated ChangeLog

1999-10-01  macgyver <macgyver>

        * config.h.in, configure, configure.in, include/data.h,
        include/dirtree.h, include/log.h, include/proftpd.h,
        modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c,
        modules/mod_xfer.c, src/log.c, src/main.c: Added classes support,
        new bandwidth support, and sendfile support.

1999-10-01  macgyver <macgyver>

        * src/data.c: Added support for sendfile().

1999-10-01  macgyver <macgyver>

        * include/privs.h, modules/mod_auth.c: Added in support for
        setresuid on HP/UX.

1999-10-01  macgyver <macgyver>

        * doc/Configuration.html, modules/mod_xfer.c: Added new Bandwidth
        code and documentation.

1999-10-01  macgyver <macgyver>

        * modules/mod_auth.c: Corrected a tricky bug with parsing of
        configuration files.  Thanks Klaus.

1999-10-01  macgyver <macgyver>

        * modules/mod_ls.c: Fixed a silly typo with snprintf.

1999-10-01  macgyver <macgyver>

        * modules/mod_core.c: Removed old and naieve bandwidth code.

1999-10-01  macgyver <macgyver>

        * include/dirtree.h, src/dirtree.c: Remove old and naieve bandwidth
        code.

1999-10-01  macgyver <macgyver>

        * config.h.in, configure, configure.in: HP/UX security detection
        added.

1999-09-30  macgyver <macgyver>

        * modules/mod_auth.c: Fix a potential security hole.

1999-09-30  macgyver <macgyver>

        * modules/mod_ls.c: DirFakeMode available inside <Directory> blocks.

1999-09-30  macgyver <macgyver>

        * configure, configure.in: Corrected configure portability issues.

1999-09-30  macgyver <macgyver>

        * modules/mod_ls.c: Corrected static declarations.

1999-09-30  macgyver <macgyver>

        * src/dirtree.c: Corrected a couple of problems related to IP LIMIT
        directives.

1999-09-30  macgyver <macgyver>

        * contrib/mod_readme.c: Deleted spurious mod_readme file.

1999-09-30  macgyver <macgyver>

        * modules/mod_core.c: Fixed compliance with RFC 929 with respect to
        RNTO.

1999-09-29  macgyver <macgyver>

        * modules/mod_auth.c, modules/mod_ls.c: Minor bug fixes.

1999-09-29  macgyver <macgyver>

        * src/dirtree.c: Fixed a bug in match_ip that was causing some LIMIT
        directives to fail.

1999-09-28  macgyver <macgyver>

        * src/inet.c: Corrected an incorrect call to inet_validate in
        inet_getaddr.

1999-09-26  macgyver <macgyver>

        * doc/Configuration.html: Fixed a small typo.

1999-09-26  macgyver <macgyver>

        * ChangeLog: Added in a real ChangeLog.

1999-09-26  macgyver <macgyver>

        * modules/mod_core.c: Added in CommandBufferSize.

1999-09-26  macgyver <macgyver>

        * src/log.c: Corrected minor syslog errors.

1999-09-26  macgyver <macgyver>

        * src/dirtree.c: Fixed a C++ style comment.

1999-09-26  macgyver <macgyver>

        * doc/Configuration.html: Added in updated configuration directives.

1999-09-18  macgyver <macgyver>

        * : Cleaned up usage of fs_readlink.

1999-09-18  macgyver <macgyver>

        * src/pool.c, src/support.c: Minor code beautification.

1999-09-18  macgyver <macgyver>

        * modules/mod_ls.c: Fixed some bad code calling fs_readlink.

1999-09-17  macgyver <macgyver>

        * Makefile.in: Fixed symbolic link installation.

1999-09-17  macgyver <macgyver>

        * contrib/mod_ratio.c, include/support.h, modules/mod_auth.c,
        modules/mod_core.c, modules/mod_log.c, modules/mod_ls.c,
        modules/mod_xfer.c, src/auth.c, src/dirtree.c, src/log.c,
        src/main.c, src/pool.c, src/support.c: Implemented sstrncpy to
        handle proper buffer copying issues on all platforms.

1999-09-17  macgyver <macgyver>

        * modules/mod_ls.c: gcc cleanups.

1999-09-17  macgyver <macgyver>

        * modules/mod_log.c: Eliminated some potential problems with
        logging.

1999-09-17  macgyver <macgyver>

        * modules/mod_xfer.c: gcc cleanups and a more informative error
        message added.

1999-09-17  macgyver <macgyver>

        * src/log.c: More intelligent handling of logfiles to avoid a
        potential race condition.

1999-09-17  macgyver <macgyver>

        * modules/mod_core.c: General regex cleanups.  Added
        AllowFilter/DenyFilter.  More intelligent handling of logfiles.  gcc
        cleanups.  wu-ftp style logging of deleted files.

1999-09-17  macgyver <macgyver>

        * src/pool.c: Fixed gcc warnings.

1999-09-17  macgyver <macgyver>

        * src/main.c: Added AllowFilter/DenyFilter.  Fixed a small typo with
        newlines.  Corrected a slight problem with memory debugging.  Fixed
        several gcc warnings.

1999-09-17  macgyver <macgyver>

        * include/inet.h, src/inet.c: Check for any potential DNS spoofing
        attacks from the outside.

1999-09-17  macgyver <macgyver>

        * include/version.h: Bumped version number.

1999-09-17  macgyver <macgyver>

        * sample-configurations/complex-virtual.conf: Added in a new sample
        configuration.

1999-09-17  macgyver <macgyver>

        * .cvsignore, contrib/.cvsignore: Added some more files to ignore.

1999-09-16  macgyver <macgyver>

        * src/main.c: Changed an argument reversal.

1999-09-16  macgyver <macgyver>

        * src/log.c: Cleaned up some ugly code.

1999-09-16  macgyver <macgyver>

        * src/main.c: Fixed a silly, yet insidious, way to overflow a
        buffer.

1999-09-14  macgyver <macgyver>

        * modules/mod_xfer.c: Corrected a minor typo .in -> .in.

1999-09-14  macgyver <macgyver>

        * include/proftpd.h, modules/mod_core.c, modules/mod_xfer.c: 
        Implemented HiddenStor.

1999-09-12  macgyver <macgyver>

        * README.Solaris2.5x: Additional information regarding Solaris 2.5.x
        systems added.

1999-09-12  macgyver <macgyver>

        * config.h.in, configure, configure.in, include/conf.h, src/log.c: 
        Added in support for utmpx under Solaris and like-minded platforms.

1999-09-12  macgyver <macgyver>

        * doc/Configuration.html: Added configuration documentation and 'un'
        documentation.

1999-09-12  macgyver <macgyver>

        * contrib/mod_ratio.c, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_log.c, modules/mod_ls.c: Initial import of GetConf, and
        slight cleanup in all modules.

1999-09-12  macgyver <macgyver>

        * include/version.h: Corrected versioning info.

1999-09-11  macgyver <macgyver>

        * configure, configure.in: Forgot the 'id' issue.

1999-09-11  macgyver <macgyver>

        * configure, configure.in: A couple of more configure fixes.

1999-09-10  macgyver <macgyver>

        * README.PAM, src/log.c: Added PAM README, and modified log.c to
        handle log_xfer more like WU-FTPd.

1999-09-10  macgyver <macgyver>

        * INSTALL, README: Moved PAM into the main module set.  It's now a
        'core' feature.

1999-09-10  macgyver <macgyver>

        * src/main.c: Added CommandBufferSize option.

1999-09-10  macgyver <macgyver>

        * configure, configure.in: Fixed a small typo with shadow use.

1999-09-10  macgyver <macgyver>

        * configure, configure.in: Updated support for Solaris, and made PAM
        sleep quietly when told to do so.

1999-09-10  macgyver <macgyver>

        * src/support.c: Fixed remaining buffer issues in sreplace.

1999-09-10  macgyver <macgyver>

        * src/pool.c: Corrected alignment issues on 64-bit platforms.
        Thanks to Todd C. Miller <millert@ee.ethz.ch> for the patch.

1999-09-10  macgyver <macgyver>

        * src/pool.c: Fix for improper strncpy.

1999-09-09  macgyver <macgyver>

        * src/support.c: Corrected a length bug in sreplace.

1999-09-08  macgyver <macgyver>

        * configure, configure.in: Updates to auto-configuring for PAM on
        *BSD.

1999-09-08  macgyver <macgyver>

        * configure, configure.in: Fixed setproctitle detection on *BSD
        platforms.

1999-09-08  macgyver <macgyver>

        * configure, configure.in: Fixed an extra 'fi' statement.

1999-09-08  macgyver <macgyver>

        * configure, configure.in: Fixed a small typo in PAM detection.

1999-09-08  macgyver <macgyver>

        * Make.rules.in, config.h.in: Added memory debugging support.

1999-09-08  macgyver <macgyver>

        * modules/Makefile.in: Updated for mod_mysql.

1999-09-08  macgyver <macgyver>

        * config.guess: Added in StrongARM support.

1999-09-08  macgyver <macgyver>

        * src/main.c: Added in some debugging code to assist in tracking
        down memory problems.

1999-09-08  macgyver <macgyver>

        * src/pool.c: Fixed a couple of bugs introduced by silly typos.

1999-09-08  macgyver <macgyver>

        * src/log.c: Minor buffer cleanups.

1999-09-08  macgyver <macgyver>

        * src/inet.c: Added a helper message for people who misconfigure
        their servers.

1999-09-07  macgyver <macgyver>

        * Makefile.in, config.h.in, configure, configure.in,
        include/dirtree.h, include/version.h, src/dirtree.c, src/inet.c,
        src/log.c, src/main.c, src/modules.c, src/pool.c, src/support.c: 
        Removed lots of unsafe buffer copies, as well as addressed a couple
        of Y2K issues.

1999-09-07  macgyver <macgyver>

        * contrib/.cvsignore: Removed README.linux-privs

1999-09-07  macgyver <macgyver>

        * contrib/mod_ratio.c: Fixed some potential buffer issues.

1999-09-07  macgyver <macgyver>

        * modules/mod_auth.c, modules/mod_log.c, modules/mod_ls.c,
        modules/mod_site.c, modules/mod_xfer.c: Removed unsafe buffer copies
        that may have been potential problems.  Implemented the 'real' patch
        for the MKD/log security issues.

1999-09-07  macgyver <macgyver>

        * modules/mod_core.c: Added in Bandwidth patch for bandwidth
        control.  Security cleanups -- removed lots of unsafe buffer copies.

1999-09-07  macgyver <macgyver>

        * modules/Makefile.in: Updated Makefile for new capabilities code.

1999-08-31  flood <flood>

        * include/options.h, include/pool.h, modules/mod_core.c,
        modules/mod_ls.c, modules/mod_xfer.c, src/log.c, src/main.c,
        src/modules.c, src/pool.c: Mucho patches.

1999-03-12  flood <flood>

        * modules/mod_xfer.c: TYPE A N

1999-03-12  flood <flood>

        * src/inet.c: OpenBSD SO_REUSEADDR patch.

1999-03-10  flood <flood>

        * include/version.h: Version 1.2.0pre3

1999-03-07  flood <flood>

        * include/proftpd.h, modules/mod_core.c, src/dirtree.c, src/main.c: 
        Added `MultilineRFC2228' directive and changed `ServerIdent'.

1999-03-05  flood <flood>

        * modules/mod_xfer.c, src/timers.c: Oops.  Last nights commit
        royally screwed timers.

1999-03-05  flood <flood>

        * Make.rules.in, Makefile.in, acconfig.h, config.h.in, configure,
        configure.in, include/proftpd.h, modules/Makefile.in,
        modules/mod_core.c, src/data.c, src/main.c: MacGyver's patch to do
        argv[] rewriting the Right Way<tm>, and some minor socket error
        handling fixes.

1999-03-05  flood <flood>

        * modules/mod_xfer.c, src/ident.c, src/main.c: Fixed ident & i/o
        (hanging) problems.

1999-03-05  flood <flood>

        * modules/mod_xfer.c: what did I fix?

1999-03-05  flood <flood>

        * include/timers.h, modules/mod_auth.c, src/main.c, src/support.c,
        src/timers.c: timer code fixed

1999-02-14  flood <flood>

        * modules/mod_ls.c: Ugg.. Yet another mod_ls quickfix.

1999-02-14  flood <flood>

        * modules/mod_auth.c: Ooops.  add_userdir should have tested for >
        0.

1999-02-14  flood <flood>

        * include/version.h: Version 1.2.0pre2

1999-02-12  flood <flood>

        * Makefile.in, modules/mod_auth.c, modules/mod_core.c,
        modules/mod_ls.c, modules/mod_xfer.c, src/main.c: Mondo changes.

1999-01-27  flood <flood>

        * include/support.h, modules/mod_ls.c, src/support.c: More possibly
        MKD/CWD 'sploits fixed, and mod_ls workin well.

1999-01-21  flood <flood>

        * modules/mod_ls.c, src/ident.c: NLST now works properly! woo!

1999-01-19  flood <flood>

        * include/data.h, modules/mod_ls.c, src/data.c, src/main.c: Still
        working on NLST RFC959 compliane issue.  ncftp client still showing
        problems.

1998-11-01  flood <flood>

        * configure, configure.in, contrib/README, contrib/mod_ratio.c,
        contrib/mod_readme.c, include/proftpd.h, modules/mod_core.c,
        modules/mod_xfer.c, src/dirtree.c: APPE, mod_pam & mod_readme added

1998-10-30  flood <flood>

        * include/proftpd.h, modules/mod_log.c, src/main.c: Fix Debian bug
        #28641

1998-10-30  flood <flood>

        * modules/mod_core.c, src/data.c: Fixes to PASV/PORT.

1998-10-27  flood <flood>

        * modules/mod_log.c: %{} argument fix in mod_log.c

1998-10-23  flood <flood>

        * include/pool.h, modules/mod_ls.c, src/main.c, src/pool.c: memory
        leak in mod_ls fixed

1998-10-18  flood <flood>

        * Imported source for proftpd 1.2.0

Generated by dwww version 1.15 on Fri Aug 29 22:35:18 CEST 2025.