From 1f48897042e392933d230d9a530abb436226d2d9 Mon Sep 17 00:00:00 2001 From: sjaz Date: Fri, 8 May 2009 15:10:52 +0000 Subject: Patch to allow jupe on all bar uplink and self. Thanks Adam. (Bug #1076) git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2298 5417fbe8-f217-4b02-8779-1006273d7864 --- include/services.h | 1 + lang/cat.l | 4 ++-- lang/de.l | 4 ++-- lang/en_us.l | 2 ++ lang/es.l | 4 ++-- lang/fr.l | 4 ++-- lang/gr.l | 4 ++-- lang/hun.l | 2 ++ lang/it.l | 2 ++ lang/nl.l | 2 ++ lang/pl.l | 3 +++ lang/pt.l | 2 ++ lang/ru.l | 2 ++ lang/tr.l | 4 ++-- src/core/os_jupe.c | 3 +++ src/servers.c | 4 +++- 16 files changed, 34 insertions(+), 13 deletions(-) diff --git a/include/services.h b/include/services.h index 8b4cbeeac..13cb293c7 100644 --- a/include/services.h +++ b/include/services.h @@ -831,6 +831,7 @@ struct server_ { #define SERVER_ISME 0x0001 #define SERVER_JUPED 0x0002 +#define SERVER_ISUPLINK 0x0004 /*************************************************************************/ #include "users.h" diff --git a/lang/cat.l b/lang/cat.l index 5e6a4e90d..2467897ca 100644 --- a/lang/cat.l +++ b/lang/cat.l @@ -2939,10 +2939,10 @@ OPER_NOOP_REVOKE # JUPE responses OPER_JUPE_SYNTAX JUPE nom-del-servidor [raó] - -# RAW responses OPER_JUPE_HOST_ERROR Please use a valid server name when juping +OPER_JUPE_INVALID_SERVER + You can not jupe your services server or your uplink server. # RAW responses OPER_RAW_SYNTAX diff --git a/lang/de.l b/lang/de.l index 1a5ba0cac..aa5de364e 100644 --- a/lang/de.l +++ b/lang/de.l @@ -2905,10 +2905,10 @@ OPER_NOOP_REVOKE # JUPE responses OPER_JUPE_SYNTAX JUPE Servername [Grund] - -# RAW responses OPER_JUPE_HOST_ERROR Benutze bitte einen gültigen hostnamen, wenn du jupiterst +OPER_JUPE_INVALID_SERVER + You can not jupe your services server or your uplink server. # RAW responses OPER_RAW_SYNTAX diff --git a/lang/en_us.l b/lang/en_us.l index ff5119e6c..44ead6387 100644 --- a/lang/en_us.l +++ b/lang/en_us.l @@ -2857,6 +2857,8 @@ OPER_JUPE_SYNTAX JUPE servername [reason] OPER_JUPE_HOST_ERROR Please use a valid server name when juping +OPER_JUPE_INVALID_SERVER + You can not jupe your services server or your uplink server. # RAW responses OPER_RAW_SYNTAX diff --git a/lang/es.l b/lang/es.l index a921c2b98..65583f813 100644 --- a/lang/es.l +++ b/lang/es.l @@ -2910,10 +2910,10 @@ OPER_NOOP_REVOKE # JUPE responses OPER_JUPE_SYNTAX JUPE nombre-del-servidor [razon] - -# RAW responses OPER_JUPE_HOST_ERROR Por favor usa un nombre de servidor valido cuando use JUPE +OPER_JUPE_INVALID_SERVER + You can not jupe your services server or your uplink server. # RAW responses OPER_RAW_SYNTAX diff --git a/lang/fr.l b/lang/fr.l index ec409f9d6..4d8a5e87d 100644 --- a/lang/fr.l +++ b/lang/fr.l @@ -2963,10 +2963,10 @@ OPER_NOOP_REVOKE # JUPE responses OPER_JUPE_SYNTAX JUPE nom-du-serveur [raison] - -# RAW responses OPER_JUPE_HOST_ERROR Veuillez indiquer un nom de serveur valide pour JUPE. +OPER_JUPE_INVALID_SERVER + You can not jupe your services server or your uplink server. # RAW responses OPER_RAW_SYNTAX diff --git a/lang/gr.l b/lang/gr.l index a771f369f..6e828a5bf 100644 --- a/lang/gr.l +++ b/lang/gr.l @@ -2942,10 +2942,10 @@ OPER_NOOP_REVOKE # JUPE responses OPER_JUPE_SYNTAX JUPE servername [reason] - -# RAW responses OPER_JUPE_HOST_ERROR Please use a valid server name when juping +OPER_JUPE_INVALID_SERVER + You can not jupe your services server or your uplink server. # RAW responses OPER_RAW_SYNTAX diff --git a/lang/hun.l b/lang/hun.l index a94c8ce18..7a3a76e9e 100644 --- a/lang/hun.l +++ b/lang/hun.l @@ -2903,6 +2903,8 @@ OPER_JUPE_SYNTAX JUPE szervernév [leírás] OPER_JUPE_HOST_ERROR Kérlek használj érvényes szerver nevet amikor jupolsz! +OPER_JUPE_INVALID_SERVER + You can not jupe your services server or your uplink server. # RAW válaszok OPER_RAW_SYNTAX diff --git a/lang/it.l b/lang/it.l index 39976886f..204fc099d 100644 --- a/lang/it.l +++ b/lang/it.l @@ -2869,6 +2869,8 @@ OPER_JUPE_SYNTAX JUPE nomeserver [motivo] OPER_JUPE_HOST_ERROR Prego utilizzare un nome server valido per jupe +OPER_JUPE_INVALID_SERVER + You can not jupe your services server or your uplink server. # RAW responses OPER_RAW_SYNTAX diff --git a/lang/nl.l b/lang/nl.l index a6f4c3aec..313371e03 100644 --- a/lang/nl.l +++ b/lang/nl.l @@ -2910,6 +2910,8 @@ OPER_JUPE_SYNTAX JUPE servername [reden] OPER_JUPE_HOST_ERROR Gebruik een geldige servernaam bij het jupen +OPER_JUPE_INVALID_SERVER + You can not jupe your services server or your uplink server. # RAW responses OPER_RAW_SYNTAX diff --git a/lang/pl.l b/lang/pl.l index 55535b605..f0a13f005 100644 --- a/lang/pl.l +++ b/lang/pl.l @@ -3846,6 +3846,9 @@ OPER_JUPE_SYNTAX OPER_JUPE_HOST_ERROR Proszê u¿yæ prawid³owej nazwy serwera. +OPER_JUPE_INVALID_SERVER + You can not jupe your services server or your uplink server. + # RAW responses OPER_RAW_SYNTAX RAW tekst diff --git a/lang/pt.l b/lang/pt.l index 97b90fe29..69d355f52 100644 --- a/lang/pt.l +++ b/lang/pt.l @@ -2881,6 +2881,8 @@ OPER_JUPE_SYNTAX JUPE servidor [motivo] OPER_JUPE_HOST_ERROR Por favor, use um nome de servidor válido quando estiver "jupando". +OPER_JUPE_INVALID_SERVER + You can not jupe your services server or your uplink server. # RAW responses OPER_RAW_SYNTAX diff --git a/lang/ru.l b/lang/ru.l index 42cb0e7e7..b9059008e 100644 --- a/lang/ru.l +++ b/lang/ru.l @@ -2853,6 +2853,8 @@ OPER_JUPE_SYNTAX JUPE èìÿ_ñåðâåðà [ïðè÷èíà] OPER_JUPE_HOST_ERROR  êà÷åñòâå îñíîâíîãî ïàðàìåòðà âû äîëæíû óêàçàòü ðåàëüíîå èìÿ ñåðåâåðà +OPER_JUPE_INVALID_SERVER + You can not jupe your services server or your uplink server. # RAW responses OPER_RAW_SYNTAX diff --git a/lang/tr.l b/lang/tr.l index 5cdf2c3db..6f3e25917 100644 --- a/lang/tr.l +++ b/lang/tr.l @@ -2936,10 +2936,10 @@ OPER_NOOP_REVOKE # JUPE responses OPER_JUPE_SYNTAX JUPE serverismi [sebep] - -# RAW responses OPER_JUPE_HOST_ERROR Please use a valid server name when juping +OPER_JUPE_INVALID_SERVER + You can not jupe your services server or your uplink server. # RAW responses OPER_RAW_SYNTAX diff --git a/src/core/os_jupe.c b/src/core/os_jupe.c index 9243e953d..ce4c1978f 100644 --- a/src/core/os_jupe.c +++ b/src/core/os_jupe.c @@ -26,9 +26,12 @@ class CommandOSJupe : public Command { const char *jserver = params[0].c_str(); const char *reason = params.size() > 1 ? params[1].c_str() : NULL; + Server *server = findserver(servlist, jserver); if (!isValidHost(jserver, 3)) notice_lang(s_OperServ, u, OPER_JUPE_HOST_ERROR); + else if (server && ((server->flags & SERVER_ISME) || (server->flags & SERVER_ISUPLINK))) + notice_lang(s_OperServ, u, OPER_JUPE_INVALID_SERVER); else { char rbuf[256]; snprintf(rbuf, sizeof(rbuf), "Juped by %s%s%s", u->nick, reason ? ": " : "", reason ? reason : ""); diff --git a/src/servers.c b/src/servers.c index 640d9c699..18a809762 100644 --- a/src/servers.c +++ b/src/servers.c @@ -158,8 +158,10 @@ Server *new_server(Server * server_uplink, const char *name, const char *desc, server_uplink->links = serv; } /* Check if this is our uplink server */ - if ((server_uplink == me_server) && !(flags & SERVER_JUPED)) + if ((server_uplink == me_server) && !(flags & SERVER_JUPED)) { serv_uplink = serv; + serv->flags |= SERVER_ISUPLINK; + } return serv; } -- cgit