diff --git a/README.md b/README.md index 0125cda2..560f43ab 100644 --- a/README.md +++ b/README.md @@ -127,7 +127,7 @@ The project depends on `openconnect >= 8.20`, `webkit2gtk`, `libsecret`, `libaya ## About Trial -The CLI version is always free, while the GUI version is paid. There two trial modes for the GUI version: +The CLI version is always free, while the GUI version is paid. There are two trial modes for the GUI version: 1. 10-day trial: You can use the GUI stable release for 10 days after the installation. 2. 14-day trial: Each beta release has a fresh trial period (at most 14 days) after released. diff --git a/crates/gpapi/src/process/auth_launcher.rs b/crates/gpapi/src/process/auth_launcher.rs index b82d72b7..c8867eb9 100644 --- a/crates/gpapi/src/process/auth_launcher.rs +++ b/crates/gpapi/src/process/auth_launcher.rs @@ -1,5 +1,6 @@ use std::process::Stdio; +use anyhow::bail; use tokio::process::Command; use crate::{auth::SamlAuthResult, credential::Credential, GP_AUTH_BINARY}; @@ -129,12 +130,13 @@ impl<'a> SamlAuthLauncher<'a> { .wait_with_output() .await?; - let auth_result = serde_json::from_slice::(&output.stdout) - .map_err(|_| anyhow::anyhow!("Failed to parse auth data"))?; + let Ok(auth_result) = serde_json::from_slice::(&output.stdout) else { + bail!("Failed to parse auth data") + }; match auth_result { SamlAuthResult::Success(auth_data) => Credential::try_from(auth_data), - SamlAuthResult::Failure(msg) => Err(anyhow::anyhow!(msg)), + SamlAuthResult::Failure(msg) => bail!(msg), } } }