diff --git a/tests/test_security_gssapi.cpp b/tests/test_security_gssapi.cpp index 8c37c4e0..38dc475f 100644 --- a/tests/test_security_gssapi.cpp +++ b/tests/test_security_gssapi.cpp @@ -59,6 +59,7 @@ static volatile int zap_deny_all = 0; // by reference, if not null, and event number by value. Returns -1 // in case of error. +#ifdef ZMQ_BUILD_DRAFT_API static int get_monitor_event (void *monitor, int *value, char **address) { @@ -89,6 +90,7 @@ get_monitor_event (void *monitor, int *value, char **address) } return event; } +#endif // -------------------------------------------------------------------------- // This methods receives and validates ZAP requestes (allowing or denying @@ -151,10 +153,12 @@ void test_valid_creds (void *ctx, void *server, void *server_mon, char *endpoint rc = zmq_setsockopt (client, ZMQ_GSSAPI_PRINCIPAL, name, strlen (name) + 1); assert (rc == 0); +#ifdef ZMQ_BUILD_DRAFT_API int name_type = ZMQ_GSSAPI_NT_HOSTBASED; rc = zmq_setsockopt (client, ZMQ_GSSAPI_PRINCIPAL_NAMETYPE, &name_type, sizeof (name_type)); assert (rc == 0); +#endif rc = zmq_connect (client, endpoint); assert (rc == 0); @@ -162,8 +166,10 @@ void test_valid_creds (void *ctx, void *server, void *server_mon, char *endpoint rc = zmq_close (client); assert (rc == 0); +#ifdef ZMQ_BUILD_DRAFT_API int event = get_monitor_event (server_mon, NULL, NULL); - assert (event == ZMQ_EVENT_HANDSHAKE_SUCCEED); + assert (event == ZMQ_EVENT_HANDSHAKE_SUCCEEDED); +#endif } // Check security with valid but unauthorized credentials @@ -179,10 +185,12 @@ void test_unauth_creds (void *ctx, void *server, void *server_mon, char *endpoin rc = zmq_setsockopt (client, ZMQ_GSSAPI_PRINCIPAL, name, strlen (name) + 1); assert (rc == 0); +#ifdef ZMQ_BUILD_DRAFT_API int name_type = ZMQ_GSSAPI_NT_HOSTBASED; rc = zmq_setsockopt (client, ZMQ_GSSAPI_PRINCIPAL_NAMETYPE, &name_type, sizeof (name_type)); assert (rc == 0); +#endif zap_deny_all = 1; rc = zmq_connect (client, endpoint); assert (rc == 0); @@ -190,8 +198,10 @@ void test_unauth_creds (void *ctx, void *server, void *server_mon, char *endpoin expect_bounce_fail (server, client); close_zero_linger (client); +#ifdef ZMQ_BUILD_DRAFT_API int event = get_monitor_event (server_mon, NULL, NULL); - assert (event == ZMQ_EVENT_HANDSHAKE_FAILED); + assert (event == ZMQ_EVENT_HANDSHAKE_FAILED_AUTH); +#endif } // Check GSSAPI security with NULL client credentials @@ -205,8 +215,10 @@ void test_null_creds (void *ctx, void *server, void *server_mon, char *endpoint) expect_bounce_fail (server, client); close_zero_linger (client); +#ifdef ZMQ_BUILD_DRAFT_API int event = get_monitor_event (server_mon, NULL, NULL); - assert (event == ZMQ_EVENT_HANDSHAKE_FAILED); + assert (event == ZMQ_EVENT_HANDSHAKE_FAILED_AUTH); +#endif } // Check GSSAPI security with PLAIN client credentials @@ -292,23 +304,30 @@ int main (void) rc = zmq_setsockopt (server, ZMQ_GSSAPI_PRINCIPAL, name, strlen (name) + 1); assert (rc == 0); +#ifdef ZMQ_BUILD_DRAFT_API int name_type = ZMQ_GSSAPI_NT_HOSTBASED; rc = zmq_setsockopt (server, ZMQ_GSSAPI_PRINCIPAL_NAMETYPE, &name_type, sizeof (name_type)); assert (rc == 0); +#endif rc = zmq_bind (server, "tcp://127.0.0.1:*"); assert (rc == 0); rc = zmq_getsockopt (server, ZMQ_LAST_ENDPOINT, my_endpoint, &len); assert (rc == 0); +#ifdef ZMQ_BUILD_DRAFT_API // Monitor handshake events on the server rc = zmq_socket_monitor (server, "inproc://monitor-server", - ZMQ_EVENT_HANDSHAKE_SUCCEED | ZMQ_EVENT_HANDSHAKE_FAILED); + ZMQ_EVENT_HANDSHAKE_SUCCEEDED | ZMQ_EVENT_HANDSHAKE_FAILED_AUTH); assert (rc == 0); +#endif // Create socket for collecting monitor events - void *server_mon = zmq_socket (ctx, ZMQ_PAIR); + void *server_mon = NULL; +#ifdef ZMQ_BUILD_DRAFT_API + server_mon = zmq_socket (ctx, ZMQ_PAIR); assert (server_mon); +#endif // Connect it to the inproc endpoints so they'll get events rc = zmq_connect (server_mon, "inproc://monitor-server"); @@ -322,7 +341,9 @@ int main (void) test_unauth_creds (ctx, server, server_mon, my_endpoint); // Shutdown +#ifdef ZMQ_BUILD_DRAFT_API close_zero_linger (server_mon); +#endif rc = zmq_close (server); assert (rc == 0); rc = zmq_ctx_term (ctx);