summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChí-Thanh Christopher Nguyễn <chithanh@gentoo.org>2013-03-06 02:09:40 +0000
committerChí-Thanh Christopher Nguyễn <chithanh@gentoo.org>2013-03-06 02:09:40 +0000
commit97bcfef2f11e41bb6036387610c9bd6782aab0f6 (patch)
treed31d111488f1f38378bd085e66c0d3ad0f286e4a /net-voip
parentversion bump (diff)
downloadgentoo-2-97bcfef2f11e41bb6036387610c9bd6782aab0f6.tar.gz
gentoo-2-97bcfef2f11e41bb6036387610c9bd6782aab0f6.tar.bz2
gentoo-2-97bcfef2f11e41bb6036387610c9bd6782aab0f6.zip
Version bump. Fixes bug #290067 and security bug #432756.
(Portage version: 2.1.11.50/cvs/Linux x86_64, unsigned Manifest commit)
Diffstat (limited to 'net-voip')
-rw-r--r--net-voip/gnugk/ChangeLog13
-rw-r--r--net-voip/gnugk/files/gnugk-3.2.2-h323plus-buildopts.patch53
-rw-r--r--net-voip/gnugk/files/gnugk-3.2.2-lua.cxx-toolkit_h.patch11
-rw-r--r--net-voip/gnugk/files/gnugk-3.2.2-ptrace.patch421
-rw-r--r--net-voip/gnugk/gnugk-2.2.5.ebuild49
-rw-r--r--net-voip/gnugk/gnugk-3.2.2.ebuild125
-rw-r--r--net-voip/gnugk/metadata.xml3
7 files changed, 623 insertions, 52 deletions
diff --git a/net-voip/gnugk/ChangeLog b/net-voip/gnugk/ChangeLog
index 8e32ab777c6b..bd7383b5bd1b 100644
--- a/net-voip/gnugk/ChangeLog
+++ b/net-voip/gnugk/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for net-voip/gnugk
-# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-voip/gnugk/ChangeLog,v 1.9 2010/06/17 20:58:55 patrick Exp $
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-voip/gnugk/ChangeLog,v 1.10 2013/03/06 02:09:40 chithanh Exp $
+
+*gnugk-3.2.2 (06 Mar 2013)
+
+ 06 Mar 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
+ +files/gnugk-3.2.2-h323plus-buildopts.patch,
+ +files/gnugk-3.2.2-lua.cxx-toolkit_h.patch, +files/gnugk-3.2.2-ptrace.patch,
+ +gnugk-3.2.2.ebuild, -gnugk-2.2.5.ebuild, metadata.xml:
+ Version bump. Fixes bug #290067 and security bug #432756.
17 Jun 2010; Patrick Lauer <patrick@gentoo.org> gnugk-2.2.5.ebuild,
gnugk-2.2.7.ebuild, gnugk-2.2.8.ebuild:
@@ -85,4 +93,3 @@
metadata.xml, files/gnugk-2.0.6-gentoo.diff, files/gnugk.confd,
files/gnugk.rc6:
initial import.
-
diff --git a/net-voip/gnugk/files/gnugk-3.2.2-h323plus-buildopts.patch b/net-voip/gnugk/files/gnugk-3.2.2-h323plus-buildopts.patch
new file mode 100644
index 000000000000..3a3088e47a07
--- /dev/null
+++ b/net-voip/gnugk/files/gnugk-3.2.2-h323plus-buildopts.patch
@@ -0,0 +1,53 @@
+diff -ur a/configure.in b/configure.in
+--- a/configure.in 2013-01-14 23:56:02.000000000 +0100
++++ b/configure.in 2013-03-05 21:24:02.639204755 +0100
+@@ -203,16 +203,16 @@
+ AC_CHECK_FILE(${OPENH323MAKEDIR}/openh323buildopts.h, HAS_OPENH323_VERSIONFILE=1)
+ if test "${HAS_OPENH323_VERSIONFILE:-unset}" != "unset"; then
+ OPENH323_VERSION_FILE=${OPENH323MAKEDIR}/openh323buildopts.h
+- OPENH323_MAJOR_VERSION=`cat ${OPENH323_VERSION_FILE} | grep OPENH323_MAJOR | cut -f3 -d' '`
+- OPENH323_MINOR_VERSION=`cat ${OPENH323_VERSION_FILE} | grep OPENH323_MINOR | cut -f3 -d' '`
+- OPENH323_BUILD_NUMBER=`cat ${OPENH323_VERSION_FILE} | grep OPENH323_BUILD | cut -f3 -d' '`
++ OPENH323_MAJOR_VERSION=`cat ${OPENH323_VERSION_FILE} | grep -m1 OPENH323_MAJOR | cut -f3 -d' '`
++ OPENH323_MINOR_VERSION=`cat ${OPENH323_VERSION_FILE} | grep -m1 OPENH323_MINOR | cut -f3 -d' '`
++ OPENH323_BUILD_NUMBER=`cat ${OPENH323_VERSION_FILE} | grep -m1 OPENH323_BUILD | cut -f3 -d' '`
+ else
+ AC_CHECK_FILE(${OPENH323MAKEDIR}/../../include/openh323/openh323buildopts.h, HAS_OPENH323_VERSIONFILE=1)
+ if test "${HAS_OPENH323_VERSIONFILE:-unset}" != "unset"; then
+ OPENH323_VERSION_FILE=${OPENH323MAKEDIR}/../../include/openh323/openh323buildopts.h
+- OPENH323_MAJOR_VERSION=`cat ${OPENH323_VERSION_FILE} | grep OPENH323_MAJOR | cut -f2 -d' '`
+- OPENH323_MINOR_VERSION=`cat ${OPENH323_VERSION_FILE} | grep OPENH323_MINOR | cut -f2 -d' '`
+- OPENH323_BUILD_NUMBER=`cat ${OPENH323_VERSION_FILE} | grep "OPENH323_BUILD " | cut -f2 -d' '`
++ OPENH323_MAJOR_VERSION=`cat ${OPENH323_VERSION_FILE} | grep -m1 OPENH323_MAJOR | cut -f3 -d' '`
++ OPENH323_MINOR_VERSION=`cat ${OPENH323_VERSION_FILE} | grep -m1 OPENH323_MINOR | cut -f3 -d' '`
++ OPENH323_BUILD_NUMBER=`cat ${OPENH323_VERSION_FILE} | grep -m1 "OPENH323_BUILD " | cut -f3 -d' '`
+ fi
+ fi
+ fi
+@@ -269,7 +269,7 @@
+ [ h46017="${enableval}" ], [h46017="yes"]
+ )
+
+-H460SUPPORT=`cat ${OPENH323DIR}/include/openh323buildopts.h | grep 'define H323_H460'`
++H460SUPPORT=`cat ${OPENH323DIR}/include/{,openh323/}openh323buildopts.h | grep 'define H323_H460'`
+ if test "${H460SUPPORT:-unset}" = "unset" ; then
+ if test "x${h46017}" != "xno" ; then
+ AC_MSG_RESULT(No H.460 support available)
+@@ -301,7 +301,7 @@
+ [ h46018="${enableval}" ], [h46018="no"]
+ )
+
+-H460SUPPORT=`cat ${OPENH323DIR}/include/openh323buildopts.h | grep 'define H323_H460'`
++H460SUPPORT=`cat ${OPENH323DIR}/include/{,openh323/}openh323buildopts.h | grep 'define H323_H460'`
+ if test "${H460SUPPORT:-unset}" = "unset" ; then
+ if test "x${h46018}" != "xno" ; then
+ AC_MSG_RESULT(No H.460 support available)
+@@ -332,7 +332,7 @@
+ [ h46023="${enableval}" ], [h46023="yes"]
+ )
+
+-H460SUPPORT=`cat ${OPENH323DIR}/include/openh323buildopts.h | grep 'define H323_H460'`
++H460SUPPORT=`cat ${OPENH323DIR}/include/{,openh323/}openh323buildopts.h | grep 'define H323_H460'`
+ if test "${H460SUPPORT:-unset}" = "unset" ; then
+ if test "x${h46023}" != "xno" ; then
+ AC_MSG_RESULT(No H.460 support available)
diff --git a/net-voip/gnugk/files/gnugk-3.2.2-lua.cxx-toolkit_h.patch b/net-voip/gnugk/files/gnugk-3.2.2-lua.cxx-toolkit_h.patch
new file mode 100644
index 000000000000..e803ef09a933
--- /dev/null
+++ b/net-voip/gnugk/files/gnugk-3.2.2-lua.cxx-toolkit_h.patch
@@ -0,0 +1,11 @@
+diff -ur a/lua.cxx b/lua.cxx
+--- a/lua.cxx 2012-12-28 21:35:42.000000000 +0100
++++ b/lua.cxx 2013-03-05 22:08:21.823141158 +0100
+@@ -20,6 +20,7 @@
+ #include "Routing.h"
+ #include "gk_const.h"
+ #include "snmp.h"
++#include "Toolkit.h"
+
+ #include <lua.hpp>
+
diff --git a/net-voip/gnugk/files/gnugk-3.2.2-ptrace.patch b/net-voip/gnugk/files/gnugk-3.2.2-ptrace.patch
new file mode 100644
index 000000000000..897f99f007f8
--- /dev/null
+++ b/net-voip/gnugk/files/gnugk-3.2.2-ptrace.patch
@@ -0,0 +1,421 @@
+diff -ur a/capctrl.cxx b/capctrl.cxx
+--- a/capctrl.cxx 2011-11-28 13:33:41.000000000 +0100
++++ b/capctrl.cxx 2013-03-06 02:53:41.038731734 +0100
+@@ -255,6 +255,7 @@
+ m_cliCallVolumes = cliCallVolumes;
+
+ PTRACE(5, "CAPCTRL\t" << ipRules << " IP rules loaded");
++#if PTRACING
+ if (PTrace::CanTrace(6)) {
+ ostream &strm = PTrace::Begin(6, __FILE__, __LINE__);
+ strm << "Per IP call volume rules:" << endl;
+@@ -264,8 +265,10 @@
+ }
+ PTrace::End(strm);
+ }
++#endif
+
+ PTRACE(5, "CAPCTRL\t" << h323IdRules << " H.323 ID rules loaded");
++#if PTRACING
+ if (PTrace::CanTrace(6)) {
+ ostream &strm = PTrace::Begin(6, __FILE__, __LINE__);
+ strm << "Per H.323 ID call volume rules:" << endl;
+@@ -275,8 +278,10 @@
+ }
+ PTrace::End(strm);
+ }
++#endif
+
+ PTRACE(5, "CAPCTRL\t" << cliRules << " CLI rules loaded");
++#if PTRACING
+ if (PTrace::CanTrace(6)) {
+ ostream &strm = PTrace::Begin(6, __FILE__, __LINE__);
+ strm << "Per CLI call volume rules:" << endl;
+@@ -286,6 +291,7 @@
+ }
+ PTrace::End(strm);
+ }
++#endif
+ }
+
+ PString CapacityControl::PrintRules()
+diff -ur a/clirw.cxx b/clirw.cxx
+--- a/clirw.cxx 2012-05-07 16:18:04.000000000 +0200
++++ b/clirw.cxx 2013-03-06 02:53:41.038731734 +0100
+@@ -456,6 +456,7 @@
+ }
+
+ PTRACE(5, "CLIRW\t" << inboundRules << " inbound rules loaded");
++#if PTRACING
+ if (PTrace::CanTrace(6)) {
+ ostream &strm = PTrace::Begin(6, __FILE__, __LINE__);
+ strm << "Inbound CLI rewrite rules:" << endl;
+@@ -466,8 +467,10 @@
+ }
+ PTrace::End(strm);
+ }
++#endif
+
+ PTRACE(5, "CLIRW\t" << outboundRules << " outbound rules loaded");
++#if PTRACING
+ if (PTrace::CanTrace(6)) {
+ ostream &strm = PTrace::Begin(6, __FILE__, __LINE__);
+ strm << "Outbound CLI rewrite rules:" << endl;
+@@ -480,6 +483,7 @@
+ }
+ PTrace::End(strm);
+ }
++#endif
+
+ m_processSourceAddress = Toolkit::AsBool(
+ cfg->GetString(CLIRewriteSection, ProcessSourceAddress, "1")
+diff -ur a/gkacct.cxx b/gkacct.cxx
+--- a/gkacct.cxx 2012-12-10 20:32:52.000000000 +0100
++++ b/gkacct.cxx 2013-03-06 02:53:41.038731734 +0100
+@@ -919,6 +919,7 @@
+ switch (status)
+ {
+ case GkAcctLogger::Ok:
++#if PTRACING
+ if (PTrace::CanTrace(3)) {
+ ostream& strm = PTrace::Begin(3,__FILE__,__LINE__);
+ strm << "GKACCT\t" << logger->GetName() << " logged event " << evt;
+@@ -926,9 +927,11 @@
+ strm << " for call no. " << call->GetCallNumber();
+ PTrace::End(strm);
+ }
++#endif
+ break;
+
+ default:
++#if PTRACING
+ if (PTrace::CanTrace(3)) {
+ ostream& strm = PTrace::Begin(3, __FILE__, __LINE__);
+ strm << "GKACCT\t" << logger->GetName() << " failed to log event " << evt;
+@@ -937,6 +940,7 @@
+ strm << " for call no. " << call->GetCallNumber();
+ PTrace::End(strm);
+ }
++#endif
+ // required and sufficient rules always determine
+ // status of the request
+ if (logger->GetControlFlag() == GkAcctLogger::Required
+@@ -954,7 +958,8 @@
+ // a last rule determine status of the the request
+ if (finalResult && status != GkAcctLogger::Ok)
+ finalResult = false;
+-
++
++#if PTRACING
+ if (PTrace::CanTrace(2)) {
+ ostream& strm = PTrace::Begin(2, __FILE__, __LINE__);
+ strm << "GKACCT\t" << (finalResult ? "Successfully logged event "
+@@ -965,6 +970,7 @@
+ if (!finalResult)
+ SNMP_TRAP(7, SNMPError, Accounting, "Failed to log event " + evt);
+ }
++#endif
+ return finalResult;
+ }
+
+@@ -987,6 +993,7 @@
+ switch (status)
+ {
+ case GkAcctLogger::Ok:
++#if PTRACING
+ if (PTrace::CanTrace(3)) {
+ ostream& strm = PTrace::Begin(3,__FILE__,__LINE__);
+ strm << "GKACCT\t" << logger->GetName() << " logged event " << evt;
+@@ -994,9 +1001,11 @@
+ strm << " for endpoint " << ep->GetEndpointIdentifier().GetValue();
+ PTrace::End(strm);
+ }
++#endif
+ break;
+
+ default:
++#if PTRACING
+ if (PTrace::CanTrace(3)) {
+ ostream& strm = PTrace::Begin(3, __FILE__, __LINE__);
+ strm << "GKACCT\t" << logger->GetName() << " failed to log event " << evt;
+@@ -1005,6 +1014,7 @@
+ PTrace::End(strm);
+ SNMP_TRAP(7, SNMPError, Accounting, logger->GetName() + " failed to log event " + PString(evt));
+ }
++#endif
+ // required and sufficient rules always determine
+ // status of the request
+ if (logger->GetControlFlag() == GkAcctLogger::Required
+@@ -1023,6 +1033,7 @@
+ if (finalResult && status != GkAcctLogger::Ok)
+ finalResult = false;
+
++#if PTRACING
+ if (PTrace::CanTrace(2)) {
+ ostream& strm = PTrace::Begin(2, __FILE__, __LINE__);
+ strm << "GKACCT\t" << (finalResult ? "Successfully logged event "
+@@ -1033,6 +1044,7 @@
+ if (!finalResult)
+ SNMP_TRAP(7, SNMPError, Accounting, "Failed to log event " + evt);
+ }
++#endif
+ return finalResult;
+ }
+
+diff -ur a/gkauth.cxx b/gkauth.cxx
+--- a/gkauth.cxx 2012-12-03 10:29:52.000000000 +0100
++++ b/gkauth.cxx 2013-03-06 02:53:38.494731795 +0100
+@@ -834,6 +834,7 @@
+ }
+
+ if (mechanisms.GetSize() > 0 && algorithmOIDs.GetSize() > 0) {
++#if PTRACING
+ if (PTrace::CanTrace(4)) {
+ ostream& strm = PTrace::Begin(4,__FILE__,__LINE__);
+ strm <<"GkAuth\tH.235 capabilities selected for GCF:\n";
+@@ -845,6 +846,7 @@
+ strm << "\t\t" << algorithmOIDs[i] << '\n';
+ PTrace::End(strm);
+ }
++#endif
+ #ifdef OpenH323Factory
+ }
+ #else
+diff -ur a/gk.cxx b/gk.cxx
+--- a/gk.cxx 2013-01-04 13:20:20.000000000 +0100
++++ b/gk.cxx 2013-03-06 02:53:38.494731795 +0100
+@@ -1076,9 +1076,11 @@
+ bool Gatekeeper::InitLogging(const PArgList & args)
+ {
+ // Syslog is the default when compiled as service, but we don't want that
++#if PTRACING
+ PTrace::ClearOptions(PTrace::SystemLogStream);
+ PTrace::SetOptions(PTrace::DateAndTime | PTrace::TraceLevel | PTrace::FileAndLine);
+ PTrace::SetLevel(args.GetOptionCount('t'));
++#endif
+ if (args.HasOption('o')) {
+ if (!SetLogFilename(args.GetOptionString('o'))) {
+ cerr << "Warning: could not open the log file \""
+@@ -1563,7 +1565,9 @@
+ EnableLogFileRotation(false);
+ }
+
++#if PTRACING
+ PTrace::SetStream(&cerr);
++#endif
+
+ #ifndef hasDeletingSetStream
+ delete m_logFile;
+@@ -1578,7 +1582,9 @@
+ return false;
+ }
+ m_logFile->SetPosition(0, PFile::End);
++#if PTRACING
+ PTrace::SetStream(m_logFile);
++#endif
+ return true;
+ }
+
+@@ -1588,7 +1594,9 @@
+
+ if (m_logFile) {
+ PTRACEX(1, "GK\tLogging closed (log file rotation)");
++#if PTRACING
+ PTrace::SetStream(&cerr); // redirect to cerr
++#endif
+ #ifndef hasDeletingSetStream
+ delete m_logFile;
+ #endif
+@@ -1625,7 +1633,9 @@
+ }
+
+ m_logFile->SetPosition(0, PFile::End);
++#if PTRACING
+ PTrace::SetStream(m_logFile);
++#endif
+ PTRACEX(1, "GK\tLogging restarted\n" + Toolkit::GKVersion());
+ return true;
+ }
+@@ -1636,7 +1646,9 @@
+
+ if (m_logFile) {
+ PTRACEX(1, "GK\tLogging closed (reopen log file)");
++#if PTRACING
+ PTrace::SetStream(&cerr); // redirect to cerr
++#endif
+ #ifndef hasDeletingSetStream
+ delete m_logFile;
+ #endif
+@@ -1665,7 +1677,9 @@
+ }
+ }
+ m_logFile->SetPosition(0, PFile::End);
++#if PTRACING
+ PTrace::SetStream(m_logFile);
++#endif
+ PTRACEX(1, "GK\tLogging restarted\n" + Toolkit::GKVersion());
+ return true;
+ }
+@@ -1677,7 +1691,9 @@
+ if (m_logFile) {
+ PTRACEX(1, "GK\tLogging closed");
+ }
++#if PTRACING
+ PTrace::SetStream(&cerr);
++#endif
+ #ifndef hasDeletingSetStream
+ delete m_logFile;
+ #endif
+diff -ur a/GkStatus.cxx b/GkStatus.cxx
+--- a/GkStatus.cxx 2012-12-18 16:16:18.000000000 +0100
++++ b/GkStatus.cxx 2013-03-06 02:53:38.494731795 +0100
+@@ -1314,6 +1314,7 @@
+ );
+ } else {
+ if (args[1] *= "trc") {
++#if PTRACING
+ if(args.GetSize() >= 3) {
+ if((args[2] == "-") && (PTrace::GetLevel() > 0))
+ PTrace::SetLevel(PTrace::GetLevel()-1);
+@@ -1322,6 +1323,7 @@
+ else PTrace::SetLevel(args[2].AsInteger());
+ }
+ WriteString(PString(PString::Printf, "Trace Level is now %d\r\n", PTrace::GetLevel()));
++#endif
+ } else if (args[1] *= "cfg") {
+ if (args.GetSize()>=4)
+ WriteString(GkConfig()->GetString(args[2],args[3],"") + "\r\n;\r\n");
+diff -ur a/ipauth.cxx b/ipauth.cxx
+--- a/ipauth.cxx 2011-11-28 13:33:41.000000000 +0100
++++ b/ipauth.cxx 2013-03-06 02:53:41.038731734 +0100
+@@ -226,6 +226,7 @@
+
+ PTRACE(5, GetName() << "\t" << m_authList.size() << " entries loaded");
+
++#if PTRACING
+ if (PTrace::CanTrace(6)) {
+ ostream &strm = PTrace::Begin(6, __FILE__, __LINE__);
+ strm << GetName() << " entries:\n";
+@@ -238,6 +239,7 @@
+ }
+ PTrace::End(strm);
+ }
++#endif
+
+ if (dynamicCfg) {
+ delete cfg;
+diff -ur a/RasSrv.cxx b/RasSrv.cxx
+--- a/RasSrv.cxx 2012-12-28 16:21:55.000000000 +0100
++++ b/RasSrv.cxx 2013-03-06 02:53:38.494731795 +0100
+@@ -244,6 +244,7 @@
+ delete msg;
+ return NULL;
+ }
++#if PTRACING
+ if ((msg->GetTag() != H225_RasMessage::e_serviceControlIndication && msg->GetTag() != H225_RasMessage::e_serviceControlResponse)
+ || PTrace::CanTrace(5)) {
+ if (PTrace::CanTrace(3))
+@@ -251,17 +252,20 @@
+ else
+ PTRACE(2, "RAS\tReceived " << msg->GetTagName() << " from " << AsString(msg->m_peerAddr, msg->m_peerPort));
+ }
++#endif
+ msg->m_localAddr = GetLocalAddr(msg->m_peerAddr);
+ return msg;
+ }
+
+ bool RasListener::SendRas(const H225_RasMessage & rasobj, const Address & addr, WORD pt)
+ {
++#if PTRACING
+ if ( ((rasobj.GetTag() != H225_RasMessage::e_serviceControlIndication && rasobj.GetTag() != H225_RasMessage::e_serviceControlResponse) && PTrace::CanTrace(3))
+ || PTrace::CanTrace(5))
+ PTRACE(3, "RAS\tSend to " << AsString(addr, pt) << '\n' << setprecision(2) << rasobj);
+ else
+ PTRACE(2, "RAS\tSend " << RasName[rasobj.GetTag()] << " to " << AsString(addr, pt));
++#endif
+
+ PPER_Stream wtstrm;
+ rasobj.Encode(wtstrm);
+diff -ur a/RasTbl.cxx b/RasTbl.cxx
+--- a/RasTbl.cxx 2013-01-04 13:20:20.000000000 +0100
++++ b/RasTbl.cxx 2013-03-06 02:53:38.498731794 +0100
+@@ -1870,6 +1870,7 @@
+ endpoints->push_back(routes.front().m_destEndpoint.operator->());
+ }
+
++#if PTRACING
+ if (PTrace::CanTrace(4)) {
+ ostream &strm = PTrace::Begin(4, __FILE__, __LINE__);
+ strm << "RASTBL\tPrefix match for gateways: ";
+@@ -1880,6 +1881,7 @@
+ }
+ PTrace::End(strm);
+ }
++#endif
+
+ return true;
+ }
+diff -ur a/Routing.cxx b/Routing.cxx
+--- a/Routing.cxx 2012-12-28 21:35:42.000000000 +0100
++++ b/Routing.cxx 2013-03-06 02:53:38.498731794 +0100
+@@ -1452,6 +1452,7 @@
+ PTRACE(5, "ROUTING\t" << m_name << " policy loaded with " << m_prefixes.size()
+ << " prefix entries");
+
++#if PTRACING
+ if (PTrace::CanTrace(6)) {
+ ostream &strm = PTrace::Begin(6, __FILE__, __LINE__);
+ strm << "ROUTING\t" << m_name << " policy prefixes:" << endl;
+@@ -1461,6 +1462,7 @@
+ << m_prefixes[i].m_maxLength << endl;
+ PTrace::End(strm);
+ }
++#endif
+ }
+
+ bool NumberAnalysisPolicy::OnRequest(AdmissionRequest & request)
+diff -ur a/Toolkit.cxx b/Toolkit.cxx
+--- a/Toolkit.cxx 2013-01-10 10:23:01.000000000 +0100
++++ b/Toolkit.cxx 2013-03-06 02:53:38.498731794 +0100
+@@ -960,6 +960,7 @@
+ return;
+ }
+
++#if PTRACING
+ if (PTrace::CanTrace(3) && (m_GWRewrite.GetSize() < 100)) {
+ for (PINDEX i = 0; i < m_GWRewrite.GetSize(); ++i) {
+ // In
+@@ -973,6 +974,7 @@
+ }
+ }
+ }
++#endif
+ PTRACE(2, "GK\tLoaded " << m_GWRewrite.GetSize() << " GW entries with rewrite info");
+ }
+
+@@ -1581,7 +1583,9 @@
+ // read the gatekeeper name from the config file, because it might be used as a key into the SQL config
+ m_GKName = Config()->GetString("Name", "OpenH323GK");
+
++#if PTRACING
+ PTrace::SetLevel(GkConfig()->GetInteger("TraceLevel", PTrace::GetLevel()));
++#endif
+
+ // set the max size of an array in an ASN encoded message (eg. max length of alias list)
+ PINDEX maxArraySize = GkConfig()->GetInteger("MaxASNArraySize", 0);
+diff -ur a/yasocket.cxx b/yasocket.cxx
+--- a/yasocket.cxx 2012-12-10 20:32:52.000000000 +0100
++++ b/yasocket.cxx 2013-03-06 02:53:38.498731794 +0100
+@@ -1018,10 +1018,12 @@
+ return false;
+ }
+ ConfigReloadMutex.StartRead();
++#if PTRACING
+ if (PTrace::CanTrace(6)) {
+ PString msg(PString::Printf, "\t%u sockets selected from %u, total %u/%u", slist.GetSize(), ss, m_socksize, m_rmsize);
+ PTRACE(6, GetName() << msg);
+ }
++#endif
+ return true;
+ }
+
diff --git a/net-voip/gnugk/gnugk-2.2.5.ebuild b/net-voip/gnugk/gnugk-2.2.5.ebuild
deleted file mode 100644
index 0f5d94385a88..000000000000
--- a/net-voip/gnugk/gnugk-2.2.5.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-voip/gnugk/gnugk-2.2.5.ebuild,v 1.4 2010/06/17 20:58:55 patrick Exp $
-
-IUSE="mysql postgres radius"
-
-DESCRIPTION="GNU H.323 gatekeeper"
-HOMEPAGE="http://www.gnugk.org/"
-SRC_URI="mirror://sourceforge/openh323gk/${P}.tar.gz"
-
-SLOT="0"
-KEYWORDS="~x86 ~ppc"
-LICENSE="GPL-2"
-
-DEPEND="
- >=dev-libs/pwlib-1.8.4
- >=net-libs/openh323-1.15.3
- mysql? ( dev-db/mysql++ )
- postgres? ( dev-db/postgresql-server )"
-
-src_compile() {
- econf \
- --with-large-fdset=4096 \
- `use_enable mysql` \
- `use_enable postgres sql` \
- `use_enable radius` || die
-
- emake optdepend opt addpasswd || die
-}
-
-src_install() {
- dosbin obj_*_*_*/gnugk
- dosbin obj_*_*_*/addpasswd
-
- insinto /etc/gnugk
- doins etc/*
-
- dodoc changes.txt readme.txt copying docs/*.txt
- mv ${D}/etc/gnugk/*.pl ${D}/usr/share/doc/${PF}
-
- docinto old
- dodoc docs/old/*
-
- dodir /usr/share/doc/${PF}/contrib
- cp -r contrib/sqlbill ${D}/usr/share/doc/${PF}/contrib
-
- newinitd ${FILESDIR}/gnugk.rc6 gnugk
- newconfd ${FILESDIR}/gnugk.confd gnugk
-}
diff --git a/net-voip/gnugk/gnugk-3.2.2.ebuild b/net-voip/gnugk/gnugk-3.2.2.ebuild
new file mode 100644
index 000000000000..1e599a44047d
--- /dev/null
+++ b/net-voip/gnugk/gnugk-3.2.2.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-voip/gnugk/gnugk-3.2.2.ebuild,v 1.1 2013/03/06 02:09:40 chithanh Exp $
+
+EAPI="5"
+
+inherit eutils versionator
+
+MY_P1=${PN}-$(replace_version_separator 2 -)
+MY_P2=${PN}-$(get_version_component_range 1-2)
+
+DESCRIPTION="GNU H.323 gatekeeper"
+HOMEPAGE="http://www.gnugk.org/"
+SRC_URI="mirror://sourceforge/openh323gk/${MY_P1}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+# dev-db/firebird isn't keyworded for ppc but firebird IUSE is masked for ppc
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="doc firebird lua mysql odbc postgres radius snmp sqlite ssh linguas_en linguas_es linguas_fr"
+REQUIRED_USE="doc? (
+ || ( linguas_en linguas_es linguas_fr )
+ )
+"
+
+RDEPEND="net-libs/ptlib:=
+ net-libs/h323plus:=
+ dev-libs/openssl
+ firebird? ( dev-db/firebird )
+ lua? ( dev-lang/lua )
+ mysql? ( virtual/mysql )
+ odbc? ( dev-db/unixODBC )
+ postgres? ( dev-db/postgresql-base )
+ snmp? ( net-analyzer/net-snmp )
+ ssh? ( net-libs/libssh )
+ sqlite? ( dev-db/sqlite:3 )"
+DEPEND="${RDEPEND}
+ doc? ( app-text/linuxdoc-tools )"
+
+S=${WORKDIR}/${MY_P2}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-3.2.2-ptrace.patch
+ epatch "${FILESDIR}"/${PN}-3.2.2-h323plus-buildopts.patch
+ epatch "${FILESDIR}"/${PN}-3.2.2-lua.cxx-toolkit_h.patch
+}
+
+# TODO: investigate possible ebuild conversion to use cmake
+src_configure() {
+ # --with-large-fdset=4096 is added because of bug #128102
+ # and it is recommended in the online manual
+ econf \
+ $(use_enable firebird) \
+ $(use_enable lua) \
+ $(use_enable mysql) \
+ $(use_enable postgres pgsql) \
+ $(use_enable odbc unixodbc) \
+ $(use_enable radius) \
+ $(use_enable snmp netsnmp) \
+ $(use_enable sqlite) \
+ $(use_enable ssh libssh) \
+ --with-large-fdset=4096
+}
+
+src_compile() {
+ # PASN_NOPRINT should be set for -debug but it's buggy
+ # better to prevent issues and keep default settings
+ # `make debugdepend debugshared` and `make debug` failed (so no debug)
+ # `make optdepend optnoshared` also failed (so no static)
+
+ # splitting emake calls fixes parallel build issue
+ emake optdepend
+ emake \
+ PT_LIBDIR="$(ptlib-config --libdir)" \
+ OH323_LIBDIR="${EPREFIX}"/usr/lib \
+ optshared
+ # build tool addpasswd
+ emake -C addpasswd PTLIBDIR="$(ptlib-config --ptlibdir)"
+
+ if use doc; then
+ cd docs/manual
+
+ if use linguas_en; then
+ emake html
+ fi
+
+ if use linguas_es; then
+ emake html-es
+ fi
+
+ if use linguas_fr; then
+ emake html-fr
+ fi
+ cd ../..
+ fi
+}
+
+src_install() {
+ dosbin obj_*_*_*/${PN}
+ dosbin addpasswd/obj_*_*_*/addpasswd
+
+ dodir /etc/${PN}
+ insinto /etc/${PN}
+ doins etc/*
+
+ dodoc changes.txt readme.txt
+ dodoc docs/*.txt docs/*.pdf
+
+ if use doc; then
+ if use linguas_en; then
+ dohtml docs/manual/manual*.html
+ fi
+ if use linguas_fr; then
+ dohtml docs/manual/fr/manual-fr*.html
+ fi
+ if use linguas_es; then
+ dohtml docs/manual/es/manual-es*.html
+ fi
+ fi
+
+ doman docs/${PN}.1 docs/addpasswd.1
+
+ newinitd "${FILESDIR}"/${PN}.rc6 ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/net-voip/gnugk/metadata.xml b/net-voip/gnugk/metadata.xml
index 8d1e4dd4a5b8..e9bc69280db6 100644
--- a/net-voip/gnugk/metadata.xml
+++ b/net-voip/gnugk/metadata.xml
@@ -2,4 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>voip</herd>
+ <use>
+ <flag name="ssh">Enable support for SSH port forwarding using <pkg>net-libs/libssh</pkg></flag>
+ </use>
</pkgmetadata>