X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/fb87421d0e13c6e62a7c7a62a597e3b53ef772ed..d25c6eb1b223d1a0993dde9a28c97ef95e54bceb:/src/s_serv.c diff --git a/src/s_serv.c b/src/s_serv.c index e66c021..315e18a 100644 --- a/src/s_serv.c +++ b/src/s_serv.c @@ -525,8 +525,8 @@ burst_TS6(struct Client *client_p) DICTIONARY_FOREACH(md, &iter, target_p->user->metadata) { - sendto_one(client_p, ":%s ENCAP * METADATA %s %s :%s", - use_id(target_p), use_id(target_p), md->name, md->value); + sendto_one(client_p, ":%s ENCAP * METADATA ADD %s %s :%s", + use_id(&me), use_id(target_p), md->name, md->value); } if(ConfigFileEntry.burst_away && !EmptyString(target_p->user->away)) @@ -556,7 +556,7 @@ burst_TS6(struct Client *client_p) msptr = uptr->data; tlen = strlen(use_id(msptr->client_p)) + 1; - if(is_owner(msptr)) + if(is_admin(msptr)) tlen++; if(is_chanop(msptr)) tlen++; @@ -587,6 +587,14 @@ burst_TS6(struct Client *client_p) } sendto_one(client_p, "%s", buf); + DICTIONARY_FOREACH(md, &iter, chptr->metadata) + { + /* don't bother bursting +J metadata */ + if(!(md->name[0] == 'K')) + sendto_one(client_p, ":%s ENCAP * METADATA ADD %s %s :%s", + use_id(&me), chptr->chname, md->name, md->value); + } + if(rb_dlink_list_length(&chptr->banlist) > 0) burst_modes_TS6(client_p, chptr, &chptr->banlist, 'b');