[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