summaryrefslogtreecommitdiff
path: root/src
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 /src
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
Diffstat (limited to 'src')
-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]);