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数据库接口

Download history 7810/week @ 2024-05-03 9627/week @ 2024-05-10 7980/week @ 2024-05-17 5724/week @ 2024-05-24 5902/week @ 2024-05-31 6620/week @ 2024-06-07 7170/week @ 2024-06-14 7729/week @ 2024-06-21 6698/week @ 2024-06-28 7429/week @ 2024-07-05 9718/week @ 2024-07-12 7516/week @ 2024-07-19 8441/week @ 2024-07-26 10914/week @ 2024-08-02 10592/week @ 2024-08-09 9472/week @ 2024-08-16

40,444 每月下载量
9 个Crates中使用 (通过 sasl2-sys)

Apache-2.0

12MB
279K SLoC

C 252K SLoC // 0.2% comments Python 8K SLoC // 0.2% comments C++ 8K SLoC // 0.2% comments Perl 2K SLoC // 0.1% comments M4 2K SLoC // 0.3% comments ASN.1 1.5K SLoC // 0.2% comments GNU Style Assembly 1.5K SLoC Happy 1K SLoC INI 602 SLoC // 0.0% comments Bitbake 575 SLoC // 0.2% comments Shell 506 SLoC // 0.1% comments AWK 396 SLoC // 0.1% comments Visual Studio Project 338 SLoC Alex 245 SLoC SWIG 162 SLoC // 0.3% comments Rust 128 SLoC // 0.3% comments Emacs Lisp 104 SLoC // 0.3% comments Batch 69 SLoC Visual Studio Solution 60 SLoC

包含 (自动工具混淆代码,520KB) krb5/src/configure,(模糊autoconf代码,50KB) krb5/src/configure.ac

rust-krb5-src

crates.io CI Rust Documentation

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-srcdependencydev-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 版本上进行了测试。欢迎提交改进其他平台支持的补丁。

依赖关系