summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2008-04-06 21:50:03 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2008-04-06 21:50:03 +0000
commit67445d0e66bb04e26e25a381510f2114a24a089f (patch)
treeb818f2e1acb2dc3e86f6bd326751940cd9027bc1
parentb5502c9aaf984dd8de34282b2f3e778e1d4ffec4 (diff)
Remote map only works for opers. Fix problem where only part of the map is shown, and also restrict to opers only so that normal users cant use it to probe network routes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9390 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/modules/m_spanningtree/override_map.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/modules/m_spanningtree/override_map.cpp b/src/modules/m_spanningtree/override_map.cpp
index 7963b45da..495b810f7 100644
--- a/src/modules/m_spanningtree/override_map.cpp
+++ b/src/modules/m_spanningtree/override_map.cpp
@@ -92,16 +92,16 @@ void ModuleSpanningTree::ShowMap(TreeServer* Current, User* user, int depth, cha
ServerInstance->Logs->Log("map",DEBUG,"Hidden? %d HideULines? %d GetName %s", Current->GetChild(q)->Hidden, Utils->HideULines, Current->GetChild(q)->GetName().c_str());
if ((Current->GetChild(q)->Hidden) || ((Utils->HideULines) && (ServerInstance->ULine(Current->GetChild(q)->GetName().c_str()))))
{
- if (*user->oper)
+ if (*user->oper || !IS_LOCAL(user))
{
- ShowMap(Current->GetChild(q),user,(Utils->FlatLinks && (!*user->oper)) ? depth : depth+2,matrix,totusers,totservers);
+ ShowMap(Current->GetChild(q),user,(Utils->FlatLinks && (!*user->oper || !IS_LOCAL(user))) ? depth : depth+2,matrix,totusers,totservers);
ServerInstance->Logs->Log("map",DEBUG,"Show to oper");
}
ServerInstance->Logs->Log("map",DEBUG,"Fall through");
}
else
{
- ShowMap(Current->GetChild(q),user,(Utils->FlatLinks && (!*user->oper)) ? depth : depth+2,matrix,totusers,totservers);
+ ShowMap(Current->GetChild(q),user,(Utils->FlatLinks && (!*user->oper || !IS_LOCAL(user))) ? depth : depth+2,matrix,totusers,totservers);
ServerInstance->Logs->Log("map",DEBUG,"Show to non oper");
}
}
@@ -121,7 +121,7 @@ void ModuleSpanningTree::ShowMap(TreeServer* Current, User* user, int depth, cha
int ModuleSpanningTree::HandleMap(const char* const* parameters, int pcnt, User* user)
{
ServerInstance->Logs->Log("map",DEBUG,"HandleMap");
- if (pcnt > 0)
+ if ((pcnt > 0) && (IS_OPER(user)))
{
ServerInstance->Logs->Log("remotemap", DEBUG, "remote map request for %s", parameters[0]);