diff options
| author | mat <27899617+mat-1@users.noreply.github.com> | 2022-07-29 04:56:21 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-29 04:56:21 +0000 |
| commit | aadf2de3cb751d563e743599a7fb345c08010f5a (patch) | |
| tree | aec2a9485c5057f1c148b87e23ee07a7a6b4978b /azalea-crypto | |
| parent | 3e43fc6c502573f9d48d801087e72cded37a30b8 (diff) | |
| parent | 2211021105a7ce0ce9fcbc18f3b4f03b0f991a10 (diff) | |
| download | azalea-drasl-aadf2de3cb751d563e743599a7fb345c08010f5a.tar.xz | |
Merge pull request #8 from mat-1/1.19.1
Support 1.19.1. Signing stuff isn't implemented but auth isn't even in Azalea yet so that's fine.
Diffstat (limited to 'azalea-crypto')
| -rw-r--r-- | azalea-crypto/Cargo.toml | 1 | ||||
| -rw-r--r-- | azalea-crypto/src/lib.rs | 2 | ||||
| -rw-r--r-- | azalea-crypto/src/signing.rs | 25 |
3 files changed, 12 insertions, 16 deletions
diff --git a/azalea-crypto/Cargo.toml b/azalea-crypto/Cargo.toml index ee652565..7b77eb3b 100644 --- a/azalea-crypto/Cargo.toml +++ b/azalea-crypto/Cargo.toml @@ -13,3 +13,4 @@ num-bigint = "^0.4.3" rand = {version = "^0.8.4", features = ["getrandom"]} rsa_public_encrypt_pkcs1 = "0.4.0" sha-1 = "^0.10.0" +uuid = "^1.1.2" diff --git a/azalea-crypto/src/lib.rs b/azalea-crypto/src/lib.rs index a5e797e8..9a17a472 100644 --- a/azalea-crypto/src/lib.rs +++ b/azalea-crypto/src/lib.rs @@ -7,7 +7,7 @@ use aes::{ }; use rand::{rngs::OsRng, RngCore}; use sha1::{Digest, Sha1}; -pub use signing::SaltSignaturePair; +pub use signing::*; fn generate_secret_key() -> [u8; 16] { let mut key = [0u8; 16]; diff --git a/azalea-crypto/src/signing.rs b/azalea-crypto/src/signing.rs index 535f9f1d..3bad08c9 100644 --- a/azalea-crypto/src/signing.rs +++ b/azalea-crypto/src/signing.rs @@ -1,24 +1,19 @@ -use azalea_buf::{McBufReadable, McBufWritable}; -use std::io::{Read, Write}; +use azalea_buf::McBuf; +use uuid::Uuid; -#[derive(Debug, Clone)] +#[derive(Debug, Clone, McBuf)] pub struct SaltSignaturePair { pub salt: u64, pub signature: Vec<u8>, } -impl McBufReadable for SaltSignaturePair { - fn read_from(buf: &mut impl Read) -> Result<Self, String> { - let salt = u64::read_from(buf)?; - let signature = Vec::<u8>::read_from(buf)?; - Ok(SaltSignaturePair { salt, signature }) - } +#[derive(Clone, Debug, Default, McBuf)] +pub struct MessageSignature { + pub bytes: Vec<u8>, } -impl McBufWritable for SaltSignaturePair { - fn write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> { - self.salt.write_into(buf)?; - self.signature.write_into(buf)?; - Ok(()) - } +#[derive(Clone, Debug, McBuf)] +pub struct SignedMessageHeader { + pub previous_signature: Option<MessageSignature>, + pub sender: Uuid, } |
