Use native Windows credential cache default
ci / test (push) Canceled after 0s
ci / fuzz-smoke (push) Canceled after 0s
ci / macos-client (macos-aarch64, macos-14) (push) Canceled after 0s
ci / macos-client (macos-x86_64, macos-13) (push) Canceled after 0s
ci / windows-client (push) Canceled after 0s
ci / package-release (linux-x86_64, ubuntu-latest, , , ) (push) Canceled after 0s
ci / package-release (macos-aarch64, macos-14, , , ) (push) Canceled after 0s
ci / package-release (macos-x86_64, macos-13, , , ) (push) Canceled after 0s
ci / package-release (windows-aarch64, windows-latest, aarch64, windows, aarch64-pc-windows-msvc) (push) Canceled after 0s
ci / package-release (windows-x86_64, windows-latest, , , ) (push) Canceled after 0s
ci / remote-bench (push) Canceled after 0s
ci / publish-gitea-release (push) Canceled after 0s
ci / test (push) Canceled after 0s
ci / fuzz-smoke (push) Canceled after 0s
ci / macos-client (macos-aarch64, macos-14) (push) Canceled after 0s
ci / macos-client (macos-x86_64, macos-13) (push) Canceled after 0s
ci / windows-client (push) Canceled after 0s
ci / package-release (linux-x86_64, ubuntu-latest, , , ) (push) Canceled after 0s
ci / package-release (macos-aarch64, macos-14, , , ) (push) Canceled after 0s
ci / package-release (macos-x86_64, macos-13, , , ) (push) Canceled after 0s
ci / package-release (windows-aarch64, windows-latest, aarch64, windows, aarch64-pc-windows-msvc) (push) Canceled after 0s
ci / package-release (windows-x86_64, windows-latest, , , ) (push) Canceled after 0s
ci / remote-bench (push) Canceled after 0s
ci / publish-gitea-release (push) Canceled after 0s
This commit is contained in:
+33
-2
@@ -208,7 +208,7 @@ impl Default for ClientConfig {
|
||||
predict: true,
|
||||
predict_mode: default_predict_mode(),
|
||||
cache_attach_tickets: true,
|
||||
credential_cache: "~/.local/share/dosh/credentials".to_string(),
|
||||
credential_cache: default_credential_cache(),
|
||||
auth_preference: default_auth_preference(),
|
||||
trust_on_first_use: false,
|
||||
native_auth_timeout_ms: default_native_auth_timeout_ms(),
|
||||
@@ -264,6 +264,20 @@ fn default_auth_preference() -> String {
|
||||
"native,ssh".to_string()
|
||||
}
|
||||
|
||||
fn default_credential_cache() -> String {
|
||||
#[cfg(windows)]
|
||||
{
|
||||
if let Some(local_app_data) = std::env::var_os("LOCALAPPDATA") {
|
||||
return PathBuf::from(local_app_data)
|
||||
.join("dosh")
|
||||
.join("credentials")
|
||||
.to_string_lossy()
|
||||
.into_owned();
|
||||
}
|
||||
}
|
||||
"~/.local/share/dosh/credentials".to_string()
|
||||
}
|
||||
|
||||
fn default_native_auth_timeout_ms() -> u64 {
|
||||
700
|
||||
}
|
||||
@@ -343,7 +357,7 @@ pub fn expand_tilde(path: &str) -> PathBuf {
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::{ClientConfig, ServerConfig, expand_tilde};
|
||||
use super::{ClientConfig, ServerConfig, default_credential_cache, expand_tilde};
|
||||
use std::path::PathBuf;
|
||||
|
||||
#[test]
|
||||
@@ -359,6 +373,7 @@ dosh_port = 50000
|
||||
assert!(config.predict);
|
||||
assert_eq!(config.predict_mode, "experimental");
|
||||
assert_eq!(config.auth_preference, "native,ssh");
|
||||
assert_eq!(config.credential_cache, default_credential_cache());
|
||||
assert_eq!(config.native_auth_timeout_ms, 700);
|
||||
assert_eq!(config.known_hosts, "~/.config/dosh/known_hosts");
|
||||
assert_eq!(config.identity_files, vec!["~/.ssh/id_ed25519"]);
|
||||
@@ -383,6 +398,22 @@ dosh_port = 50000
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn default_credential_cache_matches_platform() {
|
||||
let cache = default_credential_cache();
|
||||
#[cfg(windows)]
|
||||
if let Some(local_app_data) = std::env::var_os("LOCALAPPDATA") {
|
||||
assert_eq!(
|
||||
PathBuf::from(cache),
|
||||
PathBuf::from(local_app_data)
|
||||
.join("dosh")
|
||||
.join("credentials")
|
||||
);
|
||||
return;
|
||||
}
|
||||
assert_eq!(cache, "~/.local/share/dosh/credentials");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn old_server_configs_fill_new_fields_from_defaults() {
|
||||
let raw = r#"
|
||||
|
||||
Reference in New Issue
Block a user