在生产设置中,随机出现opensips错误,表明由于SSL_error_SSL错误导致tls_read失败。
Opensips在tls / tcp会话中失败,并且创建了一个新会话并且工作正常。
请提供有关tls_read因ssl_error_ssl返回代码而失败的原因的任何指示。
Opensips代码调用,
ssl = c->extra_data;
ret = SSL_read(ssl, buf, len);
if (ret >0)
{
}
else
{
err = SSL_get_error(ssl, ret);
switch (err) {
case SSL_ERROR_ZERO_RETURN:
LM_INFO("TLS connection to %s:%d closed cleanly\n",
ip_addr2a(&c->rcv.src_ip), c->rcv.src_port);
/*
* mark end of file
*/
c->state = S_CONN_EOF;
return 0;
case SSL_ERROR_WANT_READ:
case SSL_ERROR_WANT_WRITE:
return 0;
case SSL_ERROR_SYSCALL:
LM_ERR("SYSCALL error -> (%d) <%s>\n",errno,strerror(errno));
default:
LM_ERR("TLS connection to %s:%d read failed\n", ip_addr2a(&c->rcv.src_ip), c->rcv.src_port);
LM_ERR("TLS read error: %d\n",err);
c->state = S_CONN_BAD;
tls_print_errstack();
return -1;
}
我想强调TLS连接已建立正常,并且已成功接收并发送消息。收到第二条消息并调用SSL_read时,出现以下错误,
2018-05-11T11:23:16.000-04:00 [local2] [err] ffd-alpha-zone1-ccm1.ipc.com / usr / sbin / opensipsInternal [10325]:错误:核心:_tls_read:TLS连接到10.204.34.62:51519读取失败 2018-05-11T11:23:16.000-04:00 [local2] [err] ffd-alpha-zone1-ccm1.ipc.com / usr / sbin / opensipsInternal [10325]:错误:核心:_tls_read:TLS读取错误: 1 2018-05-11T11:23:16.000-04:00 [local2] [err] ffd-alpha-zone1-ccm1.ipc.com / usr / sbin / opensipsInternal [10325]:错误:core:tls_print_errstack:TLS errstack:error :140890B2:SSL例程:SSL3_GET_CLIENT_CERTIFICATE:未返回证书
在pcap中,每侧都会重新传输每个tls数据包,当读取该数据包时,数据包似乎是分离数据包的第二部分。
谢谢,