summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Faulhammer <opfer@gentoo.org>2008-03-22 10:54:50 +0000
committerChristian Faulhammer <opfer@gentoo.org>2008-03-22 10:54:50 +0000
commit3e21ef8ed15aa47dc3e8728101df3e20bf98e066 (patch)
treead40d3d89fe99498dfe56f441c2d0b79dd38599f /net-misc/siproxd
parentAdd longdescription to metadata. (diff)
downloadgentoo-2-3e21ef8ed15aa47dc3e8728101df3e20bf98e066.tar.gz
gentoo-2-3e21ef8ed15aa47dc3e8728101df3e20bf98e066.tar.bz2
gentoo-2-3e21ef8ed15aa47dc3e8728101df3e20bf98e066.zip
version bump, taken from voip overlay. Fixes bugs 205766 and 205765, both reported by Georgi Georgiev <chutz AT gg3 DOT net>
(Portage version: 2.1.4.4)
Diffstat (limited to 'net-misc/siproxd')
-rw-r--r--net-misc/siproxd/ChangeLog12
-rw-r--r--net-misc/siproxd/files/siproxd-0.7.0-guide.diff11
-rw-r--r--net-misc/siproxd/files/siproxd-0.7.0-libosip-3.1.0.diff213
-rw-r--r--net-misc/siproxd/siproxd-0.7.0.ebuild57
4 files changed, 291 insertions, 2 deletions
diff --git a/net-misc/siproxd/ChangeLog b/net-misc/siproxd/ChangeLog
index 4427d3bbcb09..35b39f48d39f 100644
--- a/net-misc/siproxd/ChangeLog
+++ b/net-misc/siproxd/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for net-misc/siproxd
-# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/siproxd/ChangeLog,v 1.8 2007/11/02 04:07:04 beandog Exp $
+# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/siproxd/ChangeLog,v 1.9 2008/03/22 10:54:49 opfer Exp $
+
+*siproxd-0.7.0 (22 Mar 2008)
+
+ 22 Mar 2008; Christian Faulhammer <opfer@gentoo.org>
+ +files/siproxd-0.7.0-guide.diff, +files/siproxd-0.7.0-libosip-3.1.0.diff,
+ +siproxd-0.7.0.ebuild:
+ version bump, taken from voip overlay. Fixes bugs 205766 and 205765, both
+ reported by Georgi Georgiev <chutz AT gg3 DOT net>
02 Nov 2007; Steve Dibb <beandog@gentoo.org> siproxd-0.5.13.ebuild:
amd64 stable, bug 197384
diff --git a/net-misc/siproxd/files/siproxd-0.7.0-guide.diff b/net-misc/siproxd/files/siproxd-0.7.0-guide.diff
new file mode 100644
index 000000000000..9e1af6361ecf
--- /dev/null
+++ b/net-misc/siproxd/files/siproxd-0.7.0-guide.diff
@@ -0,0 +1,11 @@
+diff -ur a/doc/siproxd_guide.sgml b/doc/siproxd_guide.sgml
+--- a/doc/siproxd_guide.sgml 2007-05-23 22:51:54.000000000 +0200
++++ b/doc/siproxd_guide.sgml 2008-01-22 16:30:42.000000000 +0100
+@@ -74,6 +74,7 @@
+ "helping technologies" WILL DO CONFLICT with siproxd and result
+ in a mess.</para>
+ </sect1>
++ </chapter>
+
+ <!-- Chapter 1: Overview -->
+ <chapter label="1" id="Overview">
diff --git a/net-misc/siproxd/files/siproxd-0.7.0-libosip-3.1.0.diff b/net-misc/siproxd/files/siproxd-0.7.0-libosip-3.1.0.diff
new file mode 100644
index 000000000000..f486c865de6f
--- /dev/null
+++ b/net-misc/siproxd/files/siproxd-0.7.0-libosip-3.1.0.diff
@@ -0,0 +1,213 @@
+diff -ur a/src/auth.c b/src/auth.c
+--- a/src/auth.c 2008-01-19 17:07:14.000000000 +0100
++++ b/src/auth.c 2008-02-24 22:01:53.346694612 +0100
+@@ -367,25 +367,25 @@
+ OUT HASHHEX SessionKey
+ )
+ {
+- MD5_CTX Md5Ctx;
++ osip_MD5_CTX Md5Ctx;
+ HASH HA1;
+
+- MD5Init(&Md5Ctx);
+- if (pszUserName) MD5Update(&Md5Ctx, pszUserName, strlen(pszUserName));
+- MD5Update(&Md5Ctx, ":", 1);
+- if (pszRealm) MD5Update(&Md5Ctx, pszRealm, strlen(pszRealm));
+- MD5Update(&Md5Ctx, ":", 1);
+- if (pszPassword) MD5Update(&Md5Ctx, pszPassword, strlen(pszPassword));
+- MD5Final(HA1, &Md5Ctx);
++ osip_MD5Init(&Md5Ctx);
++ if (pszUserName) osip_MD5Update(&Md5Ctx, pszUserName, strlen(pszUserName));
++ osip_MD5Update(&Md5Ctx, ":", 1);
++ if (pszRealm) osip_MD5Update(&Md5Ctx, pszRealm, strlen(pszRealm));
++ osip_MD5Update(&Md5Ctx, ":", 1);
++ if (pszPassword) osip_MD5Update(&Md5Ctx, pszPassword, strlen(pszPassword));
++ osip_MD5Final(HA1, &Md5Ctx);
+
+ if ((pszAlg!=NULL) && (osip_strcasecmp(pszAlg, "md5-sess") == 0)) {
+- MD5Init(&Md5Ctx);
+- MD5Update(&Md5Ctx, HA1, HASHLEN);
+- MD5Update(&Md5Ctx, ":", 1);
+- if (pszNonce) MD5Update(&Md5Ctx, pszNonce, strlen(pszNonce));
+- MD5Update(&Md5Ctx, ":", 1);
+- if (pszCNonce) MD5Update(&Md5Ctx, pszCNonce, strlen(pszCNonce));
+- MD5Final(HA1, &Md5Ctx);
++ osip_MD5Init(&Md5Ctx);
++ osip_MD5Update(&Md5Ctx, HA1, HASHLEN);
++ osip_MD5Update(&Md5Ctx, ":", 1);
++ if (pszNonce) osip_MD5Update(&Md5Ctx, pszNonce, strlen(pszNonce));
++ osip_MD5Update(&Md5Ctx, ":", 1);
++ if (pszCNonce) osip_MD5Update(&Md5Ctx, pszCNonce, strlen(pszCNonce));
++ osip_MD5Final(HA1, &Md5Ctx);
+ };
+ CvtHex(HA1, SessionKey);
+ }
+@@ -403,57 +403,57 @@
+ OUT HASHHEX Response /* request-digest or response-digest */
+ )
+ {
+- MD5_CTX Md5Ctx;
++ osip_MD5_CTX Md5Ctx;
+ HASH HA2;
+ HASH RespHash;
+ HASHHEX HA2Hex;
+
+ /* calculate H(A2) */
+- MD5Init(&Md5Ctx);
+- if (pszMethod) MD5Update(&Md5Ctx, pszMethod, strlen(pszMethod));
+- MD5Update(&Md5Ctx, ":", 1);
+- if (pszDigestUri)MD5Update(&Md5Ctx, pszDigestUri, strlen(pszDigestUri));
++ osip_MD5Init(&Md5Ctx);
++ if (pszMethod) osip_MD5Update(&Md5Ctx, pszMethod, strlen(pszMethod));
++ osip_MD5Update(&Md5Ctx, ":", 1);
++ if (pszDigestUri)osip_MD5Update(&Md5Ctx, pszDigestUri, strlen(pszDigestUri));
+
+ if (pszQop!=NULL) {
+ goto auth_withqop;
+ };
+
+ /* auth_withoutqop: */
+- MD5Final(HA2, &Md5Ctx);
++ osip_MD5Final(HA2, &Md5Ctx);
+ CvtHex(HA2, HA2Hex);
+
+ /* calculate response */
+- MD5Init(&Md5Ctx);
+- MD5Update(&Md5Ctx, HA1, HASHHEXLEN);
+- MD5Update(&Md5Ctx, ":", 1);
+- if (pszNonce) MD5Update(&Md5Ctx, pszNonce, strlen(pszNonce));
+- MD5Update(&Md5Ctx, ":", 1);
++ osip_MD5Init(&Md5Ctx);
++ osip_MD5Update(&Md5Ctx, HA1, HASHHEXLEN);
++ osip_MD5Update(&Md5Ctx, ":", 1);
++ if (pszNonce) osip_MD5Update(&Md5Ctx, pszNonce, strlen(pszNonce));
++ osip_MD5Update(&Md5Ctx, ":", 1);
+
+ goto end;
+
+ auth_withqop:
+
+- MD5Update(&Md5Ctx, ":", 1);
+- MD5Update(&Md5Ctx, HEntity, HASHHEXLEN);
+- MD5Final(HA2, &Md5Ctx);
++ osip_MD5Update(&Md5Ctx, ":", 1);
++ osip_MD5Update(&Md5Ctx, HEntity, HASHHEXLEN);
++ osip_MD5Final(HA2, &Md5Ctx);
+ CvtHex(HA2, HA2Hex);
+
+ /* calculate response */
+- MD5Init(&Md5Ctx);
+- MD5Update(&Md5Ctx, HA1, HASHHEXLEN);
+- MD5Update(&Md5Ctx, ":", 1);
+- if (pszNonce) MD5Update(&Md5Ctx, pszNonce, strlen(pszNonce));
+- MD5Update(&Md5Ctx, ":", 1);
+- if (pszNonceCount)MD5Update(&Md5Ctx, pszNonceCount, strlen(pszNonceCount));
+- MD5Update(&Md5Ctx, ":", 1);
+- if (pszCNonce) MD5Update(&Md5Ctx, pszCNonce, strlen(pszCNonce));
+- MD5Update(&Md5Ctx, ":", 1);
+- if (pszQop) MD5Update(&Md5Ctx, pszQop, strlen(pszQop));
+- MD5Update(&Md5Ctx, ":", 1);
++ osip_MD5Init(&Md5Ctx);
++ osip_MD5Update(&Md5Ctx, HA1, HASHHEXLEN);
++ osip_MD5Update(&Md5Ctx, ":", 1);
++ if (pszNonce) osip_MD5Update(&Md5Ctx, pszNonce, strlen(pszNonce));
++ osip_MD5Update(&Md5Ctx, ":", 1);
++ if (pszNonceCount)osip_MD5Update(&Md5Ctx, pszNonceCount, strlen(pszNonceCount));
++ osip_MD5Update(&Md5Ctx, ":", 1);
++ if (pszCNonce) osip_MD5Update(&Md5Ctx, pszCNonce, strlen(pszCNonce));
++ osip_MD5Update(&Md5Ctx, ":", 1);
++ if (pszQop) osip_MD5Update(&Md5Ctx, pszQop, strlen(pszQop));
++ osip_MD5Update(&Md5Ctx, ":", 1);
+
+ end:
+- MD5Update(&Md5Ctx, HA2Hex, HASHHEXLEN);
+- MD5Final(RespHash, &Md5Ctx);
++ osip_MD5Update(&Md5Ctx, HA2Hex, HASHHEXLEN);
++ osip_MD5Final(RespHash, &Md5Ctx);
+ CvtHex(RespHash, Response);
+ }
+
+diff -ur a/src/sip_utils.c b/src/sip_utils.c
+--- a/src/sip_utils.c 2008-01-19 17:07:14.000000000 +0100
++++ b/src/sip_utils.c 2008-02-24 22:01:53.346694612 +0100
+@@ -773,13 +773,13 @@
+ if (strncmp(param->gvalue, magic_cookie,
+ strlen(magic_cookie))==0) {
+ /* calculate MD5 hash */
+- MD5_CTX Md5Ctx;
++ osip_MD5_CTX Md5Ctx;
+ HASH HA1;
+
+- MD5Init(&Md5Ctx);
+- MD5Update(&Md5Ctx, param->gvalue,
++ osip_MD5Init(&Md5Ctx);
++ osip_MD5Update(&Md5Ctx, param->gvalue,
+ strlen(param->gvalue));
+- MD5Final(HA1, &Md5Ctx);
++ osip_MD5Final(HA1, &Md5Ctx);
+ CvtHex(HA1, hashstring);
+
+ DEBUGC(DBCLASS_BABBLE, "existing branch -> branch hash [%s]",
+@@ -799,53 +799,53 @@
+ */
+ if (hashstring[0] == '\0') {
+ /* calculate MD5 hash */
+- MD5_CTX Md5Ctx;
++ osip_MD5_CTX Md5Ctx;
+ HASH HA1;
+ char *tmp;
+
+- MD5Init(&Md5Ctx);
++ osip_MD5Init(&Md5Ctx);
+
+ /* topmost via */
+ osip_via_to_str(via, &tmp);
+ if (tmp) {
+- MD5Update(&Md5Ctx, tmp, strlen(tmp));
++ osip_MD5Update(&Md5Ctx, tmp, strlen(tmp));
+ osip_free(tmp);
+ }
+
+ /* Tag in To header */
+ osip_to_get_tag(sip_msg->to, &param);
+ if (param && param->gvalue) {
+- MD5Update(&Md5Ctx, param->gvalue, strlen(param->gvalue));
++ osip_MD5Update(&Md5Ctx, param->gvalue, strlen(param->gvalue));
+ }
+
+ /* Tag in From header */
+ osip_from_get_tag(sip_msg->from, &param);
+ if (param && param->gvalue) {
+- MD5Update(&Md5Ctx, param->gvalue, strlen(param->gvalue));
++ osip_MD5Update(&Md5Ctx, param->gvalue, strlen(param->gvalue));
+ }
+
+ /* Call-ID */
+ call_id = osip_message_get_call_id(sip_msg);
+ osip_call_id_to_str(call_id, &tmp);
+ if (tmp) {
+- MD5Update(&Md5Ctx, tmp, strlen(tmp));
++ osip_MD5Update(&Md5Ctx, tmp, strlen(tmp));
+ osip_free(tmp);
+ }
+
+ /* CSeq number (but not method) */
+ tmp = osip_cseq_get_number(sip_msg->cseq);
+ if (tmp) {
+- MD5Update(&Md5Ctx, tmp, strlen(tmp));
++ osip_MD5Update(&Md5Ctx, tmp, strlen(tmp));
+ }
+
+ /* Request URI */
+ osip_uri_to_str(sip_msg->req_uri, &tmp);
+ if (tmp) {
+- MD5Update(&Md5Ctx, tmp, strlen(tmp));
++ osip_MD5Update(&Md5Ctx, tmp, strlen(tmp));
+ osip_free(tmp);
+ }
+
+- MD5Final(HA1, &Md5Ctx);
++ osip_MD5Final(HA1, &Md5Ctx);
+ CvtHex(HA1, hashstring);
+
+ DEBUGC(DBCLASS_BABBLE, "non-existing branch -> branch hash [%s]",
diff --git a/net-misc/siproxd/siproxd-0.7.0.ebuild b/net-misc/siproxd/siproxd-0.7.0.ebuild
new file mode 100644
index 000000000000..f553ef78d2c3
--- /dev/null
+++ b/net-misc/siproxd/siproxd-0.7.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/siproxd/siproxd-0.7.0.ebuild,v 1.1 2008/03/22 10:54:49 opfer Exp $
+
+inherit eutils autotools
+
+DESCRIPTION="masquerading SIP proxy"
+HOMEPAGE="http://siproxd.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="static doc"
+
+DEPEND=">=net-libs/libosip-3.1
+ doc? ( app-text/docbook-sgml-utils ~app-text/docbook-sgml-dtd-4.2 )"
+
+pkg_setup() {
+ enewgroup siproxd
+ enewuser siproxd -1 -1 /dev/null siproxd
+}
+
+src_unpack() {
+ unpack ${A}
+
+ cd "${S}"
+ epatch "${FILESDIR}"/${PN}-0.5.11-configure-docs.diff
+ epatch "${FILESDIR}"/${P}-guide.diff
+ epatch "${FILESDIR}"/${P}-libosip-3.1.0.diff
+
+ eautoreconf || die "autoreconf failed"
+
+ # Make the daemon run as user 'siproxd' by default
+ sed -i -e "s:nobody:siproxd:" doc/siproxd.conf.example
+}
+
+src_compile() {
+ econf \
+ $(use_enable doc docs) \
+ $(use static && use_enable static) \
+ || die "configure failed"
+ # --disable-static won't work, see bug 205765
+ emake || die "make failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+
+ newinitd "${FILESDIR}"/siproxd.rc6 siproxd || die
+
+ dodoc AUTHORS ChangeLog INSTALL NEWS README TODO RELNOTES
+
+ # Set up siproxd directories
+ keepdir /var/{lib,run}/siproxd
+ fowners siproxd:siproxd /var/{lib,run}/siproxd
+}