Welcome
libfilezilla is a small and modern C++ library, offering some basic functionality to build high-performing, platform-independent programs. Some of the highlights include:
- A typesafe, multi-threaded event system that's very simple to use yet extremely efficient
- Timers for periodic events
- A fz::socket class for TCP communication with infrastructure to easily add layers on top
- A TLS layer to secure communication
- A rate-limited socket layer to control traffic flow
- A datetime class that not only tracks timestamp but also their accuracy, which simplifies dealing with timestamps originating from different sources
- Simple process handling for spawning child processes with redirected I/O
libfilezilla is a cross-platform library for all major operating systems, including but not limited to Linux, *BSD, OS X and Windows.
This library is free software, it is distributed under the terms and conditions of the GNU General Public License v2+
News
2024-04-15 - libfilezilla 0.47.0 released
New features:
- PKCS#11 support, provided GnuTLS has been compiled with PKCS#11 support enabled
Bugfixes and minor changes:
- Added parameter to fz::remove_dir that allows returning an error if the directory did not exist
- Add logging of aio reader/writers cannot be opened, fix return value of reader when trying to read nothing
- HTTP: Delay sending subsequent requests after having received a response with "Connection: close" set
- Listen sockets are now created with the SO_REUSEADDR (SO_EXCLUSIVEADDRUSE on Windows) flag set
- Added cert_type::codesign as key purpose to certificate request and creation functions in fz::tls_layer
2024-02-06 - libfilezilla 0.46.0 released
New features:
- fz::process: Add io redirection mode that excluded stderr
- fz::remove_file and remove_dir now take additional parameter and return fz::result
- Added transitional fz::file::read2 and fz::file::write2 returning fz::rwresult, old read/write have been marked deprecated
Bugfixes and minor changes:
- HTTP: Fix redirect if "Connection: close" header is set
2023-10-11 - libfilezilla 0.45.0 released
New features:
- fz::hash_accumulator now also works with hmac_sha256
- Added is_digest and digest_size to fz::hash_acumulator
- MSW: Added function to delete registry values
Bugfixes and minor changes:
- Fixed a crash and a stall in the HTTP client