summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcertus certus@31f1291d-b8d6-0310-a050-a5561fc1590b <certus certus@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2006-07-04 19:50:00 +0000
committercertus certus@31f1291d-b8d6-0310-a050-a5561fc1590b <certus certus@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2006-07-04 19:50:00 +0000
commit3323816264fc01ccfb455b61bf43cbe8621532cf (patch)
tree340e92d5519851b254900fe997a577b34002ca2e
parent7ceb358ec4c7ceb8d202ca18c1572804400b4a31 (diff)
# BUILD : 1.7.14 (1080) # BUGS : 491? # NOTES : rewrote exception system due to a bug we couldn't track down.
git-svn-id: svn://svn.anope.org/anope/trunk@1080 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@804 5417fbe8-f217-4b02-8779-1006273d7864
-rw-r--r--Changes1
-rw-r--r--Changes.lang11
-rw-r--r--include/extern.h4
-rw-r--r--include/services.h5
-rw-r--r--lang/cat.l20
-rw-r--r--lang/de.l34
-rw-r--r--lang/en_us.l29
-rw-r--r--lang/es.l20
-rw-r--r--lang/fr.l20
-rw-r--r--lang/gr.l20
-rw-r--r--lang/hun.l20
-rw-r--r--lang/it.l20
-rw-r--r--lang/nl.l20
-rw-r--r--lang/pl.l22
-rw-r--r--lang/pt.l20
-rw-r--r--lang/ru.l20
-rw-r--r--lang/tr.l20
-rw-r--r--src/mysql.c29
-rw-r--r--src/sessions.c472
-rw-r--r--version.log6
20 files changed, 300 insertions, 513 deletions
diff --git a/Changes b/Changes
index ac7a8a574..39c128d59 100644
--- a/Changes
+++ b/Changes
@@ -41,6 +41,7 @@ Provided by Anope Dev. <dev@anope.org> - 2006
06/21 F Syntax for NickServ SET MSG showed syntax for SET PRIVATE. [ #00]
06/26 F A few small bugs with module configure scripts. [ #00]
07/02 F Fixed readonly stuff on memoserv del. [#529]
+07/04 F Rewrote exception system due to a bug we couldn't track down. [#491]
Provided by ThaPrince <jon@vile.com> - 2006
05/19 A Plexus 3 support. [ #00]
diff --git a/Changes.lang b/Changes.lang
index bf8c6527b..3c20094af 100644
--- a/Changes.lang
+++ b/Changes.lang
@@ -4,8 +4,19 @@ Anope Version S V N
INVALID_TARGET
*** Mod Strings:
+OPER_EXCEPTION_LIST_FORMAT
+OPER_EXCEPTION_LIST_COLHEAD
+OPER_EXCEPTION_DEL_SYNTAX
+OPER_EXCEPTION_SYNTAX
+OPER_EXCEPTION_VIEW_FORMAT
*** Del Strings:
+OPER_EXCEPTION_MOVE_SYNTAX
+OPER_EXCEPTION_MOVED
+OPER_EXCEPTION_DELETED_ONE
+OPER_EXCEPTION_DELETED_SEVERAL
+OPER_EXCEPTION_NO_SUCH_ENTRY
+
Anope Version 1.7.14
--------------------
diff --git a/include/extern.h b/include/extern.h
index ad6274754..488896779 100644
--- a/include/extern.h
+++ b/include/extern.h
@@ -1016,7 +1016,7 @@ E void finish_sync(Server *serv, int sync_links);
/**** sessions.c ****/
-E Exception *exceptions;
+E Exception *exceptionlist[1024];
E int16 nexceptions;
E Session *sessionlist[1024];
@@ -1038,7 +1038,7 @@ E void expire_exceptions(void);
E Session *findsession(const char *host);
E Exception *find_host_exception(const char *host);
-E int exception_add(User * u, const char *mask, const int limit,
+E Exception *exception_add(User * u, const char *mask, const int limit,
const char *reason, const char *who,
const time_t expires);
diff --git a/include/services.h b/include/services.h
index 2ee228233..b40d7e785 100644
--- a/include/services.h
+++ b/include/services.h
@@ -1069,16 +1069,13 @@ struct newsitem_ {
struct exception_ {
+ Exception *prev, *next;
char *mask; /* Hosts to which this exception applies */
int limit; /* Session limit for exception */
char who[NICKMAX]; /* Nick of person who added the exception */
char *reason; /* Reason for exception's addition */
time_t time; /* When this exception was added */
time_t expires; /* Time when it expires. 0 == no expiry */
- int num; /* Position in exception list; used to track
- * positions when deleting entries. It is
- * symbolic and used internally. It is
- * calculated at load time and never saved. */
};
/*************************************************************************/
diff --git a/lang/cat.l b/lang/cat.l
index bfac46693..9a9cbe230 100644
--- a/lang/cat.l
+++ b/lang/cat.l
@@ -3052,13 +3052,11 @@ MODULE_HELP_HEADER
# EXCEPTION responses
OPER_EXCEPTION_SYNTAX
- EXCEPTION {ADD | DEL | MOVE | LIST | VIEW} [parametres]
+ EXCEPTION {ADD | DEL | LIST | VIEW} [parametres]
OPER_EXCEPTION_ADD_SYNTAX
EXCEPTION ADD [+expiració] mascara límit raó
OPER_EXCEPTION_DEL_SYNTAX
- EXCEPTION DEL {mascara | llista}
-OPER_EXCEPTION_MOVE_SYNTAX
- EXCEPTION MOVE numero posició
+ EXCEPTION DEL {mascara}
OPER_EXCEPTION_DISABLED
Límits de sessions no disponibles.
OPER_EXCEPTION_ALREADY_PRESENT
@@ -3067,30 +3065,22 @@ OPER_EXCEPTION_TOO_MANY
La llista d'excepcions al límit de sessiones esta plena!
OPER_EXCEPTION_ADDED
Límit de sessió per a %s establert a %d.
-OPER_EXCEPTION_MOVED
- Excepció per a %s (#%d) moguda a la posició %d.
-OPER_EXCEPTION_NO_SUCH_ENTRY
- La instància no existeix (#%d) a la llista d'excepcions al límit de sessions.
OPER_EXCEPTION_NOT_FOUND
%s no trobat a a la llista d'excepcions al límit de sessions.
OPER_EXCEPTION_NO_MATCH
No existeixen instàncies similars a la llista d'excepcions al límit de sessions.
OPER_EXCEPTION_DELETED
%s instàncies esborrades de la llista d'excepcions al límit de sessions.
-OPER_EXCEPTION_DELETED_ONE
- 1 instància esborrada de la llista d'excepcions al límit de sessions.
-OPER_EXCEPTION_DELETED_SEVERAL
- %d instàncies esborrades de la llista d'excepcions al límit de sessions.
OPER_EXCEPTION_LIST_HEADER
llista d'excepcions al límit de sessions actual:
# mask, limit
OPER_EXCEPTION_LIST_FORMAT
- %3d %4d %s
+ %4d %s
OPER_EXCEPTION_LIST_COLHEAD
- Num Límit Host
+ Límit Host
# mask, set-by, set-time, expires, limit, reason
OPER_EXCEPTION_VIEW_FORMAT
- %3d. %s (per %s a %s; %s)
+ %s (per %s a %s; %s)
Límit: %-4d - %s
OPER_EXCEPTION_INVALID_LIMIT
Límit de sessió invàlid. Ha de ser un sencer vàlido més gran o igual a zero i mes petit que %d.
diff --git a/lang/de.l b/lang/de.l
index ba3ab86ff..0e64b746d 100644
--- a/lang/de.l
+++ b/lang/de.l
@@ -2998,13 +2998,11 @@ MODULE_HELP_HEADER
# EXCEPTION responses
OPER_EXCEPTION_SYNTAX
- EXCEPTION {ADD | DEL | MOVE | LIST | VIEW} [Parameter]
+ EXCEPTION {ADD | DEL | LIST | VIEW} [Parameter]
OPER_EXCEPTION_ADD_SYNTAX
EXCEPTION ADD [+Zeit] Hostmaske Limit Grund
OPER_EXCEPTION_DEL_SYNTAX
- EXCEPTION DEL {Hostmaske | Liste}
-OPER_EXCEPTION_MOVE_SYNTAX
- EXCEPTION MOVE Nummer Position
+ EXCEPTION DEL {Hostmaske}
OPER_EXCEPTION_DISABLED
Eingeschränkte Verbindungen sind deaktiviert.
OPER_EXCEPTION_ALREADY_PRESENT
@@ -3013,11 +3011,6 @@ OPER_EXCEPTION_TOO_MANY
Die Liste für eingeschränkte Verbindungen ist voll!
OPER_EXCEPTION_ADDED
Verbindungslimit für %s geändert auf %d.
-OPER_EXCEPTION_MOVED
- DIe Exception für %s (#%d) wurde auf die %d Position verschoben.
-OPER_EXCEPTION_NO_SUCH_ENTRY
- Kein solcher Eintrag (#%d) in der Liste der Verbindungs-
- einschränkungen.
OPER_EXCEPTION_NOT_FOUND
%s nicht gefunden in der Liste der Verbindungs-
einschränkungen.
@@ -3027,22 +3020,16 @@ OPER_EXCEPTION_NO_MATCH
OPER_EXCEPTION_DELETED
%s wurde von der Liste der Verbindungseinschränkungen
entfernt.
-OPER_EXCEPTION_DELETED_ONE
- Es wurde 1 Eintrag von der Liste der Verbindungs-
- einschränkungen entfernt.
-OPER_EXCEPTION_DELETED_SEVERAL
- Es wurden %d Einträge von der Liste der Verbindungs-
- einschränkungen entfernt.
OPER_EXCEPTION_LIST_HEADER
Aktuelle Liste für eingeschränkte Verbindungen:
# mask, limit
OPER_EXCEPTION_LIST_FORMAT
- %3d %4d %s
+ %4d %s
OPER_EXCEPTION_LIST_COLHEAD
- Nummer Limit Host
+ Limit Host
# mask, set-by, set-time, expires, limit, reason
OPER_EXCEPTION_VIEW_FORMAT
- %3d. %s (von %s am %s, %s)
+ %s (von %s am %s, %s)
Limit: %-4d - %s
OPER_EXCEPTION_INVALID_LIMIT
Ungültige Verbindungseinschränkung. Es muss eine gültige Integer-Zahl sein, grösser oder gleich
@@ -3082,10 +3069,9 @@ OPER_SESSION_VIEW_FORMAT
OPER_HELP_EXCEPTION
Syntax: EXCEPTION ADD [+Zeit] Hostmaske Limit Grund
- EXCEPTION DEL {Hostmaske | Liste}
- EXCEPTION MOVE Nummer Position
- EXCEPTION LIST [Hostmaske | Liste]
- EXCEPTION VIEW [Hostmaske | Liste]
+ EXCEPTION DEL {Hostmaske]
+ EXCEPTION LIST [Hostmaske]
+ EXCEPTION VIEW [Hostmaske]
Erlaubt Services Administratoren, die Liste der Verbindungs-
einschränkungen zu bearbeiten.Dadurch ist es möglich
@@ -3112,10 +3098,6 @@ OPER_HELP_EXCEPTION
EXCEPTION DEL entfernt den Host von der Liste.
- EXCEPTION MOVE verschiebt den Eintrag mit der Nummer
- auf die Position. Die Einträge dazwischen werden
- hoch bzw runtergeschoben um die Lücken zu füllen.
-
EXCEPTION LIST und EXCEPTION VIEW zeigt alle aktuellen
Verbindungseinschränkungen. Wird die optionale Hostmaske
angegeben, werden nur die entsprechenden Einträge aus
diff --git a/lang/en_us.l b/lang/en_us.l
index 5aae18c2d..a3dd37b35 100644
--- a/lang/en_us.l
+++ b/lang/en_us.l
@@ -2938,13 +2938,11 @@ MODULE_HELP_HEADER
# EXCEPTION responses
OPER_EXCEPTION_SYNTAX
- EXCEPTION {ADD | DEL | MOVE | LIST | VIEW} [params]
+ EXCEPTION {ADD | DEL | LIST | VIEW} [params]
OPER_EXCEPTION_ADD_SYNTAX
EXCEPTION ADD [+expiry] mask limit reason
OPER_EXCEPTION_DEL_SYNTAX
- EXCEPTION DEL {mask | list}
-OPER_EXCEPTION_MOVE_SYNTAX
- EXCEPTION MOVE num position
+ EXCEPTION DEL {mask}
OPER_EXCEPTION_DISABLED
Session limiting is disabled.
OPER_EXCEPTION_ALREADY_PRESENT
@@ -2953,30 +2951,22 @@ OPER_EXCEPTION_TOO_MANY
Session-limit exception list is full!
OPER_EXCEPTION_ADDED
Session limit for %s set to %d.
-OPER_EXCEPTION_MOVED
- Exception for %s (#%d) moved to position %d.
-OPER_EXCEPTION_NO_SUCH_ENTRY
- No such entry (#%d) session-limit exception list.
OPER_EXCEPTION_NOT_FOUND
%s not found on session-limit exception list.
OPER_EXCEPTION_NO_MATCH
No matching entries on session-limit exception list.
OPER_EXCEPTION_DELETED
%s deleted from session-limit exception list.
-OPER_EXCEPTION_DELETED_ONE
- Deleted 1 entry from session-limit exception list.
-OPER_EXCEPTION_DELETED_SEVERAL
- Deleted %d entries from session-limit exception list.
OPER_EXCEPTION_LIST_HEADER
Current Session Limit Exception list:
# mask, limit
OPER_EXCEPTION_LIST_FORMAT
- %3d %4d %s
+ %4d %s
OPER_EXCEPTION_LIST_COLHEAD
- Num Limit Host
+ Limit Host
# mask, set-by, set-time, expires, limit, reason
OPER_EXCEPTION_VIEW_FORMAT
- %3d. %s (by %s on %s; %s)
+ %s (by %s on %s; %s)
Limit: %-4d - %s
OPER_EXCEPTION_INVALID_LIMIT
Invalid session limit. It must be a valid integer greater than or equal to zero and less than %d.
@@ -3015,10 +3005,9 @@ OPER_SESSION_VIEW_FORMAT
OPER_HELP_EXCEPTION
Syntax: EXCEPTION ADD [+expiry] mask limit reason
- EXCEPTION DEL {mask | list}
- EXCEPTION MOVE num position
- EXCEPTION LIST [mask | list]
- EXCEPTION VIEW [mask | list]
+ EXCEPTION DEL {mask}
+ EXCEPTION LIST [mask]
+ EXCEPTION VIEW [mask]
Allows Services admins to manipulate the list of hosts that
have specific session limits - allowing certain machines,
@@ -3039,8 +3028,6 @@ OPER_HELP_EXCEPTION
unlimited session limit. See the AKILL help for details about
the format of the optional expiry parameter.
EXCEPTION DEL removes the given mask from the exception list.
- EXCEPTION MOVE moves exception num to position. The
- exceptions inbetween will be shifted up or down to fill the gap.
EXCEPTION LIST and EXCEPTION VIEW show all current
exceptions; if the optional mask is given, the list is limited
to those exceptions matching the mask. The difference is that
diff --git a/lang/es.l b/lang/es.l
index 308a006db..3319da6ac 100644
--- a/lang/es.l
+++ b/lang/es.l
@@ -3026,13 +3026,11 @@ MODULE_HELP_HEADER
# EXCEPTION responses
OPER_EXCEPTION_SYNTAX
- EXCEPTION {ADD | DEL | MOVE | LIST | VIEW} [parametros]
+ EXCEPTION {ADD | DEL | LIST | VIEW} [parametros]
OPER_EXCEPTION_ADD_SYNTAX
EXCEPTION ADD [+expiracion] mascara limite razon
OPER_EXCEPTION_DEL_SYNTAX
- EXCEPTION DEL {mascara | lista}
-OPER_EXCEPTION_MOVE_SYNTAX
- EXCEPTION MOVE numero posicion
+ EXCEPTION DEL {mascara}
OPER_EXCEPTION_DISABLED
Limites de sesion no disponibles.
OPER_EXCEPTION_ALREADY_PRESENT
@@ -3041,30 +3039,22 @@ OPER_EXCEPTION_TOO_MANY
La lista de excepciones al limite de sesiones esta llena!
OPER_EXCEPTION_ADDED
Limite de sesion para %s seteado a %d.
-OPER_EXCEPTION_MOVED
- Excepcion para %s (#%d) movido a la posicion %d.
-OPER_EXCEPTION_NO_SUCH_ENTRY
- La instancia no existe (#%d) en la lista de excepciones al limite de sesiones.
OPER_EXCEPTION_NOT_FOUND
%s no encontrado en la lista de excepciones al limite de sesiones.
OPER_EXCEPTION_NO_MATCH
No existen instancias similares en la lista de excepciones al limite de sesiones.
OPER_EXCEPTION_DELETED
%s instancias borradas de la lista de excepciones al limite de sesiones.
-OPER_EXCEPTION_DELETED_ONE
- 1 instancia borrada de la lista de excepciones al limite de sesiones.
-OPER_EXCEPTION_DELETED_SEVERAL
- %d instancias borradas de la lista de excepciones al limite de sesiones.
OPER_EXCEPTION_LIST_HEADER
Lista de excepciones al limite de sesiones actual:
# mask, limit
OPER_EXCEPTION_LIST_FORMAT
- %3d %4d %s
+ %4d %s
OPER_EXCEPTION_LIST_COLHEAD
- Num Limite Host
+ Limite Host
# mask, set-by, set-time, expires, limit, reason
OPER_EXCEPTION_VIEW_FORMAT
- %3d. %s (by %s on %s; %s)
+ %s (by %s on %s; %s)
Limite: %-4d - %s
OPER_EXCEPTION_INVALID_LIMIT
Limite de sesion invalido. Debe ser un entero valido mayor o igual a cero y menor a %d.
diff --git a/lang/fr.l b/lang/fr.l
index 136034c0e..f5fd0ce40 100644
--- a/lang/fr.l
+++ b/lang/fr.l
@@ -3076,13 +3076,11 @@ MODULE_HELP_HEADER
# EXCEPTION responses
OPER_EXCEPTION_SYNTAX
- EXCEPTION {ADD | DEL | MOVE | LIST | VIEW} [paramètres]
+ EXCEPTION {ADD | DEL | LIST | VIEW} [paramètres]
OPER_EXCEPTION_ADD_SYNTAX
EXCEPTION ADD [+échéance] mask limite raison
OPER_EXCEPTION_DEL_SYNTAX
- EXCEPTION DEL {mask | liste}
-OPER_EXCEPTION_MOVE_SYNTAX
- EXCEPTION MOVE num position
+ EXCEPTION DEL {mask}
OPER_EXCEPTION_DISABLED
La limitation de sessions est désactivée.
OPER_EXCEPTION_ALREADY_PRESENT
@@ -3091,30 +3089,22 @@ OPER_EXCEPTION_TOO_MANY
La liste des exceptions à la limitation de sessions est pleine!
OPER_EXCEPTION_ADDED
La limite de sessions de %s est maintenant de %d.
-OPER_EXCEPTION_MOVED
- L'exception pour %s (#%d) a été déplacée à la position %d.
-OPER_EXCEPTION_NO_SUCH_ENTRY
- L'entrée %d n'existe pas sur la liste des exceptions à la limitation de sessions.
OPER_EXCEPTION_NOT_FOUND
%s non trouvé sur la liste des exceptions à la limitation de sessions.
OPER_EXCEPTION_NO_MATCH
Aucune entrée correspondante sur la liste des exceptions à la limitation de sessions.
OPER_EXCEPTION_DELETED
%s supprimé de la liste des exceptions à la limitation de sessions.
-OPER_EXCEPTION_DELETED_ONE
- 1 entrée supprimée de la liste des exceptions à la limitation de sessions.
-OPER_EXCEPTION_DELETED_SEVERAL
- %d entrées supprimées de la liste des exceptions à la limitation de sessions.
OPER_EXCEPTION_LIST_HEADER
Liste actuelle des exceptions à la limitation de sessions:
# mask, limit
OPER_EXCEPTION_LIST_FORMAT
- %3d %4d %s
+ %4d %s
OPER_EXCEPTION_LIST_COLHEAD
- Num Limite Host
+ Limite Host
# mask, set-by, set-time, expires, limit, reason
OPER_EXCEPTION_VIEW_FORMAT
- %3d. %s (par %s le %s; %s)
+ %s (par %s le %s; %s)
Limite: %-4d - %s
OPER_EXCEPTION_INVALID_LIMIT
Limite de session invalide. Elle doit être un entier valide supérieur ou égal à zero et plus petit que %d.
diff --git a/lang/gr.l b/lang/gr.l
index cbce538d2..5a7311987 100644
--- a/lang/gr.l
+++ b/lang/gr.l
@@ -3054,13 +3054,11 @@ MODULE_HELP_HEADER
# EXCEPTION responses
OPER_EXCEPTION_SYNTAX
- EXCEPTION {ADD | DEL | MOVE | LIST | VIEW} [params]
+ EXCEPTION {ADD | DEL | LIST | VIEW} [params]
OPER_EXCEPTION_ADD_SYNTAX
EXCEPTION ADD [+÷ñüíïò ëÞîçò] ìÜóêá üñéï ëüãïò
OPER_EXCEPTION_DEL_SYNTAX
- EXCEPTION DEL {ìÜóêá | ëßóôá}
-OPER_EXCEPTION_MOVE_SYNTAX
- EXCEPTION MOVE íïýìåñï èÝóç
+ EXCEPTION DEL {ìÜóêá}
OPER_EXCEPTION_DISABLED
Ç Session limiting åíôïëÞ åßíáé áðåíåñãïðïéçìÝíç.
OPER_EXCEPTION_ALREADY_PRESENT
@@ -3069,30 +3067,22 @@ OPER_EXCEPTION_TOO_MANY
Ç ëßóôá Session-limit exception åßíáé full!
OPER_EXCEPTION_ADDED
Session limit ãéá ôïí %s ñõèìßóôçêå óå %d.
-OPER_EXCEPTION_MOVED
- Exception ãéá %s (#%d) ìåôáêéíÞèçêå óôç èÝóç %d.
-OPER_EXCEPTION_NO_SUCH_ENTRY
- Äåí âñÝèçêå èÝóç (#%d) óôç ëßóôá session-limit exception.
OPER_EXCEPTION_NOT_FOUND
%s äåí âñÝèçêå óôçí ëßóôá session-limit exception.
OPER_EXCEPTION_NO_MATCH
Äåí âñÝèçêáí èÝóåéò óôçí ëßóôá session-limit exception.
OPER_EXCEPTION_DELETED
%s äéáãñÜöçêå áðü ôçí ëßóôá session-limit exception.
-OPER_EXCEPTION_DELETED_ONE
- ÄéáãñÜöçêå 1 èÝóç áðü ôçí ëßóôá session-limit exception.
-OPER_EXCEPTION_DELETED_SEVERAL
- ÄéáãñÜöçêáí %d èÝóåéò áðü ôçí ëßóôá session-limit exception.
OPER_EXCEPTION_LIST_HEADER
Ç Ýùò ôþñá ëßóôá Session Limit Exception åßíáé ïé åîÞò:
# mask, limit
OPER_EXCEPTION_LIST_FORMAT
- %3d %4d %s
+ %4d %s
OPER_EXCEPTION_LIST_COLHEAD
- Íïõ Limit Host
+ Limit Host
# mask, set-by, set-time, expires, limit, reason
OPER_EXCEPTION_VIEW_FORMAT
- %3d. %s (by %s on %s; %s)
+ %s (by %s on %s; %s)
Limit: %-4d - %s
OPER_EXCEPTION_INVALID_LIMIT
ËÜèïò session limit. ÐñÝðåé íá åßíáé ëÜèïò ï integer greater Þ ðñÝðåé íá åßíáé ìåôáîý ìçäÝí êáé %d.
diff --git a/lang/hun.l b/lang/hun.l
index 04a7c575e..07ed55339 100644
--- a/lang/hun.l
+++ b/lang/hun.l
@@ -2989,13 +2989,11 @@ MODULE_HELP_HEADER
# EXCEPTION válaszok
OPER_EXCEPTION_SYNTAX
- EXCEPTION {ADD | DEL | MOVE | LIST | VIEW} [paraméterek]
+ EXCEPTION {ADD | DEL | LIST | VIEW} [paraméterek]
OPER_EXCEPTION_ADD_SYNTAX
EXCEPTION ADD [+elévülés] maszk korlát indok
OPER_EXCEPTION_DEL_SYNTAX
- EXCEPTION DEL {maszk | list}
-OPER_EXCEPTION_MOVE_SYNTAX
- EXCEPTION MOVE Szám helyzet
+ EXCEPTION DEL {maszk}
OPER_EXCEPTION_DISABLED
Session korlátozás tiltva.
OPER_EXCEPTION_ALREADY_PRESENT
@@ -3004,30 +3002,22 @@ OPER_EXCEPTION_TOO_MANY
Session-korlát lista megtelt!
OPER_EXCEPTION_ADDED
Session korlát %s részére %d-re állítva.
-OPER_EXCEPTION_MOVED
- %s kivétel (#%d) áthelyezve a %d pozicíóba.
-OPER_EXCEPTION_NO_SUCH_ENTRY
- Nincs bejegyezve (#%d) session-korlát a kivétel listán.
OPER_EXCEPTION_NOT_FOUND
%s nem található a session-korlát kivétel listán.
OPER_EXCEPTION_NO_MATCH
Nincs ilyen bejegyzés a session-korlát kivétel listán.
OPER_EXCEPTION_DELETED
%s törölve a session-korlát kivétel listáról.
-OPER_EXCEPTION_DELETED_ONE
- Törölve 1 bejegyzés a session-korlát kivétel listáról.
-OPER_EXCEPTION_DELETED_SEVERAL
- Törölve %d bejegyzés a session-korlát kivétel listáról.
OPER_EXCEPTION_LIST_HEADER
Aktuális Session korlát kivétel lista:
# mask, korlát
OPER_EXCEPTION_LIST_FORMAT
- %3d %4d %s
+ %4d %s
OPER_EXCEPTION_LIST_COLHEAD
- Szám Korlát Host
+ Korlát Host
# maszk, set-by, set-idõ,lejárat, korlát, Indok
OPER_EXCEPTION_VIEW_FORMAT
- %3d. %s (%s által, ekkor: %s; %s)
+ %s (%s által, ekkor: %s; %s)
Korlát: %-4d - %s
OPER_EXCEPTION_INVALID_LIMIT
Érvénytelen session korlát. Érvényes számnak kell lennie
diff --git a/lang/it.l b/lang/it.l
index aa0561402..39aa195cb 100644
--- a/lang/it.l
+++ b/lang/it.l
@@ -2948,13 +2948,11 @@ MODULE_HELP_HEADER
# EXCEPTION responses
OPER_EXCEPTION_SYNTAX
- EXCEPTION {ADD | DEL | MOVE | LIST | VIEW} [parametri]
+ EXCEPTION {ADD | DEL | LIST | VIEW} [parametri]
OPER_EXCEPTION_ADD_SYNTAX
EXCEPTION ADD [+durata] mask limite motivo
OPER_EXCEPTION_DEL_SYNTAX
- EXCEPTION DEL {mask | lista}
-OPER_EXCEPTION_MOVE_SYNTAX
- EXCEPTION MOVE num posizione
+ EXCEPTION DEL {mask}
OPER_EXCEPTION_DISABLED
Il limite delle sessioni è disabilitato.
OPER_EXCEPTION_ALREADY_PRESENT
@@ -2963,30 +2961,22 @@ OPER_EXCEPTION_TOO_MANY
La lista delle eccezioni è piena!
OPER_EXCEPTION_ADDED
Il limite di sessioni per %s è stato impostato a %d.
-OPER_EXCEPTION_MOVED
- L'eccezione per %s (numero %d) è stata spostata alla posizione %d.
-OPER_EXCEPTION_NO_SUCH_ENTRY
- Il record specificato (%d) non esiste nella lista delle eccezioni.
OPER_EXCEPTION_NOT_FOUND
Impossibile trovare %s nella lista delle eccezioni.
OPER_EXCEPTION_NO_MATCH
Nessun record corrispondente nella lista delle eccezioni.
OPER_EXCEPTION_DELETED
%s eliminato dalla lista delle eccezioni.
-OPER_EXCEPTION_DELETED_ONE
- Eliminato 1 record dalla lista delle eccezioni.
-OPER_EXCEPTION_DELETED_SEVERAL
- Eliminati %d record dalla lista delle eccezioni.
OPER_EXCEPTION_LIST_HEADER
Lista delle eccezioni attuale:
# mask, limit
OPER_EXCEPTION_LIST_FORMAT
- %3d %4d %s
+ %4d %s
OPER_EXCEPTION_LIST_COLHEAD
- Num Limite Host
+ Limite Host
# mask, set-by, set-time, expires, limit, reason
OPER_EXCEPTION_VIEW_FORMAT
- %3d. %s (by %s on %s; %s)
+ %s (by %s on %s; %s)
Limite: %-4d - %s
OPER_EXCEPTION_INVALID_LIMIT
Limite delle sessioni non valido. Deve essere un numero intero maggiore o uguale a zero e minore di %d.
diff --git a/lang/nl.l b/lang/nl.l
index 81601d7ee..a1ccf3718 100644
--- a/lang/nl.l
+++ b/lang/nl.l
@@ -3008,13 +3008,11 @@ MODULE_HELP_HEADER
# EXCEPTION responses
OPER_EXCEPTION_SYNTAX
- EXCEPTION {ADD | DEL | MOVE | LIST | VIEW} [paramenters]
+ EXCEPTION {ADD | DEL | LIST | VIEW} [paramenters]
OPER_EXCEPTION_ADD_SYNTAX
EXCEPTION ADD [+verloop] mask limiet reden
OPER_EXCEPTION_DEL_SYNTAX
- EXCEPTION DEL {mask | lijst}
-OPER_EXCEPTION_MOVE_SYNTAX
- EXCEPTION MOVE nr positie
+ EXCEPTION DEL {mask}
OPER_EXCEPTION_DISABLED
Sessie limitering is tijdelijk uitgeschakeld.
OPER_EXCEPTION_ALREADY_PRESENT
@@ -3023,30 +3021,22 @@ OPER_EXCEPTION_TOO_MANY
Sessie limiet uitzonderingenlijst is vol!
OPER_EXCEPTION_ADDED
Sessie limiet voor %s veranderd in %d.
-OPER_EXCEPTION_MOVED
- Uitzondering voor %s (#%d) verplaatst naar positie %d.
-OPER_EXCEPTION_NO_SUCH_ENTRY
- #%d bestaat niet op de sessie limiet uitzonderingenlijst.
OPER_EXCEPTION_NOT_FOUND
%s niet gevonden op de sessie limiet uitzonderingenlijst.
OPER_EXCEPTION_NO_MATCH
Geen overeenkomsten op de sessie limiet uitzonderingenlijst.
OPER_EXCEPTION_DELETED
%s verwijderd van de sessie limiet uitzonderingenlijst.
-OPER_EXCEPTION_DELETED_ONE
- 1 uitzondering verwijderd van de sessie limiet uitzonderingenlijst.
-OPER_EXCEPTION_DELETED_SEVERAL
- %d uitzonderingen verwijderd van de sessie limiet uitzonderingenlijst.
OPER_EXCEPTION_LIST_HEADER
Huidige Sessie Limiet Uitzonderingenlijst:
# mask, limit
OPER_EXCEPTION_LIST_FORMAT
- %3d %4d %s
+ %4d %s
OPER_EXCEPTION_LIST_COLHEAD
- Nr Limiet Host
+ Limiet Host
# mask, set-by, set-time, expires, limit, reason
OPER_EXCEPTION_VIEW_FORMAT
- %3d. %s (door %s op %s; %s)
+ %s (door %s op %s; %s)
Limiet: %-4d - %s
OPER_EXCEPTION_INVALID_LIMIT
Ongeldige sessie limiet. Het moet een geldige integer groter dan of gelijk aan nul en kleiner dan %d.
diff --git a/lang/pl.l b/lang/pl.l
index b4bb6134a..2e350afa9 100644
--- a/lang/pl.l
+++ b/lang/pl.l
@@ -3203,13 +3203,11 @@ MODULE_HELP_HEADER
# EXCEPTION responses
OPER_EXCEPTION_SYNTAX
- EXCEPTION {ADD | DEL | MOVE | LIST | VIEW} [params]
+ EXCEPTION {ADD | DEL | LIST | VIEW} [params]
OPER_EXCEPTION_ADD_SYNTAX
EXCEPTION ADD [+czastrwania] maska limit powód
OPER_EXCEPTION_DEL_SYNTAX
- EXCEPTION DEL {maska | lista}
-OPER_EXCEPTION_MOVE_SYNTAX
- EXCEPTION MOVE nr pozycja
+ EXCEPTION DEL {maska}
OPER_EXCEPTION_DISABLED
Limitowanie sesji jest wy³±czone.
OPER_EXCEPTION_ALREADY_PRESENT
@@ -3218,11 +3216,6 @@ OPER_EXCEPTION_TOO_MANY
Lista wyj±tków limitów sesji jest pe³na!
OPER_EXCEPTION_ADDED
Limit sesji dla %s zmieniono na %d.
-OPER_EXCEPTION_MOVED
- Wyj±tek dla %s (#%d) przeniesiono
- na pozycje %d.
-OPER_EXCEPTION_NO_SUCH_ENTRY
- No such entry (#%d) session-limit exception list.
OPER_EXCEPTION_NOT_FOUND
%s nie znaleziono na li¶cie wyj±tków limitów
sesji.
@@ -3231,21 +3224,16 @@ OPER_EXCEPTION_NO_MATCH
sesji.
OPER_EXCEPTION_DELETED
%s usuniêto z listy wyj±tków limitów sesji.
-OPER_EXCEPTION_DELETED_ONE
- Usuniêto 1 wpis z listy wyj±tków limitów sesji.
-OPER_EXCEPTION_DELETED_SEVERAL
- Usuniêto %d wpisy(ów) z listy wyj±tków limitów
- sesji.
OPER_EXCEPTION_LIST_HEADER
Aktualna lista wyj±tków limitów sesji:
# mask, limit
OPER_EXCEPTION_LIST_FORMAT
- %3d %4d %s
+ %4d %s
OPER_EXCEPTION_LIST_COLHEAD
- Nr Limit Host
+ Limit Host
# mask, set-by, set-time, expires, limit, reason
OPER_EXCEPTION_VIEW_FORMAT
- %3d. %s (przez %s na %s; %s)
+ %s (przez %s na %s; %s)
Limit: %-4d - %s
OPER_EXCEPTION_INVALID_LIMIT
Nieprawid³owy limit sesji. Musi byæ liczb± dodatni±,
diff --git a/lang/pt.l b/lang/pt.l
index 8727af937..ca6ce2b26 100644
--- a/lang/pt.l
+++ b/lang/pt.l
@@ -2963,13 +2963,11 @@ MODULE_HELP_HEADER
# EXCEPTION responses
OPER_EXCEPTION_SYNTAX
- EXCEPTION {ADD | DEL | MOVE | LIST | VIEW} [parâmetros]
+ EXCEPTION {ADD | DEL | LIST | VIEW} [parâmetros]
OPER_EXCEPTION_ADD_SYNTAX
EXCEPTION ADD [+tempo] máscara limite motivo
OPER_EXCEPTION_DEL_SYNTAX
- EXCEPTION DEL {máscara | lista}
-OPER_EXCEPTION_MOVE_SYNTAX
- EXCEPTION MOVE núm posição
+ EXCEPTION DEL {máscara}
OPER_EXCEPTION_DISABLED
Opção de limite de sessões desabilitada.
OPER_EXCEPTION_ALREADY_PRESENT
@@ -2978,30 +2976,22 @@ OPER_EXCEPTION_TOO_MANY
Lista de limite de sessões está cheia!
OPER_EXCEPTION_ADDED
Limite de sessões para %s é agora de %d.
-OPER_EXCEPTION_MOVED
- Sessão para %s (#%d) alterada para a posição %d.
-OPER_EXCEPTION_NO_SUCH_ENTRY
- Nenhuma entrada equivalente (#%d) na lista de limite de sessões.
OPER_EXCEPTION_NOT_FOUND
%s não encontrado na lista de limite de sessões.
OPER_EXCEPTION_NO_MATCH
Nenhum resultado encontrado na lista de limite de sessões.
OPER_EXCEPTION_DELETED
%s removido da lista de limite de sessões.
-OPER_EXCEPTION_DELETED_ONE
- Removida 1 entrada da lista de limite de sessões.
-OPER_EXCEPTION_DELETED_SEVERAL
- Removidas %d entradas da lista de limite de sessões.
OPER_EXCEPTION_LIST_HEADER
Atual lista de Limite de sessões:
# mask, limit
OPER_EXCEPTION_LIST_FORMAT
- %3d %4d %s
+ %4d %s
OPER_EXCEPTION_LIST_COLHEAD
- Núm Limite Host
+ Limite Host
# mask, set-by, set-time, expires, limit, reason
OPER_EXCEPTION_VIEW_FORMAT
- %3d. %s (por %s em %s; %s)
+ %s (por %s em %s; %s)
Limite: %-4d - %s
OPER_EXCEPTION_INVALID_LIMIT
Limite de sessão inválida. O limite deve ser um número inteiro maior ou igual a zero e menor que %d.
diff --git a/lang/ru.l b/lang/ru.l
index 8ac0941f1..47476539d 100644
--- a/lang/ru.l
+++ b/lang/ru.l
@@ -3000,13 +3000,11 @@ MODULE_HELP_HEADER
# EXCEPTION responses
OPER_EXCEPTION_SYNTAX
- EXCEPTION {ADD | DEL | MOVE | LIST | VIEW} [ïàðàìåòðû]
+ EXCEPTION {ADD | DEL | LIST | VIEW} [ïàðàìåòðû]
OPER_EXCEPTION_ADD_SYNTAX
EXCEPTION ADD [+âðåìÿ èñòå÷åíèÿ] ìàñêà ëèìèò ïðè÷èíà
OPER_EXCEPTION_DEL_SYNTAX
- EXCEPTION DEL {ìàñêà | list}
-OPER_EXCEPTION_MOVE_SYNTAX
- EXCEPTION MOVE íîìåð ïîçèöèÿ
+ EXCEPTION DEL {ìàñêà}
OPER_EXCEPTION_DISABLED
Îãðàíè÷åíèå ñåññèé îòêëþ÷åíî.
OPER_EXCEPTION_ALREADY_PRESENT
@@ -3015,30 +3013,22 @@ OPER_EXCEPTION_TOO_MANY
Ñïèñîê èñêëþ÷åíèé èç ëèìèòà ñåññèé ïåðåïîëíåí!
OPER_EXCEPTION_ADDED
Ëèìèò ñåññèé äëÿ %s óñòàíîâëåí â %d.
-OPER_EXCEPTION_MOVED
- Èñêëþ÷åíèå äëÿ %s (#%d) ïåðåìåùåíî â ïîçèöèþ %d.
-OPER_EXCEPTION_NO_SUCH_ENTRY
- Íåò òàêîé çàïèñè (#%d) â ñïèñêå èñêëþ÷åíèé èç ëèìèòâ ñåññèé.
OPER_EXCEPTION_NOT_FOUND
%s íå íàéäåí â ñïèñêå èñêëþ÷åíèé èç ëèìèò ñåññèé.
OPER_EXCEPTION_NO_MATCH
Íåò òàêèõ çíà÷åíèé â ñïèñêå èñêëþ÷åíèé èç ëèìèòà ñåññèé.
OPER_EXCEPTION_DELETED
%s óäàëåí èç ñïèñêà èñêëþ÷åíèé èç ëèìèòà ñåññèé.
-OPER_EXCEPTION_DELETED_ONE
- Óäàëåíà 1 çàïèñü èç ñïèñêà èñêëþ÷åíèé èç ëèìèòà ñåññèé.
-OPER_EXCEPTION_DELETED_SEVERAL
- Óäàëåíî %d çàïèñåé èç ñïèñêà èñêëþ÷åíèé èç ëèìèòà ñåññèé.
OPER_EXCEPTION_LIST_HEADER
Òåêóùèé ñïèñîê èñêëþ÷åíèé èç ëèìèòà ñåññèé:
# ìàñêà, ëèìèò
OPER_EXCEPTION_LIST_FORMAT
- %3d %4d %s
+ %4d %s
OPER_EXCEPTION_LIST_COLHEAD
- Íîìåð Ëèìèò Õîñò
+ Ëèìèò Õîñò
# ìåñêà, êåì óñòàíîâëåíî, êîãäà óñòàíîâëåíî, êîãäà èñòåêàåò, ëèìèò, ïðè÷èíà
OPER_EXCEPTION_VIEW_FORMAT
- %3d. %s (by %s on %s; %s)
+ %s (by %s on %s; %s)
Ëèìèò: %-4d - %s
OPER_EXCEPTION_INVALID_LIMIT
Íåêîððåêòíûé ëèìèò ñåññèé. Îí äîëæåí áûòü öåëûì ÷èñëîì áîëüøå èëè ðàâíûì íóëÿ è ìåíüøå %d.
diff --git a/lang/tr.l b/lang/tr.l
index 56ee18ebd..a5f7aae47 100644
--- a/lang/tr.l
+++ b/lang/tr.l
@@ -3047,13 +3047,11 @@ MODULE_HELP_HEADER
# EXCEPTION responses
OPER_EXCEPTION_SYNTAX
- EXCEPTION {ADD | DEL | MOVE | LIST | VIEW} [parametreler]
+ EXCEPTION {ADD | DEL | LIST | VIEW} [parametreler]
OPER_EXCEPTION_ADD_SYNTAX
EXCEPTION ADD [+zamanaþýmý] mask limit sebep
OPER_EXCEPTION_DEL_SYNTAX
- EXCEPTION DEL {mask | liste}
-OPER_EXCEPTION_MOVE_SYNTAX
- EXCEPTION MOVE num pozisyon
+ EXCEPTION DEL {mask}
OPER_EXCEPTION_DISABLED
Session limit koyma devre dýþý.
OPER_EXCEPTION_ALREADY_PRESENT
@@ -3062,30 +3060,22 @@ OPER_EXCEPTION_TOO_MANY
Session-limit exception listesi dolu!
OPER_EXCEPTION_ADDED
%s için session limit %d olarak deðiþtirildi.
-OPER_EXCEPTION_MOVED
- %s (#%d) için exception %d pozisyonuyla deðiþtirildi.
-OPER_EXCEPTION_NO_SUCH_ENTRY
- (#%d) böyle bir kayýt yok. session-limit exception listesi.
OPER_EXCEPTION_NOT_FOUND
%s session-limit exception listesinde bulunamadý.
OPER_EXCEPTION_NO_MATCH
session-limit exception listesinde uyuþan kayýt bulunamadý.
OPER_EXCEPTION_DELETED
%s session-limit exception listesinden silindi.
-OPER_EXCEPTION_DELETED_ONE
- Session-limit exception listesinden 1 kayýt silindi.
-OPER_EXCEPTION_DELETED_SEVERAL
- Session-limit exception listesinden %d kayýt silindi.
OPER_EXCEPTION_LIST_HEADER
Þu anki Session Limit Exception listesi:
# mask, limit
OPER_EXCEPTION_LIST_FORMAT
- %3d %4d %s
+ %4d %s
OPER_EXCEPTION_LIST_COLHEAD
- Sayý Limit Host
+ Limit Host
# mask, set-by, set-time, expires, limit, reason
OPER_EXCEPTION_VIEW_FORMAT
- %3d. %s (by %s on %s; %s)
+ %s (by %s on %s; %s)
Limit: %-4d - %s
OPER_EXCEPTION_INVALID_LIMIT
Geçersiz session limiti. Sýfýrdan büyük yada eþit ve %d den az bir geçerli tamsayý olmalýdýr.
diff --git a/src/mysql.c b/src/mysql.c
index af319d5b6..889dcd40d 100644
--- a/src/mysql.c
+++ b/src/mysql.c
@@ -983,10 +983,13 @@ void db_mysql_load_news(void)
mysql_free_result(mysql_res);
}
+#define HASH(host) (((host)[0]&31)<<5 | ((host)[1]&31))
+
void db_mysql_load_exceptions(void)
{
char sqlcmd[MAX_SQL_BUF];
- int j;
+ Exception *exception;
+ int index;
if (!do_mysql)