From 51452a370bc6e24ce2ae7bfd07b26f3636b146a3 Mon Sep 17 00:00:00 2001 From: Jilles Tjoelker Date: Thu, 29 May 2014 16:07:45 +0200 Subject: [PATCH] channel: Stop pretending to support per-mode server capabilities. After a change for dynamic server capabilities, the code to send out mode changes was changed to use the capabilities belonging to the last mode being sent out. This does not make sense; therefore, just use no capabilities and remove supporting infrastructure. --- include/channel.h | 9 --------- src/channel.c | 9 ++------- src/chmode.c | 45 --------------------------------------------- 3 files changed, 2 insertions(+), 61 deletions(-) diff --git a/include/channel.h b/include/channel.h index 5dac75da..82f30548 100644 --- a/include/channel.h +++ b/include/channel.h @@ -113,19 +113,10 @@ struct ChModeChange const char *arg; const char *id; int dir; - int caps; - int nocaps; int mems; struct Client *client; }; -struct ChCapCombo -{ - int count; - int cap_yes; - int cap_no; -}; - typedef void (*ChannelModeFunc)(struct Client *source_p, struct Channel *chptr, int alevel, int parc, int *parn, const char **parv, int *errors, int dir, char c, long mode_type); diff --git a/src/channel.c b/src/channel.c index e6a47a0b..a9412e9b 100644 --- a/src/channel.c +++ b/src/channel.c @@ -1219,8 +1219,6 @@ send_cap_mode_changes(struct Client *client_p, struct Client *source_p, int i, mbl, pbl, nc, mc, preflen, len; char *pbuf; const char *arg; - int cap; - int nocap; int dir; int arglen; @@ -1246,9 +1244,6 @@ send_cap_mode_changes(struct Client *client_p, struct Client *source_p, if (mode_changes[i].letter == 0) continue; - cap = mode_changes[i].caps; - nocap = mode_changes[i].nocaps; - if (!EmptyString(mode_changes[i].id)) arg = mode_changes[i].id; else @@ -1274,7 +1269,7 @@ send_cap_mode_changes(struct Client *client_p, struct Client *source_p, ((mbl + pbl + arglen + 4) > (BUFSIZE - 3)))) { if(nc != 0) - sendto_server(client_p, chptr, cap, nocap, + sendto_server(client_p, chptr, NOCAPS, NOCAPS, "%s %s", modebuf, parabuf); nc = 0; mc = 0; @@ -1309,7 +1304,7 @@ send_cap_mode_changes(struct Client *client_p, struct Client *source_p, parabuf[pbl - 1] = 0; if(nc != 0) - sendto_server(client_p, chptr, cap, nocap, "%s %s", modebuf, parabuf); + sendto_server(client_p, chptr, NOCAPS, NOCAPS, "%s %s", modebuf, parabuf); } void diff --git a/src/chmode.c b/src/chmode.c index 6beb2828..bb6f02e6 100644 --- a/src/chmode.c +++ b/src/chmode.c @@ -631,8 +631,6 @@ chm_simple(struct Client *source_p, struct Channel *chptr, mode_changes[mode_count].letter = c; mode_changes[mode_count].dir = MODE_ADD; - mode_changes[mode_count].caps = 0; - mode_changes[mode_count].nocaps = 0; mode_changes[mode_count].id = NULL; mode_changes[mode_count].mems = ALL_MEMBERS; mode_changes[mode_count++].arg = NULL; @@ -643,8 +641,6 @@ chm_simple(struct Client *source_p, struct Channel *chptr, mode_changes[mode_count].letter = c; mode_changes[mode_count].dir = MODE_DEL; - mode_changes[mode_count].caps = 0; - mode_changes[mode_count].nocaps = 0; mode_changes[mode_count].mems = ALL_MEMBERS; mode_changes[mode_count].id = NULL; mode_changes[mode_count++].arg = NULL; @@ -665,8 +661,6 @@ chm_orphaned(struct Client *source_p, struct Channel *chptr, mode_changes[mode_count].letter = c; mode_changes[mode_count].dir = MODE_ADD; - mode_changes[mode_count].caps = 0; - mode_changes[mode_count].nocaps = 0; mode_changes[mode_count].id = NULL; mode_changes[mode_count].mems = ALL_MEMBERS; mode_changes[mode_count++].arg = NULL; @@ -677,8 +671,6 @@ chm_orphaned(struct Client *source_p, struct Channel *chptr, mode_changes[mode_count].letter = c; mode_changes[mode_count].dir = MODE_DEL; - mode_changes[mode_count].caps = 0; - mode_changes[mode_count].nocaps = 0; mode_changes[mode_count].mems = ALL_MEMBERS; mode_changes[mode_count].id = NULL; mode_changes[mode_count++].arg = NULL; @@ -716,8 +708,6 @@ chm_staff(struct Client *source_p, struct Channel *chptr, mode_changes[mode_count].letter = c; mode_changes[mode_count].dir = MODE_ADD; - mode_changes[mode_count].caps = 0; - mode_changes[mode_count].nocaps = 0; mode_changes[mode_count].id = NULL; mode_changes[mode_count].mems = ALL_MEMBERS; mode_changes[mode_count++].arg = NULL; @@ -728,8 +718,6 @@ chm_staff(struct Client *source_p, struct Channel *chptr, mode_changes[mode_count].letter = c; mode_changes[mode_count].dir = MODE_DEL; - mode_changes[mode_count].caps = 0; - mode_changes[mode_count].nocaps = 0; mode_changes[mode_count].mems = ALL_MEMBERS; mode_changes[mode_count].id = NULL; mode_changes[mode_count++].arg = NULL; @@ -749,7 +737,6 @@ chm_ban(struct Client *source_p, struct Channel *chptr, int errorval; const char *rpl_list_p; const char *rpl_endlist_p; - int caps; int mems; switch (mode_type) @@ -760,7 +747,6 @@ chm_ban(struct Client *source_p, struct Channel *chptr, rpl_list_p = form_str(RPL_BANLIST); rpl_endlist_p = form_str(RPL_ENDOFBANLIST); mems = ALL_MEMBERS; - caps = 0; break; case CHFL_EXCEPTION: @@ -773,7 +759,6 @@ chm_ban(struct Client *source_p, struct Channel *chptr, errorval = SM_ERR_RPL_E; rpl_list_p = form_str(RPL_EXCEPTLIST); rpl_endlist_p = form_str(RPL_ENDOFEXCEPTLIST); - caps = CAP_EX; if(ConfigChannel.use_except || (dir == MODE_DEL)) mems = ONLY_CHANOPS; @@ -791,7 +776,6 @@ chm_ban(struct Client *source_p, struct Channel *chptr, errorval = SM_ERR_RPL_I; rpl_list_p = form_str(RPL_INVITELIST); rpl_endlist_p = form_str(RPL_ENDOFINVITELIST); - caps = CAP_IE; if(ConfigChannel.use_invex || (dir == MODE_DEL)) mems = ONLY_CHANOPS; @@ -805,7 +789,6 @@ chm_ban(struct Client *source_p, struct Channel *chptr, rpl_list_p = form_str(RPL_QUIETLIST); rpl_endlist_p = form_str(RPL_ENDOFQUIETLIST); mems = ALL_MEMBERS; - caps = 0; break; default: @@ -950,8 +933,6 @@ chm_ban(struct Client *source_p, struct Channel *chptr, mode_changes[mode_count].letter = c; mode_changes[mode_count].dir = MODE_ADD; - mode_changes[mode_count].caps = caps; - mode_changes[mode_count].nocaps = 0; mode_changes[mode_count].mems = mems; mode_changes[mode_count].id = NULL; mode_changes[mode_count++].arg = mask; @@ -980,8 +961,6 @@ chm_ban(struct Client *source_p, struct Channel *chptr, mode_changes[mode_count].letter = c; mode_changes[mode_count].dir = MODE_DEL; - mode_changes[mode_count].caps = caps; - mode_changes[mode_count].nocaps = 0; mode_changes[mode_count].mems = mems; mode_changes[mode_count].id = NULL; mode_changes[mode_count++].arg = buf + old_removed_mask_pos; @@ -1039,8 +1018,6 @@ chm_op(struct Client *source_p, struct Channel *chptr, mode_changes[mode_count].letter = c; mode_changes[mode_count].dir = MODE_ADD; - mode_changes[mode_count].caps = 0; - mode_changes[mode_count].nocaps = 0; mode_changes[mode_count].mems = ALL_MEMBERS; mode_changes[mode_count].id = targ_p->id; mode_changes[mode_count].arg = targ_p->name; @@ -1059,8 +1036,6 @@ chm_op(struct Client *source_p, struct Channel *chptr, mode_changes[mode_count].letter = c; mode_changes[mode_count].dir = MODE_DEL; - mode_changes[mode_count].caps = 0; - mode_changes[mode_count].nocaps = 0; mode_changes[mode_count].mems = ALL_MEMBERS; mode_changes[mode_count].id = targ_p->id; mode_changes[mode_count].arg = targ_p->name; @@ -1118,8 +1093,6 @@ chm_voice(struct Client *source_p, struct Channel *chptr, { mode_changes[mode_count].letter = c; mode_changes[mode_count].dir = MODE_ADD; - mode_changes[mode_count].caps = 0; - mode_changes[mode_count].nocaps = 0; mode_changes[mode_count].mems = ALL_MEMBERS; mode_changes[mode_count].id = targ_p->id; mode_changes[mode_count].arg = targ_p->name; @@ -1131,8 +1104,6 @@ chm_voice(struct Client *source_p, struct Channel *chptr, { mode_changes[mode_count].letter = 'v'; mode_changes[mode_count].dir = MODE_DEL; - mode_changes[mode_count].caps = 0; - mode_changes[mode_count].nocaps = 0; mode_changes[mode_count].mems = ALL_MEMBERS; mode_changes[mode_count].id = targ_p->id; mode_changes[mode_count].arg = targ_p->name; @@ -1172,8 +1143,6 @@ chm_limit(struct Client *source_p, struct Channel *chptr, mode_changes[mode_count].letter = c; mode_changes[mode_count].dir = MODE_ADD; - mode_changes[mode_count].caps = 0; - mode_changes[mode_count].nocaps = 0; mode_changes[mode_count].mems = ALL_MEMBERS; mode_changes[mode_count].id = NULL; mode_changes[mode_count++].arg = limitstr; @@ -1189,8 +1158,6 @@ chm_limit(struct Client *source_p, struct Channel *chptr, mode_changes[mode_count].letter = c; mode_changes[mode_count].dir = MODE_DEL; - mode_changes[mode_count].caps = 0; - mode_changes[mode_count].nocaps = 0; mode_changes[mode_count].mems = ALL_MEMBERS; mode_changes[mode_count].id = NULL; mode_changes[mode_count++].arg = NULL; @@ -1222,8 +1189,6 @@ chm_throttle(struct Client *source_p, struct Channel *chptr, mode_changes[mode_count].letter = c; mode_changes[mode_count].dir = MODE_ADD; - mode_changes[mode_count].caps = 0; - mode_changes[mode_count].nocaps = 0; mode_changes[mode_count].mems = ALL_MEMBERS; mode_changes[mode_count].id = NULL; mode_changes[mode_count++].arg = parv[(*parn)]; @@ -1245,8 +1210,6 @@ chm_throttle(struct Client *source_p, struct Channel *chptr, mode_changes[mode_count].letter = c; mode_changes[mode_count].dir = MODE_DEL; - mode_changes[mode_count].caps = 0; - mode_changes[mode_count].nocaps = 0; mode_changes[mode_count].mems = ALL_MEMBERS; mode_changes[mode_count].id = NULL; mode_changes[mode_count++].arg = NULL; @@ -1309,8 +1272,6 @@ chm_forward(struct Client *source_p, struct Channel *chptr, mode_changes[mode_count].letter = c; mode_changes[mode_count].dir = MODE_ADD; - mode_changes[mode_count].caps = 0; - mode_changes[mode_count].nocaps = 0; mode_changes[mode_count].mems = ConfigChannel.use_forward ? ALL_MEMBERS : ONLY_SERVERS; mode_changes[mode_count].id = NULL; @@ -1325,8 +1286,6 @@ chm_forward(struct Client *source_p, struct Channel *chptr, mode_changes[mode_count].letter = c; mode_changes[mode_count].dir = MODE_DEL; - mode_changes[mode_count].caps = 0; - mode_changes[mode_count].nocaps = 0; mode_changes[mode_count].mems = ALL_MEMBERS; mode_changes[mode_count].id = NULL; mode_changes[mode_count++].arg = NULL; @@ -1367,8 +1326,6 @@ chm_key(struct Client *source_p, struct Channel *chptr, mode_changes[mode_count].letter = c; mode_changes[mode_count].dir = MODE_ADD; - mode_changes[mode_count].caps = 0; - mode_changes[mode_count].nocaps = 0; mode_changes[mode_count].mems = ALL_MEMBERS; mode_changes[mode_count].id = NULL; mode_changes[mode_count++].arg = chptr->mode.key; @@ -1398,8 +1355,6 @@ chm_key(struct Client *source_p, struct Channel *chptr, mode_changes[mode_count].letter = c; mode_changes[mode_count].dir = MODE_DEL; - mode_changes[mode_count].caps = 0; - mode_changes[mode_count].nocaps = 0; mode_changes[mode_count].mems = ALL_MEMBERS; mode_changes[mode_count].id = NULL; mode_changes[mode_count++].arg = "*";