/* PlexusIRCD IRCD functions
*
* (C) 2003 Anope Team
* Contact us at info@anope.org
*
* Please read COPYING and README for furhter details.
*
* Based on the original code of Epona by Lara.
* Based on the original code of Services by Andy Church.
*
*
*/
#include "services.h"
#include "pseudo.h"
#ifdef IRC_PLEXUS
const char version_protocol[] = "PleXusIRCd 2.0+";
/* Not all ircds use +f for their flood/join throttle system */
const char flood_mode_char_set[] = ""; /* mode char for FLOOD mode on set */
const char flood_mode_char_remove[] = ""; /* mode char for FLOOD mode on remove */
int UseTSMODE = 0;
IRCDVar ircd[] = {
{"PleXusIRCd 2.0+", /* ircd name */
"+oiSR", /* nickserv mode */
"+oiSR", /* chanserv mode */
"+oiSR", /* memoserv mode */
"+oiSR", /* hostserv mode */
"+oaiSR", /* operserv mode */
"+oiSR", /* botserv mode */
"+oiSR", /* helpserv mode */
"+oiSR", /* Dev/Null mode */
"+oiSR", /* Global mode */
"+oiSR", /* nickserv alias mode */
"+oiSR", /* chanserv alias mode */
"+oiSR", /* memoserv alias mode */
"+oiSR", /* hostserv alias mode */
"+oaiSR", /* operserv alias mode */
"+oiSR", /* botserv alias mode */
"+oiSR", /* helpserv alias mode */
"+oiSR", /* Dev/Null alias mode */
"+oiSR", /* Global alias mode */
"+iSR", /* Used by BotServ Bots */
3, /* Chan Max Symbols */
"-acilmnpstMNORZ", /* Modes to Remove */
"+o", /* Channel Umode used by Botserv bots */
1, /* SVSNICK */
1, /* Vhost */
0, /* Has Owner */
NULL, /* Mode to set for an owner */
NULL, /* Mode to unset for an owner */
"+R", /* Mode On Reg */
"-R", /* Mode on UnReg */
"-R", /* Mode on Nick Change */
0, /* Supports SGlines */
1, /* Supports SQlines */
0, /* Supports SZlines */
1, /* Supports Halfop +h */
3, /* Number of server args */
0, /* Join 2 Set */
0, /* Join 2 Message */
1, /* Has exceptions +e */
0, /* TS Topic Forward */
0, /* TS Topci Backward */
0, /* Protected Umode */
0, /* Has Admin */
1, /* Chan SQlines */
0, /* Quit on Kill */
0, /* SVSMODE unban */
0, /* Has Protect */
0, /* Reverse */
0, /* Chan Reg */
0, /* Channel Mode */
0, /* vidents */
0, /* svshold */
0, /* time stamp on mode */
0, /* NICKIP */
0, /* UMODE */
0, /* O:LINE */
1, /* VHOST ON NICK */
0, /* Change RealName */
0, /* ChanServ extra */
CMODE_p, /* No Knock */
0, /* Admin Only */
DEFAULT_MLOCK, /* Default MLOCK */
UMODE_h, /* Vhost Mode */
0, /* +f */
0, /* +L */
0, /* +f Mode */
0, /* +L Mode */
0, /* On nick change check if they could be identified */
0, /* No Knock requires +i */
NULL, /* CAPAB Chan Modes */
0, /* We support TOKENS */
1, /* TOKENS are CASE inSensitive */
0, /* TIME STAMPS are BASE64 */
1, /* +I support */
0, /* SJOIN ban char */
0, /* SJOIN except char */
0, /* Can remove User Channel Modes with SVSMODE */
0, /* Sglines are not enforced until user reconnects */
}
,
{NULL}
};
IRCDCAPAB ircdcap[] = {
{
0, /* NOQUIT */
0, /* TSMODE */
0, /* UNCONNECT */
0, /* NICKIP */
0, /* SJOIN */
CAPAB_ZIP, /* ZIP */
0, /* BURST */
CAPAB_TS5, /* TS5 */
0, /* TS3 */
0, /* DKEY */
0, /* PT4 */
0, /* SCS */
CAPAB_QS, /* QS */
CAPAB_UID, /* UID */
CAPAB_KNOCK, /* KNOCK */
0, /* CLIENT */
0, /* IPV6 */
0, /* SSJ5 */
0, /* SN2 */
0, /* TOKEN */
0, /* VHOST */
0, /* SSJ3 */
0, /* NICK2 */
0, /* UMODE2 */
0, /* VL */
0, /* TLKEXT */
0, /* DODKEY */
0, /* DOZIP */
0, 0}
};
void anope_set_umode(User * user, int ac, char **av)
{
int add = 1; /* 1 if adding modes, 0
|