[Pkg-voip-commits] r9978 - in /gnugk/trunk/debian: changelog patches/ patches/gnugk-fix-cve-2012-3534.diff patches/series

msp at alioth.debian.org msp at alioth.debian.org
Sat Sep 29 22:59:56 UTC 2012


Author: msp
Date: Sat Sep 29 22:59:56 2012
New Revision: 9978

URL: http://svn.debian.org/wsvn/pkg-voip/?sc=1&rev=9978
Log:
* Fix "CVE-2012-3534" Added gnugk-fix-cve-2012-3534.diff (Closes: #685969)
* Urgency medium for RC bug

Added:
    gnugk/trunk/debian/patches/
    gnugk/trunk/debian/patches/gnugk-fix-cve-2012-3534.diff
    gnugk/trunk/debian/patches/series
Modified:
    gnugk/trunk/debian/changelog

Modified: gnugk/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-voip/gnugk/trunk/debian/changelog?rev=9978&op=diff
==============================================================================
--- gnugk/trunk/debian/changelog (original)
+++ gnugk/trunk/debian/changelog Sat Sep 29 22:59:56 2012
@@ -1,3 +1,10 @@
+gnugk (2:3.0.2-2) unstable; urgency=medium
+
+  * Fix "CVE-2012-3534" Added gnugk-fix-cve-2012-3534.diff (Closes: #685969)
+  * Urgency medium for RC bug
+
+ -- Mark Purcell <msp at debian.org>  Sun, 30 Sep 2012 08:59:11 +1000
+
 gnugk (2:3.0.2-1) unstable; urgency=low
 
   * New upstream release

Added: gnugk/trunk/debian/patches/gnugk-fix-cve-2012-3534.diff
URL: http://svn.debian.org/wsvn/pkg-voip/gnugk/trunk/debian/patches/gnugk-fix-cve-2012-3534.diff?rev=9978&op=file
==============================================================================
--- gnugk/trunk/debian/patches/gnugk-fix-cve-2012-3534.diff (added)
+++ gnugk/trunk/debian/patches/gnugk-fix-cve-2012-3534.diff Sat Sep 29 22:59:56 2012
@@ -1,0 +1,100 @@
+http://sourceforge.net/mailarchive/forum.php?thread_name=From_willamowius%40users.sourceforge.net_Wed_Aug_15_07%3A08%3A15_2012&forum_name=openh323gk-cvs
+Modified Files:
+	changes.txt GkStatus.cxx GkStatus.h 
+Log Message:
+new switch [Gatekeeper::Main] MaxStatusClients= to limit number of status port connections
+
+
+Index: gnugk-3.0.2/GkStatus.cxx
+===================================================================
+--- gnugk-3.0.2.orig/GkStatus.cxx	2011-11-28 23:33:40.000000000 +1100
++++ gnugk-3.0.2/GkStatus.cxx	2012-09-30 08:40:52.000000000 +1000
+@@ -107,8 +107,6 @@
+ 		int instanceNo
+ 		);
+ 		
+-	virtual ~StatusClient() {}
+-
+ 	virtual bool ReadCommand(
+ 		/// command that has been read (if ReadCommand succeeded)
+ 		PString& cmd,
+@@ -817,12 +815,13 @@
+ #endif
+ 
+ 	SetName("GkStatus");
++	m_statusClients = 0;
++	m_maxStatusClients = GkConfig()->GetInteger("MaxStatusClients", 20);
+ 	Execute();
+ }
+ 
+ void GkStatus::AuthenticateClient(StatusClient* newClient)
+ {
+-	if (newClient->Authenticate()) {
+ 		newClient->SetTraceLevel(GkConfig()->GetInteger("StatusTraceLevel", MAX_STATUS_TRACE_LEVEL));
+ 		PTRACE(1, "STATUS\tNew client authenticated successfully: " << newClient->WhoAmI()
+ 			<< ", login: " << newClient->GetUser()
+@@ -832,9 +831,6 @@
+ 		newClient->Flush();
+ 		AddSocket(newClient);
+ 	} else {
+-		PTRACE(3, "STATUS\tNew client rejected: " << newClient->WhoAmI()
+-			<< ", login: " << newClient->GetUser()
+-			);
+ 		newClient->WriteString("\r\nAccess forbidden!\r\n");
+ 		// newClient->Flush();	// dont' flush when access is denied to avoid blocking
+ 		delete newClient;
+@@ -1127,6 +1123,11 @@
+ 	m_isFilteringActive = Toolkit::AsBool(GkConfig()->GetString(filteringsec, "Enable", "0"));
+ }
+ 
++StatusClient::~StatusClient()
++{
++	GkStatus::Instance()->StatusClientDeleted();
++}
++ 
+ bool StatusClient::ReadCommand(
+ 	/// command that has been read (if ReadCommand succeeded)
+ 	PString& cmd,
+Index: gnugk-3.0.2/GkStatus.h
+===================================================================
+--- gnugk-3.0.2.orig/GkStatus.h	2011-11-28 23:33:40.000000000 +1100
++++ gnugk-3.0.2/GkStatus.h	2012-09-30 08:36:31.000000000 +1000
+@@ -79,6 +79,10 @@
+ 		StatusClient* requestingClient
+ 		);
+ 
++	/** Notification form the status client that it has been deleted
++	*/
++	void StatusClientDeleted() { --m_statusClients; }
++ 
+ 	/** Print a list of all connected status interface users
+ 		to the requesting client.
+ 	*/
+@@ -166,7 +170,6 @@
+ 		PStringArray& args
+ 		);
+ 
+-private:
+ 	// override from class RegularJob
+ 	virtual void OnStart();
+ 
+@@ -176,6 +179,9 @@
+ 
+ 	/// map for fast (and easy) 'parsing' the commands from the user
+ 	std::map<PString, int> m_commands;
++
++	unsigned m_statusClients;
++	unsigned m_maxStatusClients;
+ };
+ 
+ /** Listen for incoming connections to the status interface port
+Index: gnugk-3.0.2/changes.txt
+===================================================================
+--- gnugk-3.0.2.orig/changes.txt	2011-12-23 02:29:17.000000000 +1100
++++ gnugk-3.0.2/changes.txt	2012-09-30 08:41:30.000000000 +1000
+@@ -1,3 +1,5 @@
++- new switch [Gatekeeper::Main] MaxStatusClients= to limit number of status port connections (default: 20)
++
+ Changes from 2.3.5 to 3.0
+ =========================
+ - BUGFIX(RasTbl.cxx) fix possibility of stale calls when using failover

Added: gnugk/trunk/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-voip/gnugk/trunk/debian/patches/series?rev=9978&op=file
==============================================================================
--- gnugk/trunk/debian/patches/series (added)
+++ gnugk/trunk/debian/patches/series Sat Sep 29 22:59:56 2012
@@ -1,0 +1,1 @@
+#gnugk-fix-cve-2012-3534.diff




More information about the Pkg-voip-commits mailing list