mirror of
https://github.com/zeromq/libzmq.git
synced 2025-10-15 07:14:49 +02:00
Fixed issue #2227 second part
- removed the previously added encryption_error, less changes less bug - handshake fail is now signaled when an error happen while the mechanism is still hanshaking
This commit is contained in:
@@ -421,8 +421,7 @@ void zmq::session_base_t::engine_error (
|
|||||||
if (pipe)
|
if (pipe)
|
||||||
clean_pipes ();
|
clean_pipes ();
|
||||||
|
|
||||||
zmq_assert (reason == stream_engine_t::encryption_error
|
zmq_assert (reason == stream_engine_t::connection_error
|
||||||
|| reason == stream_engine_t::connection_error
|
|
||||||
|| reason == stream_engine_t::timeout_error
|
|| reason == stream_engine_t::timeout_error
|
||||||
|| reason == stream_engine_t::protocol_error);
|
|| reason == stream_engine_t::protocol_error);
|
||||||
|
|
||||||
@@ -434,7 +433,6 @@ void zmq::session_base_t::engine_error (
|
|||||||
else
|
else
|
||||||
terminate ();
|
terminate ();
|
||||||
break;
|
break;
|
||||||
case stream_engine_t::encryption_error:
|
|
||||||
case stream_engine_t::protocol_error:
|
case stream_engine_t::protocol_error:
|
||||||
terminate ();
|
terminate ();
|
||||||
break;
|
break;
|
||||||
|
@@ -356,9 +356,6 @@ void zmq::stream_engine_t::in_event ()
|
|||||||
// or the session has rejected the message.
|
// or the session has rejected the message.
|
||||||
if (rc == -1) {
|
if (rc == -1) {
|
||||||
if (errno != EAGAIN) {
|
if (errno != EAGAIN) {
|
||||||
if(this->process_msg == &stream_engine_t::process_handshake_command)
|
|
||||||
error(encryption_error);
|
|
||||||
else
|
|
||||||
error(protocol_error);
|
error(protocol_error);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -981,7 +978,7 @@ void zmq::stream_engine_t::error (error_reason_t reason)
|
|||||||
}
|
}
|
||||||
zmq_assert (session);
|
zmq_assert (session);
|
||||||
#ifdef ZMQ_BUILD_DRAFT_API
|
#ifdef ZMQ_BUILD_DRAFT_API
|
||||||
if(reason == encryption_error)
|
if(mechanism->status() == mechanism_t::handshaking)
|
||||||
socket->event_handshake_failed(endpoint, (int) s);
|
socket->event_handshake_failed(endpoint, (int) s);
|
||||||
#endif
|
#endif
|
||||||
socket->event_disconnected (endpoint, (int) s);
|
socket->event_disconnected (endpoint, (int) s);
|
||||||
|
@@ -65,8 +65,7 @@ namespace zmq
|
|||||||
enum error_reason_t {
|
enum error_reason_t {
|
||||||
protocol_error,
|
protocol_error,
|
||||||
connection_error,
|
connection_error,
|
||||||
timeout_error,
|
timeout_error
|
||||||
encryption_error
|
|
||||||
};
|
};
|
||||||
|
|
||||||
stream_engine_t (fd_t fd_, const options_t &options_,
|
stream_engine_t (fd_t fd_, const options_t &options_,
|
||||||
|
Reference in New Issue
Block a user