Remove flawed Add/Del/List/BindHost(s) (close #983)

This commit is contained in:
J-P Nurmi
2015-08-17 15:22:20 +02:00
parent 6bfe7d840f
commit d19a040f2d
8 changed files with 28 additions and 314 deletions
-35
View File
@@ -290,23 +290,6 @@ class CAdminMod : public CModule {
return;
}
const VCString& vsHosts = CZNC::Get().GetBindHosts();
if (!GetUser()->IsAdmin() && !vsHosts.empty()) {
bool bFound = false;
for (const CString& sHost : vsHosts) {
if (sValue.Equals(sHost)) {
bFound = true;
break;
}
}
if (!bFound) {
PutModule("You may not use this bind host. See /msg " + GetUser()->GetStatusPrefix() + "status ListBindHosts for a list");
return;
}
}
pUser->SetBindHost(sValue);
PutModule("BindHost = " + sValue);
} else {
@@ -563,24 +546,6 @@ class CAdminMod : public CModule {
return;
}
const VCString& vsHosts = CZNC::Get().GetBindHosts();
if (!GetUser()->IsAdmin() && !vsHosts.empty()) {
VCString::const_iterator it;
bool bFound = false;
for (const CString& sHost : vsHosts) {
if (sValue.Equals(sHost)) {
bFound = true;
break;
}
}
if (!bFound) {
PutModule("You may not use this bind host. See /msg " + GetUser()->GetStatusPrefix() + "status ListBindHosts for a list");
return;
}
}
pNetwork->SetBindHost(sValue);
PutModule("BindHost = " + sValue);
} else {
@@ -48,14 +48,7 @@
<? IF BindHostEdit ?>
<div class="subsection">
<div class="inputlabel">BindHost:</div>
<? IF BindHostLoop ?>
<select name="bindhost">
<option value="">- Default -</option>
<? LOOP BindHostLoop ?><option value="<? VAR BindHost ?>"<? IF Checked ?> selected="selected"<? ENDIF ?>><? VAR BindHost ?></option><? ENDLOOP ?>
</select>
<? ELSE ?>
<input type="text" name="bindhost" value="<? VAR BindHost ?>"/>
<? ENDIF ?>
<input type="text" name="bindhost" value="<? VAR BindHost ?>"/>
</div>
<div style="clear: both;"></div>
<? ENDIF ?>
+2 -16
View File
@@ -87,27 +87,13 @@
<? IF BindHostEdit ?>
<div class="subsection">
<div class="inputlabel">BindHost:</div>
<? IF BindHostLoop ?>
<select name="bindhost">
<option value="">- Default -</option>
<? LOOP BindHostLoop ?><option value="<? VAR BindHost ?>"<? IF Checked ?> selected="selected"<? ENDIF ?>><? VAR BindHost ?></option><? ENDLOOP ?>
</select>
<? ELSE ?>
<input type="text" name="bindhost" value="<? VAR BindHost ?>"/>
<? ENDIF ?>
<input type="text" name="bindhost" value="<? VAR BindHost ?>"/>
</div>
<div style="clear: both;"></div>
<div class="subsection">
<div class="inputlabel">DCCBindHost:</div>
<? IF DCCBindHostLoop ?>
<select name="dccbindhost">
<option value="">- Default -</option>
<? LOOP DCCBindHostLoop ?><option value="<? VAR BindHost ?>"<? IF Checked ?> selected="selected"<? ENDIF ?>><? VAR BindHost ?></option><? ENDLOOP ?>
</select>
<? ELSE ?>
<input type="text" name="dccbindhost" value="<? VAR DCCBindHost ?>"/>
<? ENDIF ?>
<input type="text" name="dccbindhost" value="<? VAR DCCBindHost ?>"/>
</div>
<div style="clear: both;"></div>
<? ENDIF ?>
-8
View File
@@ -155,14 +155,6 @@
<br /><span class="info">"Message of the Day", sent to all ZNC users on connect.</span>
</div>
<div class="subsection twothird">
<div class="inputlabel">BindHosts:</div>
<textarea name="bindhosts" cols="70" rows="8"><? LOOP BindHostLoop ?><? VAR BindHost ?>
<? ENDLOOP ?>
</textarea>
<br /><span class="info">One host name or IP entry per line.</span>
</div>
</div>
</div>
</div>
+6 -117
View File
@@ -230,28 +230,6 @@ public:
if (!sArg2.empty()) {
pNewUser->SetDCCBindHost(sArg2);
}
const VCString& vsHosts = CZNC::Get().GetBindHosts();
if (!spSession->IsAdmin() && !vsHosts.empty()) {
bool bFound = false;
bool bFoundDCC = false;
for (const CString& sHost : vsHosts) {
if (sArg.Equals(sHost)) {
bFound = true;
}
if (sArg2.Equals(sHost)) {
bFoundDCC = true;
}
}
if (!bFound) {
pNewUser->SetBindHost(pUser ? pUser->GetBindHost() : "");
}
if (!bFoundDCC) {
pNewUser->SetDCCBindHost(pUser ? pUser->GetDCCBindHost() : "");
}
}
} else if (pUser){
pNewUser->SetBindHost(pUser->GetBindHost());
pNewUser->SetDCCBindHost(pUser->GetDCCBindHost());
@@ -810,31 +788,8 @@ public:
// To change BindHosts be admin or don't have DenySetBindHost
if (spSession->IsAdmin() || !spSession->GetUser()->DenySetBindHost()) {
Tmpl["BindHostEdit"] = "true";
const VCString& vsBindHosts = CZNC::Get().GetBindHosts();
if (vsBindHosts.empty()) {
if (pNetwork) {
Tmpl["BindHost"] = pNetwork->GetBindHost();
}
} else {
bool bFoundBindHost = false;
for (const CString& sBindHost : vsBindHosts) {
CTemplate& l = Tmpl.AddRow("BindHostLoop");
l["BindHost"] = sBindHost;
if (pNetwork && pNetwork->GetBindHost() == sBindHost) {
l["Checked"] = "true";
bFoundBindHost = true;
}
}
// If our current bindhost is not in the global list...
if (pNetwork && !bFoundBindHost && !pNetwork->GetBindHost().empty()) {
CTemplate& l = Tmpl.AddRow("BindHostLoop");
l["BindHost"] = pNetwork->GetBindHost();
l["Checked"] = "true";
}
if (pNetwork) {
Tmpl["BindHost"] = pNetwork->GetBindHost();
}
}
@@ -990,23 +945,7 @@ public:
sArg = WebSock.GetParam("bindhost");
// To change BindHosts be admin or don't have DenySetBindHost
if (spSession->IsAdmin() || !spSession->GetUser()->DenySetBindHost()) {
CString sHost = WebSock.GetParam("bindhost");
const VCString& vsHosts = CZNC::Get().GetBindHosts();
if (!spSession->IsAdmin() && !vsHosts.empty()) {
bool bFound = false;
for (const CString& s : vsHosts) {
if (sHost.Equals(s)) {
bFound = true;
break;
}
}
if (!bFound) {
sHost = pNetwork->GetBindHost();
}
}
pNetwork->SetBindHost(sHost);
pNetwork->SetBindHost(WebSock.GetParam("bindhost"));
}
if (WebSock.GetParam("floodprotection").ToBool()) {
@@ -1281,46 +1220,9 @@ public:
// To change BindHosts be admin or don't have DenySetBindHost
if (spSession->IsAdmin() || !spSession->GetUser()->DenySetBindHost()) {
Tmpl["BindHostEdit"] = "true";
const VCString& vsBindHosts = CZNC::Get().GetBindHosts();
if (vsBindHosts.empty()) {
if (pUser) {
Tmpl["BindHost"] = pUser->GetBindHost();
Tmpl["DCCBindHost"] = pUser->GetDCCBindHost();
}
} else {
bool bFoundBindHost = false;
bool bFoundDCCBindHost = false;
for (const CString& sBindHost : vsBindHosts) {
CTemplate& l = Tmpl.AddRow("BindHostLoop");
CTemplate& k = Tmpl.AddRow("DCCBindHostLoop");
l["BindHost"] = sBindHost;
k["BindHost"] = sBindHost;
if (pUser && pUser->GetBindHost() == sBindHost) {
l["Checked"] = "true";
bFoundBindHost = true;
}
if (pUser && pUser->GetDCCBindHost() == sBindHost) {
k["Checked"] = "true";
bFoundDCCBindHost = true;
}
}
// If our current bindhost is not in the global list...
if (pUser && !bFoundBindHost && !pUser->GetBindHost().empty()) {
CTemplate& l = Tmpl.AddRow("BindHostLoop");
l["BindHost"] = pUser->GetBindHost();
l["Checked"] = "true";
}
if (pUser && !bFoundDCCBindHost && !pUser->GetDCCBindHost().empty()) {
CTemplate& l = Tmpl.AddRow("DCCBindHostLoop");
l["BindHost"] = pUser->GetDCCBindHost();
l["Checked"] = "true";
}
if (pUser) {
Tmpl["BindHost"] = pUser->GetBindHost();
Tmpl["DCCBindHost"] = pUser->GetDCCBindHost();
}
}
@@ -1696,12 +1598,6 @@ public:
Tmpl["ProtectWebSessions"] = CString(CZNC::Get().GetProtectWebSessions());
Tmpl["HideVersion"] = CString(CZNC::Get().GetHideVersion());
const VCString& vsBindHosts = CZNC::Get().GetBindHosts();
for (const CString& sHost : vsBindHosts) {
CTemplate& l = Tmpl.AddRow("BindHostLoop");
l["BindHost"] = sHost;
}
const VCString& vsMotd = CZNC::Get().GetMotd();
for (const CString& sMotd : vsMotd) {
CTemplate& l = Tmpl.AddRow("MOTDLoop");
@@ -1834,13 +1730,6 @@ public:
CZNC::Get().AddMotd(sMotd.TrimRight_n());
}
WebSock.GetRawParam("bindhosts").Split("\n", vsArgs);
CZNC::Get().ClearBindHosts();
for (const CString& sHost : vsArgs) {
CZNC::Get().AddBindHost(sHost.Trim_n());
}
CZNC::Get().SetSkinName(WebSock.GetParam("skin"));
set<CString> ssArgs;