s_assert(&me != client_p);
free_local_client(client_p);
free_pre_client(client_p);
+ rb_free(client_p->certfp);
rb_bh_free(client_heap, client_p);
}
const char *reason = NULL;
const char *exit_reason = conn_closed;
- if(ConfigFileEntry.kline_with_reason && !EmptyString(aconf->passwd))
+ if(ConfigFileEntry.kline_with_reason)
{
- reason = aconf->passwd;
- exit_reason = aconf->passwd;
+ reason = get_user_ban_reason(aconf);
+ exit_reason = reason;
}
else
{
if(IsOper(source_p))
rb_dlinkFindDestroy(source_p, &oper_list);
- sendto_common_channels_local(source_p, ":%s!%s@%s QUIT :%s",
+ sendto_common_channels_local(source_p, NOCAPS, ":%s!%s@%s QUIT :%s",
source_p->name,
source_p->username, source_p->host, comment);