diff options
author | sjaz <sjaz@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-05-08 15:10:05 +0000 |
---|---|---|
committer | sjaz <sjaz@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-05-08 15:10:05 +0000 |
commit | 9210aae6f994bc9511843fd7e9c94763b930d37b (patch) | |
tree | 1504b8e6ef854f076fc4e0b1c758420924753d60 /src | |
parent | d4b6968108f8582b293ff58b4657a3ccf075c7b0 (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.c | 3 | ||||
-rw-r--r-- | src/servers.c | 4 |
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)) |