提交 5ae7ebc1 authored 作者: Viktor Krikun's avatar Viktor Krikun 提交者: Travis Cross

Fix mistaken NO_ZRTP_QUICK events after Hello received

(closes #20)
上级 5a61e580
......@@ -129,7 +129,7 @@
* over CSD channels. This option affect enterprise version of the library only.
*/
#ifndef ZRTP_BUILD_FOR_CSD
#define ZRTP_BUILD_FOR_CSD 1
#define ZRTP_BUILD_FOR_CSD 0
#endif
/**
......
......@@ -698,6 +698,9 @@ struct zrtp_stream_t
*/
zrtp_state_t prev_state;
/** 1 means that peer Hello have been raceived within current ZRTP session */
uint8_t is_hello_received;
/*!< Reflects current state of ZRTP protocol */
zrtp_state_t state;
......
......@@ -12,8 +12,8 @@
#define LIBZRTP_VERSION_MAJOR 1
#define LIBZRTP_VERSION_MINOR 0
#define LIBZRTP_VERSION_BUILD 591
#define LIBZRTP_VERSION_STR "v1.00 590"
#define LIBZRTP_VERSION_MINOR 10
#define LIBZRTP_VERSION_BUILD 593
#define LIBZRTP_VERSION_STR "v1.10 593"
#endif /*__ZRTP_VERSION_H__*/
......@@ -428,6 +428,7 @@ zrtp_status_t zrtp_stream_attach(zrtp_session_t *session, zrtp_stream_t** stream
new_stream->session = session;
new_stream->zrtp = session->zrtp;
new_stream->mitm_mode = ZRTP_MITM_MODE_UNKN;
new_stream->is_hello_received = 0;
ZSTR_SET_EMPTY(new_stream->cc.hmackey);
ZSTR_SET_EMPTY(new_stream->cc.peer_hmackey);
......
......@@ -1226,6 +1226,7 @@ zrtp_status_t _zrtp_machine_process_hello(zrtp_stream_t* stream, zrtp_rtp_info_t
/* Copy packet for future hashing */
zrtp_memcpy(&stream->messages.peer_hello, peer_hello, zrtp_ntoh16(peer_hello->hdr.length)*4);
stream->is_hello_received = 1;
/*
* Choose PK exchange scheme and PK mode.
......@@ -1250,7 +1251,7 @@ zrtp_status_t _zrtp_machine_process_hello(zrtp_stream_t* stream, zrtp_rtp_info_t
/*---------------------------------------------------------------------------*/
static void _send_and_resend_hello(zrtp_stream_t* stream, zrtp_retry_task_t* task)
{
if (task->_retrys == ZRTP_NO_ZRTP_FAST_COUNT) {
if ((task->_retrys == ZRTP_NO_ZRTP_FAST_COUNT) && !stream->is_hello_received) {
ZRTP_LOG(2,(_ZTU_,"WARNING! HELLO have been resent %d times without a response."
" Raising ZRTP_EVENT_NO_ZRTP_QUICK event. ID=%u\n", task->_retrys, stream->id));
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论