mirror of
https://github.com/zeromq/libzmq.git
synced 2025-03-09 15:26:04 +00:00
Revert "oblige the application to explicitely set the node type for PLAIN"
This reverts commit 1206f4572b4b3bb405a14cc60605b75d53b819a0.
This commit is contained in:
parent
9e66685c08
commit
22eb4d600b
@ -269,10 +269,10 @@ ZMQ_EXPORT int zmq_msg_set (zmq_msg_t *msg, int option, int optval);
|
|||||||
#define ZMQ_ROUTER_RAW 41
|
#define ZMQ_ROUTER_RAW 41
|
||||||
#define ZMQ_IPV6 42
|
#define ZMQ_IPV6 42
|
||||||
#define ZMQ_MECHANISM 43
|
#define ZMQ_MECHANISM 43
|
||||||
#define ZMQ_PLAIN_NODE 44
|
#define ZMQ_PLAIN_SERVER 44
|
||||||
#define ZMQ_PLAIN_USERNAME 45
|
#define ZMQ_PLAIN_USERNAME 45
|
||||||
#define ZMQ_PLAIN_PASSWORD 46
|
#define ZMQ_PLAIN_PASSWORD 46
|
||||||
#define ZMQ_CURVE_NODE 47
|
#define ZMQ_CURVE_SERVER 47
|
||||||
#define ZMQ_CURVE_OUR_PERMA_PUB_KEY 48
|
#define ZMQ_CURVE_OUR_PERMA_PUB_KEY 48
|
||||||
#define ZMQ_CURVE_OUR_PERMA_SEC_KEY 49
|
#define ZMQ_CURVE_OUR_PERMA_SEC_KEY 49
|
||||||
#define ZMQ_CURVE_PEER_PERMA_PUB_KEY 50
|
#define ZMQ_CURVE_PEER_PERMA_PUB_KEY 50
|
||||||
|
@ -275,10 +275,10 @@ int zmq::options_t::setsockopt (int option_, const void *optval_,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ZMQ_PLAIN_NODE:
|
case ZMQ_PLAIN_SERVER:
|
||||||
if (is_int && (value == ZMQ_CLIENT || value == ZMQ_SERVER)) {
|
if (is_int && (value == 0 || value == 1)) {
|
||||||
as_server = value;
|
as_server = value;
|
||||||
mechanism = ZMQ_PLAIN;
|
mechanism = value? ZMQ_PLAIN: ZMQ_NULL;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -291,6 +291,7 @@ int zmq::options_t::setsockopt (int option_, const void *optval_,
|
|||||||
else
|
else
|
||||||
if (optvallen_ > 0 && optvallen_ < 256 && optval_ != NULL) {
|
if (optvallen_ > 0 && optvallen_ < 256 && optval_ != NULL) {
|
||||||
plain_username.assign ((const char *) optval_, optvallen_);
|
plain_username.assign ((const char *) optval_, optvallen_);
|
||||||
|
as_server = 0;
|
||||||
mechanism = ZMQ_PLAIN;
|
mechanism = ZMQ_PLAIN;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -304,6 +305,7 @@ int zmq::options_t::setsockopt (int option_, const void *optval_,
|
|||||||
else
|
else
|
||||||
if (optvallen_ > 0 && optvallen_ < 256 && optval_ != NULL) {
|
if (optvallen_ > 0 && optvallen_ < 256 && optval_ != NULL) {
|
||||||
plain_password.assign ((const char *) optval_, optvallen_);
|
plain_password.assign ((const char *) optval_, optvallen_);
|
||||||
|
as_server = 0;
|
||||||
mechanism = ZMQ_PLAIN;
|
mechanism = ZMQ_PLAIN;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -318,7 +320,7 @@ int zmq::options_t::setsockopt (int option_, const void *optval_,
|
|||||||
|
|
||||||
// If libsodium isn't installed, these options provoke EINVAL
|
// If libsodium isn't installed, these options provoke EINVAL
|
||||||
# ifdef HAVE_LIBSODIUM
|
# ifdef HAVE_LIBSODIUM
|
||||||
case ZMQ_CURVE_NODE:
|
case ZMQ_CURVE_SERVER:
|
||||||
if (is_int && (value == ZMQ_CLIENT || value == ZMQ_SERVER)) {
|
if (is_int && (value == ZMQ_CLIENT || value == ZMQ_SERVER)) {
|
||||||
as_server = value;
|
as_server = value;
|
||||||
mechanism = ZMQ_CURVE;
|
mechanism = ZMQ_CURVE;
|
||||||
@ -540,9 +542,9 @@ int zmq::options_t::getsockopt (int option_, void *optval_, size_t *optvallen_)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ZMQ_PLAIN_NODE:
|
case ZMQ_PLAIN_SERVER:
|
||||||
if (is_int) {
|
if (is_int) {
|
||||||
*value = as_server;
|
*value = as_server && mechanism == ZMQ_PLAIN;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -573,7 +575,7 @@ int zmq::options_t::getsockopt (int option_, void *optval_, size_t *optvallen_)
|
|||||||
|
|
||||||
// If libsodium isn't installed, these options provoke EINVAL
|
// If libsodium isn't installed, these options provoke EINVAL
|
||||||
# ifdef HAVE_LIBSODIUM
|
# ifdef HAVE_LIBSODIUM
|
||||||
case ZMQ_CURVE_NODE:
|
case ZMQ_CURVE_SERVER:
|
||||||
if (is_int) {
|
if (is_int) {
|
||||||
*value = as_server;
|
*value = as_server;
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -103,7 +103,7 @@ int main (void)
|
|||||||
void *server = zmq_socket (ctx, ZMQ_DEALER);
|
void *server = zmq_socket (ctx, ZMQ_DEALER);
|
||||||
assert (server);
|
assert (server);
|
||||||
int as_server = ZMQ_SERVER;
|
int as_server = ZMQ_SERVER;
|
||||||
rc = zmq_setsockopt (server, ZMQ_CURVE_NODE, &as_server, sizeof (int));
|
rc = zmq_setsockopt (server, ZMQ_CURVE_SERVER, &as_server, sizeof (int));
|
||||||
assert (rc == 0);
|
assert (rc == 0);
|
||||||
rc = zmq_setsockopt (server, ZMQ_CURVE_OUR_PERMA_SEC_KEY, server_secret, 40);
|
rc = zmq_setsockopt (server, ZMQ_CURVE_OUR_PERMA_SEC_KEY, server_secret, 40);
|
||||||
assert (rc == 0);
|
assert (rc == 0);
|
||||||
@ -116,7 +116,7 @@ int main (void)
|
|||||||
void *client = zmq_socket (ctx, ZMQ_DEALER);
|
void *client = zmq_socket (ctx, ZMQ_DEALER);
|
||||||
assert (client);
|
assert (client);
|
||||||
as_server = ZMQ_CLIENT;
|
as_server = ZMQ_CLIENT;
|
||||||
rc = zmq_setsockopt (client, ZMQ_CURVE_NODE, &as_server, sizeof (int));
|
rc = zmq_setsockopt (client, ZMQ_CURVE_SERVER, &as_server, sizeof (int));
|
||||||
assert (rc == 0);
|
assert (rc == 0);
|
||||||
rc = zmq_setsockopt (client, ZMQ_CURVE_PEER_PERMA_PUB_KEY, server_public, 40);
|
rc = zmq_setsockopt (client, ZMQ_CURVE_PEER_PERMA_PUB_KEY, server_public, 40);
|
||||||
assert (rc == 0);
|
assert (rc == 0);
|
||||||
|
@ -87,8 +87,8 @@ int main (void)
|
|||||||
assert (server);
|
assert (server);
|
||||||
int rc = zmq_setsockopt (server, ZMQ_IDENTITY, "IDENT", 6);
|
int rc = zmq_setsockopt (server, ZMQ_IDENTITY, "IDENT", 6);
|
||||||
assert (rc == 0);
|
assert (rc == 0);
|
||||||
int as_server = ZMQ_SERVER;
|
int as_server = 1;
|
||||||
rc = zmq_setsockopt (server, ZMQ_PLAIN_NODE, &as_server, sizeof (int));
|
rc = zmq_setsockopt (server, ZMQ_PLAIN_SERVER, &as_server, sizeof (int));
|
||||||
assert (rc == 0);
|
assert (rc == 0);
|
||||||
rc = zmq_bind (server, "tcp://*:9998");
|
rc = zmq_bind (server, "tcp://*:9998");
|
||||||
assert (rc == 0);
|
assert (rc == 0);
|
||||||
@ -99,9 +99,6 @@ int main (void)
|
|||||||
// Check PLAIN security with correct username/password
|
// Check PLAIN security with correct username/password
|
||||||
void *client = zmq_socket (ctx, ZMQ_DEALER);
|
void *client = zmq_socket (ctx, ZMQ_DEALER);
|
||||||
assert (client);
|
assert (client);
|
||||||
as_server = ZMQ_CLIENT;
|
|
||||||
rc = zmq_setsockopt (server, ZMQ_PLAIN_NODE, &as_server, sizeof (int));
|
|
||||||
assert (rc == 0);
|
|
||||||
strcpy (username, "admin");
|
strcpy (username, "admin");
|
||||||
rc = zmq_setsockopt (client, ZMQ_PLAIN_USERNAME, username, strlen (username));
|
rc = zmq_setsockopt (client, ZMQ_PLAIN_USERNAME, username, strlen (username));
|
||||||
assert (rc == 0);
|
assert (rc == 0);
|
||||||
@ -119,7 +116,7 @@ int main (void)
|
|||||||
client = zmq_socket (ctx, ZMQ_DEALER);
|
client = zmq_socket (ctx, ZMQ_DEALER);
|
||||||
assert (client);
|
assert (client);
|
||||||
as_server = 1;
|
as_server = 1;
|
||||||
rc = zmq_setsockopt (client, ZMQ_PLAIN_NODE, &as_server, sizeof (int));
|
rc = zmq_setsockopt (client, ZMQ_PLAIN_SERVER, &as_server, sizeof (int));
|
||||||
assert (rc == 0);
|
assert (rc == 0);
|
||||||
rc = zmq_connect (client, "tcp://localhost:9998");
|
rc = zmq_connect (client, "tcp://localhost:9998");
|
||||||
assert (rc == 0);
|
assert (rc == 0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user