mirror of
https://github.com/yuezk/GlobalProtect-openconnect.git
synced 2025-04-02 18:31:50 -04:00
Release 2.4.1
This commit is contained in:
parent
d37ccafdc2
commit
ec85e857bc
24
Cargo.lock
generated
24
Cargo.lock
generated
@ -175,7 +175,7 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "auth"
|
name = "auth"
|
||||||
version = "2.4.0"
|
version = "2.4.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"block2",
|
"block2",
|
||||||
@ -546,9 +546,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap"
|
name = "clap"
|
||||||
version = "4.5.24"
|
version = "4.5.25"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9560b07a799281c7e0958b9296854d6fafd4c5f31444a7e5bb1ad6dde5ccf1bd"
|
checksum = "b95dca1b68188a08ca6af9d96a6576150f598824bdb528c1190460c2940a0b48"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap_builder",
|
"clap_builder",
|
||||||
"clap_derive",
|
"clap_derive",
|
||||||
@ -566,9 +566,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap_builder"
|
name = "clap_builder"
|
||||||
version = "4.5.24"
|
version = "4.5.25"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "874e0dd3eb68bf99058751ac9712f622e61e6f393a94f7128fa26e3f02f5c7cd"
|
checksum = "9ab52925392148efd3f7562f2136a81ffb778076bcc85727c6e020d6dd57cf15"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anstream",
|
"anstream",
|
||||||
"anstyle",
|
"anstyle",
|
||||||
@ -642,7 +642,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "common"
|
name = "common"
|
||||||
version = "2.4.0"
|
version = "2.4.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"is_executable",
|
"is_executable",
|
||||||
]
|
]
|
||||||
@ -1590,7 +1590,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gpapi"
|
name = "gpapi"
|
||||||
version = "2.4.0"
|
version = "2.4.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"base64 0.22.1",
|
"base64 0.22.1",
|
||||||
@ -1626,7 +1626,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gpauth"
|
name = "gpauth"
|
||||||
version = "2.4.0"
|
version = "2.4.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"auth",
|
"auth",
|
||||||
@ -1645,7 +1645,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gpclient"
|
name = "gpclient"
|
||||||
version = "2.4.0"
|
version = "2.4.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"clap",
|
"clap",
|
||||||
@ -1667,7 +1667,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gpgui-helper"
|
name = "gpgui-helper"
|
||||||
version = "2.4.0"
|
version = "2.4.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"clap",
|
"clap",
|
||||||
@ -1685,7 +1685,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gpservice"
|
name = "gpservice"
|
||||||
version = "2.4.0"
|
version = "2.4.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"axum",
|
"axum",
|
||||||
@ -2951,7 +2951,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openconnect"
|
name = "openconnect"
|
||||||
version = "2.4.0"
|
version = "2.4.1"
|
||||||
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.80"
|
rust-version = "1.80"
|
||||||
version = "2.4.0"
|
version = "2.4.1"
|
||||||
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"
|
||||||
|
@ -35,7 +35,7 @@ struct Cli {
|
|||||||
|
|
||||||
impl Cli {
|
impl Cli {
|
||||||
async fn run(&mut self) -> anyhow::Result<()> {
|
async fn run(&mut self) -> anyhow::Result<()> {
|
||||||
let redaction = self.init_logger()?;
|
let redaction = self.init_logger();
|
||||||
info!("gpservice started: {}", VERSION);
|
info!("gpservice started: {}", VERSION);
|
||||||
|
|
||||||
let lock_file = Arc::new(LockFile::new(GP_SERVICE_LOCK_FILE));
|
let lock_file = Arc::new(LockFile::new(GP_SERVICE_LOCK_FILE));
|
||||||
@ -100,7 +100,7 @@ impl Cli {
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn init_logger(&self) -> anyhow::Result<Arc<Redaction>> {
|
fn init_logger(&self) -> Arc<Redaction> {
|
||||||
let redaction = Arc::new(Redaction::new());
|
let redaction = Arc::new(Redaction::new());
|
||||||
let redaction_clone = Arc::clone(&redaction);
|
let redaction_clone = Arc::clone(&redaction);
|
||||||
|
|
||||||
@ -122,9 +122,9 @@ impl Cli {
|
|||||||
|
|
||||||
let level = self.verbose.log_level_filter().to_level().unwrap_or(log::Level::Info);
|
let level = self.verbose.log_level_filter().to_level().unwrap_or(log::Level::Info);
|
||||||
|
|
||||||
logger::init_with_logger(level, inner_logger)?;
|
logger::init_with_logger(level, inner_logger);
|
||||||
|
|
||||||
Ok(redaction)
|
redaction
|
||||||
}
|
}
|
||||||
|
|
||||||
fn prepare_api_key(&self) -> Vec<u8> {
|
fn prepare_api_key(&self) -> Vec<u8> {
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## [Unreleased]
|
## 2.4.1 - 2025-01-09
|
||||||
|
|
||||||
- Fix the issue with OpenSSL < 3.0.4
|
- Fix the network issue with OpenSSL < 3.0.4
|
||||||
- GUI: fix the Wayland compatibility issue
|
- GUI: fix the Wayland compatibility issue
|
||||||
- Support configure the log level
|
- Support configure the log level
|
||||||
- Log the detailed error message when network error occurs
|
- Log the detailed error message when network error occurs
|
||||||
|
@ -2,24 +2,24 @@ use std::sync::OnceLock;
|
|||||||
|
|
||||||
use anyhow::bail;
|
use anyhow::bail;
|
||||||
use env_logger::Logger;
|
use env_logger::Logger;
|
||||||
use log::Level;
|
use log::{warn, Level};
|
||||||
use log_reload::{ReloadHandle, ReloadLog};
|
use log_reload::{ReloadHandle, ReloadLog};
|
||||||
|
|
||||||
static LOG_HANDLE: OnceLock<ReloadHandle<log_reload::LevelFilter<Logger>>> = OnceLock::new();
|
static LOG_HANDLE: OnceLock<ReloadHandle<log_reload::LevelFilter<Logger>>> = OnceLock::new();
|
||||||
|
|
||||||
pub fn init(level: Level) -> anyhow::Result<()> {
|
pub fn init(level: Level) {
|
||||||
// Initialize the env_logger and global max level to trace, the logs will be
|
// Initialize the env_logger and global max level to trace, the logs will be
|
||||||
// filtered by the outer logger
|
// filtered by the outer logger
|
||||||
let logger = env_logger::builder().filter_level(log::LevelFilter::Trace).build();
|
let logger = env_logger::builder().filter_level(log::LevelFilter::Trace).build();
|
||||||
init_with_logger(level, logger)?;
|
init_with_logger(level, logger);
|
||||||
|
|
||||||
Ok(())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn init_with_logger(level: Level, logger: Logger) -> anyhow::Result<()> {
|
pub fn init_with_logger(level: Level, logger: Logger) {
|
||||||
if let Some(_) = LOG_HANDLE.get() {
|
if let Some(_) = LOG_HANDLE.get() {
|
||||||
bail!("Logger already initialized")
|
warn!("Logger already initialized");
|
||||||
} else {
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
log::set_max_level(log::LevelFilter::Trace);
|
log::set_max_level(log::LevelFilter::Trace);
|
||||||
|
|
||||||
// Create a new logger that will filter the logs based on the max level
|
// Create a new logger that will filter the logs based on the max level
|
||||||
@ -29,13 +29,8 @@ pub fn init_with_logger(level: Level, logger: Logger) -> anyhow::Result<()> {
|
|||||||
let handle = reload_log.handle();
|
let handle = reload_log.handle();
|
||||||
|
|
||||||
// Register the logger to be used by the log crate
|
// Register the logger to be used by the log crate
|
||||||
log::set_boxed_logger(Box::new(reload_log))?;
|
let _ = log::set_boxed_logger(Box::new(reload_log));
|
||||||
LOG_HANDLE
|
let _ = LOG_HANDLE.set(handle);
|
||||||
.set(handle)
|
|
||||||
.map_err(|_| anyhow::anyhow!("Failed to set the logger"))?;
|
|
||||||
}
|
|
||||||
|
|
||||||
Ok(())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn set_max_level(level: Level) -> anyhow::Result<()> {
|
pub fn set_max_level(level: Level) -> anyhow::Result<()> {
|
||||||
|
Loading…
Reference in New Issue
Block a user