From b55288fdf30158c2db5ed4b2833fc3eee49bdd00 Mon Sep 17 00:00:00 2001 From: Maximilian Schneider Date: Mon, 16 Jun 2014 11:16:45 +0200 Subject: [PATCH 01/67] return values of socket functions are ssize_t (not int) in compliance with POSIX deprecated API (zmq_msg_recv/zmq_msg_send) still returns int --- include/zmq.h | 11 +++++---- src/zmq.cpp | 66 +++++++++++++++++++++++++-------------------------- 2 files changed, 39 insertions(+), 38 deletions(-) diff --git a/include/zmq.h b/include/zmq.h index 3baac64f..fea4a9ae 100644 --- a/include/zmq.h +++ b/include/zmq.h @@ -87,6 +87,7 @@ typedef unsigned __int8 uint8_t; # include #endif +#include /******************************************************************************/ /* 0MQ errors. */ @@ -212,8 +213,8 @@ ZMQ_EXPORT int zmq_msg_init (zmq_msg_t *msg); ZMQ_EXPORT int zmq_msg_init_size (zmq_msg_t *msg, size_t size); ZMQ_EXPORT int zmq_msg_init_data (zmq_msg_t *msg, void *data, size_t size, zmq_free_fn *ffn, void *hint); -ZMQ_EXPORT int zmq_msg_send (zmq_msg_t *msg, void *s, int flags); -ZMQ_EXPORT int zmq_msg_recv (zmq_msg_t *msg, void *s, int flags); +ZMQ_EXPORT ssize_t zmq_msg_send (zmq_msg_t *msg, void *s, int flags); +ZMQ_EXPORT ssize_t zmq_msg_recv (zmq_msg_t *msg, void *s, int flags); ZMQ_EXPORT int zmq_msg_close (zmq_msg_t *msg); ZMQ_EXPORT int zmq_msg_move (zmq_msg_t *dest, zmq_msg_t *src); ZMQ_EXPORT int zmq_msg_copy (zmq_msg_t *dest, zmq_msg_t *src); @@ -360,9 +361,9 @@ ZMQ_EXPORT int zmq_bind (void *s, const char *addr); ZMQ_EXPORT int zmq_connect (void *s, const char *addr); ZMQ_EXPORT int zmq_unbind (void *s, const char *addr); ZMQ_EXPORT int zmq_disconnect (void *s, const char *addr); -ZMQ_EXPORT int zmq_send (void *s, const void *buf, size_t len, int flags); -ZMQ_EXPORT int zmq_send_const (void *s, const void *buf, size_t len, int flags); -ZMQ_EXPORT int zmq_recv (void *s, void *buf, size_t len, int flags); +ZMQ_EXPORT ssize_t zmq_send (void *s, const void *buf, size_t len, int flags); +ZMQ_EXPORT ssize_t zmq_send_const (void *s, const void *buf, size_t len, int flags); +ZMQ_EXPORT ssize_t zmq_recv (void *s, void *buf, size_t len, int flags); ZMQ_EXPORT int zmq_socket_monitor (void *s, const char *addr, int events); diff --git a/src/zmq.cpp b/src/zmq.cpp index 5c85fda6..7939c89d 100644 --- a/src/zmq.cpp +++ b/src/zmq.cpp @@ -329,37 +329,38 @@ int zmq_disconnect (void *s_, const char *addr_) // Sending functions. -static int +static ssize_t s_sendmsg (zmq::socket_base_t *s_, zmq_msg_t *msg_, int flags_) { - int sz = (int) zmq_msg_size (msg_); + size_t nbytes = zmq_msg_size (msg_); int rc = s_->send ((zmq::msg_t*) msg_, flags_); if (unlikely (rc < 0)) return -1; - return sz; + return nbytes; } /* To be deprecated once zmq_msg_send() is stable */ int zmq_sendmsg (void *s_, zmq_msg_t *msg_, int flags_) { - return zmq_msg_send (msg_, s_, flags_); + // reproduce behaviour of truncated int in deprecated API + return (int) zmq_msg_send (msg_, s_, flags_); } -int zmq_send (void *s_, const void *buf_, size_t len_, int flags_) +ssize_t zmq_send (void *s_, const void *buf_, size_t len_, int flags_) { if (!s_ || !((zmq::socket_base_t*) s_)->check_tag ()) { errno = ENOTSOCK; return -1; } zmq_msg_t msg; - int rc = zmq_msg_init_size (&msg, len_); - if (rc != 0) + int rc1 = zmq_msg_init_size (&msg, len_); + if (rc1 != 0) return -1; memcpy (zmq_msg_data (&msg), buf_, len_); zmq::socket_base_t *s = (zmq::socket_base_t *) s_; - rc = s_sendmsg (s, &msg, flags_); - if (unlikely (rc < 0)) { + ssize_t nbytes = s_sendmsg (s, &msg, flags_); + if (unlikely (nbytes < 0)) { int err = errno; int rc2 = zmq_msg_close (&msg); errno_assert (rc2 == 0); @@ -369,23 +370,23 @@ int zmq_send (void *s_, const void *buf_, size_t len_, int flags_) // Note the optimisation here. We don't close the msg object as it is // empty anyway. This may change when implementation of zmq_msg_t changes. - return rc; + return nbytes; } -int zmq_send_const (void *s_, const void *buf_, size_t len_, int flags_) +ssize_t zmq_send_const (void *s_, const void *buf_, size_t len_, int flags_) { if (!s_ || !((zmq::socket_base_t*) s_)->check_tag ()) { errno = ENOTSOCK; return -1; } zmq_msg_t msg; - int rc = zmq_msg_init_data (&msg, (void*)buf_, len_, NULL, NULL); - if (rc != 0) + int rc1 = zmq_msg_init_data (&msg, (void*)buf_, len_, NULL, NULL); + if (rc1 != 0) return -1; zmq::socket_base_t *s = (zmq::socket_base_t *) s_; - rc = s_sendmsg (s, &msg, flags_); - if (unlikely (rc < 0)) { + ssize_t nbytes = s_sendmsg (s, &msg, flags_); + if (unlikely (nbytes < 0)) { int err = errno; int rc2 = zmq_msg_close (&msg); errno_assert (rc2 == 0); @@ -395,7 +396,7 @@ int zmq_send_const (void *s_, const void *buf_, size_t len_, int flags_) // Note the optimisation here. We don't close the msg object as it is // empty anyway. This may change when implementation of zmq_msg_t changes. - return rc; + return nbytes; } @@ -425,8 +426,8 @@ int zmq_sendiov (void *s_, iovec *a_, size_t count_, int flags_) memcpy (zmq_msg_data (&msg), a_[i].iov_base, a_[i].iov_len); if (i == count_ - 1) flags_ = flags_ & ~ZMQ_SNDMORE; - rc = s_sendmsg (s, &msg, flags_); - if (unlikely (rc < 0)) { + ssize_t nbytes = s_sendmsg (s, &msg, flags_); + if (unlikely (nbytes < 0)) { int err = errno; int rc2 = zmq_msg_close (&msg); errno_assert (rc2 == 0); @@ -440,23 +441,24 @@ int zmq_sendiov (void *s_, iovec *a_, size_t count_, int flags_) // Receiving functions. -static int +static ssize_t s_recvmsg (zmq::socket_base_t *s_, zmq_msg_t *msg_, int flags_) { int rc = s_->recv ((zmq::msg_t*) msg_, flags_); if (unlikely (rc < 0)) return -1; - return (int) zmq_msg_size (msg_); + return zmq_msg_size (msg_); } /* To be deprecated once zmq_msg_recv() is stable */ int zmq_recvmsg (void *s_, zmq_msg_t *msg_, int flags_) { - return zmq_msg_recv (msg_, s_, flags_); + // reproduce behaviour of truncated int in deprecated API + return (int) zmq_msg_recv (msg_, s_, flags_); } -int zmq_recv (void *s_, void *buf_, size_t len_, int flags_) +ssize_t zmq_recv (void *s_, void *buf_, size_t len_, int flags_) { if (!s_ || !((zmq::socket_base_t*) s_)->check_tag ()) { errno = ENOTSOCK; @@ -467,7 +469,7 @@ int zmq_recv (void *s_, void *buf_, size_t len_, int flags_) errno_assert (rc == 0); zmq::socket_base_t *s = (zmq::socket_base_t *) s_; - int nbytes = s_recvmsg (s, &msg, flags_); + ssize_t nbytes = s_recvmsg (s, &msg, flags_); if (unlikely (nbytes < 0)) { int err = errno; rc = zmq_msg_close (&msg); @@ -476,9 +478,7 @@ int zmq_recv (void *s_, void *buf_, size_t len_, int flags_) return -1; } - // At the moment an oversized message is silently truncated. - // TODO: Build in a notification mechanism to report the overflows. - size_t to_copy = size_t (nbytes) < len_ ? size_t (nbytes) : len_; + ssize_t to_copy = (size_t) nbytes < len_ ? nbytes : len_; memcpy (buf_, zmq_msg_data (&msg), to_copy); rc = zmq_msg_close (&msg); @@ -523,7 +523,7 @@ int zmq_recviov (void *s_, iovec *a_, size_t *count_, int flags_) int rc = zmq_msg_init (&msg); errno_assert (rc == 0); - int nbytes = s_recvmsg (s, &msg, flags_); + ssize_t nbytes = s_recvmsg (s, &msg, flags_); if (unlikely (nbytes < 0)) { int err = errno; rc = zmq_msg_close (&msg); @@ -569,26 +569,26 @@ int zmq_msg_init_data (zmq_msg_t *msg_, void *data_, size_t size_, return ((zmq::msg_t*) msg_)->init_data (data_, size_, ffn_, hint_); } -int zmq_msg_send (zmq_msg_t *msg_, void *s_, int flags_) +ssize_t zmq_msg_send (zmq_msg_t *msg_, void *s_, int flags_) { if (!s_ || !((zmq::socket_base_t*) s_)->check_tag ()) { errno = ENOTSOCK; return -1; } zmq::socket_base_t *s = (zmq::socket_base_t *) s_; - int result = s_sendmsg (s, msg_, flags_); - return result; + ssize_t nbytes = s_sendmsg (s, msg_, flags_); + return nbytes; } -int zmq_msg_recv (zmq_msg_t *msg_, void *s_, int flags_) +ssize_t zmq_msg_recv (zmq_msg_t *msg_, void *s_, int flags_) { if (!s_ || !((zmq::socket_base_t*) s_)->check_tag ()) { errno = ENOTSOCK; return -1; } zmq::socket_base_t *s = (zmq::socket_base_t *) s_; - int result = s_recvmsg (s, msg_, flags_); - return result; + ssize_t nbytes = s_recvmsg (s, msg_, flags_); + return nbytes; } int zmq_msg_close (zmq_msg_t *msg_) From fbce7a2407aaef9c09953ab6c5c5537679734e0e Mon Sep 17 00:00:00 2001 From: "J.T. Conklin" Date: Tue, 7 Oct 2014 00:11:53 -0700 Subject: [PATCH 02/67] Remove build and runtime dependencies on uuid and uuid-devel. --- builds/redhat/zeromq.spec.in | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/builds/redhat/zeromq.spec.in b/builds/redhat/zeromq.spec.in index 61b34c07..bdd56bf8 100644 --- a/builds/redhat/zeromq.spec.in +++ b/builds/redhat/zeromq.spec.in @@ -11,15 +11,9 @@ Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gcc, make, gcc-c++, libstdc++-devel, asciidoc, xmlto Requires: libstdc++ -%if %{?rhel}%{!?rhel:0} >= 6 -BuildRequires: libuuid-devel -Requires: libuuid -%elseif %{?rhel}%{!?rhel:0} >= 5 +%if %{?rhel}%{!?rhel:0} >= 5 BuildRequires: e2fsprogs-devel Requires: e2fsprogs -%else -BuildRequires: uuid-devel -Requires: uuid %endif # Build pgm only on supported archs From 0b541b789a1aa7d78b96acfbbf92b9ad2f6ab171 Mon Sep 17 00:00:00 2001 From: Pavel Pimenov Date: Thu, 9 Oct 2014 09:37:55 +0400 Subject: [PATCH 03/67] Fix V803 Decreased performance. In case 'it' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. stream_engine.cpp http://www.viva64.com/en/d/0165/print/ --- src/stream_engine.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/stream_engine.cpp b/src/stream_engine.cpp index ed342150..60a26907 100644 --- a/src/stream_engine.cpp +++ b/src/stream_engine.cpp @@ -781,7 +781,7 @@ void zmq::stream_engine_t::mechanism_ready () it = zap_properties.begin (); while (it != zap_properties.end ()) { properties.insert (properties_t::value_type (it->first, it->second)); - it++; + ++it; } // Add ZMTP properties. @@ -789,7 +789,7 @@ void zmq::stream_engine_t::mechanism_ready () it = zmtp_properties.begin (); while (it != zmtp_properties.end ()) { properties.insert (properties_t::value_type (it->first, it->second)); - it++; + ++it; } zmq_assert (metadata == NULL); From 0e3d40c806eadb4d1f5d519de3c176ddeb11d265 Mon Sep 17 00:00:00 2001 From: Pavel Pimenov Date: Thu, 9 Oct 2014 09:40:59 +0400 Subject: [PATCH 04/67] Fix V815 Decreased performance. Consider replacing the expression 'options.socks_proxy_address != ""' with '!options.socks_proxy_address.empty()'. session_base.cpp 497 --- src/session_base.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/session_base.cpp b/src/session_base.cpp index 319058c4..44942ec3 100644 --- a/src/session_base.cpp +++ b/src/session_base.cpp @@ -494,7 +494,7 @@ void zmq::session_base_t::start_connecting (bool wait_) // Create the connecter object. if (addr->protocol == "tcp") { - if (options.socks_proxy_address != "") { + if (!options.socks_proxy_address.empty()) { address_t *proxy_address = new (std::nothrow) address_t ("tcp", options.socks_proxy_address); alloc_assert (proxy_address); From 18ee219ce753228ad0118c76168b549504e2d505 Mon Sep 17 00:00:00 2001 From: Pavel Pimenov Date: Thu, 9 Oct 2014 09:41:49 +0400 Subject: [PATCH 05/67] Fix V815 Decreased performance. Consider replacing the expression 'peer_address = ""' with 'peer_address.clear()'. stream_engine.cpp 99 --- src/stream_engine.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stream_engine.cpp b/src/stream_engine.cpp index 60a26907..920b8acb 100644 --- a/src/stream_engine.cpp +++ b/src/stream_engine.cpp @@ -96,7 +96,7 @@ zmq::stream_engine_t::stream_engine_t (fd_t fd_, const options_t &options_, int family = get_peer_ip_address (s, peer_address); if (family == 0) - peer_address = ""; + peer_address.clear(); #if defined ZMQ_HAVE_SO_PEERCRED else if (family == PF_UNIX) { From c6aedc38375b9623b351e958b091df1d3bf65448 Mon Sep 17 00:00:00 2001 From: Phillip Mienk Date: Fri, 10 Oct 2014 14:36:12 -0700 Subject: [PATCH 06/67] Partial migration to nonrecursive make. --- Makefile.am | 594 ++++++++++++++++++++++++++++++++++++++++++++++++++- configure.ac | 11 +- 2 files changed, 592 insertions(+), 13 deletions(-) diff --git a/Makefile.am b/Makefile.am index 7818c05a..d6e5bc27 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,26 +1,601 @@ ACLOCAL_AMFLAGS = -I config +AM_CPPFLAGS = \ + -I$(top_builddir)/include \ + -I$(top_srcdir)/include + +SUBDIRS = doc + if BUILD_PGM -SUBDIRS = foreign/openpgm src doc perf tests tools -else -SUBDIRS = src doc perf tests tools +SUBDIRS += foreign/openpgm endif -DIST_SUBDIRS = foreign/openpgm src doc perf tests tools builds/msvc +DIST_SUBDIRS = builds/msvc doc foreign/openpgm + +pkgconfig_DATA = src/libzmq.pc + +lib_LTLIBRARIES = libzmq.la + +include_HEADERS = \ + include/zmq.h \ + include/zmq_utils.h + +libzmq_la_SOURCES = \ + src/address.cpp \ + src/address.hpp \ + src/array.hpp \ + src/atomic_counter.hpp \ + src/atomic_ptr.hpp \ + src/blob.hpp \ + src/clock.cpp \ + src/clock.hpp \ + src/command.hpp \ + src/config.hpp \ + src/ctx.cpp \ + src/ctx.hpp \ + src/curve_client.cpp \ + src/curve_client.hpp \ + src/curve_server.cpp \ + src/curve_server.hpp \ + src/dbuffer.hpp \ + src/dealer.cpp \ + src/dealer.hpp \ + src/decoder.hpp \ + src/devpoll.cpp \ + src/devpoll.hpp \ + src/dist.cpp \ + src/dist.hpp \ + src/encoder.hpp \ + src/epoll.cpp \ + src/epoll.hpp \ + src/err.cpp \ + src/err.hpp \ + src/fd.hpp \ + src/fq.cpp \ + src/fq.hpp \ + src/gssapi_mechanism_base.cpp \ + src/gssapi_mechanism_base.hpp \ + src/gssapi_client.cpp \ + src/gssapi_client.hpp \ + src/gssapi_server.cpp \ + src/gssapi_server.hpp \ + src/i_encoder.hpp \ + src/i_engine.hpp \ + src/i_decoder.hpp \ + src/i_poll_events.hpp \ + src/io_object.cpp \ + src/io_object.hpp \ + src/io_thread.cpp \ + src/io_thread.hpp \ + src/ip.cpp \ + src/ip.hpp \ + src/ipc_address.cpp \ + src/ipc_address.hpp \ + src/ipc_connecter.cpp \ + src/ipc_connecter.hpp \ + src/ipc_listener.cpp \ + src/ipc_listener.hpp \ + src/kqueue.cpp \ + src/kqueue.hpp \ + src/lb.cpp \ + src/lb.hpp \ + src/likely.hpp \ + src/mailbox.cpp \ + src/mailbox.hpp \ + src/mechanism.cpp \ + src/mechanism.hpp \ + src/metadata.cpp \ + src/metadata.hpp \ + src/msg.cpp \ + src/msg.hpp \ + src/mtrie.cpp \ + src/mtrie.hpp \ + src/mutex.hpp \ + src/norm_engine.cpp \ + src/norm_engine.hpp \ + src/null_mechanism.cpp \ + src/null_mechanism.hpp \ + src/object.cpp \ + src/object.hpp \ + src/options.cpp \ + src/options.hpp \ + src/own.cpp \ + src/own.hpp \ + src/pair.cpp \ + src/pair.hpp \ + src/pgm_receiver.cpp \ + src/pgm_receiver.hpp \ + src/pgm_sender.cpp \ + src/pgm_sender.hpp \ + src/pgm_socket.cpp \ + src/pgm_socket.hpp \ + src/pipe.cpp \ + src/pipe.hpp \ + src/plain_client.cpp \ + src/plain_client.hpp \ + src/plain_server.cpp \ + src/plain_server.hpp \ + src/platform.hpp \ + src/poll.cpp \ + src/poll.hpp \ + src/poller.hpp \ + src/poller_base.cpp \ + src/poller_base.hpp \ + src/proxy.cpp \ + src/proxy.hpp \ + src/pub.cpp \ + src/pub.hpp \ + src/pull.cpp \ + src/pull.hpp \ + src/push.cpp \ + src/push.hpp \ + src/random.cpp \ + src/random.hpp \ + src/raw_decoder.cpp \ + src/raw_decoder.hpp \ + src/raw_encoder.cpp \ + src/raw_encoder.hpp \ + src/reaper.cpp \ + src/reaper.hpp \ + src/rep.cpp \ + src/rep.hpp \ + src/req.cpp \ + src/req.hpp \ + src/router.cpp \ + src/router.hpp \ + src/select.cpp \ + src/select.hpp \ + src/session_base.cpp \ + src/session_base.hpp \ + src/signaler.cpp \ + src/signaler.hpp \ + src/socket_base.cpp \ + src/socket_base.hpp \ + src/socks.cpp \ + src/socks.hpp \ + src/socks_connecter.cpp \ + src/socks_connecter.hpp \ + src/stdint.hpp \ + src/stream.cpp \ + src/stream.hpp \ + src/stream_engine.cpp \ + src/stream_engine.hpp \ + src/sub.cpp \ + src/sub.hpp \ + src/tcp.cpp \ + src/tcp.hpp \ + src/tcp_address.cpp \ + src/tcp_address.hpp \ + src/tcp_connecter.cpp \ + src/tcp_connecter.hpp \ + src/tcp_listener.cpp \ + src/tcp_listener.hpp \ + src/thread.cpp \ + src/thread.hpp \ + src/tipc_address.cpp \ + src/tipc_address.hpp \ + src/tipc_connecter.cpp \ + src/tipc_connecter.hpp \ + src/tipc_listener.cpp \ + src/tipc_listener.hpp \ + src/trie.cpp \ + src/trie.hpp \ + src/v1_decoder.cpp \ + src/v1_decoder.hpp \ + src/v2_decoder.cpp \ + src/v2_decoder.hpp \ + src/v1_encoder.cpp \ + src/v1_encoder.hpp \ + src/v2_encoder.cpp \ + src/v2_encoder.hpp \ + src/v2_protocol.hpp \ + src/windows.hpp \ + src/wire.hpp \ + src/xpub.hpp \ + src/xpub.cpp \ + src/xsub.cpp \ + src/xsub.hpp \ + src/ypipe.hpp \ + src/ypipe_base.hpp \ + src/ypipe_conflate.hpp \ + src/yqueue.hpp \ + src/zmq.cpp \ + src/zmq_utils.cpp + +if ON_MINGW +libzmq_la_LDFLAGS = \ + -no-undefined \ + -avoid-version \ + -version-info @LTVER@ \ + @LIBZMQ_EXTRA_LDFLAGS@ +else +if ON_ANDROID +libzmq_la_LDFLAGS = \ + -avoid-version \ + -version-info @LTVER@ \ + @LIBZMQ_EXTRA_LDFLAGS@ +else +if ON_LINUX +libzmq_la_LDFLAGS = \ + -version-info @LTVER@ \ + @LIBZMQ_EXTRA_LDFLAGS@ \ + -Wl,--version-script=$(srcdir)/src/libzmq.vers +else +libzmq_la_LDFLAGS = \ + -version-info @LTVER@ \ + @LIBZMQ_EXTRA_LDFLAGS@ \ + -Wl +endif +endif +endif + +libzmq_la_CXXFLAGS = @LIBZMQ_EXTRA_CXXFLAGS@ + +if BUILD_PGM +libzmq_la_CPPFLAGS = -I$(top_srcdir)/@pgm_srcdir@/include/ +libzmq_la_LIBADD = $(top_srcdir)/@pgm_srcdir@/libpgm_noinst.la +endif + +noinst_PROGRAMS = \ + local_lat \ + remote_lat \ + local_thr \ + remote_thr \ + inproc_lat \ + inproc_thr + +local_lat_LDADD = libzmq.la +local_lat_SOURCES = perf/local_lat.cpp + +remote_lat_LDADD = libzmq.la +remote_lat_SOURCES = perf/remote_lat.cpp + +local_thr_LDADD = libzmq.la +local_thr_SOURCES = perf/local_thr.cpp + +remote_thr_LDADD = libzmq.la +remote_thr_SOURCES = perf/remote_thr.cpp + +inproc_lat_LDADD = libzmq.la +inproc_lat_SOURCES = perf/inproc_lat.cpp + +inproc_thr_LDADD = libzmq.la +inproc_thr_SOURCES = perf/inproc_thr.cpp + + + +bin_PROGRAMS = curve_keygen + +curve_keygen_LDADD = libzmq.la +curve_keygen_SOURCES = tools/curve_keygen.cpp + +test_apps = \ + test_system \ + test_pair_inproc \ + test_pair_tcp \ + test_reqrep_inproc \ + test_reqrep_tcp \ + test_hwm \ + test_hwm_pubsub \ + test_reqrep_device \ + test_sub_forward \ + test_invalid_rep \ + test_msg_flags \ + test_connect_resolve \ + test_immediate \ + test_last_endpoint \ + test_term_endpoint \ + test_srcfd \ + test_monitor \ + test_router_mandatory \ + test_router_mandatory_hwm \ + test_router_handover \ + test_probe_router \ + test_stream \ + test_stream_empty \ + test_stream_disconnect \ + test_stream_timeout \ + test_disconnect_inproc \ + test_ctx_options \ + test_ctx_destroy \ + test_security_null \ + test_security_plain \ + test_security_curve \ + test_iov \ + test_spec_req \ + test_spec_rep \ + test_spec_dealer \ + test_spec_router \ + test_spec_pushpull \ + test_req_correlate \ + test_req_relaxed \ + test_conflate \ + test_inproc_connect \ + test_issue_566 \ + test_proxy \ + test_many_sockets \ + test_ipc_wildcard \ + test_diffserv \ + test_connect_rid \ + test_bind_src_address \ + test_metadata \ + test_id2fd \ + test_capabilities \ + test_xpub_nodrop + +test_system_SOURCES = tests/test_system.cpp +test_system_LDADD = libzmq.la + +test_pair_inproc_SOURCES = \ + tests/test_pair_inproc.cpp \ + tests/testutil.hpp +test_pair_inproc_LDADD = libzmq.la + +test_pair_tcp_SOURCES = \ + tests/test_pair_tcp.cpp \ + tests/testutil.hpp +test_pair_tcp_LDADD = libzmq.la + +test_reqrep_inproc_SOURCES = \ + tests/test_reqrep_inproc.cpp \ + tests/testutil.hpp +test_reqrep_inproc_LDADD = libzmq.la + +test_reqrep_tcp_SOURCES = \ + tests/test_reqrep_tcp.cpp \ + tests/testutil.hpp +test_reqrep_tcp_LDADD = libzmq.la + +test_hwm_SOURCES = tests/test_hwm.cpp +test_hwm_LDADD = libzmq.la + +test_hwm_pubsub_SOURCES = tests/test_hwm_pubsub.cpp +test_hwm_pubsub_LDADD = libzmq.la + +test_reqrep_device_SOURCES = tests/test_reqrep_device.cpp +test_reqrep_device_LDADD = libzmq.la + +test_sub_forward_SOURCES = tests/test_sub_forward.cpp +test_sub_forward_LDADD = libzmq.la + +test_invalid_rep_SOURCES = tests/test_invalid_rep.cpp +test_invalid_rep_LDADD = libzmq.la + +test_msg_flags_SOURCES = tests/test_msg_flags.cpp +test_msg_flags_LDADD = libzmq.la + +test_connect_resolve_SOURCES = tests/test_connect_resolve.cpp +test_connect_resolve_LDADD = libzmq.la + +test_immediate_SOURCES = tests/test_immediate.cpp +test_immediate_LDADD = libzmq.la + +test_last_endpoint_SOURCES = tests/test_last_endpoint.cpp +test_last_endpoint_LDADD = libzmq.la + +test_term_endpoint_SOURCES = tests/test_term_endpoint.cpp +test_term_endpoint_LDADD = libzmq.la + +test_srcfd_SOURCES = tests/test_srcfd.cpp +test_srcfd_LDADD = libzmq.la + +test_monitor_SOURCES = tests/test_monitor.cpp +test_monitor_LDADD = libzmq.la + +test_router_mandatory_SOURCES = tests/test_router_mandatory.cpp +test_router_mandatory_LDADD = libzmq.la + +test_router_mandatory_hwm_SOURCES = tests/test_router_mandatory_hwm.cpp +test_router_mandatory_hwm_LDADD = libzmq.la + +test_router_handover_SOURCES = tests/test_router_handover.cpp +test_router_handover_LDADD = libzmq.la + +test_probe_router_SOURCES = tests/test_probe_router.cpp +test_probe_router_LDADD = libzmq.la + +test_stream_SOURCES = tests/test_stream.cpp +test_stream_LDADD = libzmq.la + +test_stream_empty_SOURCES = tests/test_stream_empty.cpp +test_stream_empty_LDADD = libzmq.la + +test_stream_timeout_SOURCES = tests/test_stream_timeout.cpp +test_stream_timeout_LDADD = libzmq.la + +test_stream_disconnect_SOURCES = tests/test_stream_disconnect.cpp +test_stream_disconnect_LDADD = libzmq.la + +test_disconnect_inproc_SOURCES = tests/test_disconnect_inproc.cpp +test_disconnect_inproc_LDADD = libzmq.la + +test_ctx_options_SOURCES = tests/test_ctx_options.cpp +test_ctx_options_LDADD = libzmq.la + +test_iov_SOURCES = tests/test_iov.cpp +test_iov_LDADD = libzmq.la + +test_ctx_destroy_SOURCES = tests/test_ctx_destroy.cpp +test_ctx_destroy_LDADD = libzmq.la + +test_security_null_SOURCES = tests/test_security_null.cpp +test_security_null_LDADD = libzmq.la + +test_security_plain_SOURCES = tests/test_security_plain.cpp +test_security_plain_LDADD = libzmq.la + +test_security_curve_SOURCES = tests/test_security_curve.cpp +test_security_curve_LDADD = libzmq.la + +test_spec_req_SOURCES = tests/test_spec_req.cpp +test_spec_req_LDADD = libzmq.la + +test_spec_rep_SOURCES = tests/test_spec_rep.cpp +test_spec_rep_LDADD = libzmq.la + +test_spec_dealer_SOURCES = tests/test_spec_dealer.cpp +test_spec_dealer_LDADD = libzmq.la + +test_spec_router_SOURCES = tests/test_spec_router.cpp +test_spec_router_LDADD = libzmq.la + +test_spec_pushpull_SOURCES = tests/test_spec_pushpull.cpp +test_spec_pushpull_LDADD = libzmq.la + +test_req_correlate_SOURCES = tests/test_req_correlate.cpp +test_req_correlate_LDADD = libzmq.la + +test_req_relaxed_SOURCES = tests/test_req_relaxed.cpp +test_req_relaxed_LDADD = libzmq.la + +test_conflate_SOURCES = tests/test_conflate.cpp +test_conflate_LDADD = libzmq.la + +test_inproc_connect_SOURCES = tests/test_inproc_connect.cpp +test_inproc_connect_LDADD = libzmq.la + +test_issue_566_SOURCES = tests/test_issue_566.cpp +test_issue_566_LDADD = libzmq.la + +test_proxy_SOURCES = tests/test_proxy.cpp +test_proxy_LDADD = libzmq.la + +test_many_sockets_SOURCES = tests/test_many_sockets.cpp +test_many_sockets_LDADD = libzmq.la + +test_ipc_wildcard_SOURCES = tests/test_ipc_wildcard.cpp +test_ipc_wildcard_LDADD = libzmq.la + +test_diffserv_SOURCES = tests/test_diffserv.cpp +test_diffserv_LDADD = libzmq.la + +test_connect_rid_SOURCES = tests/test_connect_rid.cpp +test_connect_rid_LDADD = libzmq.la + +test_bind_src_address_SOURCES = tests/test_bind_src_address.cpp +test_bind_src_address_LDADD = libzmq.la + +test_metadata_SOURCES = tests/test_metadata.cpp +test_metadata_LDADD = libzmq.la + +test_id2fd_SOURCES = tests/test_id2fd.cpp +test_id2fd_LDADD = libzmq.la + +test_capabilities_SOURCES = tests/test_capabilities.cpp +test_capabilities_LDADD = libzmq.la + +test_xpub_nodrop_SOURCES = tests/test_xpub_nodrop.cpp +test_xpub_nodrop_LDADD = libzmq.la + +if !ON_MINGW +test_apps += \ + test_shutdown_stress \ + test_pair_ipc \ + test_reqrep_ipc \ + test_timeo \ + test_filter_ipc + +test_shutdown_stress_SOURCES = tests/test_shutdown_stress.cpp +test_shutdown_stress_LDADD = libzmq.la + +test_pair_ipc_SOURCES = \ + tests/test_pair_ipc.cpp \ + tests/testutil.hpp +test_pair_ipc_LDADD = libzmq.la + +test_reqrep_ipc_SOURCES = \ + tests/test_reqrep_ipc.cpp \ + tests/testutil.hpp +test_reqrep_ipc_LDADD = libzmq.la + +test_timeo_SOURCES = tests/test_timeo.cpp +test_timeo_LDADD = libzmq.la + +test_filter_ipc_SOURCES = tests/test_filter_ipc.cpp +test_filter_ipc_LDADD = libzmq.la + +if HAVE_FORK +test_apps += test_fork + +test_fork_SOURCES = tests/test_fork.cpp +test_fork_LDADD = libzmq.la + +endif +endif + +if BUILD_TIPC +test_apps += \ + test_connect_delay_tipc \ + test_pair_tipc \ + test_reqrep_device_tipc \ + test_reqrep_tipc \ + test_router_mandatory_tipc \ + test_shutdown_stress_tipc \ + test_sub_forward_tipc \ + test_term_endpoint_tipc + +test_connect_delay_tipc_SOURCES = tests/test_connect_delay_tipc.cpp +test_connect_delay_tipc_LDADD = libzmq.la + +test_pair_tipc_SOURCES = tests/test_pair_tipc.cpp +test_pair_tipc_LDADD = libzmq.la + +test_reqrep_device_tipc_SOURCES = tests/test_reqrep_device_tipc.cpp +test_reqrep_device_tipc_LDADD = libzmq.la + +test_reqrep_tipc_SOURCES = tests/test_reqrep_tipc.cpp +test_reqrep_tipc_LDADD = libzmq.la + +test_router_mandatory_tipc_SOURCES = tests/test_router_mandatory_tipc.cpp +test_router_mandatory_tipc_LDADD = libzmq.la + +test_shutdown_stress_tipc_SOURCES = tests/test_shutdown_stress_tipc.cpp +test_shutdown_stress_tipc_LDADD = libzmq.la + +test_sub_forward_tipc_SOURCES = tests/test_sub_forward_tipc.cpp +test_sub_forward_tipc_LDADD = libzmq.la + +test_term_endpoint_tipc_SOURCES = tests/test_term_endpoint_tipc.cpp +test_term_endpoint_tipc_LDADD = libzmq.la + +endif + +if ON_LINUX +test_apps += test_abstract_ipc + +test_abstract_ipc_SOURCES = tests/test_abstract_ipc.cpp +test_abstract_ipc_LDADD = libzmq.la + +endif + +check_PROGRAMS = ${test_apps} + +# Run the test cases +TESTS = $(test_apps) +XFAIL_TESTS = + +if !ON_LINUX +XFAIL_TESTS += test_abstract_ipc +endif EXTRA_DIST = \ CMakeLists.txt \ autogen.sh \ version.sh \ MAINTAINERS \ - foreign/openpgm/@pgm_basename@.tar.gz + foreign/openpgm/@pgm_basename@.tar.gz \ + src/libzmq.pc.cmake.in \ + src/libzmq.vers \ + tools/curve_keygen.cpp + MAINTAINERCLEANFILES = \ - $(srcdir)/aclocal.m4 \ - $(srcdir)/autom4te.cache \ - $(srcdir)/configure \ + $(srcdir)/aclocal.m4 \ + $(srcdir)/autom4te.cache \ + $(srcdir)/configure \ `find "$(srcdir)" -type f -name Makefile.in -print` dist-hook: + -rm $(distdir)/src/platform.hpp @if test -d "$(srcdir)/.git"; \ then \ echo Creating ChangeLog && \ @@ -35,7 +610,10 @@ dist-hook: fi -cp $(top_srcdir)/builds/redhat/zeromq.spec $(distdir)/zeromq.spec -rm -rf $(distdir)/foreign/openpgm/build-staging + distclean-local: -rm -rf $(top_srcdir)/foreign/openpgm/build-staging + maintainer-clean-local: -rm -rf $(top_srcdir)/config + diff --git a/configure.ac b/configure.ac index b9858cbd..f15ab6bd 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ AC_INIT([zeromq],[m4_esyscmd([./version.sh])],[zeromq-dev@lists.zeromq.org]) AC_CONFIG_AUX_DIR(config) AC_CONFIG_MACRO_DIR(config) AC_CONFIG_HEADERS([src/platform.hpp]) -AM_INIT_AUTOMAKE(tar-ustar dist-zip foreign) +AM_INIT_AUTOMAKE(subdir-objects tar-ustar dist-zip foreign) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) # This lets us use PACKAGE_VERSION in Makefiles @@ -562,13 +562,14 @@ AC_SUBST(LIBZMQ_EXTRA_CFLAGS) AC_SUBST(LIBZMQ_EXTRA_CXXFLAGS) AC_SUBST(LIBZMQ_EXTRA_LDFLAGS) +AC_ARG_WITH([pkgconfigdir], AS_HELP_STRING([--with-pkgconfigdir=PATH], + [Path to the pkgconfig directory [[LIBDIR/pkgconfig]]]), + [pkgconfigdir="$withval"], [pkgconfigdir='${libdir}/pkgconfig']) +AC_SUBST([pkgconfigdir]) + AC_CONFIG_FILES([Makefile \ - src/Makefile \ src/libzmq.pc \ doc/Makefile \ - perf/Makefile \ - tests/Makefile \ - tools/Makefile \ builds/msvc/Makefile \ foreign/openpgm/Makefile \ builds/redhat/zeromq.spec]) From 00b3bfab10707147543290833a409d58da13667e Mon Sep 17 00:00:00 2001 From: Phillip Mienk Date: Mon, 13 Oct 2014 19:10:36 -0700 Subject: [PATCH 07/67] Remove local pgm configuration option, cleanup configure.ac, remove unused Makefile.am instances. --- Makefile.am | 35 +-- configure.ac | 335 ++++++++++----------- doc/Makefile.am | 22 +- foreign/openpgm/Makefile.am | 8 - foreign/openpgm/libpgm-5.2.122~dfsg.tar.gz | Bin 951536 -> 0 bytes perf/Makefile.am | 22 -- src/Makefile.am | 219 -------------- tests/Makefile.am | 165 ---------- tools/Makefile.am | 9 - 9 files changed, 187 insertions(+), 628 deletions(-) delete mode 100644 foreign/openpgm/Makefile.am delete mode 100755 foreign/openpgm/libpgm-5.2.122~dfsg.tar.gz delete mode 100644 perf/Makefile.am delete mode 100644 src/Makefile.am delete mode 100644 tests/Makefile.am delete mode 100644 tools/Makefile.am diff --git a/Makefile.am b/Makefile.am index d6e5bc27..2a63cf59 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,19 +1,18 @@ ACLOCAL_AMFLAGS = -I config +SUBDIRS = doc + +DIST_SUBDIRS = builds/msvc doc + +pkgconfig_DATA = src/libzmq.pc + AM_CPPFLAGS = \ -I$(top_builddir)/include \ -I$(top_srcdir)/include -SUBDIRS = doc - -if BUILD_PGM -SUBDIRS += foreign/openpgm -endif - -DIST_SUBDIRS = builds/msvc doc foreign/openpgm - -pkgconfig_DATA = src/libzmq.pc - +# +# libraries/binaries +# lib_LTLIBRARIES = libzmq.la include_HEADERS = \ @@ -231,9 +230,9 @@ endif libzmq_la_CXXFLAGS = @LIBZMQ_EXTRA_CXXFLAGS@ -if BUILD_PGM -libzmq_la_CPPFLAGS = -I$(top_srcdir)/@pgm_srcdir@/include/ -libzmq_la_LIBADD = $(top_srcdir)/@pgm_srcdir@/libpgm_noinst.la +if HAVE_PGM +libzmq_la_CPPFLAGS = ${pgm_CFLAGS} +libzmq_la_LIBADD = ${pgm_LIBS} endif noinst_PROGRAMS = \ @@ -262,13 +261,14 @@ inproc_lat_SOURCES = perf/inproc_lat.cpp inproc_thr_LDADD = libzmq.la inproc_thr_SOURCES = perf/inproc_thr.cpp - - bin_PROGRAMS = curve_keygen curve_keygen_LDADD = libzmq.la curve_keygen_SOURCES = tools/curve_keygen.cpp +# +# tests +# test_apps = \ test_system \ test_pair_inproc \ @@ -583,7 +583,6 @@ EXTRA_DIST = \ autogen.sh \ version.sh \ MAINTAINERS \ - foreign/openpgm/@pgm_basename@.tar.gz \ src/libzmq.pc.cmake.in \ src/libzmq.vers \ tools/curve_keygen.cpp @@ -609,10 +608,6 @@ dist-hook: echo A git clone is required to generate a ChangeLog >&2; \ fi -cp $(top_srcdir)/builds/redhat/zeromq.spec $(distdir)/zeromq.spec - -rm -rf $(distdir)/foreign/openpgm/build-staging - -distclean-local: - -rm -rf $(top_srcdir)/foreign/openpgm/build-staging maintainer-clean-local: -rm -rf $(top_srcdir)/config diff --git a/configure.ac b/configure.ac index f15ab6bd..d23c0a58 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,8 @@ AC_INIT([zeromq],[m4_esyscmd([./version.sh])],[zeromq-dev@lists.zeromq.org]) AC_CONFIG_AUX_DIR(config) AC_CONFIG_MACRO_DIR(config) AC_CONFIG_HEADERS([src/platform.hpp]) -AM_INIT_AUTOMAKE(subdir-objects tar-ustar dist-zip foreign) +AM_INIT_AUTOMAKE(foreign subdir-objects tar-ustar dist-zip) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) # This lets us use PACKAGE_VERSION in Makefiles @@ -63,43 +64,51 @@ LIBZMQ_CHECK_ENABLE_DEBUG # Check wheter to enable code coverage LIBZMQ_WITH_GCOV + + AC_MSG_CHECKING([if TIPC is available and supports nonblocking connect]) -AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include - #include - #include - #include - #include - #include - ]],[[ - struct sockaddr_tipc topsrv; - int sd = socket(AF_TIPC, SOCK_SEQPACKET, 0); - if (sd == -EAFNOSUPPORT) { - return 1; - } - memset(&topsrv, 0, sizeof(topsrv)); - topsrv.family = AF_TIPC; - topsrv.addrtype = TIPC_ADDR_NAME; - topsrv.addr.name.name.type = TIPC_TOP_SRV; - topsrv.addr.name.name.instance = TIPC_TOP_SRV; - fcntl(sd, F_SETFL, O_NONBLOCK); - if (connect(sd, (struct sockaddr *)&topsrv, - sizeof(topsrv)) != 0) { - if (errno != EINPROGRESS) - return -1; - }]]) - ], - [libzmq_tipc_support=yes], - [libzmq_tipc_support=no], - [libzmq_tipc_support=no]) + +AC_RUN_IFELSE( + [AC_LANG_PROGRAM([[ + #include + #include + #include + #include + #include + #include + ]],[[ + struct sockaddr_tipc topsrv; + int sd = socket(AF_TIPC, SOCK_SEQPACKET, 0); + if (sd == -EAFNOSUPPORT) { + return 1; + } + memset(&topsrv, 0, sizeof(topsrv)); + topsrv.family = AF_TIPC; + topsrv.addrtype = TIPC_ADDR_NAME; + topsrv.addr.name.name.type = TIPC_TOP_SRV; + topsrv.addr.name.name.instance = TIPC_TOP_SRV; + fcntl(sd, F_SETFL, O_NONBLOCK); + if (connect(sd, (struct sockaddr *)&topsrv, sizeof(topsrv)) != 0) { + if (errno != EINPROGRESS) + return -1; + } + ]]) + ], + [libzmq_tipc_support=yes], + [libzmq_tipc_support=no], + [libzmq_tipc_support=no]) + AC_MSG_RESULT([$libzmq_tipc_support]) + + # Allow libsodium to be installed in a custom path: AC_ARG_WITH([libsodium], - [AS_HELP_STRING([--with-libsodium], - [Specify libsodium prefix])], - [zmq_search_libsodium="yes"], - []) + [AS_HELP_STRING([--with-libsodium], + [Specify libsodium prefix])], + [zmq_search_libsodium="yes"], + []) if test "x$zmq_search_libsodium" = "xyes"; then if test -r "${with_libsodium}/include/sodium.h"; then @@ -109,10 +118,10 @@ if test "x$zmq_search_libsodium" = "xyes"; then fi AC_ARG_WITH([libsodium-include-dir], - [AS_HELP_STRING([--with-libsodium-include-dir], - [Specify libsodium include prefix])], - [zmq_search_libsodium_include="yes"], - []) + [AS_HELP_STRING([--with-libsodium-include-dir], + [Specify libsodium include prefix])], + [zmq_search_libsodium_include="yes"], + []) if test "x$zmq_search_libsodium_include" = "xyes"; then if test -r "${with_libsodium_include_dir}/sodium.h"; then @@ -121,10 +130,10 @@ if test "x$zmq_search_libsodium_include" = "xyes"; then fi AC_ARG_WITH([libsodium_lib_dir], - [AS_HELP_STRING([--with-libsodium-lib-dir], - [Specify libsodium library prefix])], - [zmq_search_libsodium_lib="yes"], - []) + [AS_HELP_STRING([--with-libsodium-lib-dir], + [Specify libsodium library prefix])], + [zmq_search_libsodium_lib="yes"], + []) if test "x$zmq_search_libsodium_lib" = "xyes"; then if test -r "${with_libsodium_lib_dir}/libsodium.{a|so|dylib}"; then @@ -133,10 +142,10 @@ if test "x$zmq_search_libsodium_lib" = "xyes"; then fi AC_ARG_WITH([relaxed], - [AS_HELP_STRING([--with-relaxed], - [Switch off pedantic compiler])], - [zmq_relaxed="yes"], - []) + [AS_HELP_STRING([--with-relaxed], + [Switch off pedantic compiler])], + [zmq_relaxed="yes"], + []) if test "x$zmq_relaxed" = "xyes"; then libzmq_pedantic="no" @@ -145,10 +154,10 @@ else fi AC_ARG_WITH([militant], - [AS_HELP_STRING([--with-militant], - [Enable militant API assertions])], - [zmq_militant="yes"], - []) + [AS_HELP_STRING([--with-militant], + [Enable militant API assertions])], + [zmq_militant="yes"], + []) if test "x$zmq_militant" = "xyes"; then AC_DEFINE(ZMQ_ACT_MILITANT, 1, [Enable militant API assertions]) @@ -310,8 +319,9 @@ esac # Checks for libraries AC_CHECK_LIB([pthread], [pthread_create]) AC_CHECK_LIB([rt], [clock_gettime]) + if test "x$zmq_search_libsodium" = "xyes"; then - AC_CHECK_LIB([sodium], [sodium_init],,AC_MSG_ERROR(libsodium is not installed. Install it or don't pass --with-libsodium to configure script)) + AC_CHECK_LIB([sodium],[sodium_init],,AC_MSG_ERROR(libsodium is not installed. Install it or don't pass --with-libsodium to configure script)) else AC_CHECK_LIB([sodium], [sodium_init],,AC_MSG_WARN(libsodium is needed for CURVE security)) fi @@ -343,12 +353,23 @@ LIBZMQ_CHECK_DOC_BUILD # Check polling system LIBZMQ_CHECK_POLLER([CPPFLAGS="${CPPFLAGS} -D${libzmq_cv_poller_flag}"], - [AC_MSG_ERROR([Unable to continue without polling system])]) + [AC_MSG_ERROR([Unable to continue without polling system])]) # Checks for header files. AC_HEADER_STDC -AC_CHECK_HEADERS(errno.h arpa/inet.h netinet/tcp.h netinet/in.h stddef.h \ -stdlib.h string.h sys/socket.h sys/time.h time.h unistd.h limits.h) +AC_CHECK_HEADERS(\ + errno.h \ + time.h \ + unistd.h \ + limits.h \ + stddef.h \ + stdlib.h \ + string.h \ + arpa/inet.h \ + netinet/tcp.h \ + netinet/in.h \ + sys/socket.h \ + sys/time.h) # Check if we have ifaddrs.h header file. AC_CHECK_HEADERS(ifaddrs.h, [AC_DEFINE(ZMQ_HAVE_IFADDRS, 1, [Have ifaddrs.h header.])]) @@ -357,25 +378,36 @@ AC_CHECK_HEADERS(ifaddrs.h, [AC_DEFINE(ZMQ_HAVE_IFADDRS, 1, [Have ifaddrs.h head AC_CHECK_HEADERS(sys/uio.h, [AC_DEFINE(ZMQ_HAVE_UIO, 1, [Have uio.h header.])]) # Force not to use eventfd -AC_ARG_ENABLE([eventfd], [AS_HELP_STRING([--disable-eventfd], [disable eventfd [default=no]])], - [zmq_disable_eventfd=yes], [zmq_disable_eventfd=no]) +AC_ARG_ENABLE([eventfd], + [AS_HELP_STRING([--disable-eventfd], [disable eventfd [default=no]])], + [zmq_disable_eventfd=yes], + [zmq_disable_eventfd=no]) if test "x$zmq_disable_eventfd" != "xyes"; then # Check if we have eventfd.h header file. AC_CHECK_HEADERS(sys/eventfd.h, - [AC_DEFINE(ZMQ_HAVE_EVENTFD, 1, [Have eventfd extension.])]) + [AC_DEFINE(ZMQ_HAVE_EVENTFD, 1, [Have eventfd extension.])]) fi # Use c++ in subsequent tests AC_LANG_PUSH(C++) -AC_CHECK_DECLS([SO_PEERCRED], [AC_DEFINE(ZMQ_HAVE_SO_PEERCRED, 1, [Have SO_PEERCRED socket option])], [], [#include ]) -AC_CHECK_DECLS([LOCAL_PEERCRED], [AC_DEFINE(ZMQ_HAVE_LOCAL_PEERCRED, 1, [Have LOCAL_PEERCRED socket option])], [], [#include ]) +AC_CHECK_DECLS([SO_PEERCRED], + [AC_DEFINE(ZMQ_HAVE_SO_PEERCRED, 1, [Have SO_PEERCRED socket option])], + [], + [#include ]) + +AC_CHECK_DECLS([LOCAL_PEERCRED], + [AC_DEFINE(ZMQ_HAVE_LOCAL_PEERCRED, 1, [Have LOCAL_PEERCRED socket option])], + [], + [#include ]) + AM_CONDITIONAL(HAVE_IPC_PEERCRED, test "x$ac_cv_have_decl_SO_PEERCRED" = "xyes" || test "x$ac_cv_have_decl_LOCAL_PEERCRED" = "xyes") AC_HEADER_STDBOOL AC_C_CONST AC_C_INLINE + # Checks for typedefs, structures, and compiler characteristics. if test "x$libzmq_cv_[]_AC_LANG_ABBREV[]_intel_compiler" = "xyes"; then dnl 279: controlling expression is constant @@ -386,117 +418,62 @@ else AC_TYPE_SIZE_T AC_TYPE_SSIZE_T fi + AC_HEADER_TIME AC_TYPE_UINT32_T AC_C_VOLATILE -# PGM extension -libzmq_pgm_ext="no" +# build using pgm +have_pgm_library="no" -pgm_basename="libpgm-5.2.122~dfsg" - -AC_ARG_WITH([pgm], [AS_HELP_STRING([--with-pgm], - [build libzmq with PGM extension [default=no]])], - [with_pgm_ext=$withval], [with_pgm_ext=no]) - -# build using system pgm -AC_ARG_WITH([system-pgm], [AS_HELP_STRING([--with-system-pgm], +AC_ARG_WITH([pgm], [AS_HELP_STRING([--with-pgm], [build libzmq with PGM extension. Requires pkg-config [default=no]])], - [with_system_pgm_ext=yes], [with_system_pgm_ext=no]) - -if test "x$with_pgm_ext" != "xno" -a "x$with_system_pgm_ext" != "xno"; then - AC_MSG_ERROR([--with-pgm and --with-system-pgm cannot be specified together]) -fi + [with_pgm_ext=yes], [with_pgm_ext=no]) +# conditionally require pgm package if test "x$with_pgm_ext" != "xno"; then - - # This allows placing the tar.gz to foreign/openpgm - # and using ./configure --with-pgm=libpgm-x.y.z - if test "x$with_pgm_ext" != "xyes"; then - pgm_basename="$with_pgm_ext" - fi - - # Unpack libpgm - AC_MSG_NOTICE([Unpacking ${pgm_basename}.tar.gz]) - libzmq_pwd=`pwd` - cd foreign/openpgm - - if ! (gzip -dc "${pgm_basename}.tar.gz" || echo "failed") | ${am__untar}; then - AC_MSG_ERROR([cannot unpack the foreign/openpgm/${pgm_basename}.tar.gz file]) - fi - - cd "${libzmq_pwd}" - - if test -d foreign/openpgm/build-staging; then - rm -rf foreign/openpgm/build-staging - fi - - mv foreign/openpgm/${pgm_basename} foreign/openpgm/build-staging - pgm_srcdir=foreign/openpgm/build-staging/openpgm/pgm - - if ! test -d foreign/openpgm/build-staging/openpgm/pgm/config; then - mkdir foreign/openpgm/build-staging/openpgm/pgm/config - fi - - # DSO symbol visibility for openpgm - AC_LANG_PUSH([C]) - LIBZMQ_CHECK_LANG_VISIBILITY([ac_configure_args="CFLAGS='$libzmq_cv_[]_AC_LANG_ABBREV[]_visibility_flag' ${ac_configure_args}"]) - AC_LANG_POP([C]) - - pgm_subdir=build-staging/openpgm/pgm - AC_SUBST(pgm_subdir) - - AC_SUBST(pgm_srcdir) - AC_CONFIG_SUBDIRS([foreign/openpgm/build-staging/openpgm/pgm/]) - - # Success! - AC_DEFINE(ZMQ_HAVE_OPENPGM, 1, [Have OpenPGM extension]) - libzmq_pgm_ext="yes" -fi - -# Build with system openpgm -if test "x$with_system_pgm_ext" != "xno"; then m4_ifdef([PKG_CHECK_MODULES], [ - have_pgm_system_library="no" - PKG_CHECK_MODULES([OpenPGM], [openpgm-5.2 >= 5.2], - [ have_pgm_system_library="yes" ], - [PKG_CHECK_MODULES([OpenPGM], [openpgm-5.1 >= 5.1], - [ have_pgm_system_library="yes" ]) - ] + PKG_CHECK_MODULES([pgm], [openpgm-5.2 >= 5.2], + [ have_pgm_library="yes" ], + [PKG_CHECK_MODULES([pgm], [openpgm-5.1 >= 5.1], + [ have_pgm_library="yes" ])] ) - if test "x$have_pgm_system_library" = "xyes"; then - AC_DEFINE(ZMQ_HAVE_OPENPGM, 1, [Have OpenPGM extension]) - LIBZMQ_EXTRA_CXXFLAGS="$OpenPGM_CFLAGS $LIBZMQ_EXTRA_CXXFLAGS" - LIBS="$OpenPGM_LIBS $LIBS" - fi ], - [AC_MSG_ERROR([--with-system-pgm requires a working pkg-config installation])]) + [AC_MSG_ERROR([--with-pgm requires a working pkg-config installation])]) fi -AC_SUBST(pgm_basename) +if test "x$have_pgm_library" = "xyes"; then + AC_DEFINE(ZMQ_HAVE_OPENPGM, [1], [Have OpenPGM extension]) +fi + +AM_CONDITIONAL(HAVE_PGM, test "x$have_pgm_library" = "xyes") # This uses "--with-norm" to point to the "norm" directory # for "norm/include" and "norm/lib" #(if "--with-norm=yes" is given, then assume installed on system) -AC_ARG_WITH([norm], [AS_HELP_STRING([--with-norm], - [build libzmq with NORM protocol extension, optionally specifying norm path [default=no]])], - [with_norm_ext=$withval], [with_norm_ext=no]) - - +AC_ARG_WITH([norm], + [AS_HELP_STRING([--with-norm], + [build libzmq with NORM protocol extension, optionally specifying norm path [default=no]])], + [with_norm_ext=$withval], + [with_norm_ext=no]) + + + AC_MSG_CHECKING("with_norm_ext = ${with_norm_ext}") -if test "x$with_norm_ext" != "xno"; then +if test "x$with_norm_ext" != "xno"; then AC_DEFINE(ZMQ_HAVE_NORM, 1, [Have NORM protocol extension]) + if test "x$wwith_norm_ext" != "xyes"; then norm_path="${with_norm_ext}" LIBZMQ_EXTRA_CXXFLAGS="-I${norm_path}/include ${LIBZMQ_EXTRA_CXXFLAGS}" LIBZMQ_EXTRA_LDFLAGS="-I${norm_path}/include ${LIBZMQ_EXTRA_LDFLAGS}" fi + LIBS="-lnorm $LIBS" fi - # Set -Wall, -Werror and -pedantic AC_LANG_PUSH([C++]) @@ -513,7 +490,6 @@ fi AC_LANG_POP([C++]) AM_CONDITIONAL(BUILD_TIPC, test "x$libzmq_tipc_support" = "xyes") -AM_CONDITIONAL(BUILD_PGM, test "x$libzmq_pgm_ext" = "xyes") AM_CONDITIONAL(ON_MINGW, test "x$libzmq_on_mingw32" = "xyes") AM_CONDITIONAL(ON_ANDROID, test "x$libzmq_on_android" = "xyes") AM_CONDITIONAL(ON_LINUX, test "x$libzmq_on_linux" = "xyes") @@ -522,38 +498,43 @@ AM_CONDITIONAL(ON_LINUX, test "x$libzmq_on_linux" = "xyes") AC_TYPE_SIGNAL AC_CHECK_FUNCS(perror gettimeofday clock_gettime memset socket getifaddrs freeifaddrs fork) AC_CHECK_HEADERS([alloca.h]) -LIBZMQ_CHECK_SOCK_CLOEXEC([AC_DEFINE( - [ZMQ_HAVE_SOCK_CLOEXEC], - [1], - [Whether SOCK_CLOEXEC is defined and functioning.]) - ]) + +LIBZMQ_CHECK_SOCK_CLOEXEC([ + AC_DEFINE([ZMQ_HAVE_SOCK_CLOEXEC], + [1], + [Whether SOCK_CLOEXEC is defined and functioning.]) + ]) # TCP keep-alives Checks. -LIBZMQ_CHECK_SO_KEEPALIVE([AC_DEFINE( - [ZMQ_HAVE_SO_KEEPALIVE], - [1], - [Whether SO_KEEPALIVE is supported.]) - ]) -LIBZMQ_CHECK_TCP_KEEPCNT([AC_DEFINE( - [ZMQ_HAVE_TCP_KEEPCNT], - [1], - [Whether TCP_KEEPCNT is supported.]) - ]) -LIBZMQ_CHECK_TCP_KEEPIDLE([AC_DEFINE( - [ZMQ_HAVE_TCP_KEEPIDLE], - [1], - [Whether TCP_KEEPIDLE is supported.]) - ]) -LIBZMQ_CHECK_TCP_KEEPINTVL([AC_DEFINE( - [ZMQ_HAVE_TCP_KEEPINTVL], - [1], - [Whether TCP_KEEPINTVL is supported.]) - ]) -LIBZMQ_CHECK_TCP_KEEPALIVE([AC_DEFINE( - [ZMQ_HAVE_TCP_KEEPALIVE], - [1], - [Whether TCP_KEEPALIVE is supported.]) - ]) +LIBZMQ_CHECK_SO_KEEPALIVE([ + AC_DEFINE([ZMQ_HAVE_SO_KEEPALIVE], + [1], + [Whether SO_KEEPALIVE is supported.]) + ]) + +LIBZMQ_CHECK_TCP_KEEPCNT([ + AC_DEFINE([ZMQ_HAVE_TCP_KEEPCNT], + [1], + [Whether TCP_KEEPCNT is supported.]) + ]) + +LIBZMQ_CHECK_TCP_KEEPIDLE([ + AC_DEFINE([ZMQ_HAVE_TCP_KEEPIDLE], + [1], + [Whether TCP_KEEPIDLE is supported.]) + ]) + +LIBZMQ_CHECK_TCP_KEEPINTVL([ + AC_DEFINE([ZMQ_HAVE_TCP_KEEPINTVL], + [1], + [Whether TCP_KEEPINTVL is supported.]) + ]) + +LIBZMQ_CHECK_TCP_KEEPALIVE([ + AC_DEFINE([ZMQ_HAVE_TCP_KEEPALIVE], + [1], + [Whether TCP_KEEPALIVE is supported.]) + ]) AM_CONDITIONAL(HAVE_FORK, test "x$ac_cv_func_fork" = "xyes") @@ -562,15 +543,19 @@ AC_SUBST(LIBZMQ_EXTRA_CFLAGS) AC_SUBST(LIBZMQ_EXTRA_CXXFLAGS) AC_SUBST(LIBZMQ_EXTRA_LDFLAGS) -AC_ARG_WITH([pkgconfigdir], AS_HELP_STRING([--with-pkgconfigdir=PATH], - [Path to the pkgconfig directory [[LIBDIR/pkgconfig]]]), - [pkgconfigdir="$withval"], [pkgconfigdir='${libdir}/pkgconfig']) +# set pkgconfigdir, allow override +AC_ARG_WITH([pkgconfigdir], + AS_HELP_STRING([--with-pkgconfigdir=PATH], + [Path to the pkgconfig directory [[LIBDIR/pkgconfig]]]), + [pkgconfigdir="$withval"], + [pkgconfigdir='${libdir}/pkgconfig']) AC_SUBST([pkgconfigdir]) -AC_CONFIG_FILES([Makefile \ +AC_CONFIG_FILES([ \ + Makefile \ src/libzmq.pc \ doc/Makefile \ builds/msvc/Makefile \ - foreign/openpgm/Makefile \ builds/redhat/zeromq.spec]) + AC_OUTPUT diff --git a/doc/Makefile.am b/doc/Makefile.am index f52cec34..0ebce1c9 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,3 +1,6 @@ +# +# documentation +# MAN3 = zmq_bind.3 zmq_unbind.3 zmq_connect.3 zmq_disconnect.3 zmq_close.3 \ zmq_ctx_new.3 zmq_ctx_term.3 zmq_ctx_get.3 zmq_ctx_set.3 zmq_ctx_shutdown.3 \ zmq_msg_init.3 zmq_msg_init_data.3 zmq_msg_init_size.3 \ @@ -21,20 +24,17 @@ MAN_TXT = $(MAN3:%.3=%.txt) MAN_TXT += $(MAN7:%.7=%.txt) MAN_HTML = $(MAN_TXT:%.txt=%.html) +MAINTAINERCLEANFILES = $(MAN_DOC) $(MAN_HTML) + +EXTRA_DIST = asciidoc.conf $(MAN_TXT) + +if BUILD_DOC +EXTRA_DIST += $(MAN_HTML) + if INSTALL_MAN dist_man_MANS = $(MAN_DOC) endif -EXTRA_DIST = asciidoc.conf $(MAN_TXT) -if BUILD_DOC -EXTRA_DIST += $(MAN_HTML) -endif - -MAINTAINERCLEANFILES = $(MAN_DOC) $(MAN_HTML) - -dist-hook : $(MAN_DOC) $(MAN_HTML) - -if BUILD_DOC SUFFIXES=.html .txt .xml .3 .7 .txt.html: @@ -52,3 +52,5 @@ SUFFIXES=.html .txt .xml .3 .7 zmq_epgm.7: zmq_pgm.7 cp $< $@ endif + +dist-hook : $(MAN_DOC) $(MAN_HTML) diff --git a/foreign/openpgm/Makefile.am b/foreign/openpgm/Makefile.am deleted file mode 100644 index 665b4574..00000000 --- a/foreign/openpgm/Makefile.am +++ /dev/null @@ -1,8 +0,0 @@ -SUBDIRS = $(pgm_subdir) -DIST_SUBDIRS = -# Override Automake's installation targets with the command ":" that does nothing. -install:; @: -install-exec:; @: -install-data:; @: -uninstall:; @: -dist:; @; diff --git a/foreign/openpgm/libpgm-5.2.122~dfsg.tar.gz b/foreign/openpgm/libpgm-5.2.122~dfsg.tar.gz deleted file mode 100755 index 410af0aabf82309ab875f43cbe243bf4999374b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 951536 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

&%?Me!e`mJ^?o9vKKy3BJS`4%%?bFxJL1N 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

Su@s0=B!B; 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℘edV9QgesFS( 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%0A0^!DJbBKgYK*P)RAYOUWxHAS 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

%Sl_*Oey0}nh}bnq3&2XZ;I!C-7X!d4HoHF!fP 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≷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Μ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¨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 Date: Tue, 14 Oct 2014 10:31:25 +0200 Subject: [PATCH 08/67] Updated NEWS for 4.0.x releases --- NEWS | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/NEWS b/NEWS index 5e7f2961..a20413f0 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,52 @@ +0MQ version 4.0.5 stable, released on 2014/10/14 +================================================ + +* Fixed #1191; CURVE mechanism does not verify short term nonces. + +* Fixed #1190; stream_engine is vulnerable to downgrade attacks. + +* Fixed #1088; assertion failure for WSAENOTSOCK on Windows. + +* Fixed #1015; race condition while connecting inproc sockets. + +* Fixed #994; bump so library number to 4.0.0 + +* Fixed #939, assertion failed: !more (fq.cpp:99) after many ZAP requests. + +* Fixed #872; lost first part of message over inproc://. + +* Fixed #797, keep-alive on Windows. + + +0MQ version 4.0.4 stable, released on 2014/03/10 +================================================ + +Bug Fixes +--------- + +* Fixed #909; out of tree build issue on Linux. + +* Fixed #888; hangs on terminate when inproc connected but never bound. + +* Fixed #868; assertion failure at ip.cpp:137 when using port scanner. + +* Fixed #818; fix timestamp counter on s390/s390x. + +* Fixed #817; only export zmq_* symbols. + +* Fixed #797; fixed setting TCP keepalive on Windows. + +* Fixed #775; compile error on Windows. + +* Fixed #763; when talking to a ZMTP v1 peer (libzmq 2.2), a socket would + send an extra identity frame at the start of the connection. + +* Fixed LIBZMQ-576 - Crash closing a socket after zmq_msg_send returns + EAGAIN (reverts LIBZMQ-497) + +* Fixed LIBZMQ-584; subscription filters getting lost on reconnection. + + 0MQ version 4.0.3 stable, released on 2013/11/24 ================================================ From bc0f8d5168020e817456ef4442182350b32b6a26 Mon Sep 17 00:00:00 2001 From: Pieter Hintjens Date: Tue, 14 Oct 2014 10:39:27 +0200 Subject: [PATCH 09/67] Updated development master to 4.2.x --- NEWS | 6 ++++++ include/zmq.h | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index a20413f0..236f043c 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,9 @@ +0MQ version 4.1.0 rc1, released on 2014/10/14 +============================================= + +* Many changes, see ChangeLog. + + 0MQ version 4.0.5 stable, released on 2014/10/14 ================================================ diff --git a/include/zmq.h b/include/zmq.h index 3baac64f..fdf2c65c 100644 --- a/include/zmq.h +++ b/include/zmq.h @@ -30,7 +30,7 @@ /* Version macros for compile-time API version detection */ #define ZMQ_VERSION_MAJOR 4 -#define ZMQ_VERSION_MINOR 1 +#define ZMQ_VERSION_MINOR 2 #define ZMQ_VERSION_PATCH 0 #define ZMQ_MAKE_VERSION(major, minor, patch) \ From b6762a6a8be561191ed479d93db78e00c7292e50 Mon Sep 17 00:00:00 2001 From: Pieter Hintjens Date: Tue, 14 Oct 2014 16:29:54 +0200 Subject: [PATCH 10/67] Marked TCP and IPC filters as deprecated (ZAP) --- doc/zmq_setsockopt.txt | 188 +++++++++++++++++++++-------------------- include/zmq.h | 8 +- 2 files changed, 102 insertions(+), 94 deletions(-) diff --git a/doc/zmq_setsockopt.txt b/doc/zmq_setsockopt.txt index be01fe13..0025ef5f 100644 --- a/doc/zmq_setsockopt.txt +++ b/doc/zmq_setsockopt.txt @@ -283,77 +283,6 @@ Default value:: 0 (false) Applicable socket types:: all, only for connection-oriented transports. -ZMQ_IPC_FILTER_GID: Assign group ID filters to allow new IPC connections -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Assign an arbitrary number of filters that will be applied for each new IPC -transport connection on a listening socket. If no IPC filters are applied, then -the IPC transport allows connections from any process. If at least one UID, -GID, or PID filter is applied then new connection credentials should be -matched. To clear all GID filters call zmq_setsockopt(socket, -ZMQ_IPC_FILTER_GID, NULL, 0). - -NOTE: GID filters are only available on platforms supporting SO_PEERCRED or -LOCAL_PEERCRED socket options (currently only Linux and later versions of -OS X). - -[horizontal] -Option value type:: gid_t -Option value unit:: N/A -Default value:: no filters (allow from all) -Applicable socket types:: all listening sockets, when using IPC transports. - - -ZMQ_IPC_FILTER_PID: Assign process ID filters to allow new IPC connections -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Assign an arbitrary number of filters that will be applied for each new IPC -transport connection on a listening socket. If no IPC filters are applied, then -the IPC transport allows connections from any process. If at least one UID, -GID, or PID filter is applied then new connection credentials should be -matched. To clear all PID filters call zmq_setsockopt(socket, -ZMQ_IPC_FILTER_PID, NULL, 0). - -NOTE: PID filters are only available on platforms supporting the SO_PEERCRED -socket option (currently only Linux). - -[horizontal] -Option value type:: pid_t -Option value unit:: N/A -Default value:: no filters (allow from all) -Applicable socket types:: all listening sockets, when using IPC transports. - - -ZMQ_IPC_FILTER_UID: Assign user ID filters to allow new IPC connections -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Assign an arbitrary number of filters that will be applied for each new IPC -transport connection on a listening socket. If no IPC filters are applied, then -the IPC transport allows connections from any process. If at least one UID, -GID, or PID filter is applied then new connection credentials should be -matched. To clear all UID filters call zmq_setsockopt(socket, -ZMQ_IPC_FILTER_UID, NULL, 0). - -NOTE: UID filters are only available on platforms supporting SO_PEERCRED or -LOCAL_PEERCRED socket options (currently only Linux and later versions of -OS X). - -[horizontal] -Option value type:: uid_t -Option value unit:: N/A -Default value:: no filters (allow from all) -Applicable socket types:: all listening sockets, when using IPC transports. - - -ZMQ_IPV4ONLY: Use IPv4-only on socket -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Set the IPv4-only option for the socket. This option is deprecated. -Please use the ZMQ_IPV6 option. - -[horizontal] -Option value type:: int -Option value unit:: boolean -Default value:: 1 (true) -Applicable socket types:: all, when using TCP transports. - - ZMQ_IPV6: Enable IPv6 on socket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Set the IPv6 option for the socket. A value of `1` means IPv6 is @@ -760,25 +689,6 @@ Default value:: N/A Applicable socket types:: ZMQ_SUB -ZMQ_TCP_ACCEPT_FILTER: Assign filters to allow new TCP connections -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Assign an arbitrary number of filters that will be applied for each new TCP -transport connection on a listening socket. If no filters are applied, then -the TCP transport allows connections from any IP address. If at least one -filter is applied then new connection source ip should be matched. To clear -all filters call zmq_setsockopt(socket, ZMQ_TCP_ACCEPT_FILTER, NULL, 0). -Filter is a null-terminated string with ipv6 or ipv4 CIDR. - -NOTE: This option is deprecated, please use authentication via the ZAP API -and IP address whitelisting / blacklisting. - -[horizontal] -Option value type:: binary data -Option value unit:: N/A -Default value:: no filters (allow from all) -Applicable socket types:: all listening sockets, when using TCP transports. - - ZMQ_TCP_KEEPALIVE: Override SO_KEEPALIVE socket option ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Override 'SO_KEEPALIVE' socket option (where supported by OS). @@ -886,6 +796,104 @@ Default value:: not set Applicable socket types:: all, when using TCP transport +ZMQ_TCP_ACCEPT_FILTER: Assign filters to allow new TCP connections +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Assign an arbitrary number of filters that will be applied for each new TCP +transport connection on a listening socket. If no filters are applied, then +the TCP transport allows connections from any IP address. If at least one +filter is applied then new connection source ip should be matched. To clear +all filters call zmq_setsockopt(socket, ZMQ_TCP_ACCEPT_FILTER, NULL, 0). +Filter is a null-terminated string with ipv6 or ipv4 CIDR. + +NOTE: This option is deprecated, please use authentication via the ZAP API +and IP address whitelisting / blacklisting. + +[horizontal] +Option value type:: binary data +Option value unit:: N/A +Default value:: no filters (allow from all) +Applicable socket types:: all listening sockets, when using TCP transports. + + +ZMQ_IPC_FILTER_GID: Assign group ID filters to allow new IPC connections +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Assign an arbitrary number of filters that will be applied for each new IPC +transport connection on a listening socket. If no IPC filters are applied, then +the IPC transport allows connections from any process. If at least one UID, +GID, or PID filter is applied then new connection credentials should be +matched. To clear all GID filters call zmq_setsockopt(socket, +ZMQ_IPC_FILTER_GID, NULL, 0). + +NOTE: GID filters are only available on platforms supporting SO_PEERCRED or +LOCAL_PEERCRED socket options (currently only Linux and later versions of +OS X). + +NOTE: This option is deprecated, please use authentication via the ZAP API +and IPC whitelisting / blacklisting. + +[horizontal] +Option value type:: gid_t +Option value unit:: N/A +Default value:: no filters (allow from all) +Applicable socket types:: all listening sockets, when using IPC transports. + + +ZMQ_IPC_FILTER_PID: Assign process ID filters to allow new IPC connections +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Assign an arbitrary number of filters that will be applied for each new IPC +transport connection on a listening socket. If no IPC filters are applied, then +the IPC transport allows connections from any process. If at least one UID, +GID, or PID filter is applied then new connection credentials should be +matched. To clear all PID filters call zmq_setsockopt(socket, +ZMQ_IPC_FILTER_PID, NULL, 0). + +NOTE: PID filters are only available on platforms supporting the SO_PEERCRED +socket option (currently only Linux). + +NOTE: This option is deprecated, please use authentication via the ZAP API +and IPC whitelisting / blacklisting. + +[horizontal] +Option value type:: pid_t +Option value unit:: N/A +Default value:: no filters (allow from all) +Applicable socket types:: all listening sockets, when using IPC transports. + + +ZMQ_IPC_FILTER_UID: Assign user ID filters to allow new IPC connections +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Assign an arbitrary number of filters that will be applied for each new IPC +transport connection on a listening socket. If no IPC filters are applied, then +the IPC transport allows connections from any process. If at least one UID, +GID, or PID filter is applied then new connection credentials should be +matched. To clear all UID filters call zmq_setsockopt(socket, +ZMQ_IPC_FILTER_UID, NULL, 0). + +NOTE: UID filters are only available on platforms supporting SO_PEERCRED or +LOCAL_PEERCRED socket options (currently only Linux and later versions of +OS X). + +NOTE: This option is deprecated, please use authentication via the ZAP API +and IPC whitelisting / blacklisting. + +[horizontal] +Option value type:: uid_t +Option value unit:: N/A +Default value:: no filters (allow from all) +Applicable socket types:: all listening sockets, when using IPC transports. + + +ZMQ_IPV4ONLY: Use IPv4-only on socket +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Set the IPv4-only option for the socket. This option is deprecated. +Please use the ZMQ_IPV6 option. + +[horizontal] +Option value type:: int +Option value unit:: boolean +Default value:: 1 (true) +Applicable socket types:: all, when using TCP transports. + RETURN VALUE ------------ The _zmq_setsockopt()_ function shall return zero if successful. Otherwise it diff --git a/include/zmq.h b/include/zmq.h index fdf2c65c..cb5b2462 100644 --- a/include/zmq.h +++ b/include/zmq.h @@ -276,7 +276,6 @@ ZMQ_EXPORT const char *zmq_msg_gets (zmq_msg_t *msg, const char *property); #define ZMQ_TCP_KEEPALIVE_CNT 35 #define ZMQ_TCP_KEEPALIVE_IDLE 36 #define ZMQ_TCP_KEEPALIVE_INTVL 37 -#define ZMQ_TCP_ACCEPT_FILTER 38 #define ZMQ_IMMEDIATE 39 #define ZMQ_XPUB_VERBOSE 40 #define ZMQ_ROUTER_RAW 41 @@ -296,9 +295,6 @@ ZMQ_EXPORT const char *zmq_msg_gets (zmq_msg_t *msg, const char *property); #define ZMQ_ZAP_DOMAIN 55 #define ZMQ_ROUTER_HANDOVER 56 #define ZMQ_TOS 57 -#define ZMQ_IPC_FILTER_PID 58 -#define ZMQ_IPC_FILTER_UID 59 -#define ZMQ_IPC_FILTER_GID 60 #define ZMQ_CONNECT_RID 61 #define ZMQ_GSSAPI_SERVER 62 #define ZMQ_GSSAPI_PRINCIPAL 63 @@ -325,6 +321,10 @@ ZMQ_EXPORT const char *zmq_msg_gets (zmq_msg_t *msg, const char *property); #define ZMQ_GSSAPI 3 /* Deprecated options and aliases */ +#define ZMQ_TCP_ACCEPT_FILTER 38 +#define ZMQ_IPC_FILTER_PID 58 +#define ZMQ_IPC_FILTER_UID 59 +#define ZMQ_IPC_FILTER_GID 60 #define ZMQ_IPV4ONLY 31 #define ZMQ_DELAY_ATTACH_ON_CONNECT ZMQ_IMMEDIATE #define ZMQ_NOBLOCK ZMQ_DONTWAIT From c8ee16940fff19ae3c12b4596c4bd131b2c71996 Mon Sep 17 00:00:00 2001 From: Phillip Mienk Date: Thu, 16 Oct 2014 00:37:57 -0700 Subject: [PATCH 11/67] Require pkg-config, use pkg-config to pull seek libsodium. --- Makefile.am | 5 ++++ configure.ac | 75 +++++++++++++++------------------------------------- 2 files changed, 26 insertions(+), 54 deletions(-) diff --git a/Makefile.am b/Makefile.am index 2a63cf59..b44bff15 100644 --- a/Makefile.am +++ b/Makefile.am @@ -230,6 +230,11 @@ endif libzmq_la_CXXFLAGS = @LIBZMQ_EXTRA_CXXFLAGS@ +if HAVE_SODIUM +libzmq_la_CPPFLAGS = ${sodium_CFLAGS} +libzmq_la_LIBADD = ${sodium_LIBS} +endif + if HAVE_PGM libzmq_la_CPPFLAGS = ${pgm_CFLAGS} libzmq_la_LIBADD = ${pgm_LIBS} diff --git a/configure.ac b/configure.ac index d23c0a58..3bf15a95 100644 --- a/configure.ac +++ b/configure.ac @@ -48,6 +48,7 @@ AC_PROG_CXX AM_PROG_CC_C_O AC_PROG_SED AC_PROG_AWK +PKG_PROG_PKG_CONFIG # Libtool configuration for different targets. See acinclude.m4 AC_ARG_VAR([XMLTO], [Path to xmlto command]) @@ -101,46 +102,6 @@ AC_RUN_IFELSE( AC_MSG_RESULT([$libzmq_tipc_support]) - -# Allow libsodium to be installed in a custom path: - -AC_ARG_WITH([libsodium], - [AS_HELP_STRING([--with-libsodium], - [Specify libsodium prefix])], - [zmq_search_libsodium="yes"], - []) - -if test "x$zmq_search_libsodium" = "xyes"; then - if test -r "${with_libsodium}/include/sodium.h"; then - CPPFLAGS="-I${with_libsodium}/include ${CPPFLAGS}" - LDFLAGS="-L${with_libsodium}/lib ${LDFLAGS}" - fi -fi - -AC_ARG_WITH([libsodium-include-dir], - [AS_HELP_STRING([--with-libsodium-include-dir], - [Specify libsodium include prefix])], - [zmq_search_libsodium_include="yes"], - []) - -if test "x$zmq_search_libsodium_include" = "xyes"; then - if test -r "${with_libsodium_include_dir}/sodium.h"; then - CPPFLAGS="-I${with_libsodium_include_dir}/include ${CPPFLAGS}" - fi -fi - -AC_ARG_WITH([libsodium_lib_dir], - [AS_HELP_STRING([--with-libsodium-lib-dir], - [Specify libsodium library prefix])], - [zmq_search_libsodium_lib="yes"], - []) - -if test "x$zmq_search_libsodium_lib" = "xyes"; then - if test -r "${with_libsodium_lib_dir}/libsodium.{a|so|dylib}"; then - LDFLAGS="-L${with_libsodium}/lib ${LDFLAGS}" - fi -fi - AC_ARG_WITH([relaxed], [AS_HELP_STRING([--with-relaxed], [Switch off pedantic compiler])], @@ -320,12 +281,6 @@ esac AC_CHECK_LIB([pthread], [pthread_create]) AC_CHECK_LIB([rt], [clock_gettime]) -if test "x$zmq_search_libsodium" = "xyes"; then - AC_CHECK_LIB([sodium],[sodium_init],,AC_MSG_ERROR(libsodium is not installed. Install it or don't pass --with-libsodium to configure script)) -else - AC_CHECK_LIB([sodium], [sodium_init],,AC_MSG_WARN(libsodium is needed for CURVE security)) -fi - AC_CHECK_LIB([gssapi_krb5], [gss_init_sec_context],,AC_MSG_WARN(libgssapi_krb5 is needed for GSSAPI security)) # @@ -423,6 +378,23 @@ AC_HEADER_TIME AC_TYPE_UINT32_T AC_C_VOLATILE +# build using libsodium +have_sodium_library="no" + +AC_ARG_WITH([libsodium], [AS_HELP_STRING([--with-libsodium], + [require libzmq build with libsodium. Requires pkg-config [default=no]])], + [require_libsodium_ext=yes], [require_libsodium_ext=no]) + +#conditionally require libsodium package +if test "x$require_libsodium_ext" != "xno"; then + PKG_CHECK_MODULES([sodium], [libsodium], [have_sodium_library="yes"]) +else + PKG_CHECK_MODULES([sodium], [libsodium], [have_sodium_library="yes"], + [AC_MSG_WARN(libsodium is needed for CURVE security)]) +fi + +AM_CONDITIONAL(HAVE_SODIUM, test "x$have_sodium_library" = "xyes") + # build using pgm have_pgm_library="no" @@ -432,14 +404,9 @@ AC_ARG_WITH([pgm], [AS_HELP_STRING([--with-pgm], # conditionally require pgm package if test "x$with_pgm_ext" != "xno"; then - m4_ifdef([PKG_CHECK_MODULES], [ - PKG_CHECK_MODULES([pgm], [openpgm-5.2 >= 5.2], - [ have_pgm_library="yes" ], - [PKG_CHECK_MODULES([pgm], [openpgm-5.1 >= 5.1], - [ have_pgm_library="yes" ])] - ) - ], - [AC_MSG_ERROR([--with-pgm requires a working pkg-config installation])]) + PKG_CHECK_MODULES([pgm], [openpgm-5.2 >= 5.2], [ have_pgm_library="yes" ], + [PKG_CHECK_MODULES([pgm], [openpgm-5.1 >= 5.1], + [ have_pgm_library="yes" ])]) fi if test "x$have_pgm_library" = "xyes"; then From 8cf5e9fd48199eb0137cd0bcf27c50ad20e06dbb Mon Sep 17 00:00:00 2001 From: Phillip Mienk Date: Thu, 16 Oct 2014 04:44:08 -0700 Subject: [PATCH 12/67] Correct declaration of HAVE_LIBSODIUM. --- configure.ac | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 3bf15a95..0a74c08c 100644 --- a/configure.ac +++ b/configure.ac @@ -393,7 +393,11 @@ else [AC_MSG_WARN(libsodium is needed for CURVE security)]) fi -AM_CONDITIONAL(HAVE_SODIUM, test "x$have_sodium_library" = "xyes") +if test "x$have_sodium_library" != "xno"; then +AC_DEFINE(HAVE_LIBSODIUM, 1, [The libsodium library is to be used.]) +fi + +AM_CONDITIONAL(HAVE_SODIUM, test "x$have_sodium_library" != "xno") # build using pgm have_pgm_library="no" From 9289845c83bdb1ebc848ccb216bd6f8e262e7a35 Mon Sep 17 00:00:00 2001 From: "J.T. Conklin" Date: Thu, 16 Oct 2014 06:13:36 -0700 Subject: [PATCH 13/67] Remove build and runtime dependencies on e2fsprogs and e2fsprogs-devel. --- builds/redhat/zeromq.spec.in | 5 ----- 1 file changed, 5 deletions(-) diff --git a/builds/redhat/zeromq.spec.in b/builds/redhat/zeromq.spec.in index bdd56bf8..951f1d1f 100644 --- a/builds/redhat/zeromq.spec.in +++ b/builds/redhat/zeromq.spec.in @@ -11,11 +11,6 @@ Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gcc, make, gcc-c++, libstdc++-devel, asciidoc, xmlto Requires: libstdc++ -%if %{?rhel}%{!?rhel:0} >= 5 -BuildRequires: e2fsprogs-devel -Requires: e2fsprogs -%endif - # Build pgm only on supported archs %ifarch pentium3 pentium4 athlon i386 i486 i586 i686 x86_64 BuildRequires: python, perl From 76d86c3fc3157b16a2f4d2f29c47f76e61020afc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergey=20M=E2=80=A4?= Date: Fri, 17 Oct 2014 04:10:33 +0700 Subject: [PATCH 14/67] Fix some typos --- src/pipe.cpp | 2 +- src/pipe.hpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pipe.cpp b/src/pipe.cpp index fecdbc48..f7a543ec 100644 --- a/src/pipe.cpp +++ b/src/pipe.cpp @@ -388,7 +388,7 @@ void zmq::pipe_t::terminate (bool delay_) state = term_ack_sent; } - // If there are pending messages still availabe, do nothing. + // If there are pending messages still available, do nothing. else if (state == waiting_for_delimiter) { } diff --git a/src/pipe.hpp b/src/pipe.hpp index da48571f..7567bbb2 100644 --- a/src/pipe.hpp +++ b/src/pipe.hpp @@ -98,10 +98,10 @@ namespace zmq // Remove unfinished parts of the outbound message from the pipe. void rollback (); - // Flush the messages downsteam. + // Flush the messages downstream. void flush (); - // Temporaraily disconnects the inbound message stream and drops + // Temporarily disconnects the inbound message stream and drops // all the messages on the fly. Causes 'hiccuped' event to be generated // in the peer. void hiccup (); @@ -181,7 +181,7 @@ namespace zmq // active: common state before any termination begins, // delimiter_received: delimiter was read from pipe before // term command was received, - // waiting_fo_delimiter: term command was already received + // waiting_for_delimiter: term command was already received // from the peer but there are still pending messages to read, // term_ack_sent: all pending messages were already read and // all we are waiting for is ack from the peer, From c22bcf4f65cbcec4ddcaaa9ad527842f71b22756 Mon Sep 17 00:00:00 2001 From: Dan Mick Date: Thu, 16 Oct 2014 14:10:17 -0700 Subject: [PATCH 15/67] Fix builds/msvc/Makefile.am to include all properties files in the build I attempted to fix up the properties files manifests in the Makefile, but neglected the end-of-line escape characters. It was good enough to pass whatever make dist on Linux did, but I had no Windows build env to test in. The broken change was in commit de4a442. Signed-off-by: Dan Mick --- builds/msvc/Makefile.am | 46 ++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/builds/msvc/Makefile.am b/builds/msvc/Makefile.am index e960c39a..078c1eb7 100644 --- a/builds/msvc/Makefile.am +++ b/builds/msvc/Makefile.am @@ -72,29 +72,29 @@ PERF_DIST = vs2008/local_lat/local_lat.vcproj \ vs2013/inproc_lat/inproc_lat.props \ vs2013/inproc_thr/inproc_thr.props -PROPERTIES_DIST = properties/Common.props - properties/DebugDEXE.props - properties/DebugDLL.props - properties/DebugLEXE.props - properties/DebugLIB.props - properties/DebugLTCG.props - properties/Debug.props - properties/DebugSEXE.props - properties/DLL.props - properties/EXE.props - properties/LIB.props - properties/Link.props - properties/LTCG.props - properties/Messages.props - properties/Output.props - properties/ReleaseDEXE.props - properties/ReleaseDLL.props - properties/ReleaseLEXE.props - properties/ReleaseLIB.props - properties/ReleaseLTCG.props - properties/Release.props - properties/ReleaseSEXE.props - properties/Win32.props +PROPERTIES_DIST = properties/Common.props \ + properties/DebugDEXE.props \ + properties/DebugDLL.props \ + properties/DebugLEXE.props \ + properties/DebugLIB.props \ + properties/DebugLTCG.props \ + properties/Debug.props \ + properties/DebugSEXE.props \ + properties/DLL.props \ + properties/EXE.props \ + properties/LIB.props \ + properties/Link.props \ + properties/LTCG.props \ + properties/Messages.props \ + properties/Output.props \ + properties/ReleaseDEXE.props \ + properties/ReleaseDLL.props \ + properties/ReleaseLEXE.props \ + properties/ReleaseLIB.props \ + properties/ReleaseLTCG.props \ + properties/Release.props \ + properties/ReleaseSEXE.props \ + properties/Win32.props \ properties/x64.props PRECOMPILED_DIST = ../../src/precompiled.hpp \ From 2e0c1a988315b90786973ad2767a04892cbe89e9 Mon Sep 17 00:00:00 2001 From: "J.T. Conklin" Date: Thu, 16 Oct 2014 20:11:33 -0700 Subject: [PATCH 16/67] Append to libzmq_la_CPPFLAGS and libzmq_la_LIBADD. --- Makefile.am | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Makefile.am b/Makefile.am index b44bff15..944a631d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -228,16 +228,18 @@ endif endif endif +libzmq_la_CPPFLAGS = libzmq_la_CXXFLAGS = @LIBZMQ_EXTRA_CXXFLAGS@ +libzmq_la_LIBADD = if HAVE_SODIUM -libzmq_la_CPPFLAGS = ${sodium_CFLAGS} -libzmq_la_LIBADD = ${sodium_LIBS} +libzmq_la_CPPFLAGS += ${sodium_CFLAGS} +libzmq_la_LIBADD += ${sodium_LIBS} endif if HAVE_PGM -libzmq_la_CPPFLAGS = ${pgm_CFLAGS} -libzmq_la_LIBADD = ${pgm_LIBS} +libzmq_la_CPPFLAGS += ${pgm_CFLAGS} +libzmq_la_LIBADD += ${pgm_LIBS} endif noinst_PROGRAMS = \ From 779c37abc433cb6595ddeedaf86b280317656bdd Mon Sep 17 00:00:00 2001 From: Kapp Arnaud Date: Fri, 17 Oct 2014 17:21:41 +0200 Subject: [PATCH 17/67] Add support for POLLPRI flag. This commit adds a ZMQ_POLLPRI flag that maps to poll()'s POLLPRI flag. This flags does nothing for OMQ sockets. It's only useful for raw file descriptor (be it socket or file). This flag does nothing if poll() is not the underlying polling function. So it is Linux only. --- doc/zmq_poll.txt | 7 +++++++ include/zmq.h | 1 + src/zmq.cpp | 7 +++++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/doc/zmq_poll.txt b/doc/zmq_poll.txt index af581101..a55941f7 100644 --- a/doc/zmq_poll.txt +++ b/doc/zmq_poll.txt @@ -69,6 +69,13 @@ condition is present on the socket specified by 'fd'. For 0MQ sockets this flag has no effect if set in 'events', and shall never be returned in 'revents' by _zmq_poll()_. +*ZMQ_POLLPRI*:: +For 0MQ sockets this flags is of no use. For standard sockets this means there +is urgent data to read. Refer to the POLLPRI flag for more informations. +For file descriptor, refer to your use case: as an example, GPIO interrupts +are signaled through a POLLPRI event. +This flag has no effect on Windows. + NOTE: The _zmq_poll()_ function may be implemented or emulated using operating system interfaces other than _poll()_, and as such may be subject to the limits of those interfaces in ways not defined in this documentation. diff --git a/include/zmq.h b/include/zmq.h index 3baac64f..d5efe47c 100644 --- a/include/zmq.h +++ b/include/zmq.h @@ -373,6 +373,7 @@ ZMQ_EXPORT int zmq_socket_monitor (void *s, const char *addr, int events); #define ZMQ_POLLIN 1 #define ZMQ_POLLOUT 2 #define ZMQ_POLLERR 4 +#define ZMQ_POLLPRI 8 typedef struct zmq_pollitem_t { diff --git a/src/zmq.cpp b/src/zmq.cpp index 5c85fda6..cffcc2a5 100644 --- a/src/zmq.cpp +++ b/src/zmq.cpp @@ -722,7 +722,8 @@ int zmq_poll (zmq_pollitem_t *items_, int nitems_, long timeout_) pollfds [i].fd = items_ [i].fd; pollfds [i].events = (items_ [i].events & ZMQ_POLLIN ? POLLIN : 0) | - (items_ [i].events & ZMQ_POLLOUT ? POLLOUT : 0); + (items_ [i].events & ZMQ_POLLOUT ? POLLOUT : 0) | + (items_ [i].events & ZMQ_POLLPRI ? POLLPRI : 0); } } @@ -781,7 +782,9 @@ int zmq_poll (zmq_pollitem_t *items_, int nitems_, long timeout_) items_ [i].revents |= ZMQ_POLLIN; if (pollfds [i].revents & POLLOUT) items_ [i].revents |= ZMQ_POLLOUT; - if (pollfds [i].revents & ~(POLLIN | POLLOUT)) + if (pollfds [i].revents & POLLPRI) + items_ [i].revents |= ZMQ_POLLPRI; + if (pollfds [i].revents & ~(POLLIN | POLLOUT | POLLPRI)) items_ [i].revents |= ZMQ_POLLERR; } From 64a92cce49534c0b4e337e0aad3ebb95eddbfdb8 Mon Sep 17 00:00:00 2001 From: "J.T. Conklin" Date: Sat, 18 Oct 2014 16:48:40 -0700 Subject: [PATCH 18/67] Support both --with-* and --without-* options for libsodium and pgm --- configure.ac | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/configure.ac b/configure.ac index 0a74c08c..aacb0ef0 100644 --- a/configure.ac +++ b/configure.ac @@ -383,18 +383,16 @@ have_sodium_library="no" AC_ARG_WITH([libsodium], [AS_HELP_STRING([--with-libsodium], [require libzmq build with libsodium. Requires pkg-config [default=no]])], - [require_libsodium_ext=yes], [require_libsodium_ext=no]) + [require_libsodium_ext=$withval], + [require_libsodium_ext=no]) #conditionally require libsodium package if test "x$require_libsodium_ext" != "xno"; then PKG_CHECK_MODULES([sodium], [libsodium], [have_sodium_library="yes"]) -else - PKG_CHECK_MODULES([sodium], [libsodium], [have_sodium_library="yes"], - [AC_MSG_WARN(libsodium is needed for CURVE security)]) fi if test "x$have_sodium_library" != "xno"; then -AC_DEFINE(HAVE_LIBSODIUM, 1, [The libsodium library is to be used.]) + AC_DEFINE(HAVE_LIBSODIUM, 1, [The libsodium library is to be used.]) fi AM_CONDITIONAL(HAVE_SODIUM, test "x$have_sodium_library" != "xno") @@ -404,7 +402,8 @@ have_pgm_library="no" AC_ARG_WITH([pgm], [AS_HELP_STRING([--with-pgm], [build libzmq with PGM extension. Requires pkg-config [default=no]])], - [with_pgm_ext=yes], [with_pgm_ext=no]) + [with_pgm_ext=$withval], + [with_pgm_ext=no]) # conditionally require pgm package if test "x$with_pgm_ext" != "xno"; then From 9078a7a4a59698b9bd50d547bc1d084b70fd4d7e Mon Sep 17 00:00:00 2001 From: "J.T. Conklin" Date: Sat, 18 Oct 2014 17:08:53 -0700 Subject: [PATCH 19/67] Add support for --with/--without libsodium and --with/--without pgm command line options. --- builds/redhat/zeromq.spec.in | 43 ++++++++++++++++++++++++++++++------ 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/builds/redhat/zeromq.spec.in b/builds/redhat/zeromq.spec.in index 951f1d1f..81c9ba31 100644 --- a/builds/redhat/zeromq.spec.in +++ b/builds/redhat/zeromq.spec.in @@ -11,9 +11,30 @@ Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gcc, make, gcc-c++, libstdc++-devel, asciidoc, xmlto Requires: libstdc++ -# Build pgm only on supported archs +# +# Conditional build options +# Default values aree +# --without-libsodium +# --without-pgm +# + +# If neither macro exists, use the default value. +%{!?_with_libsodium: %{!?_without_libsodium: %define _without_libsodium --without-libsodium}} +%{!?_with_pgm: %{!?_without_pgm: %define _without_pgm --without-pgm}} + +# It's an error if both --with and --without options are specified +%{?_with_libsodium: %{?_without_libsodium: %{error: both _with_libsodium and _without_libsodium}}} +%{?_with_pgm: %{?_without_pgm: %{error: both _with_pgm and _without_pgm}}} + +%{?_with_libsodium:BuildRequires: libsodium-devel} +%{?_with_libsodium:Requires: libsodium} + +%{?_with_pgm:BuildRequires: openpgm-devel} +%{?_with_pgm:Requires: openpgm} + %ifarch pentium3 pentium4 athlon i386 i486 i586 i686 x86_64 -BuildRequires: python, perl +%{!?_with_pic: %{!?_without_pic: %define _with_pic --with-pic}} +%{!?_with_gnu_ld: %{!?_without_gnu_ld: %define _with_gnu_ld --with-gnu_ld}} %endif %description @@ -45,11 +66,15 @@ This package contains ZeroMQ related development libraries and header files. %setup -q %build -%ifarch pentium3 pentium4 athlon i386 i486 i586 i686 x86_64 - %configure --with-pgm --with-pic --with-gnu-ld -%else - %configure -%endif +%configure \ + %{?_with_libsodium} \ + %{?_without_libsodium} \ + %{?_with_pgm} \ + %{?_without_pgm} \ + %{?_with_pic} \ + %{?_without_pic} \ + %{?_with_gnu_ld} \ + %{?_without_gnu_ld} %{__make} %{?_smp_mflags} @@ -148,6 +173,10 @@ This package contains ZeroMQ related development libraries and header files. %{_mandir}/man7/zmq_tipc.7.gz %changelog +* Sat Oct 18 2014 J.T. Conklin +- Add --with/--without pgm support +- Add --with/--without libsodium support + * Tue Jun 10 2014 Tristian Celestin 4.0.4 - Updated packaged files From 7c33d91a78ee5cbe9634e9b606f542bee15a91d1 Mon Sep 17 00:00:00 2001 From: Phillip Mienk Date: Sat, 18 Oct 2014 19:23:37 -0700 Subject: [PATCH 20/67] Update travis script to configure with libsodium. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 699951be..f103646d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,5 +11,5 @@ before_script: # Build and check this project script: -- ./autogen.sh && ./configure && make && make check +- ./autogen.sh && ./configure --with-libsodium=yes && make && make check - sudo make install From 0d459318e3bc533b60cd09332164f3ac05d4413a Mon Sep 17 00:00:00 2001 From: Pieter Hintjens Date: Mon, 20 Oct 2014 23:18:18 +0200 Subject: [PATCH 21/67] Revert "ZMQ API diverges from POSIX" --- include/zmq.h | 11 ++++----- src/zmq.cpp | 66 +++++++++++++++++++++++++-------------------------- 2 files changed, 38 insertions(+), 39 deletions(-) diff --git a/include/zmq.h b/include/zmq.h index 2d493bfc..5dff076d 100644 --- a/include/zmq.h +++ b/include/zmq.h @@ -87,7 +87,6 @@ typedef unsigned __int8 uint8_t; # include #endif -#include /******************************************************************************/ /* 0MQ errors. */ @@ -213,8 +212,8 @@ ZMQ_EXPORT int zmq_msg_init (zmq_msg_t *msg); ZMQ_EXPORT int zmq_msg_init_size (zmq_msg_t *msg, size_t size); ZMQ_EXPORT int zmq_msg_init_data (zmq_msg_t *msg, void *data, size_t size, zmq_free_fn *ffn, void *hint); -ZMQ_EXPORT ssize_t zmq_msg_send (zmq_msg_t *msg, void *s, int flags); -ZMQ_EXPORT ssize_t zmq_msg_recv (zmq_msg_t *msg, void *s, int flags); +ZMQ_EXPORT int zmq_msg_send (zmq_msg_t *msg, void *s, int flags); +ZMQ_EXPORT int zmq_msg_recv (zmq_msg_t *msg, void *s, int flags); ZMQ_EXPORT int zmq_msg_close (zmq_msg_t *msg); ZMQ_EXPORT int zmq_msg_move (zmq_msg_t *dest, zmq_msg_t *src); ZMQ_EXPORT int zmq_msg_copy (zmq_msg_t *dest, zmq_msg_t *src); @@ -361,9 +360,9 @@ ZMQ_EXPORT int zmq_bind (void *s, const char *addr); ZMQ_EXPORT int zmq_connect (void *s, const char *addr); ZMQ_EXPORT int zmq_unbind (void *s, const char *addr); ZMQ_EXPORT int zmq_disconnect (void *s, const char *addr); -ZMQ_EXPORT ssize_t zmq_send (void *s, const void *buf, size_t len, int flags); -ZMQ_EXPORT ssize_t zmq_send_const (void *s, const void *buf, size_t len, int flags); -ZMQ_EXPORT ssize_t zmq_recv (void *s, void *buf, size_t len, int flags); +ZMQ_EXPORT int zmq_send (void *s, const void *buf, size_t len, int flags); +ZMQ_EXPORT int zmq_send_const (void *s, const void *buf, size_t len, int flags); +ZMQ_EXPORT int zmq_recv (void *s, void *buf, size_t len, int flags); ZMQ_EXPORT int zmq_socket_monitor (void *s, const char *addr, int events); diff --git a/src/zmq.cpp b/src/zmq.cpp index a1510380..cffcc2a5 100644 --- a/src/zmq.cpp +++ b/src/zmq.cpp @@ -329,38 +329,37 @@ int zmq_disconnect (void *s_, const char *addr_) // Sending functions. -static ssize_t +static int s_sendmsg (zmq::socket_base_t *s_, zmq_msg_t *msg_, int flags_) { - size_t nbytes = zmq_msg_size (msg_); + int sz = (int) zmq_msg_size (msg_); int rc = s_->send ((zmq::msg_t*) msg_, flags_); if (unlikely (rc < 0)) return -1; - return nbytes; + return sz; } /* To be deprecated once zmq_msg_send() is stable */ int zmq_sendmsg (void *s_, zmq_msg_t *msg_, int flags_) { - // reproduce behaviour of truncated int in deprecated API - return (int) zmq_msg_send (msg_, s_, flags_); + return zmq_msg_send (msg_, s_, flags_); } -ssize_t zmq_send (void *s_, const void *buf_, size_t len_, int flags_) +int zmq_send (void *s_, const void *buf_, size_t len_, int flags_) { if (!s_ || !((zmq::socket_base_t*) s_)->check_tag ()) { errno = ENOTSOCK; return -1; } zmq_msg_t msg; - int rc1 = zmq_msg_init_size (&msg, len_); - if (rc1 != 0) + int rc = zmq_msg_init_size (&msg, len_); + if (rc != 0) return -1; memcpy (zmq_msg_data (&msg), buf_, len_); zmq::socket_base_t *s = (zmq::socket_base_t *) s_; - ssize_t nbytes = s_sendmsg (s, &msg, flags_); - if (unlikely (nbytes < 0)) { + rc = s_sendmsg (s, &msg, flags_); + if (unlikely (rc < 0)) { int err = errno; int rc2 = zmq_msg_close (&msg); errno_assert (rc2 == 0); @@ -370,23 +369,23 @@ ssize_t zmq_send (void *s_, const void *buf_, size_t len_, int flags_) // Note the optimisation here. We don't close the msg object as it is // empty anyway. This may change when implementation of zmq_msg_t changes. - return nbytes; + return rc; } -ssize_t zmq_send_const (void *s_, const void *buf_, size_t len_, int flags_) +int zmq_send_const (void *s_, const void *buf_, size_t len_, int flags_) { if (!s_ || !((zmq::socket_base_t*) s_)->check_tag ()) { errno = ENOTSOCK; return -1; } zmq_msg_t msg; - int rc1 = zmq_msg_init_data (&msg, (void*)buf_, len_, NULL, NULL); - if (rc1 != 0) + int rc = zmq_msg_init_data (&msg, (void*)buf_, len_, NULL, NULL); + if (rc != 0) return -1; zmq::socket_base_t *s = (zmq::socket_base_t *) s_; - ssize_t nbytes = s_sendmsg (s, &msg, flags_); - if (unlikely (nbytes < 0)) { + rc = s_sendmsg (s, &msg, flags_); + if (unlikely (rc < 0)) { int err = errno; int rc2 = zmq_msg_close (&msg); errno_assert (rc2 == 0); @@ -396,7 +395,7 @@ ssize_t zmq_send_const (void *s_, const void *buf_, size_t len_, int flags_) // Note the optimisation here. We don't close the msg object as it is // empty anyway. This may change when implementation of zmq_msg_t changes. - return nbytes; + return rc; } @@ -426,8 +425,8 @@ int zmq_sendiov (void *s_, iovec *a_, size_t count_, int flags_) memcpy (zmq_msg_data (&msg), a_[i].iov_base, a_[i].iov_len); if (i == count_ - 1) flags_ = flags_ & ~ZMQ_SNDMORE; - ssize_t nbytes = s_sendmsg (s, &msg, flags_); - if (unlikely (nbytes < 0)) { + rc = s_sendmsg (s, &msg, flags_); + if (unlikely (rc < 0)) { int err = errno; int rc2 = zmq_msg_close (&msg); errno_assert (rc2 == 0); @@ -441,24 +440,23 @@ int zmq_sendiov (void *s_, iovec *a_, size_t count_, int flags_) // Receiving functions. -static ssize_t +static int s_recvmsg (zmq::socket_base_t *s_, zmq_msg_t *msg_, int flags_) { int rc = s_->recv ((zmq::msg_t*) msg_, flags_); if (unlikely (rc < 0)) return -1; - return zmq_msg_size (msg_); + return (int) zmq_msg_size (msg_); } /* To be deprecated once zmq_msg_recv() is stable */ int zmq_recvmsg (void *s_, zmq_msg_t *msg_, int flags_) { - // reproduce behaviour of truncated int in deprecated API - return (int) zmq_msg_recv (msg_, s_, flags_); + return zmq_msg_recv (msg_, s_, flags_); } -ssize_t zmq_recv (void *s_, void *buf_, size_t len_, int flags_) +int zmq_recv (void *s_, void *buf_, size_t len_, int flags_) { if (!s_ || !((zmq::socket_base_t*) s_)->check_tag ()) { errno = ENOTSOCK; @@ -469,7 +467,7 @@ ssize_t zmq_recv (void *s_, void *buf_, size_t len_, int flags_) errno_assert (rc == 0); zmq::socket_base_t *s = (zmq::socket_base_t *) s_; - ssize_t nbytes = s_recvmsg (s, &msg, flags_); + int nbytes = s_recvmsg (s, &msg, flags_); if (unlikely (nbytes < 0)) { int err = errno; rc = zmq_msg_close (&msg); @@ -478,7 +476,9 @@ ssize_t zmq_recv (void *s_, void *buf_, size_t len_, int flags_) return -1; } - ssize_t to_copy = (size_t) nbytes < len_ ? nbytes : len_; + // At the moment an oversized message is silently truncated. + // TODO: Build in a notification mechanism to report the overflows. + size_t to_copy = size_t (nbytes) < len_ ? size_t (nbytes) : len_; memcpy (buf_, zmq_msg_data (&msg), to_copy); rc = zmq_msg_close (&msg); @@ -523,7 +523,7 @@ int zmq_recviov (void *s_, iovec *a_, size_t *count_, int flags_) int rc = zmq_msg_init (&msg); errno_assert (rc == 0); - ssize_t nbytes = s_recvmsg (s, &msg, flags_); + int nbytes = s_recvmsg (s, &msg, flags_); if (unlikely (nbytes < 0)) { int err = errno; rc = zmq_msg_close (&msg); @@ -569,26 +569,26 @@ int zmq_msg_init_data (zmq_msg_t *msg_, void *data_, size_t size_, return ((zmq::msg_t*) msg_)->init_data (data_, size_, ffn_, hint_); } -ssize_t zmq_msg_send (zmq_msg_t *msg_, void *s_, int flags_) +int zmq_msg_send (zmq_msg_t *msg_, void *s_, int flags_) { if (!s_ || !((zmq::socket_base_t*) s_)->check_tag ()) { errno = ENOTSOCK; return -1; } zmq::socket_base_t *s = (zmq::socket_base_t *) s_; - ssize_t nbytes = s_sendmsg (s, msg_, flags_); - return nbytes; + int result = s_sendmsg (s, msg_, flags_); + return result; } -ssize_t zmq_msg_recv (zmq_msg_t *msg_, void *s_, int flags_) +int zmq_msg_recv (zmq_msg_t *msg_, void *s_, int flags_) { if (!s_ || !((zmq::socket_base_t*) s_)->check_tag ()) { errno = ENOTSOCK; return -1; } zmq::socket_base_t *s = (zmq::socket_base_t *) s_; - ssize_t nbytes = s_recvmsg (s, msg_, flags_); - return nbytes; + int result = s_recvmsg (s, msg_, flags_); + return result; } int zmq_msg_close (zmq_msg_t *msg_) From 216caee1b3b707621522e88c9ebf230ce6366843 Mon Sep 17 00:00:00 2001 From: Arnaud Kapp Date: Tue, 21 Oct 2014 22:24:16 +0200 Subject: [PATCH 22/67] Improve build script error checking. This commit adds a check to make sure pkg-config is present on the computer building libzmq. This particular line was stolen from the debian mailing list. See https://lists.debian.org/debian-dpkg/2011/04/msg00054.html --- configure.ac | 1 + 1 file changed, 1 insertion(+) diff --git a/configure.ac b/configure.ac index aacb0ef0..a23af7a0 100644 --- a/configure.ac +++ b/configure.ac @@ -49,6 +49,7 @@ AM_PROG_CC_C_O AC_PROG_SED AC_PROG_AWK PKG_PROG_PKG_CONFIG +m4_pattern_forbid([^PKG_[A-Z_]+$], [missing some pkg-config macros (pkg-config package)]) # Libtool configuration for different targets. See acinclude.m4 AC_ARG_VAR([XMLTO], [Path to xmlto command]) From 1fd1d519a8008179dc7d6e56de17d672f151fadb Mon Sep 17 00:00:00 2001 From: Martin Hurton Date: Thu, 23 Oct 2014 10:24:03 +0200 Subject: [PATCH 23/67] Fix issue #1224 --- src/xpub.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/xpub.cpp b/src/xpub.cpp index 379a4367..7c9bcaea 100644 --- a/src/xpub.cpp +++ b/src/xpub.cpp @@ -189,7 +189,8 @@ void zmq::xpub_t::send_unsubscription (unsigned char *data_, size_t size_, // to be retrived by the user later on. blob_t unsub (size_ + 1, 0); unsub [0] = 0; - memcpy (&unsub [1], data_, size_); + if (size_ > 0) + memcpy (&unsub [1], data_, size_); self->pending_data.push_back (unsub); self->pending_flags.push_back (0); } From 1735c1e462704ad2973a563a476533abd7d8f450 Mon Sep 17 00:00:00 2001 From: Phillip Mienk Date: Sat, 25 Oct 2014 01:10:53 -0700 Subject: [PATCH 24/67] Add --with-libgssapi_krb5 to match libsodium and pgm. --- configure.ac | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index a23af7a0..487662a3 100644 --- a/configure.ac +++ b/configure.ac @@ -282,8 +282,6 @@ esac AC_CHECK_LIB([pthread], [pthread_create]) AC_CHECK_LIB([rt], [clock_gettime]) -AC_CHECK_LIB([gssapi_krb5], [gss_init_sec_context],,AC_MSG_WARN(libgssapi_krb5 is needed for GSSAPI security)) - # # Check if the compiler supports -fvisibility=hidden flag. MinGW32 uses __declspec # @@ -379,6 +377,18 @@ AC_HEADER_TIME AC_TYPE_UINT32_T AC_C_VOLATILE +# build using libgssapi_krb5 +AC_ARG_WITH([libgssapi_krb5], [AS_HELP_STRING([--with-libgssapi_krb5], + [require libzmq build with libgssapi_krb5 [default=no]])], + [require_libgssapi_krb5_ext=$withval], + [require_libgssapi_krb5_ext=no]) + +# conditionally require libgssapi_krb5 +if test "x$require_libgssapi_krb5_ext" != "xno"; then + AC_CHECK_LIB([gssapi_krb5], [gss_init_sec_context],, + AC_MSG_ERROR(libgssapi_krb5 is needed for GSSAPI security)) +fi + # build using libsodium have_sodium_library="no" @@ -387,7 +397,7 @@ AC_ARG_WITH([libsodium], [AS_HELP_STRING([--with-libsodium], [require_libsodium_ext=$withval], [require_libsodium_ext=no]) -#conditionally require libsodium package +# conditionally require libsodium package if test "x$require_libsodium_ext" != "xno"; then PKG_CHECK_MODULES([sodium], [libsodium], [have_sodium_library="yes"]) fi From 2153043614b81dcf0e5a1097d0f64df0bc288fa2 Mon Sep 17 00:00:00 2001 From: Phillip Mienk Date: Sat, 25 Oct 2014 01:31:30 -0700 Subject: [PATCH 25/67] Add support for --with/--without libgssapi_krb5 --- builds/redhat/zeromq.spec.in | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/builds/redhat/zeromq.spec.in b/builds/redhat/zeromq.spec.in index 81c9ba31..26b544ef 100644 --- a/builds/redhat/zeromq.spec.in +++ b/builds/redhat/zeromq.spec.in @@ -14,18 +14,24 @@ Requires: libstdc++ # # Conditional build options # Default values aree +# --without-libgssapi_krb5 # --without-libsodium # --without-pgm # # If neither macro exists, use the default value. +%{!?_with_libgssapi_krb5: %{!?_without_libgssapi_krb5: %define _without_libgssapi_krb5 --without-liblibgssapi_krb5}} %{!?_with_libsodium: %{!?_without_libsodium: %define _without_libsodium --without-libsodium}} %{!?_with_pgm: %{!?_without_pgm: %define _without_pgm --without-pgm}} # It's an error if both --with and --without options are specified +%{?_with_libgssapi_krb5: %{?_without_libgssapi_krb5: %{error: both _with_libgssapi_krb5 and _without_libgssapi_krb5}}} %{?_with_libsodium: %{?_without_libsodium: %{error: both _with_libsodium and _without_libsodium}}} %{?_with_pgm: %{?_without_pgm: %{error: both _with_pgm and _without_pgm}}} +%{?_with_libgssapi_krb5:BuildRequires: libgssapi_krb5_2} +%{?_with_libgssapi_krb5:Requires: libgssapi_krb5} + %{?_with_libsodium:BuildRequires: libsodium-devel} %{?_with_libsodium:Requires: libsodium} @@ -173,6 +179,9 @@ This package contains ZeroMQ related development libraries and header files. %{_mandir}/man7/zmq_tipc.7.gz %changelog +* Sat Oct 25 2014 Phillip Mienk +- Add --with/--without libgssapi_krb5 support following J.T.Conklin's pattern + * Sat Oct 18 2014 J.T. Conklin - Add --with/--without pgm support - Add --with/--without libsodium support From 09e7416ee9588f131493e29491b46cc09a9560b5 Mon Sep 17 00:00:00 2001 From: lysyloren Date: Mon, 27 Oct 2014 14:16:36 +0100 Subject: [PATCH 26/67] Unbind socket with real endpoint when binding by wild-card * address --- doc/zmq_ipc.txt | 8 +++++++- doc/zmq_tcp.txt | 5 +++++ src/socket_base.cpp | 4 ++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/doc/zmq_ipc.txt b/doc/zmq_ipc.txt index c0db4951..b8ccc143 100644 --- a/doc/zmq_ipc.txt +++ b/doc/zmq_ipc.txt @@ -35,7 +35,7 @@ operating system namespace used by the 'ipc' implementation, and must fulfill any restrictions placed by the operating system on the format and length of a 'pathname'. -When the address is `*`, _zmq_bind()_ shall generate a unique temporary +When the address is wild-card `*`, _zmq_bind()_ shall generate a unique temporary pathname. The caller should retrieve this pathname using the ZMQ_LAST_ENDPOINT socket option. See linkzmq:zmq_getsockopt[3] for details. @@ -57,6 +57,12 @@ NOTE: IPC pathnames have a maximum size that depends on the operating system. On Linux, the maximum is 113 characters including the "ipc://" prefix (107 characters for the real path name). +Unbinding wild-card address from a socket +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +When wild-card `*` 'endpoint' was used in _zmq_bind()_, the caller should use +real 'endpoind' obtained from the ZMQ_LAST_ENDPOINT socket option to unbind +this 'endpoint' from a socket using _zmq_unbind()_. + Connecting a socket ~~~~~~~~~~~~~~~~~~~ When connecting a 'socket' to a peer address using _zmq_connect()_ with the diff --git a/doc/zmq_tcp.txt b/doc/zmq_tcp.txt index 4b85b534..de89c063 100644 --- a/doc/zmq_tcp.txt +++ b/doc/zmq_tcp.txt @@ -46,6 +46,11 @@ When using ephemeral ports, the caller should retrieve the actual assigned port using the ZMQ_LAST_ENDPOINT socket option. See linkzmq:zmq_getsockopt[3] for details. +Unbinding wild-card addres from a socket +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +When wild-card `*` 'endpoint' was used in _zmq_bind()_, the caller should use +real 'endpoind' obtained from the ZMQ_LAST_ENDPOINT socket option to unbind +this 'endpoint' from a socket using _zmq_unbind()_. Connecting a socket ~~~~~~~~~~~~~~~~~~~ diff --git a/src/socket_base.cpp b/src/socket_base.cpp index 363d9844..433f53fe 100644 --- a/src/socket_base.cpp +++ b/src/socket_base.cpp @@ -401,7 +401,7 @@ int zmq::socket_base_t::bind (const char *addr_) // Save last endpoint URI listener->get_address (last_endpoint); - add_endpoint (addr_, (own_t *) listener, NULL); + add_endpoint (last_endpoint.c_str (), (own_t *) listener, NULL); return 0; } @@ -420,7 +420,7 @@ int zmq::socket_base_t::bind (const char *addr_) // Save last endpoint URI listener->get_address (last_endpoint); - add_endpoint (addr_, (own_t *) listener, NULL); + add_endpoint (last_endpoint.c_str (), (own_t *) listener, NULL); return 0; } #endif From 0fe9cec92e294ba73a39743cb3bbdb620cbbc8af Mon Sep 17 00:00:00 2001 From: "J.T. Conklin" Date: Mon, 27 Oct 2014 20:36:06 -0700 Subject: [PATCH 27/67] Pass --with/--without-libgssapi_krb5 to configure. --- builds/redhat/zeromq.spec.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/builds/redhat/zeromq.spec.in b/builds/redhat/zeromq.spec.in index 26b544ef..24354873 100644 --- a/builds/redhat/zeromq.spec.in +++ b/builds/redhat/zeromq.spec.in @@ -13,7 +13,7 @@ Requires: libstdc++ # # Conditional build options -# Default values aree +# Default values are: # --without-libgssapi_krb5 # --without-libsodium # --without-pgm @@ -77,6 +77,8 @@ This package contains ZeroMQ related development libraries and header files. %{?_without_libsodium} \ %{?_with_pgm} \ %{?_without_pgm} \ + %{?_with_libgssapi_krb5} \ + %{?_without_libgssapi_krb5} \ %{?_with_pic} \ %{?_without_pic} \ %{?_with_gnu_ld} \ From f78cbc50eb1fd891d10974758e1565799b33f678 Mon Sep 17 00:00:00 2001 From: "J.T. Conklin" Date: Mon, 27 Oct 2014 21:19:03 -0700 Subject: [PATCH 28/67] Correct libgssapi_krb5 packages. --- builds/redhat/zeromq.spec.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/builds/redhat/zeromq.spec.in b/builds/redhat/zeromq.spec.in index 24354873..be467cf9 100644 --- a/builds/redhat/zeromq.spec.in +++ b/builds/redhat/zeromq.spec.in @@ -29,8 +29,8 @@ Requires: libstdc++ %{?_with_libsodium: %{?_without_libsodium: %{error: both _with_libsodium and _without_libsodium}}} %{?_with_pgm: %{?_without_pgm: %{error: both _with_pgm and _without_pgm}}} -%{?_with_libgssapi_krb5:BuildRequires: libgssapi_krb5_2} -%{?_with_libgssapi_krb5:Requires: libgssapi_krb5} +%{?_with_libgssapi_krb5:BuildRequires: krb5-devel} +%{?_with_libgssapi_krb5:Requires: krb5-libs} %{?_with_libsodium:BuildRequires: libsodium-devel} %{?_with_libsodium:Requires: libsodium} From 10c18f74088abe7aa263936051ff09d42849859d Mon Sep 17 00:00:00 2001 From: "J.T. Conklin" Date: Tue, 28 Oct 2014 05:01:52 -0700 Subject: [PATCH 29/67] Support both --enable-eventfd and --disable-eventfd options. --- configure.ac | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 487662a3..e5cb1e10 100644 --- a/configure.ac +++ b/configure.ac @@ -334,10 +334,10 @@ AC_CHECK_HEADERS(sys/uio.h, [AC_DEFINE(ZMQ_HAVE_UIO, 1, [Have uio.h header.])]) # Force not to use eventfd AC_ARG_ENABLE([eventfd], [AS_HELP_STRING([--disable-eventfd], [disable eventfd [default=no]])], - [zmq_disable_eventfd=yes], - [zmq_disable_eventfd=no]) + [zmq_enable_eventfd=$enableval], + [zmq_enable_eventfd=yes]) -if test "x$zmq_disable_eventfd" != "xyes"; then +if test "x$zmq_enable_eventfd" = "xyes"; then # Check if we have eventfd.h header file. AC_CHECK_HEADERS(sys/eventfd.h, [AC_DEFINE(ZMQ_HAVE_EVENTFD, 1, [Have eventfd extension.])]) From f47960e4bc5d509af7d17bd1dd0e26f90b086bf0 Mon Sep 17 00:00:00 2001 From: lysyloren Date: Wed, 29 Oct 2014 09:43:47 +0100 Subject: [PATCH 30/67] Added test and updated documentation for unbind wild-card * binded socket --- doc/zmq_unbind.txt | 27 ++++++++++++++++++++-- tests/test_term_endpoint.cpp | 45 +++++++++++++++++++++++++++++++++++- 2 files changed, 69 insertions(+), 3 deletions(-) diff --git a/doc/zmq_unbind.txt b/doc/zmq_unbind.txt index 8b3f7a50..ca97e809 100644 --- a/doc/zmq_unbind.txt +++ b/doc/zmq_unbind.txt @@ -20,6 +20,12 @@ argument. The 'endpoint' argument is as described in linkzmq:zmq_bind[3] +Unbinding wild-card addres from a socket +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +When wild-card `*` 'endpoint' (described in linkzmq:zmq_tcp[7] and +linkzmq:zmq_ipc[7]) was used in _zmq_bind()_, the caller should use +real 'endpoind' obtained from the ZMQ_LAST_ENDPOINT socket option +to unbind this 'endpoint' from a socket. RETURN VALUE ------------ @@ -36,8 +42,8 @@ The 0MQ 'context' associated with the specified 'socket' was terminated. The provided 'socket' was invalid. -EXAMPLE -------- +EXAMPLES +-------- .Unbind a subscriber socket from a TCP transport ---- /* Create a ZMQ_SUB socket */ @@ -51,6 +57,23 @@ rc = zmq_unbind (socket, "tcp://127.0.0.1:5555"); assert (rc == 0); ---- +.Unbind wild-card `*` binded socket +---- +/* Create a ZMQ_SUB socket */ +void *socket = zmq_socket (context, ZMQ_SUB); +assert (socket); +/* Bind it to the system-assigned ephemeral port using a TCP transport */ +rc = zmq_bind (socket, "tcp://127.0.0.1:*"); +assert (rc == 0); +/* Obtain real endpoint */ +const size_t buf_size = 32; +char buf[buf_size]; +rc = zmq_getsockopt (socket, ZMQ_LAST_ENDPOINT, buf, (size_t *)&buf_size); +assert (rc == 0); +/* Unbind socket by real endpoint */ +rc = zmq_unbind (socket, buf); +assert (rc == 0); +---- SEE ALSO -------- diff --git a/tests/test_term_endpoint.cpp b/tests/test_term_endpoint.cpp index 5ec9e4bf..3c0c4e56 100644 --- a/tests/test_term_endpoint.cpp +++ b/tests/test_term_endpoint.cpp @@ -23,8 +23,11 @@ int main (void) { setup_test_environment(); int rc; - char buf[32]; + const size_t buf_size = 32; + char buf[buf_size]; const char *ep = "tcp://127.0.0.1:5560"; + const char *ep_wc_tcp = "tcp://127.0.0.1:*"; + const char *ep_wc_ipc = "ipc://*"; // Create infrastructure. void *ctx = zmq_ctx_new (); @@ -100,5 +103,45 @@ int main (void) rc = zmq_ctx_term (ctx); assert (rc == 0); + // Create infrastructure (wild-card binding) + ctx = zmq_ctx_new (); + assert (ctx); + push = zmq_socket (ctx, ZMQ_PUSH); + assert (push); + rc = zmq_bind (push, ep_wc_tcp); + assert (rc == 0); + pull = zmq_socket (ctx, ZMQ_PULL); + assert (pull); + rc = zmq_bind (pull, ep_wc_ipc); + assert (rc == 0); + + // Unbind sockets binded by wild-card address + rc = zmq_getsockopt (push, ZMQ_LAST_ENDPOINT, buf, (size_t *)&buf_size); + assert (rc == 0); + rc = zmq_unbind (push, buf); + assert (rc == 0); + rc = zmq_getsockopt (pull, ZMQ_LAST_ENDPOINT, buf, (size_t *)&buf_size); + assert (rc == 0); + rc = zmq_unbind (pull, buf); + assert (rc == 0); + + // Create infrastructure (wild-card binding) + ctx = zmq_ctx_new (); + assert (ctx); + push = zmq_socket (ctx, ZMQ_PUSH); + assert (push); + rc = zmq_bind (push, ep_wc_tcp); + assert (rc == 0); + pull = zmq_socket (ctx, ZMQ_PULL); + assert (pull); + rc = zmq_bind (pull, ep_wc_ipc); + assert (rc == 0); + + // Sockets binded by wild-card address can't be unbinded by wild-card address + rc = zmq_unbind (push, ep_wc_tcp); + assert (rc == -1 && zmq_errno () == ENOENT); + rc = zmq_unbind (pull, ep_wc_ipc); + assert (rc == -1 && zmq_errno () == ENOENT); + return 0; } From 87c22364d6ae093e75e8d5452a02b327b2b2d973 Mon Sep 17 00:00:00 2001 From: lysyloren Date: Wed, 29 Oct 2014 10:10:14 +0100 Subject: [PATCH 31/67] Disable IPC testing on ipc-incapable systems in test_term_endpoint.cpp --- tests/test_term_endpoint.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/test_term_endpoint.cpp b/tests/test_term_endpoint.cpp index 3c0c4e56..00812d42 100644 --- a/tests/test_term_endpoint.cpp +++ b/tests/test_term_endpoint.cpp @@ -27,7 +27,9 @@ int main (void) char buf[buf_size]; const char *ep = "tcp://127.0.0.1:5560"; const char *ep_wc_tcp = "tcp://127.0.0.1:*"; +#if !defined ZMQ_HAVE_WINDOWS && !defined ZMQ_HAVE_OPENVMS const char *ep_wc_ipc = "ipc://*"; +#endif // Create infrastructure. void *ctx = zmq_ctx_new (); @@ -110,20 +112,24 @@ int main (void) assert (push); rc = zmq_bind (push, ep_wc_tcp); assert (rc == 0); +#if !defined ZMQ_HAVE_WINDOWS && !defined ZMQ_HAVE_OPENVMS pull = zmq_socket (ctx, ZMQ_PULL); assert (pull); rc = zmq_bind (pull, ep_wc_ipc); assert (rc == 0); +#endif // Unbind sockets binded by wild-card address rc = zmq_getsockopt (push, ZMQ_LAST_ENDPOINT, buf, (size_t *)&buf_size); assert (rc == 0); rc = zmq_unbind (push, buf); assert (rc == 0); +#if !defined ZMQ_HAVE_WINDOWS && !defined ZMQ_HAVE_OPENVMS rc = zmq_getsockopt (pull, ZMQ_LAST_ENDPOINT, buf, (size_t *)&buf_size); assert (rc == 0); rc = zmq_unbind (pull, buf); assert (rc == 0); +#endif // Create infrastructure (wild-card binding) ctx = zmq_ctx_new (); @@ -132,16 +138,20 @@ int main (void) assert (push); rc = zmq_bind (push, ep_wc_tcp); assert (rc == 0); +#if !defined ZMQ_HAVE_WINDOWS && !defined ZMQ_HAVE_OPENVMS pull = zmq_socket (ctx, ZMQ_PULL); assert (pull); rc = zmq_bind (pull, ep_wc_ipc); assert (rc == 0); +#endif // Sockets binded by wild-card address can't be unbinded by wild-card address rc = zmq_unbind (push, ep_wc_tcp); assert (rc == -1 && zmq_errno () == ENOENT); +#if !defined ZMQ_HAVE_WINDOWS && !defined ZMQ_HAVE_OPENVMS rc = zmq_unbind (pull, ep_wc_ipc); assert (rc == -1 && zmq_errno () == ENOENT); +#endif return 0; } From eae679718ed3a17597fd82c26ae56b55c4597e04 Mon Sep 17 00:00:00 2001 From: Joe McIlvain Date: Sun, 2 Nov 2014 17:33:23 -0800 Subject: [PATCH 32/67] Problem: No builtin way to build for qt-android Solution: Add qt-android build system and add to travis-ci --- .gitignore | 1 + .travis.yml | 15 +- builds/qt-android/android_build_helper.sh | 307 ++++++++++++++++++++++ builds/qt-android/build.sh | 56 ++++ builds/qt-android/ci_build.sh | 14 + ci_build.sh | 15 ++ 6 files changed, 398 insertions(+), 10 deletions(-) create mode 100644 builds/qt-android/android_build_helper.sh create mode 100755 builds/qt-android/build.sh create mode 100755 builds/qt-android/ci_build.sh create mode 100755 ci_build.sh diff --git a/.gitignore b/.gitignore index b2150e6a..ef73164a 100644 --- a/.gitignore +++ b/.gitignore @@ -124,6 +124,7 @@ builds/msvc/**/*.user builds/msvc/**/*Debug builds/msvc/**/*Release builds/redhat/zeromq.spec +builds/qt-android/prefix/ packaging/nuget/*.nupkg foreign/openpgm/* !foreign/openpgm/*.tar.bz2 diff --git a/.travis.yml b/.travis.yml index f103646d..9a553456 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,14 +2,9 @@ language: c -# Build required projects first -before_script: +env: + - BUILD_TYPE=default + - BUILD_TYPE=qt-android -# libsodium -- git clone git://github.com/jedisct1/libsodium.git -- ( cd libsodium; ./autogen.sh; ./configure; make check; sudo make install; sudo ldconfig ) - -# Build and check this project -script: -- ./autogen.sh && ./configure --with-libsodium=yes && make && make check -- sudo make install +# Build and check this project according to the BUILD_TYPE +script: ./ci_build.sh diff --git a/builds/qt-android/android_build_helper.sh b/builds/qt-android/android_build_helper.sh new file mode 100644 index 00000000..af57e59a --- /dev/null +++ b/builds/qt-android/android_build_helper.sh @@ -0,0 +1,307 @@ +#!/usr/bin/env bash +# +# Copyright (c) 2014, Joe Eli McIlvain +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +# THE POSSIBILITY OF SUCH DAMAGE. +# +### +# +# https://github.com/jemc/android_build_helper +# android_build_helper.sh +# +# The following is a helper script for setting up android builds for +# "native" libraries maintained with an autotools build system. +# It merely helps to create the proper cross-compile environment. +# It makes no attempt to wrap the library or make it accessible to Java code; +# the intention is to make the bare library available to other "native" code. +# +# To get the latest version of this script, please download from: +# https://github.com/jemc/android_build_helper +# +# You are free to modify this script, but if you add improvements, +# please consider submitting a pull request to the aforementioned upstream +# repository for the benefit of other users. +# + +# Get directory of current script (if not already set) +# This directory is also the basis for the build directories the get created. +if [ -z "$ANDROID_BUILD_DIR" ]; then + ANDROID_BUILD_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +fi + +# Set up a variable to hold the global failure reasons, separated by newlines +# (Empty string indicates no failure) +ANDROID_BUILD_FAIL=() + +function android_build_check_fail { + if [ ! ${#ANDROID_BUILD_FAIL[@]} -eq 0 ]; then + echo "qt-android build failed for the following reasons:" + for reason in "${ANDROID_BUILD_FAIL[@]}"; do + local formatted_reason=" ${reason}" + echo "${formatted_reason}" + done + exit 1 + fi +} + +function android_build_env { + ## + # Check that necessary environment variables are set + + if [ -z "$ANDROID_NDK_ROOT" ]; then + ANDROID_BUILD_FAIL+=("Please set the ANDROID_NDK_ROOT environment variable") + ANDROID_BUILD_FAIL+=(" (eg. \"/home/user/android/android-ndk-r9d\")") + fi + + if [ -z "$TOOLCHAIN_PATH" ]; then + ANDROID_BUILD_FAIL+=("Please set the TOOLCHAIN_PATH environment variable") + ANDROID_BUILD_FAIL+=(" (eg. \"/home/user/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin\")") + fi + + if [ -z "$TOOLCHAIN_NAME" ]; then + ANDROID_BUILD_FAIL+=("Please set the TOOLCHAIN_NAME environment variable") + ANDROID_BUILD_FAIL+=(" (eg. \"arm-linux-androideabi-4.8\")") + fi + + if [ -z "$TOOLCHAIN_HOST" ]; then + ANDROID_BUILD_FAIL+=("Please set the TOOLCHAIN_HOST environment variable") + ANDROID_BUILD_FAIL+=(" (eg. \"arm-linux-androideabi\")") + fi + + if [ -z "$TOOLCHAIN_ARCH" ]; then + ANDROID_BUILD_FAIL+=("Please set the TOOLCHAIN_ARCH environment variable") + ANDROID_BUILD_FAIL+=(" (eg. \"arm\")") + fi + + android_build_check_fail + + ## + # Check that directories given by environment variables exist + + if [ ! -d "$ANDROID_NDK_ROOT" ]; then + ANDROID_BUILD_FAIL+=("The ANDROID_NDK_ROOT directory does not exist") + ANDROID_BUILD_FAIL+=(" ${ANDROID_NDK_ROOT}") + fi + + if [ ! -d "$TOOLCHAIN_PATH" ]; then + ANDROID_BUILD_FAIL+=("The TOOLCHAIN_PATH directory does not exist") + ANDROID_BUILD_FAIL+=(" ${TOOLCHAIN_PATH}") + fi + + ## + # Set up some local variables and check them + + ANDROID_BUILD_SYSROOT="${ANDROID_NDK_ROOT}/platforms/android-9/arch-${TOOLCHAIN_ARCH}" + + if [ ! -d "$ANDROID_BUILD_SYSROOT" ]; then + ANDROID_BUILD_FAIL+=("The ANDROID_BUILD_SYSROOT directory does not exist") + ANDROID_BUILD_FAIL+=(" ${ANDROID_BUILD_SYSROOT}") + fi + + ANDROID_BUILD_PREFIX="${ANDROID_BUILD_DIR}/prefix/${TOOLCHAIN_NAME}" + + mkdir -p "$ANDROID_BUILD_PREFIX" || { + ANDROID_BUILD_FAIL+=("Failed to make ANDROID_BUILD_PREFIX directory") + ANDROID_BUILD_FAIL+=(" ${ANDROID_BUILD_PREFIX}") + } + + android_build_check_fail +} + +function _android_build_opts_process_binaries { + local CPP="${TOOLCHAIN_PATH}/${TOOLCHAIN_HOST}-cpp" + local CC="${TOOLCHAIN_PATH}/${TOOLCHAIN_HOST}-gcc" + local CXX="${TOOLCHAIN_PATH}/${TOOLCHAIN_HOST}-g++" + local LD="${TOOLCHAIN_PATH}/${TOOLCHAIN_HOST}-ld" + local AS="${TOOLCHAIN_PATH}/${TOOLCHAIN_HOST}-as" + local AR="${TOOLCHAIN_PATH}/${TOOLCHAIN_HOST}-ar" + local RANLIB="${TOOLCHAIN_PATH}/${TOOLCHAIN_HOST}-ranlib" + + if [ ! -x "${CPP}" ]; then + ANDROID_BUILD_FAIL+=("The CPP binary does not exist or is not executable") + ANDROID_BUILD_FAIL+=(" ${CPP}") + fi + + if [ ! -x "${CC}" ]; then + ANDROID_BUILD_FAIL+=("The CC binary does not exist or is not executable") + ANDROID_BUILD_FAIL+=(" ${CC}") + fi + + if [ ! -x "${CXX}" ]; then + ANDROID_BUILD_FAIL+=("The CXX binary does not exist or is not executable") + ANDROID_BUILD_FAIL+=(" ${CXX}") + fi + + if [ ! -x "${LD}" ]; then + ANDROID_BUILD_FAIL+=("The LD binary does not exist or is not executable") + ANDROID_BUILD_FAIL+=(" ${LD}") + fi + + if [ ! -x "${AS}" ]; then + ANDROID_BUILD_FAIL+=("The AS binary does not exist or is not executable") + ANDROID_BUILD_FAIL+=(" ${AS}") + fi + + if [ ! -x "${AR}" ]; then + ANDROID_BUILD_FAIL+=("The AR binary does not exist or is not executable") + ANDROID_BUILD_FAIL+=(" ${AR}") + fi + + if [ ! -x "${RANLIB}" ]; then + ANDROID_BUILD_FAIL+=("The RANLIB binary does not exist or is not executable") + ANDROID_BUILD_FAIL+=(" ${RANLIB}") + fi + + ANDROID_BUILD_OPTS+=("CPP=${CPP}") + ANDROID_BUILD_OPTS+=("CC=${CC}") + ANDROID_BUILD_OPTS+=("CXX=${CXX}") + ANDROID_BUILD_OPTS+=("LD=${LD}") + ANDROID_BUILD_OPTS+=("AS=${AS}") + ANDROID_BUILD_OPTS+=("AR=${AR}") + ANDROID_BUILD_OPTS+=("RANLIB=${RANLIB}") + + android_build_check_fail +} + +function _android_build_opts_process_cxx_stl { + case "${ANDROID_BUILD_CXXSTL}" in + stlport_static) + LIBS+=" -lstlport_static" + CPPFLAGS+=" -I${ANDROID_NDK_ROOT}/sources/cxx-stl/stlport/stlport" + case "${TOOLCHAIN_ARCH}" in + arm) + LDFLAGS+=" -L${ANDROID_NDK_ROOT}/sources/cxx-stl/stlport/libs/armeabi" + ;; + x86) + LDFLAGS+=" -L${ANDROID_NDK_ROOT}/sources/cxx-stl/stlport/libs/x86" + ;; + mips) + LDFLAGS+=" -L${ANDROID_NDK_ROOT}/sources/cxx-stl/stlport/libs/mips" + ;; + *) + ANDROID_BUILD_FAIL+=("Unknown combination for ANDROID_BUILD_CXXSTL and TOOLCHAIN_ARCH") + ANDROID_BUILD_FAIL+=(" ${ANDROID_BUILD_CXXSTL}") + ANDROID_BUILD_FAIL+=(" ${TOOLCHAIN_ARCH}") + ;; + esac + ;; + gnustl_shared_48) + LIBS+=" -lgnustl_shared" + CPPFLAGS+=" -I${ANDROID_NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.8/include" + case "${TOOLCHAIN_ARCH}" in + arm) + LDFLAGS+=" -L${ANDROID_NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi" + CPPFLAGS+=" -I${ANDROID_NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi/include" + ;; + x86) + LDFLAGS+=" -L${ANDROID_NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86" + CPPFLAGS+=" -I${ANDROID_NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86/include" + ;; + mips) + LDFLAGS+=" -L${ANDROID_NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips" + CPPFLAGS+=" -I${ANDROID_NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips/include" + ;; + *) + ANDROID_BUILD_FAIL+=("Unknown combination for ANDROID_BUILD_CXXSTL and TOOLCHAIN_ARCH") + ANDROID_BUILD_FAIL+=(" ${ANDROID_BUILD_CXXSTL}") + ANDROID_BUILD_FAIL+=(" ${TOOLCHAIN_ARCH}") + ;; + esac + ;; + '');; + *) + ANDROID_BUILD_FAIL+=("Unknown value for ANDROID_BUILD_CXXSTL") + ANDROID_BUILD_FAIL+=(" ${ANDROID_BUILD_CXXSTL}") + ;; + esac +} + +# Set the ANDROID_BUILD_OPTS variable to a bash array of configure options +function android_build_opts { + ANDROID_BUILD_OPTS=() + + local CFLAGS="--sysroot=${ANDROID_BUILD_SYSROOT} -I${ANDROID_BUILD_PREFIX}/include" + local CPPFLAGS="--sysroot=${ANDROID_BUILD_SYSROOT} -I${ANDROID_BUILD_PREFIX}/include" + local CXXFLAGS="--sysroot=${ANDROID_BUILD_SYSROOT} -I${ANDROID_BUILD_PREFIX}/include" + local LDFLAGS="" + local LIBS="-lc -lgcc -ldl" + + _android_build_opts_process_binaries + _android_build_opts_process_cxx_stl + + ANDROID_BUILD_OPTS+=("CFLAGS=${CFLAGS} ${ANDROID_BUILD_EXTRA_CFLAGS}") + ANDROID_BUILD_OPTS+=("CPPFLAGS=${CPPFLAGS} ${ANDROID_BUILD_EXTRA_CPPFLAGS}") + ANDROID_BUILD_OPTS+=("CXXFLAGS=${CXXFLAGS} ${ANDROID_BUILD_EXTRA_CXXFLAGS}") + ANDROID_BUILD_OPTS+=("LDFLAGS=${LDFLAGS} ${ANDROID_BUILD_EXTRA_LDFLAGS}") + ANDROID_BUILD_OPTS+=("LIBS=${LIBS} ${ANDROID_BUILD_EXTRA_LIBS}") + + ANDROID_BUILD_OPTS+=("PKG_CONFIG_PATH=${ANDROID_BUILD_PREFIX}/lib/pkgconfig") + ANDROID_BUILD_OPTS+=("--host=${TOOLCHAIN_HOST}") + ANDROID_BUILD_OPTS+=("--prefix=${ANDROID_BUILD_PREFIX}") + + android_build_check_fail +} + +# Parse readelf output to verify the correct linking of libraries. +# The first argument should be the soname of the newly built library. +# The rest of the arguments should be the sonames of dependencies. +# All sonames should be unversioned for android (no trailing numbers). +function android_build_verify_so { + local soname="$1" + shift # Get rid of first argument - the rest represent dependencies + + local sofile="${ANDROID_BUILD_PREFIX}/lib/${soname}" + if [ ! -f "${sofile}" ]; then + ANDROID_BUILD_FAIL+=("Found no library named ${soname}") + ANDROID_BUILD_FAIL+=(" ${sofile}") + fi + android_build_check_fail + + local elfoutput=$(readelf -d ${sofile}) + + local soname_regexp='soname: \[([[:alnum:]\.]+)\]' + if [[ $elfoutput =~ $soname_regexp ]]; then + local parsed_soname="${BASH_REMATCH[1]}" + if [ "${parsed_soname}" != "${soname}" ]; then + ANDROID_BUILD_FAIL+=("Actual soname of library ${soname} is incorrect (or versioned):") + ANDROID_BUILD_FAIL+=(" ${parsed_soname}") + fi + else + ANDROID_BUILD_FAIL+=("Failed to meaningfully parse readelf output for library ${soname}:") + ANDROID_BUILD_FAIL+=(" ${elfoutput}") + fi + + for dep_soname do + if [[ $elfoutput != *"library: [${dep_soname}]"* ]]; then + ANDROID_BUILD_FAIL+=("Library ${soname} was expected to be linked to library with soname:") + ANDROID_BUILD_FAIL+=(" ${dep_soname}") + fi + done + + android_build_check_fail +} diff --git a/builds/qt-android/build.sh b/builds/qt-android/build.sh new file mode 100755 index 00000000..2b4d3c9f --- /dev/null +++ b/builds/qt-android/build.sh @@ -0,0 +1,56 @@ +#!/usr/bin/env bash + +# Get directory of current script +ANDROID_BUILD_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +# Get access to android_build functions and variables +source ${ANDROID_BUILD_DIR}/android_build_helper.sh + +# Choose a C++ standard library implementation from the ndk +ANDROID_BUILD_CXXSTL="gnustl_shared_48" + +# Set up android build environment and set ANDROID_BUILD_OPTS array +android_build_env +android_build_opts + +# Clear a temporary build directory +cache="/tmp/android_build/${TOOLCHAIN_NAME}" +rm -rf "${cache}" +mkdir -p "${cache}" + + +echo +echo "Building qt-android libsodium from latest release tarball..." +echo + +wget "https://download.libsodium.org/libsodium/releases/LATEST.tar.gz" \ + -O "${cache}/libsodium.tar.gz" + +(cd "${cache}" && mkdir libsodium \ + && tar -C libsodium -xvf libsodium.tar.gz --strip=1 \ + && cd "libsodium" && ./autogen.sh \ + && ./configure "${ANDROID_BUILD_OPTS[@]}" --disable-soname-versions \ + && make \ + && make install) || exit 1 + +echo +echo "Building qt-android libzmq from local source..." +echo + +cp -r ../.. "${cache}/libzmq" + +(cd "${cache}/libzmq" && ./autogen.sh \ + && ./configure "${ANDROID_BUILD_OPTS[@]}" --with-libsodium=yes \ + && make \ + && make install) || exit 1 + +echo +echo "Verifying qt-android libsodium.so and libzmq.so libraries..." +echo + +android_build_verify_so "libsodium.so" +android_build_verify_so "libzmq.so" "libsodium.so" + +echo +echo "Completed qt-android build!" +echo diff --git a/builds/qt-android/ci_build.sh b/builds/qt-android/ci_build.sh new file mode 100755 index 00000000..09724fbd --- /dev/null +++ b/builds/qt-android/ci_build.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +(cd '/tmp' \ + && wget http://dl.google.com/android/ndk/android-ndk-r9-linux-x86_64.tar.bz2 \ + && tar -xvf android-ndk-r9-linux-x86_64.tar.bz2 \ + && mv android-ndk-r9 android-ndk) + +export ANDROID_NDK_ROOT="/tmp/android-ndk" +export TOOLCHAIN_PATH="/tmp/android-ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin" +export TOOLCHAIN_NAME="arm-linux-androideabi-4.8" +export TOOLCHAIN_HOST="arm-linux-androideabi" +export TOOLCHAIN_ARCH="arm" + +source ./build.sh diff --git a/ci_build.sh b/ci_build.sh new file mode 100755 index 00000000..e26f3091 --- /dev/null +++ b/ci_build.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +if [ $BUILD_TYPE == "default" ]; then + # Build required projects first + + # libsodium + git clone git://github.com/jedisct1/libsodium.git + ( cd libsodium; ./autogen.sh; ./configure; make check; sudo make install; sudo ldconfig ) + + # Build and check this project + ./autogen.sh && ./configure --with-libsodium=yes && make && make check + sudo make install +else + cd ./builds/${BUILD_TYPE} && ./ci_build.sh +fi From aeec276b85a3a84fa9f39143067b5eb1c5fbf539 Mon Sep 17 00:00:00 2001 From: Joe McIlvain Date: Sun, 2 Nov 2014 17:39:01 -0800 Subject: [PATCH 33/67] Problem: Travis ci logs are too long Solution: Don't print tar extraction verbosely --- builds/qt-android/build.sh | 2 +- builds/qt-android/ci_build.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/builds/qt-android/build.sh b/builds/qt-android/build.sh index 2b4d3c9f..80da30ce 100755 --- a/builds/qt-android/build.sh +++ b/builds/qt-android/build.sh @@ -27,7 +27,7 @@ wget "https://download.libsodium.org/libsodium/releases/LATEST.tar.gz" \ -O "${cache}/libsodium.tar.gz" (cd "${cache}" && mkdir libsodium \ - && tar -C libsodium -xvf libsodium.tar.gz --strip=1 \ + && tar -C libsodium -xf libsodium.tar.gz --strip=1 \ && cd "libsodium" && ./autogen.sh \ && ./configure "${ANDROID_BUILD_OPTS[@]}" --disable-soname-versions \ && make \ diff --git a/builds/qt-android/ci_build.sh b/builds/qt-android/ci_build.sh index 09724fbd..98d2989a 100755 --- a/builds/qt-android/ci_build.sh +++ b/builds/qt-android/ci_build.sh @@ -2,7 +2,7 @@ (cd '/tmp' \ && wget http://dl.google.com/android/ndk/android-ndk-r9-linux-x86_64.tar.bz2 \ - && tar -xvf android-ndk-r9-linux-x86_64.tar.bz2 \ + && tar -xf android-ndk-r9-linux-x86_64.tar.bz2 \ && mv android-ndk-r9 android-ndk) export ANDROID_NDK_ROOT="/tmp/android-ndk" From be55c5ac3d2b4d66abb18ff139dec172c0249209 Mon Sep 17 00:00:00 2001 From: Pieter Hintjens Date: Fri, 31 Oct 2014 11:38:01 +0100 Subject: [PATCH 34/67] Fixed .gitignore for mains in root --- .gitignore | 166 ++++++++++++++++++++++++++--------------------------- 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/.gitignore b/.gitignore index ef73164a..f93b4281 100644 --- a/.gitignore +++ b/.gitignore @@ -21,93 +21,93 @@ autom4te.cache .* *~ .*~ -tools/curve_keygen -tests/test_resource -tests/test_ipc_wildcard -tests/test_stream_empty -tests/test_stream_timeout -tests/test_issue_566 -tests/test_ctx_destroy -tests/test_term_endpoint -tests/test_system -tests/test_monitor -tests/test_last_endpoint -tests/test_pair_inproc -tests/test_pair_ipc -tests/test_pair_tcp -tests/test_reqrep_inproc -tests/test_reqrep_ipc -tests/test_reqrep_tcp -tests/test_shutdown_stress -tests/test_hwm -tests/test_timeo -tests/test_reqrep_device -tests/test_reqrep_drop -tests/test_sub_forward -tests/test_invalid_rep -tests/test_msg_flags -tests/test_ts_context -tests/test_connect_resolve -tests/test_immediate -tests/test_term_endpoint -tests/test_router_mandatory -tests/test_disconnect_inproc -tests/test_raw_sock -tests/test_disconnect_inproc -tests/test_ctx_options -tests/test_iov -tests/test_security -tests/test_security_curve -tests/test_probe_router -tests/test_stream -tests/test_spec_dealer -tests/test_spec_pushpull -tests/test_spec_rep -tests/test_spec_req -tests/test_spec_router -tests/test_req_correlate -tests/test_req_relaxed -tests/test_fork -tests/test_conflate -tests/test_inproc_connect -tests/test_linger -tests/test_security_null -tests/test_security_plain -tests/test_proxy -tests/test_abstract_ipc -tests/test_filter_ipc -tests/test_connect_delay_tipc -tests/test_pair_tipc -tests/test_reqrep_device_tipc -tests/test_reqrep_tipc -tests/test_router_handover -tests/test_router_mandatory_tipc -tests/test_shutdown_stress_tipc -tests/test_sub_forward_tipc -tests/test_term_endpoint_tipc -tests/test_many_sockets -tests/test_diffserv -tests/test_connect_rid -tests/test_srcfd -tests/test_stream_disconnect -tests/test_proxy_chain -tests/test_bind_src_address -tests/test_metadata -tests/test_id2fd -tests/test_capabilities -tests/test_hwm_pubsub -tests/test_router_mandatory_hwm -tests/test_xpub_nodrop +curve_keygen +test_resource +test_ipc_wildcard +test_stream_empty +test_stream_timeout +test_issue_566 +test_ctx_destroy +test_term_endpoint +test_system +test_monitor +test_last_endpoint +test_pair_inproc +test_pair_ipc +test_pair_tcp +test_reqrep_inproc +test_reqrep_ipc +test_reqrep_tcp +test_shutdown_stress +test_hwm +test_timeo +test_reqrep_device +test_reqrep_drop +test_sub_forward +test_invalid_rep +test_msg_flags +test_ts_context +test_connect_resolve +test_immediate +test_term_endpoint +test_router_mandatory +test_disconnect_inproc +test_raw_sock +test_disconnect_inproc +test_ctx_options +test_iov +test_security +test_security_curve +test_probe_router +test_stream +test_spec_dealer +test_spec_pushpull +test_spec_rep +test_spec_req +test_spec_router +test_req_correlate +test_req_relaxed +test_fork +test_conflate +test_inproc_connect +test_linger +test_security_null +test_security_plain +test_proxy +test_abstract_ipc +test_filter_ipc +test_connect_delay_tipc +test_pair_tipc +test_reqrep_device_tipc +test_reqrep_tipc +test_router_handover +test_router_mandatory_tipc +test_shutdown_stress_tipc +test_sub_forward_tipc +test_term_endpoint_tipc +test_many_sockets +test_diffserv +test_connect_rid +test_srcfd +test_stream_disconnect +test_proxy_chain +test_bind_src_address +test_metadata +test_id2fd +test_capabilities +test_hwm_pubsub +test_router_mandatory_hwm +test_xpub_nodrop tests/test*.log tests/test*.trs src/platform.hpp* src/stamp-h1 -perf/local_lat -perf/local_thr -perf/remote_lat -perf/remote_thr -perf/inproc_lat -perf/inproc_thr +local_lat +local_thr +remote_lat +remote_thr +inproc_lat +inproc_thr doc/*.1 doc/*.3 doc/*.7 From 384fbbeca50f5a9a027d6fbeb067e525db00ba06 Mon Sep 17 00:00:00 2001 From: Phillip Mienk Date: Sun, 26 Oct 2014 01:40:32 -0700 Subject: [PATCH 35/67] Restore structure to targets lost during nonrecursive refactor. --- Makefile.am | 472 ++++++++++++++++++++++++++-------------------------- 1 file changed, 236 insertions(+), 236 deletions(-) diff --git a/Makefile.am b/Makefile.am index 944a631d..7a1a85de 100644 --- a/Makefile.am +++ b/Makefile.am @@ -13,13 +13,13 @@ AM_CPPFLAGS = \ # # libraries/binaries # -lib_LTLIBRARIES = libzmq.la +lib_LTLIBRARIES = src/libzmq.la include_HEADERS = \ include/zmq.h \ include/zmq_utils.h -libzmq_la_SOURCES = \ +src_libzmq_la_SOURCES = \ src/address.cpp \ src/address.hpp \ src/array.hpp \ @@ -202,25 +202,25 @@ libzmq_la_SOURCES = \ src/zmq_utils.cpp if ON_MINGW -libzmq_la_LDFLAGS = \ +src_libzmq_la_LDFLAGS = \ -no-undefined \ -avoid-version \ -version-info @LTVER@ \ @LIBZMQ_EXTRA_LDFLAGS@ else if ON_ANDROID -libzmq_la_LDFLAGS = \ +src_libzmq_la_LDFLAGS = \ -avoid-version \ -version-info @LTVER@ \ @LIBZMQ_EXTRA_LDFLAGS@ else if ON_LINUX -libzmq_la_LDFLAGS = \ +src_libzmq_la_LDFLAGS = \ -version-info @LTVER@ \ @LIBZMQ_EXTRA_LDFLAGS@ \ -Wl,--version-script=$(srcdir)/src/libzmq.vers else -libzmq_la_LDFLAGS = \ +src_libzmq_la_LDFLAGS = \ -version-info @LTVER@ \ @LIBZMQ_EXTRA_LDFLAGS@ \ -Wl @@ -228,350 +228,350 @@ endif endif endif -libzmq_la_CPPFLAGS = -libzmq_la_CXXFLAGS = @LIBZMQ_EXTRA_CXXFLAGS@ -libzmq_la_LIBADD = +src_libzmq_la_CPPFLAGS = +src_libzmq_la_CXXFLAGS = @LIBZMQ_EXTRA_CXXFLAGS@ +src_libzmq_la_LIBADD = if HAVE_SODIUM -libzmq_la_CPPFLAGS += ${sodium_CFLAGS} -libzmq_la_LIBADD += ${sodium_LIBS} +src_libzmq_la_CPPFLAGS += ${sodium_CFLAGS} +src_libzmq_la_LIBADD += ${sodium_LIBS} endif if HAVE_PGM -libzmq_la_CPPFLAGS += ${pgm_CFLAGS} -libzmq_la_LIBADD += ${pgm_LIBS} +src_libzmq_la_CPPFLAGS += ${pgm_CFLAGS} +src_libzmq_la_LIBADD += ${pgm_LIBS} endif noinst_PROGRAMS = \ - local_lat \ - remote_lat \ - local_thr \ - remote_thr \ - inproc_lat \ - inproc_thr + perf/local_lat \ + perf/remote_lat \ + perf/local_thr \ + perf/remote_thr \ + perf/inproc_lat \ + perf/inproc_thr -local_lat_LDADD = libzmq.la -local_lat_SOURCES = perf/local_lat.cpp +perf_local_lat_LDADD = src/libzmq.la +perf_local_lat_SOURCES = perf/local_lat.cpp -remote_lat_LDADD = libzmq.la -remote_lat_SOURCES = perf/remote_lat.cpp +perf_remote_lat_LDADD = src/libzmq.la +perf_remote_lat_SOURCES = perf/remote_lat.cpp -local_thr_LDADD = libzmq.la -local_thr_SOURCES = perf/local_thr.cpp +perf_local_thr_LDADD = src/libzmq.la +perf_local_thr_SOURCES = perf/local_thr.cpp -remote_thr_LDADD = libzmq.la -remote_thr_SOURCES = perf/remote_thr.cpp +perf_remote_thr_LDADD = src/libzmq.la +perf_remote_thr_SOURCES = perf/remote_thr.cpp -inproc_lat_LDADD = libzmq.la -inproc_lat_SOURCES = perf/inproc_lat.cpp +perf_inproc_lat_LDADD = src/libzmq.la +perf_inproc_lat_SOURCES = perf/inproc_lat.cpp -inproc_thr_LDADD = libzmq.la -inproc_thr_SOURCES = perf/inproc_thr.cpp +perf_inproc_thr_LDADD = src/libzmq.la +perf_inproc_thr_SOURCES = perf/inproc_thr.cpp -bin_PROGRAMS = curve_keygen +bin_PROGRAMS = tools/curve_keygen -curve_keygen_LDADD = libzmq.la -curve_keygen_SOURCES = tools/curve_keygen.cpp +tools_curve_keygen_LDADD = src/libzmq.la +tools_curve_keygen_SOURCES = tools/curve_keygen.cpp # # tests # test_apps = \ - test_system \ - test_pair_inproc \ - test_pair_tcp \ - test_reqrep_inproc \ - test_reqrep_tcp \ - test_hwm \ - test_hwm_pubsub \ - test_reqrep_device \ - test_sub_forward \ - test_invalid_rep \ - test_msg_flags \ - test_connect_resolve \ - test_immediate \ - test_last_endpoint \ - test_term_endpoint \ - test_srcfd \ - test_monitor \ - test_router_mandatory \ - test_router_mandatory_hwm \ - test_router_handover \ - test_probe_router \ - test_stream \ - test_stream_empty \ - test_stream_disconnect \ - test_stream_timeout \ - test_disconnect_inproc \ - test_ctx_options \ - test_ctx_destroy \ - test_security_null \ - test_security_plain \ - test_security_curve \ - test_iov \ - test_spec_req \ - test_spec_rep \ - test_spec_dealer \ - test_spec_router \ - test_spec_pushpull \ - test_req_correlate \ - test_req_relaxed \ - test_conflate \ - test_inproc_connect \ - test_issue_566 \ - test_proxy \ - test_many_sockets \ - test_ipc_wildcard \ - test_diffserv \ - test_connect_rid \ - test_bind_src_address \ - test_metadata \ - test_id2fd \ - test_capabilities \ - test_xpub_nodrop + tests/test_system \ + tests/test_pair_inproc \ + tests/test_pair_tcp \ + tests/test_reqrep_inproc \ + tests/test_reqrep_tcp \ + tests/test_hwm \ + tests/test_hwm_pubsub \ + tests/test_reqrep_device \ + tests/test_sub_forward \ + tests/test_invalid_rep \ + tests/test_msg_flags \ + tests/test_connect_resolve \ + tests/test_immediate \ + tests/test_last_endpoint \ + tests/test_term_endpoint \ + tests/test_srcfd \ + tests/test_monitor \ + tests/test_router_mandatory \ + tests/test_router_mandatory_hwm \ + tests/test_router_handover \ + tests/test_probe_router \ + tests/test_stream \ + tests/test_stream_empty \ + tests/test_stream_disconnect \ + tests/test_stream_timeout \ + tests/test_disconnect_inproc \ + tests/test_ctx_options \ + tests/test_ctx_destroy \ + tests/test_security_null \ + tests/test_security_plain \ + tests/test_security_curve \ + tests/test_iov \ + tests/test_spec_req \ + tests/test_spec_rep \ + tests/test_spec_dealer \ + tests/test_spec_router \ + tests/test_spec_pushpull \ + tests/test_req_correlate \ + tests/test_req_relaxed \ + tests/test_conflate \ + tests/test_inproc_connect \ + tests/test_issue_566 \ + tests/test_proxy \ + tests/test_many_sockets \ + tests/test_ipc_wildcard \ + tests/test_diffserv \ + tests/test_connect_rid \ + tests/test_bind_src_address \ + tests/test_metadata \ + tests/test_id2fd \ + tests/test_capabilities \ + tests/test_xpub_nodrop -test_system_SOURCES = tests/test_system.cpp -test_system_LDADD = libzmq.la +tests_test_system_SOURCES = tests/test_system.cpp +tests_test_system_LDADD = src/libzmq.la -test_pair_inproc_SOURCES = \ +tests_test_pair_inproc_SOURCES = \ tests/test_pair_inproc.cpp \ tests/testutil.hpp -test_pair_inproc_LDADD = libzmq.la +tests_test_pair_inproc_LDADD = src/libzmq.la -test_pair_tcp_SOURCES = \ +tests_test_pair_tcp_SOURCES = \ tests/test_pair_tcp.cpp \ tests/testutil.hpp -test_pair_tcp_LDADD = libzmq.la +tests_test_pair_tcp_LDADD = src/libzmq.la -test_reqrep_inproc_SOURCES = \ +tests_test_reqrep_inproc_SOURCES = \ tests/test_reqrep_inproc.cpp \ tests/testutil.hpp -test_reqrep_inproc_LDADD = libzmq.la +tests_test_reqrep_inproc_LDADD = src/libzmq.la -test_reqrep_tcp_SOURCES = \ +tests_test_reqrep_tcp_SOURCES = \ tests/test_reqrep_tcp.cpp \ tests/testutil.hpp -test_reqrep_tcp_LDADD = libzmq.la +tests_test_reqrep_tcp_LDADD = src/libzmq.la -test_hwm_SOURCES = tests/test_hwm.cpp -test_hwm_LDADD = libzmq.la +tests_test_hwm_SOURCES = tests/test_hwm.cpp +tests_test_hwm_LDADD = src/libzmq.la -test_hwm_pubsub_SOURCES = tests/test_hwm_pubsub.cpp -test_hwm_pubsub_LDADD = libzmq.la +tests_test_hwm_pubsub_SOURCES = tests/test_hwm_pubsub.cpp +tests_test_hwm_pubsub_LDADD = src/libzmq.la -test_reqrep_device_SOURCES = tests/test_reqrep_device.cpp -test_reqrep_device_LDADD = libzmq.la +tests_test_reqrep_device_SOURCES = tests/test_reqrep_device.cpp +tests_test_reqrep_device_LDADD = src/libzmq.la -test_sub_forward_SOURCES = tests/test_sub_forward.cpp -test_sub_forward_LDADD = libzmq.la +tests_test_sub_forward_SOURCES = tests/test_sub_forward.cpp +tests_test_sub_forward_LDADD = src/libzmq.la -test_invalid_rep_SOURCES = tests/test_invalid_rep.cpp -test_invalid_rep_LDADD = libzmq.la +tests_test_invalid_rep_SOURCES = tests/test_invalid_rep.cpp +tests_test_invalid_rep_LDADD = src/libzmq.la -test_msg_flags_SOURCES = tests/test_msg_flags.cpp -test_msg_flags_LDADD = libzmq.la +tests_test_msg_flags_SOURCES = tests/test_msg_flags.cpp +tests_test_msg_flags_LDADD = src/libzmq.la -test_connect_resolve_SOURCES = tests/test_connect_resolve.cpp -test_connect_resolve_LDADD = libzmq.la +tests_test_connect_resolve_SOURCES = tests/test_connect_resolve.cpp +tests_test_connect_resolve_LDADD = src/libzmq.la -test_immediate_SOURCES = tests/test_immediate.cpp -test_immediate_LDADD = libzmq.la +tests_test_immediate_SOURCES = tests/test_immediate.cpp +tests_test_immediate_LDADD = src/libzmq.la -test_last_endpoint_SOURCES = tests/test_last_endpoint.cpp -test_last_endpoint_LDADD = libzmq.la +tests_test_last_endpoint_SOURCES = tests/test_last_endpoint.cpp +tests_test_last_endpoint_LDADD = src/libzmq.la -test_term_endpoint_SOURCES = tests/test_term_endpoint.cpp -test_term_endpoint_LDADD = libzmq.la +tests_test_term_endpoint_SOURCES = tests/test_term_endpoint.cpp +tests_test_term_endpoint_LDADD = src/libzmq.la -test_srcfd_SOURCES = tests/test_srcfd.cpp -test_srcfd_LDADD = libzmq.la +tests_test_srcfd_SOURCES = tests/test_srcfd.cpp +tests_test_srcfd_LDADD = src/libzmq.la -test_monitor_SOURCES = tests/test_monitor.cpp -test_monitor_LDADD = libzmq.la +tests_test_monitor_SOURCES = tests/test_monitor.cpp +tests_test_monitor_LDADD = src/libzmq.la -test_router_mandatory_SOURCES = tests/test_router_mandatory.cpp -test_router_mandatory_LDADD = libzmq.la +tests_test_router_mandatory_SOURCES = tests/test_router_mandatory.cpp +tests_test_router_mandatory_LDADD = src/libzmq.la -test_router_mandatory_hwm_SOURCES = tests/test_router_mandatory_hwm.cpp -test_router_mandatory_hwm_LDADD = libzmq.la +tests_test_router_mandatory_hwm_SOURCES = tests/test_router_mandatory_hwm.cpp +tests_test_router_mandatory_hwm_LDADD = src/libzmq.la -test_router_handover_SOURCES = tests/test_router_handover.cpp -test_router_handover_LDADD = libzmq.la +tests_test_router_handover_SOURCES = tests/test_router_handover.cpp +tests_test_router_handover_LDADD = src/libzmq.la -test_probe_router_SOURCES = tests/test_probe_router.cpp -test_probe_router_LDADD = libzmq.la +tests_test_probe_router_SOURCES = tests/test_probe_router.cpp +tests_test_probe_router_LDADD = src/libzmq.la -test_stream_SOURCES = tests/test_stream.cpp -test_stream_LDADD = libzmq.la +tests_test_stream_SOURCES = tests/test_stream.cpp +tests_test_stream_LDADD = src/libzmq.la -test_stream_empty_SOURCES = tests/test_stream_empty.cpp -test_stream_empty_LDADD = libzmq.la +tests_test_stream_empty_SOURCES = tests/test_stream_empty.cpp +tests_test_stream_empty_LDADD = src/libzmq.la -test_stream_timeout_SOURCES = tests/test_stream_timeout.cpp -test_stream_timeout_LDADD = libzmq.la +tests_test_stream_timeout_SOURCES = tests/test_stream_timeout.cpp +tests_test_stream_timeout_LDADD = src/libzmq.la -test_stream_disconnect_SOURCES = tests/test_stream_disconnect.cpp -test_stream_disconnect_LDADD = libzmq.la +tests_test_stream_disconnect_SOURCES = tests/test_stream_disconnect.cpp +tests_test_stream_disconnect_LDADD = src/libzmq.la -test_disconnect_inproc_SOURCES = tests/test_disconnect_inproc.cpp -test_disconnect_inproc_LDADD = libzmq.la +tests_test_disconnect_inproc_SOURCES = tests/test_disconnect_inproc.cpp +tests_test_disconnect_inproc_LDADD = src/libzmq.la -test_ctx_options_SOURCES = tests/test_ctx_options.cpp -test_ctx_options_LDADD = libzmq.la +tests_test_ctx_options_SOURCES = tests/test_ctx_options.cpp +tests_test_ctx_options_LDADD = src/libzmq.la -test_iov_SOURCES = tests/test_iov.cpp -test_iov_LDADD = libzmq.la +tests_test_iov_SOURCES = tests/test_iov.cpp +tests_test_iov_LDADD = src/libzmq.la -test_ctx_destroy_SOURCES = tests/test_ctx_destroy.cpp -test_ctx_destroy_LDADD = libzmq.la +tests_test_ctx_destroy_SOURCES = tests/test_ctx_destroy.cpp +tests_test_ctx_destroy_LDADD = src/libzmq.la -test_security_null_SOURCES = tests/test_security_null.cpp -test_security_null_LDADD = libzmq.la +tests_test_security_null_SOURCES = tests/test_security_null.cpp +tests_test_security_null_LDADD = src/libzmq.la -test_security_plain_SOURCES = tests/test_security_plain.cpp -test_security_plain_LDADD = libzmq.la +tests_test_security_plain_SOURCES = tests/test_security_plain.cpp +tests_test_security_plain_LDADD = src/libzmq.la -test_security_curve_SOURCES = tests/test_security_curve.cpp -test_security_curve_LDADD = libzmq.la +tests_test_security_curve_SOURCES = tests/test_security_curve.cpp +tests_test_security_curve_LDADD = src/libzmq.la -test_spec_req_SOURCES = tests/test_spec_req.cpp -test_spec_req_LDADD = libzmq.la +tests_test_spec_req_SOURCES = tests/test_spec_req.cpp +tests_test_spec_req_LDADD = src/libzmq.la -test_spec_rep_SOURCES = tests/test_spec_rep.cpp -test_spec_rep_LDADD = libzmq.la +tests_test_spec_rep_SOURCES = tests/test_spec_rep.cpp +tests_test_spec_rep_LDADD = src/libzmq.la -test_spec_dealer_SOURCES = tests/test_spec_dealer.cpp -test_spec_dealer_LDADD = libzmq.la +tests_test_spec_dealer_SOURCES = tests/test_spec_dealer.cpp +tests_test_spec_dealer_LDADD = src/libzmq.la -test_spec_router_SOURCES = tests/test_spec_router.cpp -test_spec_router_LDADD = libzmq.la +tests_test_spec_router_SOURCES = tests/test_spec_router.cpp +tests_test_spec_router_LDADD = src/libzmq.la -test_spec_pushpull_SOURCES = tests/test_spec_pushpull.cpp -test_spec_pushpull_LDADD = libzmq.la +tests_test_spec_pushpull_SOURCES = tests/test_spec_pushpull.cpp +tests_test_spec_pushpull_LDADD = src/libzmq.la -test_req_correlate_SOURCES = tests/test_req_correlate.cpp -test_req_correlate_LDADD = libzmq.la +tests_test_req_correlate_SOURCES = tests/test_req_correlate.cpp +tests_test_req_correlate_LDADD = src/libzmq.la -test_req_relaxed_SOURCES = tests/test_req_relaxed.cpp -test_req_relaxed_LDADD = libzmq.la +tests_test_req_relaxed_SOURCES = tests/test_req_relaxed.cpp +tests_test_req_relaxed_LDADD = src/libzmq.la -test_conflate_SOURCES = tests/test_conflate.cpp -test_conflate_LDADD = libzmq.la +tests_test_conflate_SOURCES = tests/test_conflate.cpp +tests_test_conflate_LDADD = src/libzmq.la -test_inproc_connect_SOURCES = tests/test_inproc_connect.cpp -test_inproc_connect_LDADD = libzmq.la +tests_test_inproc_connect_SOURCES = tests/test_inproc_connect.cpp +tests_test_inproc_connect_LDADD = src/libzmq.la -test_issue_566_SOURCES = tests/test_issue_566.cpp -test_issue_566_LDADD = libzmq.la +tests_test_issue_566_SOURCES = tests/test_issue_566.cpp +tests_test_issue_566_LDADD = src/libzmq.la -test_proxy_SOURCES = tests/test_proxy.cpp -test_proxy_LDADD = libzmq.la +tests_test_proxy_SOURCES = tests/test_proxy.cpp +tests_test_proxy_LDADD = src/libzmq.la -test_many_sockets_SOURCES = tests/test_many_sockets.cpp -test_many_sockets_LDADD = libzmq.la +tests_test_many_sockets_SOURCES = tests/test_many_sockets.cpp +tests_test_many_sockets_LDADD = src/libzmq.la -test_ipc_wildcard_SOURCES = tests/test_ipc_wildcard.cpp -test_ipc_wildcard_LDADD = libzmq.la +tests_test_ipc_wildcard_SOURCES = tests/test_ipc_wildcard.cpp +tests_test_ipc_wildcard_LDADD = src/libzmq.la -test_diffserv_SOURCES = tests/test_diffserv.cpp -test_diffserv_LDADD = libzmq.la +tests_test_diffserv_SOURCES = tests/test_diffserv.cpp +tests_test_diffserv_LDADD = src/libzmq.la -test_connect_rid_SOURCES = tests/test_connect_rid.cpp -test_connect_rid_LDADD = libzmq.la +tests_test_connect_rid_SOURCES = tests/test_connect_rid.cpp +tests_test_connect_rid_LDADD = src/libzmq.la -test_bind_src_address_SOURCES = tests/test_bind_src_address.cpp -test_bind_src_address_LDADD = libzmq.la +tests_test_bind_src_address_SOURCES = tests/test_bind_src_address.cpp +tests_test_bind_src_address_LDADD = src/libzmq.la -test_metadata_SOURCES = tests/test_metadata.cpp -test_metadata_LDADD = libzmq.la +tests_test_metadata_SOURCES = tests/test_metadata.cpp +tests_test_metadata_LDADD = src/libzmq.la -test_id2fd_SOURCES = tests/test_id2fd.cpp -test_id2fd_LDADD = libzmq.la +tests_test_id2fd_SOURCES = tests/test_id2fd.cpp +tests_test_id2fd_LDADD = src/libzmq.la -test_capabilities_SOURCES = tests/test_capabilities.cpp -test_capabilities_LDADD = libzmq.la +tests_test_capabilities_SOURCES = tests/test_capabilities.cpp +tests_test_capabilities_LDADD = src/libzmq.la -test_xpub_nodrop_SOURCES = tests/test_xpub_nodrop.cpp -test_xpub_nodrop_LDADD = libzmq.la +tests_test_xpub_nodrop_SOURCES = tests/test_xpub_nodrop.cpp +tests_test_xpub_nodrop_LDADD = src/libzmq.la if !ON_MINGW test_apps += \ - test_shutdown_stress \ - test_pair_ipc \ - test_reqrep_ipc \ - test_timeo \ - test_filter_ipc + tests/test_shutdown_stress \ + tests/test_pair_ipc \ + tests/test_reqrep_ipc \ + tests/test_timeo \ + tests/test_filter_ipc -test_shutdown_stress_SOURCES = tests/test_shutdown_stress.cpp -test_shutdown_stress_LDADD = libzmq.la +tests_test_shutdown_stress_SOURCES = tests/test_shutdown_stress.cpp +tests_test_shutdown_stress_LDADD = src/libzmq.la -test_pair_ipc_SOURCES = \ +tests_test_pair_ipc_SOURCES = \ tests/test_pair_ipc.cpp \ tests/testutil.hpp -test_pair_ipc_LDADD = libzmq.la +tests_test_pair_ipc_LDADD = src/libzmq.la -test_reqrep_ipc_SOURCES = \ +tests_test_reqrep_ipc_SOURCES = \ tests/test_reqrep_ipc.cpp \ tests/testutil.hpp -test_reqrep_ipc_LDADD = libzmq.la +tests_test_reqrep_ipc_LDADD = src/libzmq.la -test_timeo_SOURCES = tests/test_timeo.cpp -test_timeo_LDADD = libzmq.la +tests_test_timeo_SOURCES = tests/test_timeo.cpp +tests_test_timeo_LDADD = src/libzmq.la -test_filter_ipc_SOURCES = tests/test_filter_ipc.cpp -test_filter_ipc_LDADD = libzmq.la +tests_test_filter_ipc_SOURCES = tests/test_filter_ipc.cpp +tests_test_filter_ipc_LDADD = src/libzmq.la if HAVE_FORK -test_apps += test_fork +test_apps += tests/test_fork -test_fork_SOURCES = tests/test_fork.cpp -test_fork_LDADD = libzmq.la +tests_test_fork_SOURCES = tests/test_fork.cpp +tests_test_fork_LDADD = src/libzmq.la endif endif if BUILD_TIPC test_apps += \ - test_connect_delay_tipc \ - test_pair_tipc \ - test_reqrep_device_tipc \ - test_reqrep_tipc \ - test_router_mandatory_tipc \ - test_shutdown_stress_tipc \ - test_sub_forward_tipc \ - test_term_endpoint_tipc + tests/test_connect_delay_tipc \ + tests/test_pair_tipc \ + tests/test_reqrep_device_tipc \ + tests/test_reqrep_tipc \ + tests/test_router_mandatory_tipc \ + tests/test_shutdown_stress_tipc \ + tests/test_sub_forward_tipc \ + tests/test_term_endpoint_tipc -test_connect_delay_tipc_SOURCES = tests/test_connect_delay_tipc.cpp -test_connect_delay_tipc_LDADD = libzmq.la +tests_test_connect_delay_tipc_SOURCES = tests/test_connect_delay_tipc.cpp +tests_test_connect_delay_tipc_LDADD = src/libzmq.la -test_pair_tipc_SOURCES = tests/test_pair_tipc.cpp -test_pair_tipc_LDADD = libzmq.la +tests_test_pair_tipc_SOURCES = tests/test_pair_tipc.cpp +tests_test_pair_tipc_LDADD = src/libzmq.la -test_reqrep_device_tipc_SOURCES = tests/test_reqrep_device_tipc.cpp -test_reqrep_device_tipc_LDADD = libzmq.la +tests_test_reqrep_device_tipc_SOURCES = tests/test_reqrep_device_tipc.cpp +tests_test_reqrep_device_tipc_LDADD = src/libzmq.la -test_reqrep_tipc_SOURCES = tests/test_reqrep_tipc.cpp -test_reqrep_tipc_LDADD = libzmq.la +tests_test_reqrep_tipc_SOURCES = tests/test_reqrep_tipc.cpp +tests_test_reqrep_tipc_LDADD = src/libzmq.la -test_router_mandatory_tipc_SOURCES = tests/test_router_mandatory_tipc.cpp -test_router_mandatory_tipc_LDADD = libzmq.la +tests_test_router_mandatory_tipc_SOURCES = tests/test_router_mandatory_tipc.cpp +tests_test_router_mandatory_tipc_LDADD = src/libzmq.la -test_shutdown_stress_tipc_SOURCES = tests/test_shutdown_stress_tipc.cpp -test_shutdown_stress_tipc_LDADD = libzmq.la +tests_test_shutdown_stress_tipc_SOURCES = tests/test_shutdown_stress_tipc.cpp +tests_test_shutdown_stress_tipc_LDADD = src/libzmq.la -test_sub_forward_tipc_SOURCES = tests/test_sub_forward_tipc.cpp -test_sub_forward_tipc_LDADD = libzmq.la +tests_test_sub_forward_tipc_SOURCES = tests/test_sub_forward_tipc.cpp +tests_test_sub_forward_tipc_LDADD = src/libzmq.la -test_term_endpoint_tipc_SOURCES = tests/test_term_endpoint_tipc.cpp -test_term_endpoint_tipc_LDADD = libzmq.la +tests_test_term_endpoint_tipc_SOURCES = tests/test_term_endpoint_tipc.cpp +tests_test_term_endpoint_tipc_LDADD = src/libzmq.la endif if ON_LINUX -test_apps += test_abstract_ipc +test_apps += tests/test_abstract_ipc -test_abstract_ipc_SOURCES = tests/test_abstract_ipc.cpp -test_abstract_ipc_LDADD = libzmq.la +tests_test_abstract_ipc_SOURCES = tests/test_abstract_ipc.cpp +tests_test_abstract_ipc_LDADD = src/libzmq.la endif @@ -582,7 +582,7 @@ TESTS = $(test_apps) XFAIL_TESTS = if !ON_LINUX -XFAIL_TESTS += test_abstract_ipc +XFAIL_TESTS += tests/test_abstract_ipc endif EXTRA_DIST = \ From 5b6293c57ee89d371f7346294c34d4f2a456c22c Mon Sep 17 00:00:00 2001 From: Joe McIlvain Date: Tue, 4 Nov 2014 12:57:39 -0800 Subject: [PATCH 36/67] Problem: qt-android build doesn't fully work for downstream builds Solution: Fix the qt-android build --- .travis.yml | 6 +-- builds/qt-android/android_build_helper.sh | 4 +- builds/qt-android/build.sh | 64 +++++++++++------------ 3 files changed, 37 insertions(+), 37 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9a553456..be2b04cd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,8 +3,8 @@ language: c env: - - BUILD_TYPE=default - - BUILD_TYPE=qt-android +- BUILD_TYPE=default +- BUILD_TYPE=qt-android -# Build and check this project according to the BUILD_TYPE +# Build and check this project according to the BUILD_TYPE script: ./ci_build.sh diff --git a/builds/qt-android/android_build_helper.sh b/builds/qt-android/android_build_helper.sh index af57e59a..7ec89432 100644 --- a/builds/qt-android/android_build_helper.sh +++ b/builds/qt-android/android_build_helper.sh @@ -60,7 +60,7 @@ ANDROID_BUILD_FAIL=() function android_build_check_fail { if [ ! ${#ANDROID_BUILD_FAIL[@]} -eq 0 ]; then - echo "qt-android build failed for the following reasons:" + echo "Android build failed for the following reasons:" for reason in "${ANDROID_BUILD_FAIL[@]}"; do local formatted_reason=" ${reason}" echo "${formatted_reason}" @@ -248,7 +248,7 @@ function android_build_opts { local CFLAGS="--sysroot=${ANDROID_BUILD_SYSROOT} -I${ANDROID_BUILD_PREFIX}/include" local CPPFLAGS="--sysroot=${ANDROID_BUILD_SYSROOT} -I${ANDROID_BUILD_PREFIX}/include" local CXXFLAGS="--sysroot=${ANDROID_BUILD_SYSROOT} -I${ANDROID_BUILD_PREFIX}/include" - local LDFLAGS="" + local LDFLAGS="-L${ANDROID_BUILD_PREFIX}/lib" local LIBS="-lc -lgcc -ldl" _android_build_opts_process_binaries diff --git a/builds/qt-android/build.sh b/builds/qt-android/build.sh index 80da30ce..c6107a49 100755 --- a/builds/qt-android/build.sh +++ b/builds/qt-android/build.sh @@ -1,7 +1,8 @@ #!/usr/bin/env bash -# Get directory of current script -ANDROID_BUILD_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +# Use directory of current script as the build directory and working directory +cd "$( dirname "${BASH_SOURCE[0]}" )" +ANDROID_BUILD_DIR="$(pwd)" # Get access to android_build functions and variables source ${ANDROID_BUILD_DIR}/android_build_helper.sh @@ -13,44 +14,43 @@ ANDROID_BUILD_CXXSTL="gnustl_shared_48" android_build_env android_build_opts -# Clear a temporary build directory +# Use a temporary build directory cache="/tmp/android_build/${TOOLCHAIN_NAME}" -rm -rf "${cache}" mkdir -p "${cache}" +## +# Build libsodium from latest release tarball -echo -echo "Building qt-android libsodium from latest release tarball..." -echo +(android_build_verify_so "libsodium.so" &> /dev/null) || { + rm -rf "${cache}/libsodium" + (cd "${cache}" && mkdir libsodium \ + && wget https://download.libsodium.org/libsodium/releases/LATEST.tar.gz\ + -O "${cache}/libsodium.tar.gz" \ + && tar -C libsodium -xf libsodium.tar.gz --strip=1) || exit 1 + + (cd "${cache}/libsodium" && ./autogen.sh \ + && ./configure "${ANDROID_BUILD_OPTS[@]}" --disable-soname-versions \ + && make \ + && make install) || exit 1 +} -wget "https://download.libsodium.org/libsodium/releases/LATEST.tar.gz" \ - -O "${cache}/libsodium.tar.gz" +## +# Build libzmq from local source -(cd "${cache}" && mkdir libsodium \ - && tar -C libsodium -xf libsodium.tar.gz --strip=1 \ - && cd "libsodium" && ./autogen.sh \ - && ./configure "${ANDROID_BUILD_OPTS[@]}" --disable-soname-versions \ - && make \ - && make install) || exit 1 +LIBTOOL_EXTRA_LDFLAGS='-avoid-version' -echo -echo "Building qt-android libzmq from local source..." -echo +(android_build_verify_so "libzmq.so" "libsodium.so" &> /dev/null) || { + rm -rf "${cache}/libzmq" + (cp -r ../.. "${cache}/libzmq" && cd "${cache}/libzmq" && make clean) + + (cd "${cache}/libzmq" && ./autogen.sh \ + && ./configure "${ANDROID_BUILD_OPTS[@]}" --with-libsodium=yes \ + && make \ + && make install) || exit 1 +} -cp -r ../.. "${cache}/libzmq" - -(cd "${cache}/libzmq" && ./autogen.sh \ - && ./configure "${ANDROID_BUILD_OPTS[@]}" --with-libsodium=yes \ - && make \ - && make install) || exit 1 - -echo -echo "Verifying qt-android libsodium.so and libzmq.so libraries..." -echo +## +# Verify shared libraries in prefix android_build_verify_so "libsodium.so" android_build_verify_so "libzmq.so" "libsodium.so" - -echo -echo "Completed qt-android build!" -echo From b6ae984b11e809eeb3bb8ec297da07713601e8d5 Mon Sep 17 00:00:00 2001 From: "J.T. Conklin" Date: Wed, 5 Nov 2014 06:16:56 -0800 Subject: [PATCH 37/67] Fix typo: addres -> address --- doc/zmq_tcp.txt | 2 +- doc/zmq_unbind.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/zmq_tcp.txt b/doc/zmq_tcp.txt index de89c063..a6ab3e7f 100644 --- a/doc/zmq_tcp.txt +++ b/doc/zmq_tcp.txt @@ -46,7 +46,7 @@ When using ephemeral ports, the caller should retrieve the actual assigned port using the ZMQ_LAST_ENDPOINT socket option. See linkzmq:zmq_getsockopt[3] for details. -Unbinding wild-card addres from a socket +Unbinding wild-card address from a socket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When wild-card `*` 'endpoint' was used in _zmq_bind()_, the caller should use real 'endpoind' obtained from the ZMQ_LAST_ENDPOINT socket option to unbind diff --git a/doc/zmq_unbind.txt b/doc/zmq_unbind.txt index ca97e809..78cf3652 100644 --- a/doc/zmq_unbind.txt +++ b/doc/zmq_unbind.txt @@ -20,7 +20,7 @@ argument. The 'endpoint' argument is as described in linkzmq:zmq_bind[3] -Unbinding wild-card addres from a socket +Unbinding wild-card address from a socket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When wild-card `*` 'endpoint' (described in linkzmq:zmq_tcp[7] and linkzmq:zmq_ipc[7]) was used in _zmq_bind()_, the caller should use From 7176b854bc2f903fdba2acfb6139c0b72ec77aba Mon Sep 17 00:00:00 2001 From: "J.T. Conklin" Date: Wed, 5 Nov 2014 06:24:22 -0800 Subject: [PATCH 38/67] Fix typo: endpoind -> endpoint --- doc/zmq_ipc.txt | 2 +- doc/zmq_tcp.txt | 2 +- doc/zmq_unbind.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/zmq_ipc.txt b/doc/zmq_ipc.txt index b8ccc143..c726ffb3 100644 --- a/doc/zmq_ipc.txt +++ b/doc/zmq_ipc.txt @@ -60,7 +60,7 @@ characters for the real path name). Unbinding wild-card address from a socket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When wild-card `*` 'endpoint' was used in _zmq_bind()_, the caller should use -real 'endpoind' obtained from the ZMQ_LAST_ENDPOINT socket option to unbind +real 'endpoint' obtained from the ZMQ_LAST_ENDPOINT socket option to unbind this 'endpoint' from a socket using _zmq_unbind()_. Connecting a socket diff --git a/doc/zmq_tcp.txt b/doc/zmq_tcp.txt index a6ab3e7f..efa4d406 100644 --- a/doc/zmq_tcp.txt +++ b/doc/zmq_tcp.txt @@ -49,7 +49,7 @@ for details. Unbinding wild-card address from a socket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When wild-card `*` 'endpoint' was used in _zmq_bind()_, the caller should use -real 'endpoind' obtained from the ZMQ_LAST_ENDPOINT socket option to unbind +real 'endpoint' obtained from the ZMQ_LAST_ENDPOINT socket option to unbind this 'endpoint' from a socket using _zmq_unbind()_. Connecting a socket diff --git a/doc/zmq_unbind.txt b/doc/zmq_unbind.txt index 78cf3652..545afd07 100644 --- a/doc/zmq_unbind.txt +++ b/doc/zmq_unbind.txt @@ -24,7 +24,7 @@ Unbinding wild-card address from a socket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When wild-card `*` 'endpoint' (described in linkzmq:zmq_tcp[7] and linkzmq:zmq_ipc[7]) was used in _zmq_bind()_, the caller should use -real 'endpoind' obtained from the ZMQ_LAST_ENDPOINT socket option +real 'endpoint' obtained from the ZMQ_LAST_ENDPOINT socket option to unbind this 'endpoint' from a socket. RETURN VALUE From ea9f7acce3b8a8258f42aae23de398eb2e3cba5b Mon Sep 17 00:00:00 2001 From: Pieter Hintjens Date: Thu, 6 Nov 2014 10:55:26 +0100 Subject: [PATCH 39/67] Problem: zmq_ctx_term has insane behavior by default Solution: document this with a clear warning. It would be nicer perhaps to change the default LINGER to e.g. a few seconds. However this could break existing applications. --- doc/zmq_ctx_term.txt | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/doc/zmq_ctx_term.txt b/doc/zmq_ctx_term.txt index 50951cd1..44c667bc 100644 --- a/doc/zmq_ctx_term.txt +++ b/doc/zmq_ctx_term.txt @@ -23,8 +23,8 @@ Context termination is performed in the following steps: exception of _zmq_close()_, any further operations on sockets open within 'context' shall fail with an error code of ETERM. -2. After interrupting all blocking calls, _zmq_ctx_term()_ shall _block_ until the - following conditions are satisfied: +2. After interrupting all blocking calls, _zmq_ctx_term()_ shall _block_ until + the following conditions are satisfied: * All sockets open within 'context' have been closed with _zmq_close()_. @@ -39,6 +39,15 @@ option in linkzmq:zmq_setsockopt[3]. This function replaces the deprecated function linkzmq:zmq_term[3]. +WARNING +------- + +As _ZMQ_LINGER_ defaults to "infinite", by default this function will block +indefinitely if there are any pending connects or sends. We strongly +recommend to (a) set _ZMQ_LINGER_ to zero on all sockets and (b) close all +sockets, before calling this function. + + RETURN VALUE ------------ The _zmq_ctx_term()_ function shall return zero if successful. Otherwise From 7781375adf5baf6d810ebe291d46a77146c62fb3 Mon Sep 17 00:00:00 2001 From: Pieter Hintjens Date: Thu, 6 Nov 2014 15:30:04 +0100 Subject: [PATCH 40/67] Problem: default LINGER value is insane Solution: use a sane value, e.g. 2 seconds Fixes #1247 --- doc/zmq_ctx_term.txt | 9 --------- doc/zmq_setsockopt.txt | 4 ++-- src/options.cpp | 2 +- 3 files changed, 3 insertions(+), 12 deletions(-) diff --git a/doc/zmq_ctx_term.txt b/doc/zmq_ctx_term.txt index 44c667bc..2e3ca08d 100644 --- a/doc/zmq_ctx_term.txt +++ b/doc/zmq_ctx_term.txt @@ -39,15 +39,6 @@ option in linkzmq:zmq_setsockopt[3]. This function replaces the deprecated function linkzmq:zmq_term[3]. -WARNING -------- - -As _ZMQ_LINGER_ defaults to "infinite", by default this function will block -indefinitely if there are any pending connects or sends. We strongly -recommend to (a) set _ZMQ_LINGER_ to zero on all sockets and (b) close all -sockets, before calling this function. - - RETURN VALUE ------------ The _zmq_ctx_term()_ function shall return zero if successful. Otherwise diff --git a/doc/zmq_setsockopt.txt b/doc/zmq_setsockopt.txt index 0025ef5f..1f80584a 100644 --- a/doc/zmq_setsockopt.txt +++ b/doc/zmq_setsockopt.txt @@ -306,7 +306,7 @@ linkzmq:zmq_disconnect[3] or closed with linkzmq:zmq_close[3], and further affects the termination of the socket's context with linkzmq:zmq_term[3]. The following outlines the different behaviours: -* The default value of '-1' specifies an infinite linger period. Pending +* A value of '-1' specifies an infinite linger period. Pending messages shall not be discarded after a call to _zmq_disconnect()_ or _zmq_close()_; attempting to terminate the socket's context with _zmq_term()_ shall block until all pending messages have been sent to a peer. @@ -323,7 +323,7 @@ following outlines the different behaviours: [horizontal] Option value type:: int Option value unit:: milliseconds -Default value:: -1 (infinite) +Default value:: 2000 (two seconds) Applicable socket types:: all diff --git a/src/options.cpp b/src/options.cpp index 84b2a7b1..caf3587f 100644 --- a/src/options.cpp +++ b/src/options.cpp @@ -35,7 +35,7 @@ zmq::options_t::options_t () : rcvbuf (0), tos (0), type (-1), - linger (-1), + linger (2000), reconnect_ivl (100), reconnect_ivl_max (0), backlog (100), From 1844fc3284d76a4a788a7489fdb2a5aedde9ccd8 Mon Sep 17 00:00:00 2001 From: Constantin Rack Date: Fri, 7 Nov 2014 16:56:49 +0100 Subject: [PATCH 41/67] Problem: No error-checking of setsockopt ZMQ_CURVE_* z85 keys. Solves #1094. --- src/options.cpp | 52 +++++++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/src/options.cpp b/src/options.cpp index 84b2a7b1..5450dbf2 100644 --- a/src/options.cpp +++ b/src/options.cpp @@ -376,19 +376,21 @@ int zmq::options_t::setsockopt (int option_, const void *optval_, } else if (optvallen_ == CURVE_KEYSIZE_Z85 + 1) { - zmq_z85_decode (curve_public_key, (char *) optval_); - mechanism = ZMQ_CURVE; - return 0; + if (zmq_z85_decode (curve_public_key, (char *) optval_)) { + mechanism = ZMQ_CURVE; + return 0; + } } else // Deprecated, not symmetrical with zmq_getsockopt if (optvallen_ == CURVE_KEYSIZE_Z85) { - char z85_key [41]; + char z85_key [CURVE_KEYSIZE_Z85 + 1]; memcpy (z85_key, (char *) optval_, CURVE_KEYSIZE_Z85); z85_key [CURVE_KEYSIZE_Z85] = 0; - zmq_z85_decode (curve_public_key, z85_key); - mechanism = ZMQ_CURVE; - return 0; + if (zmq_z85_decode (curve_public_key, z85_key)) { + mechanism = ZMQ_CURVE; + return 0; + } } break; @@ -400,19 +402,21 @@ int zmq::options_t::setsockopt (int option_, const void *optval_, } else if (optvallen_ == CURVE_KEYSIZE_Z85 + 1) { - zmq_z85_decode (curve_secret_key, (char *) optval_); - mechanism = ZMQ_CURVE; - return 0; + if (zmq_z85_decode (curve_secret_key, (char *) optval_)) { + mechanism = ZMQ_CURVE; + return 0; + } } else // Deprecated, not symmetrical with zmq_getsockopt if (optvallen_ == CURVE_KEYSIZE_Z85) { - char z85_key [41]; + char z85_key [CURVE_KEYSIZE_Z85 + 1]; memcpy (z85_key, (char *) optval_, CURVE_KEYSIZE_Z85); z85_key [CURVE_KEYSIZE_Z85] = 0; - zmq_z85_decode (curve_secret_key, z85_key); - mechanism = ZMQ_CURVE; - return 0; + if (zmq_z85_decode (curve_secret_key, z85_key)) { + mechanism = ZMQ_CURVE; + return 0; + } } break; @@ -425,21 +429,23 @@ int zmq::options_t::setsockopt (int option_, const void *optval_, } else if (optvallen_ == CURVE_KEYSIZE_Z85 + 1) { - zmq_z85_decode (curve_server_key, (char *) optval_); - mechanism = ZMQ_CURVE; - as_server = 0; - return 0; + if (zmq_z85_decode (curve_server_key, (char *) optval_)) { + mechanism = ZMQ_CURVE; + as_server = 0; + return 0; + } } else // Deprecated, not symmetrical with zmq_getsockopt if (optvallen_ == CURVE_KEYSIZE_Z85) { - char z85_key [41]; + char z85_key [CURVE_KEYSIZE_Z85 + 1]; memcpy (z85_key, (char *) optval_, CURVE_KEYSIZE_Z85); z85_key [CURVE_KEYSIZE_Z85] = 0; - zmq_z85_decode (curve_server_key, z85_key); - mechanism = ZMQ_CURVE; - as_server = 0; - return 0; + if (zmq_z85_decode (curve_server_key, z85_key)) { + mechanism = ZMQ_CURVE; + as_server = 0; + return 0; + } } break; # endif From e00ea532df2a8957150e5e37f4886d7abe049af1 Mon Sep 17 00:00:00 2001 From: Constantin Rack Date: Fri, 7 Nov 2014 17:35:41 +0100 Subject: [PATCH 42/67] Add tests for issue #1094. --- tests/test_security_curve.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/tests/test_security_curve.cpp b/tests/test_security_curve.cpp index af3925ab..75ca8466 100644 --- a/tests/test_security_curve.cpp +++ b/tests/test_security_curve.cpp @@ -217,7 +217,22 @@ int main (void) assert (rc == 0); expect_bounce_fail (server, client); close_zero_linger (client); - + + // Check return codes for invalid buffer sizes + client = zmq_socket (ctx, ZMQ_DEALER); + assert (client); + errno = 0; + rc = zmq_setsockopt (client, ZMQ_CURVE_SERVERKEY, server_public, 123); + assert (rc == -1 && errno == EINVAL); + errno = 0; + rc = zmq_setsockopt (client, ZMQ_CURVE_PUBLICKEY, client_public, 123); + assert (rc == -1 && errno == EINVAL); + errno = 0; + rc = zmq_setsockopt (client, ZMQ_CURVE_SECRETKEY, client_secret, 123); + assert (rc == -1 && errno == EINVAL); + rc = zmq_close (client); + assert (rc == 0); + // Shutdown rc = zmq_close (server); assert (rc == 0); From afec8440ae4495dad9b275c00b9d9ebe778c3738 Mon Sep 17 00:00:00 2001 From: "J.T. Conklin" Date: Fri, 7 Nov 2014 22:24:07 -0800 Subject: [PATCH 43/67] Use consistant spelling in documentation behavior -> behaviour initialize -> initialse initialization -> initialisation --- doc/zmq.txt | 2 +- doc/zmq_ctx_destroy.txt | 2 +- doc/zmq_ctx_term.txt | 2 +- doc/zmq_ipc.txt | 2 +- doc/zmq_msg_copy.txt | 2 +- doc/zmq_msg_init.txt | 2 +- doc/zmq_msg_init_data.txt | 2 +- doc/zmq_msg_init_size.txt | 2 +- doc/zmq_setsockopt.txt | 8 ++++---- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/doc/zmq.txt b/doc/zmq.txt index fbed9ed3..233bebc1 100644 --- a/doc/zmq.txt +++ b/doc/zmq.txt @@ -55,7 +55,7 @@ Individual 0MQ 'sockets' are _not_ thread safe except in the case where full memory barriers are issued when migrating a socket from one thread to another. In practice this means applications can create a socket in one thread with _zmq_socket()_ and then pass it to a _newly created_ thread as part of thread -initialization, for example via a structure passed as an argument to +initialisation, for example via a structure passed as an argument to _pthread_create()_. diff --git a/doc/zmq_ctx_destroy.txt b/doc/zmq_ctx_destroy.txt index 9b24119d..c11f86da 100644 --- a/doc/zmq_ctx_destroy.txt +++ b/doc/zmq_ctx_destroy.txt @@ -33,7 +33,7 @@ Context termination is performed in the following steps: peer, or the socket's linger period set with the _ZMQ_LINGER_ socket option has expired. -For further details regarding socket linger behavior refer to the _ZMQ_LINGER_ +For further details regarding socket linger behaviour refer to the _ZMQ_LINGER_ option in linkzmq:zmq_setsockopt[3]. This function is deprecated by linkzmq:zmq_ctx_term[3]. diff --git a/doc/zmq_ctx_term.txt b/doc/zmq_ctx_term.txt index 50951cd1..84a32e54 100644 --- a/doc/zmq_ctx_term.txt +++ b/doc/zmq_ctx_term.txt @@ -33,7 +33,7 @@ Context termination is performed in the following steps: peer, or the socket's linger period set with the _ZMQ_LINGER_ socket option has expired. -For further details regarding socket linger behavior refer to the _ZMQ_LINGER_ +For further details regarding socket linger behaviour refer to the _ZMQ_LINGER_ option in linkzmq:zmq_setsockopt[3]. This function replaces the deprecated function linkzmq:zmq_term[3]. diff --git a/doc/zmq_ipc.txt b/doc/zmq_ipc.txt index c726ffb3..d0e6cd3b 100644 --- a/doc/zmq_ipc.txt +++ b/doc/zmq_ipc.txt @@ -41,7 +41,7 @@ socket option. See linkzmq:zmq_getsockopt[3] for details. NOTE: any existing binding to the same endpoint shall be overridden. That is, if a second process binds to an endpoint already bound by a process, this -will succeed and the first process will lose its binding. In this behavior, +will succeed and the first process will lose its binding. In this behaviour, the 'ipc' transport is not consistent with the 'tcp' or 'inproc' transports. NOTE: the endpoint pathname must be writable by the process. When the endpoint diff --git a/doc/zmq_msg_copy.txt b/doc/zmq_msg_copy.txt index ade78de5..342f29da 100644 --- a/doc/zmq_msg_copy.txt +++ b/doc/zmq_msg_copy.txt @@ -16,7 +16,7 @@ DESCRIPTION ----------- The _zmq_msg_copy()_ function shall copy the message object referenced by 'src' to the message object referenced by 'dest'. The original content of 'dest', if -any, shall be released. You must initialize 'dest' before copying to it. +any, shall be released. You must initialise 'dest' before copying to it. CAUTION: The implementation may choose not to physically copy the message content, rather to share the underlying buffer between 'src' and 'dest'. Avoid diff --git a/doc/zmq_msg_init.txt b/doc/zmq_msg_init.txt index c94d7083..76ce38b8 100644 --- a/doc/zmq_msg_init.txt +++ b/doc/zmq_msg_init.txt @@ -22,7 +22,7 @@ CAUTION: Never access 'zmq_msg_t' members directly, instead always use the _zmq_msg_ family of functions. CAUTION: The functions _zmq_msg_init()_, _zmq_msg_init_data()_ and -_zmq_msg_init_size()_ are mutually exclusive. Never initialize the same +_zmq_msg_init_size()_ are mutually exclusive. Never initialise the same 'zmq_msg_t' twice. diff --git a/doc/zmq_msg_init_data.txt b/doc/zmq_msg_init_data.txt index 23cf077f..d001a34b 100644 --- a/doc/zmq_msg_init_data.txt +++ b/doc/zmq_msg_init_data.txt @@ -36,7 +36,7 @@ will not be freed, and this may cause a memory leak. CAUTION: The functions _zmq_msg_init()_, _zmq_msg_init_data()_ and -_zmq_msg_init_size()_ are mutually exclusive. Never initialize the same +_zmq_msg_init_size()_ are mutually exclusive. Never initialise the same 'zmq_msg_t' twice. diff --git a/doc/zmq_msg_init_size.txt b/doc/zmq_msg_init_size.txt index 3964b474..b9f4ba6a 100644 --- a/doc/zmq_msg_init_size.txt +++ b/doc/zmq_msg_init_size.txt @@ -26,7 +26,7 @@ CAUTION: Never access 'zmq_msg_t' members directly, instead always use the _zmq_msg_ family of functions. CAUTION: The functions _zmq_msg_init()_, _zmq_msg_init_data()_ and -_zmq_msg_init_size()_ are mutually exclusive. Never initialize the same +_zmq_msg_init_size()_ are mutually exclusive. Never initialise the same 'zmq_msg_t' twice. diff --git a/doc/zmq_setsockopt.txt b/doc/zmq_setsockopt.txt index 0025ef5f..e2124dc1 100644 --- a/doc/zmq_setsockopt.txt +++ b/doc/zmq_setsockopt.txt @@ -73,7 +73,7 @@ The 'ZMQ_CONNECT_RID' option sets the peer id of the next host connected via the zmq_connect() call, and immediately readies that connection for data transfer with the named id. This option applies only to the first subsequent call to zmq_connect(), calls thereafter use default connection -behavior. +behaviour. Typical use is to set this socket option ahead of each zmq_connect() attempt to a new host. Each connection MUST be assigned a unique name. Assigning a @@ -530,7 +530,7 @@ Applicable socket types:: all, when using multicast transports ZMQ_REQ_CORRELATE: match replies with requests ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The default behavior of REQ sockets is to rely on the ordering of messages to +The default behaviour of REQ sockets is to rely on the ordering of messages to match requests and responses and that is usually sufficient. When this option is set to 1, the REQ socket will prefix outgoing messages with an extra frame containing a request id. That means the full message is (request id, 0, @@ -583,7 +583,7 @@ Applicable socket types:: ZMQ_ROUTER ZMQ_ROUTER_MANDATORY: accept only routable messages on ROUTER sockets ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Sets the ROUTER socket behavior when an unroutable message is encountered. A +Sets the ROUTER socket behaviour when an unroutable message is encountered. A value of `0` is the default and discards the message silently when it cannot be routed or the peers SNDHWM is reached. A value of `1` returns an 'EHOSTUNREACH' error code if the message cannot be routed or 'EAGAIN' error @@ -770,7 +770,7 @@ Applicable socket types:: ZMQ_SUB ZMQ_XPUB_VERBOSE: provide all subscription messages on XPUB sockets ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Sets the 'XPUB' socket behavior on new subscriptions and unsubscriptions. +Sets the 'XPUB' socket behaviour on new subscriptions and unsubscriptions. A value of '0' is the default and passes only new subscription messages to upstream. A value of '1' passes all subscription messages upstream. From ea011a33de9474c8fd485b470c3de11997f9e6ab Mon Sep 17 00:00:00 2001 From: "J.T. Conklin" Date: Fri, 7 Nov 2014 22:30:15 -0800 Subject: [PATCH 44/67] Fix typos. --- doc/zmq_getsockopt.txt | 2 +- doc/zmq_gssapi.txt | 4 ++-- doc/zmq_setsockopt.txt | 6 +++--- doc/zmq_socket_monitor.txt | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/zmq_getsockopt.txt b/doc/zmq_getsockopt.txt index 3732cd24..d2732a04 100644 --- a/doc/zmq_getsockopt.txt +++ b/doc/zmq_getsockopt.txt @@ -676,7 +676,7 @@ Option value unit:: N/A Default value:: not set Applicable socket types:: all, when using TCP transport -ZMQ_IDENTITY_FD: Retrieve FD associated with igven identity +ZMQ_IDENTITY_FD: Retrieve FD associated with given identity ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The 'ZMQ_IDENTITY_FD' option shall retrieve the FD associated with given identity. diff --git a/doc/zmq_gssapi.txt b/doc/zmq_gssapi.txt index 82e90ca1..8268cc3b 100644 --- a/doc/zmq_gssapi.txt +++ b/doc/zmq_gssapi.txt @@ -23,10 +23,10 @@ CLIENT AND SERVER ROLES A socket using GSSAPI can be either client or server, but not both. To become either a GSSAPI client or server, the application sets the -ZMQ_GSSAPI_PRINCIPAL option to provide the socket with the name of the pricipal +ZMQ_GSSAPI_PRINCIPAL option to provide the socket with the name of the principal for whom GSSAPI credentials should be acquired. -To become a GSSAPI server, the application addtionally sets the +To become a GSSAPI server, the application additionally sets the ZMQ_GSSAPI_SERVER option on the socket. To become a GSSAPI client, the application sets additionally sets the diff --git a/doc/zmq_setsockopt.txt b/doc/zmq_setsockopt.txt index e2124dc1..d9c04386 100644 --- a/doc/zmq_setsockopt.txt +++ b/doc/zmq_setsockopt.txt @@ -197,7 +197,7 @@ Applicable socket types:: all, when using TCP transport ZMQ_GSSAPI_PRINCIPAL: Set name of GSSAPI principal ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Sets the name of the pricipal for whom GSSAPI credentials should be acquired. +Sets the name of the principal for whom GSSAPI credentials should be acquired. [horizontal] Option value type:: character string @@ -221,7 +221,7 @@ Applicable socket types:: all, when using TCP transport ZMQ_GSSAPI_SERVICE_PRINCIPAL: Set name of GSSAPI service principal ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Sets the name of the pricipal of the GSSAPI server to which a GSSAPI client +Sets the name of the principal of the GSSAPI server to which a GSSAPI client intends to connect. [horizontal] @@ -743,7 +743,7 @@ ZMQ_TOS: Set the Type-of-Service on socket Sets the ToS fields (Differentiated services (DS) and Explicit Congestion Notification (ECN) field of the IP header. The ToS field is typically used to specify a packets priority. The availability of this option is dependent -on intermediate network equipment that inspect the ToS field andprovide a +on intermediate network equipment that inspect the ToS field and provide a path for low-delay, high-throughput, highly-reliable service, etc. [horizontal] diff --git a/doc/zmq_socket_monitor.txt b/doc/zmq_socket_monitor.txt index ec6028ef..ffee2abb 100644 --- a/doc/zmq_socket_monitor.txt +++ b/doc/zmq_socket_monitor.txt @@ -131,7 +131,7 @@ get_monitor_event (void *monitor, int *value, char **address) zmq_msg_t msg; zmq_msg_init (&msg); if (zmq_msg_recv (&msg, monitor, 0) == -1) - return -1; // Interruped, presumably + return -1; // Interrupted, presumably assert (zmq_msg_more (&msg)); uint8_t *data = (uint8_t *) zmq_msg_data (&msg); @@ -142,7 +142,7 @@ get_monitor_event (void *monitor, int *value, char **address) // Second frame in message contains event address zmq_msg_init (&msg); if (zmq_msg_recv (&msg, monitor, 0) == -1) - return -1; // Interruped, presumably + return -1; // Interrupted, presumably assert (!zmq_msg_more (&msg)); if (address) { From 479db2113643e459c11db392e0fefd6400657c9e Mon Sep 17 00:00:00 2001 From: Constantin Rack Date: Sat, 8 Nov 2014 10:50:17 +0100 Subject: [PATCH 45/67] Problem: return code of sodium_init() is not checked. There are two todo comments in curve_client.cpp and curve_server.cpp that suggest checking the return code of sodium_init() call. sodium_init() returns -1 on error, 0 on success and 1 if it has been called before and is already initalized: https://github.com/jedisct1/libsodium/blob/master/src/libsodium/sodium/core.c --- src/curve_client.cpp | 7 ++++--- src/curve_server.cpp | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/curve_client.cpp b/src/curve_client.cpp index 6019c541..77fc420a 100644 --- a/src/curve_client.cpp +++ b/src/curve_client.cpp @@ -38,6 +38,7 @@ zmq::curve_client_t::curve_client_t (const options_t &options_) : cn_peer_nonce(1), sync() { + int rc; memcpy (public_key, options_.curve_public_key, crypto_box_PUBLICKEYBYTES); memcpy (secret_key, options_.curve_secret_key, crypto_box_SECRETKEYBYTES); memcpy (server_key, options_.curve_server_key, crypto_box_PUBLICKEYBYTES); @@ -47,12 +48,12 @@ zmq::curve_client_t::curve_client_t (const options_t &options_) : unsigned char tmpbytes[4]; randombytes(tmpbytes, 4); #else - // todo check return code - sodium_init(); + rc = sodium_init (); + zmq_assert (rc != -1); #endif // Generate short-term key pair - const int rc = crypto_box_keypair (cn_public, cn_secret); + rc = crypto_box_keypair (cn_public, cn_secret); zmq_assert (rc == 0); } diff --git a/src/curve_server.cpp b/src/curve_server.cpp index a3c4243b..22c32d6d 100644 --- a/src/curve_server.cpp +++ b/src/curve_server.cpp @@ -42,6 +42,7 @@ zmq::curve_server_t::curve_server_t (session_base_t *session_, cn_peer_nonce(1), sync() { + int rc; // Fetch our secret key from socket options memcpy (secret_key, options_.curve_secret_key, crypto_box_SECRETKEYBYTES); scoped_lock_t lock (sync); @@ -50,12 +51,12 @@ zmq::curve_server_t::curve_server_t (session_base_t *session_, unsigned char tmpbytes[4]; randombytes(tmpbytes, 4); #else - // todo check return code - sodium_init(); + rc = sodium_init (); + zmq_assert (rc != -1); #endif // Generate short-term key pair - const int rc = crypto_box_keypair (cn_public, cn_secret); + rc = crypto_box_keypair (cn_public, cn_secret); zmq_assert (rc == 0); } From 35dd85a1dbb9367744d4ba3e7ad56581d757fdc3 Mon Sep 17 00:00:00 2001 From: Min RK Date: Sun, 9 Nov 2014 10:05:04 -0800 Subject: [PATCH 46/67] use more conservative 30 second default timeout for LINGER Regression in #1248 can cause lost messages at exit. --- doc/zmq_setsockopt.txt | 2 +- src/options.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/zmq_setsockopt.txt b/doc/zmq_setsockopt.txt index 993ba8f1..40d0824d 100644 --- a/doc/zmq_setsockopt.txt +++ b/doc/zmq_setsockopt.txt @@ -323,7 +323,7 @@ following outlines the different behaviours: [horizontal] Option value type:: int Option value unit:: milliseconds -Default value:: 2000 (two seconds) +Default value:: 30000 (thirty seconds) Applicable socket types:: all diff --git a/src/options.cpp b/src/options.cpp index 4507dbf1..a6fc287c 100644 --- a/src/options.cpp +++ b/src/options.cpp @@ -35,7 +35,7 @@ zmq::options_t::options_t () : rcvbuf (0), tos (0), type (-1), - linger (2000), + linger (30000), reconnect_ivl (100), reconnect_ivl_max (0), backlog (100), From 3de116336907323822266aed603a18633e315228 Mon Sep 17 00:00:00 2001 From: Claudio Freire Date: Mon, 10 Nov 2014 13:22:54 -0300 Subject: [PATCH 47/67] Fix busy-polling bug in pgm_sender causing it to consume CPU cycles --- src/pgm_sender.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/pgm_sender.cpp b/src/pgm_sender.cpp index 5d377f5e..7155c0bc 100644 --- a/src/pgm_sender.cpp +++ b/src/pgm_sender.cpp @@ -210,8 +210,10 @@ void zmq::pgm_sender_t::out_event () zmq_assert (nbytes == 0); if (errno == ENOMEM) { + // Stop polling handle and wait for tx timeout const long timeout = pgm_socket.get_tx_timeout (); add_timer (timeout, tx_timer_id); + reset_pollout (handle); has_tx_timer = true; } else @@ -228,7 +230,9 @@ void zmq::pgm_sender_t::timer_event (int token) } else if (token == tx_timer_id) { + // Restart polling handle and retry sending has_tx_timer = false; + set_pollout (handle); out_event (); } else From 6a227b2ee4ffd79ea1b12b3277c8b534ba62b12d Mon Sep 17 00:00:00 2001 From: Claudio Freire Date: Mon, 10 Nov 2014 14:00:34 -0300 Subject: [PATCH 48/67] Re-enable pollout before cancelling tx timeout --- src/pgm_sender.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pgm_sender.cpp b/src/pgm_sender.cpp index 7155c0bc..448442c8 100644 --- a/src/pgm_sender.cpp +++ b/src/pgm_sender.cpp @@ -197,6 +197,7 @@ void zmq::pgm_sender_t::out_event () if (has_tx_timer) { cancel_timer (tx_timer_id); + set_pollout (handle); has_tx_timer = false; } From b6e61d72b24d2c500706951dc516a5b4516f3554 Mon Sep 17 00:00:00 2001 From: Pieter Hintjens Date: Mon, 17 Nov 2014 11:56:59 +0100 Subject: [PATCH 49/67] Problem: linger values other than -1 or 0 are unsafe Solution: set defaults back to infinity, and add new context option, ZMQ_BLOCKY that the user can set to false to get a less surprising behavior on context termination. Eg. zmq_ctx_set (ctx, ZMQ_BLOCKY, false); --- doc/zmq_ctx_get.txt | 10 ++++++++++ doc/zmq_ctx_set.txt | 15 +++++++++++++++ include/zmq.h | 1 + src/ctx.cpp | 10 ++++++++++ src/ctx.hpp | 3 +++ src/options.cpp | 2 +- src/socket_base.cpp | 1 + tests/test_ctx_options.cpp | 19 +++++++++++++++---- 8 files changed, 56 insertions(+), 5 deletions(-) diff --git a/doc/zmq_ctx_get.txt b/doc/zmq_ctx_get.txt index 3d2f4839..0a3825c3 100644 --- a/doc/zmq_ctx_get.txt +++ b/doc/zmq_ctx_get.txt @@ -40,6 +40,12 @@ ZMQ_IPV6: Set IPv6 option ~~~~~~~~~~~~~~~~~~~~~~~~~ The 'ZMQ_IPV6' argument returns the IPv6 option for the context. +ZMQ_BLOCKY: Get blocky setting +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The 'ZMQ_BLOCKY' argument returns 1 if the context will block on terminate, +zero if the "block forever on context termination" gambit was disabled by +setting ZMQ_BLOCKY to false on all new contexts. + RETURN VALUE ------------ @@ -63,6 +69,10 @@ zmq_ctx_set (context, ZMQ_MAX_SOCKETS, 256); int max_sockets = zmq_ctx_get (context, ZMQ_MAX_SOCKETS); assert (max_sockets == 256); ---- +.Switching off the context deadlock gambit +---- +zmq_ctx_set (ctx, ZMQ_BLOCKY, false); +---- SEE ALSO diff --git a/doc/zmq_ctx_set.txt b/doc/zmq_ctx_set.txt index 706cfcb6..bf848332 100644 --- a/doc/zmq_ctx_set.txt +++ b/doc/zmq_ctx_set.txt @@ -21,6 +21,21 @@ The _zmq_ctx_set()_ function shall set the option specified by the The _zmq_ctx_set()_ function accepts the following options: +ZMQ_BLOCKY: Fix blocky behavior +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +By default the context will block, forever, on a zmq_ctx_term call. The +assumption behind this behavior is that abrupt termination will cause +message loss. Most real applications use some form of handshaking to ensure +applications receive termination messages, and then terminate the context +with 'ZMQ_LINGER' set to zero on all sockets. This setting is an easier way +to get the same result. When 'ZMQ_BLOCKY' is set to false, all new sockets +are given a linger timeout of zero. You must still close all sockets before +calling zmq_term. + +[horizontal] +Default value:: false (old behavior) + + ZMQ_IO_THREADS: Set number of I/O threads ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The 'ZMQ_IO_THREADS' argument specifies the size of the 0MQ thread pool to diff --git a/include/zmq.h b/include/zmq.h index 5dff076d..199e4cba 100644 --- a/include/zmq.h +++ b/include/zmq.h @@ -304,6 +304,7 @@ ZMQ_EXPORT const char *zmq_msg_gets (zmq_msg_t *msg, const char *property); #define ZMQ_IDENTITY_FD 67 #define ZMQ_SOCKS_PROXY 68 #define ZMQ_XPUB_NODROP 69 +#define ZMQ_BLOCKY 70 /* Message options */ #define ZMQ_MORE 1 diff --git a/src/ctx.cpp b/src/ctx.cpp index 399c2677..2c8fbf13 100644 --- a/src/ctx.cpp +++ b/src/ctx.cpp @@ -65,6 +65,7 @@ zmq::ctx_t::ctx_t () : slots (NULL), max_sockets (clipped_maxsocket (ZMQ_MAX_SOCKETS_DFLT)), io_thread_count (ZMQ_IO_THREADS_DFLT), + blocky (true), ipv6 (false), thread_priority (ZMQ_THREAD_PRIORITY_DFLT), thread_sched_policy (ZMQ_THREAD_SCHED_POLICY_DFLT) @@ -222,6 +223,12 @@ int zmq::ctx_t::set (int option_, int optval_) thread_sched_policy = optval_; opt_sync.unlock(); } + else + if (option_ == ZMQ_BLOCKY && optval_ >= 0) { + opt_sync.lock (); + blocky = (optval_ != 0); + opt_sync.unlock (); + } else { errno = EINVAL; rc = -1; @@ -243,6 +250,9 @@ int zmq::ctx_t::get (int option_) else if (option_ == ZMQ_IPV6) rc = ipv6; + else + if (option_ == ZMQ_BLOCKY) + rc = blocky; else { errno = EINVAL; rc = -1; diff --git a/src/ctx.hpp b/src/ctx.hpp index b9382175..655da37a 100644 --- a/src/ctx.hpp +++ b/src/ctx.hpp @@ -187,6 +187,9 @@ namespace zmq // Number of I/O threads to launch. int io_thread_count; + // Does context wait (possibly forever) on termination? + bool blocky; + // Is IPv6 enabled on this context? bool ipv6; diff --git a/src/options.cpp b/src/options.cpp index a6fc287c..5450dbf2 100644 --- a/src/options.cpp +++ b/src/options.cpp @@ -35,7 +35,7 @@ zmq::options_t::options_t () : rcvbuf (0), tos (0), type (-1), - linger (30000), + linger (-1), reconnect_ivl (100), reconnect_ivl_max (0), backlog (100), diff --git a/src/socket_base.cpp b/src/socket_base.cpp index 433f53fe..56a3ce20 100644 --- a/src/socket_base.cpp +++ b/src/socket_base.cpp @@ -143,6 +143,7 @@ zmq::socket_base_t::socket_base_t (ctx_t *parent_, uint32_t tid_, int sid_) : { options.socket_id = sid_; options.ipv6 = (parent_->get (ZMQ_IPV6) != 0); + options.linger = parent_->get (ZMQ_BLOCKY)? -1: 0; } zmq::socket_base_t::~socket_base_t () diff --git a/tests/test_ctx_options.cpp b/tests/test_ctx_options.cpp index 17eccc9e..914dae3e 100644 --- a/tests/test_ctx_options.cpp +++ b/tests/test_ctx_options.cpp @@ -43,15 +43,26 @@ int main (void) assert (zmq_ctx_get (ctx, ZMQ_IPV6) == 1); void *router = zmq_socket (ctx, ZMQ_ROUTER); - int ipv6; + int value; size_t optsize = sizeof (int); - rc = zmq_getsockopt (router, ZMQ_IPV6, &ipv6, &optsize); + rc = zmq_getsockopt (router, ZMQ_IPV6, &value, &optsize); assert (rc == 0); - assert (ipv6); - + assert (value == 1); + rc = zmq_getsockopt (router, ZMQ_LINGER, &value, &optsize); + assert (rc == 0); + assert (value == -1); rc = zmq_close (router); assert (rc == 0); + rc = zmq_ctx_set (ctx, ZMQ_BLOCKY, false); + assert (zmq_ctx_get (ctx, ZMQ_BLOCKY) == 0); + router = zmq_socket (ctx, ZMQ_ROUTER); + rc = zmq_getsockopt (router, ZMQ_LINGER, &value, &optsize); + assert (rc == 0); + assert (value == 0); + rc = zmq_close (router); + assert (rc == 0); + rc = zmq_ctx_term (ctx); assert (rc == 0); From 32b2d3034b04a54118bc95c3f83ea5af78f9de41 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Thu, 20 Nov 2014 05:08:45 +0300 Subject: [PATCH 50/67] Fix test_filter_ipc for cleared supplementary groups This should fix part of [https://github.com/zeromq/libzmq/issues/1129]. --- tests/test_filter_ipc.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_filter_ipc.cpp b/tests/test_filter_ipc.cpp index 00518f71..83035949 100644 --- a/tests/test_filter_ipc.cpp +++ b/tests/test_filter_ipc.cpp @@ -122,8 +122,8 @@ int main (void) // Get the group and supplimental groups of the process owner gid_t groups[100]; int ngroups = getgroups(100, groups); - assert (ngroups != -1 && ngroups != 0); - gid_t group = getgid(), supgroup = groups[0], notgroup = groups[ngroups - 1] + 1; + assert (ngroups != -1); + gid_t group = getgid(), supgroup = group, notgroup = group + 1; for (int i = 0; i < ngroups; i++) { if (supgroup == group && group != groups[i]) supgroup = groups[i]; From 905b1683c7c36ed617f5b77815cf814bb4a48790 Mon Sep 17 00:00:00 2001 From: Martin Hurton Date: Mon, 24 Nov 2014 15:07:24 +0100 Subject: [PATCH 51/67] Fix issue #1257 --- src/socket_base.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/socket_base.cpp b/src/socket_base.cpp index 56a3ce20..617c4b30 100644 --- a/src/socket_base.cpp +++ b/src/socket_base.cpp @@ -506,9 +506,6 @@ int zmq::socket_base_t::connect (const char *addr_) int rc = pipepair (parents, new_pipes, hwms, conflates); errno_assert (rc == 0); - // Attach local end of the pipe to this socket object. - attach_pipe (new_pipes [0]); - if (!peer.socket) { // The peer doesn't exist yet so we don't know whether // to send the identity message or not. To resolve this, @@ -557,6 +554,9 @@ int zmq::socket_base_t::connect (const char *addr_) send_bind (peer.socket, new_pipes [1], false); } + // Attach local end of the pipe to this socket object. + attach_pipe (new_pipes [0]); + // Save last endpoint URI last_endpoint.assign (addr_); From 96e29f145508f1cf4a5848c2c0d0fb83a976da0c Mon Sep 17 00:00:00 2001 From: somdoron Date: Wed, 26 Nov 2014 10:38:54 +0200 Subject: [PATCH 52/67] Add manual control over subscriptions to Pub --- Makefile.am | 6 ++- include/zmq.h | 1 + src/xpub.cpp | 74 +++++++++++++++++++++++----------- src/xpub.hpp | 6 +++ tests/test_xpub_manual.cpp | 82 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 145 insertions(+), 24 deletions(-) create mode 100644 tests/test_xpub_manual.cpp diff --git a/Makefile.am b/Makefile.am index 7a1a85de..00005348 100644 --- a/Makefile.am +++ b/Makefile.am @@ -328,7 +328,8 @@ test_apps = \ tests/test_metadata \ tests/test_id2fd \ tests/test_capabilities \ - tests/test_xpub_nodrop + tests/test_xpub_nodrop \ + tests/test_xpub_manual tests_test_system_SOURCES = tests/test_system.cpp tests_test_system_LDADD = src/libzmq.la @@ -494,6 +495,9 @@ tests_test_capabilities_LDADD = src/libzmq.la tests_test_xpub_nodrop_SOURCES = tests/test_xpub_nodrop.cpp tests_test_xpub_nodrop_LDADD = src/libzmq.la +tests_test_xpub_manual_SOURCES = tests/test_xpub_manual.cpp +tests_test_xpub_manual_LDADD = src/libzmq.la + if !ON_MINGW test_apps += \ tests/test_shutdown_stress \ diff --git a/include/zmq.h b/include/zmq.h index 199e4cba..d542bef8 100644 --- a/include/zmq.h +++ b/include/zmq.h @@ -305,6 +305,7 @@ ZMQ_EXPORT const char *zmq_msg_gets (zmq_msg_t *msg, const char *property); #define ZMQ_SOCKS_PROXY 68 #define ZMQ_XPUB_NODROP 69 #define ZMQ_BLOCKY 70 +#define ZMQ_XPUB_MANUAL 71 /* Message options */ #define ZMQ_MORE 1 diff --git a/src/xpub.cpp b/src/xpub.cpp index 7c9bcaea..f20cccc0 100644 --- a/src/xpub.cpp +++ b/src/xpub.cpp @@ -28,9 +28,11 @@ zmq::xpub_t::xpub_t (class ctx_t *parent_, uint32_t tid_, int sid_) : socket_base_t (parent_, tid_, sid_), verbose (false), more (false), - lossy (true) + lossy (true), + manual(false) { - options.type = ZMQ_XPUB; + last_pipe = NULL; + options.type = ZMQ_XPUB; } zmq::xpub_t::~xpub_t () @@ -61,18 +63,27 @@ void zmq::xpub_t::xread_activated (pipe_t *pipe_) unsigned char *const data = (unsigned char *) sub.data (); const size_t size = sub.size (); if (size > 0 && (*data == 0 || *data == 1)) { - bool unique; - if (*data == 0) - unique = subscriptions.rm (data + 1, size - 1, pipe_); - else - unique = subscriptions.add (data + 1, size - 1, pipe_); + if (manual) + { + last_pipe = pipe_; + pending_data.push_back(blob_t(data, size)); + pending_flags.push_back(0); + } + else + { + bool unique; + if (*data == 0) + unique = subscriptions.rm(data + 1, size - 1, pipe_); + else + unique = subscriptions.add(data + 1, size - 1, pipe_); - // If the subscription is not a duplicate store it so that it can be - // passed to used on next recv call. (Unsubscribe is not verbose.) - if (options.type == ZMQ_XPUB && (unique || (*data && verbose))) { - pending_data.push_back (blob_t (data, size)); - pending_flags.push_back (0); - } + // If the subscription is not a duplicate store it so that it can be + // passed to used on next recv call. (Unsubscribe is not verbose.) + if (options.type == ZMQ_XPUB && (unique || (*data && verbose))) { + pending_data.push_back(blob_t(data, size)); + pending_flags.push_back(0); + } + } } else { // Process user message coming upstream from xsub socket @@ -90,16 +101,33 @@ void zmq::xpub_t::xwrite_activated (pipe_t *pipe_) int zmq::xpub_t::xsetsockopt (int option_, const void *optval_, size_t optvallen_) -{ - if (optvallen_ != sizeof (int) || *static_cast (optval_) < 0) { - errno = EINVAL; - return -1; - } - if (option_ == ZMQ_XPUB_VERBOSE) - verbose = (*static_cast (optval_) != 0); - else - if (option_ == ZMQ_XPUB_NODROP) - lossy = (*static_cast (optval_) == 0); +{ + if (option_ == ZMQ_XPUB_VERBOSE || option_ == ZMQ_XPUB_NODROP || option_ == ZMQ_XPUB_MANUAL) + { + if (optvallen_ != sizeof(int) || *static_cast (optval_) < 0) { + errno = EINVAL; + return -1; + } + + if (option_ == ZMQ_XPUB_VERBOSE) + verbose = (*static_cast (optval_) != 0); + else + if (option_ == ZMQ_XPUB_NODROP) + lossy = (*static_cast (optval_) == 0); + else + if (option_ == ZMQ_XPUB_MANUAL) + manual = (*static_cast (optval_) != 0); + } + else + if (option_ == ZMQ_SUBSCRIBE && manual && last_pipe != NULL) + { + subscriptions.add((unsigned char *)optval_, optvallen_, last_pipe); + } + else + if (option_ == ZMQ_UNSUBSCRIBE && manual && last_pipe != NULL) + { + subscriptions.rm((unsigned char *)optval_, optvallen_, last_pipe); + } else { errno = EINVAL; return -1; diff --git a/src/xpub.hpp b/src/xpub.hpp index 89c7fa4b..50550468 100644 --- a/src/xpub.hpp +++ b/src/xpub.hpp @@ -82,6 +82,12 @@ namespace zmq // Drop messages if HWM reached, otherwise return with EAGAIN bool lossy; + // Subscriptions will not bed added automatically, only after calling set option with ZMQ_SUBSCRIBE or ZMQ_UNSUBSCRIBE + bool manual; + + // Last pipe send subscription message, only used if xpub is on manual + pipe_t *last_pipe; + // List of pending (un)subscriptions, ie. those that were already // applied to the trie, but not yet received by the user. typedef std::basic_string blob_t; diff --git a/tests/test_xpub_manual.cpp b/tests/test_xpub_manual.cpp new file mode 100644 index 00000000..d8f10349 --- /dev/null +++ b/tests/test_xpub_manual.cpp @@ -0,0 +1,82 @@ +/* + Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file + + This file is part of 0MQ. + + 0MQ is free software; you can redistribute it and/or modify it under + the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + 0MQ is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ + +#include "testutil.hpp" + +int main (void) +{ + setup_test_environment(); + void *ctx = zmq_ctx_new (); + assert (ctx); + + // Create a publisher + void *pub = zmq_socket (ctx, ZMQ_XPUB); + assert (pub); + int rc = zmq_bind (pub, "inproc://soname"); + assert (rc == 0); + + // set pub socket options + int manual = 1; + rc = zmq_setsockopt(pub, ZMQ_XPUB_MANUAL, &manual, 4); + assert (rc == 0); + + // Create a subscriber + void *sub = zmq_socket (ctx, ZMQ_XSUB); + assert (sub); + rc = zmq_connect (sub, "inproc://soname"); + assert (rc == 0); + + // Subscribe for A + char subscription[2] = { 1, 'A'}; + rc = zmq_send_const(sub, subscription, 2, 0); + assert (rc == 2); + + char buffer[2]; + + // Receive subscriptions from subscriber + rc = zmq_recv(pub, buffer, 2, 0); + assert(rc == 2); + assert(buffer[0] == 1); + assert(buffer[1] == 'A'); + + // Subscribe socket for B instead + rc = zmq_setsockopt(pub, ZMQ_SUBSCRIBE, "B", 1); + assert(rc == 0); + + // Sending A message and B Message + rc = zmq_send_const(pub, "A", 1, 0); + assert(rc == 1); + + rc = zmq_send_const(pub, "B", 1, 0); + assert(rc == 1); + + rc = zmq_recv(sub, buffer, 1, ZMQ_DONTWAIT); + assert(rc == 1); + assert(buffer[0] == 'B'); + + // Clean up. + rc = zmq_close (pub); + assert (rc == 0); + rc = zmq_close (sub); + assert (rc == 0); + rc = zmq_ctx_term (ctx); + assert (rc == 0); + + return 0 ; +} From 768b62eb9d8434dcf30e865b56b5b8b3f946decd Mon Sep 17 00:00:00 2001 From: somdoron Date: Wed, 26 Nov 2014 13:37:36 +0200 Subject: [PATCH 53/67] xpub welcome msg --- Makefile.am | 6 ++- include/zmq.h | 1 + src/xpub.cpp | 47 +++++++++++++++------ src/xpub.hpp | 3 ++ tests/test_xpub_welcome_msg.cpp | 72 +++++++++++++++++++++++++++++++++ 5 files changed, 116 insertions(+), 13 deletions(-) create mode 100644 tests/test_xpub_welcome_msg.cpp diff --git a/Makefile.am b/Makefile.am index 00005348..ff183189 100644 --- a/Makefile.am +++ b/Makefile.am @@ -329,7 +329,8 @@ test_apps = \ tests/test_id2fd \ tests/test_capabilities \ tests/test_xpub_nodrop \ - tests/test_xpub_manual + tests/test_xpub_manual \ + tests/test_xpub_welcome_msg tests_test_system_SOURCES = tests/test_system.cpp tests_test_system_LDADD = src/libzmq.la @@ -498,6 +499,9 @@ tests_test_xpub_nodrop_LDADD = src/libzmq.la tests_test_xpub_manual_SOURCES = tests/test_xpub_manual.cpp tests_test_xpub_manual_LDADD = src/libzmq.la +tests_test_xpub_welcome_msg_SOURCES = tests/test_xpub_welcome_msg.cpp +tests_test_xpub_welcome_msg_LDADD = src/libzmq.la + if !ON_MINGW test_apps += \ tests/test_shutdown_stress \ diff --git a/include/zmq.h b/include/zmq.h index d542bef8..e06a35af 100644 --- a/include/zmq.h +++ b/include/zmq.h @@ -306,6 +306,7 @@ ZMQ_EXPORT const char *zmq_msg_gets (zmq_msg_t *msg, const char *property); #define ZMQ_XPUB_NODROP 69 #define ZMQ_BLOCKY 70 #define ZMQ_XPUB_MANUAL 71 +#define ZMQ_XPUB_WELCOME_MSG 72 /* Message options */ #define ZMQ_MORE 1 diff --git a/src/xpub.cpp b/src/xpub.cpp index f20cccc0..93b44347 100644 --- a/src/xpub.cpp +++ b/src/xpub.cpp @@ -29,25 +29,39 @@ zmq::xpub_t::xpub_t (class ctx_t *parent_, uint32_t tid_, int sid_) : verbose (false), more (false), lossy (true), - manual(false) + manual(false), + welcome_msg () { - last_pipe = NULL; + last_pipe = NULL; options.type = ZMQ_XPUB; + welcome_msg.init(); } zmq::xpub_t::~xpub_t () { + welcome_msg.close(); } void zmq::xpub_t::xattach_pipe (pipe_t *pipe_, bool subscribe_to_all_) { zmq_assert (pipe_); dist.attach (pipe_); - + // If subscribe_to_all_ is specified, the caller would like to subscribe // to all data on this pipe, implicitly. if (subscribe_to_all_) - subscriptions.add (NULL, 0, pipe_); + subscriptions.add (NULL, 0, pipe_); + + // if welcome message exist + if (welcome_msg.size() > 0) + { + msg_t copy; + copy.init(); + copy.copy(welcome_msg); + + pipe_->write(©); + pipe_->flush(); + } // The pipe is active when attached. Let's read the subscriptions from // it, if any. @@ -62,7 +76,7 @@ void zmq::xpub_t::xread_activated (pipe_t *pipe_) // Apply the subscription to the trie unsigned char *const data = (unsigned char *) sub.data (); const size_t size = sub.size (); - if (size > 0 && (*data == 0 || *data == 1)) { + if (size > 0 && (*data == 0 || *data == 1)) { if (manual) { last_pipe = pipe_; @@ -119,14 +133,23 @@ int zmq::xpub_t::xsetsockopt (int option_, const void *optval_, manual = (*static_cast (optval_) != 0); } else - if (option_ == ZMQ_SUBSCRIBE && manual && last_pipe != NULL) - { - subscriptions.add((unsigned char *)optval_, optvallen_, last_pipe); - } + if (option_ == ZMQ_SUBSCRIBE && manual && last_pipe != NULL) + subscriptions.add((unsigned char *)optval_, optvallen_, last_pipe); else - if (option_ == ZMQ_UNSUBSCRIBE && manual && last_pipe != NULL) - { - subscriptions.rm((unsigned char *)optval_, optvallen_, last_pipe); + if (option_ == ZMQ_UNSUBSCRIBE && manual && last_pipe != NULL) + subscriptions.rm((unsigned char *)optval_, optvallen_, last_pipe); + else + if (option_ == ZMQ_XPUB_WELCOME_MSG) { + welcome_msg.close(); + + if (optvallen_ > 0) { + welcome_msg.init_size(optvallen_); + + unsigned char *data = (unsigned char*)welcome_msg.data(); + memcpy(data, optval_, optvallen_); + } + else + welcome_msg.init(); } else { errno = EINVAL; diff --git a/src/xpub.hpp b/src/xpub.hpp index 50550468..8544c729 100644 --- a/src/xpub.hpp +++ b/src/xpub.hpp @@ -88,6 +88,9 @@ namespace zmq // Last pipe send subscription message, only used if xpub is on manual pipe_t *last_pipe; + // Welcome message to send to pipe when attached + msg_t welcome_msg; + // List of pending (un)subscriptions, ie. those that were already // applied to the trie, but not yet received by the user. typedef std::basic_string blob_t; diff --git a/tests/test_xpub_welcome_msg.cpp b/tests/test_xpub_welcome_msg.cpp new file mode 100644 index 00000000..df9c9784 --- /dev/null +++ b/tests/test_xpub_welcome_msg.cpp @@ -0,0 +1,72 @@ +/* + Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file + + This file is part of 0MQ. + + 0MQ is free software; you can redistribute it and/or modify it under + the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + 0MQ is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ + +#include "testutil.hpp" + +int main (void) +{ + setup_test_environment(); + void *ctx = zmq_ctx_new (); + assert (ctx); + + // Create a publisher + void *pub = zmq_socket (ctx, ZMQ_XPUB); + assert (pub); + int rc = zmq_bind (pub, "inproc://soname"); + assert (rc == 0); + + // set pub socket options + rc = zmq_setsockopt(pub, ZMQ_XPUB_WELCOME_MSG, "W", 1); + assert (rc == 0); + + // Create a subscriber + void *sub = zmq_socket (ctx, ZMQ_SUB); + + // Subscribe to the welcome message + rc = zmq_setsockopt(sub, ZMQ_SUBSCRIBE, "W", 1); + assert(rc == 0); + + assert (sub); + rc = zmq_connect (sub, "inproc://soname"); + assert (rc == 0); + + char buffer[2]; + + // Receive the welcome subscription + rc = zmq_recv(pub, buffer, 2, 0); + assert(rc == 2); + assert(buffer[0] == 1); + assert(buffer[1] == 'W'); + + // Receive the welcome message + rc = zmq_recv(sub, buffer, 1, 0); + printf("%d\n", rc); + assert(rc == 1); + assert(buffer[0] == 'W'); + + // Clean up. + rc = zmq_close (pub); + assert (rc == 0); + rc = zmq_close (sub); + assert (rc == 0); + rc = zmq_ctx_term (ctx); + assert (rc == 0); + + return 0 ; +} From 0ac0b04755a3b3f99a8fddbf5aadd8dd4f071268 Mon Sep 17 00:00:00 2001 From: Doron Somech Date: Wed, 26 Nov 2014 15:53:50 +0200 Subject: [PATCH 54/67] remove debug printf in test_xpub_welcome_msg --- tests/test_xpub_welcome_msg.cpp | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/tests/test_xpub_welcome_msg.cpp b/tests/test_xpub_welcome_msg.cpp index df9c9784..7cc7de97 100644 --- a/tests/test_xpub_welcome_msg.cpp +++ b/tests/test_xpub_welcome_msg.cpp @@ -38,27 +38,26 @@ int main (void) // Create a subscriber void *sub = zmq_socket (ctx, ZMQ_SUB); - // Subscribe to the welcome message - rc = zmq_setsockopt(sub, ZMQ_SUBSCRIBE, "W", 1); - assert(rc == 0); + // Subscribe to the welcome message + rc = zmq_setsockopt(sub, ZMQ_SUBSCRIBE, "W", 1); + assert(rc == 0); assert (sub); rc = zmq_connect (sub, "inproc://soname"); assert (rc == 0); - char buffer[2]; + char buffer[2]; - // Receive the welcome subscription - rc = zmq_recv(pub, buffer, 2, 0); - assert(rc == 2); - assert(buffer[0] == 1); - assert(buffer[1] == 'W'); + // Receive the welcome subscription + rc = zmq_recv(pub, buffer, 2, 0); + assert(rc == 2); + assert(buffer[0] == 1); + assert(buffer[1] == 'W'); - // Receive the welcome message - rc = zmq_recv(sub, buffer, 1, 0); - printf("%d\n", rc); - assert(rc == 1); - assert(buffer[0] == 'W'); + // Receive the welcome message + rc = zmq_recv(sub, buffer, 1, 0); + assert(rc == 1); + assert(buffer[0] == 'W'); // Clean up. rc = zmq_close (pub); From cdf4a1211d5ff7abbb7820fa65d3802a8a7bc0da Mon Sep 17 00:00:00 2001 From: Doron Somech Date: Wed, 26 Nov 2014 22:47:42 +0200 Subject: [PATCH 55/67] documentation for welcome msg and xpub manual --- doc/zmq_setsockopt.txt | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/doc/zmq_setsockopt.txt b/doc/zmq_setsockopt.txt index 40d0824d..1441fad5 100644 --- a/doc/zmq_setsockopt.txt +++ b/doc/zmq_setsockopt.txt @@ -780,6 +780,36 @@ Option value unit:: 0, 1 Default value:: 0 Applicable socket types:: ZMQ_XPUB +ZMQ_XPUB_MANUAL: change the subscription handling to manual +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Sets the 'XPUB' socket subscription handling mode manual/automatic. +A value of '0' is the default and subscription requests will be handled automatically. +A value of '1' will change the subscription requests handling to manual, +with manual mode subscription requests are not added to the subscription list. +To add subscription the user need to call setsockopt with ZMQ_SUBSCRIBE on XPUB socket. + +[horizontal] +Option value type:: int +Option value unit:: 0, 1 +Default value:: 0 +Applicable socket types:: ZMQ_XPUB + +ZMQ_WELCOME_MSG: set welcome message that will be received by subscriber when connecting +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Sets a welcome message the will be recieved by subscriber when connecting. +Subscriber must subscribe to the Welcome message before connecting. +Welcome message will also be sent on reconnecting. +For welcome message to work well user must poll on incoming subscription messages on the XPUB socket and handle them. + +Use NULL and lenght of zero to disable welcome message. + +[horizontal] +Option value type:: binary data +Option value unit:: N/A +Default value:: NULL +Applicable socket types:: ZMQ_XPUB ZMQ_ZAP_DOMAIN: Set RFC 27 authentication domain ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From dd809de6ff7f2fa8bc52c5464db4f2cd6859c6e6 Mon Sep 17 00:00:00 2001 From: Doron Somech Date: Wed, 26 Nov 2014 22:49:15 +0200 Subject: [PATCH 56/67] add to authors --- AUTHORS | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS b/AUTHORS index 1249b6a5..8402d31b 100644 --- a/AUTHORS +++ b/AUTHORS @@ -105,6 +105,7 @@ Lourens Naudé Hardeep Singh André Caron Tim Mossbarger +Doron Somech Credits ======= From c35c0ca1bb4b91cfee6dbe2a94bfab796f676254 Mon Sep 17 00:00:00 2001 From: Min RK Date: Wed, 3 Dec 2014 10:34:34 -0800 Subject: [PATCH 57/67] test unauthenticated messages from vanilla sockets fails on all auth mechanisms --- tests/test_security_curve.cpp | 27 +++++++++++++++++++++++++++ tests/test_security_null.cpp | 35 +++++++++++++++++++++++++++++++++++ tests/test_security_plain.cpp | 27 +++++++++++++++++++++++++++ 3 files changed, 89 insertions(+) diff --git a/tests/test_security_curve.cpp b/tests/test_security_curve.cpp index 75ca8466..86e72525 100644 --- a/tests/test_security_curve.cpp +++ b/tests/test_security_curve.cpp @@ -18,6 +18,15 @@ */ #include "testutil.hpp" +#if defined (ZMQ_HAVE_WINDOWS) +# include +# include +#else +# include +# include +# include +# include +#endif // We'll generate random test keys at startup static char client_public [41]; @@ -218,6 +227,24 @@ int main (void) expect_bounce_fail (server, client); close_zero_linger (client); + // Unauthenticated messages from a vanilla socket shouldn't be received + struct sockaddr_in ip4addr; + int s; + + ip4addr.sin_family = AF_INET; + ip4addr.sin_port = htons (9998); + inet_pton (AF_INET, "127.0.0.1", &ip4addr.sin_addr); + + s = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP); + rc = connect (s, (struct sockaddr*) &ip4addr, sizeof (ip4addr)); + assert (rc > -1); + send (s, "GET / HTTP/1.0\r\nUser-Agent: some_really_long_user_agent\r\nHost: localhost\r\nHeader: shouldn't arrive\r\n\r\n", 102, 0); + int timeout = 150; + zmq_setsockopt (server, ZMQ_RCVTIMEO, &timeout, sizeof (timeout)); + char *buf = s_recv (server); + assert (buf == NULL); + close (s); + // Check return codes for invalid buffer sizes client = zmq_socket (ctx, ZMQ_DEALER); assert (client); diff --git a/tests/test_security_null.cpp b/tests/test_security_null.cpp index 827b54fe..910073c2 100644 --- a/tests/test_security_null.cpp +++ b/tests/test_security_null.cpp @@ -18,6 +18,15 @@ */ #include "testutil.hpp" +#if defined (ZMQ_HAVE_WINDOWS) +# include +# include +#else +# include +# include +# include +# include +#endif static void zap_handler (void *handler) @@ -124,6 +133,32 @@ int main (void) close_zero_linger (client); close_zero_linger (server); + // Unauthenticated messages from a vanilla socket shouldn't be received + server = zmq_socket (ctx, ZMQ_DEALER); + assert (server); + rc = zmq_setsockopt (server, ZMQ_ZAP_DOMAIN, "WRONG", 5); + assert (rc == 0); + rc = zmq_bind (server, "tcp://127.0.0.1:9002"); + assert (rc == 0); + + struct sockaddr_in ip4addr; + int s; + + ip4addr.sin_family = AF_INET; + ip4addr.sin_port = htons(9002); + inet_pton(AF_INET, "127.0.0.1", &ip4addr.sin_addr); + + s = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP); + rc = connect (s, (struct sockaddr*) &ip4addr, sizeof ip4addr); + assert (rc > -1); + send (s, "GET / HTTP/1.0\r\nUser-Agent: some_really_long_user_agent\r\nHost: localhost\r\nHeader: shouldn't arrive\r\n\r\n", 102, 0); + int timeout = 150; + zmq_setsockopt (server, ZMQ_RCVTIMEO, &timeout, sizeof(timeout)); + char *buf = s_recv (server); + assert (buf == NULL); + close (s); + close_zero_linger (server); + // Shutdown rc = zmq_ctx_term (ctx); assert (rc == 0); diff --git a/tests/test_security_plain.cpp b/tests/test_security_plain.cpp index 7ec77cac..a0ceeb14 100644 --- a/tests/test_security_plain.cpp +++ b/tests/test_security_plain.cpp @@ -18,6 +18,15 @@ */ #include "testutil.hpp" +#if defined (ZMQ_HAVE_WINDOWS) +# include +# include +#else +# include +# include +# include +# include +#endif static void zap_handler (void *ctx) @@ -137,6 +146,24 @@ int main (void) expect_bounce_fail (server, client); close_zero_linger (client); + // Unauthenticated messages from a vanilla socket shouldn't be received + struct sockaddr_in ip4addr; + int s; + + ip4addr.sin_family = AF_INET; + ip4addr.sin_port = htons (9998); + inet_pton (AF_INET, "127.0.0.1", &ip4addr.sin_addr); + + s = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP); + rc = connect (s, (struct sockaddr*) &ip4addr, sizeof (ip4addr)); + assert (rc > -1); + send (s, "GET / HTTP/1.0\r\nUser-Agent: some_really_long_user_agent\r\nHost: localhost\r\nHeader: shouldn't arrive\r\n\r\n", 102, 0); + int timeout = 150; + zmq_setsockopt (server, ZMQ_RCVTIMEO, &timeout, sizeof (timeout)); + char *buf = s_recv (server); + assert (buf == NULL); + close (s); + // Shutdown rc = zmq_close (server); assert (rc == 0); From 6cf120eaad3b92f9d9085e7e8acf9897004fd1f0 Mon Sep 17 00:00:00 2001 From: Min RK Date: Wed, 3 Dec 2014 12:39:28 -0800 Subject: [PATCH 58/67] reject old ZMTP connections if auth enabled auth mechanisms were only enabled when ZMTP handshake is latest version, meaning that connections from old sockets would skip authentication altogether --- src/stream_engine.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/stream_engine.cpp b/src/stream_engine.cpp index 920b8acb..28148bcc 100644 --- a/src/stream_engine.cpp +++ b/src/stream_engine.cpp @@ -534,6 +534,12 @@ bool zmq::stream_engine_t::handshake () // Is the peer using ZMTP/1.0 with no revision number? // If so, we send and receive rest of identity message if (greeting_recv [0] != 0xff || !(greeting_recv [9] & 0x01)) { + if (session->zap_connect () == 0) { + // reject ZMTP 1.0 connections if ZAP is enabled + error (protocol_error); + return false; + } + encoder = new (std::nothrow) v1_encoder_t (out_batch_size); alloc_assert (encoder); @@ -575,6 +581,12 @@ bool zmq::stream_engine_t::handshake () } else if (greeting_recv [revision_pos] == ZMTP_1_0) { + if (session->zap_connect () == 0) { + // reject ZMTP 1.0 connections if ZAP is enabled + error (protocol_error); + return false; + } + encoder = new (std::nothrow) v1_encoder_t ( out_batch_size); alloc_assert (encoder); @@ -585,6 +597,12 @@ bool zmq::stream_engine_t::handshake () } else if (greeting_recv [revision_pos] == ZMTP_2_0) { + if (session->zap_connect () == 0) { + // reject ZMTP 2.0 connections if ZAP is enabled + error (protocol_error); + return false; + } + encoder = new (std::nothrow) v2_encoder_t (out_batch_size); alloc_assert (encoder); From efed3d010d8b0d0fc231e5f803204dc724edbdec Mon Sep 17 00:00:00 2001 From: Min RK Date: Wed, 3 Dec 2014 13:46:28 -0800 Subject: [PATCH 59/67] add session->zap_enabled() checks mechanism != NULL, or NULL + non-empty zap_domain --- src/session_base.cpp | 8 ++++++++ src/session_base.hpp | 1 + src/stream_engine.cpp | 6 +++--- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/session_base.cpp b/src/session_base.cpp index 44942ec3..46dc401e 100644 --- a/src/session_base.cpp +++ b/src/session_base.cpp @@ -331,6 +331,14 @@ int zmq::session_base_t::zap_connect () return 0; } +bool zmq::session_base_t::zap_enabled () +{ + return ( + options.mechanism != ZMQ_NULL || + (options.mechanism == ZMQ_NULL && options.zap_domain.length() > 0) + ); +} + void zmq::session_base_t::process_attach (i_engine *engine_) { zmq_assert (engine_ != NULL); diff --git a/src/session_base.hpp b/src/session_base.hpp index 8491827f..74858f3b 100644 --- a/src/session_base.hpp +++ b/src/session_base.hpp @@ -69,6 +69,7 @@ namespace zmq int push_msg (msg_t *msg_); int zap_connect (); + bool zap_enabled (); // Fetches a message. Returns 0 if successful; -1 otherwise. // The caller is responsible for freeing the message when no diff --git a/src/stream_engine.cpp b/src/stream_engine.cpp index 28148bcc..21763d2c 100644 --- a/src/stream_engine.cpp +++ b/src/stream_engine.cpp @@ -534,7 +534,7 @@ bool zmq::stream_engine_t::handshake () // Is the peer using ZMTP/1.0 with no revision number? // If so, we send and receive rest of identity message if (greeting_recv [0] != 0xff || !(greeting_recv [9] & 0x01)) { - if (session->zap_connect () == 0) { + if (session->zap_enabled ()) { // reject ZMTP 1.0 connections if ZAP is enabled error (protocol_error); return false; @@ -581,7 +581,7 @@ bool zmq::stream_engine_t::handshake () } else if (greeting_recv [revision_pos] == ZMTP_1_0) { - if (session->zap_connect () == 0) { + if (session->zap_enabled ()) { // reject ZMTP 1.0 connections if ZAP is enabled error (protocol_error); return false; @@ -597,7 +597,7 @@ bool zmq::stream_engine_t::handshake () } else if (greeting_recv [revision_pos] == ZMTP_2_0) { - if (session->zap_connect () == 0) { + if (session->zap_enabled ()) { // reject ZMTP 2.0 connections if ZAP is enabled error (protocol_error); return false; From 5a8b46e37584f7a24916aeb04e9287cb8a7d6ff0 Mon Sep 17 00:00:00 2001 From: Min RK Date: Wed, 3 Dec 2014 13:58:49 -0800 Subject: [PATCH 60/67] allow vanilla socket security tests to run on Windows - add ws2tcpip.h - alias close->closesocket - increment port in sec_null test --- tests/test_security_curve.cpp | 2 ++ tests/test_security_null.cpp | 6 ++++-- tests/test_security_plain.cpp | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/test_security_curve.cpp b/tests/test_security_curve.cpp index 86e72525..50445b0b 100644 --- a/tests/test_security_curve.cpp +++ b/tests/test_security_curve.cpp @@ -20,7 +20,9 @@ #include "testutil.hpp" #if defined (ZMQ_HAVE_WINDOWS) # include +# include # include +# define close closesocket #else # include # include diff --git a/tests/test_security_null.cpp b/tests/test_security_null.cpp index 910073c2..59226c7f 100644 --- a/tests/test_security_null.cpp +++ b/tests/test_security_null.cpp @@ -20,7 +20,9 @@ #include "testutil.hpp" #if defined (ZMQ_HAVE_WINDOWS) # include +# include # include +# define close closesocket #else # include # include @@ -138,14 +140,14 @@ int main (void) assert (server); rc = zmq_setsockopt (server, ZMQ_ZAP_DOMAIN, "WRONG", 5); assert (rc == 0); - rc = zmq_bind (server, "tcp://127.0.0.1:9002"); + rc = zmq_bind (server, "tcp://127.0.0.1:9003"); assert (rc == 0); struct sockaddr_in ip4addr; int s; ip4addr.sin_family = AF_INET; - ip4addr.sin_port = htons(9002); + ip4addr.sin_port = htons(9003); inet_pton(AF_INET, "127.0.0.1", &ip4addr.sin_addr); s = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP); diff --git a/tests/test_security_plain.cpp b/tests/test_security_plain.cpp index a0ceeb14..c9f0b756 100644 --- a/tests/test_security_plain.cpp +++ b/tests/test_security_plain.cpp @@ -20,7 +20,9 @@ #include "testutil.hpp" #if defined (ZMQ_HAVE_WINDOWS) # include +# include # include +# define close closesocket #else # include # include From 5385a51527c090e4430385af5d5636f0895a5f93 Mon Sep 17 00:00:00 2001 From: Min RK Date: Wed, 3 Dec 2014 14:51:57 -0800 Subject: [PATCH 61/67] craft vanilla socket security test messages use explicit ZMTP/1.0 anonymous greeting rather than HTTP request that just happened to work --- tests/test_security_curve.cpp | 10 ++++++++-- tests/test_security_null.cpp | 12 +++++++++--- tests/test_security_plain.cpp | 10 ++++++++-- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/tests/test_security_curve.cpp b/tests/test_security_curve.cpp index 50445b0b..fd8cdd3b 100644 --- a/tests/test_security_curve.cpp +++ b/tests/test_security_curve.cpp @@ -240,11 +240,17 @@ int main (void) s = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP); rc = connect (s, (struct sockaddr*) &ip4addr, sizeof (ip4addr)); assert (rc > -1); - send (s, "GET / HTTP/1.0\r\nUser-Agent: some_really_long_user_agent\r\nHost: localhost\r\nHeader: shouldn't arrive\r\n\r\n", 102, 0); + // send anonymous ZMTP/1.0 greeting + send (s, "\x01\x00", 2, 0); + // send sneaky message that shouldn't be received + send (s, "\x08\x00sneaky\0", 9, 0); int timeout = 150; zmq_setsockopt (server, ZMQ_RCVTIMEO, &timeout, sizeof (timeout)); char *buf = s_recv (server); - assert (buf == NULL); + if (buf != NULL) { + printf ("Received unauthenticated message: %s\n", buf); + assert (buf == NULL); + } close (s); // Check return codes for invalid buffer sizes diff --git a/tests/test_security_null.cpp b/tests/test_security_null.cpp index 59226c7f..6b74e8ce 100644 --- a/tests/test_security_null.cpp +++ b/tests/test_security_null.cpp @@ -153,11 +153,17 @@ int main (void) s = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP); rc = connect (s, (struct sockaddr*) &ip4addr, sizeof ip4addr); assert (rc > -1); - send (s, "GET / HTTP/1.0\r\nUser-Agent: some_really_long_user_agent\r\nHost: localhost\r\nHeader: shouldn't arrive\r\n\r\n", 102, 0); + // send anonymous ZMTP/1.0 greeting + send (s, "\x01\x00", 2, 0); + // send sneaky message that shouldn't be received + send (s, "\x08\x00sneaky\0", 9, 0); int timeout = 150; - zmq_setsockopt (server, ZMQ_RCVTIMEO, &timeout, sizeof(timeout)); + zmq_setsockopt (server, ZMQ_RCVTIMEO, &timeout, sizeof (timeout)); char *buf = s_recv (server); - assert (buf == NULL); + if (buf != NULL) { + printf ("Received unauthenticated message: %s\n", buf); + assert (buf == NULL); + } close (s); close_zero_linger (server); diff --git a/tests/test_security_plain.cpp b/tests/test_security_plain.cpp index c9f0b756..c257840c 100644 --- a/tests/test_security_plain.cpp +++ b/tests/test_security_plain.cpp @@ -159,11 +159,17 @@ int main (void) s = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP); rc = connect (s, (struct sockaddr*) &ip4addr, sizeof (ip4addr)); assert (rc > -1); - send (s, "GET / HTTP/1.0\r\nUser-Agent: some_really_long_user_agent\r\nHost: localhost\r\nHeader: shouldn't arrive\r\n\r\n", 102, 0); + // send anonymous ZMTP/1.0 greeting + send (s, "\x01\x00", 2, 0); + // send sneaky message that shouldn't be received + send (s, "\x08\x00sneaky\0", 9, 0); int timeout = 150; zmq_setsockopt (server, ZMQ_RCVTIMEO, &timeout, sizeof (timeout)); char *buf = s_recv (server); - assert (buf == NULL); + if (buf != NULL) { + printf ("Received unauthenticated message: %s\n", buf); + assert (buf == NULL); + } close (s); // Shutdown From 510eabaec8f83e21fc780c7dd29fe97b6271f55d Mon Sep 17 00:00:00 2001 From: Phillip Mienk Date: Thu, 4 Dec 2014 14:09:14 -0800 Subject: [PATCH 62/67] Alter --with-libsodium default. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index e5cb1e10..4872c1dd 100644 --- a/configure.ac +++ b/configure.ac @@ -395,7 +395,7 @@ have_sodium_library="no" AC_ARG_WITH([libsodium], [AS_HELP_STRING([--with-libsodium], [require libzmq build with libsodium. Requires pkg-config [default=no]])], [require_libsodium_ext=$withval], - [require_libsodium_ext=no]) + [require_libsodium_ext=yes]) # conditionally require libsodium package if test "x$require_libsodium_ext" != "xno"; then From f5f4d27354e507172befae16b6962c028d827c2e Mon Sep 17 00:00:00 2001 From: Pieter Hintjens Date: Sun, 7 Dec 2014 17:04:52 +0100 Subject: [PATCH 63/67] Problem: zmq_epgm is duplicate of zmq_pgm There is zero benefit to this, and some confusion due to the special case nature of this man page. Solution: delete the zmq_epgm man page. --- doc/Makefile.am | 4 +--- doc/zmq_epgm.txt | 1 - 2 files changed, 1 insertion(+), 4 deletions(-) delete mode 120000 doc/zmq_epgm.txt diff --git a/doc/Makefile.am b/doc/Makefile.am index 0ebce1c9..0bc2e0e6 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -15,7 +15,7 @@ MAN3 = zmq_bind.3 zmq_unbind.3 zmq_connect.3 zmq_disconnect.3 zmq_close.3 \ zmq_proxy.3 zmq_proxy_steerable.3 \ zmq_z85_encode.3 zmq_z85_decode.3 zmq_curve_keypair.3 zmq_has.3 -MAN7 = zmq.7 zmq_tcp.7 zmq_pgm.7 zmq_epgm.7 zmq_inproc.7 zmq_ipc.7 \ +MAN7 = zmq.7 zmq_tcp.7 zmq_pgm.7 zmq_inproc.7 zmq_ipc.7 \ zmq_null.7 zmq_plain.7 zmq_curve.7 zmq_tipc.7 MAN_DOC = $(MAN1) $(MAN3) $(MAN7) @@ -49,8 +49,6 @@ SUFFIXES=.html .txt .xml .3 .7 xmlto man $< .xml.7: xmlto man $< -zmq_epgm.7: zmq_pgm.7 - cp $< $@ endif dist-hook : $(MAN_DOC) $(MAN_HTML) diff --git a/doc/zmq_epgm.txt b/doc/zmq_epgm.txt deleted file mode 120000 index 4d58b1be..00000000 --- a/doc/zmq_epgm.txt +++ /dev/null @@ -1 +0,0 @@ -zmq_pgm.txt \ No newline at end of file From 17937ffcf0a16395302d27b355942e12eb9cf842 Mon Sep 17 00:00:00 2001 From: Pieter Hintjens Date: Fri, 19 Dec 2014 22:17:14 +0100 Subject: [PATCH 64/67] Problem: very hard to debug security mechanism mismatch E.g. when server is not configured, and client tries PLAIN security, there is no hint of why this does not work. Solution: add debugging output for this case. Note that the various debugging outputs for security failures should probably be sent to an inproc monitor of some kind. --- src/stream_engine.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/stream_engine.cpp b/src/stream_engine.cpp index 21763d2c..d07b8e90 100644 --- a/src/stream_engine.cpp +++ b/src/stream_engine.cpp @@ -660,6 +660,18 @@ bool zmq::stream_engine_t::handshake () } #endif else { + // Temporary support for security debugging + char mechanism [21]; + memcpy (mechanism, greeting_recv + 12, 20); + mechanism [20] = 0; + printf ("LIBZMQ I: security failure, self=%s peer=%s\n", + options.mechanism == ZMQ_NULL? "NULL": + options.mechanism == ZMQ_PLAIN? "PLAIN": + options.mechanism == ZMQ_CURVE? "CURVE": + options.mechanism == ZMQ_GSSAPI? "GSSAPI": + "OTHER", + mechanism); + error (protocol_error); return false; } From 2de940b4223f681c2960b099ebfa9b67398a3a41 Mon Sep 17 00:00:00 2001 From: Pieter Hintjens Date: Tue, 23 Dec 2014 01:14:38 +0100 Subject: [PATCH 65/67] Problem: need atomic reference counting in several projects Solution: as libzmq already provides this across all platforms, expose an atomic counter API. I've not wrapped atomic pointers, though someone who needs this may want to do so. --- .gitignore | 3 ++ Makefile.am | 6 ++- doc/Makefile.am | 6 ++- doc/zmq.txt | 21 +++++++--- doc/zmq_atomic_counter_dec.txt | 61 ++++++++++++++++++++++++++++++ doc/zmq_atomic_counter_destroy.txt | 61 ++++++++++++++++++++++++++++++ doc/zmq_atomic_counter_inc.txt | 60 +++++++++++++++++++++++++++++ doc/zmq_atomic_counter_new.txt | 61 ++++++++++++++++++++++++++++++ doc/zmq_atomic_counter_set.txt | 60 +++++++++++++++++++++++++++++ doc/zmq_atomic_counter_value.txt | 59 +++++++++++++++++++++++++++++ include/zmq.h | 11 ++++++ src/zmq_utils.cpp | 49 ++++++++++++++++++++++++ tests/test_atomics.cpp | 38 +++++++++++++++++++ 13 files changed, 489 insertions(+), 7 deletions(-) create mode 100644 doc/zmq_atomic_counter_dec.txt create mode 100644 doc/zmq_atomic_counter_destroy.txt create mode 100644 doc/zmq_atomic_counter_inc.txt create mode 100644 doc/zmq_atomic_counter_new.txt create mode 100644 doc/zmq_atomic_counter_set.txt create mode 100644 doc/zmq_atomic_counter_value.txt create mode 100644 tests/test_atomics.cpp diff --git a/.gitignore b/.gitignore index f93b4281..a815b4b2 100644 --- a/.gitignore +++ b/.gitignore @@ -98,6 +98,9 @@ test_capabilities test_hwm_pubsub test_router_mandatory_hwm test_xpub_nodrop +test_xpub_manual +test_xpub_welcome_msg +test_atomics tests/test*.log tests/test*.trs src/platform.hpp* diff --git a/Makefile.am b/Makefile.am index ff183189..a221f5ae 100644 --- a/Makefile.am +++ b/Makefile.am @@ -330,7 +330,8 @@ test_apps = \ tests/test_capabilities \ tests/test_xpub_nodrop \ tests/test_xpub_manual \ - tests/test_xpub_welcome_msg + tests/test_xpub_welcome_msg \ + tests/test_atomics tests_test_system_SOURCES = tests/test_system.cpp tests_test_system_LDADD = src/libzmq.la @@ -502,6 +503,9 @@ tests_test_xpub_manual_LDADD = src/libzmq.la tests_test_xpub_welcome_msg_SOURCES = tests/test_xpub_welcome_msg.cpp tests_test_xpub_welcome_msg_LDADD = src/libzmq.la +tests_test_atomics_SOURCES = tests/test_atomics.cpp +tests_test_atomics_LDADD = src/libzmq.la + if !ON_MINGW test_apps += \ tests/test_shutdown_stress \ diff --git a/doc/Makefile.am b/doc/Makefile.am index 0bc2e0e6..f19cba10 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -13,7 +13,11 @@ MAN3 = zmq_bind.3 zmq_unbind.3 zmq_connect.3 zmq_disconnect.3 zmq_close.3 \ zmq_errno.3 zmq_strerror.3 zmq_version.3 \ zmq_sendmsg.3 zmq_recvmsg.3 \ zmq_proxy.3 zmq_proxy_steerable.3 \ - zmq_z85_encode.3 zmq_z85_decode.3 zmq_curve_keypair.3 zmq_has.3 + zmq_z85_encode.3 zmq_z85_decode.3 zmq_curve_keypair.3 \ + zmq_has.3 \ + zmq_atomic_counter_new.3 zmq_atomic_counter_set.3 \ + zmq_atomic_counter_inc.3 zmq_atomic_counter_dec.3 \ + zmq_atomic_counter_value.3 zmq_atomic_counter_destroy.3 MAN7 = zmq.7 zmq_tcp.7 zmq_pgm.7 zmq_inproc.7 zmq_ipc.7 \ zmq_null.7 zmq_plain.7 zmq_curve.7 zmq_tipc.7 diff --git a/doc/zmq.txt b/doc/zmq.txt index 233bebc1..3d56e76b 100644 --- a/doc/zmq.txt +++ b/doc/zmq.txt @@ -132,7 +132,7 @@ Sending and receiving messages:: linkzmq:zmq_recv[3] linkzmq:zmq_send_const[3] -Monitoring socket events: +Monitoring socket events:: linkzmq:zmq_socket_monitor[3] .Input/output multiplexing @@ -187,13 +187,11 @@ Plain-text authentication using username and password:: Elliptic curve authentication and encryption:: linkzmq:zmq_curve[7] -Generate a CURVE keypair in armored text format: +Generate a CURVE keypair in armored text format:: linkzmq:zmq_curve_keypair[3] -Convert an armored key into a 32-byte binary key: +Converting keys to/from armoured text strings:: linkzmq:zmq_z85_decode[3] - -Convert a 32-byte binary CURVE key to an armored text string: linkzmq:zmq_z85_encode[3] @@ -213,6 +211,19 @@ The _zmq_strerror()_ function is provided to translate 0MQ-specific error codes into error message strings; for details refer to linkzmq:zmq_strerror[3]. +UTILITY +------- +The following utility functions are provided: + +Working with atomic counters:: + linkzmq:zmq_atomic_counter_new[3] + linkzmq:zmq_atomic_counter_set[3] + linkzmq:zmq_atomic_counter_inc[3] + linkzmq:zmq_atomic_counter_dec[3] + linkzmq:zmq_atomic_counter_value[3] + linkzmq:zmq_atomic_counter_destroy[3] + + MISCELLANEOUS ------------- The following miscellaneous functions are provided: diff --git a/doc/zmq_atomic_counter_dec.txt b/doc/zmq_atomic_counter_dec.txt new file mode 100644 index 00000000..164ba950 --- /dev/null +++ b/doc/zmq_atomic_counter_dec.txt @@ -0,0 +1,61 @@ +zmq_atomic_counter_dec(3) +========================= + + +NAME +---- +zmq_atomic_counter_dec - decrement an atomic counter + + +SYNOPSIS +-------- +*bool zmq_atomic_counter_dec (void *counter);* + + +DESCRIPTION +----------- +The _zmq_atomic_counter_dec_ function decrements an atomic counter in +a threadsafe fashion. This function uses platform specific atomic +operations. + + +RETURN VALUE +------------ +The _zmq_atomic_counter_dec()_ function returns true if the counter is +greater than zero after decrementing, or false if the counter reached +zero. + + +EXAMPLE +------- +.Test code for atomic counters +---- +void *counter = zmq_atomic_counter_new (); +assert (zmq_atomic_counter_value (counter) == 0); +assert (zmq_atomic_counter_inc (counter) == 0); +assert (zmq_atomic_counter_inc (counter) == 1); +assert (zmq_atomic_counter_inc (counter) == 2); +assert (zmq_atomic_counter_value (counter) == 3); +assert (zmq_atomic_counter_dec (counter) == true); +assert (zmq_atomic_counter_dec (counter) == true); +assert (zmq_atomic_counter_dec (counter) == false); +zmq_atomic_counter_set (counter, 2); +assert (zmq_atomic_counter_dec (counter) == true); +assert (zmq_atomic_counter_dec (counter) == false); +zmq_atomic_counter_destroy (&counter); +---- + + +SEE ALSO +-------- +linkzmq:zmq_atomic_counter_new[3] +linkzmq:zmq_atomic_counter_set[3] +linkzmq:zmq_atomic_counter_inc[3] +linkzmq:zmq_atomic_counter_value[3] +linkzmq:zmq_atomic_counter_destroy[3] + + +AUTHORS +------- +This page was written by the 0MQ community. To make a change please +read the 0MQ Contribution Policy at . diff --git a/doc/zmq_atomic_counter_destroy.txt b/doc/zmq_atomic_counter_destroy.txt new file mode 100644 index 00000000..c58d1e44 --- /dev/null +++ b/doc/zmq_atomic_counter_destroy.txt @@ -0,0 +1,61 @@ +zmq_atomic_counter_destroy(3) +============================= + + +NAME +---- +zmq_atomic_counter_destroy - destroy an atomic counter + + +SYNOPSIS +-------- +*void zmq_atomic_counter_destroy (void **counter_p);* + + +DESCRIPTION +----------- +The _zmq_atomic_counter_destroy_ function destroys an atomic counter and +nullifies its reference. Pass the address of an atomic counter (void **) +rather than the counter itself. You must destroy all counters that you +create, to avoid memory leakage. This function uses platform specific +atomic operations. + + +RETURN VALUE +------------ +The _zmq_atomic_counter_destroy()_ function has no return value. + + +EXAMPLE +------- +.Test code for atomic counters +---- +void *counter = zmq_atomic_counter_new (); +assert (zmq_atomic_counter_value (counter) == 0); +assert (zmq_atomic_counter_inc (counter) == 0); +assert (zmq_atomic_counter_inc (counter) == 1); +assert (zmq_atomic_counter_inc (counter) == 2); +assert (zmq_atomic_counter_value (counter) == 3); +assert (zmq_atomic_counter_dec (counter) == true); +assert (zmq_atomic_counter_dec (counter) == true); +assert (zmq_atomic_counter_dec (counter) == false); +zmq_atomic_counter_set (counter, 2); +assert (zmq_atomic_counter_dec (counter) == true); +assert (zmq_atomic_counter_dec (counter) == false); +zmq_atomic_counter_destroy (&counter); +---- + + +SEE ALSO +-------- +linkzmq:zmq_atomic_counter_new[3] +linkzmq:zmq_atomic_counter_set[3] +linkzmq:zmq_atomic_counter_inc[3] +linkzmq:zmq_atomic_counter_dec[3] +linkzmq:zmq_atomic_counter_value[3] + + +AUTHORS +------- +This page was written by the 0MQ community. To make a change please +read the 0MQ Contribution Policy at . diff --git a/doc/zmq_atomic_counter_inc.txt b/doc/zmq_atomic_counter_inc.txt new file mode 100644 index 00000000..fccda5f2 --- /dev/null +++ b/doc/zmq_atomic_counter_inc.txt @@ -0,0 +1,60 @@ +zmq_atomic_counter_inc(3) +========================= + + +NAME +---- +zmq_atomic_counter_inc - increment an atomic counter + + +SYNOPSIS +-------- +*int zmq_atomic_counter_inc (void *counter);* + + +DESCRIPTION +----------- +The _zmq_atomic_counter_inc_ function increments an atomic counter in a +threadsafe fashion. This function uses platform specific atomic +operations. + + +RETURN VALUE +------------ +The _zmq_atomic_counter_inc()_ function returns the old value of the +counter, before incrementing. + + +EXAMPLE +------- +.Test code for atomic counters +---- +void *counter = zmq_atomic_counter_new (); +assert (zmq_atomic_counter_value (counter) == 0); +assert (zmq_atomic_counter_inc (counter) == 0); +assert (zmq_atomic_counter_inc (counter) == 1); +assert (zmq_atomic_counter_inc (counter) == 2); +assert (zmq_atomic_counter_value (counter) == 3); +assert (zmq_atomic_counter_dec (counter) == true); +assert (zmq_atomic_counter_dec (counter) == true); +assert (zmq_atomic_counter_dec (counter) == false); +zmq_atomic_counter_set (counter, 2); +assert (zmq_atomic_counter_dec (counter) == true); +assert (zmq_atomic_counter_dec (counter) == false); +zmq_atomic_counter_destroy (&counter); +---- + + +SEE ALSO +-------- +linkzmq:zmq_atomic_counter_new[3] +linkzmq:zmq_atomic_counter_set[3] +linkzmq:zmq_atomic_counter_dec[3] +linkzmq:zmq_atomic_counter_value[3] +linkzmq:zmq_atomic_counter_destroy[3] + + +AUTHORS +------- +This page was written by the 0MQ community. To make a change please +read the 0MQ Contribution Policy at . diff --git a/doc/zmq_atomic_counter_new.txt b/doc/zmq_atomic_counter_new.txt new file mode 100644 index 00000000..38427ba4 --- /dev/null +++ b/doc/zmq_atomic_counter_new.txt @@ -0,0 +1,61 @@ +zmq_atomic_counter_new(3) +========================= + + +NAME +---- +zmq_atomic_counter_new - create a new atomic counter + + +SYNOPSIS +-------- +*void *zmq_atomic_counter_new (void);* + + +DESCRIPTION +----------- +The _zmq_atomic_counter_new_ function creates a new atomic counter. You +can use this in multithreaded applications to do, for example, reference +counting of shared objects. The atomic counter is at least 32 bits large. +This function uses platform specific atomic operations. + + +RETURN VALUE +------------ +The _zmq_atomic_counter_new()_ function returns the new atomic counter +if successful. Otherwise it returns NULL. + + +EXAMPLE +------- +.Test code for atomic counters +---- +void *counter = zmq_atomic_counter_new (); +assert (zmq_atomic_counter_value (counter) == 0); +assert (zmq_atomic_counter_inc (counter) == 0); +assert (zmq_atomic_counter_inc (counter) == 1); +assert (zmq_atomic_counter_inc (counter) == 2); +assert (zmq_atomic_counter_value (counter) == 3); +assert (zmq_atomic_counter_dec (counter) == true); +assert (zmq_atomic_counter_dec (counter) == true); +assert (zmq_atomic_counter_dec (counter) == false); +zmq_atomic_counter_set (counter, 2); +assert (zmq_atomic_counter_dec (counter) == true); +assert (zmq_atomic_counter_dec (counter) == false); +zmq_atomic_counter_destroy (&counter); +---- + + +SEE ALSO +-------- +linkzmq:zmq_atomic_counter_set[3] +linkzmq:zmq_atomic_counter_inc[3] +linkzmq:zmq_atomic_counter_dec[3] +linkzmq:zmq_atomic_counter_value[3] +linkzmq:zmq_atomic_counter_destroy[3] + + +AUTHORS +------- +This page was written by the 0MQ community. To make a change please +read the 0MQ Contribution Policy at . diff --git a/doc/zmq_atomic_counter_set.txt b/doc/zmq_atomic_counter_set.txt new file mode 100644 index 00000000..6df210e2 --- /dev/null +++ b/doc/zmq_atomic_counter_set.txt @@ -0,0 +1,60 @@ +zmq_atomic_counter_set(3) +========================= + + +NAME +---- +zmq_atomic_counter_set - set atomic counter to new value + + +SYNOPSIS +-------- +*void zmq_atomic_counter_set (void *counter, int value);* + + +DESCRIPTION +----------- +The _zmq_atomic_counter_set_ function sets the counter to a new value, +in a threadsafe fashion. The largest value that is guaranteed to work +across all platforms is 2^31-1. This function uses platform specific +atomic operations. + + +RETURN VALUE +------------ +The _zmq_atomic_counter_set()_ function has no return value. + + +EXAMPLE +------- +.Test code for atomic counters +---- +void *counter = zmq_atomic_counter_new (); +assert (zmq_atomic_counter_value (counter) == 0); +assert (zmq_atomic_counter_inc (counter) == 0); +assert (zmq_atomic_counter_inc (counter) == 1); +assert (zmq_atomic_counter_inc (counter) == 2); +assert (zmq_atomic_counter_value (counter) == 3); +assert (zmq_atomic_counter_dec (counter) == true); +assert (zmq_atomic_counter_dec (counter) == true); +assert (zmq_atomic_counter_dec (counter) == false); +zmq_atomic_counter_set (counter, 2); +assert (zmq_atomic_counter_dec (counter) == true); +assert (zmq_atomic_counter_dec (counter) == false); +zmq_atomic_counter_destroy (&counter); +---- + + +SEE ALSO +-------- +linkzmq:zmq_atomic_counter_new[3] +linkzmq:zmq_atomic_counter_inc[3] +linkzmq:zmq_atomic_counter_dec[3] +linkzmq:zmq_atomic_counter_value[3] +linkzmq:zmq_atomic_counter_destroy[3] + + +AUTHORS +------- +This page was written by the 0MQ community. To make a change please +read the 0MQ Contribution Policy at . diff --git a/doc/zmq_atomic_counter_value.txt b/doc/zmq_atomic_counter_value.txt new file mode 100644 index 00000000..66cd870d --- /dev/null +++ b/doc/zmq_atomic_counter_value.txt @@ -0,0 +1,59 @@ +zmq_atomic_counter_value(3) +=========================== + + +NAME +---- +zmq_atomic_counter_value - return value of atomic counter + + +SYNOPSIS +-------- +*int zmq_atomic_counter_value (void *counter);* + + +DESCRIPTION +----------- +The _zmq_atomic_counter_value_ function returns the value of an atomic +counter. This function uses platform specific atomic operations. + + +RETURN VALUE +------------ +The _zmq_atomic_counter_value()_ function returns the new atomic counter +if successful. Otherwise it returns NULL. + + +EXAMPLE +------- +.Test code for atomic counters +---- +void *counter = zmq_atomic_counter_new (); +assert (zmq_atomic_counter_value (counter) == 0); +assert (zmq_atomic_counter_inc (counter) == 0); +assert (zmq_atomic_counter_inc (counter) == 1); +assert (zmq_atomic_counter_inc (counter) == 2); +assert (zmq_atomic_counter_value (counter) == 3); +assert (zmq_atomic_counter_dec (counter) == true); +assert (zmq_atomic_counter_dec (counter) == true); +assert (zmq_atomic_counter_dec (counter) == false); +zmq_atomic_counter_set (counter, 2); +assert (zmq_atomic_counter_dec (counter) == true); +assert (zmq_atomic_counter_dec (counter) == false); +zmq_atomic_counter_destroy (&counter); +---- + + +SEE ALSO +-------- +linkzmq:zmq_atomic_counter_new[3] +linkzmq:zmq_atomic_counter_set[3] +linkzmq:zmq_atomic_counter_inc[3] +linkzmq:zmq_atomic_counter_dec[3] +linkzmq:zmq_atomic_counter_destroy[3] + + +AUTHORS +------- +This page was written by the 0MQ community. To make a change please +read the 0MQ Contribution Policy at . diff --git a/include/zmq.h b/include/zmq.h index e06a35af..f56f838e 100644 --- a/include/zmq.h +++ b/include/zmq.h @@ -433,6 +433,17 @@ ZMQ_EXPORT uint8_t *zmq_z85_decode (uint8_t *dest, const char *string); /* Returns 0 on success. */ ZMQ_EXPORT int zmq_curve_keypair (char *z85_public_key, char *z85_secret_key); +/******************************************************************************/ +/* Atomic utility methods */ +/******************************************************************************/ + +ZMQ_EXPORT void *zmq_atomic_counter_new (void); +ZMQ_EXPORT void zmq_atomic_counter_set (void *counter, int value); +ZMQ_EXPORT int zmq_atomic_counter_inc (void *counter); +ZMQ_EXPORT bool zmq_atomic_counter_dec (void *counter); +ZMQ_EXPORT int zmq_atomic_counter_value (void *counter); +ZMQ_EXPORT void zmq_atomic_counter_destroy (void **counter_p); + /******************************************************************************/ /* These functions are not documented by man pages -- use at your own risk. */ diff --git a/src/zmq_utils.cpp b/src/zmq_utils.cpp index 85e4c439..a04859d4 100644 --- a/src/zmq_utils.cpp +++ b/src/zmq_utils.cpp @@ -22,6 +22,8 @@ #include "clock.hpp" #include "err.hpp" #include "thread.hpp" +#include "atomic_counter.hpp" +#include "atomic_ptr.hpp" #include #include "../include/zmq_utils.h" @@ -204,3 +206,50 @@ int zmq_curve_keypair (char *z85_public_key, char *z85_secret_key) return -1; #endif } + + +// -------------------------------------------------------------------------- +// Initialize a new atomic counter, which is set to zero + +void *zmq_atomic_counter_new (void) +{ + zmq::atomic_counter_t *counter = new zmq::atomic_counter_t; + alloc_assert (counter); + return counter; +} + +// Se the value of the atomic counter + +void zmq_atomic_counter_set (void *counter_, int value_) +{ + ((zmq::atomic_counter_t *) counter_)->set (value_); +} + +// Increment the atomic counter, and return the old value + +int zmq_atomic_counter_inc (void *counter_) +{ + return ((zmq::atomic_counter_t *) counter_)->add (1); +} + +// Decrement the atomic counter and return true if still > zero + +bool zmq_atomic_counter_dec (void *counter_) +{ + return ((zmq::atomic_counter_t *) counter_)->sub (1); +} + +// Return actual value of atomic counter + +int zmq_atomic_counter_value (void *counter_) +{ + return ((zmq::atomic_counter_t *) counter_)->get (); +} + +// Destroy atomic counter, and set reference to NULL + +void zmq_atomic_counter_destroy (void **counter_p_) +{ + delete ((zmq::atomic_counter_t *) *counter_p_); + *counter_p_ = NULL; +} diff --git a/tests/test_atomics.cpp b/tests/test_atomics.cpp new file mode 100644 index 00000000..a4dfc810 --- /dev/null +++ b/tests/test_atomics.cpp @@ -0,0 +1,38 @@ +/* + Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file + + This file is part of 0MQ. + + 0MQ is free software; you can redistribute it and/or modify it under + the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + 0MQ is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ + +#include "testutil.hpp" + +int main (void) +{ + void *counter = zmq_atomic_counter_new (); + assert (zmq_atomic_counter_value (counter) == 0); + assert (zmq_atomic_counter_inc (counter) == 0); + assert (zmq_atomic_counter_inc (counter) == 1); + assert (zmq_atomic_counter_inc (counter) == 2); + assert (zmq_atomic_counter_value (counter) == 3); + assert (zmq_atomic_counter_dec (counter) == true); + assert (zmq_atomic_counter_dec (counter) == true); + assert (zmq_atomic_counter_dec (counter) == false); + zmq_atomic_counter_set (counter, 2); + assert (zmq_atomic_counter_dec (counter) == true); + assert (zmq_atomic_counter_dec (counter) == false); + zmq_atomic_counter_destroy (&counter); + return 0; +} From 04664f0ef79292239428bc7f1b7b1760a0f92f3c Mon Sep 17 00:00:00 2001 From: Pieter Hintjens Date: Tue, 23 Dec 2014 15:20:10 +0100 Subject: [PATCH 66/67] Problem: 'bool' is not defined by default zmq_atomic_counter_dec returned a 'bool' value, yet this isn't defined by standard, so causes compile errors in upstream code. Solution: return an int that can be safely converted to bool if needed by bindings. --- doc/zmq_atomic_counter_dec.txt | 17 +++++++++-------- doc/zmq_atomic_counter_destroy.txt | 11 ++++++----- doc/zmq_atomic_counter_inc.txt | 11 ++++++----- doc/zmq_atomic_counter_new.txt | 11 ++++++----- doc/zmq_atomic_counter_set.txt | 11 ++++++----- doc/zmq_atomic_counter_value.txt | 11 ++++++----- include/zmq.h | 2 +- src/zmq_utils.cpp | 7 ++++--- tests/test_atomics.cpp | 10 +++++----- 9 files changed, 49 insertions(+), 42 deletions(-) diff --git a/doc/zmq_atomic_counter_dec.txt b/doc/zmq_atomic_counter_dec.txt index 164ba950..53a088c4 100644 --- a/doc/zmq_atomic_counter_dec.txt +++ b/doc/zmq_atomic_counter_dec.txt @@ -9,7 +9,7 @@ zmq_atomic_counter_dec - decrement an atomic counter SYNOPSIS -------- -*bool zmq_atomic_counter_dec (void *counter);* +*int zmq_atomic_counter_dec (void *counter);* DESCRIPTION @@ -21,8 +21,8 @@ operations. RETURN VALUE ------------ -The _zmq_atomic_counter_dec()_ function returns true if the counter is -greater than zero after decrementing, or false if the counter reached +The _zmq_atomic_counter_dec()_ function returns 1 if the counter is +greater than zero after decrementing, or zero if the counter reached zero. @@ -36,13 +36,14 @@ assert (zmq_atomic_counter_inc (counter) == 0); assert (zmq_atomic_counter_inc (counter) == 1); assert (zmq_atomic_counter_inc (counter) == 2); assert (zmq_atomic_counter_value (counter) == 3); -assert (zmq_atomic_counter_dec (counter) == true); -assert (zmq_atomic_counter_dec (counter) == true); -assert (zmq_atomic_counter_dec (counter) == false); +assert (zmq_atomic_counter_dec (counter) == 1); +assert (zmq_atomic_counter_dec (counter) == 1); +assert (zmq_atomic_counter_dec (counter) == 0); zmq_atomic_counter_set (counter, 2); -assert (zmq_atomic_counter_dec (counter) == true); -assert (zmq_atomic_counter_dec (counter) == false); +assert (zmq_atomic_counter_dec (counter) == 1); +assert (zmq_atomic_counter_dec (counter) == 0); zmq_atomic_counter_destroy (&counter); +return 0; ---- diff --git a/doc/zmq_atomic_counter_destroy.txt b/doc/zmq_atomic_counter_destroy.txt index c58d1e44..ee7c863f 100644 --- a/doc/zmq_atomic_counter_destroy.txt +++ b/doc/zmq_atomic_counter_destroy.txt @@ -36,13 +36,14 @@ assert (zmq_atomic_counter_inc (counter) == 0); assert (zmq_atomic_counter_inc (counter) == 1); assert (zmq_atomic_counter_inc (counter) == 2); assert (zmq_atomic_counter_value (counter) == 3); -assert (zmq_atomic_counter_dec (counter) == true); -assert (zmq_atomic_counter_dec (counter) == true); -assert (zmq_atomic_counter_dec (counter) == false); +assert (zmq_atomic_counter_dec (counter) == 1); +assert (zmq_atomic_counter_dec (counter) == 1); +assert (zmq_atomic_counter_dec (counter) == 0); zmq_atomic_counter_set (counter, 2); -assert (zmq_atomic_counter_dec (counter) == true); -assert (zmq_atomic_counter_dec (counter) == false); +assert (zmq_atomic_counter_dec (counter) == 1); +assert (zmq_atomic_counter_dec (counter) == 0); zmq_atomic_counter_destroy (&counter); +return 0; ---- diff --git a/doc/zmq_atomic_counter_inc.txt b/doc/zmq_atomic_counter_inc.txt index fccda5f2..6346ea13 100644 --- a/doc/zmq_atomic_counter_inc.txt +++ b/doc/zmq_atomic_counter_inc.txt @@ -35,13 +35,14 @@ assert (zmq_atomic_counter_inc (counter) == 0); assert (zmq_atomic_counter_inc (counter) == 1); assert (zmq_atomic_counter_inc (counter) == 2); assert (zmq_atomic_counter_value (counter) == 3); -assert (zmq_atomic_counter_dec (counter) == true); -assert (zmq_atomic_counter_dec (counter) == true); -assert (zmq_atomic_counter_dec (counter) == false); +assert (zmq_atomic_counter_dec (counter) == 1); +assert (zmq_atomic_counter_dec (counter) == 1); +assert (zmq_atomic_counter_dec (counter) == 0); zmq_atomic_counter_set (counter, 2); -assert (zmq_atomic_counter_dec (counter) == true); -assert (zmq_atomic_counter_dec (counter) == false); +assert (zmq_atomic_counter_dec (counter) == 1); +assert (zmq_atomic_counter_dec (counter) == 0); zmq_atomic_counter_destroy (&counter); +return 0; ---- diff --git a/doc/zmq_atomic_counter_new.txt b/doc/zmq_atomic_counter_new.txt index 38427ba4..7278f2b7 100644 --- a/doc/zmq_atomic_counter_new.txt +++ b/doc/zmq_atomic_counter_new.txt @@ -36,13 +36,14 @@ assert (zmq_atomic_counter_inc (counter) == 0); assert (zmq_atomic_counter_inc (counter) == 1); assert (zmq_atomic_counter_inc (counter) == 2); assert (zmq_atomic_counter_value (counter) == 3); -assert (zmq_atomic_counter_dec (counter) == true); -assert (zmq_atomic_counter_dec (counter) == true); -assert (zmq_atomic_counter_dec (counter) == false); +assert (zmq_atomic_counter_dec (counter) == 1); +assert (zmq_atomic_counter_dec (counter) == 1); +assert (zmq_atomic_counter_dec (counter) == 0); zmq_atomic_counter_set (counter, 2); -assert (zmq_atomic_counter_dec (counter) == true); -assert (zmq_atomic_counter_dec (counter) == false); +assert (zmq_atomic_counter_dec (counter) == 1); +assert (zmq_atomic_counter_dec (counter) == 0); zmq_atomic_counter_destroy (&counter); +return 0; ---- diff --git a/doc/zmq_atomic_counter_set.txt b/doc/zmq_atomic_counter_set.txt index 6df210e2..3b0812f6 100644 --- a/doc/zmq_atomic_counter_set.txt +++ b/doc/zmq_atomic_counter_set.txt @@ -35,13 +35,14 @@ assert (zmq_atomic_counter_inc (counter) == 0); assert (zmq_atomic_counter_inc (counter) == 1); assert (zmq_atomic_counter_inc (counter) == 2); assert (zmq_atomic_counter_value (counter) == 3); -assert (zmq_atomic_counter_dec (counter) == true); -assert (zmq_atomic_counter_dec (counter) == true); -assert (zmq_atomic_counter_dec (counter) == false); +assert (zmq_atomic_counter_dec (counter) == 1); +assert (zmq_atomic_counter_dec (counter) == 1); +assert (zmq_atomic_counter_dec (counter) == 0); zmq_atomic_counter_set (counter, 2); -assert (zmq_atomic_counter_dec (counter) == true); -assert (zmq_atomic_counter_dec (counter) == false); +assert (zmq_atomic_counter_dec (counter) == 1); +assert (zmq_atomic_counter_dec (counter) == 0); zmq_atomic_counter_destroy (&counter); +return 0; ---- diff --git a/doc/zmq_atomic_counter_value.txt b/doc/zmq_atomic_counter_value.txt index 66cd870d..3cd26dec 100644 --- a/doc/zmq_atomic_counter_value.txt +++ b/doc/zmq_atomic_counter_value.txt @@ -34,13 +34,14 @@ assert (zmq_atomic_counter_inc (counter) == 0); assert (zmq_atomic_counter_inc (counter) == 1); assert (zmq_atomic_counter_inc (counter) == 2); assert (zmq_atomic_counter_value (counter) == 3); -assert (zmq_atomic_counter_dec (counter) == true); -assert (zmq_atomic_counter_dec (counter) == true); -assert (zmq_atomic_counter_dec (counter) == false); +assert (zmq_atomic_counter_dec (counter) == 1); +assert (zmq_atomic_counter_dec (counter) == 1); +assert (zmq_atomic_counter_dec (counter) == 0); zmq_atomic_counter_set (counter, 2); -assert (zmq_atomic_counter_dec (counter) == true); -assert (zmq_atomic_counter_dec (counter) == false); +assert (zmq_atomic_counter_dec (counter) == 1); +assert (zmq_atomic_counter_dec (counter) == 0); zmq_atomic_counter_destroy (&counter); +return 0; ---- diff --git a/include/zmq.h b/include/zmq.h index f56f838e..61817a03 100644 --- a/include/zmq.h +++ b/include/zmq.h @@ -440,7 +440,7 @@ ZMQ_EXPORT int zmq_curve_keypair (char *z85_public_key, char *z85_secret_key); ZMQ_EXPORT void *zmq_atomic_counter_new (void); ZMQ_EXPORT void zmq_atomic_counter_set (void *counter, int value); ZMQ_EXPORT int zmq_atomic_counter_inc (void *counter); -ZMQ_EXPORT bool zmq_atomic_counter_dec (void *counter); +ZMQ_EXPORT int zmq_atomic_counter_dec (void *counter); ZMQ_EXPORT int zmq_atomic_counter_value (void *counter); ZMQ_EXPORT void zmq_atomic_counter_destroy (void **counter_p); diff --git a/src/zmq_utils.cpp b/src/zmq_utils.cpp index a04859d4..852d4ede 100644 --- a/src/zmq_utils.cpp +++ b/src/zmq_utils.cpp @@ -232,11 +232,12 @@ int zmq_atomic_counter_inc (void *counter_) return ((zmq::atomic_counter_t *) counter_)->add (1); } -// Decrement the atomic counter and return true if still > zero +// Decrement the atomic counter and return 1 (if counter >= 1), or +// 0 if counter hit zero. -bool zmq_atomic_counter_dec (void *counter_) +int zmq_atomic_counter_dec (void *counter_) { - return ((zmq::atomic_counter_t *) counter_)->sub (1); + return ((zmq::atomic_counter_t *) counter_)->sub (1)? 1: 0; } // Return actual value of atomic counter diff --git a/tests/test_atomics.cpp b/tests/test_atomics.cpp index a4dfc810..c9abaa9c 100644 --- a/tests/test_atomics.cpp +++ b/tests/test_atomics.cpp @@ -27,12 +27,12 @@ int main (void) assert (zmq_atomic_counter_inc (counter) == 1); assert (zmq_atomic_counter_inc (counter) == 2); assert (zmq_atomic_counter_value (counter) == 3); - assert (zmq_atomic_counter_dec (counter) == true); - assert (zmq_atomic_counter_dec (counter) == true); - assert (zmq_atomic_counter_dec (counter) == false); + assert (zmq_atomic_counter_dec (counter) == 1); + assert (zmq_atomic_counter_dec (counter) == 1); + assert (zmq_atomic_counter_dec (counter) == 0); zmq_atomic_counter_set (counter, 2); - assert (zmq_atomic_counter_dec (counter) == true); - assert (zmq_atomic_counter_dec (counter) == false); + assert (zmq_atomic_counter_dec (counter) == 1); + assert (zmq_atomic_counter_dec (counter) == 0); zmq_atomic_counter_destroy (&counter); return 0; } From eacd4d9cba87c8e6876839d81056131cca1a0c90 Mon Sep 17 00:00:00 2001 From: Pieter Hintjens Date: Tue, 23 Dec 2014 15:21:22 +0100 Subject: [PATCH 67/67] Problem: test cases were sporadically failing Solution: increase settle time for bind/unbind tests --- tests/test_disconnect_inproc.cpp | 6 ++++-- tests/testutil.hpp | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/test_disconnect_inproc.cpp b/tests/test_disconnect_inproc.cpp index 475ce0b0..dd484fcd 100644 --- a/tests/test_disconnect_inproc.cpp +++ b/tests/test_disconnect_inproc.cpp @@ -25,8 +25,10 @@ zmq_msg_init(&msg) && printf("zmq_msg_init: %s\n", zmq_strerror(errno)); \ zmq_msg_init_size (&msg, size + 1) && printf("zmq_msg_init_size: %s\n",zmq_strerror(errno)); \ memcpy(zmq_msg_data(&msg), data, size + 1); -int publicationsReceived = 0; -bool isSubscribed = false; +// TODO: this code fails to meet our style guidelines, and needs rewriting + +static int publicationsReceived = 0; +static bool isSubscribed = false; int main(int, char**) { setup_test_environment(); diff --git a/tests/testutil.hpp b/tests/testutil.hpp index c59578d1..7d9b74c7 100644 --- a/tests/testutil.hpp +++ b/tests/testutil.hpp @@ -27,7 +27,7 @@ // This defines the settle time used in tests; raise this if we // get test failures on slower systems due to binds/connects not // settled. Tested to work reliably at 1 msec on a fast PC. -#define SETTLE_TIME 10 // In msec +#define SETTLE_TIME 50 // In msec #undef NDEBUG #include