All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.1.20 - 2022-05-26
- Upgrade to libsasl2 v2.1.28.
0.1.19+2.1.27 - 2022-01-16
-
Add Windows support.
Thanks to @pbor for assisting.
0.1.18 - 2022-01-03
-
Backwards-incompatible change. Change the type of the log level constants constants from
c_uint
toc_int
to match the type of thelevel
parameter of thesasl_log_t
typedef (#40). The log level constants are:SASL_LOG_NONE
SASL_LOG_ERR
SASL_LOG_FAIL
SASL_LOG_WARN
SASL_LOG_NOTE
SASL_LOG_DEBUG
SASL_LOG_TRACE
SASL_LOG_PASS
-
Don't derive
Copy
orClone
for thesasl_secret_t
type, as it represents a variable-length struct whose true length is not correctly handled by the auto-derived implementations ofCopy
andClone
(#36).
0.1.17 - 2021-12-27
-
Blindly assume the presence of the system libsasl2 when dynamically linking on macOS without the
vendored
feature. (The check that validated the presence of the system library became invalid in macOS Big Sur, and there isn't an obvious replacement.) -
Backwards-incompatible change. Change the type of
SASL_PATH_TYPE_PLUGIN
andSASL_PATH_TYPE_CONFIG
fromc_uint
toc_int
to match the type of thepath_type
parameter in thesasl_set_path
function (#34).Thanks, @pbor!
0.1.16 - 2021-12-02
- Update to the latest
config.guess
andconfig.sub
versions. This notably fixes compilation on some MacOS machines with the M1 CPU architecture (#29).
0.1.15 - 2021-11-28
-
Include a macOS hint in the message for the error that occurs if libsasl2 is not found.
-
Update to v0.3.0 of krb5-src which bundles libkrb5 v1.19.2.
0.1.14 - 2020-12-20
- Introduce the
scram
feature to enable the SCRAM authentication method via the--enable-scram
configure option. This feature requires linking against OpenSSL by way of the openssl-sys crate. For convenience, the newopenssl-vendored
feature re-exports the openssl-sys's cratesvendored
feature.
0.1.13 - 2020-12-15
- When linking against a system copy of libsasl2, permit manually specifying
the search directory via the
SASL2_DIR
,SASL2_LIB_DIR
, andSASL2_INCLUDE_DIR
environment variables.
0.1.12 - 2020-07-08
- Introduce the
plain
feature to enable the PLAIN authentication method via the--enable-plain
configure option.
0.1.11 - 2020-07-02
- When the
gssapi-vendored
feature is enabled, don't link against libresolv if the target system is DragonflyBSD, FreeBSD, NetBSD, or OpenBSD. Libresolv does not exist on these platforms, nor is it necessary; the relevant functions are part of libc directly.
0.1.10 - 2020-06-26
- Detect when the host system is DragonflyBSD, FreeBSD, NetBSD, or OpenBSD and
invoke
gmake
instead ofmake
, as libsasl2 is only compatible with GNU Make, andmake
on BSD systems defaults to BSD Make.
0.1.9 - 2020-04-28
- Don't fail cross-compilation on the check for GSSAPI SPNEGO availability. Instead conservatively disable it, but allow it to be manually enabled with an autoconf cache variable.
0.1.8 - 2020-04-28
- Update to v0.2.0 of krb5-src for cross-compilation support.
0.1.7 - 2020-04-28
- Ensure the GSSAPI plugin is position independent (i.e., compiled with
-fPIC
) when thegssapi-vendored
feature is enabled.
0.1.6 - 2020-04-27
- Introduce the
gssapi-vendored
Cargo feature, which enables the GSSAPI plugin by building and statically linking against libkrb5, MIT's Kerberos implementation.
0.1.5 - 2020-04-25
-
Backwards-incompatible change. Use libc types rather than Rust types for constants (e.g.,
libc::c_int
rather thani32
) to reduce the number of casts required when passing those constants to other sasl2-sys functions.Thanks, @sandhose!
0.1.4 - 2020-04-10
- Don't build documentation and tests. This saves time and avoids depending on somewhat esoteric tools like nroff.
0.1.3 - 2020-04-08
- Disable maintainer mode in the libsasl2 build system. Because Git does not
preserve timestamps on source files,
configure
can look out-of-date with respect toconfigure.ac
(et al.), and somake
will try to rebuildconfigure
, which requires autotools. Disabling maintainer mode ensures Make will never invoke autotools, even if the autotools files look out of date.
0.1.2 - 2020-04-03
-
Pass the
--with-pic
configure option when building the vendored libsasl2 to enable position-independent code in static archives. This appears to be necessary for linking to succeed with some cross-compilation toolchains. -
Remove the dependency on autotools when building the vendored libsasl2 by vendoring the source tarball directly, rather than using a Git submodule.
-
Improve several build script error messages.
0.1.1 - 2020-04-03
- Fix docs.rs build.
- Include README contents on the crates.io crate description.
Initial release.