mirror of
				https://github.com/nitnelave/lldap.git
				synced 2023-04-12 14:25:13 +00:00 
			
		
		
		
	server: don't try to load the certificates if they're not needed
This commit is contained in:
		
							parent
							
								
									89ae7c200c
								
							
						
					
					
						commit
						d6c2805847
					
				| @ -117,10 +117,7 @@ where | ||||
|         config.ldap_user_dn.clone(), | ||||
|     ); | ||||
| 
 | ||||
|     let tls_context = ( | ||||
|         context.clone(), | ||||
|         get_tls_acceptor(config).context("while setting up the SSL certificate")?, | ||||
|     ); | ||||
|     let context_for_tls = context.clone(); | ||||
| 
 | ||||
|     let binder = move || { | ||||
|         let context = context.clone(); | ||||
| @ -134,23 +131,27 @@ where | ||||
|         .map_err(|err: anyhow::Error| error!("[LDAP] Service Error: {:#}", err)) | ||||
|     }; | ||||
| 
 | ||||
|     let tls_binder = move || { | ||||
|         let tls_context = tls_context.clone(); | ||||
|         fn_service(move |stream: TcpStream| { | ||||
|             let tls_context = tls_context.clone(); | ||||
|             async move { | ||||
|                 let ((handler, base_dn, user_dn), tls_acceptor) = tls_context; | ||||
|                 let tls_stream = tls_acceptor.clone().accept(stream).await?; | ||||
|                 handle_ldap_stream(tls_stream, handler, base_dn, user_dn).await | ||||
|             } | ||||
|         }) | ||||
|         .map_err(|err: anyhow::Error| error!("[LDAPS] Service Error: {:#}", err)) | ||||
|     }; | ||||
| 
 | ||||
|     let server_builder = server_builder | ||||
|         .bind("ldap", ("0.0.0.0", config.ldap_port), binder) | ||||
|         .with_context(|| format!("while binding to the port {}", config.ldap_port)); | ||||
|     if config.ldaps_options.enabled { | ||||
|         let tls_context = ( | ||||
|             context_for_tls, | ||||
|             get_tls_acceptor(config).context("while setting up the SSL certificate")?, | ||||
|         ); | ||||
|         let tls_binder = move || { | ||||
|             let tls_context = tls_context.clone(); | ||||
|             fn_service(move |stream: TcpStream| { | ||||
|                 let tls_context = tls_context.clone(); | ||||
|                 async move { | ||||
|                     let ((handler, base_dn, user_dn), tls_acceptor) = tls_context; | ||||
|                     let tls_stream = tls_acceptor.accept(stream).await?; | ||||
|                     handle_ldap_stream(tls_stream, handler, base_dn, user_dn).await | ||||
|                 } | ||||
|             }) | ||||
|             .map_err(|err: anyhow::Error| error!("[LDAPS] Service Error: {:#}", err)) | ||||
|         }; | ||||
| 
 | ||||
|         server_builder.and_then(|s| { | ||||
|             s.bind("ldaps", ("0.0.0.0", config.ldaps_options.port), tls_binder) | ||||
|                 .with_context(|| format!("while binding to the port {}", config.ldaps_options.port)) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Valentin Tolmer
						Valentin Tolmer