diff options
| author | mat <git@matdoes.dev> | 2025-12-09 03:37:22 +0100 |
|---|---|---|
| committer | mat <git@matdoes.dev> | 2025-12-09 03:37:22 +0100 |
| commit | 676707aab320339b4c7406ee4f494b530f44e926 (patch) | |
| tree | 52ae7e2462351beb11984c3e8a8c4dd5ce62de76 | |
| parent | ba3a88336a074f902667d3e13471af62b431da04 (diff) | |
| download | azalea-drasl-676707aab320339b4c7406ee4f494b530f44e926.tar.xz | |
make signing module optional in azalea-crypto
| -rw-r--r-- | azalea-client/src/plugins/chat/handler.rs | 8 | ||||
| -rw-r--r-- | azalea-crypto/Cargo.toml | 5 | ||||
| -rw-r--r-- | azalea-crypto/src/lib.rs | 18 | ||||
| -rw-r--r-- | azalea-protocol/Cargo.toml | 2 | ||||
| -rw-r--r-- | azalea-protocol/src/packets/game/c_player_chat.rs | 2 | ||||
| -rw-r--r-- | azalea-protocol/src/packets/game/s_chat.rs | 2 | ||||
| -rw-r--r-- | azalea-protocol/src/packets/game/s_chat_command_signed.rs | 2 |
7 files changed, 28 insertions, 11 deletions
diff --git a/azalea-client/src/plugins/chat/handler.rs b/azalea-client/src/plugins/chat/handler.rs index 49f27209..626ce7c2 100644 --- a/azalea-client/src/plugins/chat/handler.rs +++ b/azalea-client/src/plugins/chat/handler.rs @@ -46,7 +46,7 @@ pub fn handle_send_chat_kind_event( let packet = match event.kind { ChatKind::Message => { - let salt = azalea_crypto::make_salt(); + let salt = azalea_crypto::signing::make_salt(); #[cfg(feature = "online-mode")] let signature = if let Ok((account, mut chat_session)) = query.get_mut(event.entity) @@ -96,13 +96,13 @@ pub fn create_signature( salt: u64, timestamp: SystemTime, message: &str, -) -> azalea_crypto::MessageSignature { - use azalea_crypto::SignChatMessageOptions; +) -> azalea_crypto::signing::MessageSignature { + use azalea_crypto::signing::SignChatMessageOptions; let certs = account.certs.lock(); let certs = certs.as_ref().expect("certs shouldn't be set back to None"); - let signature = azalea_crypto::sign_chat_message(&SignChatMessageOptions { + let signature = azalea_crypto::signing::sign_chat_message(&SignChatMessageOptions { account_uuid: account.uuid.expect("account must have a uuid"), chat_session_uuid: chat_session.session_id, message_index: chat_session.messages_sent, diff --git a/azalea-crypto/Cargo.toml b/azalea-crypto/Cargo.toml index 4fc966d9..1d992b50 100644 --- a/azalea-crypto/Cargo.toml +++ b/azalea-crypto/Cargo.toml @@ -11,7 +11,7 @@ criterion.workspace = true [dependencies] aes.workspace = true -azalea-buf.workspace = true +azalea-buf = { workspace = true, optional = true } cfb8.workspace = true num-bigint.workspace = true rand = { workspace = true, features = ["os_rng"] } @@ -22,6 +22,9 @@ sha2.workspace = true uuid.workspace = true md-5.workspace = true +[features] +signing = ["dep:azalea-buf"] + [[bench]] harness = false name = "my_benchmark" diff --git a/azalea-crypto/src/lib.rs b/azalea-crypto/src/lib.rs index da10f530..539461e5 100644 --- a/azalea-crypto/src/lib.rs +++ b/azalea-crypto/src/lib.rs @@ -1,7 +1,8 @@ #![doc = include_str!("../README.md")] pub mod offline; -mod signing; +#[cfg(feature = "signing")] +pub mod signing; use aes::{ Aes128, @@ -9,7 +10,20 @@ use aes::{ }; use rand::{TryRngCore, rngs::OsRng}; use sha1::{Digest, Sha1}; -pub use signing::*; + +#[cfg(feature = "signing")] +#[deprecated = "moved to `signing::MessageSignature`."] +pub type MessageSignature = signing::MessageSignature; + +#[cfg(feature = "signing")] +#[deprecated = "moved to `signing::SignChatMessageOptions`."] +pub type SignChatMessageOptions = signing::SignChatMessageOptions; + +#[cfg(feature = "signing")] +#[deprecated = "moved to `signing::make_salt`."] +pub fn make_salt() -> u64 { + signing::make_salt() +} fn generate_secret_key() -> [u8; 16] { let mut key = [0u8; 16]; diff --git a/azalea-protocol/Cargo.toml b/azalea-protocol/Cargo.toml index 4128faae..42507901 100644 --- a/azalea-protocol/Cargo.toml +++ b/azalea-protocol/Cargo.toml @@ -18,7 +18,7 @@ azalea-brigadier = { workspace = true, features = ["azalea-buf"] } azalea-buf.workspace = true azalea-chat = { workspace = true, features = ["numbers", "azalea-buf"] } azalea-core = { workspace = true, optional = true } -azalea-crypto.workspace = true +azalea-crypto = { workspace = true, features = ["signing"] } azalea-entity.workspace = true azalea-inventory.workspace = true azalea-protocol-macros.workspace = true diff --git a/azalea-protocol/src/packets/game/c_player_chat.rs b/azalea-protocol/src/packets/game/c_player_chat.rs index 75683c21..f3201e3f 100644 --- a/azalea-protocol/src/packets/game/c_player_chat.rs +++ b/azalea-protocol/src/packets/game/c_player_chat.rs @@ -6,7 +6,7 @@ use azalea_chat::{ translatable_component::{PrimitiveOrComponent, TranslatableComponent}, }; use azalea_core::bitset::BitSet; -use azalea_crypto::MessageSignature; +use azalea_crypto::signing::MessageSignature; use azalea_protocol_macros::ClientboundGamePacket; use azalea_registry::Holder; use simdnbt::owned::NbtCompound; diff --git a/azalea-protocol/src/packets/game/s_chat.rs b/azalea-protocol/src/packets/game/s_chat.rs index 3abe7da9..3b881181 100644 --- a/azalea-protocol/src/packets/game/s_chat.rs +++ b/azalea-protocol/src/packets/game/s_chat.rs @@ -1,6 +1,6 @@ use azalea_buf::AzBuf; use azalea_core::bitset::FixedBitSet; -use azalea_crypto::MessageSignature; +use azalea_crypto::signing::MessageSignature; use azalea_protocol_macros::ServerboundGamePacket; #[derive(Clone, Debug, AzBuf, PartialEq, ServerboundGamePacket)] diff --git a/azalea-protocol/src/packets/game/s_chat_command_signed.rs b/azalea-protocol/src/packets/game/s_chat_command_signed.rs index 38a9b9f4..f45f92c8 100644 --- a/azalea-protocol/src/packets/game/s_chat_command_signed.rs +++ b/azalea-protocol/src/packets/game/s_chat_command_signed.rs @@ -1,5 +1,5 @@ use azalea_buf::AzBuf; -use azalea_crypto::MessageSignature; +use azalea_crypto::signing::MessageSignature; use azalea_protocol_macros::ServerboundGamePacket; use super::s_chat::LastSeenMessagesUpdate; |
