Your message dated Sun, 17 Mar 2013 12:48:44 +0000
with message-id <20130317124844.gd4...@ernie.home.powdarrmonkey.net>
and subject line Re: Bug#703233: unblock: resiprocate - crash issue fixed
has caused the Debian Bug report #703233,
regarding unblock: resiprocate - crash issue fixed
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
703233: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=703233
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
There are two fixes, both using patches backported from the upstream
release branch
One of the issues is marked serious because it causes the process to
stop in certain situations.
The other is marked as important because it causes incompatibility with
FreeSWITCH PBXes
diff -Nru resiprocate-1.8.5/debian/changelog resiprocate-1.8.5/debian/changelog
--- resiprocate-1.8.5/debian/changelog 2012-08-08 15:02:29.000000000 +0200
+++ resiprocate-1.8.5/debian/changelog 2013-03-17 12:33:44.000000000 +0100
@@ -1,3 +1,10 @@
+resiprocate (1.8.5-2) unstable; urgency=low
+
+ * Remove proxy-auth headers after validating them (Closes: #697341)
+ * Discard repeated requests over reliable transport (Closes: #703232)
+
+ -- Daniel Pocock <dan...@pocock.com.au> Sun, 17 Mar 2013 12:30:47 +0100
+
resiprocate (1.8.5-1) unstable; urgency=low
* New upstream release
@@ -7,7 +14,6 @@
* Fix support for multiple ENUM carriers
* Fix issue with help text causing crash
* Fix clash between DIGEST and mutual TLS when used concurrently
- * Proposed for wheezy unblock (Closes: #681387)
-- Daniel Pocock <dan...@pocock.com.au> Wed, 08 Aug 2012 15:02:03 +0200
diff -Nru
resiprocate-1.8.5/debian/patches/0001-remove-Proxy-Authorization-headers-for-successful-Di.patch
resiprocate-1.8.5/debian/patches/0001-remove-Proxy-Authorization-headers-for-successful-Di.patch
---
resiprocate-1.8.5/debian/patches/0001-remove-Proxy-Authorization-headers-for-successful-Di.patch
1970-01-01 01:00:00.000000000 +0100
+++
resiprocate-1.8.5/debian/patches/0001-remove-Proxy-Authorization-headers-for-successful-Di.patch
2013-03-17 12:28:37.000000000 +0100
@@ -0,0 +1,61 @@
+From: Daniel Pocock <dan...@pocock.com.au>
+Date: Sun, 17 Mar 2013 12:09:48 +0100
+Subject: remove Proxy-Authorization headers for successful Digest Challenges
+ before forwarding message (closes: #697341) (upstream: r9886, fixed
+ in v1.8.6)
+
+---
+ repro/monkeys/DigestAuthenticator.cxx | 29 ++++++++++++++++-------------
+ 1 file changed, 16 insertions(+), 13 deletions(-)
+
+diff --git a/repro/monkeys/DigestAuthenticator.cxx
b/repro/monkeys/DigestAuthenticator.cxx
+index c3a8af3..fbaa5e9 100644
+--- a/repro/monkeys/DigestAuthenticator.cxx
++++ b/repro/monkeys/DigestAuthenticator.cxx
+@@ -116,7 +116,6 @@ DigestAuthenticator::process(repro::RequestContext &rc)
+ pair<Helper::AuthResult,Data> result =
+ Helper::advancedAuthenticateRequest(*sipMessage, realm, a1, 3000);
// was 15
+
+-// Auths &authHeaders = sipMessage->header(h_ProxyAuthorizations);
+ switch (result.first)
+ {
+ case Helper::Failed:
+@@ -135,22 +134,26 @@ DigestAuthenticator::process(repro::RequestContext &rc)
+
+ // Delete the Proxy-Auth header for this realm.
+ // other Proxy-Auth headers might be needed by a downsteram node
+-/*
+- Auths::iterator i = authHeaders.begin();
+- Auths::iterator j = authHeaders.begin();
+- while( i != authHeaders.end() )
++ if (sipMessage->exists(h_ProxyAuthorizations))
+ {
+- if (proxy.isMyDomain(i->param(p_realm)))
+- {
+- j = i++;
+- authHeaders.erase(j);
+- }
+- else
++ Auths &authHeaders = sipMessage->header(h_ProxyAuthorizations);
++ Data realm = getRealm(rc);
++
++ // if we find a Proxy-Authorization header for a realm we
handle,
++ // asynchronously fetch the relevant userAuthInfo from the
database
++ for (Auths::iterator i = authHeaders.begin(); i !=
authHeaders.end(); )
+ {
+- ++i;
++ if(i->exists(p_realm) && isEqualNoCase(i->param(p_realm),
realm))
++ {
++ i = authHeaders.erase(i);
++ }
++ else
++ {
++ ++i;
++ }
+ }
+ }
+-*/
++
+ if(!sipMessage->header(h_From).isWellFormed() ||
+ sipMessage->header(h_From).isAllContacts())
+ {
diff -Nru
resiprocate-1.8.5/debian/patches/0002-discard-repeated-requests-received-over-reliable-tra.patch
resiprocate-1.8.5/debian/patches/0002-discard-repeated-requests-received-over-reliable-tra.patch
---
resiprocate-1.8.5/debian/patches/0002-discard-repeated-requests-received-over-reliable-tra.patch
1970-01-01 01:00:00.000000000 +0100
+++
resiprocate-1.8.5/debian/patches/0002-discard-repeated-requests-received-over-reliable-tra.patch
2013-03-17 12:28:37.000000000 +0100
@@ -0,0 +1,37 @@
+From: Daniel Pocock <dan...@pocock.com.au>
+Date: Sun, 17 Mar 2013 12:28:31 +0100
+Subject: discard repeated requests received over reliable transports (closes:
+ #703232) (upstream: r9998, fixed in v1.8.7)
+
+---
+ resip/stack/TransactionState.cxx | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+diff --git a/resip/stack/TransactionState.cxx
b/resip/stack/TransactionState.cxx
+index 868b4a3..deca715 100644
+--- a/resip/stack/TransactionState.cxx
++++ b/resip/stack/TransactionState.cxx
+@@ -699,6 +699,23 @@ TransactionState::process(TransactionController&
controller,
+ }
+ break;
+ }
++
++ // .bwc. in private email 1 Feb 2013:
++ // According to the spec, there is no such thing as a reliable NIT
++ // retransmission; what we have just observed is a transaction id
collision
++ // technically. Maybe a reliable NIT transaction collision needs special
++ // handling? It is probably a lot more common that this is a confused
client,
++ // than a client that has innocently used the same tid as some other
client,
++ // though. Maybe we should just ignore such requests?
++ if(sip->isExternal() && sip->isRequest() &&
++ method != ACK &&
++ state->mIsReliable)
++ {
++ InfoLog(<<"Someone sent us a request with a repeated transaction ID "
++ "over a reliable transport. Discarding the request.");
++ delete sip;
++ return;
++ }
+ }
+
+ if (state) // found transaction for sip msg
diff -Nru resiprocate-1.8.5/debian/patches/series
resiprocate-1.8.5/debian/patches/series
--- resiprocate-1.8.5/debian/patches/series 1970-01-01 01:00:00.000000000
+0100
+++ resiprocate-1.8.5/debian/patches/series 2013-03-17 12:28:37.000000000
+0100
@@ -0,0 +1,2 @@
+0001-remove-Proxy-Authorization-headers-for-successful-Di.patch
+0002-discard-repeated-requests-received-over-reliable-tra.patch
--- End Message ---
--- Begin Message ---
On Sun, Mar 17, 2013 at 12:46:02PM +0100, Daniel Pocock wrote:
> Package: release.debian.org
> Severity: normal
>
> There are two fixes, both using patches backported from the upstream
> release branch
>
> One of the issues is marked serious because it causes the process to
> stop in certain situations.
>
> The other is marked as important because it causes incompatibility with
> FreeSWITCH PBXes
Thanks, unblocked.
--
Jonathan Wiltshire j...@debian.org
Debian Developer http://people.debian.org/~jmw
4096R: 0xD3524C51 / 0A55 B7C5 1223 3942 86EC 74C3 5394 479D D352 4C51
<directhex> i have six years of solaris sysadmin experience, from
8->10. i am well qualified to say it is made from bonghits
layered on top of bonghits
signature.asc
Description: Digital signature
--- End Message ---