mirror of
https://github.com/yuezk/GlobalProtect-openconnect.git
synced 2025-05-20 07:26:58 -04:00
Compare commits
2 Commits
a1c63f8498
...
v2.3.5
Author | SHA1 | Date | |
---|---|---|---|
|
9317430968 | ||
|
f92b04e99a |
14
Cargo.lock
generated
14
Cargo.lock
generated
@@ -570,7 +570,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "common"
|
name = "common"
|
||||||
version = "2.3.4"
|
version = "2.3.5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"is_executable",
|
"is_executable",
|
||||||
]
|
]
|
||||||
@@ -1430,7 +1430,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gpapi"
|
name = "gpapi"
|
||||||
version = "2.3.4"
|
version = "2.3.5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"base64 0.21.5",
|
"base64 0.21.5",
|
||||||
@@ -1465,7 +1465,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gpauth"
|
name = "gpauth"
|
||||||
version = "2.3.4"
|
version = "2.3.5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"clap",
|
"clap",
|
||||||
@@ -1486,7 +1486,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gpclient"
|
name = "gpclient"
|
||||||
version = "2.3.4"
|
version = "2.3.5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"clap",
|
"clap",
|
||||||
@@ -1508,7 +1508,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gpgui-helper"
|
name = "gpgui-helper"
|
||||||
version = "2.3.4"
|
version = "2.3.5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"clap",
|
"clap",
|
||||||
@@ -1526,7 +1526,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gpservice"
|
name = "gpservice"
|
||||||
version = "2.3.4"
|
version = "2.3.5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"axum",
|
"axum",
|
||||||
@@ -2549,7 +2549,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openconnect"
|
name = "openconnect"
|
||||||
version = "2.3.4"
|
version = "2.3.5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cc",
|
"cc",
|
||||||
"common",
|
"common",
|
||||||
|
@@ -5,7 +5,7 @@ members = ["crates/*", "apps/gpclient", "apps/gpservice", "apps/gpauth", "apps/g
|
|||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
rust-version = "1.70"
|
rust-version = "1.70"
|
||||||
version = "2.3.4"
|
version = "2.3.5"
|
||||||
authors = ["Kevin Yue <k3vinyue@gmail.com>"]
|
authors = ["Kevin Yue <k3vinyue@gmail.com>"]
|
||||||
homepage = "https://github.com/yuezk/GlobalProtect-openconnect"
|
homepage = "https://github.com/yuezk/GlobalProtect-openconnect"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
@@ -41,7 +41,7 @@ struct Cli {
|
|||||||
#[arg(long)]
|
#[arg(long)]
|
||||||
default_browser: bool,
|
default_browser: bool,
|
||||||
#[arg(long)]
|
#[arg(long)]
|
||||||
external_browser: Option<String>,
|
browser: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Cli {
|
impl Cli {
|
||||||
@@ -61,8 +61,8 @@ impl Cli {
|
|||||||
None => portal_prelogin(&self.server, &gp_params).await?,
|
None => portal_prelogin(&self.server, &gp_params).await?,
|
||||||
};
|
};
|
||||||
|
|
||||||
let browser_auth = if let Some(external_browser) = &self.external_browser {
|
let browser_auth = if let Some(browser) = &self.browser {
|
||||||
Some(BrowserAuthenticator::new_with_browser(&saml_request, external_browser))
|
Some(BrowserAuthenticator::new_with_browser(&saml_request, browser))
|
||||||
} else if self.default_browser {
|
} else if self.default_browser {
|
||||||
Some(BrowserAuthenticator::new(&saml_request))
|
Some(BrowserAuthenticator::new(&saml_request))
|
||||||
} else {
|
} else {
|
||||||
|
@@ -102,7 +102,7 @@ pub(crate) struct ConnectArgs {
|
|||||||
long,
|
long,
|
||||||
help = "Use the specified browser to authenticate, e.g., firefox, chromium, chrome, or the path to the browser"
|
help = "Use the specified browser to authenticate, e.g., firefox, chromium, chrome, or the path to the browser"
|
||||||
)]
|
)]
|
||||||
external_browser: Option<String>,
|
browser: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ConnectArgs {
|
impl ConnectArgs {
|
||||||
@@ -332,8 +332,8 @@ impl<'a> ConnectHandler<'a> {
|
|||||||
match prelogin {
|
match prelogin {
|
||||||
Prelogin::Saml(prelogin) => {
|
Prelogin::Saml(prelogin) => {
|
||||||
let use_default_browser = prelogin.support_default_browser() && self.args.default_browser;
|
let use_default_browser = prelogin.support_default_browser() && self.args.default_browser;
|
||||||
let external_browser = if prelogin.support_default_browser() {
|
let browser = if prelogin.support_default_browser() {
|
||||||
self.args.external_browser.as_deref()
|
self.args.browser.as_deref()
|
||||||
} else {
|
} else {
|
||||||
None
|
None
|
||||||
};
|
};
|
||||||
@@ -349,7 +349,7 @@ impl<'a> ConnectHandler<'a> {
|
|||||||
.ignore_tls_errors(self.shared_args.ignore_tls_errors)
|
.ignore_tls_errors(self.shared_args.ignore_tls_errors)
|
||||||
.clean(self.args.clean)
|
.clean(self.args.clean)
|
||||||
.default_browser(use_default_browser)
|
.default_browser(use_default_browser)
|
||||||
.external_browser(external_browser)
|
.browser(browser)
|
||||||
.launch()
|
.launch()
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
|
@@ -1,5 +1,12 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2.3.5 - 2024-08-14
|
||||||
|
|
||||||
|
- Support configure `no-dtls` option
|
||||||
|
- GUI: fix the tray icon disk usage issue (#398)
|
||||||
|
- CLI: support specify the browser with `--browser <browser>` option (#405, #407, #397)
|
||||||
|
- CLI: fix the `--os` option not working
|
||||||
|
|
||||||
## 2.3.4 - 2024-07-08
|
## 2.3.4 - 2024-07-08
|
||||||
|
|
||||||
- Support the Internal Host Detection (fix [#377](https://github.com/yuezk/GlobalProtect-openconnect/issues/377))
|
- Support the Internal Host Detection (fix [#377](https://github.com/yuezk/GlobalProtect-openconnect/issues/377))
|
||||||
|
@@ -19,7 +19,7 @@ pub struct SamlAuthLauncher<'a> {
|
|||||||
ignore_tls_errors: bool,
|
ignore_tls_errors: bool,
|
||||||
clean: bool,
|
clean: bool,
|
||||||
default_browser: bool,
|
default_browser: bool,
|
||||||
external_browser: Option<&'a str>,
|
browser: Option<&'a str>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> SamlAuthLauncher<'a> {
|
impl<'a> SamlAuthLauncher<'a> {
|
||||||
@@ -36,7 +36,7 @@ impl<'a> SamlAuthLauncher<'a> {
|
|||||||
ignore_tls_errors: false,
|
ignore_tls_errors: false,
|
||||||
clean: false,
|
clean: false,
|
||||||
default_browser: false,
|
default_browser: false,
|
||||||
external_browser: None,
|
browser: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -90,8 +90,8 @@ impl<'a> SamlAuthLauncher<'a> {
|
|||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn external_browser(mut self, external_browser: Option<&'a str>) -> Self {
|
pub fn browser(mut self, browser: Option<&'a str>) -> Self {
|
||||||
self.external_browser = external_browser;
|
self.browser = browser;
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -140,8 +140,8 @@ impl<'a> SamlAuthLauncher<'a> {
|
|||||||
auth_cmd.arg("--default-browser");
|
auth_cmd.arg("--default-browser");
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(external_browser) = self.external_browser {
|
if let Some(browser) = self.browser {
|
||||||
auth_cmd.arg("--external-browser").arg(external_browser);
|
auth_cmd.arg("--browser").arg(browser);
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut non_root_cmd = auth_cmd.into_non_root()?;
|
let mut non_root_cmd = auth_cmd.into_non_root()?;
|
||||||
|
Reference in New Issue
Block a user