aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormat <git@matdoes.dev>2025-12-09 03:37:22 +0100
committermat <git@matdoes.dev>2025-12-09 03:37:22 +0100
commit676707aab320339b4c7406ee4f494b530f44e926 (patch)
tree52ae7e2462351beb11984c3e8a8c4dd5ce62de76
parentba3a88336a074f902667d3e13471af62b431da04 (diff)
downloadazalea-drasl-676707aab320339b4c7406ee4f494b530f44e926.tar.xz
make signing module optional in azalea-crypto
-rw-r--r--azalea-client/src/plugins/chat/handler.rs8
-rw-r--r--azalea-crypto/Cargo.toml5
-rw-r--r--azalea-crypto/src/lib.rs18
-rw-r--r--azalea-protocol/Cargo.toml2
-rw-r--r--azalea-protocol/src/packets/game/c_player_chat.rs2
-rw-r--r--azalea-protocol/src/packets/game/s_chat.rs2
-rw-r--r--azalea-protocol/src/packets/game/s_chat_command_signed.rs2
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;