[Home]

Summary:ASTERISK-25088: res_pjsip: Failure to specify cipher in a TLS transport causes a SIGABRT in pjproject
Reporter:George Joseph (gjoseph)Labels:
Date Opened:2015-05-14 16:03:45Date Closed:2015-05-19 21:30:05
Priority:MajorRegression?
Status:Closed/CompleteComponents:Resources/res_pjsip
Versions:13.3.2 Frequency of
Occurrence
Constant
Related
Issues:
Environment:Attachments:
Description:If you set up a tls transport but fail to supply a cipher parameter, asterisk starts ok but SIGABRTs on the first attempt to use that transport.

{code}
#0  0x0000003e2ac348d7 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
#1  0x0000003e2ac3653a in __GI_abort () at abort.c:89
#2  0x0000003e2ac2d47d in __assert_fail_base (fmt=0x3e2ad86cb8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7f1daef81d28 "(void*)rdata->pkt_info.packet == data", file=file@entry=0x7f1daef821b8 "../src/pjsip/sip_transport_tls.c", line=line@entry=1496, function=function@entry=0x7f1daef823a3 <__PRETTY_FUNCTION__.9233> "on_data_read") at assert.c:92
#3  0x0000003e2ac2d532 in __GI___assert_fail (assertion=assertion@entry=0x7f1daef81d28 "(void*)rdata->pkt_info.packet == data", file=file@entry=0x7f1daef821b8 "../src/pjsip/sip_transport_tls.c", line=line@entry=1496, function=function@entry=0x7f1daef823a3 <__PRETTY_FUNCTION__.9233> "on_data_read") at assert.c:101
#4  0x00007f1daef6ecb1 in on_data_read (ssock=<optimized out>, data=0x7f1c6800d9ec, size=518, status=<optimized out>, remainder=0x7f1d49030490) at ../src/pjsip/sip_transport_tls.c:1496
#5  0x00007f1dadc378cc in asock_on_data_read (asock=<optimized out>, data=0x7f1c6801d448, size=<optimized out>, status=0, remainder=0x7f1d49030500) at ../src/pj/ssl_sock_ossl.c:1494
#6  0x00007f1dadc2c2f0 in ioqueue_on_read_complete (key=0x1fc2170, op_key=0x7f1c68025758, bytes_read=586)
   at ../src/pj/activesock.c:490
#7  0x00007f1dadc26e2f in ioqueue_dispatch_read_event (ioqueue=ioqueue@entry=0x1fc5c70, h=h@entry=0x1fc2170)
   at ../src/pj/ioqueue_common_abs.c:591
#8  0x00007f1dadc28840 in pj_ioqueue_poll (ioqueue=0x1fc5c70, timeout=timeout@entry=0x7f1d49030d60)
   at ../src/pj/ioqueue_select.c:963
#9  0x00007f1daef624ec in pjsip_endpt_handle_events2 (endpt=0x1fb5928, max_timeout=max_timeout@entry=0x7f1d49030db0, p_count=p_count@entry=0x0) at ../src/pjsip/sip_endpoint.c:741
#10 0x00007f1daef62597 in pjsip_endpt_handle_events (endpt=<optimized out>, max_timeout=max_timeout@entry=0x7f1d49030db0) at ../src/pjsip/sip_endpoint.c:769
#11 0x00007f1dad1bff48 in monitor_thread_exec (endpt=<optimized out>) at res_pjsip.c:3390
#12 0x00007f1dadc29b8a in thread_main (param=0x1fb6938) at ../src/pj/os_core_unix.c:523
#13 0x0000003e2b80752a in start_thread (arg=0x7f1d49031700) at pthread_create.c:310
#14 0x0000003e2ad0022d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
{code}

{code}
[ipv4-tls]
type = transport
async_operations = 10
bind = 0.0.0.0:41061
external_media_address = 999.999.211.10
external_signaling_address = 999.999.211.10
external_signaling_port = 41061
protocol = tls
local_net = 192.168.1.0/24
ca_list_file = /var/lib/asterisk/keys/myca.crt
priv_key_file = /var/lib/asterisk/keys/my.pem
cert_file = /var/lib/asterisk/keys/my.crt
;;;cipher=ADH-AES256-SHA,ADH-AES128-SHA
method=tlsv1
{code}


Comments:By: George Joseph (gjoseph) 2015-05-15 17:13:03.779-0500

I'l still investigating this issue.  It *may* be a result of a bad pjproject install.


By: George Joseph (gjoseph) 2015-05-19 21:30:05.746-0500

I haven't been able to reproduce this so I'm chalking it up to pjproject version inconsistencies.