diff options
author | trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b <trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-01-30 21:19:28 +0000 |
---|---|---|
committer | trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b <trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-01-30 21:19:28 +0000 |
commit | f8ac398b86ea6a26dba62064d9810796466e4118 (patch) | |
tree | d216512f4e7f5dcf83e04acd0377890032bdbe49 /src | |
parent | f51d7384c3a31a23f4e587a1f910d68c5aec1951 (diff) |
BUILD : 1.7.8 (564) BUGS : 285 NOTES : Compiling modules under MacOSX, and fixes up some ChanServ stuff
git-svn-id: svn://svn.anope.org/anope/trunk@564 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@416 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile | 2 | ||||
-rw-r--r-- | src/chanserv.c | 52 | ||||
-rw-r--r-- | src/hybrid.c | 2 | ||||
-rw-r--r-- | src/main.c | 5 | ||||
-rw-r--r-- | src/modules/Makefile | 4 | ||||
-rw-r--r-- | src/plexus.c | 2 | ||||
-rw-r--r-- | src/ptlink.c | 6 | ||||
-rw-r--r-- | src/solidircd.c | 2 | ||||
-rw-r--r-- | src/ultimate2.c | 6 |
9 files changed, 54 insertions, 27 deletions
diff --git a/src/Makefile b/src/Makefile index 40ff6ceb9..1e576a74a 100644 --- a/src/Makefile +++ b/src/Makefile @@ -30,7 +30,7 @@ MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'ANOPELIBS=${ANOPELIBS}' \ 'INCLUDEDIR=${INCLUDEDIR}' 'RM=${RM}' 'CP=${CP}' \ 'TOUCH=${TOUCH}' 'SHELL=${SHELL}' 'DATDEST=${DATDEST}' \ 'RUNGROUP=${RUNGROUP}' 'MODULE_PATH=${MODULE_PATH}' 'MYSQL=${MYSQL}'\ - 'RDB=${RDB}' 'IRCDFILE=${IRCDFILE}' + 'RDB=${RDB}' 'IRCDFILE=${IRCDFILE}' 'SHARED=${SHARED}' .c.o: $(CC) $(CFLAGS) -I../include/ -c $< diff --git a/src/chanserv.c b/src/chanserv.c index 02e612baf..affa29519 100644 --- a/src/chanserv.c +++ b/src/chanserv.c @@ -5445,28 +5445,44 @@ static int do_devoice(User * u) static int do_halfop(User * u) { - return do_util(u, &csmodeutils[MUT_HALFOP]); + if (ircd->halfop) { + return do_util(u, &csmodeutils[MUT_HALFOP]); + } else { + return MOD_CONT; + } } /*************************************************************************/ static int do_dehalfop(User * u) { - return do_util(u, &csmodeutils[MUT_DEHALFOP]); + if (ircd->halfop) { + return do_util(u, &csmodeutils[MUT_DEHALFOP]); + } else { + return MOD_CONT; + } } /*************************************************************************/ static int do_protect(User * u) { - return do_util(u, &csmodeutils[MUT_PROTECT]); + if (ircd->protect || ircd->admin) { + return do_util(u, &csmodeutils[MUT_PROTECT]); + } else { + return MOD_CONT; + } } /*************************************************************************/ static int do_deprotect(User * u) { - return do_util(u, &csmodeutils[MUT_DEPROTECT]); + if (ircd->protect || ircd->admin) { + return do_util(u, &csmodeutils[MUT_DEPROTECT]); + } else { + return MOD_CONT; + } } /*************************************************************************/ @@ -5478,11 +5494,14 @@ static int do_owner(User * u) Channel *c; ChannelInfo *ci; + struct u_chanlist *uc; - if (!chan) { - struct u_chanlist *uc; + if (!ircd->owner) { + return MOD_CONT; + } - av[0] = sstrdup("+q"); + if (!chan) { + av[0] = sstrdup(ircd->ownerset); av[1] = u->nick; /* Sets the mode to the user on every channels he is on. */ @@ -5511,9 +5530,10 @@ static int do_owner(User * u) } else if (!is_founder(u, ci)) { notice_lang(s_ChanServ, u, ACCESS_DENIED); } else { - anope_cmd_mode(whosends(ci), c->name, "+q %s", u->nick); + anope_cmd_mode(whosends(ci), c->name, "%s %s", ircd->ownerset, + u->nick); - av[0] = sstrdup("+q"); + av[0] = sstrdup(ircd->ownerset); av[1] = u->nick; chan_set_modes(s_ChanServ, c, 2, av, 1); free(av[0]); @@ -5530,11 +5550,14 @@ static int do_deowner(User * u) Channel *c; ChannelInfo *ci; + struct u_chanlist *uc; - if (!chan) { - struct u_chanlist *uc; + if (!ircd->owner) { + return MOD_CONT; + } - av[0] = sstrdup("-q"); + if (!chan) { + av[0] = sstrdup(ircd->ownerunset); av[1] = u->nick; /* Sets the mode to the user on every channels he is on. */ @@ -5563,9 +5586,10 @@ static int do_deowner(User * u) } else if (!is_founder(u, ci)) { notice_lang(s_ChanServ, u, ACCESS_DENIED); } else { - anope_cmd_mode(whosends(ci), c->name, "-q %s", u->nick); + anope_cmd_mode(whosends(ci), c->name, "%s %s", ircd->ownerunset, + u->nick); - av[0] = sstrdup("-q"); + av[0] = sstrdup(ircd->ownerunset); av[1] = u->nick; chan_set_modes(s_ChanServ, c, 2, av, 1); free(av[0]); diff --git a/src/hybrid.c b/src/hybrid.c index f48aa122f..e8ddbe477 100644 --- a/src/hybrid.c +++ b/src/hybrid.c @@ -82,7 +82,7 @@ IRCDVar ircd[] = { 0, /* O:LINE */ 0, /* VHOST ON NICK */ 0, /* Change RealName */ - 0, /* ChanServ extra */ + CHAN_HELP_IRCD_HALFOP, /* ChanServ extra */ CMODE_p, /* No Knock */ 0, /* Admin Only */ DEFAULT_MLOCK, /* Default MLOCK */ diff --git a/src/main.c b/src/main.c index e544a4435..6ff76b67f 100644 --- a/src/main.c +++ b/src/main.c @@ -619,6 +619,9 @@ void do_backtrace(int show_segheader) free(strings); alog("Backtrace: complete"); #else - alog("Backtrace: not available on this platform"); + if (show_segheader) { + alog("Backtrace: Segmentation fault detected"); + } + alog("Backtrace: not available on this system"); #endif } diff --git a/src/modules/Makefile b/src/modules/Makefile index 66bf442a1..54b126b11 100644 --- a/src/modules/Makefile +++ b/src/modules/Makefile @@ -5,7 +5,7 @@ MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'ANOPELIBS=${ANOPELIBS}' \ 'INCLUDEDIR=${INCLUDEDIR}' 'RM=${RM}' 'CP=${CP}' \ 'TOUCH=${TOUCH}' 'SHELL=${SHELL}' 'DATDEST=${DATDEST}' \ 'RUNGROUP=${RUNGROUP}' 'MODULE_PATH=${MODULE_PATH}' \ - 'PROFILE=${PROFILE}' + 'PROFILE=${PROFILE}' 'SHARED=${SHARED}' OBJECTS= $(SRCS:.c=.o) SO_FILES=$(OBJECTS:.o=.s) @@ -25,7 +25,7 @@ distclean: clean spotless $(CC) $(CFLAGS) -I../${INCLUDEDIR} -c $< .o.s: - $(CC) -shared $< -o $*.so ${PROFILE} + $(CC) ${SHARED} $< -o $*.so ${PROFILE} clean: rm -f *.o *.so *.c~ core diff --git a/src/plexus.c b/src/plexus.c index 835fcbc30..8408c9018 100644 --- a/src/plexus.c +++ b/src/plexus.c @@ -82,7 +82,7 @@ IRCDVar ircd[] = { 0, /* O:LINE */ 1, /* VHOST ON NICK */ 0, /* Change RealName */ - 0, /* ChanServ extra */ + CHAN_HELP_IRCD_HALFOP, /* ChanServ extra */ CMODE_p, /* No Knock */ 0, /* Admin Only */ DEFAULT_MLOCK, /* Default MLOCK */ diff --git a/src/ptlink.c b/src/ptlink.c index 63ca9b117..1cc053d11 100644 --- a/src/ptlink.c +++ b/src/ptlink.c @@ -79,13 +79,13 @@ IRCDVar ircd[] = { 0, /* time stamp on mode */ 0, /* NICKIP */ 0, /* O:LINE */ - 1, /* UMODE */ + 1, /* UMODE */ 1, /* VHOST ON NICK */ 0, /* Change RealName */ - 0, /* ChanServ extra */ + CHAN_HELP_IRCD_PROTECT, /* ChanServ extra */ CMODE_K, /* No Knock */ CMODE_A, /* Admin Only */ - DEFAULT_MLOCK, /* Default MLOCK */ + DEFAULT_MLOCK, /* Default MLOCK */ UMODE_o, /* Vhost Mode */ 1, /* +f */ 0, /* +L */ diff --git a/src/solidircd.c b/src/solidircd.c index 03ef11fc5..80bf21310 100644 --- a/src/solidircd.c +++ b/src/solidircd.c @@ -84,7 +84,7 @@ IRCDVar ircd[] = { 1, /* UMODE */ 0, /* VHOST ON NICK */ 0, /* Change RealName */ - 0, /* ChanServ extra */ + CHAN_HELP_IRCD_HALFOP, /* ChanServ extra */ 0, /* No Knock */ 0, /* Admin Only */ DEFAULT_MLOCK, /* Default MLOCK */ diff --git a/src/ultimate2.c b/src/ultimate2.c index 7b1049650..7acc22f05 100644 --- a/src/ultimate2.c +++ b/src/ultimate2.c @@ -79,13 +79,13 @@ IRCDVar ircd[] = { 1, /* time stamp on mode */ 0, /* NICKIP */ 0, /* O:LINE */ - 1, /* UMODE */ + 1, /* UMODE */ 0, /* VHOST ON NICK */ 1, /* Change RealName */ - CHAN_HELP_ULTIMATE, /* ChanServ extra */ + CHAN_HELP_IRCD_HALFOP, /* ChanServ extra */ CMODE_K, /* No Knock */ CMODE_A, /* Admin Only */ - DEFAULT_MLOCK, /* Default MLOCK */ + DEFAULT_MLOCK, /* Default MLOCK */ UMODE_x, /* Vhost Mode */ 1, /* +f */ 1, /* +L */ |