From ec85e857bc3dba5d6528c92299711c910b073d3a Mon Sep 17 00:00:00 2001 From: Kevin Yue Date: Thu, 9 Jan 2025 21:39:22 +0800 Subject: [PATCH] Release 2.4.1 --- Cargo.lock | 24 +++++++++++------------ Cargo.toml | 2 +- apps/gpservice/src/cli.rs | 8 ++++---- changelog.md | 4 ++-- crates/gpapi/src/logger.rs | 39 +++++++++++++++++--------------------- 5 files changed, 36 insertions(+), 41 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2c71910..fba8a5d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -175,7 +175,7 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "auth" -version = "2.4.0" +version = "2.4.1" dependencies = [ "anyhow", "block2", @@ -546,9 +546,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.24" +version = "4.5.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9560b07a799281c7e0958b9296854d6fafd4c5f31444a7e5bb1ad6dde5ccf1bd" +checksum = "b95dca1b68188a08ca6af9d96a6576150f598824bdb528c1190460c2940a0b48" dependencies = [ "clap_builder", "clap_derive", @@ -566,9 +566,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.24" +version = "4.5.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "874e0dd3eb68bf99058751ac9712f622e61e6f393a94f7128fa26e3f02f5c7cd" +checksum = "9ab52925392148efd3f7562f2136a81ffb778076bcc85727c6e020d6dd57cf15" dependencies = [ "anstream", "anstyle", @@ -642,7 +642,7 @@ dependencies = [ [[package]] name = "common" -version = "2.4.0" +version = "2.4.1" dependencies = [ "is_executable", ] @@ -1590,7 +1590,7 @@ dependencies = [ [[package]] name = "gpapi" -version = "2.4.0" +version = "2.4.1" dependencies = [ "anyhow", "base64 0.22.1", @@ -1626,7 +1626,7 @@ dependencies = [ [[package]] name = "gpauth" -version = "2.4.0" +version = "2.4.1" dependencies = [ "anyhow", "auth", @@ -1645,7 +1645,7 @@ dependencies = [ [[package]] name = "gpclient" -version = "2.4.0" +version = "2.4.1" dependencies = [ "anyhow", "clap", @@ -1667,7 +1667,7 @@ dependencies = [ [[package]] name = "gpgui-helper" -version = "2.4.0" +version = "2.4.1" dependencies = [ "anyhow", "clap", @@ -1685,7 +1685,7 @@ dependencies = [ [[package]] name = "gpservice" -version = "2.4.0" +version = "2.4.1" dependencies = [ "anyhow", "axum", @@ -2951,7 +2951,7 @@ dependencies = [ [[package]] name = "openconnect" -version = "2.4.0" +version = "2.4.1" dependencies = [ "cc", "common", diff --git a/Cargo.toml b/Cargo.toml index eb7d221..3817c9e 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.80" -version = "2.4.0" +version = "2.4.1" authors = ["Kevin Yue "] homepage = "https://github.com/yuezk/GlobalProtect-openconnect" edition = "2021" diff --git a/apps/gpservice/src/cli.rs b/apps/gpservice/src/cli.rs index 4fc0f61..82ded3e 100644 --- a/apps/gpservice/src/cli.rs +++ b/apps/gpservice/src/cli.rs @@ -35,7 +35,7 @@ struct Cli { impl Cli { async fn run(&mut self) -> anyhow::Result<()> { - let redaction = self.init_logger()?; + let redaction = self.init_logger(); info!("gpservice started: {}", VERSION); let lock_file = Arc::new(LockFile::new(GP_SERVICE_LOCK_FILE)); @@ -100,7 +100,7 @@ impl Cli { Ok(()) } - fn init_logger(&self) -> anyhow::Result> { + fn init_logger(&self) -> Arc { let redaction = Arc::new(Redaction::new()); 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); - logger::init_with_logger(level, inner_logger)?; + logger::init_with_logger(level, inner_logger); - Ok(redaction) + redaction } fn prepare_api_key(&self) -> Vec { diff --git a/changelog.md b/changelog.md index 8899592..dacaa6a 100644 --- a/changelog.md +++ b/changelog.md @@ -1,8 +1,8 @@ # 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 - Support configure the log level - Log the detailed error message when network error occurs diff --git a/crates/gpapi/src/logger.rs b/crates/gpapi/src/logger.rs index c94a44e..fa7b49f 100644 --- a/crates/gpapi/src/logger.rs +++ b/crates/gpapi/src/logger.rs @@ -2,40 +2,35 @@ use std::sync::OnceLock; use anyhow::bail; use env_logger::Logger; -use log::Level; +use log::{warn, Level}; use log_reload::{ReloadHandle, ReloadLog}; static LOG_HANDLE: OnceLock>> = 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 // filtered by the outer logger let logger = env_logger::builder().filter_level(log::LevelFilter::Trace).build(); - init_with_logger(level, logger)?; - - Ok(()) + init_with_logger(level, logger); } -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() { - bail!("Logger already initialized") - } else { - log::set_max_level(log::LevelFilter::Trace); - - // Create a new logger that will filter the logs based on the max level - let level_filter_logger = log_reload::LevelFilter::new(level, logger); - - let reload_log = ReloadLog::new(level_filter_logger); - let handle = reload_log.handle(); - - // Register the logger to be used by the log crate - log::set_boxed_logger(Box::new(reload_log))?; - LOG_HANDLE - .set(handle) - .map_err(|_| anyhow::anyhow!("Failed to set the logger"))?; + warn!("Logger already initialized"); + return; } - Ok(()) + log::set_max_level(log::LevelFilter::Trace); + + // Create a new logger that will filter the logs based on the max level + let level_filter_logger = log_reload::LevelFilter::new(level, logger); + + let reload_log = ReloadLog::new(level_filter_logger); + let handle = reload_log.handle(); + + // Register the logger to be used by the log crate + let _ = log::set_boxed_logger(Box::new(reload_log)); + let _ = LOG_HANDLE.set(handle); } pub fn set_max_level(level: Level) -> anyhow::Result<()> {