llldap/src/ldap/handler.rs

37 lines
988 B
Rust
Raw Normal View History

use ldap3_proto::LdapMsg;
use crate::ldap::{LdapStream, LdapStreamError};
#[tracing::instrument(name = "ldap", skip(s), fields(session = %s.session))]
pub async fn ldap_handler(mut s: LdapStream) {
tracing::info! {
remote_addr = ?s.remote_addr,
"New client connection"
};
loop {
match s.next().await {
Ok(msg) => {
if let Err(e) = ldap_handler_inner(msg).await {
tracing::debug!(
reason = ?e,
"Failed to respond"
);
return;
}
}
Err(e) => {
tracing::debug!(
reason = ?e,
"Closing connection"
);
return;
}
}
}
}
pub async fn ldap_handler_inner(msg: LdapMsg) -> Result<(), LdapStreamError> {
tracing::debug!(msg = ?msg, "Received LDAP message");
Ok(())
}