1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-06 20:23:13 +02:00
Files
unrealircd/src/modules/extbans/Makefile.in
T
Bram Matthys ee1d6818b4 Add +b/+e/+I ~inherit:#channel to inherit channel bans from another channel
Several notes:
* This only checks on-JOIN (not on nick change, message, etc)
  for performance reasons
* If the #channel in ~inherit:#channel also contains ~inherit
  entries then those are not processed (no recursion and no looping)
* Only a limited number of ~inherit entries is permitted.
  This will be moved to set:: items in a future commit so you
  can set different amounts for +b/+e/+I ~inherit.
* This is work in progress, UnrealIRCd or the entire world could explode
* Documentation will follow later

Developers:
* Sadly, clean_ban_mask() needed to be changed to have two more
  parameters, 'ban_type' and 'channel' were added at different positions.
  This because the module needs the ban type (EXBTYPE_BAN, EXBTYPE_EXCEPT,
  EXBTYPE_INVEX) and channel because it rejects based on number of
  existing ~inherit entries in the channel... and while is_ok() is called
  for local clients and has all this information, for services clients
  is_ok() is not called so the only way to reject the +beI is through
  xxx_conv_param() which comes from clean_ban_mask().
2024-09-07 21:02:15 +02:00

57 lines
1.9 KiB
Makefile

#************************************************************************
#* IRC - Internet Relay Chat, src/modules/chanmodes/Makefile
#* Copyright (C) Carsten V. Munk 2001 & The UnrealIRCd Team
#*
#* This program is free software; you can redistribute it and/or modify
#* it under the terms of the GNU General Public License as published by
#* the Free Software Foundation; either version 1, or (at your option)
#* any later version.
#*
#* This program is distributed in the hope that it will be useful,
#* but WITHOUT ANY WARRANTY; without even the implied warranty of
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#* GNU General Public License for more details.
#*
#* You should have received a copy of the GNU General Public License
#* along with this program; if not, write to the Free Software
#* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#*/
CC = "==== DO NOT RUN MAKE FROM THIS DIRECTORY ===="
INCLUDES = ../../include/channel.h \
../../include/common.h ../../include/config.h ../../include/dbuf.h \
../../include/dynconf.h ../../include/fdlist.h ../../include/h.h \
../../include/ircsprintf.h \
../../include/license.h \
../../include/modules.h ../../include/modversion.h ../../include/msg.h \
../../include/numeric.h ../../include/dns.h \
../../include/resource.h ../../include/setup.h \
../../include/struct.h ../../include/sys.h \
../../include/types.h \
../../include/version.h ../../include/whowas.h
R_MODULES= \
join.so quiet.so nickchange.so inchannel.so realname.so \
account.so operclass.so certfp.so textban.so msgbypass.so \
timedban.so partmsg.so securitygroup.so \
country.so asn.so flood.so inherit.so
MODULES=$(R_MODULES)
MODULEFLAGS=@MODULEFLAGS@
RM=@RM@
.SUFFIXES:
.SUFFIXES: .c .h .so
all: build
build: $(MODULES)
clean:
$(RM) -f *.o *.so *~ core
%.so: %.c $(INCLUDES)
$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-o $@ $<