mirror of
https://github.com/yuezk/GlobalProtect-openconnect.git
synced 2025-05-20 07:26:58 -04:00
Compare commits
4 Commits
v2.3.6
...
5c6a1c77f7
Author | SHA1 | Date | |
---|---|---|---|
|
5c6a1c77f7 | ||
|
511cc5ebd7 | ||
|
30bec40338 | ||
|
0bb9353a11 |
30
Cargo.lock
generated
30
Cargo.lock
generated
@@ -570,7 +570,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "common"
|
||||
version = "2.3.6"
|
||||
version = "2.3.7"
|
||||
dependencies = [
|
||||
"is_executable",
|
||||
]
|
||||
@@ -1430,7 +1430,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "gpapi"
|
||||
version = "2.3.6"
|
||||
version = "2.3.7"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"base64 0.21.5",
|
||||
@@ -1465,7 +1465,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "gpauth"
|
||||
version = "2.3.6"
|
||||
version = "2.3.7"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"clap",
|
||||
@@ -1486,7 +1486,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "gpclient"
|
||||
version = "2.3.6"
|
||||
version = "2.3.7"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"clap",
|
||||
@@ -1508,7 +1508,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "gpgui-helper"
|
||||
version = "2.3.6"
|
||||
version = "2.3.7"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"clap",
|
||||
@@ -1526,7 +1526,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "gpservice"
|
||||
version = "2.3.6"
|
||||
version = "2.3.7"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"axum",
|
||||
@@ -2426,6 +2426,12 @@ dependencies = [
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num-conv"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
|
||||
|
||||
[[package]]
|
||||
name = "num-integer"
|
||||
version = "0.1.45"
|
||||
@@ -2549,7 +2555,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openconnect"
|
||||
version = "2.3.6"
|
||||
version = "2.3.7"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"common",
|
||||
@@ -4143,12 +4149,13 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "time"
|
||||
version = "0.3.31"
|
||||
version = "0.3.36"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e"
|
||||
checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
|
||||
dependencies = [
|
||||
"deranged",
|
||||
"itoa 1.0.10",
|
||||
"num-conv",
|
||||
"powerfmt",
|
||||
"serde",
|
||||
"time-core",
|
||||
@@ -4163,10 +4170,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
|
||||
|
||||
[[package]]
|
||||
name = "time-macros"
|
||||
version = "0.2.16"
|
||||
version = "0.2.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f"
|
||||
checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
|
||||
dependencies = [
|
||||
"num-conv",
|
||||
"time-core",
|
||||
]
|
||||
|
||||
|
@@ -5,7 +5,7 @@ members = ["crates/*", "apps/gpclient", "apps/gpservice", "apps/gpauth", "apps/g
|
||||
|
||||
[workspace.package]
|
||||
rust-version = "1.70"
|
||||
version = "2.3.6"
|
||||
version = "2.3.7"
|
||||
authors = ["Kevin Yue <k3vinyue@gmail.com>"]
|
||||
homepage = "https://github.com/yuezk/GlobalProtect-openconnect"
|
||||
edition = "2021"
|
||||
|
@@ -1,5 +1,9 @@
|
||||
# Changelog
|
||||
|
||||
## 2.3.7 - 2024-08-16
|
||||
|
||||
- Fix the Rust type inference regression [issue in 1.80](https://github.com/rust-lang/rust/issues/125319).
|
||||
|
||||
## 2.3.6 - 2024-08-15
|
||||
|
||||
- CLI: enhance the `gpauth` command to support external browser authentication
|
||||
|
@@ -111,11 +111,11 @@ impl AuthCookieCredential {
|
||||
pub struct CachedCredential {
|
||||
username: String,
|
||||
password: Option<String>,
|
||||
auth_cookie: AuthCookieCredential,
|
||||
auth_cookie: Option<AuthCookieCredential>,
|
||||
}
|
||||
|
||||
impl CachedCredential {
|
||||
pub fn new(username: String, password: Option<String>, auth_cookie: AuthCookieCredential) -> Self {
|
||||
pub fn new(username: String, password: Option<String>, auth_cookie: Option<AuthCookieCredential>) -> Self {
|
||||
Self {
|
||||
username,
|
||||
password,
|
||||
@@ -131,12 +131,12 @@ impl CachedCredential {
|
||||
self.password.as_deref()
|
||||
}
|
||||
|
||||
pub fn auth_cookie(&self) -> &AuthCookieCredential {
|
||||
&self.auth_cookie
|
||||
pub fn auth_cookie(&self) -> Option<&AuthCookieCredential> {
|
||||
self.auth_cookie.as_ref()
|
||||
}
|
||||
|
||||
pub fn set_auth_cookie(&mut self, auth_cookie: AuthCookieCredential) {
|
||||
self.auth_cookie = auth_cookie;
|
||||
self.auth_cookie = Some(auth_cookie);
|
||||
}
|
||||
|
||||
pub fn set_username(&mut self, username: String) {
|
||||
@@ -150,11 +150,7 @@ impl CachedCredential {
|
||||
|
||||
impl From<PasswordCredential> for CachedCredential {
|
||||
fn from(value: PasswordCredential) -> Self {
|
||||
Self::new(
|
||||
value.username().to_owned(),
|
||||
Some(value.password().to_owned()),
|
||||
AuthCookieCredential::new("", "", ""),
|
||||
)
|
||||
Self::new(value.username().to_owned(), Some(value.password().to_owned()), None)
|
||||
}
|
||||
}
|
||||
#[derive(Debug, Serialize, Deserialize, Type, Clone)]
|
||||
@@ -198,11 +194,16 @@ 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(),
|
||||
if cred.auth_cookie.is_some() {
|
||||
None
|
||||
} else {
|
||||
cred.password()
|
||||
},
|
||||
None,
|
||||
Some(cred.auth_cookie.user_auth_cookie()),
|
||||
Some(cred.auth_cookie.prelogon_user_auth_cookie()),
|
||||
cred.auth_cookie.as_ref().map(|c| c.user_auth_cookie()),
|
||||
cred.auth_cookie.as_ref().map(|c| c.prelogon_user_auth_cookie()),
|
||||
None,
|
||||
),
|
||||
};
|
||||
|
@@ -42,6 +42,8 @@
|
||||
|
||||
overrideMain = {...}: {
|
||||
postPatch = ''
|
||||
substituteInPlace crates/common/src/vpn_utils.rs \
|
||||
--replace-fail /etc/vpnc/vpnc-script ${pkgs.vpnc-scripts}/bin/vpnc-script
|
||||
substituteInPlace crates/gpapi/src/lib.rs \
|
||||
--replace-fail /usr/bin/gpclient $out/bin/gpclient \
|
||||
--replace-fail /usr/bin/gpservice $out/bin/gpservice \
|
||||
|
Reference in New Issue
Block a user