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:
parent
28bb054da1
commit
bd4d81fb5f
@@ -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
@@ -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
@@ -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
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user