[arch-commits] Commit in znc/repos (2 files)
Sébastien Luttringer
seblu at nymeria.archlinux.org
Fri May 9 01:08:56 UTC 2014
Date: Friday, May 9, 2014 @ 03:08:56
Author: seblu
Revision: 110877
archrelease: copy trunk to community-i686, community-x86_64
Deleted:
znc/repos/community-i686/01-sec-correctly-handle-channel-names.patch
znc/repos/community-x86_64/01-sec-correctly-handle-channel-names.patch
--------------------------------------------------------------+
community-i686/01-sec-correctly-handle-channel-names.patch | 72 ----------
community-x86_64/01-sec-correctly-handle-channel-names.patch | 72 ----------
2 files changed, 144 deletions(-)
Deleted: community-i686/01-sec-correctly-handle-channel-names.patch
===================================================================
--- community-i686/01-sec-correctly-handle-channel-names.patch 2014-05-09 01:08:10 UTC (rev 110876)
+++ community-i686/01-sec-correctly-handle-channel-names.patch 2014-05-09 01:08:56 UTC (rev 110877)
@@ -1,72 +0,0 @@
-From 8756be513ab6663dcd64087006b257ff34e8e487 Mon Sep 17 00:00:00 2001
-From: Uli Schlachter <psychon at znc.in>
-Date: Sun, 13 Apr 2014 20:36:55 +0200
-Subject: [PATCH] webadmin/add channel: Correctly handle channel names
-
-The CChan constructor makes sure that the channel name begins with a valid
-channel prefix. Thus, this could change the name of the resulting channel.
-
-When you edited an irc network which already had a channel "#foo", were
-connected to IRC (so ZNC knows which prefixes are valid) and added a channel
-"foo", this would lead to a problem:
-
-Webadmin checks and sees that there is no channel "foo" yet. Webadmin creates a
-new CChan instance for "foo". The CChan constructor notices that "f" is not a
-valid channel prefix and instead calls itself "#foo". Then,
-CIRCNetwork::AddChan() would see that this channel already exists, delete the
-given channel and return false.
-
-However, webadmin didn't check this result and would continue changing settings
-on an already destroyed CChan instance.
-
-Fix this by checking if the channel exists after CChan had its chance to mess
-with the channel name. Also handle failures from CIRCNetwork::AddChan().
-
-Fixes #528.
-
-Signed-off-by: Uli Schlachter <psychon at znc.in>
-(cherry picked from commit 5e6e3be32acfeadeaf1fb3bb17bada08aec6432f)
----
- modules/webadmin.cpp | 16 +++++++++++-----
- 1 file changed, 11 insertions(+), 5 deletions(-)
-
-diff --git a/modules/webadmin.cpp b/modules/webadmin.cpp
-index ec67508..2a03367 100644
---- a/modules/webadmin.cpp
-+++ b/modules/webadmin.cpp
-@@ -667,13 +667,19 @@ class CWebAdminMod : public CModule {
- return true;
- }
-
-- if (pNetwork->FindChan(sChanName.Token(0))) {
-- WebSock.PrintErrorPage("Channel [" + sChanName.Token(0) + "] already exists");
-+ // This could change the channel name and e.g. add a "#" prefix
-+ pChan = new CChan(sChanName, pNetwork, true);
-+
-+ if (pNetwork->FindChan(pChan->GetName())) {
-+ WebSock.PrintErrorPage("Channel [" + pChan->GetName() + "] already exists");
-+ delete pChan;
- return true;
- }
-
-- pChan = new CChan(sChanName, pNetwork, true);
-- pNetwork->AddChan(pChan);
-+ if (!pNetwork->AddChan(pChan)) {
-+ WebSock.PrintErrorPage("Could not add channel [" + pChan->GetName() + "]");
-+ return true;
-+ }
- }
-
- pChan->SetBufferCount(WebSock.GetParam("buffercount").ToUInt(), spSession->IsAdmin());
-@@ -699,7 +705,7 @@ class CWebAdminMod : public CModule {
-
- CTemplate TmplMod;
- TmplMod["User"] = pUser->GetUserName();
-- TmplMod["ChanName"] = sChanName;
-+ TmplMod["ChanName"] = pChan->GetName();
- TmplMod["WebadminAction"] = "change";
- FOR_EACH_MODULE(it, pNetwork) {
- (*it)->OnEmbeddedWebRequest(WebSock, "webadmin/channel", TmplMod);
---
-1.9.1
-
Deleted: community-x86_64/01-sec-correctly-handle-channel-names.patch
===================================================================
--- community-x86_64/01-sec-correctly-handle-channel-names.patch 2014-05-09 01:08:10 UTC (rev 110876)
+++ community-x86_64/01-sec-correctly-handle-channel-names.patch 2014-05-09 01:08:56 UTC (rev 110877)
@@ -1,72 +0,0 @@
-From 8756be513ab6663dcd64087006b257ff34e8e487 Mon Sep 17 00:00:00 2001
-From: Uli Schlachter <psychon at znc.in>
-Date: Sun, 13 Apr 2014 20:36:55 +0200
-Subject: [PATCH] webadmin/add channel: Correctly handle channel names
-
-The CChan constructor makes sure that the channel name begins with a valid
-channel prefix. Thus, this could change the name of the resulting channel.
-
-When you edited an irc network which already had a channel "#foo", were
-connected to IRC (so ZNC knows which prefixes are valid) and added a channel
-"foo", this would lead to a problem:
-
-Webadmin checks and sees that there is no channel "foo" yet. Webadmin creates a
-new CChan instance for "foo". The CChan constructor notices that "f" is not a
-valid channel prefix and instead calls itself "#foo". Then,
-CIRCNetwork::AddChan() would see that this channel already exists, delete the
-given channel and return false.
-
-However, webadmin didn't check this result and would continue changing settings
-on an already destroyed CChan instance.
-
-Fix this by checking if the channel exists after CChan had its chance to mess
-with the channel name. Also handle failures from CIRCNetwork::AddChan().
-
-Fixes #528.
-
-Signed-off-by: Uli Schlachter <psychon at znc.in>
-(cherry picked from commit 5e6e3be32acfeadeaf1fb3bb17bada08aec6432f)
----
- modules/webadmin.cpp | 16 +++++++++++-----
- 1 file changed, 11 insertions(+), 5 deletions(-)
-
-diff --git a/modules/webadmin.cpp b/modules/webadmin.cpp
-index ec67508..2a03367 100644
---- a/modules/webadmin.cpp
-+++ b/modules/webadmin.cpp
-@@ -667,13 +667,19 @@ class CWebAdminMod : public CModule {
- return true;
- }
-
-- if (pNetwork->FindChan(sChanName.Token(0))) {
-- WebSock.PrintErrorPage("Channel [" + sChanName.Token(0) + "] already exists");
-+ // This could change the channel name and e.g. add a "#" prefix
-+ pChan = new CChan(sChanName, pNetwork, true);
-+
-+ if (pNetwork->FindChan(pChan->GetName())) {
-+ WebSock.PrintErrorPage("Channel [" + pChan->GetName() + "] already exists");
-+ delete pChan;
- return true;
- }
-
-- pChan = new CChan(sChanName, pNetwork, true);
-- pNetwork->AddChan(pChan);
-+ if (!pNetwork->AddChan(pChan)) {
-+ WebSock.PrintErrorPage("Could not add channel [" + pChan->GetName() + "]");
-+ return true;
-+ }
- }
-
- pChan->SetBufferCount(WebSock.GetParam("buffercount").ToUInt(), spSession->IsAdmin());
-@@ -699,7 +705,7 @@ class CWebAdminMod : public CModule {
-
- CTemplate TmplMod;
- TmplMod["User"] = pUser->GetUserName();
-- TmplMod["ChanName"] = sChanName;
-+ TmplMod["ChanName"] = pChan->GetName();
- TmplMod["WebadminAction"] = "change";
- FOR_EACH_MODULE(it, pNetwork) {
- (*it)->OnEmbeddedWebRequest(WebSock, "webadmin/channel", TmplMod);
---
-1.9.1
-
More information about the arch-commits
mailing list