really fixed Services loosing TS battle on channels this time.

This commit is contained in:
fishwaldo 2002-10-16 03:52:48 +00:00
parent 038ba6f790
commit d9689ad05a
3 changed files with 130 additions and 33 deletions

View file

@ -119,6 +119,18 @@ m_squit.o: core/m_squit.c ../include/stdinc.h ../include/config.h \
../include/s_conf.h ../include/motd.h ../include/class.h \
../include/s_log.h ../include/s_serv.h ../include/send.h \
../include/msg.h ../include/parse.h ../include/modules.h
m_alias.o: m_alias.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/handlers.h \
../include/client.h ../include/ircd_defs.h ../include/ircd_handler.h \
../include/linebuf.h ../include/tools.h ../include/channel.h \
../include/res.h ../include/fileio.h ../adns/adns.h ../include/ircd.h \
../include/memory.h ../include/balloc.h ../include/irc_string.h \
../include/sprintf_irc.h ../include/common.h ../include/numeric.h \
../include/fdlist.h ../include/s_bsd.h ../include/s_conf.h \
../include/motd.h ../include/class.h ../include/s_log.h \
../include/s_serv.h ../include/send.h ../include/msg.h \
../include/parse.h ../include/modules.h ../include/hash.h \
../include/whowas.h
m_accept.o: m_accept.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/handlers.h \
../include/client.h ../include/ircd_defs.h ../include/ircd_handler.h \
@ -178,6 +190,17 @@ m_challenge.o: m_challenge.c ../include/stdinc.h ../include/config.h \
../include/msg.h ../include/numeric.h ../include/send.h \
../include/s_conf.h ../include/motd.h ../include/class.h \
../include/rsa.h ../include/s_log.h
m_clearchan.o: m_clearchan.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/tools.h \
../include/handlers.h ../include/channel.h ../include/ircd_defs.h \
../include/channel_mode.h ../include/client.h ../include/ircd_handler.h \
../include/linebuf.h ../include/res.h ../include/fileio.h \
../adns/adns.h ../include/ircd.h ../include/memory.h \
../include/balloc.h ../include/irc_string.h ../include/sprintf_irc.h \
../include/numeric.h ../include/s_log.h ../include/s_serv.h \
../include/send.h ../include/whowas.h ../include/hash.h \
../include/msg.h ../include/parse.h ../include/modules.h \
../include/list.h
m_close.o: m_close.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/tools.h \
../include/handlers.h ../include/client.h ../include/ircd_defs.h \
@ -254,7 +277,7 @@ m_gline.o: m_gline.c ../include/stdinc.h ../include/config.h \
../include/motd.h ../include/class.h ../include/s_misc.h \
../include/scache.h ../include/send.h ../include/msg.h \
../include/s_serv.h ../include/hash.h ../include/parse.h \
../include/modules.h ../include/list.h
../include/modules.h ../include/list.h ../include/s_log.h
m_help.o: m_help.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/handlers.h \
../include/client.h ../include/ircd_defs.h ../include/ircd_handler.h \
@ -321,7 +344,7 @@ m_kline.o: m_kline.c ../include/stdinc.h ../include/config.h \
../include/motd.h ../include/s_log.h ../include/s_misc.h \
../include/send.h ../include/hash.h ../include/handlers.h \
../include/s_serv.h ../include/msg.h ../include/parse.h \
../include/modules.h
../include/modules.h ../include/list.h
m_knock.o: m_knock.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/tools.h \
../include/handlers.h ../include/channel.h ../include/ircd_defs.h \
@ -405,6 +428,16 @@ m_motd.o: m_motd.c ../include/stdinc.h ../include/config.h \
../include/numeric.h ../include/handlers.h ../include/hook.h \
../include/msg.h ../include/s_serv.h ../include/parse.h \
../include/modules.h ../include/s_conf.h ../include/class.h
m_map.o: m_map.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/client.h \
../include/ircd_defs.h ../include/ircd_handler.h ../include/linebuf.h \
../include/tools.h ../include/channel.h ../include/res.h \
../include/fileio.h ../adns/adns.h ../include/ircd.h \
../include/memory.h ../include/balloc.h ../include/irc_string.h \
../include/sprintf_irc.h ../include/modules.h ../include/parse.h \
../include/msg.h ../include/handlers.h ../include/numeric.h \
../include/send.h ../include/s_conf.h ../include/motd.h \
../include/class.h
m_names.o: m_names.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/tools.h \
../include/handlers.h ../include/channel.h ../include/ircd_defs.h \
@ -448,6 +481,26 @@ m_operwall.o: m_operwall.c ../include/stdinc.h ../include/config.h \
../include/sprintf_irc.h ../include/numeric.h ../include/send.h \
../include/s_user.h ../include/msg.h ../include/parse.h \
../include/modules.h
m_opme.o: m_opme.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/tools.h \
../include/handlers.h ../include/channel.h ../include/ircd_defs.h \
../include/client.h ../include/ircd_handler.h ../include/linebuf.h \
../include/res.h ../include/fileio.h ../adns/adns.h ../include/ircd.h \
../include/memory.h ../include/balloc.h ../include/irc_string.h \
../include/sprintf_irc.h ../include/numeric.h ../include/s_log.h \
../include/s_serv.h ../include/send.h ../include/whowas.h \
../include/hash.h ../include/msg.h ../include/parse.h \
../include/modules.h
m_ojoin.o: m_ojoin.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/tools.h \
../include/handlers.h ../include/channel.h ../include/ircd_defs.h \
../include/client.h ../include/ircd_handler.h ../include/linebuf.h \
../include/res.h ../include/fileio.h ../adns/adns.h ../include/ircd.h \
../include/memory.h ../include/balloc.h ../include/irc_string.h \
../include/sprintf_irc.h ../include/numeric.h ../include/s_log.h \
../include/s_serv.h ../include/send.h ../include/whowas.h \
../include/hash.h ../include/msg.h ../include/parse.h \
../include/modules.h ../include/list.h ../include/channel_mode.h
m_pass.o: m_pass.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/handlers.h \
../include/client.h ../include/ircd_defs.h ../include/ircd_handler.h \
@ -529,6 +582,18 @@ m_set.o: m_set.c ../include/stdinc.h ../include/config.h \
../include/send.h ../include/common.h ../include/s_log.h \
../include/s_conf.h ../include/motd.h ../include/class.h \
../include/msg.h ../include/parse.h ../include/modules.h
m_smo.o: m_smo.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/handlers.h \
../include/client.h ../include/ircd_defs.h ../include/ircd_handler.h \
../include/linebuf.h ../include/tools.h ../include/channel.h \
../include/res.h ../include/fileio.h ../adns/adns.h ../include/ircd.h \
../include/memory.h ../include/balloc.h ../include/irc_string.h \
../include/sprintf_irc.h ../include/common.h ../include/numeric.h \
../include/fdlist.h ../include/s_bsd.h ../include/s_conf.h \
../include/motd.h ../include/class.h ../include/s_log.h \
../include/s_serv.h ../include/send.h ../include/msg.h \
../include/parse.h ../include/modules.h ../include/hash.h \
../include/whowas.h
m_stats.o: m_stats.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/tools.h \
../include/handlers.h ../include/class.h ../include/client.h \
@ -554,6 +619,28 @@ m_svinfo.o: m_svinfo.c ../include/stdinc.h ../include/config.h \
../include/send.h ../include/s_conf.h ../include/motd.h \
../include/class.h ../include/s_log.h ../include/msg.h \
../include/parse.h ../include/modules.h
m_swhois.o: m_swhois.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/tools.h \
../include/common.h ../include/handlers.h ../include/client.h \
../include/ircd_defs.h ../include/ircd_handler.h ../include/linebuf.h \
../include/channel.h ../include/res.h ../include/fileio.h \
../adns/adns.h ../include/ircd.h ../include/memory.h \
../include/balloc.h ../include/irc_string.h ../include/sprintf_irc.h \
../include/hash.h ../include/channel_mode.h ../include/numeric.h \
../include/s_conf.h ../include/motd.h ../include/class.h \
../include/s_serv.h ../include/s_user.h ../include/send.h \
../include/list.h ../include/msg.h ../include/parse.h \
../include/modules.h ../include/hook.h
m_tburst.o: m_tburst.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/handlers.h \
../include/client.h ../include/ircd_defs.h ../include/ircd_handler.h \
../include/linebuf.h ../include/tools.h ../include/channel.h \
../include/res.h ../include/fileio.h ../adns/adns.h ../include/ircd.h \
../include/memory.h ../include/balloc.h ../include/irc_string.h \
../include/sprintf_irc.h ../include/common.h ../include/send.h \
../include/msg.h ../include/modules.h ../include/parse.h \
../include/hook.h ../include/hash.h ../include/s_serv.h \
../include/s_conf.h ../include/motd.h ../include/class.h
m_testline.o: m_testline.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/handlers.h \
../include/client.h ../include/ircd_defs.h ../include/ircd_handler.h \
@ -597,17 +684,6 @@ m_trace.o: m_trace.c ../include/stdinc.h ../include/config.h \
../include/numeric.h ../include/fdlist.h ../include/s_bsd.h \
../include/s_serv.h ../include/send.h ../include/msg.h \
../include/parse.h ../include/modules.h
m_unkline.o: m_unkline.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/tools.h \
../include/handlers.h ../include/channel.h ../include/ircd_defs.h \
../include/client.h ../include/ircd_handler.h ../include/linebuf.h \
../include/res.h ../include/fileio.h ../adns/adns.h ../include/ircd.h \
../include/memory.h ../include/balloc.h ../include/irc_string.h \
../include/sprintf_irc.h ../include/common.h ../include/list.h \
../include/hostmask.h ../include/numeric.h ../include/s_conf.h \
../include/motd.h ../include/class.h ../include/s_log.h \
../include/s_misc.h ../include/send.h ../include/msg.h \
../include/s_gline.h ../include/parse.h ../include/modules.h
m_user.o: m_user.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/handlers.h \
../include/client.h ../include/ircd_defs.h ../include/ircd_handler.h \
@ -638,7 +714,8 @@ m_users.o: m_users.c ../include/stdinc.h ../include/config.h \
../include/s_conf.h ../include/motd.h ../include/class.h \
../include/send.h ../include/msg.h ../include/parse.h \
../include/modules.h
m_version.o: m_version.c ../include/defaults.h ../include/handlers.h \
m_version.o: m_version.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/handlers.h \
../include/client.h ../include/ircd_defs.h ../include/ircd_handler.h \
../include/linebuf.h ../include/tools.h ../include/channel.h \
../include/res.h ../include/fileio.h ../adns/adns.h ../include/ircd.h \
@ -702,3 +779,27 @@ m_sethost.o: m_sethost.c ../include/stdinc.h ../include/config.h \
../include/motd.h ../include/class.h ../include/s_log.h \
../include/s_serv.h ../include/send.h ../include/msg.h \
../include/parse.h ../include/modules.h
m_svscmds.o: m_svscmds.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/handlers.h \
../include/client.h ../include/ircd_defs.h ../include/ircd_handler.h \
../include/linebuf.h ../include/tools.h ../include/channel.h \
../include/res.h ../include/fileio.h ../adns/adns.h ../include/ircd.h \
../include/memory.h ../include/balloc.h ../include/irc_string.h \
../include/sprintf_irc.h ../include/channel_mode.h ../include/common.h \
../include/numeric.h ../include/fdlist.h ../include/s_bsd.h \
../include/s_conf.h ../include/motd.h ../include/class.h \
../include/s_log.h ../include/s_serv.h ../include/s_user.h \
../include/send.h ../include/msg.h ../include/parse.h \
../include/modules.h ../include/hash.h ../include/whowas.h
m_vhost.o: m_vhost.c ../include/stdinc.h ../include/config.h \
../include/setup.h ../include/defaults.h ../include/handlers.h \
../include/client.h ../include/ircd_defs.h ../include/ircd_handler.h \
../include/linebuf.h ../include/tools.h ../include/channel.h \
../include/res.h ../include/fileio.h ../adns/adns.h ../include/ircd.h \
../include/memory.h ../include/balloc.h ../include/irc_string.h \
../include/sprintf_irc.h ../include/common.h ../include/numeric.h \
../include/fdlist.h ../include/s_bsd.h ../include/s_conf.h \
../include/motd.h ../include/class.h ../include/s_log.h \
../include/s_serv.h ../include/send.h ../include/msg.h \
../include/parse.h ../include/modules.h ../include/hash.h \
../include/whowas.h

View file

@ -19,7 +19,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*
* $Id: m_sjoin.c,v 1.15 2002/10/16 03:31:33 fishwaldo Exp $
* $Id: m_sjoin.c,v 1.16 2002/10/16 03:52:48 fishwaldo Exp $
*/
#include "stdinc.h"
@ -63,7 +63,7 @@ _moddeinit(void)
mod_del_cmd(&sjoin_msgtab);
}
const char *_version = "$Revision: 1.15 $";
const char *_version = "$Revision: 1.16 $";
#endif
/*
* ms_sjoin
@ -119,7 +119,6 @@ static void ms_sjoin(struct Client *client_p,
static char buf[2*BUFSIZE]; /* buffer for modes and prefix */
char *p; /* pointer used making sjbuf */
int hide_or_not;
int i;
dlink_node *m;
static char sjbuf_hops[BUFSIZE]; /* buffer with halfops as % */
register char *hops;
@ -412,7 +411,7 @@ static void ms_sjoin(struct Client *client_p,
goto nextnick;
}
if (!keep_new_modes && !IsOper(target_p))
if (!keep_new_modes && !IsServices(target_p))
{
if ((fl & MODE_CHANOP) || (fl & MODE_HALFOP) || (fl & MODE_ADMIN) || (fl & MODE_VOICE))
{
@ -463,20 +462,16 @@ static void ms_sjoin(struct Client *client_p,
}
}
}
if (!IsMember(target_p, chptr))
{
add_user_to_channel(chptr, target_p, fl);
/* XXX vchan stuff */
{
sendto_channel_local(ALL_MEMBERS,chptr, ":%s!%s@%s JOIN :%s",
target_p->name,
target_p->username,
target_p->vhost,
parv[2]);
}
}
if (fl & MODE_CHANOP)
{
@ -701,13 +696,13 @@ static void remove_our_modes( int hide_or_not,
remove_a_mode(hide_or_not, chptr, top_chptr, source_p, &chptr->chanadmins, 'a');
move_user(&chptr->chanops, &chptr->peons);
move_user(&chptr->locchanops, &chptr->peons);
move_user(&chptr->locchanops, &chptr->locpeons);
move_user(&chptr->voiced, &chptr->peons);
move_user(&chptr->locvoiced, &chptr->peons);
move_user(&chptr->locvoiced, &chptr->locpeons);
move_user(&chptr->chanadmins, &chptr->peons);
move_user(&chptr->locchanadmins, &chptr->peons);
move_user(&chptr->locchanadmins, &chptr->locpeons);
move_user(&chptr->halfops, &chptr->peons);
move_user(&chptr->lochalfops, &chptr->peons);
move_user(&chptr->lochalfops, &chptr->locpeons);
}
@ -731,7 +726,7 @@ static void move_user(dlink_list *list, dlink_list *tolist)
target_p = ptr->data;
ptr_next = ptr->next;
/* services never loose the TS battle */
if (IsOper(target_p))
if (IsServices(target_p))
continue;
dlinkDelete(ptr, list);
@ -774,7 +769,7 @@ static void remove_a_mode( int hide_or_not,
target_p = ptr->data;
/* Services clients never loose their mode in a TS battle! */
if (IsOper(target_p))
if (IsServices(target_p))
continue;
lpara[count++] = target_p->name;

View file

@ -19,7 +19,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*
* $Id: m_kline.c,v 1.10 2002/09/22 13:19:52 fishwaldo Exp $
* $Id: m_kline.c,v 1.11 2002/10/16 03:52:47 fishwaldo Exp $
*/
#include "stdinc.h"
@ -86,7 +86,7 @@ _moddeinit(void)
mod_del_cmd(&dline_msgtab[0]);
mod_del_cmd(&dline_msgtab[1]);
}
const char *_version = "$Revision: 1.10 $";
const char *_version = "$Revision: 1.11 $";
#endif
/* Local function prototypes */
@ -591,9 +591,10 @@ mo_dline(struct Client *client_p, struct Client *source_p,
if ((t=parse_netmask(dlhost, NULL, &bits)) == HM_HOST)
{
#ifdef IPV6
if !IsServices(source_p) sendto_one(source_p, ":%s NOTICE %s :Sorry, please supply an address.",
me.name, parv[0]);
if (!IsServices(source_p)) {
sendto_one(source_p, ":%s NOTICE %s :Sorry, please supply an address.", me.name, parv[0]);
return;
}
#else
if (!(target_p = find_chasing(source_p, parv[1], NULL)))
return;