extban: learn the ircd live set from CAPAB EXTBANS and validate AKICK/MODE against what it actually offers

This commit is contained in:
Jean Chevronnet 2026-07-17 21:47:02 +00:00
parent da94142bad
commit c990eb1e1e
No known key found for this signature in database
8 changed files with 95 additions and 1 deletions

View file

@ -1098,6 +1098,12 @@ impl Engine {
self.network.set_server_name(&sid, name);
Vec::new()
}
NetEvent::ExtbanRegistry { entries } => {
let names = entries.iter().map(|e| e.name.as_str()).collect::<Vec<_>>().join(" ");
tracing::info!(count = entries.len(), extbans = %names, "learned ircd extban set");
self.db.set_live_extbans(entries);
Vec::new()
}
NetEvent::UserConnect { uid, nick, host, ip } => {
let arriving_nick = nick.clone();
self.network.user_connect(uid.clone(), nick, host, ip.clone());