summaryrefslogtreecommitdiff
path: root/server/subscr.c
diff options
context:
space:
mode:
authorGravatar Garry Zacheiss <zacheiss@mit.edu>2002-07-02 23:02:44 +0000
committerGravatar Garry Zacheiss <zacheiss@mit.edu>2002-07-02 23:02:44 +0000
commit08e75df4c2c22c60e6a7db37f5adc3cf7234463e (patch)
tree91998c49a680713cd81fd25ecff62e5c94872a47 /server/subscr.c
parent9d1a57b5f2298913bc38069ddcd7b1666aad0b30 (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.c9
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)) {