Go to the documentation of this file.
19 #ifdef ZMQ_ZAP_ENFORCE_DOMAIN
20 int required = server_secret_ ? *
static_cast<int *
> (server_secret_) : 0;
22 &required,
sizeof (
int)));
76 #ifdef ZMQ_ZAP_ENFORCE_DOMAIN
79 &required,
sizeof (
int)));
99 const char *expected_routing_id_)
104 zmq_connect (control,
"inproc://handler-control"));
122 while (
zmq_poll (items, numitems, -1) >= 0) {
143 bool authentication_succeeded =
false;
144 if (
streq (mechanism,
"CURVE")) {
145 uint8_t client_key[32];
149 char client_key_text[41];
152 authentication_succeeded =
154 }
else if (
streq (mechanism,
"PLAIN")) {
155 char client_username[32];
158 client_username[
size] = 0;
160 char client_password[32];
163 client_password[
size] = 0;
165 authentication_succeeded =
168 }
else if (
streq (mechanism,
"NULL")) {
169 authentication_succeeded =
true;
172 printf (
"Unsupported mechanism: %s\n", mechanism);
185 ?
"invalid_request_id"
189 if (authentication_succeeded) {
190 const char *status_code;
191 switch (zap_protocol_) {
199 status_code =
"invalid_status";
245 const char *monitor_endpoint_)
249 server_, monitor_endpoint_,
271 void *socket_config_data_,
272 const char *routing_id_)
280 zmq_bind (*zap_control_,
"inproc://handler-control"));
285 if (zap_handler_ !=
NULL) {
298 int64_t max_msg_size = 64 * 1024 * 1024;
302 socket_config_ (*server_, socket_config_data_);
309 const char server_monitor_endpoint[] =
"inproc://monitor-server";
311 server_monitor_endpoint);
318 bool zap_handler_stopped_)
320 if (zap_thread_ && !zap_handler_stopped_) {
324 zmq_unbind (zap_control_,
"inproc://handler-control"));
340 void *socket_config_data_,
346 int64_t max_msg_size = 64 * 1024 * 1024;
350 socket_config_ (
client, socket_config_data_);
356 "inproc://client-monitor");
365 void *socket_config_data_,
367 int expected_client_event_,
368 int expected_client_value_)
370 void *my_client_mon =
NULL;
372 if (expected_client_event_ != 0)
373 client_mon_ = &my_client_mon;
375 socket_config_data_, client_mon_);
378 if (expected_client_event_ != 0) {
379 int events_received = 0;
381 my_client_mon, expected_client_event_, expected_client_value_,
false);
void() socket_config_fn(void *, void *)
#define TEST_ASSERT_EQUAL_STRING(expected, actual)
void socket_config_null_client(void *server_, void *server_secret_)
@ zap_status_internal_error
static void setup_handshake_socket_monitor(void *server_, void **server_mon_, const char *monitor_endpoint_)
#define ZMQ_EVENT_HANDSHAKE_FAILED_NO_DETAIL
void expect_new_client_bounce_fail(char *my_endpoint_, void *server_, socket_config_fn socket_config_, void *socket_config_data_, void **client_mon_, int expected_client_event_, int expected_client_value_)
#define ZMQ_EVENT_HANDSHAKE_FAILED_AUTH
#define ZMQ_PLAIN_USERNAME
ZMQ_EXPORT void * zmq_threadstart(zmq_thread_fn *func_, void *arg_)
const char * client_public
#define ZMQ_ZAP_ENFORCE_DOMAIN
void setup_context_and_server_side(void **zap_control_, void **zap_thread_, void **server_, void **server_mon_, char *my_endpoint_, zmq_thread_fn zap_handler_, socket_config_fn socket_config_, void *socket_config_data_, const char *routing_id_)
ZMQ_EXPORT int zmq_unbind(void *s_, const char *addr_)
ZMQ_EXPORT int zmq_socket_monitor(void *s_, const char *addr_, int events_)
#define TEST_ASSERT_TRUE(condition)
ZMQ_EXPORT int zmq_poll(zmq_pollitem_t *items_, int nitems_, long timeout_)
#define ZMQ_CURVE_SECRETKEY
void zap_handler_generic(zap_protocol_t zap_protocol_, const char *expected_routing_id_)
const char * server_public
#define ZMQ_PLAIN_PASSWORD
#define ZMQ_CURVE_SERVERKEY
void bind_loopback_ipv4(void *socket_, char *my_endpoint_, size_t len_)
void * get_test_context()
void() zmq_thread_fn(void *)
static NULL curve_client_data_t curve_client_data
void * test_context_socket_close_zero_linger(void *socket_)
void close_zero_linger(void *socket_)
#define TEST_FAIL_MESSAGE(message)
char * s_recv(void *socket_)
ZMQ_EXPORT int zmq_connect(void *s_, const char *addr_)
ZMQ_EXPORT int zmq_atomic_counter_inc(void *counter_)
char valid_server_secret[41]
#define ZMQ_EVENT_HANDSHAKE_SUCCEEDED
void socket_config_plain_server(void *server_, void *server_secret_)
void socket_config_plain_client(void *server_, void *server_secret_)
ZMQ_EXPORT char * zmq_z85_encode(char *dest_, const uint8_t *data_, size_t size_)
ZMQ_EXPORT int zmq_setsockopt(void *s_, int option_, const void *optval_, size_t optvallen_)
ZMQ_EXPORT void zmq_threadclose(void *thread_)
ZMQ_EXPORT void * zmq_atomic_counter_new(void)
void socket_config_curve_server(void *server_, void *server_secret_)
#define LIBZMQ_UNUSED(object)
void socket_config_null_server(void *server_, void *server_secret_)
char valid_client_public[41]
const char * test_zap_domain
void shutdown_context_and_server_side(void *zap_thread_, void *server_, void *server_mon_, void *zap_control_, bool zap_handler_stopped_)
#define MAX_SOCKET_STRING
ZMQ_EXPORT int zmq_bind(void *s_, const char *addr_)
ZMQ_EXPORT void * zmq_socket(void *, int type_)
void * test_context_socket(int type_)
#define TEST_ASSERT_EQUAL_INT(expected, actual)
bool streq(const char *lhs_, const char *rhs_)
@ zap_status_temporary_failure
ZMQ_EXPORT int zmq_curve_keypair(char *z85_public_key_, char *z85_secret_key_)
void expect_bounce_fail(void *server_, void *client_)
void send_string_expect_success(void *socket_, const char *str_, int flags_)
ZMQ_EXPORT int zmq_recv(void *s_, void *buf_, size_t len_, int flags_)
void * create_and_connect_client(char *my_endpoint_, socket_config_fn socket_config_, void *socket_config_data_, void **client_mon_)
int expect_monitor_event_multiple(void *server_mon_, int expected_event_, int expected_err_, bool optional_)
static const char test_plain_username[]
void recv_string_expect_success(void *socket_, const char *str_, int flags_)
char valid_server_public[41]
char valid_client_secret[41]
#define ZMQ_EVENT_HANDSHAKE_FAILED_PROTOCOL
ZMQ_EXPORT void zmq_atomic_counter_destroy(void **counter_p_)
void socket_config_curve_client(void *client_, void *data_)
static const char test_plain_password[]
const char * client_secret
void * test_context_socket_close(void *socket_)
#define TEST_ASSERT_NOT_NULL(pointer)
#define TEST_ASSERT_SUCCESS_ERRNO(expr)
#define ZMQ_CURVE_PUBLICKEY
void setup_testutil_security_curve()
void * zap_requests_handled
libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:59