Update bincode to v2.0.0-rc3 (#109)
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				continuous-integration/drone/push Build is passing
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	continuous-integration/drone/push Build is passing
				
			Prepare for the next major update of bincode Reviewed-on: #109
This commit is contained in:
		
							
								
								
									
										73
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										73
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							@@ -350,9 +350,9 @@ dependencies = [
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "anstream"
 | 
					name = "anstream"
 | 
				
			||||||
version = "0.3.0"
 | 
					version = "0.3.1"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "9e579a7752471abc2a8268df8b20005e3eadd975f585398f17efcfd8d4927371"
 | 
					checksum = "6342bd4f5a1205d7f41e94a41a901f5647c938cdfa96036338e8533c9d6c2450"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "anstyle",
 | 
					 "anstyle",
 | 
				
			||||||
 "anstyle-parse",
 | 
					 "anstyle-parse",
 | 
				
			||||||
@@ -389,9 +389,9 @@ dependencies = [
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "anstyle-wincon"
 | 
					name = "anstyle-wincon"
 | 
				
			||||||
version = "1.0.0"
 | 
					version = "1.0.1"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "4bcd8291a340dd8ac70e18878bc4501dd7b4ff970cfa21c207d36ece51ea88fd"
 | 
					checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "anstyle",
 | 
					 "anstyle",
 | 
				
			||||||
 "windows-sys 0.48.0",
 | 
					 "windows-sys 0.48.0",
 | 
				
			||||||
@@ -604,13 +604,23 @@ dependencies = [
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "bincode"
 | 
					name = "bincode"
 | 
				
			||||||
version = "1.3.3"
 | 
					version = "2.0.0-rc.3"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
 | 
					checksum = "f11ea1a0346b94ef188834a65c068a03aec181c94896d481d7a0a40d85b0ce95"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "bincode_derive",
 | 
				
			||||||
 "serde",
 | 
					 "serde",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "bincode_derive"
 | 
				
			||||||
 | 
					version = "2.0.0-rc.3"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "7e30759b3b99a1b802a7a3aa21c85c3ded5c28e1c83170d82d70f08bbf7f3e4c"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "virtue",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "binstring"
 | 
					name = "binstring"
 | 
				
			||||||
version = "0.1.1"
 | 
					version = "0.1.1"
 | 
				
			||||||
@@ -738,9 +748,9 @@ dependencies = [
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "clap"
 | 
					name = "clap"
 | 
				
			||||||
version = "4.2.4"
 | 
					version = "4.2.5"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "956ac1f6381d8d82ab4684768f89c0ea3afe66925ceadb4eeb3fc452ffc55d62"
 | 
					checksum = "8a1f23fa97e1d1641371b51f35535cb26959b8e27ab50d167a8b996b5bada819"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "clap_builder",
 | 
					 "clap_builder",
 | 
				
			||||||
 "clap_derive",
 | 
					 "clap_derive",
 | 
				
			||||||
@@ -749,9 +759,9 @@ dependencies = [
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "clap_builder"
 | 
					name = "clap_builder"
 | 
				
			||||||
version = "4.2.4"
 | 
					version = "4.2.5"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "84080e799e54cff944f4b4a4b0e71630b0e0443b25b985175c7dddc1a859b749"
 | 
					checksum = "0fdc5d93c358224b4d6867ef1356d740de2303e9892edc06c5340daeccd96bab"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "anstream",
 | 
					 "anstream",
 | 
				
			||||||
 "anstyle",
 | 
					 "anstyle",
 | 
				
			||||||
@@ -1754,9 +1764,9 @@ dependencies = [
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "linux-raw-sys"
 | 
					name = "linux-raw-sys"
 | 
				
			||||||
version = "0.3.4"
 | 
					version = "0.3.5"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "36eb31c1778188ae1e64398743890d0877fef36d11521ac60406b42016e8c2cf"
 | 
					checksum = "2e8776872cdc2f073ccaab02e336fa321328c1e02646ebcb9d2108d0baab480d"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "local-channel"
 | 
					name = "local-channel"
 | 
				
			||||||
@@ -1985,9 +1995,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "openssl"
 | 
					name = "openssl"
 | 
				
			||||||
version = "0.10.51"
 | 
					version = "0.10.52"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "97ea2d98598bf9ada7ea6ee8a30fb74f9156b63bbe495d64ec2b87c269d2dda3"
 | 
					checksum = "01b8574602df80f7b85fdfc5392fa884a4e3b3f4f35402c070ab34c3d3f78d56"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "bitflags",
 | 
					 "bitflags",
 | 
				
			||||||
 "cfg-if",
 | 
					 "cfg-if",
 | 
				
			||||||
@@ -2017,9 +2027,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "openssl-sys"
 | 
					name = "openssl-sys"
 | 
				
			||||||
version = "0.9.86"
 | 
					version = "0.9.87"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "992bac49bdbab4423199c654a5515bd2a6c6a23bf03f2dd3bdb7e5ae6259bc69"
 | 
					checksum = "8e17f59264b2809d77ae94f0e1ebabc434773f370d6ca667bd223ea10e06cc7e"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "cc",
 | 
					 "cc",
 | 
				
			||||||
 "libc",
 | 
					 "libc",
 | 
				
			||||||
@@ -2379,9 +2389,9 @@ dependencies = [
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "rustix"
 | 
					name = "rustix"
 | 
				
			||||||
version = "0.37.14"
 | 
					version = "0.37.15"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "d9b864d3c18a5785a05953adeed93e2dca37ed30f18e69bba9f30079d51f363f"
 | 
					checksum = "a0661814f891c57c930a610266415528da53c4933e6dea5fb350cbfe048a9ece"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "bitflags",
 | 
					 "bitflags",
 | 
				
			||||||
 "errno",
 | 
					 "errno",
 | 
				
			||||||
@@ -2768,9 +2778,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "tokio"
 | 
					name = "tokio"
 | 
				
			||||||
version = "1.27.0"
 | 
					version = "1.28.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "d0de47a4eecbe11f498978a9b29d792f0d2692d1dd003650c24c76510e3bc001"
 | 
					checksum = "c3c786bf8134e5a3a166db9b29ab8f48134739014a3eca7bc6bfa95d673b136f"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "autocfg",
 | 
					 "autocfg",
 | 
				
			||||||
 "bytes",
 | 
					 "bytes",
 | 
				
			||||||
@@ -2780,7 +2790,7 @@ dependencies = [
 | 
				
			|||||||
 "pin-project-lite",
 | 
					 "pin-project-lite",
 | 
				
			||||||
 "signal-hook-registry",
 | 
					 "signal-hook-registry",
 | 
				
			||||||
 "socket2",
 | 
					 "socket2",
 | 
				
			||||||
 "windows-sys 0.45.0",
 | 
					 "windows-sys 0.48.0",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
@@ -2795,9 +2805,9 @@ dependencies = [
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "tokio-util"
 | 
					name = "tokio-util"
 | 
				
			||||||
version = "0.7.7"
 | 
					version = "0.7.8"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2"
 | 
					checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "bytes",
 | 
					 "bytes",
 | 
				
			||||||
 "futures-core",
 | 
					 "futures-core",
 | 
				
			||||||
@@ -2824,11 +2834,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "tracing"
 | 
					name = "tracing"
 | 
				
			||||||
version = "0.1.37"
 | 
					version = "0.1.38"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
 | 
					checksum = "cf9cf6a813d3f40c88b0b6b6f29a5c95c6cdbf97c1f9cc53fb820200f5ad814d"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "cfg-if",
 | 
					 | 
				
			||||||
 "log",
 | 
					 "log",
 | 
				
			||||||
 "pin-project-lite",
 | 
					 "pin-project-lite",
 | 
				
			||||||
 "tracing-attributes",
 | 
					 "tracing-attributes",
 | 
				
			||||||
@@ -2837,13 +2846,13 @@ dependencies = [
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "tracing-attributes"
 | 
					name = "tracing-attributes"
 | 
				
			||||||
version = "0.1.23"
 | 
					version = "0.1.24"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a"
 | 
					checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "proc-macro2",
 | 
					 "proc-macro2",
 | 
				
			||||||
 "quote",
 | 
					 "quote",
 | 
				
			||||||
 "syn 1.0.109",
 | 
					 "syn 2.0.15",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
@@ -2983,6 +2992,12 @@ version = "0.9.4"
 | 
				
			|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 | 
					checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "virtue"
 | 
				
			||||||
 | 
					version = "0.0.13"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "9dcc60c0624df774c82a0ef104151231d37da4962957d691c011c852b2473314"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "want"
 | 
					name = "want"
 | 
				
			||||||
version = "0.3.0"
 | 
					version = "0.3.0"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -35,7 +35,7 @@ qrcode-generator = "4.1.8"
 | 
				
			|||||||
webauthn-rs = { version = "0.4.8", features = ["danger-allow-state-serialisation"] }
 | 
					webauthn-rs = { version = "0.4.8", features = ["danger-allow-state-serialisation"] }
 | 
				
			||||||
url = "2.3.1"
 | 
					url = "2.3.1"
 | 
				
			||||||
aes-gcm = { version = "0.10.1", features = ["aes"] }
 | 
					aes-gcm = { version = "0.10.1", features = ["aes"] }
 | 
				
			||||||
bincode = "1.3.3"
 | 
					bincode = "2.0.0-rc.3"
 | 
				
			||||||
chrono = "0.4.24"
 | 
					chrono = "0.4.24"
 | 
				
			||||||
lazy_static = "1.4.0"
 | 
					lazy_static = "1.4.0"
 | 
				
			||||||
reqwest = { version = "0.11.16", features = ["json"] }
 | 
					reqwest = { version = "0.11.16", features = ["json"] }
 | 
				
			||||||
@@ -4,9 +4,8 @@ use aes_gcm::aead::{Aead, OsRng};
 | 
				
			|||||||
use aes_gcm::{Aes256Gcm, Key, KeyInit, Nonce};
 | 
					use aes_gcm::{Aes256Gcm, Key, KeyInit, Nonce};
 | 
				
			||||||
use base64::engine::general_purpose::STANDARD as BASE64_STANDARD;
 | 
					use base64::engine::general_purpose::STANDARD as BASE64_STANDARD;
 | 
				
			||||||
use base64::Engine as _;
 | 
					use base64::Engine as _;
 | 
				
			||||||
 | 
					use bincode::{Decode, Encode};
 | 
				
			||||||
use rand::Rng;
 | 
					use rand::Rng;
 | 
				
			||||||
use serde::de::DeserializeOwned;
 | 
					 | 
				
			||||||
use serde::Serialize;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
use crate::utils::err::Res;
 | 
					use crate::utils::err::Res;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -25,11 +24,11 @@ impl CryptoWrapper {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /// Encrypt some data
 | 
					    /// Encrypt some data
 | 
				
			||||||
    pub fn encrypt<T: Serialize + DeserializeOwned>(&self, data: &T) -> Res<String> {
 | 
					    pub fn encrypt<T: Encode + Decode>(&self, data: &T) -> Res<String> {
 | 
				
			||||||
        let aes_key = Aes256Gcm::new(&self.key);
 | 
					        let aes_key = Aes256Gcm::new(&self.key);
 | 
				
			||||||
        let nonce_bytes = rand::thread_rng().gen::<[u8; NONCE_LEN]>();
 | 
					        let nonce_bytes = rand::thread_rng().gen::<[u8; NONCE_LEN]>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let serialized_data = bincode::serialize(data)?;
 | 
					        let serialized_data = bincode::encode_to_vec(data, bincode::config::standard())?;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let mut enc = aes_key
 | 
					        let mut enc = aes_key
 | 
				
			||||||
            .encrypt(Nonce::from_slice(&nonce_bytes), serialized_data.as_slice())
 | 
					            .encrypt(Nonce::from_slice(&nonce_bytes), serialized_data.as_slice())
 | 
				
			||||||
@@ -40,7 +39,7 @@ impl CryptoWrapper {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /// Decrypt some data previously encrypted using the [`CryptoWrapper::encrypt`] method
 | 
					    /// Decrypt some data previously encrypted using the [`CryptoWrapper::encrypt`] method
 | 
				
			||||||
    pub fn decrypt<T: DeserializeOwned>(&self, input: &str) -> Res<T> {
 | 
					    pub fn decrypt<T: Decode>(&self, input: &str) -> Res<T> {
 | 
				
			||||||
        let bytes = BASE64_STANDARD.decode(input)?;
 | 
					        let bytes = BASE64_STANDARD.decode(input)?;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if bytes.len() < NONCE_LEN {
 | 
					        if bytes.len() < NONCE_LEN {
 | 
				
			||||||
@@ -66,15 +65,16 @@ impl CryptoWrapper {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Ok(bincode::deserialize(&dec)?)
 | 
					        Ok(bincode::decode_from_slice(&dec, bincode::config::standard())?.0)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[cfg(test)]
 | 
					#[cfg(test)]
 | 
				
			||||||
mod test {
 | 
					mod test {
 | 
				
			||||||
    use crate::data::crypto_wrapper::CryptoWrapper;
 | 
					    use crate::data::crypto_wrapper::CryptoWrapper;
 | 
				
			||||||
 | 
					    use bincode::{Decode, Encode};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    #[derive(serde::Serialize, serde::Deserialize, Eq, PartialEq, Debug)]
 | 
					    #[derive(Encode, Decode, Eq, PartialEq, Debug)]
 | 
				
			||||||
    struct Message(String);
 | 
					    struct Message(String);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    #[test]
 | 
					    #[test]
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,4 @@
 | 
				
			|||||||
 | 
					use bincode::{Decode, Encode};
 | 
				
			||||||
use std::collections::HashMap;
 | 
					use std::collections::HashMap;
 | 
				
			||||||
use std::net::IpAddr;
 | 
					use std::net::IpAddr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -10,7 +11,7 @@ use crate::data::totp_key::TotpKey;
 | 
				
			|||||||
use crate::data::webauthn_manager::WebauthnPubKey;
 | 
					use crate::data::webauthn_manager::WebauthnPubKey;
 | 
				
			||||||
use crate::utils::time::{fmt_time, time};
 | 
					use crate::utils::time::{fmt_time, time};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[derive(Clone, Debug, Eq, PartialEq, serde::Serialize, serde::Deserialize)]
 | 
					#[derive(Clone, Debug, Eq, PartialEq, serde::Serialize, serde::Deserialize, Encode, Decode)]
 | 
				
			||||||
pub struct UserID(pub String);
 | 
					pub struct UserID(pub String);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[derive(Debug, Clone)]
 | 
					#[derive(Debug, Clone)]
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,6 +2,7 @@ use std::io::ErrorKind;
 | 
				
			|||||||
use std::sync::Arc;
 | 
					use std::sync::Arc;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use actix_web::web;
 | 
					use actix_web::web;
 | 
				
			||||||
 | 
					use bincode::{Decode, Encode};
 | 
				
			||||||
use uuid::Uuid;
 | 
					use uuid::Uuid;
 | 
				
			||||||
use webauthn_rs::prelude::{
 | 
					use webauthn_rs::prelude::{
 | 
				
			||||||
    CreationChallengeResponse, Passkey, PublicKeyCredential, RegisterPublicKeyCredential,
 | 
					    CreationChallengeResponse, Passkey, PublicKeyCredential, RegisterPublicKeyCredential,
 | 
				
			||||||
@@ -28,7 +29,7 @@ pub struct RegisterKeyRequest {
 | 
				
			|||||||
    pub creation_challenge: CreationChallengeResponse,
 | 
					    pub creation_challenge: CreationChallengeResponse,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
 | 
					#[derive(Debug, serde::Serialize, serde::Deserialize, Encode, Decode)]
 | 
				
			||||||
struct RegisterKeyOpaqueData {
 | 
					struct RegisterKeyOpaqueData {
 | 
				
			||||||
    registration_state: String,
 | 
					    registration_state: String,
 | 
				
			||||||
    user_id: UserID,
 | 
					    user_id: UserID,
 | 
				
			||||||
@@ -40,7 +41,7 @@ pub struct AuthRequest {
 | 
				
			|||||||
    pub login_challenge: RequestChallengeResponse,
 | 
					    pub login_challenge: RequestChallengeResponse,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
 | 
					#[derive(Debug, Encode, Decode)]
 | 
				
			||||||
struct AuthStateOpaqueData {
 | 
					struct AuthStateOpaqueData {
 | 
				
			||||||
    authentication_state: String,
 | 
					    authentication_state: String,
 | 
				
			||||||
    user_id: UserID,
 | 
					    user_id: UserID,
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user