113 |
|
{ |
114 |
|
dlink_list *list = NULL; |
115 |
|
dlink_node *node = NULL; |
116 |
< |
struct Ban *banptr = NULL; |
116 |
> |
struct Ban *ban = NULL; |
117 |
|
size_t len = 0; |
118 |
|
char name[NICKLEN + 1] = ""; |
119 |
|
char user[USERLEN + 1] = ""; |
173 |
|
|
174 |
|
DLINK_FOREACH(node, list->head) |
175 |
|
{ |
176 |
< |
banptr = node->data; |
176 |
> |
ban = node->data; |
177 |
|
|
178 |
< |
if (!irccmp(banptr->name, name) && |
179 |
< |
!irccmp(banptr->user, user) && |
180 |
< |
!irccmp(banptr->host, host)) |
178 |
> |
if (!irccmp(ban->name, name) && |
179 |
> |
!irccmp(ban->user, user) && |
180 |
> |
!irccmp(ban->host, host)) |
181 |
|
return 0; |
182 |
|
} |
183 |
|
|
184 |
< |
banptr = mp_pool_get(ban_pool); |
185 |
< |
banptr->name = xstrdup(name); |
186 |
< |
banptr->user = xstrdup(user); |
187 |
< |
banptr->host = xstrdup(host); |
188 |
< |
banptr->when = CurrentTime; |
189 |
< |
banptr->len = len - 2; /* -2 for ! + @ */ |
190 |
< |
banptr->type = parse_netmask(host, &banptr->addr, &banptr->bits); |
184 |
> |
ban = mp_pool_get(ban_pool); |
185 |
> |
ban->name = xstrdup(name); |
186 |
> |
ban->user = xstrdup(user); |
187 |
> |
ban->host = xstrdup(host); |
188 |
> |
ban->when = CurrentTime; |
189 |
> |
ban->len = len - 2; /* -2 for ! + @ */ |
190 |
> |
ban->type = parse_netmask(host, &ban->addr, &ban->bits); |
191 |
|
|
192 |
|
if (IsClient(client_p)) |
193 |
|
{ |
194 |
< |
banptr->who = MyCalloc(strlen(client_p->name) + |
195 |
< |
strlen(client_p->username) + |
196 |
< |
strlen(client_p->host) + 3); |
197 |
< |
sprintf(banptr->who, "%s!%s@%s", client_p->name, |
194 |
> |
ban->who = MyCalloc(strlen(client_p->name) + |
195 |
> |
strlen(client_p->username) + |
196 |
> |
strlen(client_p->host) + 3); |
197 |
> |
sprintf(ban->who, "%s!%s@%s", client_p->name, |
198 |
|
client_p->username, client_p->host); |
199 |
|
} |
200 |
|
else if (IsHidden(client_p) || (IsServer(client_p) && ConfigServerHide.hide_servers)) |
201 |
< |
banptr->who = xstrdup(me.name); |
201 |
> |
ban->who = xstrdup(me.name); |
202 |
|
else |
203 |
< |
banptr->who = xstrdup(client_p->name); |
203 |
> |
ban->who = xstrdup(client_p->name); |
204 |
|
|
205 |
< |
dlinkAdd(banptr, &banptr->node, list); |
205 |
> |
dlinkAdd(ban, &ban->node, list); |
206 |
|
|
207 |
|
return 1; |
208 |
|
} |
263 |
|
|
264 |
|
DLINK_FOREACH(node, list->head) |
265 |
|
{ |
266 |
< |
struct Ban *banptr = node->data; |
266 |
> |
struct Ban *ban = node->data; |
267 |
|
|
268 |
< |
if (!irccmp(name, banptr->name) && |
269 |
< |
!irccmp(user, banptr->user) && |
270 |
< |
!irccmp(host, banptr->host)) |
268 |
> |
if (!irccmp(name, ban->name) && |
269 |
> |
!irccmp(user, ban->user) && |
270 |
> |
!irccmp(host, ban->host)) |
271 |
|
{ |
272 |
< |
remove_ban(banptr, list); |
272 |
> |
remove_ban(ban, list); |
273 |
|
return 1; |
274 |
|
} |
275 |
|
} |
353 |
|
|
354 |
|
DLINK_FOREACH(node, chptr->locmembers.head) |
355 |
|
{ |
356 |
< |
struct Membership *ms = node->data; |
357 |
< |
ms->flags &= ~(CHFL_BAN_SILENCED|CHFL_BAN_CHECKED); |
356 |
> |
struct Membership *member = node->data; |
357 |
> |
member->flags &= ~(CHFL_BAN_SILENCED|CHFL_BAN_CHECKED); |
358 |
|
} |
359 |
|
} |
360 |
|
|
365 |
|
|
366 |
|
DLINK_FOREACH(node, client_p->channel.head) |
367 |
|
{ |
368 |
< |
struct Membership *ms = node->data; |
369 |
< |
ms->flags &= ~(CHFL_BAN_SILENCED|CHFL_BAN_CHECKED); |
368 |
> |
struct Membership *member = node->data; |
369 |
> |
member->flags &= ~(CHFL_BAN_SILENCED|CHFL_BAN_CHECKED); |
370 |
|
} |
371 |
|
} |
372 |
|
|
567 |
|
|
568 |
|
DLINK_FOREACH(node, chptr->banlist.head) |
569 |
|
{ |
570 |
< |
const struct Ban *banptr = node->data; |
570 |
> |
const struct Ban *ban = node->data; |
571 |
|
sendto_one_numeric(source_p, &me, RPL_BANLIST, chptr->name, |
572 |
< |
banptr->name, banptr->user, banptr->host, |
573 |
< |
banptr->who, banptr->when); |
572 |
> |
ban->name, ban->user, ban->host, |
573 |
> |
ban->who, ban->when); |
574 |
|
} |
575 |
|
|
576 |
|
sendto_one_numeric(source_p, &me, RPL_ENDOFBANLIST, chptr->name); |
635 |
|
|
636 |
|
DLINK_FOREACH(node, chptr->exceptlist.head) |
637 |
|
{ |
638 |
< |
const struct Ban *banptr = node->data; |
638 |
> |
const struct Ban *ban = node->data; |
639 |
|
|
640 |
|
sendto_one_numeric(source_p, &me, RPL_EXCEPTLIST, chptr->name, |
641 |
< |
banptr->name, banptr->user, banptr->host, |
642 |
< |
banptr->who, banptr->when); |
641 |
> |
ban->name, ban->user, ban->host, |
642 |
> |
ban->who, ban->when); |
643 |
|
} |
644 |
|
|
645 |
|
sendto_one_numeric(source_p, &me, RPL_ENDOFEXCEPTLIST, chptr->name); |
704 |
|
|
705 |
|
DLINK_FOREACH(node, chptr->invexlist.head) |
706 |
|
{ |
707 |
< |
const struct Ban *banptr = node->data; |
707 |
> |
const struct Ban *ban = node->data; |
708 |
|
|
709 |
|
sendto_one_numeric(source_p, &me, RPL_INVEXLIST, chptr->name, |
710 |
< |
banptr->name, banptr->user, banptr->host, |
711 |
< |
banptr->who, banptr->when); |
710 |
> |
ban->name, ban->user, ban->host, |
711 |
> |
ban->who, ban->when); |
712 |
|
} |
713 |
|
|
714 |
|
sendto_one_numeric(source_p, &me, RPL_ENDOFINVEXLIST, chptr->name); |