1
0
mirror of https://github.com/anope/anope.git synced 2026-07-05 22:53:13 +02:00

BUILD : 1.7.6 (465) BUGS : 218, 235 NOTES : 1. correct the grammer in the example.conf 2. SolidIRCD cmode +S 3. NSSecureAdmins now restricts /NS SET EMAIL 4. Unreals version of SVSHOLD 5. SolidIRCD halfop support 6. /os set list

git-svn-id: svn://svn.anope.org/anope/trunk@465 31f1291d-b8d6-0310-a050-a5561fc1590b


git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@319 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b
2004-11-29 02:26:59 +00:00
parent 28bb054da1
commit bd4d81fb5f
22 changed files with 257 additions and 11 deletions
+5
View File
@@ -3010,6 +3010,11 @@ static int do_set_email(User * u, NickCore * nc, char *param)
if (!param && NSForceEmail) {
notice_lang(s_NickServ, u, NICK_SET_EMAIL_UNSET_IMPOSSIBLE);
return MOD_CONT;
} else if (NSSecureAdmins && u->na->nc != nc
&& nick_is_services_admin(nc)
&& !is_services_root(u)) {
notice_lang(s_NickServ, u, PERMISSION_DENIED);
return MOD_CONT;
} else if (param && !MailValidate(param)) {
notice_lang(s_NickServ, u, MAIL_X_INVALID, param);
return MOD_CONT;
+31 -4
View File
@@ -169,6 +169,7 @@ void moduleAddOperServCmds(void) {
/* 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 LIST", NULL, NULL,OPER_HELP_SET_LIST, -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);
@@ -4455,10 +4456,37 @@ static int do_set(User * u)
{
char *option = strtok(NULL, " ");
char *setting = strtok(NULL, " ");
int index;
if (!option || !setting) {
if (!option) {
syntax_error(s_OperServ, u, "SET", OPER_SET_SYNTAX);
} else if (stricmp(option, "LIST") == 0) {
index =
(allow_ignore ? OPER_SET_LIST_OPTION_ON :
OPER_SET_LIST_OPTION_OFF);
notice_lang(s_OperServ, u, index, "IGNORE");
index =
(readonly ? OPER_SET_LIST_OPTION_ON :
OPER_SET_LIST_OPTION_OFF);
notice_lang(s_OperServ, u, index, "READONLY");
index =
(logchan ? OPER_SET_LIST_OPTION_ON : OPER_SET_LIST_OPTION_OFF);
notice_lang(s_OperServ, u, index, "LOGCHAN");
index =
(debug ? OPER_SET_LIST_OPTION_ON : OPER_SET_LIST_OPTION_OFF);
notice_lang(s_OperServ, u, index, "DEBUG");
index =
(noexpire ? OPER_SET_LIST_OPTION_ON :
OPER_SET_LIST_OPTION_OFF);
notice_lang(s_OperServ, u, index, "NOEXPIRE");
#ifdef USE_MYSQL
index =
(do_mysql ? OPER_SET_LIST_OPTION_ON :
OPER_SET_LIST_OPTION_OFF);
notice_lang(s_OperServ, u, index, "SQL");
#endif
} else if (!setting) {
syntax_error(s_OperServ, u, "SET", OPER_SET_SYNTAX);
} else if (stricmp(option, "IGNORE") == 0) {
if (stricmp(setting, "on") == 0) {
allow_ignore = 1;
@@ -4515,11 +4543,11 @@ static int do_set(User * u)
alog("Now sending log messages to %s", LogChannel);
notice_lang(s_OperServ, u, OPER_SET_LOGCHAN_ON, LogChannel);
} else if (LogChannel && (stricmp(setting, "off") == 0)) {
alog("No longer sending log messages to a channel");
if (ircd->join2msg) {
anope_cmd_part(s_GlobalNoticer, LogChannel, NULL);
}
logchan = 0;
alog("No longer sending log messages to a channel");
notice_lang(s_OperServ, u, OPER_SET_LOGCHAN_OFF);
} else {
notice_lang(s_OperServ, u, OPER_SET_LOGCHAN_ERROR);
@@ -4577,7 +4605,6 @@ static int do_set(User * u)
} else {
notice_lang(s_OperServ, u, OPER_SET_NOEXPIRE_ERROR);
}
} else {
notice_lang(s_OperServ, u, OPER_SET_UNKNOWN_OPTION, option);
}
+2 -2
View File
@@ -60,7 +60,7 @@ IRCDVar ircd[] = {
1, /* Supports SGlines */
1, /* Supports SQlines */
1, /* Supports SZlines */
0, /* Supports Halfop +h */
1, /* Supports Halfop +h */
3, /* Number of server args */
0, /* Join 2 Set */
0, /* Join 2 Message */
@@ -364,7 +364,7 @@ CBMode cbmodes[128] = {
{0}, /* P */
{0}, /* Q */
{CMODE_R, 0, NULL, NULL}, /* R */
{0}, /* S */
{CMODE_S, 0, NULL, NULL}, /* S */
{0}, /* T */
{0}, /* U */
{0}, /* V */
+4 -2
View File
@@ -1886,13 +1886,15 @@ int anope_event_whois(char *source, int ac, char **av)
/* SVSHOLD - set */
void anope_cmd_svshold(char *nick)
{
/* Not supported by this IRCD */
send_cmd(NULL, "TKL + Q H %s %s %ld %ld :%s", nick, ServerName,
(long int) time(NULL) + NSReleaseTimeout,
(long int) time(NULL), "Being held for registered user");
}
/* SVSHOLD - release */
void anope_cmd_release_svshold(char *nick)
{
/* Not Supported by this IRCD */
send_cmd(NULL, "TKL - Q * %s %s", nick, ServerName);
}
/* UNSGLINE */