mirror of
https://github.com/anope/anope.git
synced 2026-06-25 02:46:37 +02:00
BUILD : 1.7.13 (956) BUGS : NOTES : applied patch provided by trystan
git-svn-id: svn://svn.anope.org/anope/trunk@956 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@683 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
parent
d86dddd6e7
commit
0dc104f20d
@@ -1,11 +1,27 @@
|
||||
Anope Version S V N
|
||||
--------------------
|
||||
Provided by Anope Dev. <dev@anope.org> - 2005
|
||||
01/14 F SGLines will now be removed correctly. [ #00]
|
||||
01/14 F SGLines will now be removed correctly. [#413]
|
||||
|
||||
Provided by nenolod. <nenolod@nenolod.net> - 2005
|
||||
01/15 F va_arg issue on various 64bit platforms. [#415]
|
||||
|
||||
Provided by Trystan <trystan@nomadirc.net> - 2005
|
||||
01/21 A Added EVENT_CHAN_KICK to the events for when a users is kicked [ #00]
|
||||
01/21 A Added NULL param checks for add_invite() and add_exception() [#419]
|
||||
01/21 F segfault in moduleNoticeLang() when mixed arguments types used. [#421]
|
||||
01/21 F fixed Ultimate3 protocol so it can do channel sqline again. [#412]
|
||||
01/21 F EVENT_PART_CHANNEL sent on /join 0 [#417]
|
||||
01/21 F serval function channel.c where not TS6 friendly. [#418]
|
||||
01/21 F Fixed memory leak in do_mass_mode() [#420]
|
||||
01/21 F Fixed inspircd compiler warnings / synced with inspircd svn. [#422]
|
||||
01/21 F Fixed va_copy() which is not found on all operating systems. [ #00]
|
||||
01/21 F Cleaned up more make strict warnings. [ #00]
|
||||
01/23 F Updated config.guess and config.sub. [ #00]
|
||||
|
||||
Provided by Heinz <heinz@anope.org>
|
||||
01/21 A Added support for Visual Studio 2005 [#408]
|
||||
|
||||
|
||||
Anope Version 1.7.13
|
||||
--------------------
|
||||
@@ -119,7 +135,7 @@ Provided by Trystan <trystan@nomadirc.net> - 2005
|
||||
09/18 F MySQL detection for win32 in install.vbs had issues. [ #00]
|
||||
09/18 F Memleak when AddAkiller was enabled. [ #00]
|
||||
09/13 F Reduntant IRCD defines removed. [ #00]
|
||||
09/13 F Double Makedile generation. [ #00]
|
||||
09/13 F Double Makefile generation. [ #00]
|
||||
09/06 F Memory for vHosts/vIdents was not (always) being freed. [ #00]
|
||||
06/04 F Removed ircd-file related code from configure(.in) [#384]
|
||||
|
||||
|
||||
@@ -8548,6 +8548,69 @@ _ACEOF
|
||||
|
||||
fi;
|
||||
|
||||
echo "$as_me:$LINENO: checking whether va_list assignments need array notation" >&5
|
||||
echo $ECHO_N "checking whether va_list assignments need array notation... $ECHO_C" >&6
|
||||
if test "${ac_cv_valistisarray+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
if test "$cross_compiling" = yes; then
|
||||
ac_cv_valistisarray=false
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
void foo(int i, ...) {
|
||||
va_list ap1, ap2;
|
||||
va_start(ap1, i);
|
||||
ap2 = ap1;
|
||||
if (va_arg(ap2, int) != 123 || va_arg(ap1, int) != 123) { exit(1); }
|
||||
va_end(ap1); va_end(ap2);
|
||||
}
|
||||
int main()
|
||||
{ foo(0, 123); return(0); }
|
||||
_ACEOF
|
||||
rm -f conftest$ac_exeext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
|
||||
(eval $ac_link) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
ac_cv_valistisarray=false
|
||||
else
|
||||
echo "$as_me: program exited with status $ac_status" >&5
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
( exit $ac_status )
|
||||
ac_cv_valistisarray=true
|
||||
fi
|
||||
rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if test "$ac_cv_valistisarray" = true ; then
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define HAVE_VA_LIST_AS_ARRAY 1
|
||||
_ACEOF
|
||||
|
||||
echo "$as_me:$LINENO: result: yes" >&5
|
||||
echo "${ECHO_T}yes" >&6
|
||||
else
|
||||
echo "$as_me:$LINENO: result: no" >&5
|
||||
echo "${ECHO_T}no" >&6
|
||||
fi
|
||||
|
||||
ac_config_files="$ac_config_files Makefile src/bin/anoperc"
|
||||
|
||||
|
||||
|
||||
@@ -220,6 +220,34 @@ AC_ARG_WITH(encryption, [ --with-encryption Use md5 database encryption], [
|
||||
AC_DEFINE_UNQUOTED(ENCRYPT_MD5,,"Use md5")
|
||||
])
|
||||
|
||||
dnl Does this platform require array notation to assign to a va_list?
|
||||
dnl If cross-compiling, we assume va_list is "normal". If this breaks
|
||||
dnl you, set ac_cv_valistisarray=true and maybe define HAVE_VA_LIST_AS_ARRAY
|
||||
dnl also just to be sure.
|
||||
AC_MSG_CHECKING(whether va_list assignments need array notation)
|
||||
AC_CACHE_VAL(ac_cv_valistisarray,
|
||||
[AC_TRY_RUN([#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
void foo(int i, ...) {
|
||||
va_list ap1, ap2;
|
||||
va_start(ap1, i);
|
||||
ap2 = ap1;
|
||||
if (va_arg(ap2, int) != 123 || va_arg(ap1, int) != 123) { exit(1); }
|
||||
va_end(ap1); va_end(ap2);
|
||||
}
|
||||
int main()
|
||||
{ foo(0, 123); return(0); }],
|
||||
[ac_cv_valistisarray=false],
|
||||
[ac_cv_valistisarray=true],
|
||||
[ac_cv_valistisarray=false])])
|
||||
|
||||
if test "$ac_cv_valistisarray" = true ; then
|
||||
AC_DEFINE(HAVE_VA_LIST_AS_ARRAY)
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
||||
AC_CONFIG_FILES( \
|
||||
Makefile \
|
||||
src/bin/anoperc \
|
||||
|
||||
@@ -239,6 +239,14 @@ Anope Internal Events
|
||||
A channel has been forbidden (ChanServ FORBID).
|
||||
av[0] The name of the channel that has been forbidden.
|
||||
|
||||
EVENT_CHAN_KICK
|
||||
A user has been kicked from channel.
|
||||
av[0] EVENT_START or EVENT_STOP. EVENT_START when the user is about
|
||||
to be removed from the channel internally, EVENT_STOP when
|
||||
this has been done.
|
||||
av[1] The nickname of the user being kicked from the channel.
|
||||
av[2] The name of the channel the user has kicked from.
|
||||
|
||||
EVENT_CHAN_REGISTERED
|
||||
A new channel has been registered.
|
||||
av[0] The name of the channel that has been registered.
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
#define EVENT_CHAN_FORBIDDEN "chan_forbidden"
|
||||
#define EVENT_CHAN_SUSPENDED "chan_suspended"
|
||||
#define EVENT_CHAN_UNSUSPEND "chan_unsuspend"
|
||||
#define EVENT_CHAN_KICK "chan_kicked"
|
||||
#define EVENT_CONNECT "connect"
|
||||
#define EVENT_DB_EXPIRE "db_expire"
|
||||
#define EVENT_RESTART "restart"
|
||||
|
||||
@@ -1343,4 +1343,24 @@ E void eventprintf(char *fmt, ...);
|
||||
E void event_process_hook(char *name, int argc, char **argv);
|
||||
E void send_event(char *name, int argc, ...);
|
||||
|
||||
#ifndef va_copy
|
||||
# ifdef __va_copy
|
||||
# define VA_COPY(DEST,SRC) __va_copy((DEST),(SRC))
|
||||
# else
|
||||
# define VA_COPY(DEST, SRC) memcpy ((&DEST), (&SRC), sizeof(va_list))
|
||||
# endif
|
||||
#else
|
||||
# ifdef HAVE_VA_LIST_AS_ARRAY
|
||||
# define VA_COPY(DEST,SRC) va_copy(*(DEST) = *(SRC))
|
||||
# else
|
||||
# define VA_COPY(DEST, SRC) va_copy(DEST, SRC)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef __STRICT_ANSI__
|
||||
#ifndef fileno
|
||||
int fileno(FILE *stream);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* EXTERN_H */
|
||||
|
||||
@@ -15,6 +15,9 @@
|
||||
/* "" */
|
||||
#undef HAVE_BACKTRACE
|
||||
|
||||
/* "" */
|
||||
#undef HAVE_VA_LIST_AS_ARRAY
|
||||
|
||||
/* Define to 1 if you have the `fork' function. */
|
||||
#undef HAVE_FORK
|
||||
|
||||
@@ -183,6 +186,7 @@ int vprintf(const char *format, va_list ap);
|
||||
int vfprintf(FILE *stream, const char *format, va_list ap);
|
||||
int vsprintf(char *str, const char *format, va_list ap);
|
||||
int vsnprintf(char *str, size_t size, const char *format, va_list ap);
|
||||
int mkstemp(char *template);
|
||||
|
||||
FILE *popen(const char *command, const char *type);
|
||||
int pclose(FILE *stream);
|
||||
|
||||
@@ -219,5 +219,5 @@ void parse_line(FILE * fd, char *line)
|
||||
} else
|
||||
fputc(*c, fd);
|
||||
}
|
||||
fprintf(fd, "\r\n");
|
||||
fprintf(fd, "\n");
|
||||
}
|
||||
|
||||
+42
-5
@@ -35,6 +35,7 @@ Dim verStringShort
|
||||
Dim verStringLong
|
||||
Dim f2
|
||||
Dim i
|
||||
Dim VS2005Dep ' We need to supress deprecation warnings -- heinz
|
||||
|
||||
' Set default values
|
||||
|
||||
@@ -180,7 +181,41 @@ Else
|
||||
' Check for required libraries and paths
|
||||
WScript.Echo "I will now check you have all the things I need..."
|
||||
WScript.Echo ""
|
||||
If (fso.FolderExists(DefaultDrive & ":\Program Files\Microsoft Visual Studio .NET 2003\VC7\Lib")) Then
|
||||
If (fso.FolderExists(DefaultDrive & ":\Program Files\Microsoft Visual Studio 8\VC\Lib")) Then
|
||||
WScript.Echo "I found a copy of Microsoft Visual Studio 2005.."
|
||||
LibPath = DefaultDrive & ":\Program Files\Microsoft Visual Studio 8\VC\Lib"
|
||||
' debug stuff -- heinz
|
||||
LibPath2 = DefaultDrive & ":\Program Files\Microsoft Platform SDK\lib"
|
||||
' LibPath2 = "F:\MSSDK\Lib"
|
||||
If (fso.FileExists(LibPath & "/MSVCRT.lib") = False And fso.FileExists(LibPath2 & "/MSVCRT.lib") = False) Then
|
||||
WScript.Echo "Hm. I can't seem to find the default library.."
|
||||
LibPath = ""
|
||||
LibPath2 = ""
|
||||
ElseIf (fso.FileExists(LibPath & "/wsock32.lib") = False And fso.FileExists(LibPath2 & "/wsock32.lib") = False) Then
|
||||
WScript.Echo "I couldn't seem to find wsock32.lib..You probably haven't downloaded the PlatformSDK.."
|
||||
LibPath = ""
|
||||
LibPath2 = ""
|
||||
ElseIf (fso.FileExists(LibPath & "/advapi32.lib") = False And fso.FileExists(LibPath2 & "/advapi32.lib") = False) Then
|
||||
WScript.Echo "I couldn't seem to find advapi32.lib.. You probably haven't downloaded the PlatformSDK.."
|
||||
LibPath = ""
|
||||
LibPath2 = ""
|
||||
ElseIf (fso.FileExists(LibPath & "/uuid.lib") = False And fso.FileExists(LibPath2 & "/uuid.lib") = False) Then
|
||||
WScript.Echo "I couldn't seem to find uuid.lib.. You probably haven't downloaded the PlatformSDK.."
|
||||
LibPath = ""
|
||||
LibPath2 = ""
|
||||
End If
|
||||
If LibPath = "" Then
|
||||
WScript.Echo ""
|
||||
WScript.Echo "For more details on PlatformSDK Installation visit:"
|
||||
WScript.Echo "http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/"
|
||||
Wscript.Echo ""
|
||||
Else
|
||||
VS2005Dep = " /D_CRT_SECURE_NO_DEPRECATE /w "
|
||||
IncDir = DefaultDrive & ":\Program Files\Microsoft Visual Studio 8\VC\Include"
|
||||
End If
|
||||
End If
|
||||
|
||||
If (fso.FolderExists(DefaultDrive & ":\Program Files\Microsoft Visual Studio .NET 2003\VC7\Lib") And LibPath = "") Then
|
||||
WScript.Echo "I found a copy of Microsoft Visual Studio .NET 2003.."
|
||||
LibPath = DefaultDrive & ":\Program Files\Microsoft Visual Studio .NET 2003\VC7\Lib"
|
||||
LibPath2 = DefaultDrive & ":\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Lib"
|
||||
@@ -200,9 +235,10 @@ Else
|
||||
WScript.Echo "I couldn't seem to find uuid.lib.. You probably only have the SDK installed.."
|
||||
LibPath = ""
|
||||
LibPath2 = ""
|
||||
Else
|
||||
IncDir = DefaultDrive & ":\Program Files\Microsoft Visual Studio .NET 2003\VC7\Include"
|
||||
IncDir2 = DefaultDrive & ":\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include"
|
||||
End If
|
||||
IncDir = DefaultDrive & ":\Program Files\Microsoft Visual Studio .NET 2003\VC7\Include"
|
||||
IncDir2 = DefaultDrive & ":\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include"
|
||||
End If
|
||||
|
||||
If (fso.FolderExists(DefaultDrive & ":\Program Files\Microsoft Visual Studio\VC98\Lib") And LibPath = "") Then
|
||||
@@ -221,8 +257,9 @@ Else
|
||||
ElseIf (fso.FileExists(LibPath & "/uuid.lib") = False) Then
|
||||
WScript.Echo "I couldn't seem to find uuid.lib.. We kind of need this.."
|
||||
LibPath = ""
|
||||
Else
|
||||
IncDir = DefaultDrive & ":\Program Files\Microsoft Visual Studio\VC98\Inlcude"
|
||||
End If
|
||||
IncDir = DefaultDrive & ":\Program Files\Microsoft Visual Studio\VC98\Inlcude"
|
||||
End If
|
||||
|
||||
If (fso.FolderExists(DefaultDrive & ":\Program Files\Microsoft Platform SDK\Lib") And LibPath = "") Then
|
||||
@@ -316,7 +353,7 @@ Else
|
||||
f.WriteLine("CC=cl")
|
||||
f.WriteLine("RC=rc")
|
||||
f.WriteLine("MAKE=nmake -f Makefile.win32")
|
||||
f.WriteLine("BASE_CFLAGS=/O2 /MD /I " & Chr(34) & IncDir & Chr(34))
|
||||
f.WriteLine("BASE_CFLAGS=" & VS2005Dep & "/O2 /MD /I " & Chr(34) & IncDir & Chr(34))
|
||||
If IncDir2 <> "" Then
|
||||
f.WriteLine("BASE_CFLAGS=$(BASE_CFLAGS) /I " & Chr(34) & IncDir2 & Chr(34))
|
||||
f.WriteLine("RC_FLAGS=/i " & Chr(34) & IncDir2 & Chr(34))
|
||||
|
||||
+65
-13
@@ -523,9 +523,13 @@ void do_join(const char *source, int ac, char **av)
|
||||
Channel *chan;
|
||||
char *s, *t;
|
||||
struct u_chanlist *c, *nextc;
|
||||
char *channame;
|
||||
|
||||
if (UseTS6 && ircd->ts6) {
|
||||
user = find_byuid(source);
|
||||
if (!user) {
|
||||
user = finduser(source);
|
||||
}
|
||||
} else {
|
||||
user = finduser(source);
|
||||
}
|
||||
@@ -551,8 +555,12 @@ void do_join(const char *source, int ac, char **av)
|
||||
c = user->chans;
|
||||
while (c) {
|
||||
nextc = c->next;
|
||||
channame = sstrdup(c->chan->name);
|
||||
send_event(EVENT_PART_CHANNEL, 3, EVENT_START, user->nick, channame);
|
||||
chan_deluser(user, c->chan);
|
||||
send_event(EVENT_PART_CHANNEL, 3, EVENT_STOP, user->nick, channame);
|
||||
free(c);
|
||||
free(channame);
|
||||
c = nextc;
|
||||
}
|
||||
user->chans = NULL;
|
||||
@@ -587,6 +595,7 @@ void do_kick(const char *source, int ac, char **av)
|
||||
User *user;
|
||||
char *s, *t;
|
||||
struct u_chanlist *c;
|
||||
char *channame;
|
||||
|
||||
t = av[1];
|
||||
while (*(s = t)) {
|
||||
@@ -619,15 +628,14 @@ void do_kick(const char *source, int ac, char **av)
|
||||
continue;
|
||||
}
|
||||
if (debug) {
|
||||
if (UseTS6 && ircd->ts6) {
|
||||
alog("debug: kicking %s from %s", user->nick, av[0]);
|
||||
} else {
|
||||
alog("debug: kicking %s from %s", s, av[0]);
|
||||
}
|
||||
alog("debug: kicking %s from %s", user->nick, av[0]);
|
||||
}
|
||||
for (c = user->chans; c && stricmp(av[0], c->chan->name) != 0;
|
||||
c = c->next);
|
||||
if (c) {
|
||||
channame = sstrdup(c->chan->name);
|
||||
send_event(EVENT_CHAN_KICK, 3, EVENT_START, user->nick,
|
||||
channame);
|
||||
chan_deluser(user, c->chan);
|
||||
if (c->next)
|
||||
c->next->prev = c->prev;
|
||||
@@ -636,6 +644,9 @@ void do_kick(const char *source, int ac, char **av)
|
||||
else
|
||||
user->chans = c->next;
|
||||
free(c);
|
||||
send_event(EVENT_CHAN_KICK, 3, EVENT_STOP, user->nick,
|
||||
channame);
|
||||
free(channame);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -654,7 +665,14 @@ void do_part(const char *source, int ac, char **av)
|
||||
struct u_chanlist *c;
|
||||
char *channame;
|
||||
|
||||
user = finduser(source);
|
||||
if (UseTS6 && ircd->ts6) {
|
||||
user = find_byuid(source);
|
||||
if (!user) {
|
||||
user = finduser(source);
|
||||
}
|
||||
} else {
|
||||
user = finduser(source);
|
||||
}
|
||||
if (!user) {
|
||||
if (debug) {
|
||||
alog("debug: PART from nonexistent user %s: %s", source,
|
||||
@@ -810,10 +828,14 @@ void do_sjoin(const char *source, int ac, char **av)
|
||||
|
||||
|
||||
if (UseTS6 && ircd->ts6) {
|
||||
user = find_byuid(s);
|
||||
} else {
|
||||
user = find_byuid(s);
|
||||
if (!user) {
|
||||
user = finduser(s);
|
||||
}
|
||||
} else {
|
||||
user = finduser(s);
|
||||
}
|
||||
|
||||
if (!user) {
|
||||
if (debug) {
|
||||
alog("debug: SJOIN for nonexistent user %s on %s", s,
|
||||
@@ -894,7 +916,14 @@ void do_sjoin(const char *source, int ac, char **av)
|
||||
*end2++ = csmodes[(int) *s++];
|
||||
*end2 = 0;
|
||||
|
||||
user = finduser(s);
|
||||
if (UseTS6 && ircd->ts6) {
|
||||
user = find_byuid(s);
|
||||
if (!user) {
|
||||
user = finduser(s);
|
||||
}
|
||||
} else {
|
||||
user = finduser(s);
|
||||
}
|
||||
|
||||
if (!user) {
|
||||
if (debug) {
|
||||
@@ -969,9 +998,12 @@ void do_sjoin(const char *source, int ac, char **av)
|
||||
*end2 = 0;
|
||||
|
||||
if (UseTS6 && ircd->ts6) {
|
||||
user = find_byuid(s);
|
||||
} else {
|
||||
user = find_byuid(s);
|
||||
if (!user) {
|
||||
user = finduser(s);
|
||||
}
|
||||
} else {
|
||||
user = finduser(s);
|
||||
}
|
||||
if (!user) {
|
||||
if (debug) {
|
||||
@@ -1024,9 +1056,12 @@ void do_sjoin(const char *source, int ac, char **av)
|
||||
free(s);
|
||||
} else if (ac == 2) {
|
||||
if (UseTS6 && ircd->ts6) {
|
||||
user = find_byuid(source);
|
||||
user = find_byuid(source);
|
||||
if (!user) {
|
||||
user = finduser(source);
|
||||
}
|
||||
} else {
|
||||
user = finduser(source);
|
||||
user = finduser(source);
|
||||
}
|
||||
if (!user) {
|
||||
if (debug) {
|
||||
@@ -1253,6 +1288,14 @@ void add_ban(Channel * chan, char *mask)
|
||||
|
||||
void add_exception(Channel * chan, char *mask)
|
||||
{
|
||||
/* check for NULL values otherwise we will segfault */
|
||||
if (!chan || !mask) {
|
||||
if (debug) {
|
||||
alog("debug: add_ban called with NULL values");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (chan->exceptcount >= chan->exceptsize) {
|
||||
chan->exceptsize += 8;
|
||||
chan->excepts =
|
||||
@@ -1268,6 +1311,14 @@ void add_exception(Channel * chan, char *mask)
|
||||
|
||||
void add_invite(Channel * chan, char *mask)
|
||||
{
|
||||
/* check for NULL values otherwise we will segfault */
|
||||
if (!chan || !mask) {
|
||||
if (debug) {
|
||||
alog("debug: add_ban called with NULL values");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (chan->invitecount >= chan->invitesize) {
|
||||
chan->invitesize += 8;
|
||||
chan->invite =
|
||||
@@ -1844,6 +1895,7 @@ void do_mass_mode(char *modes)
|
||||
}
|
||||
}
|
||||
}
|
||||
free(myModes);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
@@ -143,10 +143,12 @@ void alog(const char *fmt, ...)
|
||||
* crash. :(
|
||||
*
|
||||
* --nenolod
|
||||
* Not all systems have va_copy() so macro VA_COPY on so it will work
|
||||
* like the function does see extern.h for how -- TSL
|
||||
*/
|
||||
va_copy(logargs, args);
|
||||
va_copy(consoleargs, args);
|
||||
va_copy(logchanargs, args);
|
||||
VA_COPY(logargs, args);
|
||||
VA_COPY(consoleargs, args);
|
||||
VA_COPY(logchanargs, args);
|
||||
|
||||
time(&t);
|
||||
tm = *localtime(&t);
|
||||
@@ -219,9 +221,11 @@ void log_perror(const char *fmt, ...)
|
||||
* crash. :(
|
||||
*
|
||||
* --nenolod
|
||||
* Not all systems have va_copy() so macro VA_COPY on so it will work
|
||||
* like the function does see extern.h for how -- TSL
|
||||
*/
|
||||
va_copy(logargs, args);
|
||||
va_copy(consoleargs, args);
|
||||
VA_COPY(logargs, args);
|
||||
VA_COPY(consoleargs, args);
|
||||
|
||||
time(&t);
|
||||
tm = *localtime(&t);
|
||||
|
||||
@@ -45,6 +45,7 @@ spotless:
|
||||
|
||||
install:
|
||||
-@copy anope.exe ..\anope.exe
|
||||
-@copy anope.exe.manifest ..\anope.exe.manifest
|
||||
-@mkdir ..\$(DATDEST)\bin
|
||||
-@copy bin\* ..\$(DATDEST)\bin
|
||||
|
||||
|
||||
+5
-6
@@ -2531,18 +2531,17 @@ void moduleNoticeLang(char *source, User * u, int number, ...)
|
||||
fmt = mod_current_module->lang[lang].argv[number];
|
||||
|
||||
buf = sstrdup(fmt);
|
||||
s = buf;
|
||||
va_start(va, number);
|
||||
vsnprintf(buffer, 4095, outbuf, va);
|
||||
va_end(va);
|
||||
s = buffer;
|
||||
while (*s) {
|
||||
t = s;
|
||||
s += strcspn(s, "\n");
|
||||
if (*s)
|
||||
*s++ = '\0';
|
||||
strscpy(outbuf, t, sizeof(outbuf));
|
||||
|
||||
va_start(va, number);
|
||||
vsnprintf(buffer, 4095, outbuf, va);
|
||||
va_end(va);
|
||||
notice(source, u->nick, buffer);
|
||||
notice(source, u->nick, outbuf);
|
||||
}
|
||||
free(buf);
|
||||
} else {
|
||||
|
||||
@@ -23,14 +23,15 @@ void my_cs_help(User * u);
|
||||
int my_cs_help_enforce(User * u);
|
||||
void my_add_languages(void);
|
||||
|
||||
#define LNG_NUM_STRINGS 6
|
||||
#define LNG_NUM_STRINGS 7
|
||||
|
||||
#define LNG_CHAN_HELP 0
|
||||
#define LNG_ENFORCE_SYNTAX 1
|
||||
#define LNG_CHAN_HELP_ENFORCE 2
|
||||
#define LNG_CHAN_HELP_ENFORCE_R_ENABLED 3
|
||||
#define LNG_CHAN_HELP_ENFORCE_R_DISABLED 4
|
||||
#define LNG_CHAN_RESPONSE 5
|
||||
#define LNG_CHAN_HELP_ENFORCE_2 3
|
||||
#define LNG_CHAN_HELP_ENFORCE_R_ENABLED 4
|
||||
#define LNG_CHAN_HELP_ENFORCE_R_DISABLED 5
|
||||
#define LNG_CHAN_RESPONSE 6
|
||||
|
||||
int AnopeInit(int argc, char **argv)
|
||||
{
|
||||
@@ -256,6 +257,7 @@ int my_cs_help_enforce(User * u)
|
||||
moduleNoticeLang(s_ChanServ, u, LNG_ENFORCE_SYNTAX);
|
||||
notice(s_ChanServ, u->nick, " ");
|
||||
moduleNoticeLang(s_ChanServ, u, LNG_CHAN_HELP_ENFORCE);
|
||||
moduleNoticeLang(s_ChanServ, u, LNG_CHAN_HELP_ENFORCE_2);
|
||||
notice(s_ChanServ, u->nick, " ");
|
||||
if (cbmodes['R'].flag != 0)
|
||||
moduleNoticeLang(s_ChanServ, u, LNG_CHAN_HELP_ENFORCE_R_ENABLED);
|
||||
@@ -279,7 +281,9 @@ void my_add_languages(void)
|
||||
"on. The \037what\037 option indicates what modes and options to\n"
|
||||
"enforce, and can be any of SET, SECUREOPS, RESTRICTED, MODES,\n"
|
||||
"or +R. When left out, it defaults to SET.\n"
|
||||
" \n"
|
||||
" \n",
|
||||
/* LNG_CHAN_HELP_ENFORCE_2 */
|
||||
/* avoid issue with older compilers */
|
||||
"If \037what\037 is SET, it will enforce SECUREOPS and RESTRICTED\n"
|
||||
"on the users currently in the channel, if they are set. Give\n"
|
||||
"SECUREOPS to enforce the SECUREOPS option, even if it is not\n"
|
||||
@@ -312,7 +316,9 @@ void my_add_languages(void)
|
||||
"worden. De \037wat\037 optie geeft aan welke modes en opties\n"
|
||||
"geforceerd moeten worden; dit kan SET, SECUREOPS, RESTRICTED,\n"
|
||||
"MODES, of +R zijn. Indien weggelaten is dit standaard SET.\n"
|
||||
" \n"
|
||||
" \n",
|
||||
/* LNG_CHAN_HELP_ENFORCE_2 */
|
||||
/* avoid issue with older compilers */
|
||||
"Als er voor \037wat\037 SET wordt ingevuld, zullen SECUREOPS en\n"
|
||||
"RESTRICTED geforceerd worden op de gebruikers in het kanaal,\n"
|
||||
"maar alleen als die opties aangezet zijn voor het kanaal. Als\n"
|
||||
@@ -347,7 +353,9 @@ void my_add_languages(void)
|
||||
"zu erzwingen sind. Die \037was\037 Option zeigt dir welche Modes\n"
|
||||
"und Optionen zu erzwingen sind. Die können nur SET, SECUREOPS,\n"
|
||||
"RESTRICTED, MODES oder +R sein.Default ist SET.\n"
|
||||
" \n"
|
||||
" \n",
|
||||
/* LNG_CHAN_HELP_ENFORCE_2 */
|
||||
/* avoid issue with older compilers */
|
||||
"Wenn \037was\037 SET ist, wird SECUREOPS und RESTRICTED\n"
|
||||
"auf die User die z.Z.in Channel sind erzwungen, wenn sie AN sind.\n"
|
||||
"Benutze SECUREOPS oder RESTRICTED , um die Optionen einzeln\n"
|
||||
@@ -379,7 +387,9 @@ void my_add_languages(void)
|
||||
"O campo \037opção\037 indica quais modos e opções devem ser verificadas,\n"
|
||||
"e pode ser: SET, SECUREOPS, RESTRICTED, MODES ou +R\n"
|
||||
"Quando deixado em branco, o padrão é SET.\n"
|
||||
" \n"
|
||||
" \n",
|
||||
/* LNG_CHAN_HELP_ENFORCE_2 */
|
||||
/* avoid issue with older compilers */
|
||||
"Se \037opção\037 for SET, serão verificadas as opções SECUREOPS e RESTRICTED\n"
|
||||
"para usuários que estiverem no canal, caso elas estejam ativadas. Use\n"
|
||||
"SECUREOPS para verificar a opção SECUREOPS, mesmo que ela não esteja ativada\n"
|
||||
@@ -411,7 +421,9 @@ void my_add_languages(void)
|
||||
"\037cosa\037 indica i modi e le opzioni da forzare, e possono essere\n"
|
||||
"qualsiasi delle opzioni SET, SECUREOPS, RESTRICTED, MODES, o +R.\n"
|
||||
"Se non specificato, viene sottointeso SET.\n"
|
||||
" \n"
|
||||
" \n",
|
||||
/* LNG_CHAN_HELP_ENFORCE_2 */
|
||||
/* avoid issue with older compilers */
|
||||
"Se \037cosa\037 è SET, forzerà SECUREOPS e RESTRICTED sugli utenti\n"
|
||||
"attualmente nel canale, se sono impostati. Specifica SECUREOPS per\n"
|
||||
"forzare l'opzione SECUREOPS, anche se non è attivata. Specifica\n"
|
||||
|
||||
@@ -81,6 +81,7 @@ void my_load_config(void);
|
||||
void my_add_languages(void);
|
||||
|
||||
HostCore *hs_request_head;
|
||||
char *hs_request_tmp;
|
||||
|
||||
int AnopeInit(int argc, char **argv)
|
||||
{
|
||||
@@ -682,7 +683,6 @@ int hsreqevt_db_saving(int argc, char **argv)
|
||||
void my_load_config(void)
|
||||
{
|
||||
int i;
|
||||
char *tmp = NULL;
|
||||
|
||||
Directive confvalues[][1] = {
|
||||
{{"HSRequestMemoUser",
|
||||
@@ -691,16 +691,16 @@ void my_load_config(void)
|
||||
{{PARAM_SET, PARAM_RELOAD, &HSRequestMemoOper}}}},
|
||||
{{"HSRequestMemoSetters",
|
||||
{{PARAM_SET, PARAM_RELOAD, &HSRequestMemoSetters}}}},
|
||||
{{"HSRequestDBName", {{PARAM_STRING, PARAM_RELOAD, &tmp}}}}
|
||||
{{"HSRequestDBName", {{PARAM_STRING, PARAM_RELOAD, &hs_request_tmp}}}}
|
||||
};
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
moduleGetConfigDirective(confvalues[i]);
|
||||
|
||||
if (tmp) {
|
||||
if (hs_request_tmp) {
|
||||
if (HSRequestDBName)
|
||||
free(HSRequestDBName);
|
||||
HSRequestDBName = sstrdup(tmp);
|
||||
HSRequestDBName = sstrdup(hs_request_tmp);
|
||||
} else {
|
||||
HSRequestDBName = sstrdup(HSREQ_DEFAULT_DBNAME);
|
||||
}
|
||||
|
||||
@@ -36,6 +36,8 @@
|
||||
#define AUTOOP_DESC 6
|
||||
#define AUTOOP_HELP 7
|
||||
|
||||
char *ns_noop_tmp;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
User *currentUser;
|
||||
@@ -320,10 +322,9 @@ int mSaveData(int argc, char **argv)
|
||||
**/
|
||||
int mLoadConfig(int argc, char **argv)
|
||||
{
|
||||
char *tmp = NULL;
|
||||
|
||||
Directive d[] = {
|
||||
{"NSAutoOPDBName", {{PARAM_STRING, PARAM_RELOAD, &tmp}}},
|
||||
{"NSAutoOPDBName", {{PARAM_STRING, PARAM_RELOAD, &ns_noop_tmp}}},
|
||||
};
|
||||
|
||||
moduleGetConfigDirective(d);
|
||||
@@ -331,8 +332,8 @@ int mLoadConfig(int argc, char **argv)
|
||||
if (NSAutoOPDBName)
|
||||
free(NSAutoOPDBName);
|
||||
|
||||
if (tmp) {
|
||||
NSAutoOPDBName = tmp;
|
||||
if (ns_noop_tmp) {
|
||||
NSAutoOPDBName = sstrdup(ns_noop_tmp);
|
||||
} else {
|
||||
NSAutoOPDBName = sstrdup(DEFAULT_DB_NAME);
|
||||
alog("ns_noop: NSAutoOPDBName is not defined in Services configuration file, using default %s", NSAutoOPDBName);
|
||||
|
||||
@@ -58,6 +58,8 @@ int mSaveData(int argc, char **argv);
|
||||
int mLoadConfig();
|
||||
int mEventReload(int argc, char **argv);
|
||||
|
||||
char *os_info_tmp;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
@@ -449,10 +451,9 @@ int mSaveData(int argc, char **argv)
|
||||
**/
|
||||
int mLoadConfig(void)
|
||||
{
|
||||
char *tmp = NULL;
|
||||
|
||||
Directive directivas[] = {
|
||||
{"OSInfoDBName", {{PARAM_STRING, PARAM_RELOAD, &tmp}}},
|
||||
{"OSInfoDBName", {{PARAM_STRING, PARAM_RELOAD, &os_info_tmp}}},
|
||||
};
|
||||
|
||||
Directive *d = &directivas[0];
|
||||
@@ -461,8 +462,8 @@ int mLoadConfig(void)
|
||||
if (OSInfoDBName)
|
||||
free(OSInfoDBName);
|
||||
|
||||
if (tmp) {
|
||||
OSInfoDBName = tmp;
|
||||
if (os_info_tmp) {
|
||||
OSInfoDBName = sstrdup(os_info_tmp);
|
||||
} else {
|
||||
OSInfoDBName = sstrdup(DEFAULT_DB_NAME);
|
||||
alog("os_info: OSInfoDBName is not defined in Services configuration file, using default %s", OSInfoDBName);
|
||||
|
||||
+21
-10
@@ -27,6 +27,14 @@ int inet_aton (const char *name, struct in_addr *addr)
|
||||
return a != (uint32)-1;
|
||||
}
|
||||
#endif
|
||||
#ifdef __STRICT_ANSI__
|
||||
int inet_aton (const char *name, struct in_addr *addr)
|
||||
{
|
||||
uint32 a = inet_addr (name);
|
||||
addr->s_addr = a;
|
||||
return a != (uint32)-1;
|
||||
}
|
||||
#endif
|
||||
|
||||
IRCDVar myIrcd[] = {
|
||||
{"InspIRCd Beta 6", /* ircd name */
|
||||
@@ -451,6 +459,7 @@ void moduleAddIRCDMsgs(void) {
|
||||
m = createMessage("MOTD", anope_event_motd); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NICK", anope_event_nick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NOTICE", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("CAPAB", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PART", anope_event_part); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PING", anope_event_ping); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PRIVMSG", anope_event_privmsg); addCoreMessage(IRCD,m);
|
||||
@@ -566,7 +575,9 @@ void inspircd_cmd_376(char *source)
|
||||
|
||||
void inspircd_cmd_nick(char *nick, char *name, char *modes)
|
||||
{
|
||||
// :test.chatspike.net NICK 1133519355 Brain synapse.brainbox.winbot.co.uk netadmin.chatspike.net ~brain +xwsioS 10.0.0.2 :Craig Edwards
|
||||
/*
|
||||
:test.chatspike.net NICK 1133519355 Brain synapse.brainbox.winbot.co.uk netadmin.chatspike.net ~brain +xwsioS 10.0.0.2 :Craig Edwards
|
||||
*/
|
||||
send_cmd(ServerName, "NICK %ld %s %s %s %s +%s 0.0.0.0 :%s",(long int) time(NULL),nick,ServiceHost,ServiceHost,ServiceUser,modes,name);
|
||||
send_cmd(ServerName, "OPERTYPE Service");
|
||||
}
|
||||
@@ -1061,9 +1072,6 @@ void inspircd_cmd_vhost_on(char *nick, char *vIdent, char *vhost)
|
||||
|
||||
void inspircd_cmd_connect(int servernum)
|
||||
{
|
||||
me_server =
|
||||
new_server(NULL, ServerName, ServerDesc, SERVER_ISME, NULL);
|
||||
|
||||
if (servernum == 1) {
|
||||
inspircd_cmd_pass(RemotePassword);
|
||||
}
|
||||
@@ -1076,6 +1084,9 @@ void inspircd_cmd_connect(int servernum)
|
||||
inspircd_cmd_server(ServerName, 0, ServerDesc);
|
||||
send_cmd(NULL,"BURST");
|
||||
send_cmd(ServerName, "VERSION :Anope-%s %s :%s - %s -- %s", version_number, ServerName, ircd->name, version_flags, version_build);
|
||||
|
||||
me_server =
|
||||
new_server(NULL, ServerName, ServerDesc, SERVER_ISME, NULL);
|
||||
}
|
||||
|
||||
/* Events */
|
||||
@@ -1320,11 +1331,11 @@ int anope_event_nick(char *source, int ac, char **av)
|
||||
if (ac != 1) {
|
||||
if (ac == 8) {
|
||||
inet_aton(av[6],&addy);
|
||||
user = do_nick("", av[1], // nick
|
||||
av[4], // username
|
||||
av[2], // realhost
|
||||
source, // server
|
||||
av[7], // realname
|
||||
user = do_nick("", av[1], /* nick */
|
||||
av[4], /* username */
|
||||
av[2], /* realhost */
|
||||
source, /* server */
|
||||
av[7], /* realname */
|
||||
strtoul(av[0], NULL, 10),
|
||||
0,
|
||||
htonl(*ad),
|
||||
@@ -1621,7 +1632,7 @@ void moduleAddAnopeCmds()
|
||||
pmodule_cmd_connect(inspircd_cmd_connect);
|
||||
pmodule_cmd_svshold(inspircd_cmd_svshold);
|
||||
pmodule_cmd_release_svshold(inspircd_cmd_release_svshold);
|
||||
pmodule_cmd_unsgline(inspircd_cmd_unsgline);
|
||||
pmodule_cmd_unsgline(inspircd_cmd_unsqline);
|
||||
pmodule_cmd_unszline(inspircd_cmd_unszline);
|
||||
pmodule_cmd_szline(inspircd_cmd_szline);
|
||||
pmodule_cmd_sgline(inspircd_cmd_sgline);
|
||||
|
||||
@@ -61,7 +61,7 @@ IRCDVar myIrcd[] = {
|
||||
0, /* TS Topci Backward */
|
||||
UMODE_p, /* Protected Umode */
|
||||
1, /* Has Admin */
|
||||
0, /* Chan SQlines */
|
||||
1, /* Chan SQlines */
|
||||
0, /* Quit on Kill */
|
||||
1, /* SVSMODE unban */
|
||||
0, /* Has Protect */
|
||||
|
||||
+5
-1
@@ -9,10 +9,14 @@ VERSION_MAJOR="1"
|
||||
VERSION_MINOR="7"
|
||||
VERSION_PATCH="13"
|
||||
VERSION_EXTRA="-svn"
|
||||
VERSION_BUILD="955"
|
||||
VERSION_BUILD="956"
|
||||
|
||||
# $Log$
|
||||
#
|
||||
# BUILD : 1.7.13 (956)
|
||||
# BUGS :
|
||||
# NOTES : applied patch provided by trystan
|
||||
#
|
||||
# BUILD : 1.7.13 (955)
|
||||
# BUGS :
|
||||
# NOTES : updated config.guess and config.sub
|
||||
|
||||
Reference in New Issue
Block a user