diff options
author | Garry Zacheiss <zacheiss@mit.edu> | 2002-07-02 23:02:44 +0000 |
---|---|---|
committer | Garry Zacheiss <zacheiss@mit.edu> | 2002-07-02 23:02:44 +0000 |
commit | 08e75df4c2c22c60e6a7db37f5adc3cf7234463e (patch) | |
tree | 91998c49a680713cd81fd25ecff62e5c94872a47 /server/subscr.c | |
parent | 9d1a57b5f2298913bc38069ddcd7b1666aad0b30 (diff) |
Don't allow foreign zephyrd to request a triplet with a non-wildcard
recipient.
Diffstat (limited to 'server/subscr.c')
-rw-r--r-- | server/subscr.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/server/subscr.c b/server/subscr.c index 30b6d64..b5da880 100644 --- a/server/subscr.c +++ b/server/subscr.c @@ -1470,10 +1470,17 @@ subscr_check_foreign_subs(notice, who, server, realm, newsubs) found = 0; for (subs = newsubs; subs; subs = next) { + Realm *rlm; next=subs->next; + if (subs->dest.recip->string[0] != '\0') { + rlm = realm_which_realm(who); + syslog(LOG_WARNING, "subscr bad recip %s by %s (%s)", + subs->dest.recip->string, + sender->string, rlm->name); + continue; + } acl = class_get_acl(subs->dest.classname); if (acl) { - Realm *rlm; rlm = realm_which_realm(who); if (rlm && server == me_server) { if (!realm_sender_in_realm(rlm->name, sender->string)) { |