31 #if defined (ZMQ_HAVE_WINDOWS) 32 # include <winsock2.h> 33 # include <ws2tcpip.h> 35 # define close closesocket 37 # include <sys/socket.h> 38 # include <netinet/in.h> 39 # include <arpa/inet.h> 57 char *version =
s_recv (handler);
61 char *sequence =
s_recv (handler);
62 char *domain =
s_recv (handler);
64 char *identity =
s_recv (handler);
65 char *mechanism =
s_recv (handler);
66 uint8_t client_key [32];
70 char client_key_text [41];
73 assert (
streq (version,
"1.0"));
74 assert (
streq (mechanism,
"CURVE"));
75 assert (
streq (identity,
"IDENT"));
88 s_sendmore (handler,
"Invalid client public key");
105 #ifndef ZMQ_HAVE_CURVE 106 printf (
"CURVE encryption not installed, skipping test\n");
124 rc =
zmq_bind (handler,
"inproc://zeromq.zap.01");
138 rc =
zmq_bind (server,
"tcp://127.0.0.1:9998");
158 char garbage_key [] =
"0000000000000000000000000000000000000000";
204 char bogus_public [41];
205 char bogus_secret [41];
242 struct sockaddr_in ip4addr;
245 ip4addr.sin_family = AF_INET;
246 ip4addr.sin_port = htons (9998);
247 #if defined (ZMQ_HAVE_WINDOWS) && (_WIN32_WINNT < 0x0600) 248 ip4addr.sin_addr.s_addr = inet_addr (
"127.0.0.1");
250 inet_pton(AF_INET,
"127.0.0.1", &ip4addr.sin_addr);
253 s = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);
254 rc = connect (s, (
struct sockaddr*) &ip4addr,
sizeof (ip4addr));
257 send (s,
"\x01\x00", 2, 0);
259 send (s,
"\x08\x00sneaky\0", 9, 0);
262 char *buf =
s_recv (server);
264 printf (
"Received unauthenticated message: %s\n", buf);
265 assert (buf == NULL);
274 assert (rc == -1 && errno == EINVAL);
277 assert (rc == -1 && errno == EINVAL);
280 assert (rc == -1 && errno == EINVAL);
#define ZMQ_PLAIN_USERNAME
ZMQ_EXPORT int zmq_setsockopt(void *s, int option, const void *optval, size_t optvallen)
#define ZMQ_CURVE_SERVERKEY
int s_sendmore(void *socket, const char *string)
ZMQ_EXPORT void * zmq_ctx_new(void)
static void zap_handler(void *handler)
#define ZMQ_CURVE_SECRETKEY
static char client_secret[41]
void setup_test_environment(void)
ZMQ_EXPORT int zmq_recv(void *s, void *buf, size_t len, int flags)
void expect_bounce_fail(void *server, void *client)
#define ZMQ_PLAIN_PASSWORD
void handler(int timer_id, void *arg)
#define ZMQ_CURVE_PUBLICKEY
ZMQ_EXPORT void * zmq_socket(void *, int type)
ZMQ_EXPORT void zmq_threadclose(void *thread)
static char server_secret[41]
ZMQ_EXPORT int zmq_connect(void *s, const char *addr)
ZMQ_EXPORT int zmq_close(void *s)
char * s_recv(void *socket)
ZMQ_EXPORT int zmq_curve_keypair(char *z85_public_key, char *z85_secret_key)
void close_zero_linger(void *socket)
void bounce(void *server, void *client)
ZMQ_EXPORT int zmq_bind(void *s, const char *addr)
ZMQ_EXPORT int zmq_ctx_term(void *context)
int s_send(void *socket, const char *string)
static char server_public[41]
ZMQ_EXPORT void * zmq_threadstart(zmq_thread_fn *func, void *arg)
ZMQ_EXPORT char * zmq_z85_encode(char *dest, const uint8_t *data, size_t size)
static char client_public[41]