Your message dated Wed, 25 Mar 2015 21:35:00 +0000
with message-id <[email protected]>
and subject line Bug#780979: fixed in resiprocate 1:1.9.7-5
has caused the Debian Bug report #780979,
regarding assert when SSL_do_handshake returns SSL_ERROR_WANT_WRITE
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 [email protected]
immediately.)
--
780979: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=780979
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: resiprocate
Version: 1.9.7-4
Severity: important
Discussed on upstream mailing list:
http://list.resiprocate.org/archive/resiprocate-devel/msg08840.html
I've observed a fault with the way mInWritable is used.
Normally, when a TLS handshake starts, SSL_do_handshake puts
SSL_ERROR_WANT_READ on the error queue and all is OK.
Very rarely, there is a situation where the TLS client hello came in
very quickly (or was already buffered by the OS) and the call to
SSL_do_handshake puts SSL_ERROR_WANT_WRITE on the error queue.
In this scenario, there is a crash:
- reSIProcate is acting as a server, receives a connection and calls
SSL_do_handshake
- SSL_do_handshake gives SSL_ERROR_WANT_WRITE
- TlsConnection::checkState() calls Connection::ensureWritable()
- Connection::ensureWritable() does
assert(!mOutstandingSends.empty())
- as it is in accepting an incoming connection, there are no outstanding
sends from the application, the assert stops the process
I notice there is a method called transportWrite() that returns true if
TLS is handshaking and wants to read and otherwise it returns false.
Can anybody clarify the exact intention of this method?
I think we need to
a) add some other method, maybe call it isTransportWriting() for
transports like TLS that want to be in the ConnectionManager's write set
at times even when there is no application layer data to write. This
may also apply to situations such as renegotiation or keepalive traffic
for some types of transport.
b) in Connection.cxx, ensure that any attempt to use mOutstandingSends
operates safely even if it is empty - this would probably mean that some
of the other asserts come out of that class too
Can anybody else comment on these issues?
I'd like to find a way to resolve this that can be safely backported to
the 1.9.x release branch without breaking the ABI.
--- End Message ---
--- Begin Message ---
Source: resiprocate
Source-Version: 1:1.9.7-5
We believe that the bug you reported is fixed in the latest version of
resiprocate, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Daniel Pocock <[email protected]> (supplier of updated resiprocate package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 1.8
Date: Sun, 22 Mar 2015 19:30:31 +0100
Source: resiprocate
Binary: libresiprocate-1.9 libresiprocate-1.9-dev librecon-1.9 librecon-1.9-dev
libresiprocate-turn-client-1.9 libresiprocate-turn-client-1.9-dev repro
resiprocate-turn-server sipdialer
Architecture: source amd64
Version: 1:1.9.7-5
Distribution: unstable
Urgency: medium
Maintainer: Debian VoIP Team <[email protected]>
Changed-By: Daniel Pocock <[email protected]>
Description:
librecon-1.9 - reSIProcate conversation manager - shared libraries
librecon-1.9-dev - reSIProcate conversation manager - development files
libresiprocate-1.9 - reSIProcate SIP stack - shared libraries
libresiprocate-1.9-dev - reSIProcate SIP stack - development files
libresiprocate-turn-client-1.9 - reSIProcate TURN client (reTurn) - shared
libraries
libresiprocate-turn-client-1.9-dev - reSIProcate TURN client (reTurn) -
development files
repro - reSIProcate SIP stack - lightweight SIP proxy daemon
resiprocate-turn-server - reSIProcate SIP stack - ICE/TURN server
sipdialer - reSIProcate SIP stack - click-to-call utility
Closes: 780979 780980
Changes:
resiprocate (1:1.9.7-5) unstable; urgency=medium
.
* Make ensureWritable more tolerant. (Closes: #780979)
* Stop logging errors when TLS is shut down cleanly by peer.
(Closes: #780980)
Checksums-Sha1:
b20b065630ae2c4803a3c6921d9739ad2ce06eb8 2846 resiprocate_1.9.7-5.dsc
e2f3ce76daca0075cdd3a72aa557e823bbef7698 28936
resiprocate_1.9.7-5.debian.tar.xz
e40c886ebe2bb769f79a590a0453d476ed9e2402 1214192
libresiprocate-1.9_1.9.7-5_amd64.deb
8b5f17d53754727d9b7ad279eb9f759204fda75b 272374
libresiprocate-1.9-dev_1.9.7-5_amd64.deb
c92592be0b1d0617bd9ad26c881f1d126ad626c9 303080 librecon-1.9_1.9.7-5_amd64.deb
bab913c17d0f7503d4f26b5350b9d323ee9938aa 59180
librecon-1.9-dev_1.9.7-5_amd64.deb
023fbc9d097fa36283607a17c163118ee2e25da9 209418
libresiprocate-turn-client-1.9_1.9.7-5_amd64.deb
10e92e607a7257113936c0920a0a04165fe9a9bf 34270
libresiprocate-turn-client-1.9-dev_1.9.7-5_amd64.deb
3ace7491b1a79e0d61c610ded08ba027fd9d6645 478288 repro_1.9.7-5_amd64.deb
bab101ab37459d3f5f96f4127f5764c4f0b56d44 206956
resiprocate-turn-server_1.9.7-5_amd64.deb
0c26e0060c9febe6c439bff8036f5ab265065386 25164 sipdialer_1.9.7-5_amd64.deb
Checksums-Sha256:
f19713f2454402967da41d723accff282a425cbc803816aa76b1a794251ce8e2 2846
resiprocate_1.9.7-5.dsc
3385379a810e728163e5edf25a107ffc68112a63d0607d7bc5c18aeb26d548ff 28936
resiprocate_1.9.7-5.debian.tar.xz
7d6769d9f2e0b6dbc222117c0d4df8e3d208c6df64e3ea621f71adeb00136525 1214192
libresiprocate-1.9_1.9.7-5_amd64.deb
d19c6c7f437f608a557a13f30c3279144cb655a939ff23ee119ff33014e51c91 272374
libresiprocate-1.9-dev_1.9.7-5_amd64.deb
0a27dff9874ff72204baf01e2d432d66e33f627efb2e8e72986b6870493ceb57 303080
librecon-1.9_1.9.7-5_amd64.deb
0100dfae1b84a2efda4e2de05849d819c63bebaf524eca2fd848314ee6905447 59180
librecon-1.9-dev_1.9.7-5_amd64.deb
a89862f5468a95aa7e0877070e18c9883c1fd5502b338cfbde1f56dc7187ac7c 209418
libresiprocate-turn-client-1.9_1.9.7-5_amd64.deb
27e889156f3ce40ada8f267aa1fad855d83ae54551c6dedb96b57b2121131928 34270
libresiprocate-turn-client-1.9-dev_1.9.7-5_amd64.deb
5f7eddeb0a40573bbcb5bd8aefc048c961cf6462eb54f7ce70d670ccd6c3b1d3 478288
repro_1.9.7-5_amd64.deb
b5c43c3a2447e31646183d6a18a29d2bcc9e78877c3af8e4cd5b03d0e63c70db 206956
resiprocate-turn-server_1.9.7-5_amd64.deb
eb0b209d639651157b5fef98f46a2cf57abe484aaeb67e56d905352338361d0e 25164
sipdialer_1.9.7-5_amd64.deb
Files:
11d20e74be90ab86f03159ffa6a3f9af 2846 libs extra resiprocate_1.9.7-5.dsc
4820529114b28cb20360fa109b09c4e5 28936 libs extra
resiprocate_1.9.7-5.debian.tar.xz
516857f9f4259c383797b552194574cc 1214192 libs extra
libresiprocate-1.9_1.9.7-5_amd64.deb
fb1b7412a55947cacb306cf4af83f68c 272374 libdevel extra
libresiprocate-1.9-dev_1.9.7-5_amd64.deb
30ae9456ea819f26095cfe3d43b5625c 303080 libs extra
librecon-1.9_1.9.7-5_amd64.deb
56b2baecfa2225996e61a45c09644ebe 59180 libdevel extra
librecon-1.9-dev_1.9.7-5_amd64.deb
1c2d974bbf4ecbebb3e2c7118ab8752a 209418 libs extra
libresiprocate-turn-client-1.9_1.9.7-5_amd64.deb
ea0086d2a8702db9a413b42e2dc32a23 34270 libdevel extra
libresiprocate-turn-client-1.9-dev_1.9.7-5_amd64.deb
97c9436dab010ac02a26498ac4a97c81 478288 net extra repro_1.9.7-5_amd64.deb
e49986bfa8794ba713773f8a6a62f0ec 206956 net extra
resiprocate-turn-server_1.9.7-5_amd64.deb
7f7425cedcca5eed5980b45e2493ee2a 25164 net extra sipdialer_1.9.7-5_amd64.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBCAAGBQJVEyZVAAoJEOm1uwJp1aqDgIQP/j6LxyDCWrO+j+nbafOZx0SR
hThxpABgkxExAiVDPGbOeoSehfNUSr8X9cePiNooq+3FO9uviXrnvPbRDBHtwXTK
c0iGo/UzKzD6Q/Y+9vhyQnIXK9M6mP3IxreP4U/J76YNxHq5nWNhX79nGXNUBm1Z
61cGtK4TEeYdquzcJvd7CzjBUOdk/9GWC2ACNMHF64V7caPVhPPZaxX1DvsJ5fmj
yjKYBTIMXtHb34fnAAFc2dsdzVzfELFt2edAKteVBS+xkC2TIYT8aXEJxhIJJ47v
x72Pjyh3cOkeEOQCZZW37IO1R2PX7JtrJbSmbgaOA8s07OKhj+xtX13R4EurEshd
SzHWM6TvNMpXb7QiVZOjNZOr15tpH2fPnOgjijfx2+YC2UkXsNo9Co7Q2cROu8PR
OKhEJMEKn4tgmT5plUDIBmyW3w56GxgjXQ0THewa4WYPuKZmSKM+vh2sCZUewWFP
6JMFWCspued61ZJ08VB0V0Ti6XsvqXt1QovrOOn1fCVoZr7zjwnOGAz6Zhc5PTCc
5re/ajAw8l00aFGg+WO1tL2wl0fx92BSFm4u3VSk+7mFiv37h2hQiefralW86o3b
uMemF676G7N+aW1+zXWOzHtdJREmVhYRcLM+9tiCm6GfyZYoP275oxxmIajT2MRd
D0JOhSkqm1Z4Kchp1YeY
=aBPp
-----END PGP SIGNATURE-----
--- End Message ---