diff --git a/Changes b/Changes index 64ea8ae68..f2ac99a23 100644 --- a/Changes +++ b/Changes @@ -1,6 +1,7 @@ Anope Version S V N ------------------- Provided by Anope Dev. - 2004 +06/10 A Improved handling of /NS INFO for pseudo-clients. [ #98] 06/07 A Added register script in /bin/ for users to register anope. [ #00] 05/27 A Better /OS MODLIST output to include version information. [ #74] 05/25 A New /CS CLEAR HOPS for ircd's that support halfops. [ #72] diff --git a/Changes.lang b/Changes.lang index 5311875de..6a915469f 100644 --- a/Changes.lang +++ b/Changes.lang @@ -5,6 +5,7 @@ Anope Version S N V CHAN_CLEARED_HOPS OPER_MODULE_LIST_HEADER OPER_MODULE_LIST_FOOTER + NICK_X_IS_SERVICES *** Mod Strings: diff --git a/extern.h b/extern.h index ce0c1b119..f6509b08b 100644 --- a/extern.h +++ b/extern.h @@ -611,6 +611,7 @@ E char *myStrGetTokenRemainder(const char *str, const char dilim, int token_number); E void doCleanBuffer(char *str); E void EnforceQlinedNick(char *nick, char *killer); +E int nickIsServices(char *nick); /**** news.c ****/ diff --git a/lang/cat.l b/lang/cat.l index 245a65b2c..244e0f8a5 100644 --- a/lang/cat.l +++ b/lang/cat.l @@ -188,6 +188,8 @@ NICK_NOT_REGISTERED El teu nick no esta registrat. NICK_NOT_REGISTERED_HELP El teu nick no esta registrat. Escriu /msg %s HELP per mes informació al registrat el teu nickname. +NICK_X_IS_SERVICES + Nick %s is part of this Network's Services. NICK_X_NOT_REGISTERED El nick %s no esta registrat. NICK_X_IN_USE diff --git a/lang/de.l b/lang/de.l index e45b8029e..596bef318 100644 --- a/lang/de.l +++ b/lang/de.l @@ -205,6 +205,8 @@ NICK_NOT_REGISTERED Dein Nick ist nicht registriert. NICK_NOT_REGISTERED_HELP Dein Nick ist nicht registriert. Benutze /msg %s HELP für weitere Hilfe, wie du deinen Nick registrieren kannst. +NICK_X_IS_SERVICES + Nick %s is part of this Network's Services. NICK_X_NOT_REGISTERED Nick %s ist nicht registriert. NICK_X_IN_USE diff --git a/lang/en_us.l b/lang/en_us.l index 3ef0ea13f..330750d81 100644 --- a/lang/en_us.l +++ b/lang/en_us.l @@ -187,6 +187,8 @@ NICK_NOT_REGISTERED Your nick isn't registered. NICK_NOT_REGISTERED_HELP Your nick isn't registered. Type /msg %s HELP for information on registering your nickname. +NICK_X_IS_SERVICES + Nick %s is part of this Network's Services. NICK_X_NOT_REGISTERED Nick %s isn't registered. NICK_X_IN_USE diff --git a/lang/es.l b/lang/es.l index 94e784980..1ec6a7ce8 100644 --- a/lang/es.l +++ b/lang/es.l @@ -193,6 +193,8 @@ NICK_NOT_REGISTERED NICK_NOT_REGISTERED_HELP Tu nick no esta registrado. Tipea /msg %s HELP para mayor informacion sobre el registro de nicknames. +NICK_X_IS_SERVICES + Nick %s is part of this Network's Services. NICK_X_NOT_REGISTERED El nick %s no esta registrado. NICK_X_IN_USE diff --git a/lang/fr.l b/lang/fr.l index 7f81dd91b..688f75fa8 100644 --- a/lang/fr.l +++ b/lang/fr.l @@ -190,6 +190,8 @@ NICK_NOT_REGISTERED Votre nick n'est pas enregistré. NICK_NOT_REGISTERED_HELP Votre nick n'est pas enregistré. Tapez /msg %s HELP pour des informations sur l'enregistrement des nicks. +NICK_X_IS_SERVICES + Nick %s is part of this Network's Services. NICK_X_NOT_REGISTERED Le nick %s n'est pas enregistré. NICK_X_IN_USE diff --git a/lang/gr.l b/lang/gr.l index a0343854e..24ef0a1fb 100644 --- a/lang/gr.l +++ b/lang/gr.l @@ -187,6 +187,8 @@ NICK_NOT_REGISTERED Áõôü ôï øåõäþíõìï äåí Ý÷åé êáôï÷õñùèåß. NICK_NOT_REGISTERED_HELP Áõôü ôï øåõäþíõìï äåí Ý÷åé êáôï÷õñùèåß. ÃñÜøå /msg %s HELP ãéá ðåñéóóüôåñåò ðëçñïöïñßåò ó÷åôéêÜ ãéá ôçí êáôï÷ýñùóç øåõäùíýìïõ.. +NICK_X_IS_SERVICES + Nick %s is part of this Network's Services. NICK_X_NOT_REGISTERED Áõôü ôï øåõäþíõìï %s äåí åßíáé êáôï÷õñùìÝíï. NICK_X_IN_USE diff --git a/lang/it.l b/lang/it.l index 82738f8aa..63fc23c89 100644 --- a/lang/it.l +++ b/lang/it.l @@ -189,6 +189,8 @@ NICK_NOT_REGISTERED Il tuo nick non è registrato. NICK_NOT_REGISTERED_HELP Il tuo nick non è registrato. Digita /msg %s HELP per informazioni sulla registrazione del nick. +NICK_X_IS_SERVICES + Nick %s is part of this Network's Services. NICK_X_NOT_REGISTERED Il nick %s non è registrato. NICK_X_IN_USE diff --git a/lang/nl.l b/lang/nl.l index 05d0ccb3e..3edf5a1da 100644 --- a/lang/nl.l +++ b/lang/nl.l @@ -190,6 +190,8 @@ NICK_NOT_REGISTERED Je nick is niet geregistreerd. NICK_NOT_REGISTERED_HELP Je nick is niet geregistreerd. Type /msg %s HELP voor informatie over het registreren van je nick. +NICK_X_IS_SERVICES + Nick %s is part of this Network's Services. NICK_X_NOT_REGISTERED Nick %s is niet geregistreerd. NICK_X_IN_USE diff --git a/lang/pt.l b/lang/pt.l index e9f2115b7..fdd911137 100644 --- a/lang/pt.l +++ b/lang/pt.l @@ -187,6 +187,8 @@ NICK_NOT_REGISTERED Seu nick não está registrado. NICK_NOT_REGISTERED_HELP Seu nick não está registrado. Digite /msg %s HELP para maiores informações sobre como registrar o nick. +NICK_X_IS_SERVICES + Nick %s is part of this Network's Services. NICK_X_NOT_REGISTERED Nick %s não está registrado. NICK_X_IN_USE diff --git a/lang/ru.l b/lang/ru.l index cbc588a9b..73e09a481 100644 --- a/lang/ru.l +++ b/lang/ru.l @@ -193,6 +193,8 @@ NICK_NOT_REGISTERED Âàø íèê íå çàðåãèñòðèðîâàí. NICK_NOT_REGISTERED_HELP Âàø íèê íå çàðåãèñòðèðîâàí. Íàïèøèòå /msg %s HELP äëÿ ïîëó÷åíèÿ èíôîðìàöèè î òîì, êàê çàðåãèñòðèðîâàòü íèê. +NICK_X_IS_SERVICES + Nick %s is part of this Network's Services. NICK_X_NOT_REGISTERED Íèê %s íå çàðåãèñòðèðîâàí. NICK_X_IN_USE diff --git a/lang/tr.l b/lang/tr.l index d1b9047aa..780037b83 100644 --- a/lang/tr.l +++ b/lang/tr.l @@ -191,6 +191,8 @@ NICK_NOT_REGISTERED Nickiniz kayýtlý deðil. NICK_NOT_REGISTERED_HELP Nickiniz kayýtlý deðil. Nick kayýt hakkýnda bilgi almak için /msg %s HELP yazýn. +NICK_X_IS_SERVICES + Nick %s is part of this Network's Services. NICK_X_NOT_REGISTERED %s kayýtlý bir nick deðil. NICK_X_IN_USE diff --git a/misc.c b/misc.c index 358a4ad98..922f0e05d 100644 --- a/misc.c +++ b/misc.c @@ -651,5 +651,61 @@ void EnforceQlinedNick(char *nick, char *killer) kill_user(killer, u2->nick, "This nick is reserved for Services. Please use a non Q-Lined nick."); } - +} + +int nickIsServices(char *nick) +{ + int found = 0; + + if (s_NickServ && (stricmp(nick, s_NickServ) == 0)) + found++; + else if (s_ChanServ && (stricmp(nick, s_ChanServ) == 0)) + found++; + else if (s_HostServ && (stricmp(nick, s_HostServ) == 0)) + found++; + else if (s_MemoServ && (stricmp(nick, s_MemoServ) == 0)) + found++; + else if (s_BotServ && (stricmp(nick, s_BotServ) == 0)) + found++; + else if (s_HelpServ && (stricmp(nick, s_HelpServ) == 0)) + found++; + else if (s_OperServ && (stricmp(nick, s_OperServ) == 0)) + found++; + else if (s_DevNull && (stricmp(nick, s_DevNull) == 0)) + found++; + else if (s_GlobalNoticer && (stricmp(nick, s_GlobalNoticer) == 0)) + found++; + else if (s_NickServAlias && (stricmp(nick, s_NickServAlias) == 0)) + found++; + else if (s_ChanServAlias && (stricmp(nick, s_ChanServAlias) == 0)) + found++; + else if (s_MemoServAlias && (stricmp(nick, s_MemoServAlias) == 0)) + found++; + else if (s_BotServAlias && (stricmp(nick, s_BotServAlias) == 0)) + found++; + else if (s_HelpServAlias && (stricmp(nick, s_HelpServAlias) == 0)) + found++; + else if (s_OperServAlias && (stricmp(nick, s_OperServAlias) == 0)) + found++; + else if (s_DevNullAlias && (stricmp(nick, s_DevNullAlias) == 0)) + found++; + else if (s_HostServAlias && (stricmp(nick, s_HostServAlias) == 0)) + found++; + else if (s_GlobalNoticerAlias + && (stricmp(nick, s_GlobalNoticerAlias) == 0)) + found++; + else if (s_BotServ) { + BotInfo *bi; + int i; + for (i = 0; i < 256; i++) { + for (bi = botlists[i]; bi; bi = bi->next) { + if (stricmp(nick, bi->nick) == 0) { + found++; + continue; + } + } + } + } + + return found; } diff --git a/nickserv.c b/nickserv.c index 016d5141b..207c2dec7 100644 --- a/nickserv.c +++ b/nickserv.c @@ -3257,6 +3257,8 @@ static int do_info(User * u) s_NickServ, nr->nick); } } + } else if (nickIsServices(nick)) { + notice_lang(s_NickServ, u, NICK_X_IS_SERVICES, nick); } else { notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED, nick); } diff --git a/version.log b/version.log index e68ff64bf..820a7e9e2 100644 --- a/version.log +++ b/version.log @@ -8,10 +8,14 @@ VERSION_MAJOR="1" VERSION_MINOR="7" VERSION_PATCH="3" -VERSION_BUILD="183" +VERSION_BUILD="184" # $Log$ # +# BUILD : 1.7.3 (184) +# BUGS : 98 +# NOTES : Improved handling of /NS INFO for pseudo-clients. +# # BUILD : 1.7.3 (183) # BUGS : 92 # NOTES : Added check to see if MysqlName and MysqlUser were not null to avoid any problems.