diff --git a/Cargo.lock b/Cargo.lock index 8acadece..ec2742ca 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -579,7 +579,7 @@ dependencies = [ [[package]] name = "common" -version = "2.3.7" +version = "2.3.8" dependencies = [ "is_executable", ] @@ -1449,7 +1449,7 @@ dependencies = [ [[package]] name = "gpapi" -version = "2.3.7" +version = "2.3.8" dependencies = [ "anyhow", "base64 0.21.5", @@ -1485,7 +1485,7 @@ dependencies = [ [[package]] name = "gpauth" -version = "2.3.7" +version = "2.3.8" dependencies = [ "anyhow", "clap", @@ -1506,7 +1506,7 @@ dependencies = [ [[package]] name = "gpclient" -version = "2.3.7" +version = "2.3.8" dependencies = [ "anyhow", "clap", @@ -1528,7 +1528,7 @@ dependencies = [ [[package]] name = "gpgui-helper" -version = "2.3.7" +version = "2.3.8" dependencies = [ "anyhow", "clap", @@ -1546,7 +1546,7 @@ dependencies = [ [[package]] name = "gpservice" -version = "2.3.7" +version = "2.3.8" dependencies = [ "anyhow", "axum", @@ -2625,7 +2625,7 @@ dependencies = [ [[package]] name = "openconnect" -version = "2.3.7" +version = "2.3.8" dependencies = [ "cc", "common", diff --git a/Cargo.toml b/Cargo.toml index a94fd2d1..d6b5ec7e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,7 @@ members = ["crates/*", "apps/gpclient", "apps/gpservice", "apps/gpauth", "apps/g [workspace.package] rust-version = "1.70" -version = "2.3.7" +version = "2.3.8" authors = ["Kevin Yue "] homepage = "https://github.com/yuezk/GlobalProtect-openconnect" edition = "2021" diff --git a/changelog.md b/changelog.md index 9cd6a4c2..7d28d26b 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,12 @@ # Changelog +## 2.3.8 - 2024-10-31 + +- GUI: support configure the external browser to use for authentication (fix [#423](https://github.com/yuezk/GlobalProtect-openconnect/issues/423)) +- GUI: add option to remember the credential (fix [#420](https://github.com/yuezk/GlobalProtect-openconnect/issues/420)) +- GUI: fix the credential not saved issue (fix [#420](https://github.com/yuezk/GlobalProtect-openconnect/issues/420)) +- CLI: fix the default browser detection issue (fix [#416](https://github.com/yuezk/GlobalProtect-openconnect/issues/416)) + ## 2.3.7 - 2024-08-16 - Fix the Rust type inference regression [issue in 1.80](https://github.com/rust-lang/rust/issues/125319). diff --git a/crates/gpapi/src/credential.rs b/crates/gpapi/src/credential.rs index acae63e0..a745df1f 100644 --- a/crates/gpapi/src/credential.rs +++ b/crates/gpapi/src/credential.rs @@ -194,7 +194,6 @@ impl Credential { Some(cred.prelogon_user_auth_cookie()), None, ), - // Use the empty string as the password if auth_cookie is present Credential::Cached(cred) => ( cred.password(), None, diff --git a/crates/gpapi/src/portal/config.rs b/crates/gpapi/src/portal/config.rs index 13969bd2..3db25d6b 100644 --- a/crates/gpapi/src/portal/config.rs +++ b/crates/gpapi/src/portal/config.rs @@ -103,20 +103,6 @@ pub async fn retrieve_config(portal: &str, cred: &Credential, gp_params: &GpPara let client = Client::try_from(gp_params)?; let mut params = cred.to_params(); - // Avoid sending the auth cookies for the portal config API if the password is cached - // Otherwise, the portal will return an error even if the password is correct, because - // the auth cookies could have been invalidated and the portal server takes precedence - // over the password - if let Credential::Cached(cache_cred) = cred { - info!("Using cached credentials, excluding auth cookies from the portal config request"); - - if cache_cred.password().is_some() { - params.remove("prelogin-cookie"); - params.remove("portal-userauthcookie"); - params.remove("portal-prelogonuserauthcookie"); - } - } - let extra_params = gp_params.to_params(); params.extend(extra_params);