271 |
|
*mp = '\0'; |
272 |
|
} |
273 |
|
|
274 |
< |
pp += sprintf(pp, "%s!%s@%s ", banptr->name, banptr->username, |
274 |
> |
pp += sprintf(pp, "%s!%s@%s ", banptr->name, banptr->user, |
275 |
|
banptr->host); |
276 |
|
cur_len += tlen; |
277 |
|
} |
333 |
|
dlinkDelete(&bptr->node, list); |
334 |
|
|
335 |
|
MyFree(bptr->name); |
336 |
< |
MyFree(bptr->username); |
336 |
> |
MyFree(bptr->user); |
337 |
|
MyFree(bptr->host); |
338 |
|
MyFree(bptr->who); |
339 |
|
|
544 |
|
* (like in get_client_name) |
545 |
|
*/ |
546 |
|
const char * |
547 |
< |
get_member_status(const struct Membership *ms, int combine) |
547 |
> |
get_member_status(const struct Membership *ms, const int combine) |
548 |
|
{ |
549 |
|
static char buffer[4]; |
550 |
|
char *p = buffer; |
587 |
|
{ |
588 |
|
const struct Ban *bp = ptr->data; |
589 |
|
|
590 |
< |
if (!match(bp->name, who->name) && !match(bp->username, who->username)) |
590 |
> |
if (!match(bp->name, who->name) && !match(bp->user, who->username)) |
591 |
|
{ |
592 |
|
switch (bp->type) |
593 |
|
{ |
641 |
|
int |
642 |
|
can_join(struct Client *source_p, struct Channel *chptr, const char *key) |
643 |
|
{ |
644 |
< |
if (is_banned(chptr, source_p)) |
645 |
< |
return ERR_BANNEDFROMCHAN; |
646 |
< |
|
647 |
< |
#ifdef HAVE_LIBCRYPTO |
648 |
< |
if ((chptr->mode.mode & MODE_SSLONLY) && !source_p->localClient->fd.ssl) |
644 |
> |
if ((chptr->mode.mode & MODE_SSLONLY) && !HasUMode(source_p, UMODE_SSL)) |
645 |
|
return ERR_SSLONLYCHAN; |
650 |
– |
#endif |
646 |
|
|
647 |
|
if ((chptr->mode.mode & MODE_REGONLY) && !HasUMode(source_p, UMODE_REGISTERED)) |
648 |
|
return ERR_NEEDREGGEDNICK; |
662 |
|
chptr->mode.limit) |
663 |
|
return ERR_CHANNELISFULL; |
664 |
|
|
665 |
+ |
if (is_banned(chptr, source_p)) |
666 |
+ |
return ERR_BANNEDFROMCHAN; |
667 |
+ |
|
668 |
|
return 0; |
669 |
|
} |
670 |
|
|