mirror of
				https://github.com/nitnelave/lldap.git
				synced 2023-04-12 14:25:13 +00:00 
			
		
		
		
	Merge be1a33c896 into dcca768b6c
				
					
				
			This commit is contained in:
		
						commit
						0774bf156e
					
				
							
								
								
									
										1
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							@ -2383,6 +2383,7 @@ dependencies = [
 | 
				
			|||||||
 "opaque-ke",
 | 
					 "opaque-ke",
 | 
				
			||||||
 "orion",
 | 
					 "orion",
 | 
				
			||||||
 "rand 0.8.5",
 | 
					 "rand 0.8.5",
 | 
				
			||||||
 | 
					 "rand_chacha 0.3.1",
 | 
				
			||||||
 "reqwest",
 | 
					 "reqwest",
 | 
				
			||||||
 "rustls",
 | 
					 "rustls",
 | 
				
			||||||
 "rustls-pemfile",
 | 
					 "rustls-pemfile",
 | 
				
			||||||
 | 
				
			|||||||
@ -31,6 +31,7 @@ lber = "0.4.1"
 | 
				
			|||||||
ldap3_proto = ">=0.3.1"
 | 
					ldap3_proto = ">=0.3.1"
 | 
				
			||||||
log = "*"
 | 
					log = "*"
 | 
				
			||||||
orion = "0.17"
 | 
					orion = "0.17"
 | 
				
			||||||
 | 
					rand_chacha = "0.3"
 | 
				
			||||||
rustls-pemfile = "1"
 | 
					rustls-pemfile = "1"
 | 
				
			||||||
serde = "*"
 | 
					serde = "*"
 | 
				
			||||||
serde_bytes = "0.11"
 | 
					serde_bytes = "0.11"
 | 
				
			||||||
 | 
				
			|||||||
@ -157,6 +157,18 @@ fn write_to_readonly_file(path: &std::path::Path, buffer: &[u8]) -> Result<()> {
 | 
				
			|||||||
fn get_server_setup(file_path: &str) -> Result<ServerSetup> {
 | 
					fn get_server_setup(file_path: &str) -> Result<ServerSetup> {
 | 
				
			||||||
    use std::fs::read;
 | 
					    use std::fs::read;
 | 
				
			||||||
    let path = std::path::Path::new(file_path);
 | 
					    let path = std::path::Path::new(file_path);
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        let hash = |val: &[u8]| -> [u8; 32] {
 | 
				
			||||||
 | 
					            use sha2::{Digest, Sha256};
 | 
				
			||||||
 | 
					            let mut seed_hasher = Sha256::new();
 | 
				
			||||||
 | 
					            seed_hasher.update(val);
 | 
				
			||||||
 | 
					            seed_hasher.finalize().into()
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        use rand::SeedableRng;
 | 
				
			||||||
 | 
					        let mut rng = rand_chacha::ChaCha20Rng::from_seed(hash(b"random seed"));
 | 
				
			||||||
 | 
					        let setup = bincode::serialize(&ServerSetup::new(&mut rng)).unwrap();
 | 
				
			||||||
 | 
					        dbg!(hash(&setup));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    if path.exists() {
 | 
					    if path.exists() {
 | 
				
			||||||
        let bytes = read(file_path).context(format!("Could not read key file `{}`", file_path))?;
 | 
					        let bytes = read(file_path).context(format!("Could not read key file `{}`", file_path))?;
 | 
				
			||||||
        Ok(ServerSetup::deserialize(&bytes)?)
 | 
					        Ok(ServerSetup::deserialize(&bytes)?)
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user