Introduce pseudo-clients with proper services user modes
All checks were successful
CI / check (push) Successful in 3m43s
All checks were successful
CI / check (push) Successful in 3m43s
Services and bots were introduced with only +i. Give them the standard services umodes, configurable via [server] service_modes (default "iHkBT"): invisible, hideoper, servprotect — unkillable/unkickable by opers, which the ircd accepts because the services server is U-lined — bot, and block-CTCP. Verified live: ChanServ now whoises as "is a bot" (+B) and every pseudo-client still links cleanly, so every mode was accepted.
This commit is contained in:
parent
3f11f77a81
commit
65226aceb7
3 changed files with 18 additions and 5 deletions
|
|
@ -280,6 +280,15 @@ pub struct Server {
|
|||
// rather than the generic default.
|
||||
#[serde(default)]
|
||||
pub service_host: String,
|
||||
// User modes the service pseudo-clients (services + bots) are introduced with.
|
||||
// Default "iHkBT": invisible, hideoper, servprotect (unkillable — needs the
|
||||
// services server U-lined), bot, block-CTCP. Set per the ircd's loaded modules.
|
||||
#[serde(default = "default_service_modes")]
|
||||
pub service_modes: String,
|
||||
}
|
||||
|
||||
fn default_service_modes() -> String {
|
||||
"iHkBT".to_string()
|
||||
}
|
||||
|
||||
fn default_protocol() -> u32 {
|
||||
|
|
|
|||
|
|
@ -82,6 +82,7 @@ async fn main() -> Result<()> {
|
|||
cfg.uplink.password.clone(),
|
||||
cfg.server.protocol,
|
||||
ts,
|
||||
cfg.server.service_modes.clone(),
|
||||
));
|
||||
|
||||
// Bring up the service modules named in [modules] (default: the full
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue