mirror of
https://github.com/zeromq/libzmq.git
synced 2025-03-10 07:56:09 +00:00
Problem: WSS-specific members and options are compiled without ZMQ_HAVE_WSS
Solution: properly guard members and options
This commit is contained in:
parent
9e548bd591
commit
30e2398e67
@ -786,6 +786,7 @@ int zmq::options_t::setsockopt (int option_,
|
||||
}
|
||||
break;
|
||||
|
||||
#ifdef ZMQ_HAVE_WSS
|
||||
case ZMQ_WSS_KEY_PEM:
|
||||
// TODO: check if valid certificate
|
||||
wss_key_pem = std::string ((char *) optval_, optvallen_);
|
||||
@ -804,7 +805,7 @@ int zmq::options_t::setsockopt (int option_,
|
||||
case ZMQ_WSS_TRUST_SYSTEM:
|
||||
return do_setsockopt_int_as_bool_strict (optval_, optvallen_,
|
||||
&wss_trust_system);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
default:
|
||||
|
@ -114,15 +114,20 @@ zmq::session_base_t::session_base_t (class io_thread_t *io_thread_,
|
||||
_socket (socket_),
|
||||
_io_thread (io_thread_),
|
||||
_has_linger_timer (false),
|
||||
_addr (addr_),
|
||||
_addr (addr_)
|
||||
#ifdef ZMQ_HAVE_WSS
|
||||
,
|
||||
_wss_hostname (NULL)
|
||||
#endif
|
||||
{
|
||||
#ifdef ZMQ_HAVE_WSS
|
||||
if (options_.wss_hostname.length () > 0) {
|
||||
_wss_hostname =
|
||||
static_cast<char *> (malloc (options_.wss_hostname.length () + 1));
|
||||
assert (_wss_hostname);
|
||||
strcpy (_wss_hostname, options_.wss_hostname.c_str ());
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
const zmq::endpoint_uri_pair_t &zmq::session_base_t::get_endpoint () const
|
||||
@ -145,8 +150,10 @@ zmq::session_base_t::~session_base_t ()
|
||||
if (_engine)
|
||||
_engine->terminate ();
|
||||
|
||||
#ifdef ZMQ_HAVE_WSS
|
||||
if (_wss_hostname)
|
||||
free (_wss_hostname);
|
||||
#endif
|
||||
|
||||
LIBZMQ_DELETE (_addr);
|
||||
}
|
||||
|
@ -192,9 +192,11 @@ class session_base_t : public own_t, public io_object_t, public i_pipe_events
|
||||
// Protocol and address to use when connecting.
|
||||
address_t *_addr;
|
||||
|
||||
#ifdef ZMQ_HAVE_WSS
|
||||
// TLS handshake, we need to take a copy when the session is created,
|
||||
// in order to maintain the value at the creation time
|
||||
char *_wss_hostname;
|
||||
#endif
|
||||
|
||||
ZMQ_NON_COPYABLE_NOR_MOVABLE (session_base_t)
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user