Skip to content

RUST-2235 Implement GSSAPI auth support #1413

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 19 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
b1f648f
RUST-2235: Initial Devin code
mattChiaravalloti Jun 24, 2025
9789819
RUST-2235: Update auth spec tests to guard GSSAPI tests behind featur…
mattChiaravalloti Jun 24, 2025
e406e16
RUST-2235: Clean up options and client/auth
mattChiaravalloti Jun 24, 2025
50aa9d9
RUST-2235: Fix warnings
mattChiaravalloti Jun 30, 2025
9267940
RUST-2235: Clean up gssapi.rs and include debug code for further testing
mattChiaravalloti Jul 1, 2025
43a4472
RUST-2235: Update wrap_unwrap
mattChiaravalloti Jul 2, 2025
774375a
RUST-2235: Update final wrap step to use proper starting bytes
mattChiaravalloti Jul 7, 2025
9e6e38d
RUST-2235: Clean up gssapi auth code
mattChiaravalloti Jul 7, 2025
7e040aa
RUST-2235: Clean up canonicalize_hostname
mattChiaravalloti Jul 8, 2025
3134bb6
RUST-2235: Fix api calls after rebase
mattChiaravalloti Jul 8, 2025
f323fe1
RUST-2235: Update constants
mattChiaravalloti Jul 8, 2025
e175e2e
RUST-2235: Combine new and init
mattChiaravalloti Jul 8, 2025
de0c4b7
SQL-2235: Properly alphabetize Cargo.toml
mattChiaravalloti Jul 9, 2025
3fec2d9
SQL-2235: Update compile-only task to include gssapi feature flag
mattChiaravalloti Jul 9, 2025
8ef6097
RUST-2235: Update Cargo.lock
mattChiaravalloti Jul 9, 2025
13a6878
RUST-2235: Properly update Cargo.lock
mattChiaravalloti Jul 9, 2025
fafc56f
RUST-2235: Update tests to run with gssapi-auth feature enabled
mattChiaravalloti Jul 9, 2025
934f0f4
RUST-2235: Fix rustfmt failures
mattChiaravalloti Jul 9, 2025
5f5722c
RUST-2235: Address clippy failures
mattChiaravalloti Jul 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .evergreen/compile-only.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ cargo $TOOLCHAIN build

# Test with all features.
if [ "$RUST_VERSION" != "" ]; then
cargo $TOOLCHAIN build --features openssl-tls,sync,aws-auth,zlib-compression,zstd-compression,snappy-compression,in-use-encryption,tracing-unstable
cargo $TOOLCHAIN build --features openssl-tls,sync,aws-auth,gssapi-auth,zlib-compression,zstd-compression,snappy-compression,in-use-encryption,tracing-unstable
else
cargo $TOOLCHAIN build --all-features
fi
Expand Down
2 changes: 1 addition & 1 deletion .evergreen/run-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ set -o pipefail
source .evergreen/env.sh
source .evergreen/cargo-test.sh

FEATURE_FLAGS+=("tracing-unstable" "cert-key-password")
FEATURE_FLAGS+=("tracing-unstable" "cert-key-password" "gssapi-auth")

if [ "$OPENSSL" = true ]; then
FEATURE_FLAGS+=("openssl-tls")
Expand Down
192 changes: 192 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ gcp-oidc = ["dep:reqwest"]
# This can only be used with the tokio-runtime feature flag.
gcp-kms = ["dep:reqwest"]

# Enable support for GSSAPI (Kerberos) authentication.
gssapi-auth = ["dep:cross-krb5", "dep:dns-lookup"]

zstd-compression = ["dep:zstd"]
zlib-compression = ["dep:flate2"]
snappy-compression = ["dep:snap"]
Expand All @@ -80,8 +83,10 @@ chrono = { version = "0.4.7", default-features = false, features = [
"clock",
"std",
] }
cross-krb5 = { version = "0.4.2", optional = true, default-features = false }
derive_more = "0.99.17"
derive-where = "1.2.7"
dns-lookup = { version = "2.0", optional = true }
flate2 = { version = "1.0", optional = true }
futures-io = "0.3.21"
futures-core = "0.3.14"
Expand Down
Loading