8aabb973c0
The theory behind this is that services sends an ENCAP * GRANT #channel UID :+flagspec message specifying the chanroles the user has. They are mapped into flag bits and applied to the membership of the user. They then are restricted or permitted to what they can do based on the permissions mask regardless of rank. For backwards compatibility, the default permission bit (without a GRANT statement) allows a user to to anything an existing op can do ONLY if they are an op. Todo: make CHANROLE_STATUS work (the ability to apply +ov to people), which is at the moment controlled by CHANROLE_MODE.
223 lines
4.6 KiB
Makefile
223 lines
4.6 KiB
Makefile
#
|
|
# Makefile.in for ircd/modules
|
|
#
|
|
# $Id: Makefile.in 3372 2007-04-03 10:18:07Z nenolod $
|
|
#
|
|
CC = @CC@
|
|
AR = @AR@
|
|
RANLIB = @RANLIB@
|
|
RM = @RM@
|
|
SED = @SED@
|
|
LEX = @LEX@
|
|
LEXLIB = @LEXLIB@
|
|
CFLAGS = @IRC_CFLAGS@ -DIRCD_PREFIX=\"@prefix@\"
|
|
PICFLAGS = @PICFLAGS@
|
|
MKDEP = @MKDEP@ -DIRCD_PREFIX=\"@prefix@\"
|
|
INSTALL = @INSTALL@
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
INSTALL_DATA = @INSTALL_DATA@
|
|
INSTALL_SUID = @INSTALL_PROGRAM@ -o root -m 4755
|
|
SEDOBJ = @SEDOBJ@
|
|
SHELL = /bin/sh
|
|
MV = @MV@
|
|
LD = @LD@
|
|
|
|
SSL_LIBS = @SSL_LIBS@
|
|
SSL_INCLUDES = @SSL_INCLUDES@
|
|
|
|
IRCDLIBS = @LIBS@ $(SSL_LIBS)
|
|
|
|
prefix = @prefix@
|
|
moduledir = @moduledir@
|
|
# Change this later! -- adrian
|
|
automoduledir = @moduledir@/autoload
|
|
|
|
INCLUDES = -I../include -I../libratbox/include $(SSL_INCLUDES)
|
|
CPPFLAGS = ${INCLUDES} @CPPFLAGS@
|
|
|
|
CORE_SRCS = \
|
|
core/m_ban.c \
|
|
core/m_die.c \
|
|
core/m_error.c \
|
|
core/m_join.c \
|
|
core/m_kick.c \
|
|
core/m_kill.c \
|
|
core/m_message.c \
|
|
core/m_mode.c \
|
|
core/m_nick.c \
|
|
core/m_part.c \
|
|
core/m_quit.c \
|
|
core/m_server.c \
|
|
core/m_squit.c
|
|
|
|
TSRCS = \
|
|
m_accept.c \
|
|
m_admin.c \
|
|
m_away.c \
|
|
m_cap.c \
|
|
m_capab.c \
|
|
m_certfp.c \
|
|
m_challenge.c \
|
|
m_chghost.c \
|
|
m_close.c \
|
|
m_cmessage.c \
|
|
m_connect.c \
|
|
m_dline.c \
|
|
m_encap.c \
|
|
m_etrace.c \
|
|
m_grant.c \
|
|
m_help.c \
|
|
m_info.c \
|
|
m_invite.c \
|
|
m_ison.c \
|
|
m_kline.c \
|
|
m_knock.c \
|
|
m_links.c \
|
|
m_list.c \
|
|
m_locops.c \
|
|
m_lusers.c \
|
|
m_map.c \
|
|
m_monitor.c \
|
|
m_motd.c \
|
|
m_names.c \
|
|
m_oper.c \
|
|
m_operspy.c \
|
|
m_pass.c \
|
|
m_ping.c \
|
|
m_pong.c \
|
|
m_post.c \
|
|
m_privs.c \
|
|
m_rehash.c \
|
|
m_restart.c \
|
|
m_resv.c \
|
|
m_sasl.c \
|
|
m_scan.c \
|
|
m_services.c \
|
|
m_set.c \
|
|
m_signon.c \
|
|
m_snote.c \
|
|
m_stats.c \
|
|
m_svinfo.c \
|
|
m_tb.c \
|
|
m_testline.c \
|
|
m_testmask.c \
|
|
m_time.c \
|
|
m_topic.c \
|
|
m_trace.c \
|
|
m_user.c \
|
|
m_userhost.c \
|
|
m_users.c \
|
|
m_version.c \
|
|
m_wallops.c \
|
|
m_who.c \
|
|
m_whois.c \
|
|
m_whowas.c \
|
|
m_unreject.c \
|
|
m_xline.c \
|
|
sno_routing.c
|
|
|
|
SRCS = ${TSRCS}
|
|
|
|
ALL_SRCS = $(CORE_SRCS) \
|
|
$(SRCS)
|
|
|
|
SH_OBJS = ${SRCS:.c=.so}
|
|
SH_CORE_OBJS = ${CORE_SRCS:.c=.so}
|
|
|
|
HPUX_OBJS = ${SH_OBJS:.so=.sl}
|
|
HPUX_CORE_OBJS = ${SH_CORE_OBJS:.so=.sl}
|
|
|
|
S_OBJS = ${ALL_SRCS:.c=.o}
|
|
|
|
DOLLAR = $$
|
|
|
|
default: build
|
|
build: all
|
|
all: @MOD_TARGET@
|
|
|
|
shared_modules: $(SH_CORE_OBJS) $(SH_OBJS)
|
|
|
|
hpux_modules: $(HPUX_CORE_OBJS) $(HPUX_OBJS)
|
|
|
|
hpux_shared: $(SH_CORE_OBJS) $(SH_OBJS)
|
|
${MAKE} hpux_modules
|
|
|
|
static_modules.c: static_modules.c.SH
|
|
/bin/sh ./static_modules.c.SH $(S_OBJS)
|
|
|
|
libmodules.a: $(S_OBJS) static_modules.o
|
|
$(RM) -f $@
|
|
$(AR) cqv $@ $(S_OBJS) static_modules.o
|
|
$(RANLIB) $@
|
|
|
|
|
|
install-mkdirs:
|
|
@echo "ircd: setting up modular directory structure"
|
|
-@if test ! -d $(DESTDIR)$(moduledir); then \
|
|
mkdir $(DESTDIR)$(moduledir); \
|
|
fi
|
|
-@if test -d $(DESTDIR)$(moduledir)-old; then \
|
|
rm -rf $(DESTDIR)$(moduledir)-old; \
|
|
fi
|
|
-@if test -d $(DESTDIR)$(moduledir); then \
|
|
echo "ircd: backing up modules"; \
|
|
mv $(DESTDIR)$(moduledir) $(DESTDIR)$(moduledir)-old; \
|
|
fi
|
|
|
|
@mkdir -p -m 755 $(DESTDIR)$(moduledir)
|
|
@mkdir -p -m 755 $(DESTDIR)$(automoduledir)
|
|
|
|
install: install_@MOD_TARGET@
|
|
|
|
install_libmodules.a: libmodules.a
|
|
# Ye olde noop here.
|
|
|
|
install_shared_modules: install-mkdirs
|
|
@echo "ircd: installing modules"
|
|
@for file in $(SH_CORE_OBJS); do \
|
|
$(INSTALL_DATA) $$file $(DESTDIR)$(moduledir); \
|
|
done
|
|
@for file in $(SH_OBJS); do \
|
|
$(INSTALL_DATA) $$file $(DESTDIR)$(automoduledir); \
|
|
done
|
|
|
|
install_hpux_shared: install-mkdirs
|
|
@echo "ircd: installing modules"
|
|
@for file in $(HPUX_CORE_OBJS); do \
|
|
$(INSTALL_DATA) $$file $(DESTDIR)$(moduledir); \
|
|
done
|
|
@for file in $(HPUX_OBJS); do \
|
|
$(INSTALL_DATA) $$file $(DESTDIR)$(automoduledir); \
|
|
done
|
|
|
|
.SUFFIXES: .sl .so .o
|
|
|
|
.c.o:
|
|
${CC} ${CPPFLAGS} ${CFLAGS} -DMODNAME=`basename $< .c`_mheader -c $< -o $@
|
|
|
|
.c.so:
|
|
${CC} ${PICFLAGS} ${CPPFLAGS} ${CFLAGS} $< -o $@
|
|
|
|
.so.sl:
|
|
$(LD) -b $< -o $@
|
|
|
|
.PHONY: depend clean distclean
|
|
depend:
|
|
@$(RM) -f .depend
|
|
${MKDEP} ${CPPFLAGS} ${ALL_SRCS} > .depend
|
|
@$(SED) -e '${SEDOBJ}' < .depend > .depend.tmp-1
|
|
@$(SED) -e 's#^m_die\.#core/&#' -e 's#^m_error\.#core/&#' -e 's#^m_join\.#core/&#' -e 's#^m_kick\.#core/&#' -e 's#^m_kill\.#core/&#' -e 's#^m_message\.#core/&#' -e 's#^m_mode\.#core/&#' -e 's#^m_nick\.#core/&#' -e 's#^m_part\.#core/&#' -e 's#^m_quit\.#core/&#' -e 's#^m_server\.#core/&#' -e 's#^m_squit\.#core/&#' .depend.tmp-1 > .depend.tmp
|
|
@$(MV) -f .depend.tmp .depend
|
|
@$(RM) -f .depend.tmp-1
|
|
|
|
clean:
|
|
${RM} -f *.so *.sl *~ *.o *.a
|
|
${RM} -f core/*.so core/*.sl core/*~ core/*.o
|
|
|
|
lint:
|
|
lint -aacgprxhH ${CPPFLAGS} -DIRCD_PREFIX=\"@prefix@\" $(ALL_SRCS) >../lint.out
|
|
|
|
distclean: clean
|
|
${RM} -f Makefile
|
|
|
|
include .depend
|