-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/2783/
-----------------------------------------------------------
(Updated Oct. 13, 2014, 1:59 p.m.)
Status
------
This change has been discarded.
Review request for Asterisk Developers.
Bugs: ASTERISK-18345
https://issues.asterisk.org/jira/browse/ASTERISK-18345
Repository: Asterisk
Description
-------
Symptom: Asterisk drops a SIP/TLS connection: debugging reports that it has
failed to read it.
I can reproduce this on my system when the TLS client is Asterisk 11.5
(installed from the Debian package) set with 'allow=all' to get a long list of
codecs.
Calling ast_wait_for_input before every fgets is not sufficient.
Function fgets internally calls read (=> SSL_read) until either "\n" or
eof is found. And because the socket is polled only before the first
SSL_read call, consequent calls can fail and return <=0 even though the
data are on the way.
This is fixed by adding a read() loop inside the ssl_read() hook.
I came accross this patch today and it looks like it fixes my problem (see my
comment at the end). The patch I used is by Filip Jenicek. See the bug report
for the full log.
Diffs
-----
/trunk/main/tcptls.c 397346
Diff: https://reviewboard.asterisk.org/r/2783/diff/
Testing
-------
Work on trunk.
Thanks,
Tzafrir Cohen
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-dev