From f0217191e5c5ed00a143e98f794c633e9853da3c Mon Sep 17 00:00:00 2001 From: euzu Date: Wed, 8 Jul 2026 15:39:14 +0200 Subject: [PATCH] fixed frontend compilation problem --- backend/src/utils/file/config_reader.rs | 4 ++-- shared/src/defaults/auth.rs | 27 +++++++++++++++---------- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/backend/src/utils/file/config_reader.rs b/backend/src/utils/file/config_reader.rs index da1f103d1..495cbc4d9 100644 --- a/backend/src/utils/file/config_reader.rs +++ b/backend/src/utils/file/config_reader.rs @@ -650,8 +650,8 @@ pub async fn read_initial_app_config( paths: Arc::new(ArcSwap::from_pointee(paths.clone())), file_locks: Arc::new(FileLockManager::default()), custom_stream_response: Arc::new(ArcSwapAny::default()), - access_token_secret: generate_default_access_secret(), - encrypt_secret: generate_default_encrypt_secret(), + access_token_secret: generate_default_access_secret()?, + encrypt_secret: generate_default_encrypt_secret()?, media_tools: Arc::new(MediaToolCapabilities::new()), }; app_config.prepare(include_computed)?; diff --git a/shared/src/defaults/auth.rs b/shared/src/defaults/auth.rs index a8227a931..529895c99 100644 --- a/shared/src/defaults/auth.rs +++ b/shared/src/defaults/auth.rs @@ -1,5 +1,7 @@ //! Auth, secret-generation and panel-API defaults. +use crate::error::TuliproxError; + default_eq_fns!( default_kick_secs, is_default_kick_secs, u64, 90; default_token_ttl_mins, is_default_token_ttl_mins, u32, 30; @@ -12,30 +14,33 @@ pub const fn default_panel_api_provision_cooldown_secs() -> u64 { 0 } pub const fn default_panel_api_alias_pool_min() -> u16 { 1 } pub const fn default_panel_api_alias_pool_max() -> u16 { 1 } -fn fill_with_secure_random_bytes(out: &mut [u8]) { +fn fill_with_secure_random_bytes(out: &mut [u8]) -> Result<(), TuliproxError> { #[cfg(target_arch = "wasm32")] { for byte in out { *byte = fastrand::u8(..); } + Ok(()) } #[cfg(not(target_arch = "wasm32"))] - if let Err(err) = getrandom::fill(out) { - panic!("failed to generate secure random bytes: {err}"); - } + getrandom::fill(out).map_err(|err| TuliproxError::Crypto(format!("failed to generate random bytes: {err}"))) } -pub fn generate_default_access_secret() -> [u8; 32] { +pub fn generate_default_access_secret() -> Result<[u8; 32], TuliproxError> { let mut out = [0u8; 32]; - fill_with_secure_random_bytes(&mut out); - out + fill_with_secure_random_bytes(&mut out)?; + Ok(out) } -pub fn generate_default_encrypt_secret() -> [u8; 16] { +pub fn generate_default_encrypt_secret() -> Result<[u8; 16], TuliproxError> { let mut out = [0u8; 16]; - fill_with_secure_random_bytes(&mut out); - out + fill_with_secure_random_bytes(&mut out)?; + Ok(out) } -pub fn default_secret() -> String { generate_default_encrypt_secret().iter().map(|b| format!("{:02X}", b)).collect() } +pub fn default_secret() -> String { + generate_default_encrypt_secret() + .map(|secret| secret.iter().map(|b| format!("{b:02X}")).collect()) + .unwrap_or_default() +}