Repository navigation
libunftp 0.23.1
libunftp 0.23.1
This release adds application-defined FTP SITE subcommands and fixes control-channel reply handling and pooled listener address handling.
New functionality
#571: Register custom subcommands with ServerBuilder::site_command and implement libunftp::options::SiteCommandHandler. Handlers receive arguments, authenticated user details, the storage backend, and the session logger through SiteCommandContext, and return a Reply.
#576: Subcommand names are case-insensitive. Invalid or duplicate registrations and attempts to override built-in SITE MD5 are rejected by build(). When using user_detail_provider, call it before registering SITE handlers.
Fixes and maintenance
- #573: Prevent a panic on blank lines in multiline FTP replies.
- #568: Use the accepted control connection's local address in pooled listener mode, including wildcard bindings.
- Update dependencies, including #567 and #574, and improve tests and documentation (#571).
Compatibility notes
The unftp-core API is unchanged and remains at 0.1.0. Unknown SITE subcommands now return 502 instead of 500.
Consumers pinning async-trait below 0.1.92 must update that pin to resolve dependencies. The unFTP smoke test used an updated pin and the filesystem backend with anonymous authentication.
Full changes: libunftp-0.23.0...libunftp-0.23.1