mirror of
https://github.com/anope/anope.git
synced 2026-06-12 19:14:47 +02:00
BUILD : 1.7.6 (463) BUGS : 192, 210, 222, 234 NOTES : 1. Removed +d references from the ptlink protocol code, since they do not timestamp the nicks 2. Memos sent as notification of receipt can not be cancelled. 3. Unreal3.2 supports SVSMODE -b on clearing bans 4. fixed do_kill() not remove the user from the user list 5. /os set sql [on|off] runtime sql toggle 6. Segfaults logged to the services log when DumpCore is disabled 7. fixed RUNGROUP not passed during build time 8. Exceptions now update if the limit is changed 9. Solid-IRCD support 10. Fixed TSMODE warnings when using FANTASY commands 11. Fixed read_int32 warnings (fixes compiling and running under cygwin) - Thats all..
git-svn-id: svn://svn.anope.org/anope/trunk@463 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@317 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
parent
c55942927e
commit
f373142341
@@ -7,9 +7,18 @@ Provided by Anope Dev. <dev@anope.org> - 2004
|
||||
11/19 F Wrong string and missing registered nick check in bot change. [#221]
|
||||
|
||||
Provided by Trystan <trystan@nomadirc.net> - 2004
|
||||
11/27 A Solid IRCD support (Solid IRCD 3.4.6 or later) [ #00]
|
||||
11/27 A Exceptions now update if the limit is different [ #00]
|
||||
11/27 A Segfaults logged to the services log when DumpCore is disabled [ #00]
|
||||
11/27 A OperServ SET SQL [on|off] disable/enable SQL during run time [ #00]
|
||||
11/21 A Opened SGLINE to all ircd that support GEOS bans [ #00]
|
||||
11/21 A Opened SZLINE to all ircd that support ZLINE's [ #00]
|
||||
11/19 A Added anope_cmd_ctcp() to code API, for sending CTCP messages. [ #00]
|
||||
11/27 F Compiles and Runs under CYGWIN again [ #00]
|
||||
11/27 F bot_raw_mode() would cause a TSMODE warning [#234]
|
||||
11/27 F do_kil() not removing users from the user list [#222]
|
||||
11/27 F Unreal3.2 supports SVSMODE -b on clearing bans [ #00]
|
||||
11/27 F Removed +d references from the PTlink protocol file [ #00]
|
||||
11/23 F Rage 2 updated to support BETA 7 [#226]
|
||||
11/23 F PTLink anope_cmd_server() message [ #00]
|
||||
11/20 F Disables UseRDB if there is an error duing SQL init [ #00]
|
||||
@@ -21,6 +30,7 @@ Provided by Trystan <trystan@nomadirc.net> - 2004
|
||||
11/16 F NickTracking could allow usage of forbidden nick in some cases. [ #00]
|
||||
|
||||
Provided by DrStein <gacevedo@anope.org> - 2004
|
||||
11/26 F Memos sent as notification of receipt can't be cancelled. [#192]
|
||||
11/23 F Moving Services Operators to Services Admins and vice-versa [#230]
|
||||
11/22 F HelpChan +h mode not being given if status was greater then op. [#223]
|
||||
|
||||
|
||||
@@ -5,6 +5,13 @@ Anope Version S V N
|
||||
NICK_REGISTERED_NO_MASK
|
||||
OPER_ADMIN_MOVED
|
||||
OPER_OPER_MOVED
|
||||
OPER_HELP_SET_SQL
|
||||
OPER_SET_SQL_ON
|
||||
OPER_SET_SQL_OFF
|
||||
OPER_SET_SQL_ERROR
|
||||
OPER_SET_SQL_ERROR_INIT
|
||||
OPER_EXCEPTION_EXISTS
|
||||
OPER_EXCEPTION_CHANGED
|
||||
|
||||
*** Mod Strings:
|
||||
|
||||
|
||||
@@ -222,7 +222,7 @@ echo " 7) ViagraIRCd 1.3.x [or later]"
|
||||
echo " 8) PTlink 6.15.0 [experimental]"
|
||||
echo " 9) RageIRCd 2.0.0 [beta-6 or later]"
|
||||
echo " 10) Unreal 3.2 [Unreal 3.2 beta19 or later]"
|
||||
|
||||
echo " 11) Solid IRCD 3.4.x [Solid IRCD 3.4.6 or later]"
|
||||
|
||||
while [ $ok -eq 0 ] ; do
|
||||
echo2 "[$IRCTYPE] "
|
||||
@@ -277,6 +277,11 @@ while [ $ok -eq 0 ] ; do
|
||||
ok=1;
|
||||
;;
|
||||
|
||||
11)
|
||||
IRCTYPE_DEF="IRC_SOLID"
|
||||
ok=1;
|
||||
;;
|
||||
|
||||
|
||||
*)
|
||||
echo "Please enter a valid option number."
|
||||
|
||||
@@ -15,6 +15,7 @@ MODULE_PATH=@MODULE_PATH@
|
||||
MYSQL=@MYSQL@
|
||||
RDB=@RDB@
|
||||
LDFLAGS=@LDFLAGS@
|
||||
RUNGROUP=@RUNGROUP@
|
||||
|
||||
all: language headers build modules
|
||||
strict: language headers strict_build strict_modules
|
||||
|
||||
@@ -309,7 +309,7 @@ ac_includes_default="\
|
||||
# include <unistd.h>
|
||||
#endif"
|
||||
|
||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT RM CP TOUCH INSTALL CPP EGREP MYSQL RDB MYSQLCLIENT_LDFLAGS MYSQLCLIENT_CFLAGS MYSQLCLIENT_LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os acx_pthread_config PTHREAD_CC PTHREAD_LIBS PTHREAD_CFLAGS ANOPELIBS BINDEST DATDEST MODULE_PATH LIBOBJS LTLIBOBJS'
|
||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT RM CP TOUCH INSTALL CPP EGREP MYSQL RDB MYSQLCLIENT_LDFLAGS MYSQLCLIENT_CFLAGS MYSQLCLIENT_LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os acx_pthread_config PTHREAD_CC PTHREAD_LIBS PTHREAD_CFLAGS ANOPELIBS RUNGROUP BINDEST DATDEST MODULE_PATH LIBOBJS LTLIBOBJS'
|
||||
ac_subst_files=''
|
||||
|
||||
# Initialize some variables set by options.
|
||||
@@ -6815,6 +6815,152 @@ _ACEOF
|
||||
fi
|
||||
|
||||
|
||||
if test "${ac_cv_header_execinfo_h+set}" = set; then
|
||||
echo "$as_me:$LINENO: checking for execinfo.h" >&5
|
||||
echo $ECHO_N "checking for execinfo.h... $ECHO_C" >&6
|
||||
if test "${ac_cv_header_execinfo_h+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
fi
|
||||
echo "$as_me:$LINENO: result: $ac_cv_header_execinfo_h" >&5
|
||||
echo "${ECHO_T}$ac_cv_header_execinfo_h" >&6
|
||||
else
|
||||
# Is the header compilable?
|
||||
echo "$as_me:$LINENO: checking execinfo.h usability" >&5
|
||||
echo $ECHO_N "checking execinfo.h usability... $ECHO_C" >&6
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
$ac_includes_default
|
||||
#include <execinfo.h>
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
(eval $ac_compile) 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } &&
|
||||
{ ac_try='test -z "$ac_c_werror_flag"
|
||||
|| test ! -s conftest.err'
|
||||
{ (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); }; } &&
|
||||
{ ac_try='test -s conftest.$ac_objext'
|
||||
{ (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_header_compiler=yes
|
||||
else
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
ac_header_compiler=no
|
||||
fi
|
||||
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
|
||||
echo "${ECHO_T}$ac_header_compiler" >&6
|
||||
|
||||
# Is the header present?
|
||||
echo "$as_me:$LINENO: checking execinfo.h presence" >&5
|
||||
echo $ECHO_N "checking execinfo.h presence... $ECHO_C" >&6
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
#include <execinfo.h>
|
||||
_ACEOF
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
|
||||
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } >/dev/null; then
|
||||
if test -s conftest.err; then
|
||||
ac_cpp_err=$ac_c_preproc_warn_flag
|
||||
ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
|
||||
else
|
||||
ac_cpp_err=
|
||||
fi
|
||||
else
|
||||
ac_cpp_err=yes
|
||||
fi
|
||||
if test -z "$ac_cpp_err"; then
|
||||
ac_header_preproc=yes
|
||||
else
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
ac_header_preproc=no
|
||||
fi
|
||||
rm -f conftest.err conftest.$ac_ext
|
||||
echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
|
||||
echo "${ECHO_T}$ac_header_preproc" >&6
|
||||
|
||||
# So? What about this header?
|
||||
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
|
||||
yes:no: )
|
||||
{ echo "$as_me:$LINENO: WARNING: execinfo.h: accepted by the compiler, rejected by the preprocessor!" >&5
|
||||
echo "$as_me: WARNING: execinfo.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
|
||||
{ echo "$as_me:$LINENO: WARNING: execinfo.h: proceeding with the compiler's result" >&5
|
||||
echo "$as_me: WARNING: execinfo.h: proceeding with the compiler's result" >&2;}
|
||||
ac_header_preproc=yes
|
||||
;;
|
||||
no:yes:* )
|
||||
{ echo "$as_me:$LINENO: WARNING: execinfo.h: present but cannot be compiled" >&5
|
||||
echo "$as_me: WARNING: execinfo.h: present but cannot be compiled" >&2;}
|
||||
{ echo "$as_me:$LINENO: WARNING: execinfo.h: check for missing prerequisite headers?" >&5
|
||||
echo "$as_me: WARNING: execinfo.h: check for missing prerequisite headers?" >&2;}
|
||||
{ echo "$as_me:$LINENO: WARNING: execinfo.h: see the Autoconf documentation" >&5
|
||||
echo "$as_me: WARNING: execinfo.h: see the Autoconf documentation" >&2;}
|
||||
{ echo "$as_me:$LINENO: WARNING: execinfo.h: section \"Present But Cannot Be Compiled\"" >&5
|
||||
echo "$as_me: WARNING: execinfo.h: section \"Present But Cannot Be Compiled\"" >&2;}
|
||||
{ echo "$as_me:$LINENO: WARNING: execinfo.h: proceeding with the preprocessor's result" >&5
|
||||
echo "$as_me: WARNING: execinfo.h: proceeding with the preprocessor's result" >&2;}
|
||||
{ echo "$as_me:$LINENO: WARNING: execinfo.h: in the future, the compiler will take precedence" >&5
|
||||
echo "$as_me: WARNING: execinfo.h: in the future, the compiler will take precedence" >&2;}
|
||||
(
|
||||
cat <<\_ASBOX
|
||||
## ------------------------------------------ ##
|
||||
## Report this to the AC_PACKAGE_NAME lists. ##
|
||||
## ------------------------------------------ ##
|
||||
_ASBOX
|
||||
) |
|
||||
sed "s/^/$as_me: WARNING: /" >&2
|
||||
;;
|
||||
esac
|
||||
echo "$as_me:$LINENO: checking for execinfo.h" >&5
|
||||
echo $ECHO_N "checking for execinfo.h... $ECHO_C" >&6
|
||||
if test "${ac_cv_header_execinfo_h+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
ac_cv_header_execinfo_h=$ac_header_preproc
|
||||
fi
|
||||
echo "$as_me:$LINENO: result: $ac_cv_header_execinfo_h" >&5
|
||||
echo "${ECHO_T}$ac_cv_header_execinfo_h" >&6
|
||||
|
||||
fi
|
||||
if test $ac_cv_header_execinfo_h = yes; then
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define HAVE_BACKTRACE 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
for ac_func in strerror
|
||||
@@ -8293,14 +8439,18 @@ done
|
||||
if test "${with_rungroup+set}" = set; then
|
||||
withval="$with_rungroup"
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define RUNGROUP "$withval"
|
||||
_ACEOF
|
||||
|
||||
RUNGROUP=$withval
|
||||
|
||||
fi;
|
||||
|
||||
|
||||
|
||||
|
||||
# Check whether --with-permissions or --without-permissions was given.
|
||||
if test "${with_permissions+set}" = set; then
|
||||
withval="$with_permissions"
|
||||
@@ -8423,6 +8573,12 @@ cat >>confdefs.h <<\_ACEOF
|
||||
#define IRC_UNREAL32 1
|
||||
_ACEOF
|
||||
|
||||
elif test "$withval" = "IRC_SOLID"; then
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define IRC_SOLID 1
|
||||
_ACEOF
|
||||
|
||||
|
||||
fi
|
||||
|
||||
@@ -9088,6 +9244,7 @@ s,@PTHREAD_CC@,$PTHREAD_CC,;t t
|
||||
s,@PTHREAD_LIBS@,$PTHREAD_LIBS,;t t
|
||||
s,@PTHREAD_CFLAGS@,$PTHREAD_CFLAGS,;t t
|
||||
s,@ANOPELIBS@,$ANOPELIBS,;t t
|
||||
s,@RUNGROUP@,$RUNGROUP,;t t
|
||||
s,@BINDEST@,$BINDEST,;t t
|
||||
s,@DATDEST@,$DATDEST,;t t
|
||||
s,@MODULE_PATH@,$MODULE_PATH,;t t
|
||||
|
||||
+8
-1
@@ -145,6 +145,7 @@ unreal_CHECK_TYPE_SIZES
|
||||
|
||||
AC_CHECK_HEADER(strings.h,AC_DEFINE(HAVE_STRINGS_H,1,""))
|
||||
AC_CHECK_HEADER(sys/select.h,AC_DEFINE(HAVE_SYS_SELECT_H,1,""))
|
||||
AC_CHECK_HEADER(execinfo.h,AC_DEFINE(HAVE_BACKTRACE,1,""))
|
||||
|
||||
AC_CHECK_FUNCS(strerror,AC_DEFINE(HAVE_STRERROR,1))
|
||||
AC_CHECK_FUNCS(sys_errlist,AC_DEFINE(HAVE_SYS_ERRLIST,1))
|
||||
@@ -162,7 +163,11 @@ AC_CHECK_FUNCS(gethostbyname,AC_DEFINE(HAVE_GETHOSTBYNAME,1))
|
||||
AC_CHECK_FUNCS(gethostbyname_r,AC_DEFINE(HAVE_GETHOSTBYNAME_R,1))
|
||||
|
||||
|
||||
AC_ARG_WITH(rungroup, [ --with-rungroup=group Specify the rungroup for anope], AC_DEFINE_UNQUOTED(RUNGROUP,"$withval","Run group"))
|
||||
AC_ARG_WITH(rungroup, [ --with-rungroup=group Specify the rungroup for anope], [
|
||||
AC_DEFINE_UNQUOTED(RUNGROUP,"$withval","Run group")
|
||||
RUNGROUP=$withval
|
||||
])
|
||||
AC_SUBST(RUNGROUP)
|
||||
|
||||
dnl AC_DEFINE_UNQUOTED(MYOSNAME,"`uname -a`","uname")
|
||||
|
||||
@@ -208,6 +213,8 @@ AC_ARG_WITH(ircd, [ --with-ircd=ircd Specify the first ircd type], [
|
||||
AC_DEFINE(IRC_RAGE2,1,"First IRCD type")
|
||||
elif test "$withval" = "IRC_UNREAL32"; then
|
||||
AC_DEFINE(IRC_UNREAL32,1,"First IRCD type")
|
||||
elif test "$withval" = "IRC_SOLID"; then
|
||||
AC_DEFINE(IRC_SOLID,1,"First IRCD type")
|
||||
|
||||
fi
|
||||
])
|
||||
|
||||
+4
-1
@@ -609,6 +609,8 @@ E time_t start_time;
|
||||
|
||||
E void save_databases(void);
|
||||
E void expire_all(void);
|
||||
E void do_backtrace(void);
|
||||
E void sighandler(int signum);
|
||||
|
||||
/**** memory.c ****/
|
||||
|
||||
@@ -871,7 +873,8 @@ E void disconn(int s);
|
||||
|
||||
E User *userlist[1024];
|
||||
|
||||
E int32 usercnt, opcnt, maxusercnt;
|
||||
E int32 usercnt, opcnt;
|
||||
E uint32 maxusercnt;
|
||||
E time_t maxusertime;
|
||||
|
||||
E void delete_user(User *user);
|
||||
|
||||
+8
-3
@@ -50,6 +50,10 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
#ifdef HAVE_BACKTRACE
|
||||
#include <execinfo.h>
|
||||
#endif
|
||||
|
||||
#ifdef USE_RDB
|
||||
# define MAX_SQL_BUF 4096
|
||||
#endif
|
||||
@@ -171,6 +175,7 @@ typedef enum { false, true } boolean;
|
||||
#include "ultimate3.h"
|
||||
#include "dreamforge.h"
|
||||
#include "unreal32.h"
|
||||
#include "solidircd.h"
|
||||
|
||||
typedef struct ircdvars_ IRCDVar;
|
||||
typedef struct ircdcapab_ IRCDCAPAB;
|
||||
@@ -372,7 +377,7 @@ struct nickcore_ {
|
||||
char *greet; /* Greet associated to the nick */
|
||||
uint32 icq; /* ICQ # associated to the nick */
|
||||
char *url; /* URL associated to the nick */
|
||||
int32 flags; /* See NI_* below */
|
||||
uint32 flags; /* See NI_* below */
|
||||
uint16 language; /* Language selected by nickname owner (LANG_*) */
|
||||
int16 accesscount; /* # of entries */
|
||||
char **access; /* Array of strings */
|
||||
@@ -899,7 +904,7 @@ struct hostcore_ {
|
||||
|
||||
struct newsitem_ {
|
||||
int16 type;
|
||||
int32 num; /* Numbering is separate for login and oper news */
|
||||
uint32 num; /* Numbering is separate for login and oper news */
|
||||
char *text;
|
||||
char who[NICKMAX];
|
||||
time_t time;
|
||||
@@ -968,7 +973,7 @@ struct hostcache_ {
|
||||
/* Memo Flags */
|
||||
#define MF_UNREAD 0x0001 /* Memo has not yet been read */
|
||||
#define MF_RECEIPT 0x0002 /* Sender requested receipt */
|
||||
|
||||
#define MF_NOTIFYS 0x0004 /* Memo is a notification of receitp */
|
||||
|
||||
/* Nickname status flags: */
|
||||
#define NS_VERBOTEN 0x0002 /* Nick may not be registered or used */
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
/* Bahamut 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
#ifdef IRC_SOLID
|
||||
|
||||
#define PROTECT_SET_MODE "+"
|
||||
#define PROTECT_UNSET_MODE "-"
|
||||
#define CS_CMD_PROTECT "PROTECT"
|
||||
#define CS_CMD_DEPROTECT "DEPROTECT"
|
||||
#define FANT_PROTECT_ADD "!protect"
|
||||
#define FANT_PROTECT_DEL "!deprotect"
|
||||
#define LEVEL_PROTECT_WORD "AUTOPROTECT"
|
||||
#define LEVELINFO_PROTECT_WORD "PROTECT"
|
||||
#define LEVELINFO_PROTECTME_WORD "PROTECTME"
|
||||
|
||||
#define UMODE_a 0x00000001 /* umode +a - Services Admin */
|
||||
#define UMODE_h 0x00000002 /* umode +h - Helper */
|
||||
#define UMODE_i 0x00000004 /* umode +i - Invisible */
|
||||
#define UMODE_o 0x00000008 /* umode +o - Oper */
|
||||
#define UMODE_r 0x00000010 /* umode +r - registered nick */
|
||||
#define UMODE_w 0x00000020 /* umode +w - Get wallops */
|
||||
#define UMODE_A 0x00000040 /* umode +A - Server Admin */
|
||||
#define UMODE_x 0x00000080 /* umode +x - Squelch with notice */
|
||||
#define UMODE_X 0x00000100 /* umode +X - Squelch without notice */
|
||||
#define UMODE_F 0x00000200 /* umode +F - no cptr->since message rate throttle */
|
||||
#define UMODE_j 0x00000400 /* umode +j - client rejection notices */
|
||||
#define UMODE_K 0x00000800 /* umode +K - U: lined server kill messages */
|
||||
#define UMODE_O 0x00001000 /* umode +O - Local Oper */
|
||||
#define UMODE_s 0x00002000 /* umode +s - Server notices */
|
||||
#define UMODE_c 0x00004000 /* umode +c - Client connections/exits */
|
||||
#define UMODE_k 0x00008000 /* umode +k - Server kill messages */
|
||||
#define UMODE_f 0x00010000 /* umode +f - Server flood messages */
|
||||
#define UMODE_y 0x00020000 /* umode +y - Stats/links */
|
||||
#define UMODE_d 0x00040000 /* umode +d - Debug info */
|
||||
#define UMODE_g 0x00080000 /* umode +g - Globops */
|
||||
#define UMODE_b 0x00100000 /* umode +b - Chatops */
|
||||
#define UMODE_n 0x00200000 /* umode +n - Routing Notices */
|
||||
#define UMODE_m 0x00400000 /* umode +m - spambot notices */
|
||||
#define UMODE_e 0x00800000 /* umode +e - oper notices for the above +D */
|
||||
#define UMODE_D 0x01000000 /* umode +D - Hidden dccallow umode */
|
||||
#define UMODE_I 0x02000000 /* umode +I - invisible oper (masked) */
|
||||
#define UMODE_C 0x04000000 /* umode +C - conops */
|
||||
#define UMODE_v 0x10000000 /* umode +v - hostmasking */
|
||||
#define UMODE_H 0x20000000 /* umode +H - Oper Hiding */
|
||||
#define UMODE_z 0x40000000 /* umode +z - SSL */
|
||||
#define UMODE_R 0x80000000 /* umode +R - No non registered msgs */
|
||||
|
||||
#define CMODE_i 0x00000001
|
||||
#define CMODE_m 0x00000002
|
||||
#define CMODE_n 0x00000004
|
||||
#define CMODE_p 0x00000008
|
||||
#define CMODE_s 0x00000010
|
||||
#define CMODE_t 0x00000020
|
||||
#define CMODE_k 0x00000040 /* These two used only by ChanServ */
|
||||
#define CMODE_l 0x00000080
|
||||
#define CMODE_R 0x00000100 /* Only identified users can join */
|
||||
#define CMODE_r 0x00000200 /* Set for all registered channels */
|
||||
#define CMODE_c 0x00000400 /* Colors can't be used */
|
||||
#define CMODE_M 0x00000800 /* Non-regged nicks can't send messages */
|
||||
#define CMODE_j 0x00001000 /* join throttle */
|
||||
#define CMODE_O 0x00008000 /* Only opers can join */
|
||||
|
||||
#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r
|
||||
|
||||
#endif
|
||||
|
||||
@@ -75,6 +75,9 @@
|
||||
/* "" */
|
||||
#undef HAVE_SYS_SELECT_H
|
||||
|
||||
/* "" */
|
||||
#undef HAVE_BACKTRACE
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
@@ -117,6 +120,9 @@
|
||||
/* "First IRCD type" */
|
||||
#undef IRC_VIAGRA
|
||||
|
||||
/* "First IRCD type" */
|
||||
#undef IRC_SOLID
|
||||
|
||||
/* "Module dir" */
|
||||
#undef MODULE_PATH
|
||||
|
||||
|
||||
+12
@@ -2679,6 +2679,14 @@ OPER_SET_NOEXPIRE_ERROR
|
||||
Establiment per a NOEXPIRE ha de ser ON o OFF.
|
||||
OPER_SET_UNKNOWN_OPTION
|
||||
Opció %s desconeguda.
|
||||
OPER_SET_SQL_ON
|
||||
SQL code will be used.
|
||||
OPER_SET_SQL_OFF
|
||||
SQL code will not be used.
|
||||
OPER_SET_SQL_ERROR
|
||||
Setting for SQL must be ON or OFF.
|
||||
OPER_SET_SQL_ERROR_INIT
|
||||
Error during init of SQL, check your logs to correct.
|
||||
|
||||
# NOOP responses
|
||||
OPER_NOOP_SYNTAX
|
||||
@@ -2949,6 +2957,10 @@ OPER_EXCEPTION_INVALID_LIMIT
|
||||
Límit de sessió invàlid. Ha de ser un sencer vàlido més gran o igual a zero i mes petit que %d.
|
||||
OPER_EXCEPTION_INVALID_HOSTMASK
|
||||
Mascara invalida. Nomès mascares reals son valides ja que excepcions no son comparades a nicks o usernames.
|
||||
OPER_EXCEPTION_EXISTS
|
||||
%s already exists on the EXCEPTION list.
|
||||
OPER_EXCEPTION_CHANGED
|
||||
Exception for %s has been updated to %d.
|
||||
|
||||
# SESSION responses
|
||||
OPER_SESSION_SYNTAX
|
||||
|
||||
@@ -2669,6 +2669,14 @@ OPER_SET_NOEXPIRE_ERROR
|
||||
Die Einstellung von NOEXPIRE kann nur ON oder OFF sein.
|
||||
OPER_SET_UNKNOWN_OPTION
|
||||
Unbekannte Option %s.
|
||||
OPER_SET_SQL_ON
|
||||
SQL code will be used.
|
||||
OPER_SET_SQL_OFF
|
||||
SQL code will not be used.
|
||||
OPER_SET_SQL_ERROR
|
||||
Setting for SQL must be ON or OFF.
|
||||
OPER_SET_SQL_ERROR_INIT
|
||||
Error during init of SQL, check your logs to correct.
|
||||
|
||||
# NOOP responses
|
||||
OPER_NOOP_SYNTAX
|
||||
@@ -2942,6 +2950,10 @@ OPER_EXCEPTION_INVALID_LIMIT
|
||||
Null aber kleiner als %d.
|
||||
OPER_EXCEPTION_INVALID_HOSTMASK
|
||||
Ungültige Hostmask. Nur echte Hostmasken sind gültig als Einträge (ohne Nicknamen und Idents).
|
||||
OPER_EXCEPTION_EXISTS
|
||||
%s already exists on the EXCEPTION list.
|
||||
OPER_EXCEPTION_CHANGED
|
||||
Exception for %s has been updated to %d.
|
||||
|
||||
# SESSION responses
|
||||
OPER_SESSION_SYNTAX
|
||||
|
||||
@@ -2610,6 +2610,14 @@ OPER_SET_NOEXPIRE_ERROR
|
||||
Setting for NOEXPIRE must be ON or OFF.
|
||||
OPER_SET_UNKNOWN_OPTION
|
||||
Unknown option %s.
|
||||
OPER_SET_SQL_ON
|
||||
SQL code will be used.
|
||||
OPER_SET_SQL_OFF
|
||||
SQL code will not be used.
|
||||
OPER_SET_SQL_ERROR
|
||||
Setting for SQL must be ON or OFF.
|
||||
OPER_SET_SQL_ERROR_INIT
|
||||
Error during init of SQL, check your logs to correct.
|
||||
|
||||
# NOOP responses
|
||||
OPER_NOOP_SYNTAX
|
||||
@@ -2841,6 +2849,10 @@ OPER_EXCEPTION_INVALID_LIMIT
|
||||
Invalid session limit. It must be a valid integer greater than or equal to zero and less than %d.
|
||||
OPER_EXCEPTION_INVALID_HOSTMASK
|
||||
Invalid hostmask. Only real hostmasks are valid as exceptions are not matched against nicks or usernames.
|
||||
OPER_EXCEPTION_EXISTS
|
||||
%s already exists on the EXCEPTION list.
|
||||
OPER_EXCEPTION_CHANGED
|
||||
Exception for %s has been updated to %d.
|
||||
|
||||
# SESSION responses
|
||||
OPER_SESSION_SYNTAX
|
||||
@@ -5394,6 +5406,12 @@ OPER_HELP_SET_SUPERADMIN
|
||||
This option is not persistant, and should only be used when
|
||||
needed, and set back to OFF when no longer needed.
|
||||
|
||||
OPER_HELP_SET_SQL
|
||||
Syntax: SET SQL {ON | OFF}
|
||||
|
||||
Setting this will toggle Anope's from usage of SQL, this should
|
||||
be used to disable and enable SQL should your SQL server go down
|
||||
while services are running.
|
||||
|
||||
OPER_HELP_NOOP
|
||||
Syntax: NOOP SET server
|
||||
|
||||
@@ -2658,6 +2658,14 @@ OPER_SET_NOEXPIRE_ERROR
|
||||
Seteo para NOEXPIRE debe ser ON u OFF.
|
||||
OPER_SET_UNKNOWN_OPTION
|
||||
Opcion %s desconocida.
|
||||
OPER_SET_SQL_ON
|
||||
SQL code will be used.
|
||||
OPER_SET_SQL_OFF
|
||||
SQL code will not be used.
|
||||
OPER_SET_SQL_ERROR
|
||||
Setting for SQL must be ON or OFF.
|
||||
OPER_SET_SQL_ERROR_INIT
|
||||
Error during init of SQL, check your logs to correct.
|
||||
|
||||
# NOOP responses
|
||||
OPER_NOOP_SYNTAX
|
||||
@@ -2929,6 +2937,10 @@ OPER_EXCEPTION_INVALID_LIMIT
|
||||
Limite de sesion invalido. Debe ser un entero valido mayor o igual a cero y menor a %d.
|
||||
OPER_EXCEPTION_INVALID_HOSTMASK
|
||||
Mascara invalida. Solo mascaras reales son validas ya que excepciones no son comparadas a nicks o usernames.
|
||||
OPER_EXCEPTION_EXISTS
|
||||
%s already exists on the EXCEPTION list.
|
||||
OPER_EXCEPTION_CHANGED
|
||||
Exception for %s has been updated to %d.
|
||||
|
||||
# SESSION responses
|
||||
OPER_SESSION_SYNTAX
|
||||
|
||||
@@ -2690,6 +2690,14 @@ OPER_SET_NOEXPIRE_ERROR
|
||||
La valeur de NOEXPIRE doit être ON ou OFF.
|
||||
OPER_SET_UNKNOWN_OPTION
|
||||
Option inconnue %s.
|
||||
OPER_SET_SQL_ON
|
||||
SQL code will be used.
|
||||
OPER_SET_SQL_OFF
|
||||
SQL code will not be used.
|
||||
OPER_SET_SQL_ERROR
|
||||
Setting for SQL must be ON or OFF.
|
||||
OPER_SET_SQL_ERROR_INIT
|
||||
Error during init of SQL, check your logs to correct.
|
||||
|
||||
# NOOP responses
|
||||
OPER_NOOP_SYNTAX
|
||||
@@ -2962,6 +2970,10 @@ OPER_EXCEPTION_INVALID_LIMIT
|
||||
Limite de session invalide. Elle doit être un entier valide supérieur ou égal à zero et plus petit que %d.
|
||||
OPER_EXCEPTION_INVALID_HOSTMASK
|
||||
Hostmask invalide. Seuls les hostmasks réels sont valides puisque les exceptions ne sont pas comparés aux nicks et usernames.
|
||||
OPER_EXCEPTION_EXISTS
|
||||
%s already exists on the EXCEPTION list.
|
||||
OPER_EXCEPTION_CHANGED
|
||||
Exception for %s has been updated to %d.
|
||||
|
||||
# SESSION responses
|
||||
OPER_SESSION_SYNTAX
|
||||
|
||||
@@ -2668,6 +2668,14 @@ OPER_SET_NOEXPIRE_ERROR
|
||||
Ç åðéëïãÞ ãéá NOEXPIRE ðñÝðåé íá åßíáé ON Þ OFF.
|
||||
OPER_SET_UNKNOWN_OPTION
|
||||
¢ãíùóôç åðéëïãÞ %s.
|
||||
OPER_SET_SQL_ON
|
||||
SQL code will be used.
|
||||
OPER_SET_SQL_OFF
|
||||
SQL code will not be used.
|
||||
OPER_SET_SQL_ERROR
|
||||
Setting for SQL must be ON or OFF.
|
||||
OPER_SET_SQL_ERROR_INIT
|
||||
Error during init of SQL, check your logs to correct.
|
||||
|
||||
# NOOP responses
|
||||
OPER_NOOP_SYNTAX
|
||||
@@ -2938,6 +2946,10 @@ OPER_EXCEPTION_INVALID_LIMIT
|
||||
ËÜèïò session limit. ÐñÝðåé íá åßíáé ëÜèïò ï integer greater Þ ðñÝðåé íá åßíáé ìåôáîý ìçäÝí êáé %d.
|
||||
OPER_EXCEPTION_INVALID_HOSTMASK
|
||||
ËÜèïò hostmask. Ìüíï ðñáãìáôéêÜ hostmasks ÷ñçóéìïðïéïýíôáé êáé ü÷é øåõäþíõìá Þ usernames.
|
||||
OPER_EXCEPTION_EXISTS
|
||||
%s already exists on the EXCEPTION list.
|
||||
OPER_EXCEPTION_CHANGED
|
||||
Exception for %s has been updated to %d.
|
||||
|
||||
# SESSION responses
|
||||
OPER_SESSION_SYNTAX
|
||||
|
||||
+12
@@ -2631,6 +2631,14 @@ OPER_SET_NOEXPIRE_ERROR
|
||||
Az NOEXPIRE beállításhoz kell ON vagy OFF.
|
||||
OPER_SET_UNKNOWN_OPTION
|
||||
Ismeretlen beállítás %s.
|
||||
OPER_SET_SQL_ON
|
||||
SQL code will be used.
|
||||
OPER_SET_SQL_OFF
|
||||
SQL code will not be used.
|
||||
OPER_SET_SQL_ERROR
|
||||
Setting for SQL must be ON or OFF.
|
||||
OPER_SET_SQL_ERROR_INIT
|
||||
Error during init of SQL, check your logs to correct.
|
||||
|
||||
# NOOP válaszok
|
||||
OPER_NOOP_SYNTAX
|
||||
@@ -2868,6 +2876,10 @@ OPER_EXCEPTION_INVALID_LIMIT
|
||||
OPER_EXCEPTION_INVALID_HOSTMASK
|
||||
Érvénytelen hosztmaszk. Csak érvényes hosztmaszk lehet,
|
||||
a kivétel nem lehet nick vagy usernév.
|
||||
OPER_EXCEPTION_EXISTS
|
||||
%s already exists on the EXCEPTION list.
|
||||
OPER_EXCEPTION_CHANGED
|
||||
Exception for %s has been updated to %d.
|
||||
|
||||
# SESSION válaszok
|
||||
OPER_SESSION_SYNTAX
|
||||
|
||||
@@ -2675,6 +2675,14 @@ OPER_SET_NOEXPIRE_ERROR
|
||||
Il parametro dell'opzione NOEXPIRE deve essere ON o OFF.
|
||||
OPER_SET_UNKNOWN_OPTION
|
||||
Opzione %s sconosciuta.
|
||||
OPER_SET_SQL_ON
|
||||
SQL code will be used.
|
||||
OPER_SET_SQL_OFF
|
||||
SQL code will not be used.
|
||||
OPER_SET_SQL_ERROR
|
||||
Setting for SQL must be ON or OFF.
|
||||
OPER_SET_SQL_ERROR_INIT
|
||||
Error during init of SQL, check your logs to correct.
|
||||
|
||||
# NOOP responses
|
||||
OPER_NOOP_SYNTAX
|
||||
@@ -2942,6 +2950,10 @@ OPER_EXCEPTION_INVALID_LIMIT
|
||||
Limite delle sessioni non valido. Deve essere un numero intero maggiore o uguale a zero e minore di %d.
|
||||
OPER_EXCEPTION_INVALID_HOSTMASK
|
||||
Hostmask non valida. Solo le hostmask reali sono valide; le eccezioni non vengono confrontate con i nick o con gli username (ident).
|
||||
OPER_EXCEPTION_EXISTS
|
||||
%s already exists on the EXCEPTION list.
|
||||
OPER_EXCEPTION_CHANGED
|
||||
Exception for %s has been updated to %d.
|
||||
|
||||
# SESSION responses
|
||||
OPER_SESSION_SYNTAX
|
||||
|
||||
@@ -2645,6 +2645,14 @@ OPER_SET_NOEXPIRE_ERROR
|
||||
Instelling voor NOEXPIRE moet ON of OFF zijn.
|
||||
OPER_SET_UNKNOWN_OPTION
|
||||
Onbekende optie %s.
|
||||
OPER_SET_SQL_ON
|
||||
SQL code will be used.
|
||||
OPER_SET_SQL_OFF
|
||||
SQL code will not be used.
|
||||
OPER_SET_SQL_ERROR
|
||||
Setting for SQL must be ON or OFF.
|
||||
OPER_SET_SQL_ERROR_INIT
|
||||
Error during init of SQL, check your logs to correct.
|
||||
|
||||
# NOOP responses
|
||||
OPER_NOOP_SYNTAX
|
||||
@@ -2895,6 +2903,10 @@ OPER_EXCEPTION_INVALID_LIMIT
|
||||
Ongeldige sessie limiet. Het moet een geldige integer groter dan of gelijk aan nul en kleiner dan %d.
|
||||
OPER_EXCEPTION_INVALID_HOSTMASK
|
||||
Ongeldige hostmask. Alleen echte hostmasks zijn geldig als uitzondering omdat deze niet worden vergeleken met nicks of usernames.
|
||||
OPER_EXCEPTION_EXISTS
|
||||
%s already exists on the EXCEPTION list.
|
||||
OPER_EXCEPTION_CHANGED
|
||||
Exception for %s has been updated to %d.
|
||||
|
||||
# SESSION responses
|
||||
OPER_SESSION_SYNTAX
|
||||
|
||||
@@ -2859,6 +2859,14 @@ OPER_SET_NOEXPIRE_ERROR
|
||||
ON lub OFF.
|
||||
OPER_SET_UNKNOWN_OPTION
|
||||
Nieznana opcja %s.
|
||||
OPER_SET_SQL_ON
|
||||
SQL code will be used.
|
||||
OPER_SET_SQL_OFF
|
||||
SQL code will not be used.
|
||||
OPER_SET_SQL_ERROR
|
||||
Setting for SQL must be ON or OFF.
|
||||
OPER_SET_SQL_ERROR_INIT
|
||||
Error during init of SQL, check your logs to correct.
|
||||
|
||||
# NOOP responses
|
||||
OPER_NOOP_SYNTAX
|
||||
@@ -3105,6 +3113,10 @@ OPER_EXCEPTION_INVALID_LIMIT
|
||||
OPER_EXCEPTION_INVALID_HOSTMASK
|
||||
Nieprawid³owa maska. Tylko rzeczywiste maski s±
|
||||
prawid³owe jako wyj±tki.
|
||||
OPER_EXCEPTION_EXISTS
|
||||
%s already exists on the EXCEPTION list.
|
||||
OPER_EXCEPTION_CHANGED
|
||||
Exception for %s has been updated to %d.
|
||||
|
||||
# SESSION responses
|
||||
OPER_SESSION_SYNTAX
|
||||
|
||||
@@ -2670,6 +2670,14 @@ OPER_SET_NOEXPIRE_ERROR
|
||||
Opção NOEXPIRE deve ser ON ou OFF.
|
||||
OPER_SET_UNKNOWN_OPTION
|
||||
Opção desconhecida: %s.
|
||||
OPER_SET_SQL_ON
|
||||
SQL code will be used.
|
||||
OPER_SET_SQL_OFF
|
||||
SQL code will not be used.
|
||||
OPER_SET_SQL_ERROR
|
||||
Setting for SQL must be ON or OFF.
|
||||
OPER_SET_SQL_ERROR_INIT
|
||||
Error during init of SQL, check your logs to correct.
|
||||
|
||||
# NOOP responses
|
||||
OPER_NOOP_SYNTAX
|
||||
@@ -2946,6 +2954,10 @@ OPER_EXCEPTION_INVALID_LIMIT
|
||||
Limite de sessão inválida. O limite deve ser um número inteiro maior ou igual a zero e menor que %d.
|
||||
OPER_EXCEPTION_INVALID_HOSTMASK
|
||||
Máscara inválida. Apenas máscaras (hosts) são válidas como exceções aos limites de sessões. Nick ou username não são válidos.
|
||||
OPER_EXCEPTION_EXISTS
|
||||
%s already exists on the EXCEPTION list.
|
||||
OPER_EXCEPTION_CHANGED
|
||||
Exception for %s has been updated to %d.
|
||||
|
||||
# SESSION responses
|
||||
OPER_SESSION_SYNTAX
|
||||
|
||||
@@ -2642,6 +2642,14 @@ OPER_SET_NOEXPIRE_ERROR
|
||||
Опция NOEXPIRE должна иметь значения только ON или OFF.
|
||||
OPER_SET_UNKNOWN_OPTION
|
||||
Неизвестная опция %s.
|
||||
OPER_SET_SQL_ON
|
||||
SQL code will be used.
|
||||
OPER_SET_SQL_OFF
|
||||
SQL code will not be used.
|
||||
OPER_SET_SQL_ERROR
|
||||
Setting for SQL must be ON or OFF.
|
||||
OPER_SET_SQL_ERROR_INIT
|
||||
Error during init of SQL, check your logs to correct.
|
||||
|
||||
# NOOP responses
|
||||
OPER_NOOP_SYNTAX
|
||||
@@ -2876,6 +2884,10 @@ OPER_EXCEPTION_INVALID_LIMIT
|
||||
Некорректный лимит сессий. Он должен быть целым числом больше или равным нуля и меньше %d.
|
||||
OPER_EXCEPTION_INVALID_HOSTMASK
|
||||
Некорректная хостмаска. Только реальная хостмаска может быть добавлена в исключения, она не должна содержать ников или имен пользователей.
|
||||
OPER_EXCEPTION_EXISTS
|
||||
%s already exists on the EXCEPTION list.
|
||||
OPER_EXCEPTION_CHANGED
|
||||
Exception for %s has been updated to %d.
|
||||
|
||||
# SESSION responses
|
||||
OPER_SESSION_SYNTAX
|
||||
|
||||
@@ -2673,6 +2673,14 @@ OPER_SET_NOEXPIRE_ERROR
|
||||
NOEXPIRE ayarı ON yada OFF olmalıdır.
|
||||
OPER_SET_UNKNOWN_OPTION
|
||||
Varolmayan özellik %s.
|
||||
OPER_SET_SQL_ON
|
||||
SQL code will be used.
|
||||
OPER_SET_SQL_OFF
|
||||
SQL code will not be used.
|
||||
OPER_SET_SQL_ERROR
|
||||
Setting for SQL must be ON or OFF.
|
||||
OPER_SET_SQL_ERROR_INIT
|
||||
Error during init of SQL, check your logs to correct.
|
||||
|
||||
# NOOP responses
|
||||
OPER_NOOP_SYNTAX
|
||||
@@ -2943,6 +2951,10 @@ OPER_EXCEPTION_INVALID_LIMIT
|
||||
Geçersiz session limiti. Sıfırdan büyük yada eşit ve %d den az bir geçerli tamsayı olmalıdır.
|
||||
OPER_EXCEPTION_INVALID_HOSTMASK
|
||||
Geçersiz hostmask. Sadece gerçek hostmasklar exception olarak geçerlidir.
|
||||
OPER_EXCEPTION_EXISTS
|
||||
%s already exists on the EXCEPTION list.
|
||||
OPER_EXCEPTION_CHANGED
|
||||
Exception for %s has been updated to %d.
|
||||
|
||||
# SESSION responses
|
||||
OPER_SESSION_SYNTAX
|
||||
|
||||
+3
-3
@@ -5,14 +5,14 @@ OBJS = actions.o base64.o botserv.o channels.o chanserv.o commands.o compat.o c
|
||||
memory.o memoserv.o messages.o misc.o modules.o news.o nickserv.o operserv.o \
|
||||
process.o proxy.o send.o servers.o sessions.o slist.o sockutil.o \
|
||||
timeout.o users.o dreamforge.o bahamut.o unreal31.o ultimate2.o ultimate3.o \
|
||||
hybrid.o ptlink.o viagra.o rageircd.o unreal32.o \
|
||||
hybrid.o ptlink.o viagra.o rageircd.o unreal32.o solidircd.o \
|
||||
$(VSNPRINTF_O) $(RDB_OBJ) $(MYSQL_OBJ)
|
||||
SRCS = actions.c base64.c botserv.c channels.c chanserv.c commands.c compat.c converter.c \
|
||||
config.c datafiles.c encrypt.c helpserv.c hostserv.c init.c language.c list.c log.c mail.c main.c \
|
||||
memory.c memoserv.c messages.c misc.c modules.c news.c nickserv.c operserv.c \
|
||||
process.c proxy.c send.c servers.c sessions.c slist.c sockutil.c \
|
||||
dreamforge.c bahamut.c unreal31.c ultimate2.c ultimate3.c \
|
||||
hybrid.c ptlink.c viagra.c rageircd.c unreal32.c \
|
||||
hybrid.c ptlink.c viagra.c rageircd.c unreal32.c solidircd.c \
|
||||
timeout.c users.c \
|
||||
$(VSNPRINTF_C) $(RDB) $(MYSQL)
|
||||
|
||||
@@ -23,7 +23,7 @@ INCLUDES = ../include/commands.h ../include/defs.h ../include/language.h \
|
||||
../include/modules.h ../include/slist.h \
|
||||
../include/dreamforge.h ../include/bahamut.h ../include/ultimate2.h \
|
||||
../include/ultimate3.h ../include/hybrid.h ../include/ptlink.h ../include/unreal31.h \
|
||||
../include/viagra.h ../include/rageircd.h ../include/unreal32.h
|
||||
../include/viagra.h ../include/rageircd.h ../include/unreal32.h ../include/solidircd.h
|
||||
|
||||
|
||||
MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'ANOPELIBS=${ANOPELIBS}' \
|
||||
|
||||
+25
-8
@@ -612,7 +612,7 @@ void load_bs_dbase(void)
|
||||
dbFILE *f;
|
||||
int c, ver;
|
||||
int16 tmp16;
|
||||
int32 tmp32;
|
||||
uint32 tmp32;
|
||||
BotInfo *bi;
|
||||
int failed = 0;
|
||||
|
||||
@@ -1148,12 +1148,19 @@ static void bot_raw_kick(User * requester, ChannelInfo * ci, char *nick,
|
||||
static void bot_raw_mode(User * requester, ChannelInfo * ci, char *mode,
|
||||
char *nick)
|
||||
{
|
||||
char *av[3];
|
||||
User *u = finduser(nick);
|
||||
char *av[4];
|
||||
int ac;
|
||||
char buf[BUFSIZE];
|
||||
*buf = '\0';
|
||||
User *u;
|
||||
|
||||
u = finduser(nick);
|
||||
|
||||
if (!u || !is_on_chan(ci->c, u))
|
||||
return;
|
||||
|
||||
snprintf(buf, BUFSIZE - 1, "%ld", (long int) time(NULL));
|
||||
|
||||
if (ircd->protectedumode) {
|
||||
if (is_protected(u) && *mode == '-' && (requester != u)) {
|
||||
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s",
|
||||
@@ -1167,12 +1174,22 @@ static void bot_raw_mode(User * requester, ChannelInfo * ci, char *mode,
|
||||
&& (get_access(u, ci) >= get_access(requester, ci)))
|
||||
return;
|
||||
|
||||
av[0] = ci->name;
|
||||
av[1] = mode;
|
||||
av[2] = nick;
|
||||
if (ircdcap->tsmode) {
|
||||
av[0] = ci->name;
|
||||
av[1] = buf;
|
||||
av[2] = mode;
|
||||
av[3] = nick;
|
||||
ac = 4;
|
||||
anope_cmd_mode(ci->bi->nick, av[0], "%s %s", av[2], av[3]);
|
||||
} else {
|
||||
av[0] = ci->name;
|
||||
av[1] = mode;
|
||||
av[2] = nick;
|
||||
ac = 3;
|
||||
anope_cmd_mode(ci->bi->nick, av[0], "%s %s", av[1], av[2]);
|
||||
}
|
||||
|
||||
anope_cmd_mode(ci->bi->nick, av[0], "%s %s", av[1], av[2]);
|
||||
do_cmode(ci->bi->nick, 3, av);
|
||||
do_cmode(ci->bi->nick, ac, av);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
+1
-1
@@ -636,7 +636,7 @@ void load_cs_dbase(void)
|
||||
|
||||
for (i = 0; i < 256 && !failed; i++) {
|
||||
int16 tmp16;
|
||||
int32 tmp32;
|
||||
uint32 tmp32;
|
||||
int n_levels;
|
||||
char *s;
|
||||
NickAlias *na;
|
||||
|
||||
+2
-2
@@ -535,7 +535,7 @@ void load_hs_dbase_v2(dbFILE * f)
|
||||
char *nick;
|
||||
char *vHost;
|
||||
char *creator;
|
||||
int32 time;
|
||||
uint32 time;
|
||||
|
||||
while (!failed && (c = getc_db(f)) == 1) {
|
||||
|
||||
@@ -563,7 +563,7 @@ void load_hs_dbase_v3(dbFILE * f)
|
||||
char *vHost;
|
||||
char *creator;
|
||||
char *vIdent;
|
||||
int32 time;
|
||||
uint32 time;
|
||||
|
||||
while (!failed && (c = getc_db(f)) == 1) {
|
||||
if (c == 1) {
|
||||
|
||||
+1
-1
@@ -66,7 +66,7 @@ static void load_lang(int index, const char *filename)
|
||||
{
|
||||
char buf[256];
|
||||
FILE *f;
|
||||
int num, i;
|
||||
int32 num, i;
|
||||
|
||||
if (debug) {
|
||||
alog("debug: Loading language %d from file `languages/%s'",
|
||||
|
||||
+33
-2
@@ -397,13 +397,20 @@ void sighandler(int signum)
|
||||
signum);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (signum == SIGSEGV) {
|
||||
do_backtrace();
|
||||
}
|
||||
|
||||
if (started) {
|
||||
services_shutdown();
|
||||
exit(0);
|
||||
} else {
|
||||
alog("%s", quitmsg);
|
||||
if (isatty(2))
|
||||
if (isatty(2)) {
|
||||
fprintf(stderr, "%s\n", quitmsg);
|
||||
} else {
|
||||
alog("%s", quitmsg);
|
||||
}
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
@@ -554,3 +561,27 @@ int main(int ac, char **av, char **envp)
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
void do_backtrace(void)
|
||||
{
|
||||
#ifdef HAVE_BACKTRACE
|
||||
void *array[50];
|
||||
size_t size;
|
||||
char **strings;
|
||||
int i;
|
||||
|
||||
alog("Backtrace: Segmentation fault detected");
|
||||
alog("Backtrace: report the following lines");
|
||||
alog("Backtrace: Anope version %s %s %s", version_number,
|
||||
version_build, version_flags);
|
||||
size = backtrace(array, 10);
|
||||
strings = backtrace_symbols(array, size);
|
||||
for (i = 1; i < size; i++) {
|
||||
alog("Backtrace(%d): %s", i, strings[i]);
|
||||
}
|
||||
free(strings);
|
||||
alog("Backtrace: complete");
|
||||
#else
|
||||
alog("Backtrace: not available on this platform");
|
||||
#endif
|
||||
}
|
||||
|
||||
+6
-1
@@ -361,6 +361,10 @@ void memo_send(User * u, char *name, char *text, int z)
|
||||
m->time = time(NULL);
|
||||
m->text = sstrdup(text);
|
||||
m->flags = MF_UNREAD;
|
||||
/* Set notify sent flag - DrStein */
|
||||
if (z == 2) {
|
||||
m->flags |= MF_NOTIFYS;
|
||||
}
|
||||
/* Set receipt request flag */
|
||||
if (z == 3)
|
||||
m->flags |= MF_RECEIPT;
|
||||
@@ -446,7 +450,8 @@ static int do_cancel(User * u)
|
||||
|
||||
for (i = mi->memocount - 1; i >= 0; i--) {
|
||||
if ((mi->memos[i].flags & MF_UNREAD)
|
||||
&& !stricmp(mi->memos[i].sender, u->na->nc->display)) {
|
||||
&& !stricmp(mi->memos[i].sender, u->na->nc->display)
|
||||
&& (!(mi->memos[i].flags & MF_NOTIFYS))) {
|
||||
delmemo(mi, mi->memos[i].number);
|
||||
notice_lang(s_MemoServ, u, MEMO_CANCELLED, name);
|
||||
return MOD_CONT;
|
||||
|
||||
+1
-1
@@ -156,7 +156,7 @@ void load_news()
|
||||
dbFILE *f;
|
||||
int i;
|
||||
int16 n;
|
||||
int32 tmp32;
|
||||
uint32 tmp32;
|
||||
|
||||
if (!(f = open_db(s_OperServ, NewsDBName, "r", NEWS_VERSION)))
|
||||
return;
|
||||
|
||||
+3
-3
@@ -374,7 +374,7 @@ void load_old_ns_dbase(void)
|
||||
int failed = 0;
|
||||
|
||||
int16 tmp16;
|
||||
int32 tmp32;
|
||||
uint32 tmp32;
|
||||
|
||||
char bufn[NICKMAX], bufp[PASSMAX];
|
||||
char *email, *greet, *url, *forbidby, *forbidreason;
|
||||
@@ -632,7 +632,7 @@ void load_ns_req_db(void)
|
||||
dbFILE *f;
|
||||
int i, c, ver;
|
||||
NickRequest *nr;
|
||||
int32 tmp32;
|
||||
uint32 tmp32;
|
||||
int failed = 0;
|
||||
|
||||
if (!(f = open_db(s_NickServ, PreNickDBName, "r", PRE_NICK_VERSION)))
|
||||
@@ -663,7 +663,7 @@ void load_ns_dbase(void)
|
||||
NickCore *nc, **nclast, *ncprev;
|
||||
int failed = 0;
|
||||
int16 tmp16;
|
||||
int32 tmp32;
|
||||
uint32 tmp32;
|
||||
char *s;
|
||||
|
||||
if (!(f = open_db(s_NickServ, NickDBName, "r", NICK_VERSION)))
|
||||
|
||||
+28
-10
@@ -168,12 +168,15 @@ void moduleAddOperServCmds(void) {
|
||||
c = createCommand("SZLINE", do_szline, is_services_oper,OPER_HELP_SZLINE, -1,-1,-1,-1); addCoreCommand(OPERSERV,c);
|
||||
|
||||
/* Commands for Services admins: */
|
||||
c = createCommand("SET", do_set, is_services_admin,OPER_HELP_SET, -1,-1,-1,-1); addCoreCommand(OPERSERV,c);
|
||||
c = createCommand("SET READONLY", NULL, NULL,OPER_HELP_SET_READONLY, -1,-1,-1,-1); addCoreCommand(OPERSERV,c);
|
||||
c = createCommand("SET LOGCHAN",NULL, NULL,OPER_HELP_SET_LOGCHAN, -1,-1,-1,-1); addCoreCommand(OPERSERV,c);
|
||||
c = createCommand("SET DEBUG", NULL, NULL,OPER_HELP_SET_DEBUG, -1,-1,-1,-1); addCoreCommand(OPERSERV,c);
|
||||
c = createCommand("SET NOEXPIRE",NULL, NULL,OPER_HELP_SET_NOEXPIRE, -1,-1,-1,-1); addCoreCommand(OPERSERV,c);
|
||||
c = createCommand("SET SUPERADMIN",NULL, NULL,OPER_HELP_SET_SUPERADMIN, -1,-1,-1,-1); addCoreCommand(OPERSERV,c);
|
||||
c = createCommand("SET", do_set, is_services_admin,OPER_HELP_SET, -1,-1,-1,-1); addCoreCommand(OPERSERV,c);
|
||||
c = createCommand("SET READONLY", NULL, NULL,OPER_HELP_SET_READONLY, -1,-1,-1,-1); addCoreCommand(OPERSERV,c);
|
||||
c = createCommand("SET LOGCHAN", NULL, NULL,OPER_HELP_SET_LOGCHAN, -1,-1,-1,-1); addCoreCommand(OPERSERV,c);
|
||||
c = createCommand("SET DEBUG", NULL, NULL,OPER_HELP_SET_DEBUG, -1,-1,-1,-1); addCoreCommand(OPERSERV,c);
|
||||
c = createCommand("SET NOEXPIRE", NULL, NULL,OPER_HELP_SET_NOEXPIRE, -1,-1,-1,-1); addCoreCommand(OPERSERV,c);
|
||||
c = createCommand("SET SUPERADMIN", NULL, NULL,OPER_HELP_SET_SUPERADMIN, -1,-1,-1,-1); addCoreCommand(OPERSERV,c);
|
||||
#ifdef USE_MYSQL
|
||||
c = createCommand("SET SQL", NULL, NULL,OPER_HELP_SET_SQL, -1,-1,-1,-1); addCoreCommand(OPERSERV,c);
|
||||
#endif
|
||||
c = createCommand("SVSNICK", do_svsnick, is_services_admin,OPER_HELP_SVSNICK, -1,-1,-1,-1); addCoreCommand(OPERSERV,c);
|
||||
c = createCommand("UMODE", do_operumodes, is_services_admin,OPER_HELP_UMODE, -1,-1,-1,-1); addCoreCommand(OPERSERV,c);
|
||||
c = createCommand("NOOP", do_noop, is_services_admin,OPER_HELP_NOOP, -1,-1,-1,-1); addCoreCommand(OPERSERV,c);
|
||||
@@ -377,7 +380,7 @@ static void load_old_akill(void)
|
||||
dbFILE *f;
|
||||
int i, j;
|
||||
int16 tmp16;
|
||||
int32 tmp32;
|
||||
uint32 tmp32;
|
||||
char buf[NICKMAX], mask2[BUFSIZE], *mask, *s;
|
||||
Akill *ak, *entry;
|
||||
|
||||
@@ -491,7 +494,7 @@ void load_os_dbase(void)
|
||||
int16 i, n, ver, c;
|
||||
HostCache *hc, **hclast, *hcprev;
|
||||
int16 tmp16;
|
||||
int32 tmp32;
|
||||
uint32 tmp32;
|
||||
char *s;
|
||||
int failed = 0;
|
||||
|
||||
@@ -533,7 +536,7 @@ void load_os_dbase(void)
|
||||
}
|
||||
|
||||
if (ver >= 7) {
|
||||
int32 tmp32;
|
||||
uint32 tmp32;
|
||||
SAFE(read_int32(&maxusercnt, f));
|
||||
SAFE(read_int32(&tmp32, f));
|
||||
maxusertime = tmp32;
|
||||
@@ -4466,7 +4469,22 @@ static int do_set(User * u)
|
||||
} else {
|
||||
notice_lang(s_OperServ, u, OPER_SET_IGNORE_ERROR);
|
||||
}
|
||||
|
||||
#ifdef USE_MYSQL
|
||||
} else if (stricmp(option, "SQL") == 0) {
|
||||
if (stricmp(setting, "on") == 0) {
|
||||
if (rdb_init()) {
|
||||
notice_lang(s_OperServ, u, OPER_SET_SQL_ON);
|
||||
} else {
|
||||
notice_lang(s_OperServ, u, OPER_SET_SQL_ERROR_INIT);
|
||||
}
|
||||
} else if (stricmp(setting, "off") == 0) {
|
||||
/* could call rdb_close() but that does nothing - TSL */
|
||||
do_mysql = 0;
|
||||
notice_lang(s_OperServ, u, OPER_SET_SQL_OFF);
|
||||
} else {
|
||||
notice_lang(s_OperServ, u, OPER_SET_SQL_ERROR);
|
||||
}
|
||||
#endif
|
||||
} else if (stricmp(option, "READONLY") == 0) {
|
||||
if (stricmp(setting, "on") == 0) {
|
||||
readonly = 1;
|
||||
|
||||
+2
-13
@@ -54,7 +54,7 @@ IRCDVar ircd[] = {
|
||||
NULL, /* Mode to unset for an owner */
|
||||
"+r", /* Mode On Reg */
|
||||
"-r", /* Mode on UnReg */
|
||||
"+d", /* Mode on Nick Change */
|
||||
NULL, /* Mode on Nick Change */
|
||||
1, /* Supports SGlines */
|
||||
1, /* Supports SQlines */
|
||||
1, /* Supports SZlines */
|
||||
@@ -1378,17 +1378,6 @@ void anope_set_umode(User * user, int ac, char **av)
|
||||
case '-':
|
||||
add = 0;
|
||||
break;
|
||||
case 'd':
|
||||
if (ac == 0) {
|
||||
alog("user: umode +d with no parameter (?) for user %s",
|
||||
user->nick);
|
||||
break;
|
||||
}
|
||||
|
||||
ac--;
|
||||
av++;
|
||||
user->svid = strtoul(*av, NULL, 0);
|
||||
break;
|
||||
case 'o':
|
||||
if (add) {
|
||||
opcnt++;
|
||||
@@ -1560,7 +1549,7 @@ void anope_cmd_svid_umode(char *nick, time_t ts)
|
||||
/* nc_change was = 1, and there is no na->status */
|
||||
void anope_cmd_nc_change(User * u)
|
||||
{
|
||||
common_svsmode(u, "+d", "1");
|
||||
/* Not Supported by this ircd */
|
||||
}
|
||||
|
||||
/* SVSMODE +d */
|
||||
|
||||
+25
-10
@@ -76,7 +76,7 @@ int16 nexceptions = 0;
|
||||
static Session *findsession(const char *host);
|
||||
|
||||
static Exception *find_host_exception(const char *host);
|
||||
static int exception_add(const char *mask, const int limit,
|
||||
static int exception_add(User * u, const char *mask, const int limit,
|
||||
const char *reason, const char *who,
|
||||
const time_t expires);
|
||||
|
||||
@@ -380,7 +380,7 @@ void load_exceptions()
|
||||
int i;
|
||||
int16 n;
|
||||
int16 tmp16;
|
||||
int32 tmp32;
|
||||
uint32 tmp32;
|
||||
|
||||
if (!
|
||||
(f = open_db(s_OperServ, ExceptionDBName, "r", EXCEPTION_VERSION)))
|
||||
@@ -479,16 +479,29 @@ void save_rdb_exceptions()
|
||||
/************************ Exception Manipulation *************************/
|
||||
/*************************************************************************/
|
||||
|
||||
static int exception_add(const char *mask, const int limit,
|
||||
static int exception_add(User * u, const char *mask, const int limit,
|
||||
const char *reason, const char *who,
|
||||
const time_t expires)
|
||||
{
|
||||
int i;
|
||||
|
||||
/* Check if an exception already exists for this mask */
|
||||
for (i = 0; i < nexceptions; i++)
|
||||
if (stricmp(mask, exceptions[i].mask) == 0)
|
||||
return 0;
|
||||
for (i = 0; i < nexceptions; i++) {
|
||||
if (!stricmp(mask, exceptions[i].mask)) {
|
||||
if (exceptions[i].limit != limit) {
|
||||
exceptions[i].limit = limit;
|
||||
if (u)
|
||||
notice_lang(s_OperServ, u, OPER_EXCEPTION_CHANGED,
|
||||
mask, exceptions[i].limit);
|
||||
return -2;
|
||||
} else {
|
||||
if (u)
|
||||
notice_lang(s_OperServ, u, OPER_EXCEPTION_EXISTS,
|
||||
mask);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
nexceptions++;
|
||||
exceptions = srealloc(exceptions, sizeof(Exception) * nexceptions);
|
||||
@@ -626,6 +639,7 @@ int do_exception(User * u)
|
||||
char *mask, *reason, *expiry, *limitstr;
|
||||
int limit, expires;
|
||||
int i;
|
||||
int x;
|
||||
|
||||
if (!LimitSessions) {
|
||||
notice_lang(s_OperServ, u, OPER_EXCEPTION_DISABLED);
|
||||
@@ -679,12 +693,13 @@ int do_exception(User * u)
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (exception_add(mask, limit, reason, u->nick, expires))
|
||||
x = exception_add(u, mask, limit, reason, u->nick, expires);
|
||||
|
||||
if (x == 1) {
|
||||
notice_lang(s_OperServ, u, OPER_EXCEPTION_ADDED, mask,
|
||||
limit);
|
||||
else
|
||||
notice_lang(s_OperServ, u, OPER_EXCEPTION_ALREADY_PRESENT,
|
||||
mask, limit);
|
||||
}
|
||||
|
||||
if (readonly)
|
||||
notice_lang(s_OperServ, u, READ_ONLY_MODE);
|
||||
}
|
||||
|
||||
+1710
File diff suppressed because it is too large
Load Diff
+4
-8
@@ -71,7 +71,7 @@ IRCDVar ircd[] = {
|
||||
0, /* Has Admin */
|
||||
0, /* Chan SQlines */
|
||||
0, /* Quit on Kill */
|
||||
0, /* SVSMODE unban */
|
||||
1, /* SVSMODE unban */
|
||||
1, /* Has Protect */
|
||||
1, /* Reverse */
|
||||
1, /* Chan Reg */
|
||||
@@ -201,7 +201,7 @@ char csmodes[128] = {
|
||||
0,
|
||||
0, 0, 0,
|
||||
'h', /* (37) % Channel halfops */
|
||||
'b', /* (38) & Channel halfops */
|
||||
'b', /* (38) & bans */
|
||||
0, 0, 0,
|
||||
'q',
|
||||
|
||||
@@ -1932,7 +1932,8 @@ void anope_cmd_sgline(char *mask, char *reason)
|
||||
/* SVSMODE -b */
|
||||
void anope_cmd_unban(char *name, char *nick)
|
||||
{
|
||||
/* Not Supported by this IRCD */
|
||||
send_cmd(ServerName, "%s %s -b %s", send_token("SVSMODE", "n"), name,
|
||||
nick);
|
||||
}
|
||||
|
||||
/* SVSMODE +d */
|
||||
@@ -2025,7 +2026,6 @@ int anope_event_swhois(char *source, int ac, char **av)
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
|
||||
int anope_event_rehash(char *source, int ac, char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
@@ -2041,7 +2041,6 @@ int anope_event_admin(char *source, int ac, char **av)
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
|
||||
int anope_event_sdesc(char *source, int ac, char **av)
|
||||
{
|
||||
Server *s;
|
||||
@@ -2054,14 +2053,12 @@ int anope_event_sdesc(char *source, int ac, char **av)
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
|
||||
int anope_event_sjoin(char *source, int ac, char **av)
|
||||
{
|
||||
do_sjoin(source, ac, av);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
|
||||
void anope_cmd_swhois(char *source, char *who, char *mask)
|
||||
{
|
||||
send_cmd(source, "SWHOIS %s :%s", who, mask);
|
||||
@@ -2072,7 +2069,6 @@ void anope_cmd_eob()
|
||||
send_cmd(ServerName, "EOS");
|
||||
}
|
||||
|
||||
|
||||
/* svswatch
|
||||
* parv[0] - sender
|
||||
* parv[1] - target nick
|
||||
|
||||
+13
-7
@@ -17,7 +17,8 @@
|
||||
#define HASH(nick) (((nick)[0]&31)<<5 | ((nick)[1]&31))
|
||||
User *userlist[1024];
|
||||
|
||||
int32 usercnt = 0, opcnt = 0, maxusercnt = 0;
|
||||
int32 usercnt = 0, opcnt = 0;
|
||||
uint32 maxusercnt = 0;
|
||||
time_t maxusertime;
|
||||
|
||||
/*************************************************************************/
|
||||
@@ -707,8 +708,9 @@ void do_quit(const char *source, int ac, char **av)
|
||||
merge_args(ac, av));
|
||||
return;
|
||||
}
|
||||
if (debug)
|
||||
if (debug) {
|
||||
alog("debug: %s quits", source);
|
||||
}
|
||||
if ((na = user->na) && (!(na->status & NS_VERBOTEN))
|
||||
&& (na->status & (NS_IDENTIFIED | NS_RECOGNIZED))) {
|
||||
na->last_seen = time(NULL);
|
||||
@@ -717,8 +719,9 @@ void do_quit(const char *source, int ac, char **av)
|
||||
na->last_quit = *av[0] ? sstrdup(av[0]) : NULL;
|
||||
}
|
||||
#ifndef STREAMLINED
|
||||
if (LimitSessions)
|
||||
if (LimitSessions) {
|
||||
del_session(user->host);
|
||||
}
|
||||
#endif
|
||||
delete_user(user);
|
||||
}
|
||||
@@ -736,13 +739,15 @@ void do_kill(char *nick, char *msg)
|
||||
NickAlias *na;
|
||||
|
||||
user = finduser(nick);
|
||||
if (!user)
|
||||
if (!user) {
|
||||
if (debug) {
|
||||
alog("debug: KILL of nonexistent nick: %s", nick);
|
||||
}
|
||||
return;
|
||||
if (debug)
|
||||
return;
|
||||
}
|
||||
if (debug) {
|
||||
alog("debug: %s killed", nick);
|
||||
}
|
||||
if ((na = user->na) && (!(na->status & NS_VERBOTEN))
|
||||
&& (na->status & (NS_IDENTIFIED | NS_RECOGNIZED))) {
|
||||
na->last_seen = time(NULL);
|
||||
@@ -752,8 +757,9 @@ void do_kill(char *nick, char *msg)
|
||||
|
||||
}
|
||||
#ifndef STREAMLINED
|
||||
if (LimitSessions)
|
||||
if (LimitSessions) {
|
||||
del_session(user->host);
|
||||
}
|
||||
#endif
|
||||
delete_user(user);
|
||||
}
|
||||
|
||||
+16
-1
@@ -8,10 +8,25 @@
|
||||
VERSION_MAJOR="1"
|
||||
VERSION_MINOR="7"
|
||||
VERSION_PATCH="6"
|
||||
VERSION_BUILD="462"
|
||||
VERSION_BUILD="463"
|
||||
|
||||
# $Log$
|
||||
#
|
||||
# BUILD : 1.7.6 (463)
|
||||
# BUGS : 192, 210, 222, 234
|
||||
# NOTES : 1. Removed +d references from the ptlink protocol code, since they do not timestamp the nicks
|
||||
# 2. Memos sent as notification of receipt can not be cancelled.
|
||||
# 3. Unreal3.2 supports SVSMODE -b on clearing bans
|
||||
# 4. fixed do_kill() not remove the user from the user list
|
||||
# 5. /os set sql [on|off] runtime sql toggle
|
||||
# 6. Segfaults logged to the services log when DumpCore is disabled
|
||||
# 7. fixed RUNGROUP not passed during build time
|
||||
# 8. Exceptions now update if the limit is changed
|
||||
# 9. Solid-IRCD support
|
||||
# 10. Fixed TSMODE warnings when using FANTASY commands
|
||||
# 11. Fixed read_int32 warnings (fixes compiling and running under cygwin)
|
||||
# - Thats all..
|
||||
#
|
||||
# BUILD : 1.7.6 (462)
|
||||
# BUGS : 226
|
||||
# NOTES : 1. RageIRCD sends TSMODE which is part of their beta7
|
||||
|
||||
Reference in New Issue
Block a user