Skip to content

Latest commit

 

History

History
127 lines (85 loc) · 5.47 KB

CHANGELOG.md

File metadata and controls

127 lines (85 loc) · 5.47 KB

Changelog

2021-07-13 Release of all crates

libunftp 0.18.0

tag: libunftp-0.18.0

  • #356 Authenticators can now also take the connection source IP, and the client certificate chain into account in addition to the password when performing authentication.
  • #356 Breaking: The Authenticator::authenticate method now takes a Credentials structure reference instead of a str reference for the second parameter.
  • #373 Breaking: The StorageBackend methods were all changed to take a reference of a user (&User) instead of an optional reference to it (&Option<User>).
  • Dependency upgrades and cleanups
  • Fixed an issue where OPTS UTF8 returned the wrong FTP reply code
  • #361 Don't allow consecutive PASS commands
  • Added support for TLS client certificates
  • #358 Added the ability for authenticators to do password-less authentication when the user presents a valid client certificate. See the Authenticator.cert_auth_sufficient method.

unftp-auth-jsonfile v0.2.0

tag: unftp-auth-jsonfile-0.2.0

  • Added support for per-user IP allow lists
  • #369 Added support for per-user client certificate CN matching
  • #355 Created a new Docker image that generates PBKDF2 keys for the authenticator.

unftp-auth-* v0.2.0

  • compiled unftp-auth-pam against libunftp v0.18.0
  • compiled unftp-auth-rest against libunftp v0.18.0

unftp-sbe-* v0.2.0

  • compiled unftp-sbe-fs against libunftp v0.18.0
  • compiled unftp-sbe-gcs against libunftp v0.18.0

2021-05-22 unftp-sbe-gcs v0.1.1

tag: unftp-sbe-gcs-0.1.1

  • Added an extension trait that adds a Server::with_gcs constructor.
  • Added support for the SITE MD5 FTP command. Also see Server::sitemd5 in libunftp.

2021-05-22 libunftp 0.17.4

tag: libunftp-0.17.4

  • Added a new SITE MD5 command that allows FTP clients to obtain the MD5 checksum of a remote file. The feature is disabled for anonymous users by default. See Server::sitemd5.

2021-05-02 libunftp v0.17.3

tag: libunftp-0.17.3

  • Added Mutual TLS support.

2021-05-01 unftp-auth-jsonfile v0.1.1

tag: unftp-auth-jsonfile-0.1.1

  • Added support for PBKDF2 encoded passwords

2021-04-25 libunftp v0.17.2

tag: libunftp-0.17.2

  • Fixed output formatting of the FEAT command.
  • Fixed the SIZE command that wrongly took the REST restart position into account and also caused number overflows because of that.
  • Removed panics that could happen when failing to load the TLS certificate or key, these errors are now propagated via the Server::listen method.
  • Implemented TLS session resumption with server side session IDs.
  • Implemented TLS session resumption with tickets.
  • Added the Server::ftps_tls_flags method to allow switching TLS features on or off.

2021-04-18 libunftp v0.17.1

tag: libunftp-0.17.1

Changes in this release:

  • #327 Allow PROT and PBSZ without requiring authentication.
  • #330 Load TLS certificates only once at startup instead of on every connect.

2021-03-26 Newly splitted auth and storage back-ends

2021-03-26 libunftp v0.17.0

tag: libunftp-0.17.0

The main focus of this release was the removal of contained authentication and storage back-ends from the libunftp crate and into their own crates. As you can imagine this brings about breaking changes.

Source code for these crates can still be found in this repository under the crates directory.

Breaking Changes:

  • Split the GCS back-end into crate unftp-sbe-gcs
  • Split the Filesystem back-end into crate unftp-sbe-fs
  • Split the JSON file authenticator into crate unftp-auth-jsonfile
  • Split the PAM authenticator into crate unftp-auth-pam
  • Split the REST authenticator into crate unftp-auth-rest
  • Changed some public API names to adhere to Rust naming conventions:
    • PAMAuthenticator became PamAuthenticator
    • PassiveHost::IP became PassiveHost::Ip
    • PassiveHost::DNS became PassiveHost::Dns
    • RestError::HTTPStatusError became RestError::HttpStatusError
    • RestError::JSONDeserializationError became RestError::JsonDeserializationError
    • RestError::JSONSerializationError became RestError::JsonSerializationError
  • The Server::with_fs method moved into the ServerExt extension trait of unftp-sbe-fs
  • The Server::with_fs_and_auth method was removed. Use the Server::with_authenticator method instead.

Other changes:

  • Upgraded outdated dependencies