sasl external: request tls client cert, plumb sha256 certfp through to user, relay to services; advertise sasl=PLAIN,EXTERNAL on tls

This commit is contained in:
Jean Chevronnet 2026-08-08 19:36:48 +00:00
parent fa84ba9f53
commit f462fecac3
No known key found for this signature in database
GPG key ID: 439666D63A9477E4
7 changed files with 75 additions and 9 deletions

View file

@ -184,6 +184,7 @@ pub fn run_reactor(mut listener: MioListener, core: Sender<Event>, counter: Arc<
out,
sock: None,
secure: false,
certfp: None,
link: false,
outbound: false,
})
@ -380,6 +381,7 @@ pub fn accept_loop(
out: OutSink::Thread(out_tx),
sock: Some(shutdown),
secure: false,
certfp: None,
link,
outbound: false,
})
@ -427,6 +429,7 @@ pub fn connect_link(addr: &str, core: Sender<Event>, counter: Arc<AtomicU64>) {
out: OutSink::Thread(out_tx),
sock: Some(shutdown),
secure: false,
certfp: None,
link: true,
outbound: true,
})
@ -501,6 +504,7 @@ fn tls_conn(
return; // handshake failed
}
};
let certfp = conn.peer_cert_fp();
let (out_tx, out_rx) = mpsc::channel::<String>();
if core
.send(Event::Connect {
@ -509,6 +513,7 @@ fn tls_conn(
out: OutSink::Thread(out_tx),
sock: Some(shutdown),
secure: true,
certfp,
link,
outbound: false,
})