summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changes8
-rw-r--r--Changes.lang12
-rw-r--r--lang/cat.l28
-rw-r--r--lang/de.l28
-rw-r--r--lang/en_us.l28
-rw-r--r--lang/es.l28
-rw-r--r--lang/fr.l28
-rw-r--r--lang/gr.l28
-rw-r--r--lang/hun.l28
-rw-r--r--lang/it.l28
-rw-r--r--lang/nl.l28
-rw-r--r--lang/pl.l28
-rw-r--r--lang/pt.l28
-rw-r--r--lang/ru.l28
-rw-r--r--lang/tr.l28
-rw-r--r--src/bahamut.c6
-rw-r--r--src/chanserv.c47
-rw-r--r--src/dreamforge.c4
-rw-r--r--src/hybrid.c1831
-rw-r--r--src/nickserv.c40
-rw-r--r--src/operserv.c63
-rw-r--r--src/ptlink.c6
-rw-r--r--src/rageircd.c6
-rw-r--r--src/ultimate2.c16
-rw-r--r--src/ultimate3.c10
-rw-r--r--src/unreal31.c4
-rw-r--r--src/unreal32.c21
-rw-r--r--src/users.c2
-rw-r--r--src/viagra.c4
-rw-r--r--version.log6
30 files changed, 1411 insertions, 1039 deletions
diff --git a/Changes b/Changes
index c919345eb..89b695562 100644
--- a/Changes
+++ b/Changes
@@ -18,6 +18,8 @@ Provided by Anope Dev. <dev@anope.org> - 2004
08/24 F Compile error with gcc2. [ #00]
Provided by Trystan <trystan@nomadirc.net> - 2004
+10/05 F Cleaned up how OS/CS CLEAR MODES works [ #00]
+10/05 A Globalized CS/NS STATUS messages [ #00]
10/02 A Added NewsCount as new feature in services.conf [ #00]
08/28 A CSupport for +I channel mode. [ #00]
08/28 A Complete support for Unreal3.2 [ #00]
@@ -26,6 +28,7 @@ Provided by Trystan <trystan@nomadirc.net> - 2004
09/07 A Ircd CHANMODE now trapped and stored. [ #00]
08/23 A New protocol independent design (aka anope-capab). [ #00]
08/28 A New IRCD document for adding new ircd support to new design. [ #00]
+10/05 F Cleaned up how OS/CS CLEAR MODES works [ #00]
09/27 F Verbose message for vident. [#173]
09/27 F Check and trap for forbidden nicks on HS. [#172]
09/27 F Tracking of IP address for simple checks. [#166]
@@ -44,6 +47,11 @@ Provided by Trystan <trystan@nomadirc.net> - 2004
08/28 F Memory leaks taken care of. [#157]
08/28 F Buffer preparation for vsnprintf() call. [#158]
+Provided by DrStein <gacevedo@anope.org> - 2004
+10/05 A NS INFO shows the expire time [ #00]
+10/05 A NS GLIST shows the expire time [ #00]
+10/05 F NS GLIST allows the owner of the nick to use the nickname param [ #00]
+
Anope Version 1.7.5
-------------------
diff --git a/Changes.lang b/Changes.lang
index f26ec5c87..c907a4348 100644
--- a/Changes.lang
+++ b/Changes.lang
@@ -10,6 +10,18 @@ Anope Version S V N
OPER_UMODE_UNSUPPORTED
CHAN_CLEARED_INVITES
NICK_INFO_VHOST2
+ NICK_STATUS_0
+ NICK_STATUS_1
+ NICK_STATUS_2
+ NICK_STATUS_3
+ CHAN_STATUS_SYNTAX
+ CHAN_STATUS_NOT_REGGED
+ CHAN_STATUS_FORBIDDEN
+ CHAN_STATUS_NOTONLINE
+ CHAN_STATUS_INFO
+ NICK_INFO_EXPIRE
+ NICK_GLIST_REPLY
+ NICK_GLIST_REPLY_ADMIN
*** Mod Strings:
diff --git a/lang/cat.l b/lang/cat.l
index 5795b255b..6777acc8b 100644
--- a/lang/cat.l
+++ b/lang/cat.l
@@ -551,6 +551,16 @@ NICK_ACCESS_LIST
NICK_ACCESS_LIST_X
Lllista d'accés per %s:
+# Status messages
+NICK_STATUS_0
+ STATUS %s 0
+NICK_STATUS_1
+ STATUS %s 1
+NICK_STATUS_2
+ STATUS %s 2
+NICK_STATUS_3
+ STATUS %s 3
+
# INFO responses
NICK_INFO_SYNTAX
INFO nick [ALL]
@@ -588,6 +598,8 @@ NICK_INFO_GREET
Missatge de benvinguda: %s
NICK_INFO_OPTIONS
Opciós: %s
+NICK_INFO_EXPIRE
+ Expires in: %s
# These strings MUST NOT be empty
NICK_INFO_OPT_KILL
Protecció
@@ -637,6 +649,10 @@ NICK_GLIST_HEADER_X
Lllista de nicknames en el grup de %s:
NICK_GLIST_FOOTER
%d nicknames en el grup.
+NICK_GLIST_REPLY
+ %c%s
+NICK_GLIST_REPLY_ADMIN
+ %c%s (expires in %s)
# RECOVER responses
NICK_RECOVER_SYNTAX
@@ -1329,6 +1345,18 @@ CHAN_LEVELS_LIST_NORMAL
CHAN_LEVELS_RESET
Nivells d'accés per a %s canviats als valors originals.
+# Status Messages
+CHAN_STATUS_SYNTAX
+ STATUS ERROR Syntax error
+CHAN_STATUS_NOT_REGGED
+ STATUS ERROR Channel %s not registered
+CHAN_STATUS_FORBIDDEN
+ STATUS ERROR Channel %s forbidden
+CHAN_STATUS_NOTONLINE
+ STATUS ERROR Nick %s not online
+CHAN_STATUS_INFO
+ STATUS %s %s %d
+
# INFO responses
CHAN_INFO_SYNTAX
INFO canal [ALL]
diff --git a/lang/de.l b/lang/de.l
index d67c1febe..7cbb7678e 100644
--- a/lang/de.l
+++ b/lang/de.l
@@ -562,6 +562,16 @@ NICK_ACCESS_LIST
NICK_ACCESS_LIST_X
Access-List von %s:
+# Status messages
+NICK_STATUS_0
+ STATUS %s 0
+NICK_STATUS_1
+ STATUS %s 1
+NICK_STATUS_2
+ STATUS %s 2
+NICK_STATUS_3
+ STATUS %s 3
+
# INFO responses
NICK_INFO_SYNTAX
INFO nick [ALL]
@@ -599,6 +609,8 @@ NICK_INFO_GREET
Grussnachricht: %s
NICK_INFO_OPTIONS
Optionen: %s
+NICK_INFO_EXPIRE
+ Expires in: %s
# These strings MUST NOT be empty
NICK_INFO_OPT_KILL
Kill-Schutz
@@ -648,6 +660,10 @@ NICK_GLIST_HEADER_X
Liste der Nicknamen in der Gruppe von %s:
NICK_GLIST_FOOTER
%d Nicks in der Gruppe.
+NICK_GLIST_REPLY
+ %c%s
+NICK_GLIST_REPLY_ADMIN
+ %c%s (expires in %s)
# RECOVER responses
NICK_RECOVER_SYNTAX
@@ -1325,6 +1341,18 @@ CHAN_LEVELS_LIST_NORMAL
CHAN_LEVELS_RESET
Zugriffslevel für %s wurden auf Standardwerte zurückgesetzt.
+# Status Messages
+CHAN_STATUS_SYNTAX
+ STATUS ERROR Syntax error
+CHAN_STATUS_NOT_REGGED
+ STATUS ERROR Channel %s not registered
+CHAN_STATUS_FORBIDDEN
+ STATUS ERROR Channel %s forbidden
+CHAN_STATUS_NOTONLINE
+ STATUS ERROR Nick %s not online
+CHAN_STATUS_INFO
+ STATUS %s %s %d
+
# INFO responses
CHAN_INFO_SYNTAX
INFO channel [ALL]
diff --git a/lang/en_us.l b/lang/en_us.l
index 3faee6c35..01a36c14a 100644
--- a/lang/en_us.l
+++ b/lang/en_us.l
@@ -541,6 +541,16 @@ NICK_ACCESS_LIST
NICK_ACCESS_LIST_X
Access list for %s:
+# Status messages
+NICK_STATUS_0
+ STATUS %s 0
+NICK_STATUS_1
+ STATUS %s 1
+NICK_STATUS_2
+ STATUS %s 2
+NICK_STATUS_3
+ STATUS %s 3
+
# INFO responses
NICK_INFO_SYNTAX
INFO nick [ALL]
@@ -578,6 +588,8 @@ NICK_INFO_GREET
Greet message: %s
NICK_INFO_OPTIONS
Options: %s
+NICK_INFO_EXPIRE
+ Expires in: %s
# These strings MUST NOT be empty
NICK_INFO_OPT_KILL
Protection
@@ -627,6 +639,10 @@ NICK_GLIST_HEADER_X
List of nicknames in the group of %s:
NICK_GLIST_FOOTER
%d nicknames in the group.
+NICK_GLIST_REPLY
+ %c%s
+NICK_GLIST_REPLY_ADMIN
+ %c%s (expires in %s)
# RECOVER responses
NICK_RECOVER_SYNTAX
@@ -1306,6 +1322,18 @@ CHAN_LEVELS_LIST_NORMAL
CHAN_LEVELS_RESET
Access levels for %s reset to defaults.
+# Status Messages
+CHAN_STATUS_SYNTAX
+ STATUS ERROR Syntax error
+CHAN_STATUS_NOT_REGGED
+ STATUS ERROR Channel %s not registered
+CHAN_STATUS_FORBIDDEN
+ STATUS ERROR Channel %s forbidden
+CHAN_STATUS_NOTONLINE
+ STATUS ERROR Nick %s not online
+CHAN_STATUS_INFO
+ STATUS %s %s %d
+
# INFO responses
CHAN_INFO_SYNTAX
INFO channel [ALL]
diff --git a/lang/es.l b/lang/es.l
index b4ea451b9..070ac9e6b 100644
--- a/lang/es.l
+++ b/lang/es.l
@@ -555,6 +555,16 @@ NICK_ACCESS_LIST
NICK_ACCESS_LIST_X
Lista de acceso para %s:
+# Status messages
+NICK_STATUS_0
+ STATUS %s 0
+NICK_STATUS_1
+ STATUS %s 1
+NICK_STATUS_2
+ STATUS %s 2
+NICK_STATUS_3
+ STATUS %s 3
+
# INFO responses
NICK_INFO_SYNTAX
INFO nick [ALL]
@@ -592,6 +602,8 @@ NICK_INFO_GREET
Mensaje de bienvenida: %s
NICK_INFO_OPTIONS
Opciones: %s
+NICK_INFO_EXPIRE
+ Expires in: %s
# These strings MUST NOT be empty
NICK_INFO_OPT_KILL
Proteccion
@@ -641,6 +653,10 @@ NICK_GLIST_HEADER_X
Lista de nicknames en el grupo de %s:
NICK_GLIST_FOOTER
%d nicknames en el grupo.
+NICK_GLIST_REPLY
+ %c%s
+NICK_GLIST_REPLY_ADMIN
+ %c%s (expires in %s)
# RECOVER responses
NICK_RECOVER_SYNTAX
@@ -1327,6 +1343,18 @@ CHAN_LEVELS_LIST_NORMAL
CHAN_LEVELS_RESET
Niveles de acceso para %s resetados a los valores originales.
+# Status Messages
+CHAN_STATUS_SYNTAX
+ STATUS ERROR Syntax error
+CHAN_STATUS_NOT_REGGED
+ STATUS ERROR Channel %s not registered
+CHAN_STATUS_FORBIDDEN
+ STATUS ERROR Channel %s forbidden
+CHAN_STATUS_NOTONLINE
+ STATUS ERROR Nick %s not online
+CHAN_STATUS_INFO
+ STATUS %s %s %d
+
# INFO responses
CHAN_INFO_SYNTAX
INFO canal [ALL]
diff --git a/lang/fr.l b/lang/fr.l
index 27b5d45ff..942e05751 100644
--- a/lang/fr.l
+++ b/lang/fr.l
@@ -553,6 +553,16 @@ NICK_ACCESS_LIST
NICK_ACCESS_LIST_X
Liste d'accès de %s:
+# Status messages
+NICK_STATUS_0
+ STATUS %s 0
+NICK_STATUS_1
+ STATUS %s 1
+NICK_STATUS_2
+ STATUS %s 2
+NICK_STATUS_3
+ STATUS %s 3
+
# INFO responses
NICK_INFO_SYNTAX
INFO nick [ALL]
@@ -590,6 +600,8 @@ NICK_INFO_GREET
Message d'accueil: %s
NICK_INFO_OPTIONS
Options: %s
+NICK_INFO_EXPIRE
+ Expires in: %s
# These strings MUST NOT be empty
NICK_INFO_OPT_KILL
Protection
@@ -639,6 +651,10 @@ NICK_GLIST_HEADER_X
Liste des nicks dans le groupe de %s:
NICK_GLIST_FOOTER
%d nicks dans le groupe.
+NICK_GLIST_REPLY
+ %c%s
+NICK_GLIST_REPLY_ADMIN
+ %c%s (expires in %s)
# RECOVER responses
NICK_RECOVER_SYNTAX
@@ -1328,6 +1344,18 @@ CHAN_LEVELS_LIST_NORMAL
CHAN_LEVELS_RESET
Les levels d'accès de %s ont été réinitialisés à leur valeur par défaut.
+# Status Messages
+CHAN_STATUS_SYNTAX
+ STATUS ERROR Syntax error
+CHAN_STATUS_NOT_REGGED
+ STATUS ERROR Channel %s not registered
+CHAN_STATUS_FORBIDDEN
+ STATUS ERROR Channel %s forbidden
+CHAN_STATUS_NOTONLINE
+ STATUS ERROR Nick %s not online
+CHAN_STATUS_INFO
+ STATUS %s %s %d
+
# INFO responses
CHAN_INFO_SYNTAX
INFO channel [ALL]
diff --git a/lang/gr.l b/lang/gr.l
index 9beabb950..71a5d049f 100644
--- a/lang/gr.l
+++ b/lang/gr.l
@@ -549,6 +549,16 @@ NICK_ACCESS_LIST
NICK_ACCESS_LIST_X
Ëßóôá ðñüóâáóçò ãéá %s:
+# Status messages
+NICK_STATUS_0
+ STATUS %s 0
+NICK_STATUS_1
+ STATUS %s 1
+NICK_STATUS_2
+ STATUS %s 2
+NICK_STATUS_3
+ STATUS %s 3
+
# INFO responses
NICK_INFO_SYNTAX
INFO nick [ALL]
@@ -586,6 +596,8 @@ NICK_INFO_GREET
ÌÞíõìá ÷áéñåôéóìïý: %s
NICK_INFO_OPTIONS
ÅðéëïãÝò: %s
+NICK_INFO_EXPIRE
+ Expires in: %s
# These strings MUST NOT be empty
NICK_INFO_OPT_KILL
Ðñïóôáóßá
@@ -635,6 +647,10 @@ NICK_GLIST_HEADER_X
Ç ëßóôá ìå ôá øåõäþíõìá óôçí ïìÜäá ôïõ %s:
NICK_GLIST_FOOTER
%d øåõäþíõìá ìÝóá óôçí ïìÜäá.
+NICK_GLIST_REPLY
+ %c%s
+NICK_GLIST_REPLY_ADMIN
+ %c%s (expires in %s)
# RECOVER responses
NICK_RECOVER_SYNTAX
@@ -1318,6 +1334,18 @@ CHAN_LEVELS_LIST_NORMAL
CHAN_LEVELS_RESET
Ï âáèìüò Access ãéá ôï %s óâÞóôçêå óôï áñ÷éêü.
+# Status Messages
+CHAN_STATUS_SYNTAX
+ STATUS ERROR Syntax error
+CHAN_STATUS_NOT_REGGED
+ STATUS ERROR Channel %s not registered
+CHAN_STATUS_FORBIDDEN
+ STATUS ERROR Channel %s forbidden
+CHAN_STATUS_NOTONLINE
+ STATUS ERROR Nick %s not online
+CHAN_STATUS_INFO
+ STATUS %s %s %d
+
# INFO responses
CHAN_INFO_SYNTAX
INFO channel [ALL]
diff --git a/lang/hun.l b/lang/hun.l
index e6f0667ed..b7375d732 100644
--- a/lang/hun.l
+++ b/lang/hun.l
@@ -548,6 +548,16 @@ NICK_ACCESS_LIST
NICK_ACCESS_LIST_X
%s hozzáférési listája:
+# Status messages
+NICK_STATUS_0
+ STATUS %s 0
+NICK_STATUS_1
+ STATUS %s 1
+NICK_STATUS_2
+ STATUS %s 2
+NICK_STATUS_3
+ STATUS %s 3
+
# INFO Válaszok
NICK_INFO_SYNTAX
INFO nick [ALL]
@@ -585,6 +595,8 @@ NICK_INFO_GREET
Köszöntõ üzenet: %s
NICK_INFO_OPTIONS
Opciók: %s
+NICK_INFO_EXPIRE
+ Expires in: %s
# Ezek a stringek NEM LEHETNEK üresek
NICK_INFO_OPT_KILL
Kill védelem
@@ -634,6 +646,10 @@ NICK_GLIST_HEADER_X
%s csoportjába tartozó nickek listája:
NICK_GLIST_FOOTER
%d nicknév van a csoportban.
+NICK_GLIST_REPLY
+ %c%s
+NICK_GLIST_REPLY_ADMIN
+ %c%s (expires in %s)
# RECOVER válaszok
NICK_RECOVER_SYNTAX
@@ -1316,6 +1332,18 @@ CHAN_LEVELS_LIST_NORMAL
CHAN_LEVELS_RESET
%s szintjei visszaállítva az alapértékekre.
+# Status Messages
+CHAN_STATUS_SYNTAX
+ STATUS ERROR Syntax error
+CHAN_STATUS_NOT_REGGED
+ STATUS ERROR Channel %s not registered
+CHAN_STATUS_FORBIDDEN
+ STATUS ERROR Channel %s forbidden
+CHAN_STATUS_NOTONLINE
+ STATUS ERROR Nick %s not online
+CHAN_STATUS_INFO
+ STATUS %s %s %d
+
# INFO válaszok
CHAN_INFO_SYNTAX
INFO #szoba [ALL]
diff --git a/lang/it.l b/lang/it.l
index 0bc0eff80..d1a47a04a 100644
--- a/lang/it.l
+++ b/lang/it.l
@@ -550,6 +550,16 @@ NICK_ACCESS_LIST
NICK_ACCESS_LIST_X
Lista di accesso di %s:
+# Status messages
+NICK_STATUS_0
+ STATUS %s 0
+NICK_STATUS_1
+ STATUS %s 1
+NICK_STATUS_2
+ STATUS %s 2
+NICK_STATUS_3
+ STATUS %s 3
+
# INFO responses
NICK_INFO_SYNTAX
INFO nick [ALL]
@@ -587,6 +597,8 @@ NICK_INFO_GREET
Messaggio di saluto (greet): %s
NICK_INFO_OPTIONS
Opzioni: %s
+NICK_INFO_EXPIRE
+ Expires in: %s
# These strings MUST NOT be empty
NICK_INFO_OPT_KILL
Protezione
@@ -636,6 +648,10 @@ NICK_GLIST_HEADER_X
Lista dei nick nel gruppo di %s:
NICK_GLIST_FOOTER
%d nick nel gruppo.
+NICK_GLIST_REPLY
+ %c%s
+NICK_GLIST_REPLY_ADMIN
+ %c%s (expires in %s)
# RECOVER responses
NICK_RECOVER_SYNTAX
@@ -1319,6 +1335,18 @@ CHAN_LEVELS_LIST_NORMAL
CHAN_LEVELS_RESET
I livelli di accesso di %s sono stati ripristinati ai valori originali.
+# Status Messages
+CHAN_STATUS_SYNTAX
+ STATUS ERROR Syntax error
+CHAN_STATUS_NOT_REGGED
+ STATUS ERROR Channel %s not registered
+CHAN_STATUS_FORBIDDEN
+ STATUS ERROR Channel %s forbidden
+CHAN_STATUS_NOTONLINE
+ STATUS ERROR Nick %s not online
+CHAN_STATUS_INFO
+ STATUS %s %s %d
+
# INFO responses
CHAN_INFO_SYNTAX
INFO canale [ALL]
diff --git a/lang/nl.l b/lang/nl.l
index 8c5246760..4db06622b 100644
--- a/lang/nl.l
+++ b/lang/nl.l
@@ -552,6 +552,16 @@ NICK_ACCESS_LIST
NICK_ACCESS_LIST_X
Toegangslijst voor %s:
+# Status messages
+NICK_STATUS_0
+ STATUS %s 0
+NICK_STATUS_1
+ STATUS %s 1
+NICK_STATUS_2
+ STATUS %s 2
+NICK_STATUS_3
+ STATUS %s 3
+
# INFO responses
NICK_INFO_SYNTAX
INFO nick [ALL]
@@ -589,6 +599,8 @@ NICK_INFO_GREET
Groet-bericht: %s
NICK_INFO_OPTIONS
Opties: %s
+NICK_INFO_EXPIRE
+ Expires in: %s
# These strings MUST NOT be empty
NICK_INFO_OPT_KILL
Bescherming
@@ -638,6 +650,10 @@ NICK_GLIST_HEADER_X
Lijst van nicks in de groep van %s:
NICK_GLIST_FOOTER
%d nicks in de groep.
+NICK_GLIST_REPLY
+ %c%s
+NICK_GLIST_REPLY_ADMIN
+ %c%s (expires in %s)
# RECOVER responses
NICK_RECOVER_SYNTAX
@@ -1316,6 +1332,18 @@ CHAN_LEVELS_LIST_NORMAL
CHAN_LEVELS_RESET
Toegangsniveaus voor %s teruggezet naar standaardwaarden.
+# Status Messages
+CHAN_STATUS_SYNTAX
+ STATUS ERROR Syntax error
+CHAN_STATUS_NOT_REGGED
+ STATUS ERROR Channel %s not registered
+CHAN_STATUS_FORBIDDEN
+ STATUS ERROR Channel %s forbidden
+CHAN_STATUS_NOTONLINE
+ STATUS ERROR Nick %s not online
+CHAN_STATUS_INFO
+ STATUS %s %s %d
+
# INFO responses
CHAN_INFO_SYNTAX
INFO kanaal [ALL]
diff --git a/lang/pl.l b/lang/pl.l
index 7d2bdbdc3..cf93afcef 100644
--- a/lang/pl.l
+++ b/lang/pl.l
@@ -602,6 +602,16 @@ NICK_ACCESS_LIST
NICK_ACCESS_LIST_X
Lista dostêpu dla %s:
+# Status messages
+NICK_STATUS_0
+ STATUS %s 0
+NICK_STATUS_1
+ STATUS %s 1
+NICK_STATUS_2
+ STATUS %s 2
+NICK_STATUS_3
+ STATUS %s 3
+
# INFO responses
NICK_INFO_SYNTAX
INFO nick [ALL]
@@ -639,6 +649,8 @@ NICK_INFO_GREET
Wiadomo¶æ powitalna: %s
NICK_INFO_OPTIONS
Opcje: %s
+NICK_INFO_EXPIRE
+ Expires in: %s
# These strings MUST NOT be empty
NICK_INFO_OPT_KILL
Chroniony
@@ -689,6 +701,10 @@ NICK_GLIST_HEADER_X
Lista cz³onków grupy %s:
NICK_GLIST_FOOTER
%d cz³onków w grupie.
+NICK_GLIST_REPLY
+ %c%s
+NICK_GLIST_REPLY_ADMIN
+ %c%s (expires in %s)
# RECOVER responses
NICK_RECOVER_SYNTAX
@@ -1432,6 +1448,18 @@ CHAN_LEVELS_RESET
Poziomy dostêpu na %s zosta³y zresetowane do
domy¶lnych.
+# Status Messages
+CHAN_STATUS_SYNTAX
+ STATUS ERROR Syntax error
+CHAN_STATUS_NOT_REGGED
+ STATUS ERROR Channel %s not registered
+CHAN_STATUS_FORBIDDEN
+ STATUS ERROR Channel %s forbidden
+CHAN_STATUS_NOTONLINE
+ STATUS ERROR Nick %s not online
+CHAN_STATUS_INFO
+ STATUS %s %s %d
+
# INFO responses
CHAN_INFO_SYNTAX
INFO kana³ [ALL]
diff --git a/lang/pt.l b/lang/pt.l
index fe90234f8..0b7433fbd 100644
--- a/lang/pt.l
+++ b/lang/pt.l
@@ -549,6 +549,16 @@ NICK_ACCESS_LIST
NICK_ACCESS_LIST_X
Lista de acesso para %s:
+# Status messages
+NICK_STATUS_0
+ STATUS %s 0
+NICK_STATUS_1
+ STATUS %s 1
+NICK_STATUS_2
+ STATUS %s 2
+NICK_STATUS_3
+ STATUS %s 3
+
# INFO responses
NICK_INFO_SYNTAX
INFO nick [ALL]
@@ -586,6 +596,8 @@ NICK_INFO_GREET
Mensagem de entrada: %s
NICK_INFO_OPTIONS
Opções: %s
+NICK_INFO_EXPIRE
+ Expires in: %s
# These strings MUST NOT be empty
NICK_INFO_OPT_KILL
Proteção
@@ -635,6 +647,10 @@ NICK_GLIST_HEADER_X
Lista de nicks no grupo %s:
NICK_GLIST_FOOTER
%d nicks no grupo.
+NICK_GLIST_REPLY
+ %c%s
+NICK_GLIST_REPLY_ADMIN
+ %c%s (expires in %s)
# RECOVER responses
NICK_RECOVER_SYNTAX
@@ -1320,6 +1336,18 @@ CHAN_LEVELS_LIST_NORMAL
CHAN_LEVELS_RESET
Níveis de acesso para o %s redefinidos para o padrão.
+# Status Messages
+CHAN_STATUS_SYNTAX
+ STATUS ERROR Syntax error
+CHAN_STATUS_NOT_REGGED
+ STATUS ERROR Channel %s not registered
+CHAN_STATUS_FORBIDDEN
+ STATUS ERROR Channel %s forbidden
+CHAN_STATUS_NOTONLINE
+ STATUS ERROR Nick %s not online
+CHAN_STATUS_INFO
+ STATUS %s %s %d
+
# INFO responses
CHAN_INFO_SYNTAX
INFO canal [ALL]
diff --git a/lang/ru.l b/lang/ru.l
index a66d59570..4de546c39 100644
--- a/lang/ru.l
+++ b/lang/ru.l
@@ -549,6 +549,16 @@ NICK_ACCESS_LIST
NICK_ACCESS_LIST_X
Ñïèñîê äîñòóïà äëÿ %s:
+# Status messages
+NICK_STATUS_0
+ STATUS %s 0
+NICK_STATUS_1
+ STATUS %s 1
+NICK_STATUS_2
+ STATUS %s 2
+NICK_STATUS_3
+ STATUS %s 3
+
# INFO responses
NICK_INFO_SYNTAX
INFO nick [ALL]
@@ -586,6 +596,8 @@ NICK_INFO_GREET
Ñîîáùåíèå ïðèâåòñòâèÿ: %s
NICK_INFO_OPTIONS
Ïàðàìåòðû: %s
+NICK_INFO_EXPIRE
+ Expires in: %s
# These strings MUST NOT be empty
NICK_INFO_OPT_KILL
Çàùèòà
@@ -635,6 +647,10 @@ NICK_GLIST_HEADER_X
Ñïèñîê íèêîâ â ãðóïïå %s:
NICK_GLIST_FOOTER
%d íèêîâ â ãðóïïå.
+NICK_GLIST_REPLY
+ %c%s
+NICK_GLIST_REPLY_ADMIN
+ %c%s (expires in %s)
# RECOVER responses
NICK_RECOVER_SYNTAX
@@ -1314,6 +1330,18 @@ CHAN_LEVELS_LIST_NORMAL
CHAN_LEVELS_RESET
Óðîâíè äîñòóïà äëÿ êàíàëà %s ñáðîøåíû íà çíà÷åíèÿ ïî óìîë÷àíèþ.
+# Status Messages
+CHAN_STATUS_SYNTAX
+ STATUS ERROR Syntax error
+CHAN_STATUS_NOT_REGGED
+ STATUS ERROR Channel %s not registered
+CHAN_STATUS_FORBIDDEN
+ STATUS ERROR Channel %s forbidden
+CHAN_STATUS_NOTONLINE
+ STATUS ERROR Nick %s not online
+CHAN_STATUS_INFO
+ STATUS %s %s %d
+
# INFO responses
CHAN_INFO_SYNTAX
INFO #êàíàë [ALL]
diff --git a/lang/tr.l b/lang/tr.l
index 433fcb673..3442dca75 100644
--- a/lang/tr.l
+++ b/lang/tr.l
@@ -555,6 +555,16 @@ NICK_ACCESS_LIST
NICK_ACCESS_LIST_X
%s nickinin access listesi:
+# Status messages
+NICK_STATUS_0
+ STATUS %s 0
+NICK_STATUS_1
+ STATUS %s 1
+NICK_STATUS_2
+ STATUS %s 2
+NICK_STATUS_3
+ STATUS %s 3
+
# INFO responses
NICK_INFO_SYNTAX
INFO nick [ALL]
@@ -592,6 +602,8 @@ NICK_INFO_GREET
Karþýlama mesajý: %s
NICK_INFO_OPTIONS
Özellikler: %s
+NICK_INFO_EXPIRE
+ Expires in: %s
# These strings MUST NOT be empty
NICK_INFO_OPT_KILL
Kill korumasý
@@ -641,6 +653,10 @@ NICK_GLIST_HEADER_X
%s grubundaki nicklerin listesi:
NICK_GLIST_FOOTER
Grupta %d nick var.
+NICK_GLIST_REPLY
+ %c%s
+NICK_GLIST_REPLY_ADMIN
+ %c%s (expires in %s)
# RECOVER responses
NICK_RECOVER_SYNTAX
@@ -1324,6 +1340,18 @@ CHAN_LEVELS_LIST_NORMAL
CHAN_LEVELS_RESET
%s için access levelleri varsayýlanlarla deðiþtirildi.
+# Status Messages
+CHAN_STATUS_SYNTAX
+ STATUS ERROR Syntax error
+CHAN_STATUS_NOT_REGGED
+ STATUS ERROR Channel %s not registered
+CHAN_STATUS_FORBIDDEN
+ STATUS ERROR Channel %s forbidden
+CHAN_STATUS_NOTONLINE
+ STATUS ERROR Nick %s not online
+CHAN_STATUS_INFO
+ STATUS %s %s %d
+
# INFO responses
CHAN_INFO_SYNTAX
INFO kanaladý [ALL]
diff --git a/src/bahamut.c b/src/bahamut.c
index c8adb33f1..032268aae 100644
--- a/src/bahamut.c
+++ b/src/bahamut.c
@@ -75,8 +75,8 @@ IRCDVar ircd[] = {
1, /* svshold */
1, /* time stamp on mode */
1, /* NICKIP */
- 0, /* UMODE */
0, /* O:LINE */
+ 1, /* UMODE */
0, /* VHOST ON NICK */
0, /* Change RealName */
0, /* ChanServ extra */
@@ -161,7 +161,7 @@ void anope_set_umode(User * user, int ac, char **av)
break;
case 'a':
if (add && !is_services_admin(user)) {
- send_cmd(ServerName, "SVSMODE %s -a", user->nick);
+ common_svsmode(user, "-a", NULL);
user->mode &= ~UMODE_a;
}
break;
@@ -192,7 +192,7 @@ void anope_set_umode(User * user, int ac, char **av)
break;
case 'r':
if (add && !nick_identified(user)) {
- send_cmd(ServerName, "SVSMODE %s -r", user->nick);
+ common_svsmode(user, "-r", NULL);
user->mode &= ~UMODE_r;
}
break;
diff --git a/src/chanserv.c b/src/chanserv.c
index 0be9cb809..731e5262c 100644
--- a/src/chanserv.c
+++ b/src/chanserv.c
@@ -5726,16 +5726,40 @@ static int do_clear(User * u)
char *argv[2];
if (c->mode) {
- /* Clear modes */
+ /* Clear modes the bulk of the modes */
anope_cmd_mode(s_ChanServ, c->name, "%s %s",
- ircd->modestoremove, c->key ? c->key : "");
+ ircd->modestoremove);
argv[0] = sstrdup(ircd->modestoremove);
- argv[1] = c->key ? c->key : NULL;
- chan_set_modes(s_OperServ, c, c->key ? 2 : 1, argv, 0);
+ chan_set_modes(s_ChanServ, c, 1, argv, 0);
free(argv[0]);
- check_modes(c);
+
+ /* to prevent the internals from complaining send -k, -L, -f by themselves if we need
+ to send them - TSL */
+ if (c->key) {
+ anope_cmd_mode(s_ChanServ, c->name, "-k %s", c->key);
+ argv[0] = sstrdup("-k");
+ argv[1] = c->key;
+ chan_set_modes(s_ChanServ, c, 2, argv, 0);
+ free(argv[0]);
+ }
+ if (ircd->Lmode && c->redirect) {
+ anope_cmd_mode(s_ChanServ, c->name, "-L %s", c->redirect);
+ argv[0] = sstrdup("-L");
+ argv[1] = c->redirect;
+ chan_set_modes(s_ChanServ, c, 2, argv, 0);
+ free(argv[0]);
+ }
+ if (ircd->fmode && c->flood) {
+ anope_cmd_mode(s_ChanServ, c->name, "-f %s", c->flood);
+ argv[0] = sstrdup("-f");
+ argv[1] = c->flood;
+ chan_set_modes(s_ChanServ, c, 2, argv, 0);
+ free(argv[0]);
+ }
}
+
+
/* TODO: decide if the above implementation is better than this one. */
if (0) {
@@ -6152,7 +6176,7 @@ static int do_status(User * u)
chan = strtok(NULL, " ");
nick = strtok(NULL, " ");
if (!nick || strtok(NULL, " ")) {
- notice_user(s_ChanServ, u, "STATUS ERROR Syntax error");
+ notice_lang(s_ChanServ, u, CHAN_STATUS_SYNTAX);
return MOD_CONT;
}
if (!(ci = cs_findchan(chan))) {
@@ -6162,18 +6186,15 @@ static int do_status(User * u)
ci = cs_findchan(chan);
}
if (!ci) {
- notice_user(s_ChanServ, u,
- "STATUS ERROR Channel %s not registered", chan);
+ notice_lang(s_ChanServ, u, CHAN_STATUS_NOT_REGGED, chan);
} else if (ci->flags & CI_VERBOTEN) {
- notice_user(s_ChanServ, u, "STATUS ERROR Channel %s forbidden",
- chan);
+ notice_lang(s_ChanServ, u, CHAN_STATUS_FORBIDDEN, chan);
return MOD_CONT;
} else if ((u2 = finduser(nick)) != NULL) {
- notice_user(s_ChanServ, u, "STATUS %s %s %d", chan, nick,
+ notice_lang(s_ChanServ, u, CHAN_STATUS_INFO, chan, nick,
get_access(u2, ci));
} else { /* !u2 */
- notice_user(s_ChanServ, u, "STATUS ERROR Nick %s not online",
- nick);
+ notice_lang(s_ChanServ, u, CHAN_STATUS_NOTONLINE, nick);
}
return MOD_CONT;
}
diff --git a/src/dreamforge.c b/src/dreamforge.c
index 6cd83bd3f..91c23239b 100644
--- a/src/dreamforge.c
+++ b/src/dreamforge.c
@@ -73,8 +73,8 @@ IRCDVar ircd[] = {
0, /* svshold */
1, /* time stamp on mode */
0, /* NICKIP */
- 0, /* UMODE */
0, /* O:LINE */
+ 1, /* UMODE */
0, /* VHOST ON NICK */
0, /* Change RealName */
0, /* ChanServ extra */
@@ -183,7 +183,7 @@ void anope_set_umode(User * user, int ac, char **av)
break;
case 'r':
if (add && !nick_identified(user)) {
- send_cmd(ServerName, "SVSMODE %s -r", user->nick);
+ common_svsmode(user, "-r", NULL);
user->mode &= ~UMODE_r;
}
break;
diff --git a/src/h