***** IMPORTANT *****
If you are using PureDB files with versions < 1.0.2, you must rebuild the
database (pure-pw mkdb) after upgrading to 1.0.2 or later.
***** IMPORTANT *****
* Version 1.0.1:
- Bandwidth throttling is now fixed on Linux platforms when sendfile() is
enabled.
- Quotas fixes.
- ASCII upload fixes. Thanks a million to Terry Davis for
his help.
- New funny french messages pack.
* Version 1.0.0:
- Support Base64-encoded MD5/SHA and salted MD5 (SMD5) and SHA (SSHA)
LDAP passwords.
- Fixed throttling with virtual users.
- Members of the trusted group can delete files even when -K is enabled.
- New translations: Slovak (contributed by Robert Varga) and Korean
(contributed by Im Eunjea) .
- Portability enhancements. Pure-FTPd now compiles and runs on SGI Irix.
Thanks to Florin Andrei.
- Fixed compilation on Sparc 64-bit architectures with Sun Forte C
compiler. Contributed by Xavier Beaudouin
- Code cleanups. -Matthias.
- pure-pw can build puredb databases, regardless of server compilation
options. Suggested by Arkadiusz.
- New --with-confdir switch for ./configure .
- Allow files beginning/ending with spaces. Thanks to Andreas Piening
for helping to solve that issue.
* Version 0.99.9:
- All known bugs in pure-ftpwho were fixed.
- Robustness improvements.
- Directory listings speedups.
- New '-m' option to pure-pw that automatically calls pure-pw mkdb after
a change to an account. Suggested by Olivier Deckmyn.
- New optional PURE_PASSWDFILE and PURE_DBFILE environment variables for
pure-pw. Suggested by Olivier Deckmyn.
- "pure-pw mkdb" without any further argument can now rebuild the database
with default files.
- New Italian translation, contributed by Stefano F. .
- New Brazilian Portuguese translation, contributed by Roger Constantin
Demetrescu
- New poweredby.jpg web button, contributed by Freeman
- New -g (--pidfile=) option to specify the location of the PID file.
Suggested by Jason Lunz.
* Version 0.99.4:
- Better support for LFS. Contributed by Thorsten Kukuk .
- Pure-PW bug fixes.
* Version 0.99.3:
- Old versions of MySQL (<= 3.22.x) are now supported. Thanks to Marc
Jauvin .
- Individual quotas can be stored in MySQL databases. Contributed by Marc
Jauvin.
- Support for MySQL's password() hash function. Contributed by Robin
Ericsson (lobbin) .
- New "any" option for the MySQLCrypt field, to match any hashing function.
- Use MySQL transactions with InnoDB, BerkeleyDB and Gemini tables.
- Ratios and bandwidth can now be stored in MySQL databases.
- New SQL digraph: \D (remote IP address as a long decimal number).
Suggested by Bernie.
- Individual IP filtering and time restrictions can be enabled for virtual
users.
- New uploads are now removed if the quota has already been exceeded.
- Pure-FTPd now compiles and works on very old Linux distributions and
Darwin (MacOS X) .
* Version 0.99.2a:
- When quotas were enabled, but no quota was specified, uploads were
always truncated to 0 bytes. It has been fixed.
* Version 0.99.2
- Dutch translation, provided by Johan Huisman
and Jan van Veen
- Fix --createhome option, reported by Lan Yufeng.
- New --without-iplogging compile-time switch to never log any IP address,
for servers that need to protect privacy. Suggested by Jeff Moe.
- Added a workaround for buggy IP stacks.
- RPM can now be build with PAM support.
- A new safe-guard protects users against executing confusing chmod commands
on their home directories (and root on /, too) .
- Support for virtual quotas (new option: --quotas / -n , new command:
pure-quotacheck) . Please read the "virtual quotas" section in README.
- New port: Playstation 2 Linux, thanks to Tomonori Kamitaki
- The memory footprint for uploads has been slightly reduced, especially
when bandwidth throttling is enabled. Thanks to Daniel Tschan.
- Virtual users (FTP-only local user list, independant of /etc/passwd) were
implemented. Every user can have different bandwidth, quota and ratio.
* Version 0.99.1b
- Access to remote MySQL databases has been fixed.
- New program: "pure-statsdecode" to convert timestamps into human-
readable dates in "stats" logfiles.
- IP addresses of remote clients can now be used in SQL queries with a new
'\R' digraph.
- A default uid and gid can now be specified for LDAP objects.
- The shell is not checked any more with MySQL and LDAP authentication
schemes.
- New switch: --createhomedir (-j) to automatically create missing home
directories. Suggested by Christian Janssen .
* Version 0.99.1a
- New alternative logging format: "stats", designed for the ftpStats
application.
- Cosmetic fix with ratios.
- New -K / --keepallfiles directive.
- Workaround for broken clients that don't properly end up their command
lines.
* Version 0.99.1
- Accounts can now be stored in a MySQL database.
- Uploadscript work together with Apache-like log files.
- Support for asynchronous (pipelined) FTP.
- Process names are now properly changed on Linux.
- Always report download progression and individual bandwidth usage in
pure-ftpwho.
- Fix support of old Solaris versions.
- Bandwidth throttling is now working with > 2Gb files.
- Assorted optimizations, bug fixes and cleanups.
* Version 0.99b
- Big fixes and improvements to LDAP authentication: Solaris compilation
fixes and support MD5 and SHA1 digests.
- Fixed Apache-like log files for Webalizer.
- Downloaded/uploaded files are now logged with LOG_NOTICE priority.
- Support for network filesystems.
- Display real user name instead of uid even for chrooted users.
- Don't crash after authentication failures when the server is launched in
non-root mode.
- RPM improvements.
* Version 0.99a
- Always display the local IP and port with pure-ftpwho -v.
- Fixed CLF logfiles. Thanks to Paul Hansen for reporting this.
* Version 0.99
- New README.Debian file.
- Danish translation, contributed by Isak Lyberth.
- Fixed throttling and performance improvements on FreeBSD. Reported by
Rafa Michaelski.
- Show setuid/setgid/sticky bits in ls -l.
- New -R/--nochmod option to disallow SITE CHMOD usage.
* Version 0.99pre2
- "ftp" can be used as a fake shell, no need to add it to /etc/shells.
- Improvements to the RPM package.
- More accurate throttling.
- New "-1" (--logpid) option to add PID info to syslog output. Contributed
by Matthias Andree.
- Changed the trusted gid behavior when the /./ trick is used: members of
the trusted group *are* chrooted, but they have no ratio and dot-files are
allowed - Suggested by Leszek Reimus.
- New --with-paranoidmsg compile-time option to favor paranoia over
sysadmin-friendly messages.
- New --with-everything compile-time option to build a full-featured server.
- Backward compatibility with old IP stacks (old GlibC, Solaris < 8, ...)
- --help now displays the server version (only for root) .
- Memory optimizations.
- New --altlog option to created log files in alternative formats.
Apache-like files can be produced so that any web statistic software can be
used to analyze Pure-FTPd activity.
- Workaround for an AbsoluteFTP bug (reported by Daniel Elsaesser)
regarding CWD error codes.
* Version 0.99pre1
- Have MSIE open an authentication dialog when anonymous users are
forbidden (-E) in compatibility mode (-b) .
- Don't choke CuteFTP when the NAT mode (-N) is enabled. Reported by David
Vincelli.
- Have metacharacters work on OpenBSD.
- Fixed typos in documentation.
* Version 0.98.7
- Fixed a bug with ASCII upload: with some clients, the last carriage
return wasn't written.
- Allow the retrieval of regular files pointed by symbolic links.
- Fixed arithmetic errors in pure-ftpwho.
- CHMOD and DELE workarounds for broken clients.
- Optimizations.
- Don't hangup when a new transfer is asked but no semaphores are available.
- Try to handle very low bandwidth throttling (reported by Sergey Mihailov
) .
* Version 0.98.6
- Fixed a nasty bug introduced in 0.98.5: overwriting a file didn't
truncate the previous content (Reported by Chris Mentjox).
* Version 0.98.5
- Recognize ADAT command to please Kerberized Fetch 5 clients (Macintosh) -
Thanks to Darren Casey for reporting this.
- Fix syslog output on broken implementations without locking (reported by
Sami Koskinen).
- Don't auto-login to please some broken clients who are sending strange
commands before being authenticated.
- New 'contrib' directory with users-contributed work.
- Fix support for > 2Gb files on Linux.
- Fix PAM support on Solaris.
- Don't wait after a download when throttling is enabled.
- Implement --maxdiskusagepct and --maxload options on non-Linux systems.
- Accept non-anonymous users in virtual hosts (suggested by Chris Mentjox
.
- Parse all clients in pure-ftpwho, even when we reached the limit
(reported by Brandon Covert).
- Performance improvements under high load: rewritten command parser.
- Don't remove partially uploaded files for non-anonymous users.
- The script run after an upload can now get extra info about the newly
uploaded file in environment variables: UPLOAD_SIZE, UPLOAD_PERMS,
UPLOAD_UID, UPLOAD_GID, UPLOAD_USER and UPLOAD_GROUP.
- New option (-r) to automatically rename uploaded files instead of
overwriting them.
- New option (-i) to disallow upload to anonymous users, whatever directory
permissions are (suggested by Chris Mentjox).
- New option (-V ) to restrict non-anonymous access to a specific IP
address.
- New configuration flag: --with-virtualhosts to enable /etc/pure-ftpd/
support.
* Version 0.98.4
- The nasty bug of the -C option was finally fixed: no more syslog output
in client sockets (Thanks to Paul Hansen for tracking this down).
* Version 0.98.3
- Reliability fixes.
- Security fix for non-Linux and non-BSD systems.
- Fix listing of symbolic links to directories (Reported by Martin
Hadenfalk) .
* Version 0.98.2a
- Accept "." in LDAP user names.
- Fix --sysloghack typo for Debian users.
* Version 0.98.2
- Enhanced portability: the server is now working on LinuxPPC, Solaris 8,
Tru64 and possibly other modern operating systems. Thanks a lot to Erik
(Cirvam, ) for his very nice help on the Solaris port.
- Backward-compatibility with old OpenLDAP releases (1.x), thanks to
M.Robbins.
- Bandwidth is properly reported after a resumed transfer.
- Transfers can now be gracefully aborted by clients.
- Improved performance: lower system load during transfers (especially
under Linux and FreeBSD) and various optimizations.
- Improved performance (2): new code for directory listings, way much
efficient than the previous one, with reduced memory footprint and disk I/O.
* Version 0.98.1
- Files and directories can now have separated umask. It fixes the 'mkdir'
permissions problem introduced in 0.98.
- Improved display of user group list.
* Version 0.98
- Support for long options on BSD.
- Actually include the polish translation.
- Spanish translation (Luis Llorente Campo).
- Renamed mrtginfo to pure-mrtginfo.
- The default umask is now 133. By explicitely setting the mask to 022,
uploaded files can become executable.
- Logging can be disabled (-f none) .
- Upload and download bandwidth can now be throttled separately.
- Pure-ftpwho is now reporting transfer progress, file sizes and individual
bandwidth usage. There's also a new target (-s, 'shell mode') for easy
parsing with cut/sed .
- A new daemon (pure-uploadscript) can now automatically run a program or
script after a successful upload.
* Version 0.97.7
- Fixed Xinetd documentation (Olivier Tharan).
- Added 'welcome.msg' compatibility (Togusa).
- Change process names on BSD systems.
- Minor bug fixes or optimizations.
- Completed the romanian translation (Claudiu) .
- Added polish translation (Arkadiusz) .
- Safe defaults for -c.
- New 'pure-ftpwho' command to display current active connections, with
text, HTML, CGI and XML outputs.
* Version 0.97.6
- Allow anonymous users to read dot-files if '-z' is specified.
- New option: '-N' for servers behind broken NAT/masquerading gateways.
- Fixed a possible security flaw in file listings.
- Display '.banner' files for all users, not just anonymous ones (suggested
by Shea Martin) .
- Fixed -U option (reported by Shea Martin) .
- Updated documentation/man pages.
- Happy Easter to everyone:)
* Version 0.97.5
- Optimizations and portability improvements.
- Bug fixes: a wrong file size was logged for uploads, no space after the
result of SIZE (fixes a problem with LeechFTP), keep all connections even
under high load and improved configuration file parsers.
- New option: '-4', to only accept IPv4 connections (needed for OpenBSD).
* Version 0.97.4
- Fixed a nasty bug with group initialization introduced in 0.97.3 .
Reported by Brian .
* Version 0.97.3
- Pure-FTPd now works on Linux and FreeBSD.
- German, romanian and french translations.
- Size of downloaded files is always logged.
- Enhanced support of the FTP protocol and modern extensions: multi-lines
responses for HELP/FEAT, STAT command and new format for directory listings
through MLST and MLSD (autodetected by NcFTP) .
- Minor cosmetic changes and more compilation flexibility.
- The server can now run as a non-privileged user.
- New '-k' flag to disallow upload if mode than X % of the partition is full.
- /var/run/pure-ftpd.pid is created in standalone mode.
- Support for alternative long GNU options, with built-in help.
- Minor bugfixes.
* Version 0.97.2
- Fixed a big bad typo in 0.97.1 that prevented passive transfers from
working.
- EPSV ALL support.
- The standalone server daemonizes if '-B' is given. Contributed by Jason
Lunz.
- Added the size of downloaded/uploaded files in log messages.
- Minor optimizations.
* Version 0.97.1
- More security paranoia for passive connections handling.
- Fixed a bug with .message and .banner files containing nothing but white
spaces (thanks to Emmanuel Hocdet for reporting this) .
- More compatibility in (-b)roken mode: disable HELP and ask a dummy
password to anonymous clients.
* Version 0.97-final
- Accept non-ascii (accents) file names. (Reported by Louis Rouxel
)
- Dynamic process title change.
- Stabilized the standalone code.
- New '-E' option to disallow anon login even if ~ftp exists (Suggested by
Daniel Elsaesser) .
- New '-C' option to limit the number of simultanous connections from the
same client IP address.
* Version 0.97pre5
- Pure-FTPd has now a fast and IPv6 capable standalone mode,
so that a super-server is no more required.
- New '-U' option to change the umask.
- New '-x' and '-X' option to prevent users from reading/writing
dot-files, even if they own them to protect files like .ssh, .qmail,
and .history .(Thanks to William Kern for the suggestion) .
- Bandwidth throttling is now specified in exact KB/s.
* Version 0.97pre4
- Added '-D' option to force 'ls' display dot-files even when a
client doesn't send the '-a' option (ls -la) .
- Keep the previous permissions when overwriting a file.
- New '-I' option to change the maximum idle time.
* Version 0.97pre3 / 0.96.2
- Fixed HELP and SITE commands.
- Faster globbing and more eye-candy built-in "ls" format.
- Support for shadow passwords expiration dates.
- Support for large files (> 2 gigabytes) .
- FXP now works with IPv6 as well.
- Standard 'fortune' files are now used as login cookies.
- Easier to parse and more verbose log messages.
* Version 0.97pre2
- Memory allocation bug fixed in glibc-glob.
- Macroized ls.c messages for translation.
* Version 0.97pre1
- Check for and convert 4-in-6 addresses.
- Count IPv6 connections.
- Code cleanups, optimizations and more paranoia.
- Ready for translated messages.
- LDAP support fixed.
- Configurable fortune cookies (new '-F ' option).
* Version 0.96.1
- Definitive fix against possible globbing denial of service.
- Changed the ASCII restart message to something more friendly.
* Version 0.96
- More 'ls' fixes against denial of service.
- Better support for broken NAT gateways.
* Version 0.96pre1
- Added '-P' flag (explicitely set an IP address in reply to a PASV
command), '-A' flag (to chroot() everyone) and '-H' flag (to avoid DNS
resolution), '-U' flag (to limit the maximum depth of a recursive 'ls' and
the maximum number of displayed files) and '-M' flag (allow anonymous users
to create directories).
- Added FEAT command.
- Allow anonymous users to create directories if they have write access to
the parent directory.
- Rewritten handling of virtual hosts.
- Full IPv6 support.
* Version 0.95.2
- Changed the build-in 'ls' format to have Internet Explorer properly parse
symbolic links.
- Implemented STOU, ALLO and APPE commands.
- Added '-e' flag to only allow anonymous connections.
- Drop CAP_SYS_CHROOT to enhance security.
* Version 0.95.1
- Fixed wrong user count for the '-c' option.
- Fixed chroot() when capabilities drop is enabled.
- Always force 8 bits transfers if we didn't set the compatibility
mode (-b) .
* Version 0.95
- Fixed GUI for old versions of Dialog (Slackware).
- Handle SPSV, XCWD and XCUP commands.
- Improved documentation.
- Better PAM sample.
- Minor bug fixes and more security paranoia.
- Included a patch to improve Netfilter's FTP connection tracking.
- Upload/download quotas for w4r3z d00d2.
- Native support for LDAP directories.
* Version 0.95-pre{1,2,3,4}
- Raised the upload buffer size: uploads should be a bit faster now.
- Bandwidth throttling (see flags '-t' and '-T') to avoid anonymous users
fill up the whole bandwidth.
- Incremental delay after authentication failures to limit brute-force
password scanning.
- Removed a DNS double-check that caused connection problems with hosts
that had broken DNS entries.
- Installation GUI (dialog).
- Implemented SITE HELP.
- Version number is now displayed in the first banner.
- Insecure users (non-chrooted, non-root and anonymous) can't upload dot
files any more.
- Added paranoid timeouts.
* Version 0.94
- Linux capabilities fixes.
- SITE CHMOD support.
* Version 0.93
- Support for the FXP protocol.
* Version 0.92
- Added a workaround for broken clients like LeechFTP.
- Syslog identity changed to "pure-ftpd".
- Idle clients sending nothing but NOOP are now disconnected.
* Version 0.91
- Possible better network throughput (TCP_CORK usage).
- The number of active sessions wasn't properly computed if the server port
wasn't the default FTP port - fixed. We can now have several Pure-FTPd
instances on different ports of the same computer.
- Deprecated '-x' flag in favor of '-a'.
- Updated man pages, documented http-style handling.
- Moved to Sourceforge.
* Version 0.90: initial release.
- IPv6 support.
- PAM authentication.
- ASCII transfers.
- Preliminary large files support (needs a sendfile() wrapper).
- Capabilities drop.
- Switchable user names.
- Switchable humor.
- Cookies.
- Chroot()ed home directories.
- Various security enhancements.
- Fixed HTTP-style handling.
- Rewritten documentation.
- Autoconf.
- Code clean up and compilation fixes.
- No more need for mkusers - symbolic names are now dynamically cached.
|