@@ -3,7 +3,7 @@ use std::io::{Cursor, Read};
33use std:: time:: { Duration , SystemTime , UNIX_EPOCH } ;
44
55use aes:: {
6- cipher:: { generic_array :: GenericArray , BlockEncrypt } ,
6+ cipher:: BlockEncrypt ,
77 Aes128 , Block ,
88} ;
99use anyhow:: Result ;
@@ -143,7 +143,7 @@ impl MeshPacket {
143143 }
144144
145145 fn calculate_mic ( & self , key : Aes128Key ) -> Result < [ u8 ; 4 ] > {
146- let mut mac = Cmac :: < Aes128 > :: new_from_slice ( & key. to_bytes ( ) ) . unwrap ( ) ;
146+ let mut mac = < Cmac < Aes128 > as Mac >:: new_from_slice ( & key. to_bytes ( ) ) . unwrap ( ) ;
147147 mac. update ( & self . mic_bytes ( ) ?) ;
148148 let cmac_f = mac. finalize ( ) . into_bytes ( ) ;
149149 // sanity Check
@@ -933,22 +933,21 @@ pub fn encrypt_events_commands(
933933 let timestamp = timestamp. duration_since ( UNIX_EPOCH ) ?. as_secs ( ) as u32 ;
934934
935935 let key_bytes = key. to_bytes ( ) ;
936- let key = GenericArray :: from_slice ( & key_bytes) ;
937- let cipher = Aes128 :: new ( key) ;
936+ let cipher = Aes128 :: new_from_slice ( & key_bytes) . expect ( "Invalid key length" ) ;
938937
939- let mut a = vec ! [ 0 ; 16 ] ;
938+ let mut a = [ 0u8 ; 16 ] ;
940939 a[ 0 ] = 0x01 ;
941940 if is_command {
942941 a[ 5 ] = 0x01 ;
943942 }
944- a[ 6 ..10 ] . clone_from_slice ( relay_id) ;
945- a[ 10 ..14 ] . clone_from_slice ( & timestamp. to_be_bytes ( ) ) ;
943+ a[ 6 ..10 ] . copy_from_slice ( relay_id) ;
944+ a[ 10 ..14 ] . copy_from_slice ( & timestamp. to_be_bytes ( ) ) ;
946945
947946 // Encrypt blocks
948947 for i in 0 ..( b. len ( ) / 16 ) {
949948 a[ 15 ] = ( i + 1 ) as u8 ;
950949
951- let mut block = Block :: clone_from_slice ( & a) ;
950+ let mut block = Block :: from ( a) ;
952951 cipher. encrypt_block ( & mut block) ;
953952
954953 for j in 0 ..16 {
0 commit comments