mirror of
				https://github.com/nitnelave/lldap.git
				synced 2023-04-12 14:25:13 +00:00 
			
		
		
		
	ldap: generate uuid attribute
This commit is contained in:
		
							parent
							
								
									733d363e25
								
							
						
					
					
						commit
						00ddc827f2
					
				
							
								
								
									
										86
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										86
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							@ -512,6 +512,15 @@ dependencies = [
 | 
				
			|||||||
 "generic-array",
 | 
					 "generic-array",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "block-buffer"
 | 
				
			||||||
 | 
					version = "0.10.2"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "generic-array",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "boolinator"
 | 
					name = "boolinator"
 | 
				
			||||||
version = "2.4.0"
 | 
					version = "2.4.0"
 | 
				
			||||||
@ -552,7 +561,7 @@ dependencies = [
 | 
				
			|||||||
 "rand 0.7.3",
 | 
					 "rand 0.7.3",
 | 
				
			||||||
 "serde",
 | 
					 "serde",
 | 
				
			||||||
 "serde_json",
 | 
					 "serde_json",
 | 
				
			||||||
 "uuid",
 | 
					 "uuid 0.8.2",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
@ -831,6 +840,16 @@ dependencies = [
 | 
				
			|||||||
 "winapi",
 | 
					 "winapi",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "crypto-common"
 | 
				
			||||||
 | 
					version = "0.1.3"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "generic-array",
 | 
				
			||||||
 | 
					 "typenum",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "crypto-mac"
 | 
					name = "crypto-mac"
 | 
				
			||||||
version = "0.10.1"
 | 
					version = "0.10.1"
 | 
				
			||||||
@ -864,7 +883,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			|||||||
checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61"
 | 
					checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "byteorder",
 | 
					 "byteorder",
 | 
				
			||||||
 "digest",
 | 
					 "digest 0.9.0",
 | 
				
			||||||
 "rand_core 0.5.1",
 | 
					 "rand_core 0.5.1",
 | 
				
			||||||
 "serde",
 | 
					 "serde",
 | 
				
			||||||
 "subtle",
 | 
					 "subtle",
 | 
				
			||||||
@ -976,6 +995,16 @@ dependencies = [
 | 
				
			|||||||
 "generic-array",
 | 
					 "generic-array",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "digest"
 | 
				
			||||||
 | 
					version = "0.10.3"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "block-buffer 0.10.2",
 | 
				
			||||||
 | 
					 "crypto-common",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "discard"
 | 
					name = "discard"
 | 
				
			||||||
version = "1.0.4"
 | 
					version = "1.0.4"
 | 
				
			||||||
@ -1485,7 +1514,7 @@ version = "0.11.0"
 | 
				
			|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "01706d578d5c281058480e673ae4086a9f4710d8df1ad80a5b03e39ece5f886b"
 | 
					checksum = "01706d578d5c281058480e673ae4086a9f4710d8df1ad80a5b03e39ece5f886b"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "digest",
 | 
					 "digest 0.9.0",
 | 
				
			||||||
 "hmac 0.11.0",
 | 
					 "hmac 0.11.0",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1496,7 +1525,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			|||||||
checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15"
 | 
					checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "crypto-mac 0.10.1",
 | 
					 "crypto-mac 0.10.1",
 | 
				
			||||||
 "digest",
 | 
					 "digest 0.9.0",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
@ -1506,7 +1535,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			|||||||
checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b"
 | 
					checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "crypto-mac 0.11.1",
 | 
					 "crypto-mac 0.11.1",
 | 
				
			||||||
 "digest",
 | 
					 "digest 0.9.0",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
@ -1704,7 +1733,7 @@ dependencies = [
 | 
				
			|||||||
 "smartstring",
 | 
					 "smartstring",
 | 
				
			||||||
 "static_assertions",
 | 
					 "static_assertions",
 | 
				
			||||||
 "url",
 | 
					 "url",
 | 
				
			||||||
 "uuid",
 | 
					 "uuid 0.8.2",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
@ -1746,7 +1775,7 @@ checksum = "86e46349d67dc03bdbdb28da0337a355a53ca1d5156452722c36fe21d0e6389b"
 | 
				
			|||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "base64",
 | 
					 "base64",
 | 
				
			||||||
 "crypto-mac 0.10.1",
 | 
					 "crypto-mac 0.10.1",
 | 
				
			||||||
 "digest",
 | 
					 "digest 0.9.0",
 | 
				
			||||||
 "hmac 0.10.1",
 | 
					 "hmac 0.10.1",
 | 
				
			||||||
 "serde",
 | 
					 "serde",
 | 
				
			||||||
 "serde_json",
 | 
					 "serde_json",
 | 
				
			||||||
@ -1939,6 +1968,7 @@ dependencies = [
 | 
				
			|||||||
 "tracing-actix-web",
 | 
					 "tracing-actix-web",
 | 
				
			||||||
 "tracing-log",
 | 
					 "tracing-log",
 | 
				
			||||||
 "tracing-subscriber",
 | 
					 "tracing-subscriber",
 | 
				
			||||||
 | 
					 "uuid 1.1.1",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
@ -1971,7 +2001,7 @@ version = "0.3.0-alpha.1"
 | 
				
			|||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "chrono",
 | 
					 "chrono",
 | 
				
			||||||
 "curve25519-dalek",
 | 
					 "curve25519-dalek",
 | 
				
			||||||
 "digest",
 | 
					 "digest 0.9.0",
 | 
				
			||||||
 "generic-array",
 | 
					 "generic-array",
 | 
				
			||||||
 "getrandom 0.2.3",
 | 
					 "getrandom 0.2.3",
 | 
				
			||||||
 "opaque-ke",
 | 
					 "opaque-ke",
 | 
				
			||||||
@ -2042,11 +2072,20 @@ version = "0.9.1"
 | 
				
			|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "7b5a279bb9607f9f53c22d496eade00d138d1bdcccd07d74650387cf94942a15"
 | 
					checksum = "7b5a279bb9607f9f53c22d496eade00d138d1bdcccd07d74650387cf94942a15"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "block-buffer",
 | 
					 "block-buffer 0.9.0",
 | 
				
			||||||
 "digest",
 | 
					 "digest 0.9.0",
 | 
				
			||||||
 "opaque-debug",
 | 
					 "opaque-debug",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "md-5"
 | 
				
			||||||
 | 
					version = "0.10.1"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "658646b21e0b72f7866c7038ab086d3d5e1cd6271f060fd37defb241949d0582"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "digest 0.10.3",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "memchr"
 | 
					name = "memchr"
 | 
				
			||||||
version = "2.4.1"
 | 
					version = "2.4.1"
 | 
				
			||||||
@ -2342,7 +2381,7 @@ checksum = "26772682ba4fa69f11ae6e4af8bc83946372981ff31a026648d4acb2553c9ee8"
 | 
				
			|||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "base64",
 | 
					 "base64",
 | 
				
			||||||
 "curve25519-dalek",
 | 
					 "curve25519-dalek",
 | 
				
			||||||
 "digest",
 | 
					 "digest 0.9.0",
 | 
				
			||||||
 "displaydoc",
 | 
					 "displaydoc",
 | 
				
			||||||
 "generic-array",
 | 
					 "generic-array",
 | 
				
			||||||
 "generic-bytes",
 | 
					 "generic-bytes",
 | 
				
			||||||
@ -2840,7 +2879,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			|||||||
checksum = "3648b669b10afeab18972c105e284a7b953a669b0be3514c27f9b17acab2f9cd"
 | 
					checksum = "3648b669b10afeab18972c105e284a7b953a669b0be3514c27f9b17acab2f9cd"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "byteorder",
 | 
					 "byteorder",
 | 
				
			||||||
 "digest",
 | 
					 "digest 0.9.0",
 | 
				
			||||||
 "lazy_static",
 | 
					 "lazy_static",
 | 
				
			||||||
 "num-bigint-dig",
 | 
					 "num-bigint-dig",
 | 
				
			||||||
 "num-integer",
 | 
					 "num-integer",
 | 
				
			||||||
@ -3060,10 +3099,10 @@ version = "0.9.8"
 | 
				
			|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6"
 | 
					checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "block-buffer",
 | 
					 "block-buffer 0.9.0",
 | 
				
			||||||
 "cfg-if 1.0.0",
 | 
					 "cfg-if 1.0.0",
 | 
				
			||||||
 "cpufeatures",
 | 
					 "cpufeatures",
 | 
				
			||||||
 "digest",
 | 
					 "digest 0.9.0",
 | 
				
			||||||
 "opaque-debug",
 | 
					 "opaque-debug",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -3079,10 +3118,10 @@ version = "0.9.6"
 | 
				
			|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "9204c41a1597a8c5af23c82d1c921cb01ec0a4c59e07a9c7306062829a3903f3"
 | 
					checksum = "9204c41a1597a8c5af23c82d1c921cb01ec0a4c59e07a9c7306062829a3903f3"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "block-buffer",
 | 
					 "block-buffer 0.9.0",
 | 
				
			||||||
 "cfg-if 1.0.0",
 | 
					 "cfg-if 1.0.0",
 | 
				
			||||||
 "cpufeatures",
 | 
					 "cpufeatures",
 | 
				
			||||||
 "digest",
 | 
					 "digest 0.9.0",
 | 
				
			||||||
 "opaque-debug",
 | 
					 "opaque-debug",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -3219,7 +3258,7 @@ dependencies = [
 | 
				
			|||||||
 "crossbeam-channel",
 | 
					 "crossbeam-channel",
 | 
				
			||||||
 "crossbeam-queue",
 | 
					 "crossbeam-queue",
 | 
				
			||||||
 "crossbeam-utils",
 | 
					 "crossbeam-utils",
 | 
				
			||||||
 "digest",
 | 
					 "digest 0.9.0",
 | 
				
			||||||
 "either",
 | 
					 "either",
 | 
				
			||||||
 "futures-channel",
 | 
					 "futures-channel",
 | 
				
			||||||
 "futures-core",
 | 
					 "futures-core",
 | 
				
			||||||
@ -3232,7 +3271,7 @@ dependencies = [
 | 
				
			|||||||
 "libc",
 | 
					 "libc",
 | 
				
			||||||
 "libsqlite3-sys",
 | 
					 "libsqlite3-sys",
 | 
				
			||||||
 "log",
 | 
					 "log",
 | 
				
			||||||
 "md-5",
 | 
					 "md-5 0.9.1",
 | 
				
			||||||
 "memchr",
 | 
					 "memchr",
 | 
				
			||||||
 "num-bigint 0.3.3",
 | 
					 "num-bigint 0.3.3",
 | 
				
			||||||
 "once_cell",
 | 
					 "once_cell",
 | 
				
			||||||
@ -3636,7 +3675,7 @@ dependencies = [
 | 
				
			|||||||
 "futures",
 | 
					 "futures",
 | 
				
			||||||
 "tracing",
 | 
					 "tracing",
 | 
				
			||||||
 "tracing-futures",
 | 
					 "tracing-futures",
 | 
				
			||||||
 "uuid",
 | 
					 "uuid 0.8.2",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
@ -3814,6 +3853,15 @@ dependencies = [
 | 
				
			|||||||
 "getrandom 0.2.3",
 | 
					 "getrandom 0.2.3",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "uuid"
 | 
				
			||||||
 | 
					version = "1.1.1"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "c6d5d669b51467dcf7b2f1a796ce0f955f05f01cafda6c19d6e95f730df29238"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "md-5 0.10.1",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "validator"
 | 
					name = "validator"
 | 
				
			||||||
version = "0.14.0"
 | 
					version = "0.14.0"
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,6 @@ authors = ["Valentin Tolmer <valentin@tolmer.fr>"]
 | 
				
			|||||||
edition = "2021"
 | 
					edition = "2021"
 | 
				
			||||||
name = "lldap"
 | 
					name = "lldap"
 | 
				
			||||||
version = "0.3.0-alpha.1"
 | 
					version = "0.3.0-alpha.1"
 | 
				
			||||||
 | 
					 | 
				
			||||||
[dependencies]
 | 
					[dependencies]
 | 
				
			||||||
actix = "0.12"
 | 
					actix = "0.12"
 | 
				
			||||||
actix-files = "0.6.0-beta.6"
 | 
					actix-files = "0.6.0-beta.6"
 | 
				
			||||||
@ -17,79 +16,83 @@ anyhow = "*"
 | 
				
			|||||||
async-trait = "0.1"
 | 
					async-trait = "0.1"
 | 
				
			||||||
base64 = "0.13"
 | 
					base64 = "0.13"
 | 
				
			||||||
bincode = "1.3"
 | 
					bincode = "1.3"
 | 
				
			||||||
chrono = { version = "*", features = [ "serde" ]}
 | 
					 | 
				
			||||||
clap = { version = "3.1.15", features = [ "std", "color", "suggestions", "derive", "env" ] }
 | 
					 | 
				
			||||||
cron = "*"
 | 
					cron = "*"
 | 
				
			||||||
derive_builder = "0.10.2"
 | 
					derive_builder = "0.10.2"
 | 
				
			||||||
futures = "*"
 | 
					futures = "*"
 | 
				
			||||||
futures-util = "*"
 | 
					futures-util = "*"
 | 
				
			||||||
hmac = "0.10"
 | 
					hmac = "0.10"
 | 
				
			||||||
http = "*"
 | 
					http = "*"
 | 
				
			||||||
 | 
					itertools = "0.10.1"
 | 
				
			||||||
 | 
					juniper = "0.15.6"
 | 
				
			||||||
 | 
					juniper_actix = "0.4.0"
 | 
				
			||||||
jwt = "0.13"
 | 
					jwt = "0.13"
 | 
				
			||||||
ldap3_server = ">=0.1.9"
 | 
					ldap3_server = ">=0.1.9"
 | 
				
			||||||
lldap_auth = { path = "../auth" }
 | 
					 | 
				
			||||||
log = "*"
 | 
					log = "*"
 | 
				
			||||||
orion = "0.16"
 | 
					 | 
				
			||||||
native-tls = "0.2.10"
 | 
					native-tls = "0.2.10"
 | 
				
			||||||
 | 
					orion = "0.16"
 | 
				
			||||||
serde = "*"
 | 
					serde = "*"
 | 
				
			||||||
serde_json = "1"
 | 
					serde_json = "1"
 | 
				
			||||||
sha2 = "0.9"
 | 
					sha2 = "0.9"
 | 
				
			||||||
sqlx-core = "=0.5.1"
 | 
					sqlx-core = "=0.5.1"
 | 
				
			||||||
thiserror = "*"
 | 
					thiserror = "*"
 | 
				
			||||||
time = "0.2"
 | 
					time = "0.2"
 | 
				
			||||||
tokio = { version = "1.2.0", features = ["full"] }
 | 
					 | 
				
			||||||
tokio-native-tls = "0.3"
 | 
					tokio-native-tls = "0.3"
 | 
				
			||||||
tokio-util = "0.6.3"
 | 
					 | 
				
			||||||
tokio-stream = "*"
 | 
					tokio-stream = "*"
 | 
				
			||||||
 | 
					tokio-util = "0.6.3"
 | 
				
			||||||
tracing = "*"
 | 
					tracing = "*"
 | 
				
			||||||
tracing-actix-web = "0.4.0-beta.7"
 | 
					tracing-actix-web = "0.4.0-beta.7"
 | 
				
			||||||
tracing-log = "*"
 | 
					tracing-log = "*"
 | 
				
			||||||
tracing-subscriber = "0.3"
 | 
					tracing-subscriber = "0.3"
 | 
				
			||||||
rand = { version = "0.8", features = ["small_rng", "getrandom"] }
 | 
					 | 
				
			||||||
juniper_actix = "0.4.0"
 | 
					 | 
				
			||||||
juniper = "0.15.6"
 | 
					 | 
				
			||||||
itertools = "0.10.1"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[dependencies.opaque-ke]
 | 
					[dependencies.chrono]
 | 
				
			||||||
version = "0.6"
 | 
					features = ["serde"]
 | 
				
			||||||
 | 
					version = "*"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[dependencies.lettre]
 | 
					[dependencies.clap]
 | 
				
			||||||
version = "0.10.0-rc.3"
 | 
					features = ["std", "color", "suggestions", "derive", "env"]
 | 
				
			||||||
features = [
 | 
					version = "3.1.15"
 | 
				
			||||||
  "builder",
 | 
					 | 
				
			||||||
  "serde",
 | 
					 | 
				
			||||||
  "smtp-transport",
 | 
					 | 
				
			||||||
  "tokio1-native-tls",
 | 
					 | 
				
			||||||
  "tokio1",
 | 
					 | 
				
			||||||
]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[dependencies.sqlx]
 | 
					 | 
				
			||||||
version = "0.5.1"
 | 
					 | 
				
			||||||
features = [
 | 
					 | 
				
			||||||
  "any",
 | 
					 | 
				
			||||||
  "chrono",
 | 
					 | 
				
			||||||
  "macros",
 | 
					 | 
				
			||||||
  "mysql",
 | 
					 | 
				
			||||||
  "postgres",
 | 
					 | 
				
			||||||
  "runtime-actix-native-tls",
 | 
					 | 
				
			||||||
  "sqlite",
 | 
					 | 
				
			||||||
]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[dependencies.sea-query]
 | 
					 | 
				
			||||||
version = "0.9.4"
 | 
					 | 
				
			||||||
features = ["with-chrono"]
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[dependencies.figment]
 | 
					[dependencies.figment]
 | 
				
			||||||
features = ["env", "toml"]
 | 
					features = ["env", "toml"]
 | 
				
			||||||
version = "*"
 | 
					version = "*"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[dependencies.secstr]
 | 
					[dependencies.lettre]
 | 
				
			||||||
features = ["serde"]
 | 
					features = ["builder", "serde", "smtp-transport", "tokio1-native-tls", "tokio1"]
 | 
				
			||||||
version = "*"
 | 
					version = "0.10.0-rc.3"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[dependencies.lldap_auth]
 | 
				
			||||||
 | 
					path = "../auth"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[dependencies.opaque-ke]
 | 
				
			||||||
 | 
					version = "0.6"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[dependencies.openssl-sys]
 | 
					[dependencies.openssl-sys]
 | 
				
			||||||
features = ["vendored"]
 | 
					features = ["vendored"]
 | 
				
			||||||
version = "*"
 | 
					version = "*"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[dependencies.rand]
 | 
				
			||||||
 | 
					features = ["small_rng", "getrandom"]
 | 
				
			||||||
 | 
					version = "0.8"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[dependencies.sea-query]
 | 
				
			||||||
 | 
					features = ["with-chrono"]
 | 
				
			||||||
 | 
					version = "0.9.4"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[dependencies.secstr]
 | 
				
			||||||
 | 
					features = ["serde"]
 | 
				
			||||||
 | 
					version = "*"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[dependencies.sqlx]
 | 
				
			||||||
 | 
					features = ["any", "chrono", "macros", "mysql", "postgres", "runtime-actix-native-tls", "sqlite"]
 | 
				
			||||||
 | 
					version = "0.5.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[dependencies.tokio]
 | 
				
			||||||
 | 
					features = ["full"]
 | 
				
			||||||
 | 
					version = "1.2.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[dependencies.uuid]
 | 
				
			||||||
 | 
					features = ["v3"]
 | 
				
			||||||
 | 
					version = "*"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[dev-dependencies]
 | 
					[dev-dependencies]
 | 
				
			||||||
mockall = "0.9.1"
 | 
					mockall = "0.9.1"
 | 
				
			||||||
 | 
				
			|||||||
@ -163,7 +163,6 @@ impl BackendHandler for SqlBackendHandler {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            query_builder.to_string(DbQueryBuilder {})
 | 
					            query_builder.to_string(DbQueryBuilder {})
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        log::error!("query: {}", &query);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // For group_by.
 | 
					        // For group_by.
 | 
				
			||||||
        use itertools::Itertools;
 | 
					        use itertools::Itertools;
 | 
				
			||||||
 | 
				
			|||||||
@ -148,6 +148,15 @@ fn get_user_id_from_distinguished_name(
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fn get_hash_as_uuid(dn: &str, creation_date: &chrono::DateTime<chrono::Utc>) -> String {
 | 
				
			||||||
 | 
					    use uuid::Uuid;
 | 
				
			||||||
 | 
					    Uuid::new_v3(
 | 
				
			||||||
 | 
					        &Uuid::NAMESPACE_X500,
 | 
				
			||||||
 | 
					        &[dn.as_bytes(), creation_date.to_rfc3339().as_bytes()].concat(),
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					    .to_string()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fn get_user_attribute(
 | 
					fn get_user_attribute(
 | 
				
			||||||
    user: &User,
 | 
					    user: &User,
 | 
				
			||||||
    attribute: &str,
 | 
					    attribute: &str,
 | 
				
			||||||
@ -166,6 +175,7 @@ fn get_user_attribute(
 | 
				
			|||||||
        ],
 | 
					        ],
 | 
				
			||||||
        "dn" | "distinguishedname" => vec![dn.to_string()],
 | 
					        "dn" | "distinguishedname" => vec![dn.to_string()],
 | 
				
			||||||
        "uid" => vec![user.user_id.to_string()],
 | 
					        "uid" => vec![user.user_id.to_string()],
 | 
				
			||||||
 | 
					        "entryuuid" => vec![get_hash_as_uuid(dn, &user.creation_date)],
 | 
				
			||||||
        "mail" => vec![user.email.clone()],
 | 
					        "mail" => vec![user.email.clone()],
 | 
				
			||||||
        "givenname" => vec![user.first_name.clone()],
 | 
					        "givenname" => vec![user.first_name.clone()],
 | 
				
			||||||
        "sn" => vec![user.last_name.clone()],
 | 
					        "sn" => vec![user.last_name.clone()],
 | 
				
			||||||
@ -1394,6 +1404,7 @@ mod tests {
 | 
				
			|||||||
                "sn",
 | 
					                "sn",
 | 
				
			||||||
                "cn",
 | 
					                "cn",
 | 
				
			||||||
                "createTimestamp",
 | 
					                "createTimestamp",
 | 
				
			||||||
 | 
					                "entryUuid",
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
        assert_eq!(
 | 
					        assert_eq!(
 | 
				
			||||||
@ -1438,7 +1449,11 @@ mod tests {
 | 
				
			|||||||
                        LdapPartialAttribute {
 | 
					                        LdapPartialAttribute {
 | 
				
			||||||
                            atype: "createTimestamp".to_string(),
 | 
					                            atype: "createTimestamp".to_string(),
 | 
				
			||||||
                            vals: vec!["1970-01-01T00:00:00+00:00".to_string()]
 | 
					                            vals: vec!["1970-01-01T00:00:00+00:00".to_string()]
 | 
				
			||||||
                        }
 | 
					                        },
 | 
				
			||||||
 | 
					                        LdapPartialAttribute {
 | 
				
			||||||
 | 
					                            atype: "entryUuid".to_string(),
 | 
				
			||||||
 | 
					                            vals: vec!["698e1d5f-7a40-3151-8745-b9b8a37839da".to_string()]
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
                    ],
 | 
					                    ],
 | 
				
			||||||
                }),
 | 
					                }),
 | 
				
			||||||
                LdapOp::SearchResultEntry(LdapSearchResultEntry {
 | 
					                LdapOp::SearchResultEntry(LdapSearchResultEntry {
 | 
				
			||||||
@ -1480,7 +1495,11 @@ mod tests {
 | 
				
			|||||||
                        LdapPartialAttribute {
 | 
					                        LdapPartialAttribute {
 | 
				
			||||||
                            atype: "createTimestamp".to_string(),
 | 
					                            atype: "createTimestamp".to_string(),
 | 
				
			||||||
                            vals: vec!["2014-07-08T09:10:11+00:00".to_string()]
 | 
					                            vals: vec!["2014-07-08T09:10:11+00:00".to_string()]
 | 
				
			||||||
                        }
 | 
					                        },
 | 
				
			||||||
 | 
					                        LdapPartialAttribute {
 | 
				
			||||||
 | 
					                            atype: "entryUuid".to_string(),
 | 
				
			||||||
 | 
					                            vals: vec!["04ac75e0-2900-3e21-926c-2f732c26b3fc".to_string()]
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
                    ],
 | 
					                    ],
 | 
				
			||||||
                }),
 | 
					                }),
 | 
				
			||||||
                make_search_success(),
 | 
					                make_search_success(),
 | 
				
			||||||
@ -2279,4 +2298,16 @@ mod tests {
 | 
				
			|||||||
            ]
 | 
					            ]
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #[test]
 | 
				
			||||||
 | 
					    fn test_hash_time() {
 | 
				
			||||||
 | 
					        use chrono::prelude::*;
 | 
				
			||||||
 | 
					        let user_id = "bob";
 | 
				
			||||||
 | 
					        let date1 = Utc.ymd(2014, 7, 8).and_hms(9, 10, 11);
 | 
				
			||||||
 | 
					        let date2 = Utc.ymd(2014, 7, 8).and_hms(9, 10, 12);
 | 
				
			||||||
 | 
					        assert_ne!(
 | 
				
			||||||
 | 
					            get_hash_as_uuid(user_id, &date1),
 | 
				
			||||||
 | 
					            get_hash_as_uuid(user_id, &date2)
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user