bugfixes with Anonops, Umode +r added. sjoin and send_umode fixed.
This commit is contained in:
parent
9a6d4b61fd
commit
d8a9ef0fe2
11 changed files with 231 additions and 222 deletions
|
@ -19,7 +19,7 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA
|
||||
*
|
||||
* $Id: client.h,v 1.4 2002/09/02 04:10:59 fishwaldo Exp $
|
||||
* $Id: client.h,v 1.5 2002/09/02 07:41:15 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#ifndef INCLUDED_client_h
|
||||
|
@ -410,10 +410,11 @@ struct LocalUser
|
|||
#define FLAGS_HIDDEN 0x20000 /* +x hidden host */
|
||||
|
||||
/* user information flags, only settable by remote mode or local oper */
|
||||
#define FLAGS_OPER 0x40000 /* Operator */
|
||||
#define FLAGS_ADMIN 0x80000 /* Admin on server */
|
||||
#define FLAGS_SERVICES 0x100000 /* Is Services */
|
||||
#define FLAGS_ULINED 0x200000 /* is a ulined server? */
|
||||
#define FLAGS_REGNICK 0x40000 /* +r regnick */
|
||||
#define FLAGS_OPER 0x80000 /* Operator */
|
||||
#define FLAGS_ADMIN 0x100000 /* Admin on server */
|
||||
#define FLAGS_SERVICES 0x200000 /* Is Services */
|
||||
#define FLAGS_ULINED 0x400000 /* is a ulined server? */
|
||||
#define FLAGS_ALL FLAGS_SERVNOTICE
|
||||
|
||||
|
||||
|
@ -451,12 +452,12 @@ struct LocalUser
|
|||
* been ended. */
|
||||
|
||||
#define SEND_UMODES (FLAGS_INVISIBLE | FLAGS_OPER | FLAGS_WALLOP | \
|
||||
FLAGS_ADMIN | FLAGS_SERVICES | FLAGS_HIDDEN)
|
||||
FLAGS_ADMIN | FLAGS_SERVICES | FLAGS_HIDDEN | FLAGS_REGNICK)
|
||||
#define ALL_UMODES (SEND_UMODES | FLAGS_SERVNOTICE | FLAGS_CCONN | \
|
||||
FLAGS_REJ | FLAGS_SKILL | FLAGS_FULL | FLAGS_SPY | \
|
||||
FLAGS_NCHANGE | FLAGS_OPERWALL | FLAGS_DEBUG | \
|
||||
FLAGS_BOTS | FLAGS_EXTERNAL | FLAGS_LOCOPS | \
|
||||
FLAGS_UNAUTH | FLAGS_CALLERID | FLAGS_SERVICES)
|
||||
FLAGS_UNAUTH | FLAGS_CALLERID | FLAGS_SERVICES | FLAGS_REGNICK)
|
||||
|
||||
#define FLAGS_ID (FLAGS_NEEDID | FLAGS_GOTID)
|
||||
|
||||
|
@ -487,6 +488,10 @@ struct LocalUser
|
|||
#define IsMarked(x) ((x)->flags & FLAGS_MARK)
|
||||
#define IsUlined(x) ((x)->flags & FLAGS_ULINED)
|
||||
#define SetUlined(x) ((x)->flags |= FLAGS_ULINED)
|
||||
#define IsRegNick(x) ((x)->flags & FLAGS_REGNICK)
|
||||
#define SetRegNick(x) ((x)->flags |= FLAGS_REGNICK)
|
||||
#define ClearRegNick(x) ((x)->flags &= ~FLAGS_REGNICK)
|
||||
|
||||
|
||||
/* oper flags */
|
||||
#define MyOper(x) (MyConnect(x) && IsOper(x))
|
||||
|
|
200
modules/.depend
200
modules/.depend
|
@ -11,13 +11,13 @@ m_die.o: core/m_die.c ../include/stdinc.h ../include/config.h \
|
|||
m_kick.o: core/m_kick.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/vchannel.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/send.h \
|
||||
../include/msg.h ../include/modules.h ../include/parse.h \
|
||||
../include/hash.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/send.h ../include/msg.h \
|
||||
../include/modules.h ../include/parse.h ../include/hash.h \
|
||||
../include/packet.h ../include/fdlist.h
|
||||
m_kill.o: core/m_kill.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 \
|
||||
|
@ -39,20 +39,19 @@ m_message.o: core/m_message.c ../include/stdinc.h ../include/config.h \
|
|||
../include/s_conf.h ../include/motd.h ../include/class.h \
|
||||
../include/s_serv.h ../include/send.h ../include/msg.h \
|
||||
../include/parse.h ../include/modules.h ../include/channel_mode.h \
|
||||
../include/vchannel.h ../include/hash.h ../include/packet.h \
|
||||
../include/fdlist.h
|
||||
../include/hash.h ../include/packet.h ../include/fdlist.h
|
||||
m_mode.o: core/m_mode.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/vchannel.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/hash.h ../include/numeric.h \
|
||||
../include/s_user.h ../include/s_conf.h ../include/motd.h \
|
||||
../include/class.h ../include/s_serv.h ../include/send.h \
|
||||
../include/msg.h ../include/parse.h ../include/modules.h \
|
||||
../include/packet.h ../include/fdlist.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/hash.h ../include/numeric.h ../include/s_user.h \
|
||||
../include/s_conf.h ../include/motd.h ../include/class.h \
|
||||
../include/s_serv.h ../include/send.h ../include/msg.h \
|
||||
../include/parse.h ../include/modules.h ../include/packet.h \
|
||||
../include/fdlist.h
|
||||
m_nick.o: core/m_nick.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 \
|
||||
|
@ -69,15 +68,14 @@ m_nick.o: core/m_nick.c ../include/stdinc.h ../include/config.h \
|
|||
m_part.o: core/m_part.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/vchannel.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/hash.h ../include/list.h \
|
||||
../include/numeric.h ../include/send.h ../include/s_serv.h \
|
||||
../include/msg.h ../include/parse.h ../include/modules.h \
|
||||
../include/s_conf.h ../include/motd.h ../include/class.h \
|
||||
../include/packet.h ../include/fdlist.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/hash.h \
|
||||
../include/list.h ../include/numeric.h ../include/send.h \
|
||||
../include/s_serv.h ../include/msg.h ../include/parse.h \
|
||||
../include/modules.h ../include/s_conf.h ../include/motd.h \
|
||||
../include/class.h ../include/packet.h ../include/fdlist.h
|
||||
m_quit.o: core/m_quit.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 \
|
||||
|
@ -103,15 +101,14 @@ m_server.o: core/m_server.c ../include/stdinc.h ../include/config.h \
|
|||
m_sjoin.o: core/m_sjoin.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/vchannel.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/hash.h ../include/list.h \
|
||||
../include/numeric.h ../include/send.h ../include/common.h \
|
||||
../include/msg.h ../include/parse.h ../include/modules.h \
|
||||
../include/s_serv.h ../include/s_conf.h ../include/motd.h \
|
||||
../include/class.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/hash.h ../include/list.h ../include/numeric.h \
|
||||
../include/send.h ../include/common.h ../include/msg.h \
|
||||
../include/parse.h ../include/modules.h ../include/s_serv.h \
|
||||
../include/s_conf.h ../include/motd.h ../include/class.h
|
||||
m_squit.o: core/m_squit.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 \
|
||||
|
@ -181,18 +178,6 @@ 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_cjoin.o: m_cjoin.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/vchannel.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/hash.h \
|
||||
../include/list.h ../include/numeric.h ../include/send.h \
|
||||
../include/s_serv.h ../include/s_conf.h ../include/motd.h \
|
||||
../include/class.h ../include/msg.h ../include/parse.h \
|
||||
../include/modules.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 \
|
||||
|
@ -264,12 +249,12 @@ m_gline.o: m_gline.c ../include/stdinc.h ../include/config.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/m_kline.h ../include/hostmask.h \
|
||||
../include/numeric.h ../include/fdlist.h ../include/s_bsd.h \
|
||||
../include/s_conf.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/common.h ../include/hostmask.h ../include/numeric.h \
|
||||
../include/fdlist.h ../include/s_bsd.h ../include/s_conf.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
|
||||
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 \
|
||||
|
@ -278,7 +263,8 @@ m_help.o: m_help.c ../include/stdinc.h ../include/config.h \
|
|||
../include/memory.h ../include/balloc.h ../include/irc_string.h \
|
||||
../include/sprintf_irc.h ../include/motd.h ../include/msg.h \
|
||||
../include/numeric.h ../include/send.h ../include/s_conf.h \
|
||||
../include/class.h ../include/parse.h ../include/modules.h
|
||||
../include/class.h ../include/s_log.h ../include/parse.h \
|
||||
../include/modules.h
|
||||
m_info.o: m_info.c ../include/stdinc.h ../include/config.h \
|
||||
../include/setup.h ../include/defaults.h ../include/tools.h \
|
||||
../include/m_info.h ../include/channel.h ../include/ircd_defs.h \
|
||||
|
@ -294,9 +280,9 @@ m_invite.o: m_invite.c ../include/stdinc.h ../include/config.h \
|
|||
../include/setup.h ../include/defaults.h ../include/tools.h \
|
||||
../include/handlers.h ../include/common.h ../include/channel.h \
|
||||
../include/ircd_defs.h ../include/channel_mode.h ../include/list.h \
|
||||
../include/memory.h ../include/balloc.h ../include/vchannel.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/client.h \
|
||||
../include/ircd_handler.h ../include/linebuf.h ../include/res.h \
|
||||
../include/fileio.h ../adns/adns.h ../include/ircd.h \
|
||||
../include/irc_string.h ../include/sprintf_irc.h ../include/hash.h \
|
||||
../include/numeric.h ../include/send.h ../include/s_conf.h \
|
||||
../include/motd.h ../include/class.h ../include/s_serv.h \
|
||||
|
@ -314,15 +300,15 @@ m_ison.o: m_ison.c ../include/stdinc.h ../include/config.h \
|
|||
m_join.o: m_join.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/vchannel.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/resv.h \
|
||||
../include/hash.h ../include/list.h ../include/numeric.h \
|
||||
../include/send.h ../include/s_serv.h ../include/s_conf.h \
|
||||
../include/motd.h ../include/class.h ../include/msg.h \
|
||||
../include/parse.h ../include/modules.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/common.h ../include/resv.h ../include/hash.h \
|
||||
../include/list.h ../include/numeric.h ../include/send.h \
|
||||
../include/s_serv.h ../include/s_conf.h ../include/motd.h \
|
||||
../include/class.h ../include/msg.h ../include/parse.h \
|
||||
../include/modules.h
|
||||
m_kline.o: m_kline.c ../include/stdinc.h ../include/config.h \
|
||||
../include/setup.h ../include/defaults.h ../include/tools.h \
|
||||
../include/m_kline.h ../include/channel.h ../include/ircd_defs.h \
|
||||
|
@ -345,8 +331,8 @@ m_knock.o: m_knock.c ../include/stdinc.h ../include/config.h \
|
|||
../include/balloc.h ../include/irc_string.h ../include/sprintf_irc.h \
|
||||
../include/hash.h ../include/numeric.h ../include/send.h \
|
||||
../include/s_conf.h ../include/motd.h ../include/class.h \
|
||||
../include/vchannel.h ../include/msg.h ../include/parse.h \
|
||||
../include/modules.h ../include/s_serv.h
|
||||
../include/msg.h ../include/parse.h ../include/modules.h \
|
||||
../include/s_serv.h
|
||||
m_links.o: m_links.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 \
|
||||
|
@ -366,20 +352,19 @@ m_list.o: m_list.c ../include/stdinc.h ../include/config.h \
|
|||
../include/balloc.h ../include/irc_string.h ../include/sprintf_irc.h \
|
||||
../include/hash.h ../include/numeric.h ../include/s_conf.h \
|
||||
../include/motd.h ../include/class.h ../include/s_serv.h \
|
||||
../include/send.h ../include/vchannel.h ../include/list.h \
|
||||
../include/msg.h ../include/parse.h ../include/modules.h
|
||||
../include/send.h ../include/list.h ../include/msg.h ../include/parse.h \
|
||||
../include/modules.h
|
||||
m_lljoin.o: m_lljoin.c ../include/stdinc.h ../include/config.h \
|
||||
../include/setup.h ../include/defaults.h ../include/tools.h \
|
||||
../include/channel.h ../include/ircd_defs.h ../include/channel_mode.h \
|
||||
../include/vchannel.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/hash.h ../include/common.h ../include/list.h \
|
||||
../include/numeric.h ../include/s_serv.h ../include/s_conf.h \
|
||||
../include/motd.h ../include/class.h ../include/send.h \
|
||||
../include/handlers.h ../include/msg.h ../include/parse.h \
|
||||
../include/modules.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/hash.h ../include/common.h \
|
||||
../include/list.h ../include/numeric.h ../include/s_serv.h \
|
||||
../include/s_conf.h ../include/motd.h ../include/class.h \
|
||||
../include/send.h ../include/handlers.h ../include/msg.h \
|
||||
../include/parse.h ../include/modules.h
|
||||
m_llnick.o: m_llnick.c ../include/stdinc.h ../include/config.h \
|
||||
../include/setup.h ../include/defaults.h ../include/tools.h \
|
||||
../include/client.h ../include/ircd_defs.h ../include/ircd_handler.h \
|
||||
|
@ -423,15 +408,14 @@ m_motd.o: m_motd.c ../include/stdinc.h ../include/config.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 \
|
||||
../include/channel_mode.h ../include/vchannel.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/hash.h \
|
||||
../include/list.h ../include/numeric.h ../include/send.h \
|
||||
../include/s_serv.h ../include/s_conf.h ../include/motd.h \
|
||||
../include/class.h ../include/msg.h ../include/parse.h \
|
||||
../include/modules.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/common.h ../include/hash.h ../include/list.h \
|
||||
../include/numeric.h ../include/send.h ../include/s_serv.h \
|
||||
../include/s_conf.h ../include/motd.h ../include/class.h \
|
||||
../include/msg.h ../include/parse.h ../include/modules.h
|
||||
m_nburst.o: m_nburst.c ../include/stdinc.h ../include/config.h \
|
||||
../include/setup.h ../include/defaults.h ../include/tools.h \
|
||||
../include/channel.h ../include/ircd_defs.h ../include/client.h \
|
||||
|
@ -453,7 +437,8 @@ m_oper.o: m_oper.c ../include/stdinc.h ../include/config.h \
|
|||
../include/numeric.h ../include/s_bsd.h ../include/s_conf.h \
|
||||
../include/motd.h ../include/class.h ../include/s_log.h \
|
||||
../include/s_user.h ../include/send.h ../include/list.h \
|
||||
../include/msg.h ../include/parse.h ../include/modules.h
|
||||
../include/msg.h ../include/parse.h ../include/modules.h \
|
||||
../include/packet.h
|
||||
m_operwall.o: m_operwall.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 \
|
||||
|
@ -588,19 +573,19 @@ m_time.o: m_time.c ../include/stdinc.h ../include/config.h \
|
|||
../include/sprintf_irc.h ../include/numeric.h ../include/s_misc.h \
|
||||
../include/s_conf.h ../include/motd.h ../include/class.h \
|
||||
../include/s_serv.h ../include/send.h ../include/msg.h \
|
||||
../include/parse.h ../include/modules.h
|
||||
../include/parse.h ../include/modules.h ../include/packet.h \
|
||||
../include/fdlist.h
|
||||
m_topic.o: m_topic.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/vchannel.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/hash.h ../include/numeric.h \
|
||||
../include/send.h ../include/s_conf.h ../include/motd.h \
|
||||
../include/class.h ../include/s_serv.h ../include/msg.h \
|
||||
../include/parse.h ../include/modules.h ../include/packet.h \
|
||||
../include/fdlist.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/hash.h ../include/numeric.h ../include/send.h \
|
||||
../include/s_conf.h ../include/motd.h ../include/class.h \
|
||||
../include/s_serv.h ../include/msg.h ../include/parse.h \
|
||||
../include/modules.h ../include/packet.h ../include/fdlist.h
|
||||
m_trace.o: m_trace.c ../include/stdinc.h ../include/config.h \
|
||||
../include/setup.h ../include/defaults.h ../include/handlers.h \
|
||||
../include/class.h ../include/hook.h ../include/tools.h \
|
||||
|
@ -679,11 +664,10 @@ m_who.o: m_who.c ../include/stdinc.h ../include/config.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/vchannel.h ../include/hash.h \
|
||||
../include/numeric.h ../include/s_serv.h ../include/send.h \
|
||||
../include/list.h ../include/s_conf.h ../include/motd.h \
|
||||
../include/class.h ../include/msg.h ../include/parse.h \
|
||||
../include/modules.h
|
||||
../include/channel_mode.h ../include/hash.h ../include/numeric.h \
|
||||
../include/s_serv.h ../include/send.h ../include/list.h \
|
||||
../include/s_conf.h ../include/motd.h ../include/class.h \
|
||||
../include/msg.h ../include/parse.h ../include/modules.h
|
||||
m_whois.o: m_whois.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 \
|
||||
|
@ -691,9 +675,9 @@ m_whois.o: m_whois.c ../include/stdinc.h ../include/config.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/vchannel.h \
|
||||
../include/numeric.h ../include/s_conf.h ../include/motd.h \
|
||||
../include/class.h ../include/s_serv.h ../include/send.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_whowas.o: m_whowas.c ../include/stdinc.h ../include/config.h \
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA
|
||||
*
|
||||
* $Id: m_kick.c,v 1.5 2002/09/02 04:11:00 fishwaldo Exp $
|
||||
* $Id: m_kick.c,v 1.6 2002/09/02 07:41:15 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#include "stdinc.h"
|
||||
|
@ -59,7 +59,7 @@ _moddeinit(void)
|
|||
mod_del_cmd(&kick_msgtab);
|
||||
}
|
||||
|
||||
const char *_version = "$Revision: 1.5 $";
|
||||
const char *_version = "$Revision: 1.6 $";
|
||||
#endif
|
||||
/*
|
||||
** m_kick
|
||||
|
@ -185,10 +185,11 @@ static void m_kick(struct Client *client_p,
|
|||
}
|
||||
}
|
||||
/* we must also check if its a op trying to kick a admin */
|
||||
if (is_chan_op(chptr, source_p) && is_chan_admin(chptr, who))
|
||||
if (is_chan_op(chptr, source_p) && is_chan_admin(chptr, who)) {
|
||||
sendto_one(source_p, form_str(ERR_CHANAPRIVSNEEDED),
|
||||
me.name, parv[0], name);
|
||||
|
||||
return;
|
||||
}
|
||||
/* jdc
|
||||
* - In the case of a server kicking a user (i.e. CLEARCHAN),
|
||||
* the kick should show up as coming from the server which did
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA
|
||||
*
|
||||
* $Id: m_message.c,v 1.3 2002/09/02 04:11:00 fishwaldo Exp $
|
||||
* $Id: m_message.c,v 1.4 2002/09/02 07:41:15 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#include "stdinc.h"
|
||||
|
@ -122,7 +122,7 @@ _moddeinit(void)
|
|||
mod_del_cmd(¬ice_msgtab);
|
||||
}
|
||||
|
||||
const char *_version = "$Revision: 1.3 $";
|
||||
const char *_version = "$Revision: 1.4 $";
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
@ -339,12 +339,14 @@ build_target_list(int p_or_n, char *command, struct Client *client_p,
|
|||
/* allow %+@ if someone wants to do that */
|
||||
for (;;)
|
||||
{
|
||||
if (*nick == '*')
|
||||
type |= MODE_ADMIN;
|
||||
if (*nick == '@')
|
||||
type |= MODE_CHANOP;
|
||||
type |= MODE_CHANOP | MODE_ADMIN;
|
||||
else if (*nick == '%')
|
||||
type |= MODE_CHANOP | MODE_HALFOP;
|
||||
type |= MODE_CHANOP | MODE_HALFOP | MODE_ADMIN;
|
||||
else if (*nick == '+')
|
||||
type |= MODE_CHANOP | MODE_HALFOP | MODE_VOICE;
|
||||
type |= MODE_CHANOP | MODE_HALFOP | MODE_VOICE | MODE_ADMIN;
|
||||
else
|
||||
break;
|
||||
nick++;
|
||||
|
@ -518,10 +520,15 @@ msg_channel_flags(int p_or_n, char *command, struct Client *client_p,
|
|||
type = ONLY_CHANOPS_HALFOPS;
|
||||
c = '%';
|
||||
}
|
||||
else
|
||||
else if (flags & MODE_CHANOP)
|
||||
{
|
||||
type = ONLY_CHANOPS;
|
||||
c = '@';
|
||||
}
|
||||
else
|
||||
{
|
||||
type = ONLY_CHANADMIN;
|
||||
c = '*';
|
||||
}
|
||||
|
||||
chname = chptr->chname;
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA
|
||||
*
|
||||
* $Id: m_sjoin.c,v 1.4 2002/09/02 04:11:00 fishwaldo Exp $
|
||||
* $Id: m_sjoin.c,v 1.5 2002/09/02 07:41:15 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#include "stdinc.h"
|
||||
|
@ -62,7 +62,7 @@ _moddeinit(void)
|
|||
mod_del_cmd(&sjoin_msgtab);
|
||||
}
|
||||
|
||||
const char *_version = "$Revision: 1.4 $";
|
||||
const char *_version = "$Revision: 1.5 $";
|
||||
#endif
|
||||
/*
|
||||
* ms_sjoin
|
||||
|
@ -114,9 +114,8 @@ static void ms_sjoin(struct Client *client_p,
|
|||
int num_prefix=0;
|
||||
int isnew;
|
||||
int buflen = 0;
|
||||
register char *s, *nhops;
|
||||
register char *s;
|
||||
static char buf[2*BUFSIZE]; /* buffer for modes and prefix */
|
||||
static char sjbuf_nhops[BUFSIZE]; /* buffer with halfops as @ */
|
||||
char *p; /* pointer used making sjbuf */
|
||||
int hide_or_not;
|
||||
int i;
|
||||
|
@ -126,7 +125,6 @@ static void ms_sjoin(struct Client *client_p,
|
|||
|
||||
*buf = '\0';
|
||||
*sjbuf_hops = '\0';
|
||||
*sjbuf_nhops = '\0';
|
||||
|
||||
if (IsClient(source_p) || parc < 5)
|
||||
return;
|
||||
|
@ -170,9 +168,12 @@ static void ms_sjoin(struct Client *client_p,
|
|||
case 't':
|
||||
mode.mode |= MODE_TOPICLIMIT;
|
||||
break;
|
||||
case 'a':
|
||||
case 'A':
|
||||
mode.mode |= MODE_HIDEOPS;
|
||||
break;
|
||||
case 'O':
|
||||
mode.mode |= MODE_OPERSONLY;
|
||||
break;
|
||||
case 'k':
|
||||
strlcpy(mode.key, parv[4 + args], KEYLEN);
|
||||
args++;
|
||||
|
@ -196,7 +197,7 @@ static void ms_sjoin(struct Client *client_p,
|
|||
|
||||
oldts = chptr->channelts;
|
||||
|
||||
doesop = (parv[4+args][0] == '@' || parv[4+args][1] == '@');
|
||||
doesop = (parv[4+args][0] == '*' || parv[4+args][1] == '*');
|
||||
|
||||
oldmode = &chptr->mode;
|
||||
|
||||
|
@ -224,11 +225,9 @@ static void ms_sjoin(struct Client *client_p,
|
|||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* XXX - this no doubt destroys vchans
|
||||
*/
|
||||
if (isnew)
|
||||
chptr->channelts = tstosend = newts;
|
||||
|
||||
/* Remote is sending users to a permanent channel.. we need to drop our
|
||||
* version and use theirs, to keep compatibility -- fl */
|
||||
else if (chptr->users == 0 && parv[4+args][0])
|
||||
|
@ -327,7 +326,7 @@ static void ms_sjoin(struct Client *client_p,
|
|||
parv[2], modebuf, parabuf);
|
||||
|
||||
/* check we can fit a nick on the end, as well as \r\n\0 and a prefix "
|
||||
* @+".
|
||||
* *@+".
|
||||
*/
|
||||
if (buflen >= (BUFSIZE - 6 - NICKLEN))
|
||||
{
|
||||
|
@ -344,7 +343,6 @@ static void ms_sjoin(struct Client *client_p,
|
|||
*mbuf++ = '+';
|
||||
|
||||
hops = sjbuf_hops;
|
||||
nhops = sjbuf_nhops;
|
||||
|
||||
s = parv[args+4];
|
||||
|
||||
|
@ -370,13 +368,23 @@ static void ms_sjoin(struct Client *client_p,
|
|||
|
||||
for (i = 0; i < 2; i++)
|
||||
{
|
||||
if (*s == '*')
|
||||
{
|
||||
fl |= MODE_ADMIN;
|
||||
if (keep_new_modes)
|
||||
{
|
||||
*hops++ = *s;
|
||||
num_prefix++;
|
||||
}
|
||||
|
||||
s++;
|
||||
}
|
||||
if (*s == '@')
|
||||
{
|
||||
fl |= MODE_CHANOP;
|
||||
if (keep_new_modes)
|
||||
{
|
||||
*hops++ = *s;
|
||||
*nhops++ = *s;
|
||||
num_prefix++;
|
||||
}
|
||||
|
||||
|
@ -388,7 +396,6 @@ static void ms_sjoin(struct Client *client_p,
|
|||
if (keep_new_modes)
|
||||
{
|
||||
*hops++ = *s;
|
||||
*nhops++ = *s;
|
||||
num_prefix++;
|
||||
}
|
||||
|
||||
|
@ -400,7 +407,6 @@ static void ms_sjoin(struct Client *client_p,
|
|||
if (keep_new_modes)
|
||||
{
|
||||
*hops++ = *s;
|
||||
*nhops++ = '@';
|
||||
num_prefix++;
|
||||
}
|
||||
|
||||
|
@ -408,7 +414,7 @@ static void ms_sjoin(struct Client *client_p,
|
|||
}
|
||||
}
|
||||
|
||||
/* if the client doesnt exist, backtrack over the prefix (@%+) that we
|
||||
/* if the client doesnt exist, backtrack over the prefix (*@%+) that we
|
||||
* just added and skip to the next nick
|
||||
*/
|
||||
/* also do this if its fake direction or a server */
|
||||
|
@ -421,9 +427,6 @@ static void ms_sjoin(struct Client *client_p,
|
|||
hops -= num_prefix;
|
||||
*hops = '\0';
|
||||
|
||||
nhops -= num_prefix;
|
||||
*nhops = '\0';
|
||||
|
||||
goto nextnick;
|
||||
}
|
||||
|
||||
|
@ -431,12 +434,9 @@ static void ms_sjoin(struct Client *client_p,
|
|||
hops += ircsprintf(hops, "%s ", s);
|
||||
assert((hops - sjbuf_hops) < sizeof(sjbuf_hops));
|
||||
|
||||
nhops += ircsprintf(nhops, "%s ", s);
|
||||
assert((nhops-sjbuf_nhops) < sizeof(sjbuf_nhops));
|
||||
|
||||
if (!keep_new_modes)
|
||||
{
|
||||
if ((fl & MODE_CHANOP) || (fl & MODE_HALFOP))
|
||||
if ((fl & MODE_CHANOP) || (fl & MODE_HALFOP) || (fl & MODE_ADMIN))
|
||||
{
|
||||
fl = MODE_DEOPPED;
|
||||
}
|
||||
|
@ -509,7 +509,11 @@ static void ms_sjoin(struct Client *client_p,
|
|||
*mbuf++ = 'h';
|
||||
para[pargs++] = s;
|
||||
}
|
||||
|
||||
else if (fl & MODE_ADMIN)
|
||||
{
|
||||
*mbuf++ = 'a';
|
||||
para[pargs++] = s;
|
||||
}
|
||||
if (pargs >= MAXMODEPARAMS)
|
||||
{
|
||||
*mbuf = '\0';
|
||||
|
@ -580,10 +584,7 @@ nextnick:
|
|||
if (!parv[4+args][0])
|
||||
return;
|
||||
|
||||
if (IsCapable(target_p, CAP_HOPS))
|
||||
sendto_one(target_p, "%s%s", buf, sjbuf_hops);
|
||||
else
|
||||
sendto_one(target_p, "%s%s", buf, sjbuf_nhops);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -608,7 +609,7 @@ struct mode_letter flags[] = {
|
|||
{ MODE_MODERATED, 'm' },
|
||||
{ MODE_INVITEONLY, 'i' },
|
||||
{ MODE_PRIVATE, 'p' },
|
||||
{ MODE_HIDEOPS, 'a' },
|
||||
{ MODE_HIDEOPS, 'A' },
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
|
@ -708,13 +709,15 @@ static void remove_our_modes( int hide_or_not,
|
|||
{
|
||||
remove_a_mode(hide_or_not, chptr, top_chptr, source_p, &chptr->chanops, 'o');
|
||||
remove_a_mode(hide_or_not, chptr, top_chptr, source_p, &chptr->voiced, 'v');
|
||||
|
||||
remove_a_mode(hide_or_not, chptr, top_chptr, source_p, &chptr->chanadmins, 'a');
|
||||
/* Move all voice/ops etc. to non opped list */
|
||||
dlinkMoveList(&chptr->chanops, &chptr->peons);
|
||||
dlinkMoveList(&chptr->voiced, &chptr->peons);
|
||||
dlinkMoveList(&chptr->chanadmins, &chptr->peons);
|
||||
|
||||
dlinkMoveList(&chptr->locchanops, &chptr->locpeons);
|
||||
dlinkMoveList(&chptr->locvoiced, &chptr->locpeons);
|
||||
dlinkMoveList(&chptr->locchanadmins, &chptr->locpeons);
|
||||
|
||||
remove_a_mode(hide_or_not, chptr, top_chptr, source_p, &chptr->halfops, 'h');
|
||||
dlinkMoveList(&chptr->halfops, &chptr->peons);
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA
|
||||
*
|
||||
* $Id: m_join.c,v 1.5 2002/09/02 04:10:59 fishwaldo Exp $
|
||||
* $Id: m_join.c,v 1.6 2002/09/02 07:41:15 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#include "stdinc.h"
|
||||
|
@ -64,7 +64,7 @@ _moddeinit(void)
|
|||
{
|
||||
mod_del_cmd(&join_msgtab);
|
||||
}
|
||||
const char *_version = "$Revision: 1.5 $";
|
||||
const char *_version = "$Revision: 1.6 $";
|
||||
|
||||
#endif
|
||||
static void do_join_0(struct Client *client_p, struct Client *source_p);
|
||||
|
@ -281,7 +281,7 @@ m_join(struct Client *client_p,
|
|||
|
||||
sendto_server(client_p, source_p, chptr, NOCAPS, NOCAPS,
|
||||
LL_ICLIENT,
|
||||
":%s SJOIN %lu %s + :@%s",
|
||||
":%s SJOIN %lu %s + :*%s",
|
||||
me.name,
|
||||
(unsigned long) chptr->channelts,
|
||||
chptr->chname,
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA
|
||||
*
|
||||
* $Id: m_lljoin.c,v 1.3 2002/09/02 04:10:59 fishwaldo Exp $
|
||||
* $Id: m_lljoin.c,v 1.4 2002/09/02 07:41:15 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#include "stdinc.h"
|
||||
|
@ -63,7 +63,7 @@ _moddeinit(void)
|
|||
mod_del_cmd(&lljoin_msgtab);
|
||||
}
|
||||
|
||||
const char *_version = "$Revision: 1.3 $";
|
||||
const char *_version = "$Revision: 1.4 $";
|
||||
#endif
|
||||
/*
|
||||
* m_lljoin
|
||||
|
@ -134,7 +134,7 @@ static void ms_lljoin(struct Client *client_p,
|
|||
{
|
||||
{
|
||||
chptr = vchan_chptr = get_or_create_channel(target_p, chname, NULL);
|
||||
flags = CHFL_CHANOP;
|
||||
flags = CHFL_ADMIN;
|
||||
}
|
||||
|
||||
root_vchan = chptr;
|
||||
|
@ -143,7 +143,7 @@ static void ms_lljoin(struct Client *client_p,
|
|||
return;
|
||||
|
||||
if (chptr->users == 0)
|
||||
flags = CHFL_CHANOP;
|
||||
flags = CHFL_ADMIN;
|
||||
else
|
||||
flags = 0;
|
||||
|
||||
|
@ -180,19 +180,12 @@ static void ms_lljoin(struct Client *client_p,
|
|||
return;
|
||||
}
|
||||
|
||||
if(flags == CHFL_CHANOP)
|
||||
if(flags == CHFL_ADMIN)
|
||||
{
|
||||
chptr->channelts = CurrentTime;
|
||||
/*
|
||||
* XXX - this is a rather ugly hack.
|
||||
*
|
||||
* Unfortunately, there's no way to pass
|
||||
* the fact that it is a vchan through SJOIN...
|
||||
*/
|
||||
/* Prevent users creating a fake vchan */
|
||||
|
||||
sendto_one(uplink,
|
||||
":%s SJOIN %lu %s + :@%s",
|
||||
":%s SJOIN %lu %s + :*%s",
|
||||
me.name,
|
||||
(unsigned long) chptr->channelts,
|
||||
chptr->chname,
|
||||
|
@ -200,17 +193,6 @@ static void ms_lljoin(struct Client *client_p,
|
|||
}
|
||||
|
||||
/* a user can create a channel with halfops..? */
|
||||
#if 0
|
||||
else if ((flags == CHFL_HALFOP) && (IsCapable(uplink, CAP_HOPS)))
|
||||
{
|
||||
sendto_one(uplink,
|
||||
":%s SJOIN %lu %s + :%%%s",
|
||||
me.name,
|
||||
(unsigned long) chptr->channelts,
|
||||
chptr->chname,
|
||||
nick);
|
||||
}
|
||||
#endif
|
||||
else
|
||||
{
|
||||
sendto_one(uplink,
|
||||
|
@ -230,7 +212,7 @@ static void ms_lljoin(struct Client *client_p,
|
|||
target_p->vhost,
|
||||
root_vchan->chname);
|
||||
|
||||
if( flags & CHFL_CHANOP )
|
||||
if( flags & CHFL_ADMIN )
|
||||
{
|
||||
chptr->mode.mode |= MODE_TOPICLIMIT;
|
||||
chptr->mode.mode |= MODE_NOPRIVMSGS;
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA
|
||||
*
|
||||
* $Id: m_oper.c,v 1.2 2002/08/13 14:45:11 fishwaldo Exp $
|
||||
* $Id: m_oper.c,v 1.3 2002/09/02 07:41:15 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#include "stdinc.h"
|
||||
|
@ -41,6 +41,7 @@
|
|||
#include "msg.h"
|
||||
#include "parse.h"
|
||||
#include "modules.h"
|
||||
#include "packet.h"
|
||||
|
||||
|
||||
static struct ConfItem *find_password_aconf(char *name, struct Client *source_p);
|
||||
|
@ -73,7 +74,7 @@ _moddeinit(void)
|
|||
mod_del_cmd(&oper_msgtab);
|
||||
}
|
||||
|
||||
const char *_version = "$Revision: 1.2 $";
|
||||
const char *_version = "$Revision: 1.3 $";
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
@ -82,8 +83,9 @@ const char *_version = "$Revision: 1.2 $";
|
|||
** parv[1] = oper name
|
||||
** parv[2] = oper password
|
||||
*/
|
||||
static void m_oper(struct Client *client_p, struct Client *source_p,
|
||||
int parc, char *parv[])
|
||||
static void
|
||||
m_oper(struct Client *client_p, struct Client *source_p,
|
||||
int parc, char *parv[])
|
||||
{
|
||||
struct ConfItem *aconf;
|
||||
struct ConfItem *oconf = NULL;
|
||||
|
@ -101,40 +103,44 @@ static void m_oper(struct Client *client_p, struct Client *source_p,
|
|||
return;
|
||||
}
|
||||
|
||||
if( (aconf = find_password_aconf(name,source_p)) == NULL)
|
||||
/* end the grace period */
|
||||
if(!IsFloodDone(source_p))
|
||||
flood_endgrace(source_p);
|
||||
|
||||
if((aconf = find_password_aconf(name,source_p)) == NULL)
|
||||
{
|
||||
sendto_one(source_p, form_str(ERR_NOOPERHOST), me.name, source_p->name);
|
||||
if (ConfigFileEntry.failed_oper_notice)
|
||||
{
|
||||
sendto_realops_flags(FLAGS_ALL, L_ALL,
|
||||
"Failed OPER attempt - host mismatch by %s (%s@%s)",
|
||||
source_p->name, source_p->username, source_p->host);
|
||||
source_p->name, source_p->username,
|
||||
source_p->host);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if ( match_oper_password(password,aconf) )
|
||||
if (match_oper_password(password,aconf))
|
||||
{
|
||||
/*
|
||||
20001216:
|
||||
detach old iline
|
||||
-einride
|
||||
*/
|
||||
ptr = source_p->localClient->confs.head;
|
||||
if (ptr)
|
||||
if ((ptr = source_p->localClient->confs.head) != NULL)
|
||||
{
|
||||
|
||||
oconf = ptr->data;
|
||||
detach_conf(source_p,oconf);
|
||||
}
|
||||
|
||||
if( attach_conf(source_p, aconf) != 0 )
|
||||
if(attach_conf(source_p, aconf) != 0)
|
||||
{
|
||||
sendto_one(source_p,":%s NOTICE %s :Can't attach conf!",
|
||||
me.name,source_p->name);
|
||||
sendto_realops_flags(FLAGS_ALL, L_ALL,
|
||||
"Failed OPER attempt by %s (%s@%s) can't attach conf!",
|
||||
source_p->name, source_p->username, source_p->host);
|
||||
source_p->name, source_p->username,
|
||||
source_p->host);
|
||||
/*
|
||||
20001216:
|
||||
Reattach old iline
|
||||
|
@ -144,7 +150,7 @@ static void m_oper(struct Client *client_p, struct Client *source_p,
|
|||
return;
|
||||
}
|
||||
|
||||
oper_up( source_p, aconf );
|
||||
oper_up(source_p, aconf);
|
||||
|
||||
ilog(L_TRACE, "OPER %s by %s!%s@%s",
|
||||
name, source_p->name, source_p->username, source_p->host);
|
||||
|
@ -158,7 +164,8 @@ static void m_oper(struct Client *client_p, struct Client *source_p,
|
|||
{
|
||||
sendto_realops_flags(FLAGS_ALL, L_ALL,
|
||||
"Failed OPER attempt by %s (%s@%s)",
|
||||
source_p->name, source_p->username, source_p->host);
|
||||
source_p->name, source_p->username,
|
||||
source_p->host);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -169,8 +176,9 @@ static void m_oper(struct Client *client_p, struct Client *source_p,
|
|||
** parv[1] = oper name
|
||||
** parv[2] = oper password
|
||||
*/
|
||||
static void mo_oper(struct Client *client_p, struct Client *source_p,
|
||||
int parc, char *parv[])
|
||||
static void
|
||||
mo_oper(struct Client *client_p, struct Client *source_p,
|
||||
int parc, char *parv[])
|
||||
{
|
||||
sendto_one(source_p, form_str(RPL_YOUREOPER), me.name, parv[0]);
|
||||
SendMessageFile(source_p, &ConfigFileEntry.opermotd);
|
||||
|
@ -183,8 +191,9 @@ static void mo_oper(struct Client *client_p, struct Client *source_p,
|
|||
** parv[1] = oper name
|
||||
** parv[2] = oper password
|
||||
*/
|
||||
static void ms_oper(struct Client *client_p, struct Client *source_p,
|
||||
int parc, char *parv[])
|
||||
static void
|
||||
ms_oper(struct Client *client_p, struct Client *source_p,
|
||||
int parc, char *parv[])
|
||||
{
|
||||
/* if message arrived from server, trust it, and set to oper */
|
||||
|
||||
|
@ -207,19 +216,19 @@ static void ms_oper(struct Client *client_p, struct Client *source_p,
|
|||
* output -
|
||||
*/
|
||||
|
||||
static struct ConfItem *find_password_aconf(char *name, struct Client *source_p)
|
||||
static struct ConfItem *
|
||||
find_password_aconf(char *name, struct Client *source_p)
|
||||
{
|
||||
struct ConfItem *aconf;
|
||||
|
||||
if (!(aconf = find_conf_exact(name, source_p->username, source_p->host,
|
||||
CONF_OPERATOR)) &&
|
||||
!(aconf = find_conf_exact(name, source_p->username,
|
||||
source_p->localClient->sockhost,
|
||||
CONF_OPERATOR)))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
return(aconf);
|
||||
if ((aconf = find_conf_exact(name, source_p->username, source_p->host,
|
||||
CONF_OPERATOR)) != NULL)
|
||||
return aconf;
|
||||
else if ((aconf = find_conf_exact(name, source_p->username,
|
||||
source_p->localClient->sockhost,
|
||||
CONF_OPERATOR)) != NULL)
|
||||
return aconf;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -231,13 +240,13 @@ static struct ConfItem *find_password_aconf(char *name, struct Client *source_p)
|
|||
* side effects - none
|
||||
*/
|
||||
|
||||
static int match_oper_password(char *password,
|
||||
struct ConfItem *aconf)
|
||||
static int
|
||||
match_oper_password(char *password, struct ConfItem *aconf)
|
||||
{
|
||||
char *encr;
|
||||
|
||||
if (!aconf->status & CONF_OPERATOR)
|
||||
return NO;
|
||||
return (NO);
|
||||
|
||||
/* XXX another #ifdef that should go */
|
||||
#ifdef CRYPT_OPER_PASSWORD
|
||||
|
@ -250,7 +259,7 @@ static int match_oper_password(char *password,
|
|||
|
||||
/* passwd may be NULL pointer. Head it off at the pass... */
|
||||
if (aconf->passwd == NULL)
|
||||
return NO;
|
||||
return (NO);
|
||||
|
||||
if (password && *aconf->passwd)
|
||||
encr = crypt(password, aconf->passwd);
|
||||
|
@ -261,7 +270,7 @@ static int match_oper_password(char *password,
|
|||
#endif /* CRYPT_OPER_PASSWORD */
|
||||
|
||||
if (strcmp(encr, aconf->passwd) == 0)
|
||||
return YES;
|
||||
return (YES);
|
||||
else
|
||||
return NO;
|
||||
return (NO);
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA
|
||||
*
|
||||
* $Id: m_whois.c,v 1.3 2002/09/02 04:11:00 fishwaldo Exp $
|
||||
* $Id: m_whois.c,v 1.4 2002/09/02 07:41:15 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#include "stdinc.h"
|
||||
|
@ -35,6 +35,7 @@
|
|||
#include "numeric.h"
|
||||
#include "s_conf.h"
|
||||
#include "s_serv.h"
|
||||
#include "s_user.h"
|
||||
#include "send.h"
|
||||
#include "list.h"
|
||||
#include "irc_string.h"
|
||||
|
@ -75,7 +76,7 @@ _moddeinit(void)
|
|||
mod_del_cmd(&whois_msgtab);
|
||||
}
|
||||
|
||||
const char *_version = "$Revision: 1.3 $";
|
||||
const char *_version = "$Revision: 1.4 $";
|
||||
#endif
|
||||
/*
|
||||
** m_whois
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA
|
||||
*
|
||||
* $Id: channel_mode.c,v 1.6 2002/09/02 04:11:00 fishwaldo Exp $
|
||||
* $Id: channel_mode.c,v 1.7 2002/09/02 07:41:15 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#include "stdinc.h"
|
||||
|
@ -2206,6 +2206,8 @@ static void mode_get_status(struct Channel *chptr, struct Client *target_p,
|
|||
else {
|
||||
*t_op = 0;
|
||||
*t_hop = 0;
|
||||
*t_voice = 0;
|
||||
*t_admin = 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < mode_count; i++)
|
||||
|
@ -2219,8 +2221,16 @@ static void mode_get_status(struct Channel *chptr, struct Client *target_p,
|
|||
*t_hop = (mode_changes[i].dir == MODE_ADD) ? 1 : 0;
|
||||
return;
|
||||
}
|
||||
else if (mode_changes[i].letter == 'v')
|
||||
else if (mode_changes[i].letter == 'v')
|
||||
{
|
||||
*t_voice = (mode_changes[i].dir == MODE_ADD) ? 1 : 0;
|
||||
return;
|
||||
}
|
||||
else if (mode_changes[i].letter == 'a')
|
||||
{
|
||||
*t_admin = (mode_changes[i].dir == MODE_ADD) ? 1 : 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
11
src/s_user.c
11
src/s_user.c
|
@ -19,7 +19,7 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA
|
||||
*
|
||||
* $Id: s_user.c,v 1.4 2002/08/16 12:05:37 fishwaldo Exp $
|
||||
* $Id: s_user.c,v 1.5 2002/09/02 07:41:15 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#include "stdinc.h"
|
||||
|
@ -93,6 +93,7 @@ static struct flag_item user_modes[] =
|
|||
{FLAGS_SPY, 'y'},
|
||||
{FLAGS_OPERWALL, 'z'},
|
||||
{FLAGS_HIDDEN, 'x'},
|
||||
{FLAGS_REGNICK, 'r'},
|
||||
{0, 0}
|
||||
};
|
||||
|
||||
|
@ -150,7 +151,7 @@ int user_modes_from_c_to_bitmask[] =
|
|||
FLAGS_OPER, /* o */
|
||||
0, /* p */
|
||||
0, /* q */
|
||||
0, /* r */
|
||||
FLAGS_REGNICK, /* r */
|
||||
FLAGS_SERVNOTICE, /* s */
|
||||
0, /* t */
|
||||
FLAGS_UNAUTH, /* u */
|
||||
|
@ -1124,6 +1125,12 @@ user_mode(struct Client *client_p, struct Client *source_p, int parc, char *parv
|
|||
me.name, parv[0]);
|
||||
source_p->umodes &= ~FLAGS_SERVICES;
|
||||
}
|
||||
if ((!IsServer(client_p) || !IsUlined(client_p)) && source_p->umodes & FLAGS_REGNICK)
|
||||
{
|
||||
sendto_one(source_p, ":%s NOTICE %s :*** Only Services can set +r",
|
||||
me.name, parv[0]);
|
||||
source_p->umodes &= ~FLAGS_REGNICK;
|
||||
}
|
||||
|
||||
if (!(setflags & FLAGS_INVISIBLE) && IsInvisible(source_p))
|
||||
++Count.invisi;
|
||||
|
|
Reference in a new issue