[svn] - disallow JOIN 0

This commit is contained in:
nenolod 2007-05-26 22:44:35 -07:00
parent 57b8cb0fcf
commit a3986d9482
3 changed files with 14 additions and 68 deletions

View File

@ -1,3 +1,14 @@
nenolod 2007/05/27 05:35:06 UTC (20070527-3482)
Log:
- blacklist{}: add notes about DroneBL and enable it by default. AHBL is still not enabled by default due
to their policies indicating that they wish to be contacted before their services are used.
Changes: Modified:
+6 -3 trunk/doc/example.conf (File Modified)
+6 -3 trunk/doc/reference.conf (File Modified)
nenolod 2007/05/27 05:30:41 UTC (20070527-3480)
Log:
- update NEWS in preparation of upcoming 2.2 release this week

View File

@ -1 +1 @@
#define SERNO "20070527-3480"
#define SERNO "20070527-3482"

View File

@ -21,7 +21,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*
* $Id: m_join.c 3434 2007-04-28 23:47:25Z jilles $
* $Id: m_join.c 3486 2007-05-27 05:44:35Z nenolod $
*/
#include "stdinc.h"
@ -62,9 +62,8 @@ mapi_hlist_av1 join_hlist[] = {
{ NULL, NULL },
};
DECLARE_MODULE_AV1(join, NULL, NULL, join_clist, join_hlist, NULL, "$Revision: 3434 $");
DECLARE_MODULE_AV1(join, NULL, NULL, join_clist, join_hlist, NULL, "$Revision: 3486 $");
static void do_join_0(struct Client *client_p, struct Client *source_p);
static int check_channel_name_loc(struct Client *source_p, const char *name);
static void set_final_mode(struct Mode *mode, struct Mode *oldmode);
@ -149,13 +148,6 @@ m_join(struct Client *client_p, struct Client *source_p, int parc, const char *p
continue;
}
/* join 0 parts all channels */
if(*name == '0' && !atoi(name))
{
(void) strcpy(jbuf, "0");
continue;
}
/* check it begins with # or &, and local chans are disabled */
else if(!IsChannelName(name))
{
@ -209,16 +201,6 @@ m_join(struct Client *client_p, struct Client *source_p, int parc, const char *p
{
hook_data_channel_activity hook_info;
/* JOIN 0 simply parts all channels the user is in */
if(*name == '0' && !atoi(name))
{
if(source_p->user->channel.head == NULL)
continue;
do_join_0(&me, source_p);
continue;
}
/* look for the channel */
if((chptr = find_channel(name)) != NULL)
{
@ -402,13 +384,6 @@ ms_join(struct Client *client_p, struct Client *source_p, int parc, const char *
int keep_new_modes = YES;
dlink_node *ptr, *next_ptr;
/* special case for join 0 */
if((parv[1][0] == '0') && (parv[1][1] == '\0') && parc == 2)
{
do_join_0(client_p, source_p);
return 0;
}
if(parc < 4)
return 0;
@ -517,46 +492,6 @@ ms_join(struct Client *client_p, struct Client *source_p, int parc, const char *
return 0;
}
/*
* do_join_0
*
* inputs - pointer to client doing join 0
* output - NONE
* side effects - Use has decided to join 0. This is legacy
* from the days when channels were numbers not names. *sigh*
* There is a bunch of evilness necessary here due to
* anti spambot code.
*/
static void
do_join_0(struct Client *client_p, struct Client *source_p)
{
struct membership *msptr;
struct Channel *chptr = NULL;
dlink_node *ptr;
/* Finish the flood grace period... */
if(MyClient(source_p) && !IsFloodDone(source_p))
flood_endgrace(source_p);
sendto_server(client_p, NULL, CAP_TS6, NOCAPS, ":%s JOIN 0", use_id(source_p));
sendto_server(client_p, NULL, NOCAPS, CAP_TS6, ":%s JOIN 0", source_p->name);
if(source_p->user->channel.head && MyConnect(source_p) &&
!IsOper(source_p) && !IsExemptSpambot(source_p))
check_spambot_warning(source_p, NULL);
while((ptr = source_p->user->channel.head))
{
msptr = ptr->data;
chptr = msptr->chptr;
sendto_channel_local(ALL_MEMBERS, chptr, ":%s!%s@%s PART %s",
source_p->name,
source_p->username, source_p->host, chptr->chname);
remove_user_from_channel(msptr);
}
}
static int
check_channel_name_loc(struct Client *source_p, const char *name)
{