From ad62a8365f0545694e5f9ea3ec4d4e41f8132d5e Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Sun, 22 Mar 2015 05:07:17 -0700 Subject: [PATCH] atheme module: add support for +u Closes #25 --- extra/services/atheme/elemental-ircd.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/extra/services/atheme/elemental-ircd.c b/extra/services/atheme/elemental-ircd.c index 55c79ea..4f813ec 100644 --- a/extra/services/atheme/elemental-ircd.c +++ b/extra/services/atheme/elemental-ircd.c @@ -12,7 +12,30 @@ #include "atheme.h" #include "uplink.h" #include "pmodule.h" -#include "protocol/shadowircd.h" + +/* Extended channel modes will eventually go here. */ +/* Note that these are involved in atheme.db file format */ +#define CMODE_NOCOLOR 0x00001000 /* hyperion +c */ +#define CMODE_REGONLY 0x00002000 /* hyperion +r */ +#define CMODE_OPMOD 0x00004000 /* hyperion +z */ +#define CMODE_FINVITE 0x00008000 /* hyperion +g */ +#define CMODE_EXLIMIT 0x00010000 /* charybdis +L */ +#define CMODE_PERM 0x00020000 /* charybdis +P */ +#define CMODE_FTARGET 0x00040000 /* charybdis +F */ +#define CMODE_DISFWD 0x00080000 /* charybdis +Q */ +#define CMODE_NOCTCP 0x00100000 /* charybdis +C */ +#define CMODE_IMMUNE 0x00200000 /* shadowircd +M */ +#define CMODE_ADMINONLY 0x00400000 /* shadowircd +A */ +#define CMODE_OPERONLY 0x00800000 /* shadowircd +O */ +#define CMODE_SSLONLY 0x01000000 /* shadowircd +S */ +#define CMODE_NOACTIONS 0x02000000 /* shadowircd +D */ +#define CMODE_NONOTICE 0x04000000 /* shadowircd +T */ +#define CMODE_NOCAPS 0x08000000 /* shadowircd +G */ +#define CMODE_NOKICKS 0x10000000 /* shadowircd +E */ +#define CMODE_NONICKS 0x20000000 /* shadowircd +N */ +#define CMODE_NOREPEAT 0x40000000 /* shadowircd +K */ +#define CMODE_KICKNOREJOIN 0x80000000 /* shadowircd +J */ +#define CMODE_HIDEBANS 0x100000000 /* elemental +u */ DECLARE_MODULE_V1("protocol/elemental-ircd", true, _modinit, NULL, PACKAGE_STRING, "PonyChat Development Group "); @@ -71,6 +94,7 @@ struct cmode_ elemental_mode_list[] = { { 'd', CMODE_NONICKS }, { 'K', CMODE_NOREPEAT }, { 'J', CMODE_KICKNOREJOIN }, + { 'u', CMODE_HIDEBANS }, { '\0', 0 } };