1.3.1 Release Notes ------------------------ This file contains a description of the major changes to ProFTPD for the 1.3.1 release cycle, from the 1.3.1rc1 release to the 1.3.1-stable release. More information on these changes can be found in the NEWS and ChangeLog files. 1.3.1rc3 --------- + Bugfixes: Fixed segfault which can occur if NLST is used twice, the first time on a path which does not exist. Fixed reporting of addresses via EPSV for IPv6 addresses. Fixes occurrences of "ai_family not supported" for inetd-run proftpd daemons. DisplayLogin, DisplayQuit, and DisplayTransferFiles files now work regardless of whether the session process is chrooted. + New documentation: doc/howto/Timestamps.html doc/howto/Tracing.html 1.3.1rc2 --------- + Bugfixes: Fixed mod_sql's mishandling of WHERE clauses. This was causing problems with mod_sql-based authentication, and errors containing "{UNKNOWN TAG}" to appear in the SQLLogFile. Under certain conditions, use of shared modules could lead to segfaults. This usually happened after proftpd had been restarted (using SIGHUP) a couple of times. Symlinks in a skeleton directory were not being properly copied when the CreateHome directive was used. + New configuration directives: RadiusNASIdentifier By default, the mod_radius module sends the string "ftp" as the NAS-Identifier attribute in RADIUS packets. This string is now configurable via the RadiusNASIdentifier directive. 1.3.1rc1 --------- + Command changes: MDTM now always returns times in GTM, regardless of TimesGMT setting + New configuration directives: DisplayChdir This directive replaces the old DisplayFirstChdir directive, and will cause the configured file to be displayed whenever the client changes into the directory in question, rather than only once. To get the previous behavior, use: DisplayChdir path true which says to display the given path only once. DisplayFileTransfer Whenever a file has been successfully uploaded/downloaded, the configured file will be displayed to the client. FACLEngine The mod_facl module is used to support POSIX ACLs, and is built into proftpd if the --enable-facl configure option is used. To disable POSIX ACL support at runtime, use this new directive in your proftpd.conf: FACLEngine off QuotaOptions The mod_quotatab module supports a new QuotaOptions directive. This directive currently supports one option: "ScanOnLogin". With this option enabled, mod_quotatab will perform a (possibly) intensive scan of the directory into which the client is logged, and update the tally for the user accordingly. SQLOptions The mod_sql module supports a new SQLOptions directive. This directive currently supports two options: "noDisconnectOnError" and "useNormalizedGroupSchema". The "noDisconnectOnError" option tells mod_sql not to automatically disconnect the client's session whenever there is a database error. The "useNormalizedGroupSchema" option tells mod_sql to use a slightly different SQL statement when retrieving information from a group information table (see SQLGroupInfo). See: doc/contrib/mod_sql.html#SQLOptions for details. TLSCryptoDevice With this directive, the mod_tls module can now make use of OpenSSL's support for cryptographic accelerator cards, known as "engines" in the OpenSSL documentation. TLSPassPhraseProvider The mod_tls module now has support for obtaining passphrases for certificate keys via an external program. This directive is similiar to the Apache mod_ssl module's SSLPassPhraseDialog directive (but not *quite* the same; see the documentation for details.) Trace, TraceLog The Trace functionality is intended to be a more focused type of debug logging, where components can log, at various log levels, to a log "channel". Log channels can have their verbosity managed independently; all log channels write to the same TraceLog. Use of trace logging, while small now, will grow in future releases. To get an idea of what the trace logging might look like, you can add the following to your proftpd.conf: Trace ALL:9 TraceLog /path/to/ftpd/trace.log UseIPv6 To disable IPv6 support in a running proftpd, you can place: UseIPv6 on|off at the top of your proftpd.conf. Alternatively, there are command-line options for controlling this: -4, --ipv4 Support IPv4 functionality only -6, --ipv6 Support IPv6 functionality Instead of using the UseIPv6 configuration directive, you can invoke proftpd using the -4 command-line option: proftpd -4 ... UseLastlog Enables use of logging to lastlog files. UseUTF8 Disables use of UTF8 encoding for file paths. If the --enable-nls configure option is used, then UTF8 encoding support will be enabled by default. + Enhanced configuration directives: CreateHome uid gid The CreateHome directive now allows creation of non-root-owned parent directories in the path leading up the created home directory. The optional 'uid' and 'gid' parameters for this directive can be used to set the UID and GID of the owner for the parent directories. For more details, read: doc/howto/CreateHome.html LogFormat %S, %{version} The LogFormat directive now handles two new variables, %S and %{version}. The %S variable can used to log the response message, the human readable message which accompanies the response code, sent to clients in response to FTP commands. The %{version} variable logs the version of ProFTPD; it is mainly useful for logs collated from multiple proftpd instances which may be running different versions. SQLConnectInfo MySQL Unix domain socket The SQLConnectInfo directive can now handle an optional path to a Unix domain socket for MySQL database connections. SQLNamedQuery SQL statements configured using mod_sql's SQLNamedQuery directive can now use environment variables using "%{env:VAR}". The value of the environment variable VAR will be substituted into the SQL statement. SQLGroupWhereClause, SQLUserWhereClause These directives, from mod_sql, can now use the same variables as supported by SQLNamedQuery directives, with the exception of "%{n}" numeric references. TLSRequired auth, auth+data The TLSRequired directive for mod_tls supports two new settings: 'auth' and 'auth+data'. These settings are documented in: doc/contrib/mod_tls.html#TLSRequired + New configure options: --enable-devel=stacktrace This configure option enables logging of the call stack trace whenever a SIGSEGV signal is received. Very very useful for tracking down the cause of a segfault. --enable-nls This configure option enables handling of translated message catalogs for response messages, and also enables handling of UTF8 paths in client commands. --with-lastlog[=PATH] A lastlog is a binary type of log file, similar to utmp/wtmp. This compile option enables logging to the lastlog file. + New modules: mod_ban This module supports dynamic "blacklists" based on configurable rules. See the documentation for more details: doc/contrib/mod_ban.html mod_lang This module is part of the internationalization/RFC2640 support, handling the LANG command. More information can be found at: doc/modules/mod_lang.html mod_quotatab_radius This new module provides support for obtaining quota limits via RADIUS, and is part of the mod_quotatab family. More details are available in: doc/contrib/mod_quotatab_radius.html mod_wrap2, mod_wrap2_file, mod_wrap2_sql These modules are intended to replace mod_wrap, and provides ways of maintaining tcpwrapper-like rules in both existing files *and* SQL tables. The documentation for these are: doc/contrib/mod_wrap2.html doc/contrib/mod_wrap2_file.html doc/contrib/mod_wrap2_sql.html + New documentation: doc/howto/CreateHome.html + Module enhancements: mod_ctrls_admin New 'scoreboard' control action, for scrubbing the ScoreboardFile on demand. + Deprecated configuration directives: DisplayFirstChdir This directive is deprecated in favor the new DisplayChdir directive. Support for this will be removed in future releases. HiddenStor Use the HiddenStores instead; support for the HiddenStor directive will be removed in future releases. SQLHomedirOnDemand The CreateHome directive would be used instead. For more information on CreateHome, see: doc/howto/CreateHome.html Last Updated: $Date: 2007/07/04 20:07:05 $