11个版本
0.3.3+1.19.2 | 2024年5月13日 |
---|---|
0.3.2+1.19.2 | 2022年1月16日 |
0.3.1+1.19.2 | 2021年12月23日 |
0.3.0+1.19.2 | 2021年11月28日 |
0.2.4+1.18.2 | 2020年7月8日 |
#1212 在 数据库接口
40,444 每月下载量
在 9 个Crates中使用 (通过 sasl2-sys)
12MB
279K SLoC
包含 (自动工具混淆代码,520KB) krb5/src/configure,(模糊autoconf代码,50KB) krb5/src/configure.ac
rust-krb5-src
Rust构建系统集成,用于libkrb5,MIT的Kerberos实现。
安装
# Cargo.toml
[dependencies]
krb5-src = "0.3.3"
lib.rs
:
libkrb5的构建系统集成,用于libkrb5,MIT的Kerberos实现。
此crate使用Cargo的定制构建脚本支持构建libkrb5的供应商副本。它不是为了直接消费而设计的,而是作为需要libkrb5可用性的其他crate的依赖项,如sasl2-sys。
krb5-src当前捆绑libkrb5 v1.19.2。
要使用此crate,请声明对krb5-src
的dependency
或dev-dependency
。然后,在您的crate的构建脚本中,环境变量DEP_KRB5_SRC_ROOT
将指向安装捆绑副本的libkrb5的目录。您可以针对此副本构建和链接其他C库,或者生成Rust绑定并将Rust代码链接到此副本。
请注意,您负责指示Cargo链接到libkrb5的依赖组件。以下是一个构建脚本片段示例。
println!(
"cargo:rustc-link-search=native={}",
PathBuf::from(env::var("DEP_KRB5_SRC_ROOT").unwrap()).join("lib").display(),
);
println!("cargo:rustc-link-lib=static=gssapi_krb5");
println!("cargo:rustc-link-lib=static=krb5");
println!("cargo:rustc-link-lib=static=k5crypto");
println!("cargo:rustc-link-lib=static=com_err");
println!("cargo:rustc-link-lib=static=krb5support");
Cargo功能
krb5-src可以使用以下Cargo功能进行配置
-
binaries
构建随libkrb5一起提供的二进制文件(kinit、kdestroy等),并将它们安装到DEP_KRB5_SRC_ROOT/bin
。 -
nls
启用本地语言支持(即本地化)。此功能对应于--enable-nls
配置标志。在某些平台上,当此功能启用时,应用程序还必须链接到libintl。
-
openssl-vendored
启用了openssl-sys
库的vendored
功能。
请注意,在 Windows 上编译时,这些功能没有任何效果。
平台支持
krb5-src 已在最新的 Ubuntu、macOS 和 Windows 版本上进行了测试。欢迎提交改进其他平台支持的补丁。