Release 2.4.1

This commit is contained in:
Kevin Yue 2025-01-09 21:39:22 +08:00
parent d37ccafdc2
commit ec85e857bc
No known key found for this signature in database
GPG Key ID: 4D3A6EE977B15AC4
5 changed files with 36 additions and 41 deletions

24
Cargo.lock generated
View File

@ -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",

View File

@ -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 <k3vinyue@gmail.com>"]
homepage = "https://github.com/yuezk/GlobalProtect-openconnect"
edition = "2021"

View File

@ -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<Arc<Redaction>> {
fn init_logger(&self) -> Arc<Redaction> {
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<u8> {

View File

@ -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

View File

@ -2,24 +2,24 @@ 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<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
// 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 {
warn!("Logger already initialized");
return;
}
log::set_max_level(log::LevelFilter::Trace);
// 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();
// 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"))?;
}
Ok(())
let _ = log::set_boxed_logger(Box::new(reload_log));
let _ = LOG_HANDLE.set(handle);
}
pub fn set_max_level(level: Level) -> anyhow::Result<()> {