mirror of
https://github.com/anope/anope.git
synced 2026-06-12 19:14:47 +02:00
BUILD : 1.7.8 (595) BUGS : N/A NOTES : ShadowIRCD, and cleaned up Numeric
git-svn-id: svn://svn.anope.org/anope/trunk@595 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@444 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
parent
1a1781fd0c
commit
a22d9ec3b0
@@ -1,11 +1,12 @@
|
||||
Anope Version S V N
|
||||
-------------------
|
||||
Provided by Anope Dev. <dev@anope.org> - 2005
|
||||
03/03 A ShadowIRCD 4.0 beta 7 support added. [ #00]
|
||||
02/27 A Added multi-file module support. [ #00]
|
||||
02/13 A Internal Event support, see EVENTS in the doc folder for help [ #00]
|
||||
02/05 A Support for Unreal 3.2 +I channel mode. [ #00]
|
||||
02/03 A Merged anope-win32 branch into the main, now Win32 ready. [ #00]
|
||||
03/03 F ircd admin/ower mode handling. [#307]
|
||||
03/03 F Numeric in the config is now a string not an int [ #00]
|
||||
03/02 F Fixed LogUser message, normalizes the "realname" on nick change. [#306]
|
||||
03/02 F ircd protocol support for owner and admin taken from proto. files.[ #00]
|
||||
03/02 F /ns alist output. [#288]
|
||||
|
||||
@@ -19,6 +19,12 @@ Anope Version S V N
|
||||
# UserKey2 <your_second_random_number_here>
|
||||
# UserKey3 <you_third_random_number_here>
|
||||
|
||||
# Numeric [OPTIONAL]
|
||||
# Many ircd identify themselves with a Numeric ID when using this option
|
||||
# consult your ircds documentation before using this.
|
||||
#Numeric "3AX"
|
||||
#Numeric "4"
|
||||
|
||||
** DELETED CONFIGURATION DIRECTIVES **
|
||||
|
||||
Anope Version 1.7.8
|
||||
|
||||
@@ -225,6 +225,7 @@ 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]"
|
||||
echo " 12) Plexus 2.0 [or later]"
|
||||
echo " 13) Ratbox 2.0.6 [or later]"
|
||||
echo " 14) ShadowIRCD 4.0x [beta 7 or later]"
|
||||
|
||||
while [ $ok -eq 0 ] ; do
|
||||
echo2 "[$IRCTYPE] "
|
||||
@@ -291,6 +292,11 @@ while [ $ok -eq 0 ] ; do
|
||||
IRCTYPE_DEF="IRC_RATBOX"
|
||||
ok=1;
|
||||
;;
|
||||
14)
|
||||
IRCTYPE_DEF="IRC_SHADOWIRCD"
|
||||
ok=1;
|
||||
;;
|
||||
|
||||
|
||||
*)
|
||||
echo "Please enter a valid option number."
|
||||
|
||||
@@ -8639,6 +8639,15 @@ _ACEOF
|
||||
|
||||
IRCDFILE=" ratbox.c "
|
||||
|
||||
elif test "$withval" = "IRC_SHADOWIRCD"; then
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define IRC_SHADOWIRCD 1
|
||||
_ACEOF
|
||||
|
||||
IRCDFILE=" shadowircd.c "
|
||||
|
||||
|
||||
|
||||
fi
|
||||
|
||||
|
||||
@@ -267,6 +267,11 @@ AC_ARG_WITH(ircd, [ --with-ircd=ircd Specify the first ircd type], [
|
||||
AC_DEFINE(IRC_RATBOX,1,"First IRCD type")
|
||||
IRCDFILE=" ratbox.c "
|
||||
AC_SUBST(IRCDFILE)
|
||||
elif test "$withval" = "IRC_SHADOWIRCD"; then
|
||||
AC_DEFINE(IRC_SHADOWIRCD,1,"First IRCD type")
|
||||
IRCDFILE=" shadowircd.c "
|
||||
AC_SUBST(IRCDFILE)
|
||||
|
||||
|
||||
fi
|
||||
])
|
||||
|
||||
+2
-3
@@ -240,9 +240,8 @@ NetworkName "LocalNet"
|
||||
# Numeric [OPTIONAL]
|
||||
# Many ircd identify themselves with a Numeric ID when using this option
|
||||
# consult your ircds documentation before using this
|
||||
# - With TS6 ircd this must be 2 numbers, Anope will append X to this to
|
||||
# make the numeric ##X
|
||||
#Numeric 0
|
||||
#Numeric "3AX"
|
||||
#Numeric "4"
|
||||
|
||||
###########################################################################
|
||||
#
|
||||
|
||||
+1
-1
@@ -312,7 +312,7 @@ E int UseSVS2MODE;
|
||||
E int RestrictOperNicks;
|
||||
E int UseTokens;
|
||||
E int NewsCount;
|
||||
E int Numeric;
|
||||
E char *Numeric;
|
||||
E int UnRestrictSAdmin;
|
||||
E int UseTS6;
|
||||
|
||||
|
||||
@@ -245,6 +245,7 @@ typedef enum { false, true } boolean;
|
||||
#include "solidircd.h"
|
||||
#include "plexus.h"
|
||||
#include "ratbox.h"
|
||||
#include "shadowircd.h"
|
||||
|
||||
typedef struct ircdvars_ IRCDVar;
|
||||
typedef struct ircdcapab_ IRCDCAPAB;
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
/* Ratbox IRCD functions
|
||||
*
|
||||
* (C) 2003-2005 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_SHADOWIRCD
|
||||
|
||||
/* The protocol revision. */
|
||||
#define PROTOCOL_REVISION 3402
|
||||
|
||||
#define PROTECT_SET_MODE "+a"
|
||||
#define PROTECT_UNSET_MODE "-a"
|
||||
#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
|
||||
#define UMODE_C 0x00000002
|
||||
#define UMODE_i 0x00000004
|
||||
#define UMODE_o 0x00000008
|
||||
#define UMODE_z 0x00000010
|
||||
#define UMODE_w 0x00000020
|
||||
#define UMODE_s 0x00000040
|
||||
#define UMODE_c 0x00000080
|
||||
#define UMODE_r 0x00000100
|
||||
#define UMODE_k 0x00000200
|
||||
#define UMODE_f 0x00000400
|
||||
#define UMODE_y 0x00000800
|
||||
#define UMODE_d 0x00001000
|
||||
#define UMODE_n 0x00002000
|
||||
#define UMODE_x 0x00004000
|
||||
#define UMODE_u 0x00008000
|
||||
#define UMODE_b 0x00010000
|
||||
#define UMODE_l 0x00020000
|
||||
#define UMODE_g 0x00040000
|
||||
#define UMODE_v 0x00080000
|
||||
#define UMODE_A 0x00100000
|
||||
#define UMODE_E 0x00200000
|
||||
#define UMODE_G 0x00400000
|
||||
#define UMODE_R 0x00800000
|
||||
#define UMODE_e 0x01000000
|
||||
#define UMODE_O 0x02000000
|
||||
#define UMODE_H 0x04000000
|
||||
|
||||
#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
|
||||
#define CMODE_l 0x00000080
|
||||
#define CMODE_K 0x00000100
|
||||
#define CMODE_A 0x00000200
|
||||
#define CMODE_r 0x00000400
|
||||
#define CMODE_z 0x00000800
|
||||
#define CMODE_S 0x00001000
|
||||
#define CMODE_c 0x00002000
|
||||
#define CMODE_E 0x00004000
|
||||
#define CMODE_F 0x00008000
|
||||
#define CMODE_G 0x00010000
|
||||
#define CMODE_L 0x00020000
|
||||
#define CMODE_N 0x00040000
|
||||
#define CMODE_O 0x00080000
|
||||
#define CMODE_P 0x00100000
|
||||
#define CMODE_R 0x00200000
|
||||
#define CMODE_T 0x00400000
|
||||
#define CMODE_V 0x00800000
|
||||
|
||||
#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -129,6 +129,9 @@
|
||||
/* "First IRCD type" */
|
||||
#undef IRC_RATBOX
|
||||
|
||||
/* "First IRCD type" */
|
||||
#undef IRC_SHADOWIRCD
|
||||
|
||||
/* "Module dir" */
|
||||
#undef MODULE_PATH
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
# 11 Solid IRCD 3.4.x [Solid IRCD 3.4.6 or later]
|
||||
# 12 Plexus 2.0 [or later]
|
||||
# 13 Ratbox 2.0.6 [or later]
|
||||
# 14 ShadowIRCD 4.0x [beta 7 or later]
|
||||
|
||||
IRCD=10
|
||||
|
||||
@@ -128,6 +129,10 @@ CAPAB_O=plexus.obj
|
||||
IRCTYPE=/D IRC_RATBOX
|
||||
CAPAB_C=ratbox.c
|
||||
CAPAB_O=ratbox.obj
|
||||
!ELSEIF $(IRCD) == 14
|
||||
IRCTYPE=/D IRC_SHADOWIRCD
|
||||
CAPAB_C=shadowircd.c
|
||||
CAPAB_O=shadowircd.obj
|
||||
!ELSE
|
||||
!ERROR Invalid IRCd
|
||||
!ENDIF
|
||||
|
||||
@@ -114,6 +114,10 @@ dist:
|
||||
echo Compiling Ratbox IRCd build
|
||||
$(MAKE) IRCTYPE=/DIRC_RATBOX CAPAB_C=ratbox.c CAPAB_O=ratbox.obj
|
||||
-@copy src\$(PROGRAM) services-ratbox.exe
|
||||
#Compile ShadowIRCD
|
||||
echo Compiling Shadow IRCd build
|
||||
$(MAKE) IRCTYPE=/DIRC_SHADOWIRCD CAPAB_C=shadowircd.c CAPAB_O=shadwoircd.obj
|
||||
-@copy src\$(PROGRAM) services-shadowircd.exe
|
||||
|
||||
#Compile mypasql
|
||||
$(MYPASQL_BUILD)
|
||||
|
||||
+6
-2
@@ -1558,6 +1558,7 @@ int check_should_halfop(User * user, char *chan)
|
||||
|
||||
int check_should_owner(User * user, char *chan)
|
||||
{
|
||||
char *tmp;
|
||||
ChannelInfo *ci = cs_findchan(chan);
|
||||
|
||||
if (!ci || (ci->flags & CI_VERBOTEN) || *chan == '+')
|
||||
@@ -1565,7 +1566,8 @@ int check_should_owner(User * user, char *chan)
|
||||
|
||||
if (((ci->flags & CI_SECUREFOUNDER) && is_real_founder(user, ci))
|
||||
|| (!(ci->flags & CI_SECUREFOUNDER) && is_founder(user, ci))) {
|
||||
anope_cmd_mode(whosends(ci), chan, "+oq %s %s", user->nick,
|
||||
tmp = stripModePrefix(ircd->ownerset);
|
||||
anope_cmd_mode(whosends(ci), chan, "+o%s %s %s", tmp, user->nick,
|
||||
user->nick);
|
||||
return 1;
|
||||
}
|
||||
@@ -1577,13 +1579,15 @@ int check_should_owner(User * user, char *chan)
|
||||
|
||||
int check_should_protect(User * user, char *chan)
|
||||
{
|
||||
char *tmp;
|
||||
ChannelInfo *ci = cs_findchan(chan);
|
||||
|
||||
if (!ci || (ci->flags & CI_VERBOTEN) || *chan == '+')
|
||||
return 0;
|
||||
|
||||
if (check_access(user, ci, CA_AUTOPROTECT)) {
|
||||
anope_cmd_mode(whosends(ci), chan, "+oa %s %s", user->nick,
|
||||
tmp = stripModePrefix(ircd->adminset);
|
||||
anope_cmd_mode(whosends(ci), chan, "+o%s %s %s", tmp, user->nick,
|
||||
user->nick);
|
||||
return 1;
|
||||
}
|
||||
|
||||
+10
-2
@@ -324,7 +324,7 @@ long unsigned int UserKey1;
|
||||
long unsigned int UserKey2;
|
||||
long unsigned int UserKey3;
|
||||
|
||||
int Numeric;
|
||||
char *Numeric;
|
||||
|
||||
int UnRestrictSAdmin;
|
||||
|
||||
@@ -519,7 +519,7 @@ Directive directives[] = {
|
||||
{"NewsCount", {{PARAM_POSINT, PARAM_RELOAD, &NewsCount}}},
|
||||
{"NewsDB", {{PARAM_STRING, PARAM_RELOAD, &NewsDBName}}},
|
||||
{"NickservDB", {{PARAM_STRING, PARAM_RELOAD, &NickDBName}}},
|
||||
{"Numeric", {{PARAM_POSINT, PARAM_RELOAD, &Numeric}}},
|
||||
{"Numeric", {{PARAM_STRING, PARAM_RELOAD, &Numeric}}},
|
||||
{"PreNickServDB", {{PARAM_STRING, PARAM_RELOAD, &PreNickDBName}}},
|
||||
{"NSEmailReg", {{PARAM_SET, PARAM_RELOAD, &NSEmailReg}}},
|
||||
{"NickRegDelay", {{PARAM_POSINT, PARAM_RELOAD, &NickRegDelay}}},
|
||||
@@ -1438,6 +1438,14 @@ int read_config(int reload)
|
||||
}
|
||||
}
|
||||
|
||||
if (UseTS6 && ircd->ts6) {
|
||||
if (!Numeric) {
|
||||
error(0,
|
||||
"UseTS6 requires the setting of Numeric to be enabled.");
|
||||
retval = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* If they try to enable any email registration option,
|
||||
* make sure they have everything else they need too...
|
||||
|
||||
+2
-6
@@ -748,13 +748,9 @@ void anope_cmd_pong(char *servname, char *who)
|
||||
|
||||
void anope_cmd_connect(int servernum)
|
||||
{
|
||||
char buf[16];
|
||||
*buf = '\0';
|
||||
|
||||
if (Numeric) {
|
||||
snprintf(buf, sizeof(buf), "%d", Numeric);
|
||||
me_server =
|
||||
new_server(NULL, ServerName, ServerDesc, SERVER_ISME, buf);
|
||||
new_server(NULL, ServerName, ServerDesc, SERVER_ISME, Numeric);
|
||||
} else {
|
||||
me_server =
|
||||
new_server(NULL, ServerName, ServerDesc, SERVER_ISME, NULL);
|
||||
@@ -768,7 +764,7 @@ void anope_cmd_connect(int servernum)
|
||||
anope_cmd_pass(RemotePassword3);
|
||||
anope_cmd_capab();
|
||||
if (Numeric) {
|
||||
send_cmd(NULL, "MYID !%d", Numeric);
|
||||
send_cmd(NULL, "MYID !%s", Numeric);
|
||||
}
|
||||
anope_cmd_server(ServerName, 1, ServerDesc);
|
||||
anope_cmd_svinfo();
|
||||
|
||||
+3
-7
@@ -727,13 +727,9 @@ int anope_event_436(char *source, int ac, char **av)
|
||||
void moduleAddIRCDMsgs(void)
|
||||
{
|
||||
Message *m;
|
||||
char buf[BUFSIZE];
|
||||
|
||||
*buf = '\0';
|
||||
|
||||
if (UseTS6) {
|
||||
snprintf(buf, BUFSIZE - 1, "%dX", Numeric);
|
||||
TS6SID = sstrdup(buf);
|
||||
TS6SID = sstrdup(Numeric);
|
||||
UseTSMODE = 1; /* TMODE */
|
||||
}
|
||||
|
||||
@@ -998,7 +994,7 @@ void anope_cmd_bot_nick(char *nick, char *user, char *host, char *real,
|
||||
char nicknumbuf[10];
|
||||
EnforceQlinedNick(nick, NULL);
|
||||
if (UseTS6) {
|
||||
snprintf(nicknumbuf, 10, "%dXAAAAA%c", Numeric,
|
||||
snprintf(nicknumbuf, 10, "%sAAAAA%c", Numeric,
|
||||
(ts6nickcount + 'A'));
|
||||
send_cmd(TS6SID, "UID %s 1 %ld %s %s %s 0 %s :%s", nick,
|
||||
(long int) time(NULL), modes, user, host, nicknumbuf,
|
||||
@@ -1463,7 +1459,7 @@ void anope_cmd_nick(char *nick, char *name, char *mode)
|
||||
char nicknumbuf[10];
|
||||
EnforceQlinedNick(nick, NULL);
|
||||
if (UseTS6) {
|
||||
snprintf(nicknumbuf, 10, "%dXAAAAA%c", Numeric,
|
||||
snprintf(nicknumbuf, 10, "%sAAAAA%c", Numeric,
|
||||
(ts6nickcount + 'A'));
|
||||
send_cmd(TS6SID, "UID %s 1 %ld %s %s %s 0 %s :%s", nick,
|
||||
(long int) time(NULL), mode, ServiceUser, ServiceHost,
|
||||
|
||||
+1811
File diff suppressed because it is too large
Load Diff
+6
-10
@@ -1094,7 +1094,7 @@ void anope_cmd_pass(char *pass)
|
||||
void anope_cmd_server(char *servname, int hop, char *descript)
|
||||
{
|
||||
if (Numeric) {
|
||||
send_cmd(NULL, "SERVER %s %d :U0-*-%d %s", servname, hop, Numeric,
|
||||
send_cmd(NULL, "SERVER %s %d :U0-*-%s %s", servname, hop, Numeric,
|
||||
descript);
|
||||
} else {
|
||||
send_cmd(NULL, "SERVER %s %d :%s", servname, hop, descript);
|
||||
@@ -1489,13 +1489,9 @@ void anope_cmd_vhost_on(char *nick, char *vIdent, char *vhost)
|
||||
|
||||
void anope_cmd_connect(int servernum)
|
||||
{
|
||||
char buf[16];
|
||||
*buf = '\0';
|
||||
|
||||
if (Numeric) {
|
||||
snprintf(buf, sizeof(buf), "%d", Numeric);
|
||||
me_server =
|
||||
new_server(NULL, ServerName, ServerDesc, SERVER_ISME, buf);
|
||||
new_server(NULL, ServerName, ServerDesc, SERVER_ISME, Numeric);
|
||||
} else {
|
||||
me_server =
|
||||
new_server(NULL, ServerName, ServerDesc, SERVER_ISME, NULL);
|
||||
@@ -1887,17 +1883,17 @@ int anope_event_server(char *source, int ac, char **av)
|
||||
{
|
||||
char *desc;
|
||||
char *vl;
|
||||
char *numeric;
|
||||
char *upnumeric;
|
||||
|
||||
if (!stricmp(av[1], "1")) {
|
||||
uplink = sstrdup(av[0]);
|
||||
vl = myStrGetToken(av[2], ' ', 0);
|
||||
numeric = myStrGetToken(vl, '-', 2);
|
||||
upnumeric = myStrGetToken(vl, '-', 2);
|
||||
desc = myStrGetTokenRemainder(av[2], ' ', 1);
|
||||
do_server(source, av[0], av[1], desc, numeric);
|
||||
do_server(source, av[0], av[1], desc, upnumeric);
|
||||
Anope_Free(vl);
|
||||
Anope_Free(desc);
|
||||
Anope_Free(numeric);
|
||||
Anope_Free(upnumeric);
|
||||
} else {
|
||||
do_server(source, av[0], av[1], av[2], NULL);
|
||||
}
|
||||
|
||||
+5
-1
@@ -8,10 +8,14 @@
|
||||
VERSION_MAJOR="1"
|
||||
VERSION_MINOR="7"
|
||||
VERSION_PATCH="8"
|
||||
VERSION_BUILD="594"
|
||||
VERSION_BUILD="595"
|
||||
|
||||
# $Log$
|
||||
#
|
||||
# BUILD : 1.7.8 (595)
|
||||
# BUGS : N/A
|
||||
# NOTES : ShadowIRCD, and cleaned up Numeric
|
||||
#
|
||||
# BUILD : 1.7.8 (594)
|
||||
# BUGS : N/A
|
||||
# NOTES : Changes strdup to sstrdup - doh!
|
||||
|
||||
Reference in New Issue
Block a user