summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsjaz <sjaz@5417fbe8-f217-4b02-8779-1006273d7864>2009-05-08 15:10:05 +0000
committersjaz <sjaz@5417fbe8-f217-4b02-8779-1006273d7864>2009-05-08 15:10:05 +0000
commit9210aae6f994bc9511843fd7e9c94763b930d37b (patch)
tree1504b8e6ef854f076fc4e0b1c758420924753d60 /src
parentd4b6968108f8582b293ff58b4657a3ccf075c7b0 (diff)
Patch to allow jupe on all bar uplink and self. Thanks Adam. (Bug #1076)
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/stable@2297 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r--src/core/os_jupe.c3
-rw-r--r--src/servers.c4
2 files changed, 6 insertions, 1 deletions
diff --git a/src/core/os_jupe.c b/src/core/os_jupe.c
index f25977f5e..2b6146d64 100644
--- a/src/core/os_jupe.c
+++ b/src/core/os_jupe.c
@@ -74,8 +74,11 @@ int do_jupe(User * u)
if (!jserver) {
syntax_error(s_OperServ, u, "JUPE", OPER_JUPE_SYNTAX);
} else {
+ 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 {
anope_cmd_jupe(jserver, u->nick, reason);
diff --git a/src/servers.c b/src/servers.c
index 08391e823..8aa5b2a12 100644
--- a/src/servers.c
+++ b/src/servers.c
@@ -155,8 +155,10 @@ Server *new_server(Server * uplink, const char *name, const char *desc,
uplink->links = serv;
}
/* Check if this is our uplink server */
- if ((uplink == me_server) && !(flags & SERVER_JUPED))
+ if ((uplink == me_server) && !(flags & SERVER_JUPED)) {
serv_uplink = serv;
+ serv->flags |= SERVER_ISUPLINK;
+ }
/* Write the StartGlobal (to non-juped servers) */
if (GlobalOnCycle && GlobalOnCycleUP && !(flags & SERVER_JUPED))