diff --git a/src/link.rs b/src/link.rs index d13f3a7..0c2dba4 100644 --- a/src/link.rs +++ b/src/link.rs @@ -808,6 +808,11 @@ impl Server { return; }; if key == "accountname" { + // account login is a services authority: ignore it from an ordinary peer + // (each hop re-checks, so forwarding an unauthorised one stays harmless). + if !self.source_is_service(msg) { + return; + } if value.is_empty() || value == "*" { self.logout(tuid); } else {