From f3ce0e61ef12e44ccf7764366bc9a36d7500ef00 Mon Sep 17 00:00:00 2001 From: reverse Date: Thu, 20 Aug 2026 00:02:02 +0000 Subject: [PATCH] =?UTF-8?q?s2s:=20accept=20a=20swhois=20metadata=20key=20f?= =?UTF-8?q?rom=20services=20=E2=80=94=20set=20(or=20clear,=20when=20empty)?= =?UTF-8?q?=20the=20user's=20SWHOIS=20ext,=20shown=20in=20WHOIS=20320?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/link.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/link.rs b/src/link.rs index eccef2a..0ee049e 100644 --- a/src/link.rs +++ b/src/link.rs @@ -965,6 +965,17 @@ impl Server { let v = (!value.is_empty()).then_some(value.as_str()); crate::modules::metadata::apply_user(self, tuid, &nick, &key, v, &setter); } + // OperServ SWHOIS: an extra WHOIS line services set on the account and + // re-push on each login (empty value clears it). + "swhois" => { + if let Some(u) = self.users.get_mut(&tuid) { + if value.is_empty() { + u.ext.take::(); + } else { + u.ext.set(crate::coremods::core_oper::Swhois(value.clone())); + } + } + } _ => {} } }