From 4759c75a2f8c15546b30b3080092352d15ad9168 Mon Sep 17 00:00:00 2001 From: cflakes Date: Sun, 7 Feb 2010 17:45:20 +0000 Subject: [PATCH] Added missing IsAdmin checks to the admin module. DenyLoadMod and DenySetVHost are now properly adhered to. git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1743 726aef4b-f618-498e-8847-2d620e286838 --- modules/admin.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/modules/admin.cpp b/modules/admin.cpp index 9a6f275d..376c8309 100644 --- a/modules/admin.cpp +++ b/modules/admin.cpp @@ -197,8 +197,12 @@ class CAdminMod : public CModule { PutModule("RealName = " + value); } else if (var == "vhost") { - user->SetVHost(value); - PutModule("VHost = " + value); + if(!user->DenySetVHost() || m_pUser->IsAdmin()) { + user->SetVHost(value); + PutModule("VHost = " + value); + } else { + PutModule("Access denied!"); + } } else if (var == "multiclients") { bool b = value.ToBool(); @@ -216,9 +220,13 @@ class CAdminMod : public CModule { PutModule("UseClientIP = " + CString(b)); } else if (var == "denyloadmod") { - bool b = value.ToBool(); - user->SetDenyLoadMod(b); - PutModule("DenyLoadMod = " + CString(b)); + if(m_pUser->IsAdmin()) { + bool b = value.ToBool(); + user->SetDenyLoadMod(b); + PutModule("DenyLoadMod = " + CString(b)); + } else { + PutModule("Access denied!"); + } } else if (var == "defaultchanmodes") { user->SetDefaultChanModes(value);