summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changes1
-rw-r--r--Changes.conf10
-rw-r--r--Changes.lang5
-rw-r--r--data/example.conf11
-rw-r--r--include/services.h1
-rw-r--r--lang/cat.l9
-rw-r--r--lang/de.l9
-rw-r--r--lang/en_us.l10
-rw-r--r--lang/es.l9
-rw-r--r--lang/fr.l10
-rw-r--r--lang/gr.l9
-rw-r--r--lang/hun.l9
-rw-r--r--lang/it.l9
-rw-r--r--lang/nl.l10
-rw-r--r--lang/pl.l10
-rw-r--r--lang/pt.l9
-rw-r--r--lang/ru.l9
-rw-r--r--lang/tr.l10
-rw-r--r--src/channels.c3
-rw-r--r--src/config.c4
-rw-r--r--src/core/ns_set.c24
-rw-r--r--version.log6
22 files changed, 175 insertions, 12 deletions
diff --git a/Changes b/Changes
index 82123e197..817b9522b 100644
--- a/Changes
+++ b/Changes
@@ -7,6 +7,7 @@ Provided by Anope Dev. <dev@anope.org> - 2006
06/22 A Support startup flag. [ #00]
06/21 A Module version check. [ #00]
06/25 A Optional strict privmsg format. [ #00]
+07/10 A Moved ns_noop into core and assigned an NI_ flag. [#423]
04/08 F Fixed Charybdis support on win32. [#487]
04/08 F Fixed thread stuff on windows. [#488]
04/08 F Fixed SGLine stuff on inspircd (not supported). [#489]
diff --git a/Changes.conf b/Changes.conf
index a4936a2f5..752ed538e 100644
--- a/Changes.conf
+++ b/Changes.conf
@@ -16,9 +16,19 @@ Anope Version S V N
NSResendDelay 90s
+NSDefAutoop
+
** MODIFIED CONFIGURATION DIRECTIVES **
+ModuleDelayedAutoload "cs_appendtopic cs_enforce ns_maxemail os_info hs_request"
** DELETED CONFIGURATION DIRECTIVES **
+# NSAutoOPDBName [OPTIONAL]
+# Module: ns_noop
+#
+# Use the given filename as database for the autoop list. If not given,
+# the default of "autoop.db" will be used.
+#
+#NSAutoOPDBName "autoop.db"
Anope Version 1.7.14
--------------------
diff --git a/Changes.lang b/Changes.lang
index bf8c6527b..c3c5c2395 100644
--- a/Changes.lang
+++ b/Changes.lang
@@ -2,9 +2,12 @@ Anope Version S V N
--------------------
*** New Strings:
INVALID_TARGET
+ NICK_SET_AUTOOP_SYNTAX
+ NICK_SET_AUTOOP_ON
+ NICK_SET_AUTOOP_OFF
*** Mod Strings:
-
+ NICK_HELP_SET
*** Del Strings:
Anope Version 1.7.14
diff --git a/data/example.conf b/data/example.conf
index 0b06632e1..8f7b2d971 100644
--- a/data/example.conf
+++ b/data/example.conf
@@ -714,6 +714,7 @@ NSDefHideUsermask
#NSDefMsg
NSDefMemoSignon
NSDefMemoReceive
+NSDefAutoop
# NSDefLanguage <language-number> [REQUIRED]
# Sets the default language non- and newly-registered will receive
@@ -1554,7 +1555,7 @@ OSOpersOnly
# loaded. Feel free to change this if you want to add more, or remove some
# from the list.
#
-ModuleDelayedAutoload "cs_appendtopic cs_enforce ns_maxemail ns_noop os_info hs_request"
+ModuleDelayedAutoload "cs_appendtopic cs_enforce ns_maxemail os_info hs_request"
###########################################################################
#
@@ -1576,14 +1577,6 @@ ModuleDelayedAutoload "cs_appendtopic cs_enforce ns_maxemail ns_noop os_info hs_
#
#NSEmailMax 1
-# NSAutoOPDBName [OPTIONAL]
-# Module: ns_noop
-#
-# Use the given filename as database for the autoop list. If not given,
-# the default of "autoop.db" will be used.
-#
-#NSAutoOPDBName "autoop.db"
-
# OSInfoDBName [OPTIONAL]
# Module: os_info
#
diff --git a/include/services.h b/include/services.h
index 2ee228233..ce34238a9 100644
--- a/include/services.h
+++ b/include/services.h
@@ -1242,6 +1242,7 @@ typedef struct ircd_modes_ {
#define NI_MEMO_MAIL 0x00010000 /* User gets email on memo */
#define NI_HIDE_STATUS 0x00020000 /* Don't show services access status */
#define NI_SUSPENDED 0x00040000 /* Nickname is suspended */
+#define NI_AUTOOP 0x00080000 /* Autoop nickname in channels */
/* Languages. Never insert anything in the middle of this list, or
* everybody will start getting the wrong language! If you want to change
* the order the languages are displayed in for NickServ HELP SET LANGUAGE,
diff --git a/lang/cat.l b/lang/cat.l
index bfac46693..58f76b6ed 100644
--- a/lang/cat.l
+++ b/lang/cat.l
@@ -531,6 +531,14 @@ NICK_SET_MSG_ON
NICK_SET_MSG_OFF
Els serveis et respondran ara amb noticies.
+# SET AUTOOP responses
+NICK_SET_AUTOOP_SYNTAX
+ SET AUTOOP {ON | OFF}
+NICK_SET_AUTOOP_ON
+ Services will now autoop you in channels.
+NICK_SET_AUTOOP_OFF
+ Services will no longer autoop you in channels.
+
# SET NOEXPIRE responses
NICK_SASET_SYNTAX
SASET nickname option parameters
@@ -3636,6 +3644,7 @@ NICK_HELP_SET
HIDE Oculta algunes parts de la teva informació
MSG canvia el metode de comunicació amb els
serveis
+ AUTOOP Should services op you automatically.
Per utilitzar aquest comanda, has d'identificar-te primer
utilitzant la teva clau (/msg %S HELP IDENTIFY
diff --git a/lang/de.l b/lang/de.l
index ba3ab86ff..8e3b851ae 100644
--- a/lang/de.l
+++ b/lang/de.l
@@ -547,6 +547,14 @@ NICK_SET_MSG_ON
NICK_SET_MSG_OFF
Die Services werden dir jetzt durch notices antworten.
+# SET AUTOOP responses
+NICK_SET_AUTOOP_SYNTAX
+ SET AUTOOP {ON | OFF}
+NICK_SET_AUTOOP_ON
+ Services will now autoop you in channels.
+NICK_SET_AUTOOP_OFF
+ Services will no longer autoop you in channels.
+
# SET NOEXPIRE responses
NICK_SASET_SYNTAX
SASET nickname option parameters
@@ -3623,6 +3631,7 @@ NICK_HELP_SET
auf der Liste von /msg %S LIST
HIDE Versteckt bestimmte Informationen deines
Nicknamens
+ AUTOOP Should services op you automatically.
Wenn du eines dieser Optionen nutzen willst, musst du dich
vorher identifizeren.
diff --git a/lang/en_us.l b/lang/en_us.l
index 5aae18c2d..2925396af 100644
--- a/lang/en_us.l
+++ b/lang/en_us.l
@@ -521,6 +521,15 @@ NICK_SET_MSG_ON
NICK_SET_MSG_OFF
Services will now reply to you with notices.
+# SET AUTOOP responses
+NICK_SET_AUTOOP_SYNTAX
+ SET AUTOOP {ON | OFF}
+NICK_SET_AUTOOP_ON
+ Services will now autoop you in channels.
+NICK_SET_AUTOOP_OFF
+ Services will no longer autoop you in channels.
+
+
# SASET responses
NICK_SASET_SYNTAX
SASET nickname option parameters
@@ -3507,6 +3516,7 @@ NICK_HELP_SET
/msg %S LIST
HIDE Hide certain pieces of nickname information
MSG Change the communication method of Services
+ AUTOOP Should services op you automatically.
In order to use this command, you must first identify
with your password (/msg %S HELP IDENTIFY for more
diff --git a/lang/es.l b/lang/es.l
index 308a006db..cd8b69ead 100644
--- a/lang/es.l
+++ b/lang/es.l
@@ -535,6 +535,14 @@ NICK_SET_MSG_ON
NICK_SET_MSG_OFF
Los servicios te responderan ahora con noticias.
+# SET AUTOOP responses
+NICK_SET_AUTOOP_SYNTAX
+ SET AUTOOP {ON | OFF}
+NICK_SET_AUTOOP_ON
+ Services will now autoop you in channels.
+NICK_SET_AUTOOP_OFF
+ Services will no longer autoop you in channels.
+
# SET NOEXPIRE responses
NICK_SASET_SYNTAX
SASET nickname option parameters
@@ -3610,6 +3618,7 @@ NICK_HELP_SET
HIDE Esconde algunas partes de tu informacion
MSG Cambia el metodo de comunicacion con
Servicios
+ AUTOOP Should services op you automatically.
Para usar este comando, debes primero identificarte con
Servicios usando tu clave (/msg %S HELP IDENTIFY
diff --git a/lang/fr.l b/lang/fr.l
index 136034c0e..fb20bd65c 100644
--- a/lang/fr.l
+++ b/lang/fr.l
@@ -537,6 +537,15 @@ NICK_SET_MSG_ON
NICK_SET_MSG_OFF
Les services vous repondrons avec des notice.
+# SET AUTOOP responses
+NICK_SET_AUTOOP_SYNTAX
+ SET AUTOOP {ON | OFF}
+NICK_SET_AUTOOP_ON
+ Services will now autoop you in channels.
+NICK_SET_AUTOOP_OFF
+ Services will no longer autoop you in channels.
+
+
# SET NOEXPIRE responses
NICK_SASET_SYNTAX
SASET pseudo option paramètres
@@ -3672,6 +3681,7 @@ NICK_HELP_SET
/msg %S LIST
HIDE Cache certaines parties des informations du pseudo
MSG Change le mode de communication des Services
+ AUTOOP Should services op you automatically.
Pour utiliser cette commande, vous devez d'abord vous
identifier avec votre mot de passe (/msg %S HELP
diff --git a/lang/gr.l b/lang/gr.l
index cbce538d2..24d0f304e 100644
--- a/lang/gr.l
+++ b/lang/gr.l
@@ -529,6 +529,14 @@ NICK_SET_MSG_ON
NICK_SET_MSG_OFF
Ïé õðçñåóßåò èá óå åéäïðïéïýí ìå notices.
+# SET AUTOOP responses
+NICK_SET_AUTOOP_SYNTAX
+ SET AUTOOP {ON | OFF}
+NICK_SET_AUTOOP_ON
+ Services will now autoop you in channels.
+NICK_SET_AUTOOP_OFF
+ Services will no longer autoop you in channels.
+
# SET NOEXPIRE responses
NICK_SASET_SYNTAX
SASET nickname option parameters
@@ -3631,6 +3639,7 @@ NICK_HELP_SET
ìå ôçí åíôïëÞ /msg %S LIST
HIDE Áðïêñýðôåé óõãêåêñéìÝíá ôìÞìáôá ðëçñïöïñéþí ôïõ øåõäùíýìïõ
MSG ÁëëÜæåé ôçí ìÝèïäï åðéêïéíùíßáò ìå ôéò õðçñåóßåò
+ AUTOOP Should services op you automatically.
Ãéá íá ÷ñçóéìïðïéÞóåôå áõôÞ ôçí åíôïëÞ, ðñÝðåé ðñþôá íá
áíáãíùñéóôåßôå ìå ôïí êùäéêü óáò (ãéá ðåñéóóüôåñåò ðëçñïöïñßåò,
diff --git a/lang/hun.l b/lang/hun.l
index 04a7c575e..20880f1c2 100644
--- a/lang/hun.l
+++ b/lang/hun.l
@@ -528,6 +528,14 @@ NICK_SET_MSG_ON
NICK_SET_MSG_OFF
A szervíz újra notice-t küld a válaszoknál.
+# SET AUTOOP responses
+NICK_SET_AUTOOP_SYNTAX
+ SET AUTOOP {ON | OFF}
+NICK_SET_AUTOOP_ON
+ Services will now autoop you in channels.
+NICK_SET_AUTOOP_OFF
+ Services will no longer autoop you in channels.
+
# SET NOEXPIRE válaszok
NICK_SASET_SYNTAX
SASET nickname option parameters
@@ -3558,6 +3566,7 @@ NICK_HELP_SET
PRIVATE A nickneved /msg %S LIST -ból való elrejtése
HIDE A nicknévhez tartozó információk elrejtése
MSG Megváltoztatja a szervízzel való kommunikációt
+ AUTOOP Should services op you automatically.
Ezen parancs kiadása elõtt, azonositanod kell magad, mint
a nick tulajdonosa az IDENTIFY parancsot használva, írd
diff --git a/lang/it.l b/lang/it.l
index aa0561402..d16722d5c 100644
--- a/lang/it.l
+++ b/lang/it.l
@@ -524,6 +524,14 @@ NICK_SET_MSG_ON
NICK_SET_MSG_OFF
I servizi ora ti risponderanno per mezzo di notice.
+# SET AUTOOP responses
+NICK_SET_AUTOOP_SYNTAX
+ SET AUTOOP {ON | OFF}
+NICK_SET_AUTOOP_ON
+ Services will now autoop you in channels.
+NICK_SET_AUTOOP_OFF
+ Services will no longer autoop you in channels.
+
# SET NOEXPIRE responses
NICK_SASET_SYNTAX
SASET nickname opzione parametri
@@ -3525,6 +3533,7 @@ NICK_HELP_SET
PRIVATE Nasconde il nick dalla lista (/msg %S LIST)
SECURE Attiva o disattiva la sicurezza
URL Associa un URL al tuo nick
+ AUTOOP Should services op you automatically.
Per usare questo comando, devi prima identificarti con
la tua password (digita /msg %S HELP IDENTIFY per
diff --git a/lang/nl.l b/lang/nl.l
index 81601d7ee..cad16d0f9 100644
--- a/lang/nl.l
+++ b/lang/nl.l
@@ -532,6 +532,15 @@ NICK_SET_MSG_ON
NICK_SET_MSG_OFF
Services zullen je nu beantwoorden met notices.
+# SET AUTOOP responses
+NICK_SET_AUTOOP_SYNTAX
+ SET AUTOOP {ON | OFF}
+NICK_SET_AUTOOP_ON
+ Services will now autoop you in channels.
+NICK_SET_AUTOOP_OFF
+ Services will no longer autoop you in channels.
+
+
# SET NOEXPIRE responses
NICK_SASET_SYNTAX
SASET nickname option parameters
@@ -3587,6 +3596,7 @@ NICK_HELP_SET
/msg %S LIST
HIDE Verberg verschillende soorten nick informatie
MSG Verander de communicatiemanier van Services
+ AUTOOP Should services op you automatically.
Om dit commando te gebruiken moet je je eerst identificeren
met je wachtwoord (/msg %S HELP IDENTIFY voor meer
diff --git a/lang/pl.l b/lang/pl.l
index b4bb6134a..ff1967378 100644
--- a/lang/pl.l
+++ b/lang/pl.l
@@ -579,6 +579,15 @@ NICK_SET_MSG_OFF
Od teraz serwisy bêd± siê z Tob± komunikowaæ przez
wiadomo¶ci notice.
+# SET AUTOOP responses
+NICK_SET_AUTOOP_SYNTAX
+ SET AUTOOP {ON | OFF}
+NICK_SET_AUTOOP_ON
+ Services will now autoop you in channels.
+NICK_SET_AUTOOP_OFF
+ Services will no longer autoop you in channels.
+
+
# SET NOEXPIRE responses
NICK_SASET_SYNTAX
SASET nickname option parameters
@@ -3804,6 +3813,7 @@ NICK_HELP_SET
/msg %S LIST
HIDE Ukryj pewne informacje o nicku.
MSG Zmieñ sposób komunikacji z serwisami.
+ AUTOOP Should services op you automatically.
Przed u¿yciem tej komendy trzeba siê wpierw
zidentyfikowaæ za pomoc± has³a nicka
diff --git a/lang/pt.l b/lang/pt.l
index 8727af937..ac7c5e51b 100644
--- a/lang/pt.l
+++ b/lang/pt.l
@@ -535,6 +535,14 @@ NICK_SET_MSG_ON
NICK_SET_MSG_OFF
Os services irão agora respondê-lo através de notices.
+# SET AUTOOP responses
+NICK_SET_AUTOOP_SYNTAX
+ SET AUTOOP {ON | OFF}
+NICK_SET_AUTOOP_ON
+ Services will now autoop you in channels.
+NICK_SET_AUTOOP_OFF
+ Services will no longer autoop you in channels.
+
# SET NOEXPIRE responses
NICK_SASET_SYNTAX
SASET nickname option parameters
@@ -3535,6 +3543,7 @@ NICK_HELP_SET
PRIVATE Previne seu nick de aparecer em um /msg %S LIST
HIDE Esconde certas informações sobre seu nick
MSG Altera o método de comunicação dos Services
+ AUTOOP Should services op you automatically.
Para usar este comando, você deve primeiro se identificar
com sua senha (/msg %S HELP IDENTIFY para maiores
diff --git a/lang/ru.l b/lang/ru.l
index 8ac0941f1..480cc8a50 100644
--- a/lang/ru.l
+++ b/lang/ru.l
@@ -529,6 +529,14 @@ NICK_SET_MSG_ON
NICK_SET_MSG_OFF
Òåïåðü ñåðâèñû áóäóò îòâå÷àòü Âàì ïîñðåäñòâîì íîòèñîâ.
+# SET AUTOOP responses
+NICK_SET_AUTOOP_SYNTAX
+ SET AUTOOP {ON | OFF}
+NICK_SET_AUTOOP_ON
+ Services will now autoop you in channels.
+NICK_SET_AUTOOP_OFF
+ Services will no longer autoop you in channels.
+
# SET NOEXPIRE responses
NICK_SASET_SYNTAX
SASET nickname option parameters
@@ -3568,6 +3576,7 @@ NICK_HELP_SET
/msg %S LIST
HIDE Ñêðûòü ÷àñòü èíôîðìàöèè î Âàñ
MSG Âûáðàòü ìåòîä îáùåíèÿ ñåðâèñîâ ñ Âàìè - ïðèâàò èëè íîòèñû
+ AUTOOP Should services op you automatically.
Ïåðåä óñòàíîâêîé ëþáîé îïöèè, Âû äîëæíû ñíà÷àëà èäåíòèôèöèðîâàòüñÿ
ñ Âàøèì ïàðîëåì (/msg %S HELP IDENTIFY äëÿ áîëåå ïîäðîáíîé
diff --git a/lang/tr.l b/lang/tr.l
index 56ee18ebd..0be75daa5 100644
--- a/lang/tr.l
+++ b/lang/tr.l
@@ -535,6 +535,15 @@ NICK_SET_MSG_ON
NICK_SET_MSG_OFF
Services will now reply to you with notices.
+# SET AUTOOP responses
+NICK_SET_AUTOOP_SYNTAX
+ SET AUTOOP {ON | OFF}
+NICK_SET_AUTOOP_ON
+ Services will now autoop you in channels.
+NICK_SET_AUTOOP_OFF
+ Services will no longer autoop you in channels.
+
+
# SET NOEXPIRE responses
NICK_SASET_SYNTAX
SASET nickname option parameters
@@ -3631,6 +3640,7 @@ NICK_HELP_SET
PRIVATE Nickinizin /msg %S LIST yazýldýðýnda görünmesini
engeller
HIDE Nickinizle ilgili bazý bilgileri saklar
+ AUTOOP Should services op you automatically.
Bu komutu kullanabilmek için önce, þifrenizle
kendinizi tanýtmanýz gerekir (Daha fazla bilgi için
diff --git a/src/channels.c b/src/channels.c
index d734f35f1..f174eb54f 100644
--- a/src/channels.c
+++ b/src/channels.c
@@ -1368,7 +1368,8 @@ void chan_set_correct_modes(User * user, Channel * c, int give_modes)
if (debug)
alog("debug: Setting correct user modes for %s on %s (current status: %d, %sgiving modes)", user->nick, c->name, status, (give_modes ? "" : "not "));
- if (give_modes && (get_ignore(user->nick) == NULL)) {
+ if (give_modes && (get_ignore(user->nick) == NULL)
+ && (user->na && !(user->na->nc->flags & NI_AUTOOP))) {
if (ircd->owner && is_founder(user, ci))
add_modes |= CUS_OWNER;
else if ((ircd->protect || ircd->admin)
diff --git a/src/config.c b/src/config.c
index 9c7c34670..a4f0533be 100644
--- a/src/config.c
+++ b/src/config.c
@@ -145,6 +145,7 @@ int NSDefMemoSignon;
int NSDefMemoReceive;
int NSDefFlags;
int NSDefLanguage;
+int NSDefAutoop;
int NSRegDelay;
int NSResendDelay;
int NSExpire;
@@ -545,6 +546,7 @@ Directive directives[] = {
{"NSDefNone", {{PARAM_SET, PARAM_RELOAD, &NSDefNone}}},
{"NSDefPrivate", {{PARAM_SET, PARAM_RELOAD, &NSDefPrivate}}},
{"NSDefSecure", {{PARAM_SET, PARAM_RELOAD, &NSDefSecure}}},
+ {"NSDefAutoop", {{PARAM_SET, PARAM_RELOAD, &NSDefAutoop}}},
{"NSEnforcerUser", {{PARAM_STRING, PARAM_RELOAD, &temp_nsuserhost}}},
{"NSExpire", {{PARAM_TIME, PARAM_RELOAD, &NSExpire}}},
{"NSRExpire", {{PARAM_TIME, PARAM_RELOAD, &NSRExpire}}},
@@ -1131,6 +1133,8 @@ int read_config(int reload)
NSDefFlags |= NI_MEMO_SIGNON;
if (NSDefMemoReceive)
NSDefFlags |= NI_MEMO_RECEIVE;
+ if (!NSDefAutoop)
+ NSDefFlags |= NI_AUTOOP;
}
if (!ServicesRoot) {
diff --git a/src/core/ns_set.c b/src/core/ns_set.c
index 9b4b309f5..4908cce8c 100644
--- a/src/core/ns_set.c
+++ b/src/core/ns_set.c
@@ -31,6 +31,7 @@ int do_set_secure(User * u, NickCore * nc, char *param);
int do_set_private(User * u, NickCore * nc, char *param);
int do_set_msg(User * u, NickCore * nc, char *param);
int do_set_hide(User * u, NickCore * nc, char *param);
+int do_set_autoop(User *u, NickCore *nc, char *param);
void myNickServHelp(User * u);
/**
@@ -161,6 +162,8 @@ int do_set(User * u)
do_set_msg(u, na->nc, param);
} else if (stricmp(cmd, "HIDE") == 0) {
do_set_hide(u, na->nc, param);
+ } else if (stricmp(cmd, "AUTOOP") == 0) {
+ do_set_autoop(u, na->nc, param);
} else {
notice_lang(s_NickServ, u, NICK_SET_UNKNOWN_OPTION, cmd);
}
@@ -449,4 +452,25 @@ int do_set_hide(User * u, NickCore * nc, char *param)
return MOD_CONT;
}
+int do_set_autoop(User *u, NickCore *nc, char *param) {
+
+ /**
+ * This works the other way around, the absence of this flag denotes ON
+ * This is so when people upgrade, and dont have the flag
+ * the default is on
+ **/
+ if (stricmp(param, "ON") == 0) {
+ nc->flags &= ~NI_AUTOOP;
+ notice_lang(s_NickServ, u, NICK_SET_AUTOOP_ON);
+ } else if (stricmp(param, "OFF") == 0) {
+ nc->flags |= NI_AUTOOP;
+ notice_lang(s_NickServ, u, NICK_SET_AUTOOP_OFF);
+ } else {
+ syntax_error(s_NickServ, u, "SET AUTOOP", NICK_SET_AUTOOP_SYNTAX);
+ }
+
+ return MOD_CONT;
+}
+
+
/* EOF */
diff --git a/version.log b/version.log
index 80f031db6..497be0b99 100644
--- a/version.log
+++ b/version.log
@@ -9,10 +9,14 @@ VERSION_MAJOR="1"
VERSION_MINOR="7"
VERSION_PATCH="14"
VERSION_EXTRA=""
-VERSION_BUILD="1079"
+VERSION_BUILD="1082"
# $Log$
#
+# BUILD : 1.7.14 (1082)
+# BUGS : 423
+# NOTES : Moved ns_noop into core, its now a /ns set option.
+#
# BUILD : 1.7.14 (1079)
# BUGS : 529 531
# NOTES : applied trystan's fix and fixed some readonly stuff